var isIE = ($.browser.msie && parseInt($.browser.version.substr(0,1)) < 7);

$(function() {
	
	$("a:not(.no-icon)").iconlinks();
	
	$("a.new-window").live("click", function(evt) { window.open($(this).attr("href")); return false; });
	
	//$("#nav a.sub-nav").attr("title", "Click for more options");
	
	$(".text-size-small").click(function(evt) { $("body").removeClass("normal").removeClass("large").addClass("small"); FixFooterLocation(); $.cookie('font-size', 'small', { path: '/', domain: 'bloor-yorkville.com' }); return false; });
	$(".text-size-normal").click(function(evt) { $("body").removeClass("small").removeClass("large").addClass("normal"); FixFooterLocation(); $.cookie('font-size', 'normal', { path: '/', domain: 'bloor-yorkville.com' }); return false; });
	$(".text-size-large").click(function(evt) { $("body").removeClass("normal").removeClass("small").addClass("large"); FixFooterLocation(); $.cookie('font-size', 'large', { path: '/', domain: 'bloor-yorkville.com' }); return false; });
	
	FixFooterLocation();
	
	$(".more").hide();
	$(".show-more").click(function(evt) { $(this).hide().parent().siblings(".more").show(); return false; });
	
	$("#store-search .store-keyword-search").keyup(function(evt) {
		
		var keyword = $(this);
		var category = $("#store-search .store-category-search");
		
		clearTimeout(storesearchresultsid);
		
		if (keyword.val().length >= 3)
			storesearchresultsid = setTimeout("GetStoreSearchResults(" + searchcpid + ",'" + keyword.val() + "', '" + (category.val() != null ? category.val() : categoryid) + "')", 500);
		else if (keyword.val().length == 0)
			storesearchresultsid = setTimeout("GetStoreSearchResults(" + searchcpid + ", '', '" + (category.val() != null ? category.val() : categoryid) + "')", 500);
		
	});
	
	$("#store-search .store-category-search").change(function(evt) {
		
		var category = $(this);
		var keyword = $("#store-search .store-keyword-search");
		
		clearTimeout(storesearchresultsid);
		
		keyword.val(keyword.attr("title"));
		
		GetStoreSearchResults(searchcpid, null, category.val());
		
	});
	
	$("#nav .nav-item a.sub-nav").click(function(evt) {
		
		if ($(this).parent(".nav-item").hasClass("active"))
			location.href = $(this).attr("href");
		else {
			$(this).parent(".nav-item").addClass("active");
			return false;
		}
		
	});
	
	$("#nav .nav-item").mouseleave(function(evt) {
		
		$(this).removeClass("active");
		
	});
	 
	if ($("#background img").size() > 1) {
		
		$("#background img:first").siblings().hide();
		if (!$("body").hasClass("large"))
			setTimeout("rotateBackgroundImage()", 5500);
		
	}
	
	$("select.styled").select();
	
	$("#search-active").hide().css("visibility", "visible");
	$("#search-active a.close").click(function(evt) { $("#search-active").fadeOut("fast"); return false; });
	$("#search .search-button").click(function(evt) { $("#search-active").fadeIn("fast"); return false; });
	$("#search-active .by-category select").change(function(evt) { location.href = "/Directory/Search.aspx?c=" + $(this).val(); });
	
	$("h2.has-sub-nav").
		hover(function(evt) { $(this).addClass("hover"); }, function(evt) { $(this).removeClass("hover"); }).
		click(function(evt) { $(this).addClass("active"); }).
		mouseleave(function(evt) { $(this).removeClass("active"); });
	
	$("input.watermark").watermark();
	DefaultFancyBox($("a.lightbox"));
	FixIE6Height();
	
	$("#back-to-top").floater();
	
	$(".accordion").accordion();
	
	if ($("#button-rotator a").size() > 1) {
		
		$("#button-rotator a:not(.active)").hide();
		setTimeout("RotateButtons()", 6500);
		
	}
	
});

function RotateButtons() {
	
	var br = $("#button-rotator");
	var current = br.children("a.active");
	var next = current.next("a").size() > 0 ? current.next("a") : current.siblings("a:eq(0)");
	
	current.removeClass("active").fadeOut(300);
	next.addClass("active").fadeIn(300, function(evt) { setTimeout("RotateButtons()", 6500); });
	
}

function DefaultFancyBox(what) {
	
	$(what).fancybox({ zoomSpeedIn : 300, zoomSpeedOut : 300, overlayShow : false, zoomOpacity : true, padding : 10, callbackOnClose : function() { $("#back-to-top").floater(); } });
	
}

function FixFooterLocation() { $("#content").css("padding-bottom", $("#footer").height() + 30); }

function rotateBackgroundImage() {

	if (!$("body").hasClass("large")) {
		
		var current = $("#background img:visible:first");
		var next = current.next("img").size() == 0 ? current.siblings("img:first") : current.next("img");
		
		next.css({opacity:0}).show();
		next.addClass("animate").animate({opacity:1}, 1100, "easeOutQuad", function(evt) { current.hide(); next.css({opacity:null}).removeClass("animate"); });
		
		setTimeout("rotateBackgroundImage()", 5500);
		
	}
	
}

var storesearchresultsid = -1;

function GetStoreSearchResults(cpid, keyword, category) {
	
	var directory = $("#store-directory");
	
	if (directory.children(".loading").size() == 0)
		directory.prepend("<li class='loading'></li>");
	
	$.post("/StoreSearch.ashx", { keyword : keyword == null ? "" : keyword, category : category == null ? "" : category, cpid : cpid == null ? "" : cpid }, function(data, status) {
		
		directory.html(data);
		FixIE6Height();
		
	}, "html");
	
	$("#back-to-top").floater();
	
}

function FixIE6Height() {
	
	if (isIE) {
		$("body")[0].style.removeExpression("height");
		$("body")[0].style.setExpression("height", "(this.parentNode.clientHeight)");
	}
	
}

function ShowStoreDetails(what) {
	
	var quick = $(what);
	var store = quick.parent("li.store");
	var details = store.children("div.details");
	
	store.siblings("li.store").children("div.details:visible").slideUp();
	
	if (details.size() == 0) {
		
		pageTracker._trackPageview(quick.attr("href"));
		
		store.append("<div class='loading'></div>");
		var loading = store.children("div.loading");
		loading.slideDown();
		store.append("<div class='details'></div>");
		details = quick.siblings("div.details");
		details.load("/StoreDetails.ashx .details>*", { id : store.attr("id").replace("store-", "") }, function() { loading.remove(); DefaultFancyBox(details.find("a.lightbox").fancybox()); details.find("a:not(.no-icon)").iconlinks(); details.slideDown("fast", function(evt) { FixIE6Height(); }); loading.slideUp(); });
		
	} else {
		
		details.slideDown();
		
	}
	
	return false;
	
}
