$(function(){
	
	

});

var changeCheck =function(el) {
	var el = el,
		input = el.find("input").eq(0);
	if(!input.attr("checked")) {
		el.css("background-position","0 -16px");
		input.attr("checked", true);
	} else {
		el.css("background-position","0 0");   
		input.attr("checked", false);
	}
	updateFilter();
	return true;
},
changeCheckStart = function(el) {
		var el = el,
	        input = el.find("input").eq(0);
		if(input.attr("checked")) {
			el.css("background-position","0 -16px");    
		}
		return true;
},
updating = false,
clear = function() {
	$('#searchTours').fadeOut(400, function(){
		$(this).html('');
	});
	$('#country option:selected').attr('selected',false);
	$('#country').resetSS();
	$('#cities option:selected').attr('selected',false);
	$('#cities').resetSS();
	$(".niceCheck input").each(function(){ 
		$(this).parent().css("background-position","0 0");   
	    $(this).attr("checked", false);
	});
	$('#clearFilter').fadeOut(100);
	filterBind();
	updating = false;
},
filterBind = function() {
	$('#country').change(function(){
		var id = $(this).val();
		$.ajax({
			type: "POST",
			dataType: "json",
			url: '/ajax',
		    data: {
		    	type: 'getCities',
		    	idCountry: id
		    },
		    success: function(result) {
		    	var city = $('#cities');
		    		city.html('')
		       		.unbind('change')
		       		.append(['<option value="null">Город</option>'].join(''));
		       	if (result.length > 0) {
		       		for (i in result) {
		       			city.append(['<option value="', result[i].idCity ,'">', result[i].cityName ,'</option>'].join(''));
			       	}
		       	}
		       	city.resetSS();
		       	city.bind('change', function(){
					updateFilter();
				});
		    	updateFilter();
		    }
		});
	});
},
updateFilter = function(){
		if (!updating) {
			var updating = true,
				updateDef = $.Deferred();
			fadeDef = $.Deferred();
			$('#searchTours').fadeOut(400, function(){
				fadeDef.resolve();
			});
			var categories = [];
			$(".niceCheck input").each(function(){
				if ($(this).attr('checked')) {
					categories.push($(this).val());
				}
			});
			var idCity = parseInt($('#cities').val(), 10);
				idCountry = parseInt($('#country').val(),10);
			if ((idCountry === 0 || isNaN(idCountry)) && 
				(idCity === 0 || isNaN(idCity)) && 
				categories[0] == undefined
			) {
				clear();
				return false;
			} else {
				$('#clearFilter').fadeIn(100);
			}
			$.ajax({
		        type: "POST",
		        url: '/ajax',
		        data: {
		        	type: 'getFilterTours',
		        	idCountry: idCountry,
		        	idCity: idCity,
		        	idCategories: categories
		        },
		        success: function(result) {
		        	$('body, html').animate({scrollTop : 360},'slow');
		        	updateDef.resolve();
		        	$.when(updateDef, fadeDef).done(function(){
			        	$('#searchTours').html(result).fadeIn(400, function(){
			        		Cufon.replace('.hotTourPage', { fontFamily: 'Cambria' });
			        		$('.showOthers').click(function(){
			        			$(this).parent().children('.hide').show();
			        			$(this).hide();
			        		});
			        	});
			        	updating = false;
		        	});
		        }
			});
		}
	};
