/**
 * @author Julian
 */


function doOnLoad(MainMenu, SubMenu)
{
	$.AjaxifyDebug = false;
	
	if (document.getElementById("header_menu") == undefined)
	{
		return false;
	}
	
	setupSearchBox();
	setupTopMenuItems();
	
	try 
	{
		$("#main_content").data("originalHeight", $("#main_content").height());
	}
	catch (e)
	{
		
	}
	
	$(document.getElementById("header_mode")).addClass("pages");
	
	if (MainMenu)
	{
		simulateTopMenuClick(MainMenu);
	}
	
	if (SubMenu)
	{
		setTimeout(function(){setSubMenuItem(SubMenu);}, 500);
	}
	else
	{
		setupSubMenuItems("");
	}
}

function util_isChrome()
{
	return navigator.userAgent.toLowerCase().indexOf('chrome') > -1;
}

function setupTopMenuItems()
{
	var unorderedList = document.getElementById("header_menu").getElementsByTagName("ul")[0];
	var allListItems = unorderedList.getElementsByTagName('li');
	
	for (var i = 0, length = allListItems.length; i < length; i++) {
		
		var x=allListItems[i].getElementsByTagName("a")[0];
		if (x.className == "setMeUp")
		{
			x.onclick = function(){return onClickTopMenuItems(this);};
		}
		if (x.className == "setMeUp_catalog")
		{
			x.onclick = function(){onClickCatalog();};
		}
	}
}

function onClickCatalog()
{
	collapseHeaderBanner(true);
}

function collapseHeaderBanner(doFooterCollapse)
{
		
	$(document.getElementById("header_banner_subMenu")).fadeOut(300);
	$(document.getElementById("header_photo")).fadeOut(300);
	$(document.getElementById("header_banner_container")).slideUp(1000);
	
	if (doFooterCollapse){collapseFooterBanner();}
	
	//Switch TopMenu Selection
	var unorderedList = document.getElementById("header_menu").getElementsByTagName("ul")[0];
	var allListItems = unorderedList.getElementsByTagName('li');
	
	for (var i = 0, length = allListItems.length; i < length; i++) {
		
		var x=allListItems[i];
		if ($(x).hasClass("Selected"))
		{
			$(x).removeClass("Selected");
			$(x).addClass("NotSelected");
		}
	}	
}

function collapseFooterBanner()
{
		
	$(document.getElementById("footer_panels_container")).fadeOut(300);
	$(document.getElementById("footer_Newsletter")).fadeOut(300);
	$(document.getElementById("footer_quicklinks")).fadeIn(1000);
	
	$(document.getElementById("main_content_padding")).animate({paddingBottom: "100px"},1500);
	$(document.getElementById("footer_container")).animate({height: "82px"},1500, undefined, function(){
		$(document.getElementById("footer_container")).removeClass("footer_container_big");
		$(document.getElementById("footer_container")).addClass("footer_container_small");
	});
	
}

function expandHeaderBanner(doFooterExpand)
{	
	$(document.getElementById("header_banner_subMenu")).fadeIn(300);
	$(document.getElementById("header_banner_container")).slideDown(1000);
	
	if (doFooterExpand){expandFooterBanner();}
}

function expandFooterBanner()
{
		
	$(document.getElementById("footer_panels_container")).fadeIn(1500);
	$(document.getElementById("footer_Newsletter")).fadeIn(1500);
	$(document.getElementById("footer_quicklinks")).fadeOut(500);
	
	$(document.getElementById("footer_container")).removeClass("footer_container_small");
	$(document.getElementById("footer_container")).addClass("footer_container_big");
	
	$(document.getElementById("footer_container")).animate({height: "265px"},1500);
	
	$(document.getElementById("main_content_padding")).animate({paddingBottom: "285px"},1500);
	
}

