﻿/*
================================ 
DotControl copyright 2010
================================ 
*/

$(function () {
	var $items = $('#items');
	var $data = $items.clone();
	var $filteredData;

	// Top Menu Buttons
	$.each($('.button'), function () {
		$(this).click(function () {
			if ($(this).attr('id') != 'all') {
				$filteredData = $data.find('li[data-type=' + $(this).attr('id') + ']');
			} else {
				var $filteredData = $data.find('li');
			}

			$items.quicksand($filteredData, {
				duration: 800,
				adjustHeight: 'dynamic',
				enhancement: function () {
					$.each($('.checkboxes input:checked'), function () {
						var $class = $(this).closest('span').attr('class');
						$('li.' + $class + ' .status').addClass('checked');
					});
					$.each($('#items li'), function () {
						$(this).click(function () {
							ChangeState($(this));
						});
					});
				}
			});

			$('.LinksList li a').removeClass('current');
			$(this).addClass('current');
			return false;
		});
	});

	// Items Click Trigger Checkboxes
	$.each($('#items li'), function () {
		$(this).click(function () {
			ChangeState($(this));
		});
	});

	$('#checkAll').click(function (event) {
		event.preventDefault();
		if ($('.itemsList li').length != $('.itemsList li .status.checked').length) {
			$('.itemsList li .status.checked').each(function () {
				ChangeState($(this).closest('li'));
			});
		}
		$('.itemsList li').each(function () {
			ChangeState($(this));
		});
	});

	//Checked class toggle on List items
	$.each($('.checkboxes input'), function () {
		$(this).change(function () {
			var $class = $(this).closest('span').attr('class');
			if ($(this).is(':checked')) {
				$('li.' + $class + " .status").addClass('checked');
			} else {
				$('li.' + $class + " .status").removeClass('checked');
			}
		});
	});

	//add counters
	$('<span/>').addClass('counter').html('(0)').appendTo($('.LinksList a'));
});

// counters
var $all = 0;
var $north = 0;
var $south = 0;
var $west = 0;
var $east = 0;
var $centr = 0;

function ChangeState(item) {
	var $itemClass = $(item).attr('class');
	var $input = $('.' + $itemClass + ' input');


	if ($input.is(':checked')) {
		$($input).attr('checked', false);
		$('li.' + $itemClass + " .status").removeClass('checked');
		switch (item.attr('data-type')) {
			case "northern": $north--;
				break;
			case "east": $east--;
				break;
			case "southern": $south--;
				break;
			case "west": $west--;
				break;
			case "central": $centr--;
				break;
			default: break;
		}

	} else {
		$($input).attr('checked', true);
		$('li.' + $itemClass + " .status").addClass('checked');
		switch (item.attr('data-type')) {
			case "northern": $north++;
				break;
			case "east": $east++;
				break;
			case "southern": $south++;
				break;
			case "west": $west++;
				break;
			case "central": $centr++;
				break;
			default: break;
		}
	}
	$all = $north + $east + $south + $west + $centr;
	$('a#all .counter').html('(' + $all + ')');
	$('a#northern .counter').html('(' + $north + ')');
	$('a#east .counter').html('(' + $east + ')');
	$('a#southern .counter').html('(' + $south + ')')
	$('a#west .counter').html('(' + $west + ')')
	$('a#central .counter').html('(' + $centr + ')')
}
