var currentPage = window.location.href;

$(document).ready(function() {
	$("ul.dropdown > li").mouseover(function() {
		$(this).addClass("sfhover").css({"zindex": 1000});
	}).mouseout(function() {
		$(this).removeClass("sfhover");
	});

	KeyListener.init();
	
	expandContent();
	
	$("#main a").filter(function(){return $(this).text().toLowerCase() == "back to top";}).addClass("tip");
	
	$("div.expandCollapse h2").live("click", function(e) {
		e.preventDefault();
		$(this).children("span").blur().toggleClass("expandCollapseOpen").parent().next("ul").slideToggle();
	});
	
	// text size link
	setTextSizeLink();
	
	// hide processing div when user leaves page so it wont display if back button is clicked
	$(window).bind("unload", function() {
		$("#processing").fadeOut(1000);
	});
	
	// check if page is being translated by google
	if($("#btnChangeLanguage").length > 0) {
		if($("#btnChangeLanguage").attr("href").indexOf("http") != 0) {
			getZoneContent();
			displayLanguages();
		} else {
			$("#btnChangeLanguage").parent().parent().hide();
			$("#btnLargePrint").parent().parent().hide();
			$("#btnEnglish").show().bind("click", function() {
				window.top.location.href = $("base").attr("href");
			});
		}
	}
	
	var addressLinks = $("a.address");
	
	if (addressLinks.length > 0) {
		loadGoogleMapsApi();
		addressLinks.live("click", function(e) {
			e.preventDefault();
			var tempAddress = $(this).attr("title");
			if (tempAddress != "") {
				showMap("", tempAddress);
			}
		});
	}
	
	var linkToBold = currentPage.substring(currentPage.lastIndexOf('/')+1);
	if (linkToBold.indexOf(".aspx") > -1) {
		$("#left ul li a[href$='" + linkToBold + "']").css({"text-decoration": "underline"});
	}
	
	formatTables();
	
	$.getScript('http://s7.addthis.com/js/250/addthis_widget.js#pubid=afshintrilogy&domready=1', function(){});
});

function expandContent() {
	$("div.expandCollapse.open").children("h2").children("span").addClass("expandCollapseOpen").parent().next("ul").slideDown();
}

function getZoneContent() {
	$.ajax({
		type: "POST",
		contentType: "application/json; charset=utf-8",
		url: "/ajax/WSGenericContent.asmx/GetZoneContent",
		data: '{"CurrentUrl": "' + currentPage + '","CountyId":"' + countyId + '","StateId":"' + stateId + '"}',
		dataType: "json",
		success: function(msg) {
			
			var data = msg.d;
			
			var resultCount = data["Rows"].length;
			
			for (var i = 0; i < resultCount; i++) {
				var zone = "#zone" + data["Rows"][i]["Zone"];
				
				if (zone == "#zone5") {
					$("#main h1").before(data["Rows"][i]["Content"]);
				} else {
					$(data["Rows"][i]["Content"]).appendTo(zone);
				}
			}
			expandContent();
		}
	});
}

function setTextSizeLink() {
	var textSizeLink = $("#btnLargePrint");
	var textSize = $.cookie('textSize');
	var currentUrl = currentPage;
	
	currentUrl = currentUrl.replace(/textsize=large/g,"").replace(/textsize=small/g,"");
	
	if (currentUrl.indexOf("?") < 0) {
		currentUrl += "?";
	} else {
		currentUrl += "&";
	}
	
	if (!textSize || textSize != "large") {
		textSizeLink.html("Large Print").bind("click", function() {location.href = currentUrl + "textsize=large"});
	} else {
		textSizeLink.html("Smaller Print").bind("click", function() {location.href = currentUrl + "textsize=small"});
	}
}

function queryString(name, url) {
	var tmepURL = window.location.search;
	if(url) {tmepURL = url;}
    var match = RegExp('[?&]' + name + '=([^&]*)').exec(tmepURL);
    return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
}

function getBannerImage(imageCount) {
	return "bannerImg" + Math.floor((Math.random()*imageCount)+1);
}

// handle enter key when focus is on input or select and fields are wrapped in a fieldset with a class of "submit"
KeyListener = {
	init : function() {
		$('#page').bind('keypress', function(e) {
			var key = e.charCode ? e.charCode : e.keyCode ? e.keyCode : 0;
			var target = e.target.tagName.toLowerCase();
			if (key === 13 && (target === 'input' || target === 'select')) {
				e.preventDefault();
				
				var parentFieldset = $(e.target).parents('fieldset[class^="submit"]');
				var button = parentFieldset.find('input[type="submit"]');
				button.trigger('click');
			}
		});
	}
};

function showProcessing(containerSelector, statusMessage, validationGroup) {
	if (typeof Page_ClientValidate == 'undefined' || (typeof Page_ClientValidate == 'function' && Page_ClientValidate(validationGroup))) {
		var container = $(containerSelector);
		$("#processing div span").html(statusMessage).parent("div").css({"width" : container.css("width"), "height" : container.css("height")});
		$("#processing").prependTo(container).show();
	}
}

function displayLanguages() {
	$.ajax({
		type: "POST",
		contentType: "application/json; charset=utf-8",
		url: "/ajax/WSGoogle.asmx/GetLanguages",
		data: "{}",
		dataType: "json",
		success: function(msg) {
			googleLanguages = msg.d;
			
			var obj = $.parseJSON(googleLanguages);
			var data = obj.data.languages;
			
			var resultStr = "<div id='languages' class='clearfix'>";
			var totalLanguages = data.length;
			var maxColumns = 4
			var totalLinksPerColumn = Math.round(totalLanguages/maxColumns);
			
			var counter = 0;
			
			$.each(data, function(index, lang) {
				counter++;
				if (counter == 1) {
					resultStr += "<div>"
				}
				if (counter <= totalLinksPerColumn && counter <= totalLanguages) {
					var currentUrl = window.location.href;
					if (currentUrl.indexOf(".aspx") == -1) {
						currentUrl += "index.aspx";
					}
					resultStr += '<a target="_parent" href="http://translate.google.com/translate?js=n&prev=_t&hl=en&ie=UTF-8&layout=2&eotf=1&sl=auto&u=' + currentUrl + '&tl=' + lang.language + '">' + lang.name + '</a>';
				}
				
				if (counter == totalLinksPerColumn && counter <= totalLanguages) {
					counter = 0;
					resultStr += "</div>";
				}
			});
			
			resultStr += "</div>";
			
			$(resultStr).prependTo("#contentWrapper");
			
			if (productId == 2 || productId == 17) {
				$.get("/UC/Nimh/Languages.aspx?pid=" + productId, function(data) {
					$(data).prependTo("#languages");
				});
			}
			
			$("#btnChangeLanguage").bind("click", function(event) {
				event.preventDefault();
				$("#banner h4").fadeToggle();
				$("#languages").slideToggle();
			});
		}
	});
}

function loadGoogleMapsApi() {
	var script = document.createElement("script");
	script.type = "text/javascript";
	script.src = "http://maps.googleapis.com/maps/api/js?sensor=false&callback=loadNocMap";
	document.body.appendChild(script);
}

function loadNocMap() {
	$.getScript('/js/googleMap.js', function(){
		initMap()
	});
}

function formatTables() {
	$(".default tr:even").addClass("alt");
}