function clickTopLink(obj, tag)
{
	return true;
	if ($.browser.msie)
	{
		return true;
	}
	
	var unorderedList = document.getElementById("header_banner_subMenu").getElementsByTagName("div")[0];
	var allListItems = unorderedList.getElementsByTagName('span');
	
	for (var i = 0, length = allListItems.length; i < length; i++) {
		
		var x=allListItems[i].getElementsByTagName("a")[0];
		
		if ($(x).hasClass("Selected"))
		{
			var currentLink = x;
		}
	}
	
	var newLink = obj;
	
	if (!tag)
	{
		var tag = "#PageContent";
	}
	
	eval("var tagToL = {'" + tag + "':'#main_content_holder','title':'title'};");
	
	$(newLink).blur();
	
	$(newLink).fadeTo(250, 0.1, function(){
		$(currentLink).removeClass("Selected");
		$(newLink).addClass("Selected");
		$(newLink).fadeTo(250, 1);
	});
	
	$("#main_content").data("originalHeight", $("#main_content").height());
	$("#main_content").animate({height:"100px", opacity:.1}, 1000, null, function(){
		showLoadingOverlay($("#main_content"));
		$(obj).ajaxify({
	        //target: '#main_content_holder',
	        method:'GET',
			tagToload: tagToL,
			event: false,
			onSuccess: function(){
				document.getElementById("main_content").innerHTML = document.getElementById("main_content_holder").innerHTML;
				$("#main_content").data("originalHeight", $("#main_content_holder").height());
				hideLoadingOverlay();
				refreshTitle();
			}
		});
	});
	
	collapseHeaderBanner(true);
	
	return false;
}

function clickSubLink(obj, tag)
{	
	if ($.browser.msie)
	{
		return true;
	}

	var unorderedList = document.getElementById("header_banner_subMenu").getElementsByTagName("div")[0];
	var allListItems = unorderedList.getElementsByTagName('span');
	
	for (var i = 0, length = allListItems.length; i < length; i++) {
		
		var x=allListItems[i].getElementsByTagName("a")[0];
		
		if ($(x).hasClass("Selected"))
		{
			var currentLink = x;
		}
	}
	
	var newLink = obj;
	
	if (!tag)
	{
		var tag = "#PageContent";
	}
	
	eval("var tagToL = {'" + tag + "':'#main_content_holder','title':'title'};");
	
	$(newLink).fadeTo(250, 0.1, function(){
		$(currentLink).removeClass("Selected");
		$(newLink).addClass("Selected");
		$(newLink).fadeTo(250, 1);
	});
	
	$(newLink).blur();
	
	/*
	$("#main_content").data("originalHeight", $("#main_content").height());
	$("#main_content").animate({height:"100px", opacity:.1}, 1000, null, function(){
		showLoadingOverlay($("#main_content"));
		$(obj).ajaxify({
	        //target: '#main_content_holder',
	        method:'GET',
			tagToload: tagToL,
			event: false,
			onSuccess: function(){
				document.getElementById("main_content").innerHTML = document.getElementById("main_content_holder").innerHTML;
				$("#main_content").data("originalHeight", $("#main_content_holder").height()+70);
				hideLoadingOverlay();
				refreshTitle();
			}
		});
	});
	*/
	
	return true;
}

function simulateTopMenuClick(MenuName)
{
	var unorderedList = document.getElementById("header_menu").getElementsByTagName("ul")[0];
	var allListItems = unorderedList.getElementsByTagName('li');
	
	for (var i = 0, length = allListItems.length; i < length; i++) {
		
		var x=allListItems[i].getElementsByTagName("a")[0];
		if (x.getElementsByTagName("span")[0].innerHTML == MenuName)
		{
			$(x).click();
			break;
		}
	}
}

function setSubMenuItem(ItemName)
{
	var unorderedList = document.getElementById("header_banner_subMenu").getElementsByTagName("div")[0];
	var allListItems = unorderedList.getElementsByTagName('span');
	
	for (var i = 0, length = allListItems.length; i < length; i++) {
		
		var x=allListItems[i].getElementsByTagName("a")[0];
		
		if ($(x).hasClass("Selected"))
		{
			$(x).removeClass("Selected");
		}
		if (x.innerHTML == ItemName)
		{
			$(x).addClass("Selected");
			//$(x).click();
		}
	}
}

function setupSubMenuItems(ItemName)
{
	var unorderedList = document.getElementById("header_banner_subMenu").getElementsByTagName("div")[0];
	var allListItems = unorderedList.getElementsByTagName('span');
	
	for (var i = 0, length = allListItems.length; i < length; i++) {
		
		var x=allListItems[i].getElementsByTagName("a")[0];
		
		if (typeof x.onclick == "undefined")
		{
			$(x).click(function(obj){return clickSubLink(this);});
		}
		
		if (ItemName)
		{
			if ($(x).hasClass("Selected"))
			{
				$(x).removeClass("Selected");
			}
			
			if (x.innerHTML == ItemName)
			{
				$(x).addClass("Selected");
			}
		}
	}
}

