try { document.execCommand('BackgroundImageCache', false, true); } catch(e) {}
var defaultInputValues = new Array();

$(function () {
	// png fix (IE sucks)
	$("#discount").supersleight({ shim: _appPath + '/images/blank.gif' });

	// image preload
	$.preloadImages(_appPath + "/images/loader-search.gif", _appPath + "/images/loader-poll.gif");

	// auto clear input fields
	$(".autoClear").each(function (index) {
		defaultInputValues[index] = $(this).val();
		$(this).focus(function () { if ($(this).val() == defaultInputValues[index]) { $(this).val('') } }).blur(function () { if ($(this).val() == '') { $(this).val(defaultInputValues[index]) } })
	});

	// search field
	$("#search").append($("<img>").attr({ src: _appPath + "/images/loader-search.gif", alt: '' })).submit(function () { return jQuery.trim($(this).find("input").val()).length > 0 && $(this).find("img").show(); });

	// poll
	$("#poll a").click(function () {
		id = $("#poll input[name=answer]:checked").val();
		if (id) {
			$("#poll ul").html("<li><p style=\"margin: 30px 0; text-align: center;\"><img src=\"" + _appPath + "/images/loader-poll.gif\" alt=\"\" /></p></li>");
			$.post(_appPath + "/vote.aspx", { id: id }, function (data) {
				$("#poll ul").hide().html(data).fadeIn("slow")
			}, "html");
		}
	});

	// fancybox init
	if ($.isFunction($.fn.fancybox)) {
		var fb_opt = { 'overlayShow': true, 'overlayOpacity': 0.70, 'zoomSpeedIn': 300, 'zoomSpeedOut': 400 };
		$("#images a, a.main").fancybox(fb_opt);

		var fb_opt = { 'overlayShow': true, 'overlayOpacity': 0.70, 'zoomSpeedIn': 300, 'zoomSpeedOut': 400, 'frameWidth': 700, 'frameHeight': 540 };
		$("#videos a, a.video").fancybox(fb_opt);

		var fb_opt = { 'overlayShow': true, 'overlayOpacity': 0.70, 'zoomSpeedIn': 300, 'zoomSpeedOut': 400, 'frameWidth': 500, 'frameHeight': 550 };
		$("a.popup").fancybox(fb_opt);
	}

	// video image mask
	$("#videos a, #video a").each(function () {
		$img = $("<img>").attr("src", _appPath + "/images/play.gif").css({ 'position': 'absolute', 'top': 0, 'left': 0, 'opacity': 0.70, 'background': 'none' }).hover(
			function () { $(this).dequeue().animate({ "opacity": 0.35 }, 250, "easeOutBack") },
			function () { $(this).dequeue().animate({ "opacity": 0.70 }, 250, "easeOutBack") }
		);
		$(this).append($img);
	});

	// brands
	$("#brands").hover(function () { $(this).css("height", "auto"); }, function () { $(this).css("height", "30px"); });
	$("#brands img").css("opacity", "0.4");
	$("#brands img").hover(function () { $(this).css("opacity", "1").addClass("hover"); }, function () { $(this).css("opacity", "0.4").removeClass("hover"); });
	$("#search input").mouseover(function () { $("#brands").css("height", "30px"); });

	// comments	
	$(".addComment").click(function () { $("#addComment").slideToggle(); });

	// tabs
	$("#filter #search-by a").click(function () { $("#filter #search-by a.active").removeClass("active"); $(this).addClass("active"); $("#filter .tab:visible").hide(); $("#filter .tab").eq($("#filter #search-by a").index($(this))).slideDown(); });
	var index = $.query.get('m') ? 1 : 0;
	$("#filter #search-by a").eq(index).addClass("active");
	$("#filter .tab").eq(index).show();

	// product add
	$(".cart-add").click(function () { $(this).closest("form").submit(); return false; });

	// hearts
	//$().jSnow({ flakes: 12, fallingSpeedMax: 2, swingMax: 60, zIndex: 20, flakeCode: [_appPath + "/images/heart1.png", _appPath + "/images/heart2.png", _appPath + "/images/heart3.png", _appPath + "/images/heart4.png", _appPath + "/images/heart5.png", _appPath + "/images/heart6.png"], interval: 30 });

	// snow
	$.fn.jSnow({ flakes: 12, fallingSpeedMax: 2, swingMax: 60, zIndex: 20, flakeCode: [_appPath + "/images/snowflake.gif"], interval: 30 });

	// suggest
	$(".suggestCity").suggest(_appPath + "/json.aspx", 
		{params: { method: 'getCities' }}
	);
	$(".suggestDistrict").suggest(_appPath + "/json.aspx",
		{ params: { method: 'getDistricts' }, dynamicParams: { city: function () { return $(".suggestCity").val() } } }
	);
	$(".suggestStreet").suggest(_appPath + "/json.aspx",
		{ params: { method: 'getStreets' }, dynamicParams: { city: function () { return $(".suggestCity").val() } } }
	);
});


jQuery.preloadImages = function () {
	for (var i = 0; i < arguments.length; i++) {
		jQuery("<img>").attr("src", arguments[i]);
	}
}

function asyncValidate(validatorSummary, validator, arg, button, url, params) {
	arg.IsValid = false;
	validatorSummary.showmessagebox = "False";
	$.get(url, params, function (res) {
		//validatorSummary.showmessagebox = "True";
		validator.isvalid = (res == "true");
		ValidatorUpdateDisplay(validator);
		ValidatorUpdateIsValid();
		if (Page_IsValid) {
			__doPostBack(button.name, '');
		} else {
			ValidationSummaryOnSubmit(validatorSummary.validationGroup);
		}
	});
}

function validateCity(source, arguments) {
	var city = $('.suggestCity').val();
	asyncValidate(validator, source, arguments, button, _appPath + "/json.aspx", { method: 'validateCity', city: city });
}
function validateDistrict(source, arguments) {
	var city = $('.suggestCity').val();
	var district = $('.suggestDistrict').val();
	if (district == '') {
		arguments.IsValid = true;
	} else {
		asyncValidate(validator, source, arguments, button, _appPath + "/json.aspx", { method: 'validateDistrict', city: city, district: district });
	}
}

function validateStreet(source, arguments) {
	var city = $('.suggestCity').val();
	var street = $('.suggestStreet').val();
	if (street == '') {
		arguments.IsValid = true;
	} else {
		asyncValidate(validator, source, arguments, button, _appPath + "/json.aspx", { method: 'validateStreet', city: city, street: street });
	}
}