function clearNavigationSubMenuItems()
{
	var unorderedList = document.getElementById("header_banner_subMenu").getElementsByTagName("div")[0];
	var allListItems = unorderedList.getElementsByTagName('span');
	
	for (var i = 0, length = allListItems.length; i < length; i++) {
		
		var x=allListItems[i].getElementsByTagName("a")[0];
		
		if ($(x).hasClass("Selected"))
		{
			$(x).removeClass("Selected");
		}
	}
}

function setupNewLinks() 
{
	var allListItems = $('#main_content_holder a');
	
	for (var i = 0, length = allListItems.length; i < length; i++) {
		
		var x=allListItems[i];
		x.href = 'proxy.php?url=' + x.href;
	}
	
	$('#main_content_holder a').ajaxify({
			//link:'proxy.php?url=http%3A//applications.cytekdev.com/sc/pages.php?pageid=6',
	        target: '#main_content_holder',
	        title:'Setting up options', // change page title. Since v2.0
	        method:'GET',
	        tagToload: '#PageContent',
			animateOut:{opacity:'0'},
			animateOutSpeed:300,
			animateIn:{opacity:'1'},
			animateInSpeed:300,
			onSuccess: function(){
				setupNewLinks();
				$('#main_content').fadeOut(1000, function(){
					alert(document.getElementById("main_content_holder").getAttribute("height"));
					document.getElementById("main_content").innerHTML = document.getElementById("main_content_holder").innerHTML;
					$('#main_content').slideDown(1000);
				});
			}
		});
	
	var allListItems = $('#main_content_holder img');
	
	for (var i = 0, length = allListItems.length; i < length; i++) {
		
		var x=allListItems[i];
		x.src = 'proxy.php?url=' + x.src;
	}
}

function onClickTopMenuItems(obj)
{
	
	return true;
	if ($.browser.msie)
	{
		return true;
	}
	
	expandHeaderBanner(true);
	
	$(obj).fadeTo(250, 0.1).fadeTo(250, 1);
	
	var SubMenuHolder = document.getElementById("header_banner_subMenu");
	$(SubMenuHolder).fadeOut(300,function(){
		$(SubMenuHolder).show();
		var linkName = obj.getElementsByTagName("span")[0].innerHTML;
		var newSubMenu = document.getElementById("subMenu_"+linkName);
		
		var blockQuote = newSubMenu.getElementsByTagName("div")[1];
		
		if (newSubMenu.getElementsByTagName("div").length > 2)
		{
			var NewPhoto = newSubMenu.getElementsByTagName("div")[newSubMenu.getElementsByTagName("div").length-1];
		}
		else
		{
			var NewPhoto = newSubMenu.getElementsByTagName("div")[2];
		}
		
		//Switch TopMenu Selection
		var unorderedList = document.getElementById("header_menu").getElementsByTagName("ul")[0];
		var allListItems = unorderedList.getElementsByTagName('li');
		
		for (var i = 0, length = allListItems.length; i < length; i++) {
			
			var x=allListItems[i];
			if (x.className == "Selected")
			{
				x.className = "NotSelected";
				if ($("span", x).html() == "Catalog")
				{
					x.className = "Catalog";
				}
			}
		}
		
		obj.parentNode.className = "Selected";
		SubMenuHolder.innerHTML = "<div>" + newSubMenu.getElementsByTagName("div")[0].innerHTML + "</div>";
		
		try{$("#main_content").data("originalHeight", $("#main_content").height());}catch(e){}
		$("#footer_panels_container").fadeTo(750, 0.01);
		if ($(".Right").length)
		{
			$(".Right").slideUp(1000, function(){$(this).remove();});
		}
		$("#main_content").animate({height:"100px", opacity:.1}, 1000, null, function(){
			showLoadingOverlay($("#main_content"));
			$(obj).ajaxify({
		        method:'GET',
				tagToload: {"#main_content":"#main_content_holder", "title":"title", '#footer_panels_container':'#footer_panels_container'},
				event: false,
				onSuccess: function(){
					document.getElementById("main_content_padding").innerHTML = document.getElementById("main_content_holder").innerHTML+"<br class=\"Clear\"/>";
					$("#main_content").height("100px");
					$("#main_content").data("originalHeight", $("#main_content_holder").height());
					hideLoadingOverlay();
					refreshTitle();
					$("#footer_panels_container").fadeTo(750, 1);
				}
			});
		});
		
		setupSubMenuItems("");
		clearNavigationSubMenuItems();
		fadeInNewQuote(blockQuote);
		fadeInPhoto(NewPhoto);
		fadeInSubMenu();
	});
	$(obj).blur();
	return false;
}

function fadeInSubMenu()
{
	if (jQuery.browser.safari)
	{
		var x = document.getElementById("header_banner_subMenu");
		$(x).hide();
		$(x).fadeIn(1300);
	}
	else
	{
		var unorderedList = document.getElementById("header_banner_subMenu").getElementsByTagName("div")[0];
		var allListItems = unorderedList.getElementsByTagName('span');
		
		for (var i = 0, length = allListItems.length; i < length; i++) {
			
			var x=allListItems[i];
			$(x).hide();
			setTimeout("$(document.getElementById(\"header_banner_subMenu\").getElementsByTagName(\"div\")[0].getElementsByTagName(\"span\")[" + i + "]).fadeIn(600)", (i+1) * 200 );
		}
	}
}

function fadeInNewQuote(newDataObject)
{
	var x=document.getElementById("header_banner_quote");
	$(x).fadeOut(600, function(){
		if (newDataObject)
		{
			var x=document.getElementById("header_banner_quote");
			document.getElementById("header_banner_quote").innerHTML = newDataObject.innerHTML;
			$(x).fadeIn(600);
		}
	});
}

function fadeInPhoto(newDataObject)
{
	var x=document.getElementById("header_photo");
	$(x).fadeOut(2000, function(){
		if (newDataObject)
		{
			var x=document.getElementById("header_photo");
			document.getElementById("header_photo").innerHTML = newDataObject.innerHTML;
			$(x).fadeIn(2000);
		}
	});
}

function setupSearchBox()
{
	var x = $("#search_query");
	x.focus(function(){onFocusSearchBox();});
	x.blur(function(){onBlurSearchBox();});
	if (!x.hasClass("Textbox"))
	{
		x.addClass("Textbox");
	}
	onBlurSearchBox();
}

function onFocusSearchBox()
{
	var x = $("#search_query");
	if (x.val() == "search...")
	{
		x.val("");
	}
	x.removeClass("InputBoxDim");
}

function onBlurSearchBox()
{
	var x = $("#search_query");
	if (x.val() == "" || x.val() == "search...")
	{
		x.val("search...");
		x.addClass("InputBoxDim");
	}
}

function showLoadingOverlay(obj)
{
	if (!$("#loading_overlay").size())
	{
		$("body").append("<div id=\"loading_overlay\" style=\"display: none; opacity: 0.1; position: absolute; z-index: 1001;\"/>");
	}
	if (!$("#loading_overlay_text").size())
	{
		$("body").append("<div id=\"loading_overlay_text\" class=\"ext-el-mask-msg x-mask-loading\" style=\"display: none; position: absolute; z-index: 1002;\"><div>Loading</div></div>");	
	}
	
	var overlay = $("#loading_overlay");
	var overlay_text = $("#loading_overlay_text");
	
	
	var objPosition = $(obj).position();
	
	$(overlay).css("left", objPosition.left)
				.css("top", objPosition.top)
				.height($(obj).height())
				.width($(obj).width());
	
	$(overlay_text).css("left", (objPosition.left) + (($(overlay).width()/2) - ($(overlay_text).width()/2)))
					.css("top", (objPosition.top) + (($(overlay).height()/2) - ($(overlay_text).height()/2)))
					.height($(overlay_text).height())
					.width($(overlay_text).width())
					.css("background-color", "#fff");
	
	$(overlay).fadeIn(500);
	$(overlay_text).fadeIn(750);
}

function hideLoadingOverlay()
{
	$("#loading_overlay").fadeOut(500);
	$("#loading_overlay_text").fadeOut(500);
	$("#main_content").animate({height: $("#main_content").data("originalHeight") + "px", opacity:1}, 1000, undefined, function(){
		document.getElementById("main_content").style.height = "auto";
	});
}

function refreshTitle()
{
	var strInputCode = $("title").html();
	strInputCode = strInputCode.replace(/&(lt|gt);/g, function (strMatch, p1){
		return (p1 == "lt")? "<" : ">";
	});
	var strTagStrippedText = strInputCode.replace(/<\/?[^>]+(>|$)/g, "");
	document.title = strTagStrippedText;
}