/*** javascript shared in all languages ***/
function ignore(){
	return true;
}
// uncomment the following line to prevent any error display if necessary
//window.onerror = ignore;
function loc_selector_popup(showPopup) {
	var obj = document.getElementById("location_popup_container");
	if (showPopup)
	{
		obj.style.visibility = "visible";
		var ul = document.getElementsByTagName("ul");
		for (var j=0; j<ul.length; j++){
			if (ul[j].className.indexOf("level1")){
				var els = ul[j].getElementsByTagName("select");
				for (var i=0; i<els.length; i++){
					els[i].style.display = "none";
				}
			}
		}
		// inserts iframe to provide a shim between popup and page; hides product finder select fields from showing through popup in ie5.5+
		obj.insertAdjacentHTML("afterEnd", '<iframe name="location_popup_iframe" src="javascript:;" scrolling="no" frameborder="0" style="position:absolute;width:245px;height:500px;top:1px;left:1px;border:none;z-index:1;filter:Alpha(style=0,opacity=0);"></iframe>'); 
	}
	else
	{ 
		obj.style.visibility = "hidden";
		var ul = document.getElementsByTagName("ul");
		for (var j=0; j<ul.length; j++){
			if (ul[j].className.indexOf("level1")){
				var els = ul[j].getElementsByTagName("select");
				for (var i=0; i<els.length; i++){
					els[i].style.display = "inline";
				}
			}
		}
		// hide iframe shim above
		var ifrm = document.getElementsByName("location_popup_iframe");
		for (var z=0; z<ifrm.length; z++){
		ifrm[z].style.display = "none";
		}
	}
}

function is_descendent(desc, asc) {
	try {
		while (desc && desc != asc && desc.nodeName.toUpperCase() != 'BODY') {
			desc = desc.parentNode;
		}
	} catch (err) {
		// ignore
	}
	return (desc == asc);
}

/*** login popup ***/
var main_nav_login, is_mouse_in_login_popup, is_login_popup_focused, hiding_login_popup;

function show_login_popup(e) {
	if (!e) {
		e = window.event;
	}

	if (hiding_login_popup) {
		clearTimeout(hiding_login_popup);
		hiding_login_popup = null;
	}

	if (main_nav_login.className.indexOf('show_login_popup') == -1) {
		main_nav_login.className += ' show_login_popup';
	}

	if (e.type == 'mouseover') {
		is_mouse_in_login_popup = true;
	}
	else {
		is_login_popup_focused = true;
	}
}

function login_popup_mouseout(e) {
	var from, to;

	if (!e) {
		e = window.event;
	}

	from = (e.target) ? e.target : e.srcElement;
	to = (e.relatedTarget) ? e.relatedTarget : e.toElement;
	if (is_descendent(from, main_nav_login) && !is_descendent(to, main_nav_login)) {
		is_mouse_in_login_popup = false;
		start_hide_login_popup();
	}
}

function login_popup_blur() {
	is_login_popup_focused = false;
	start_hide_login_popup();
}

function start_hide_login_popup() {
	if (!is_mouse_in_login_popup && !is_login_popup_focused) {
		hiding_login_popup = setTimeout('hide_login_popup()', 1000);
	}
}

function hide_login_popup() {
	main_nav_login.className = main_nav_login.className.replace(' show_login_popup', '');
	hiding_login_popup = null;
}



/*** product popup ***/
var li_with_product_popup, is_mouse_in_product_popup, is_product_popup_focused, hiding_product_popup;

function show_product_popup(e) {
	var this_li = this.parentNode;

	if (!e) {
		e = window.event;
	}

	if (li_with_product_popup) {
		if (hiding_product_popup) {
			clearTimeout(hiding_product_popup);
			hiding_product_popup = null;
		}
		if (li_with_product_popup != this_li) {
			/* opened new popup - close the old one */
			hide_product_popup();
		}
	}

	li_with_product_popup = this_li;
	if (li_with_product_popup.className.indexOf('show_product_popup') == -1) {
		if (li_with_product_popup.className == '') {
			li_with_product_popup.className = 'show_product_popup';
		}
		else {
			li_with_product_popup.className += ' show_product_popup';
		}
	}

	if (e.type == 'mouseover') {
		is_mouse_in_product_popup = true;
	}
	else {
		is_product_popup_focused = true;
	}
}

function reenter_product_popup(e) {
	if (!e) {
		e = window.event;
	}

	if (!li_with_product_popup || !is_descendent(this, li_with_product_popup)) {
		return;
	}

	if (hiding_product_popup) {
		clearTimeout(hiding_product_popup);
		hiding_product_popup = null;
	}

	if (e.type == 'mouseover') {
		is_mouse_in_product_popup = true;
	}
	else {
		is_product_popup_focused = true;
	}
}

function product_popup_mouseout(e) {
	var from, to;

	if (!e) {
		e = window.event;
	}

	if (li_with_product_popup) {
		from = (e.target) ? e.target : e.srcElement;
		to = (e.relatedTarget) ? e.relatedTarget : e.toElement;
		if (is_descendent(from, li_with_product_popup) && !is_descendent(to, li_with_product_popup)) {
			is_mouse_in_product_popup = false;
			start_hide_product_popup();
		}
	}
}

function product_popup_blur() {
	if (!li_with_product_popup || !is_descendent(this, li_with_product_popup)) {
		return;
	}

	is_product_popup_focused = false;
	start_hide_product_popup();
}

function start_hide_product_popup() {
	if (!is_mouse_in_product_popup && !is_product_popup_focused) {
		hiding_product_popup = setTimeout('hide_product_popup()', 1000);
	}
}

function hide_product_popup() {
	if (li_with_product_popup) {
		if (li_with_product_popup.className == 'show_product_popup') {
			li_with_product_popup.className = '';
		}
		else {
			li_with_product_popup.className = li_with_product_popup.className.replace('show_product_popup', '');
		}
		li_with_product_popup = hiding_product_popup = null;
	}
}

function skip_iframe() {
	if (this.nextItem && this.nextItem.focus) {
		this.nextItem.focus();
	}
}

/*
	toggle upload instruction for check warranty - upload
	by Mitch dot Leung at Ion Global dot com
*/
function toggleDiv(id, mode){
	var e = document.getElementById(id);
	if (e){
		var v = "hidden";
		var d = "none";
		if ((e.style.display != "block" || e.style.display != "inline" || e.style.display == "none") && mode==1){
			v = "visible";
			d = "block";
		}
		e.style.visibility = v;
		e.style.display = d;
	}
}
/*
	product toggle timeout
*/
var productlistTimer;
var productlistClearId = null;
function productInfo(id, mode){
	if (mode==0){
		productlistTimer = setTimeout("toggleDiv(\""+id+"\", "+mode+")", 2000);
		productlistClearId= id;
	}else{
		clearTimeout(productlistTimer);
		if (productlistClearId!=null){
			toggleDiv(productlistClearId, 0);
			productlistClearId = null;
		}
		toggleDiv(id, mode);
	}
}
/*
	toggle nested ul,ol
	by Mitch dot Leung at Ion Global dot com
*/
function toggleBullet(ul_id, mode, li_id, switch_id){
	var state = (mode == 1) ? "expanded" : "";
	if (li_id!=''){
		var e = document.getElementById(li_id);
		if (e.className == "expanded"){
			state = "";
		}else{
			state = "expanded";
		}
		e.className = state;
	}else if (ul_id!=''){
		var ul = document.getElementById(ul_id);
		var lis = ul.getElementsByTagName("li");
		for(var i=0; i<lis.length; i++){
			var e = lis[i];
			e.className = state;
		}
		if (switch_id!=''){
			var s = document.getElementById(switch_id);
			var spans = s.getElementsByTagName("span");
			for (var i=0;i<spans.length;i++){
				if (spans[i].className == "on"){
					spans[i].className = "off";
				}else if (spans[i].className == "off"){
					spans[i].className = "on";
				}
			}
		}
	}
}
/*
	toggle all checkbox of id start with 'prefix'
	by Mitch dot Leung at Ion Global dot com
*/
function checkall(prefix){
	var el = document.getElementsByTagName("input");
	for (i=0; i<el.length; i++){
		var e = el[i];
		if (e.type == "checkbox" && e.id.indexOf(prefix)==0){
			e.checked = true;
		}
	}
}
/*
	enable 1 & only 1 DIV out of a group of DIVs
	by Mitch dot Leung at Ion Global dot com
*/
function toggleGroupDiv(containerId, myId){
	var c = document.getElementById(containerId);
	if (c){
		var divs = c.getElementsByTagName("div");
		for (i=0; i<divs.length; i++){
			var e = divs[i];
			if (e.className.indexOf("dynamic_content")!=-1 && e.id==myId){
				toggleDiv(e.id,1);
			}else if (e.className.indexOf("dynamic_content")!=-1 && e.id!=myId){
				toggleDiv(e.id,0);
			}
		}
	}
	return false;
}
/*
	toggle popup location map region 1 out of 4
	by Mitch dot Leung at Ion Global dot com
*/
function clickFirstAhref(id, classname){
	var el = document.getElementById(id);
	if (el){
		var divs = el.getElementsByTagName("div");
		for (var i=0; i<divs.length; i++){
			if (divs[i].className == classname){
				var ahrefs = divs[i].getElementsByTagName("a");
				if (ahrefs.length>0){
					if (typeof(ahrefs[0].onclick)=="function"){
						var func = ahrefs[0].getAttribute("onclick");
						if (typeof(func)=="function"){
							func();
						}else{
							eval(func.substr(0, func.indexOf(';')));
						}
						break;
					}
				}
			}
		}
	}
}
function toggleLocation(prefix, refId){
	//var regionArr = [prefix+'apac',prefix+'emea',prefix+'na',prefix+'la'];
	var regionArr = ['apac','emea','na','la'];
	for (var i=0; i<regionArr.length; i++){
		var e = document.getElementById(prefix + regionArr[i]);
		if (e){
			var myClass = (regionArr[i] == refId) ? prefix+'current' : prefix.substr(0, prefix.length-1);
			e.className = myClass;
			if (regionArr[i] == refId){
				var divId = (prefix=="location_popup_") ? "location_map" : "location_spp";
				hiliteLocation(regionArr[i], 2, divId);
			}
		}
	}
	if (prefix=="language_select_"){
		toggleDiv("step1",1);
		toggleDiv("step2",1);
		toggleDiv("step3",1);
		clickFirstAhref("step1","language_select_current");
	}
}
function toggleCountry(id)
{
	var region = id.substr(id.indexOf("_")+1, id.length-1);
	var lang = id.substr(0,id.indexOf("_")+1);
	var e = document.getElementById("language_select_"+region);
	if (e){
		var ahrefs = e.getElementsByTagName("a");
		for (var i=0; i<ahrefs.length; i++){
			if (ahrefs[i].getAttribute("onclick").toString().indexOf(lang)!=-1){
				// found
				ahrefs[i].className = "hiliteMe";
			}else{
				ahrefs[i].className = "";
			}
		}
	}
	toggleDiv("step2",1);
	var e = document.getElementById("step2");
	var divs = document.getElementsByTagName("div");
	for (var i=0; i<divs.length; i++){
		if (divs[i].className.indexOf("content_map_country")!=-1){
			var myClass = "content_map_country";
			if (divs[i].id == id){
				myClass = "content_map_country_current";
			}
			divs[i].className = myClass;
		}
	}
	clickFirstAhref("step2","content_map_country_current");
	toggleDiv("step3",1);
	var e = document.getElementById("step3");
	var lang = id.substr(0,2);
	var divs = e.getElementsByTagName("div");
	for (var i=0; i<divs.length; i++){
		if (divs[i].id.indexOf("step3")!=-1){
			if (divs[i].id == "step3"+lang){
				toggleDiv(divs[i].id,1);
			}else{
				toggleDiv(divs[i].id,0);
			}
		}
	}
}
function toggleLangLink(id){
	var el = document.getElementById(id);
	var e = document.getElementById("step2");
	var divs = e.getElementsByTagName("div");
	for (var i=0; i<divs.length; i++){
		if (divs[i].className.indexOf("content_map_country_current")!=-1){
			var ahrefs = divs[i].getElementsByTagName("a");
			for (var j=0; j<ahrefs.length; j++){
				if (ahrefs[j].id == id){
					ahrefs[j].className = "hiliteMe";
				}else{
					ahrefs[j].className = "";
				}
			}
			break;
		}
	}
}
/*
	rollover for location popup
*/
var __gPopupLocation = [];
function hiliteLocation(where, mode, div){
	if (!div){
		div = "location_map";
	}
	var d = document.getElementById(div);
	if (d){
		var imgs = d.getElementsByTagName("img");
		var currLoc = imgs[0].getAttribute("src");
		if (imgs[0]){
			if (__gPopupLocation[div]==null){
				__gPopupLocation[div] = imgs[0].getAttribute("src");
			}
			var newSrc = "";
			if (mode>=1){
				newSrc = __gPopupLocation[div].replace(/map_short[\-a-z]*\.gif/g,"map_short-"+where+".gif");
				if (mode>1){
					__gPopupLocation[div] = newSrc;
				}
			}else{
				newSrc = __gPopupLocation[div];
			}
			imgs[0].setAttribute("src", newSrc);
		}
	}
}
/*
	toggle left capacity selector
	by Mitch dot Leung at Ion Global dot com
*/
function toggleCapacitySelector(tab){
	var bg = document.getElementById("left_inner_capacity_selector_backdrop");
	var f = document.getElementById("tabProductFinder");
	var l = document.getElementById("tabProductList");
	if (!f || !l || !bg) return;
	if (tab=="finder" && f.className.indexOf(" on")==-1){
		bg.className = "left_inner_capacity_selector";
		toggleDiv('capactity_product_finder',1);
		toggleDiv('capactity_product_list',0);
		f.className += " on";
		l.className = l.className.substr(0,l.className.indexOf(" on"));
	}else if (tab=="list" && l.className.indexOf(" on")==-1){
		bg.className = "left_inner_capacity_selector product_list";
		toggleDiv('capactity_product_finder',0);
		toggleDiv('capactity_product_list',1);
		l.className += " on";
		f.className = f.className.substr(0,f.className.indexOf(" on"));
	}
}
/*** onload ***/
function load() {
	var children, child, as, a, inputs, input, els, el, i, j;

	el = document.getElementById('login_popup_container_stub');
	if (el) {
		main_nav_login = el.parentNode;

		children = main_nav_login.childNodes;
		for (i = children.length - 1; i >= 0; i--) {
			child = children[i];
			if (child.nodeType == 1) {
				child.onmouseover = show_login_popup;
				child.onmouseout = login_popup_mouseout;
			}
		}

		as = main_nav_login.getElementsByTagName('a');
		for (i = as.length - 1; i >= 0; i--) {
			a = as[i];
			a.onfocus = show_login_popup;
			a.onblur = login_popup_blur;
		}

		inputs = main_nav_login.getElementsByTagName('input');
		for (i = inputs.length - 1; i >= 0; i--) {
			input = inputs[i];
			input.onfocus = show_login_popup;
			input.onblur = login_popup_blur;
		}
	}

	el = document.getElementById('product_popups');
	if (el) {
		els = el.getElementsByTagName('li');
		for (i = els.length - 1; i >= 0; i--) {
			el = els[i];
			var divs = el.getElementsByTagName("div");
			var applyFlag = false;
			for (var a=0; a<divs.length; a++){
				if (divs[a].className=="left_subsection_item_popup"){
					applyFlag = true;
					break;
				}
			}
			if (applyFlag){
				el.onmouseout = product_popup_mouseout;

				children = el.childNodes;
				for (j = children.length - 1; j >= 0; j--) {
					child = children[j];
					if (child.nodeType == 1) {
						if (child.nodeName == 'A') {
							child.onmouseover = child.onfocus = show_product_popup;
						}
						else if (child.nodeName == 'DIV') {
							child.onmouseover = reenter_product_popup;
						}
					}
				}

				as = el.getElementsByTagName('a');
				for (j = as.length - 1; j >= 0; j--) {
					a = as[j];
					if (!a.onfocus) {
						a.onfocus = reenter_product_popup;
					}
					a.onblur = product_popup_blur;
				}

				inputs = el.getElementsByTagName('input');
				for (j = inputs.length - 1; j >= 0; j--) {
					input = inputs[j];
					input.onfocus = reenter_product_popup;
					input.onblur = product_popup_blur;
				}

				j = el.getElementsByTagName('iframe')[0];
				if (j && i < els.length - 1) {
					j.nextItem = els[i + 1].getElementsByTagName('a')[0];
					j.onfocus = skip_iframe;
				}
			}
		}
	}
	var mapId = "location_spp";
	var mapDiv = document.getElementById(mapId);
	if (mapDiv){
		toggleLocation('language_select_','na');
		//toggleCountry('en_na');
		//toggleDiv('step3',1);
	}
}
function stdpop(url){
	var x = 0;
	var y = 0;
	var w = 780;
	var h = 600;
	if (window.screen) {
		x = Math.floor((screen.availWidth-w)/2);
		y = Math.floor((screen.availHeight-h)/2);
	}
	var params = "width="+w+",height="+h+",menubar=no,scrollbars=no,toolbar=no,location=no,status=yes,resizable=yes";
	params += ",left="+x+",top="+y;
	pop(url, "seagatewin", params);
}
function pop(url, winId, params){
	var popwin = window.open(url, winId, params);
	popwin.opener = this;
	if (typeof(popwin.focus)=="function") popwin.focus();
}
function unload() {
	var children, child, as, a, inputs, input, els, el, i, j;

	el = document.getElementById('login_popup_container_stub');
	if (el) {
		main_nav_login = el.parentNode;

		children = main_nav_login.childNodes;
		for (i = children.length - 1; i >= 0; i--) {
			child = children[i];
			if (child.nodeType == 1) {
				child.onmouseover = child.onmouseout = null;
			}
		}

		as = main_nav_login.getElementsByTagName('a');
		for (i = as.length - 1; i >= 0; i--) {
			a = as[i];
			a.onfocus = a.onblur = null;
		}

		inputs = main_nav_login.getElementsByTagName('input');
		for (i = inputs.length - 1; i >= 0; i--) {
			input = inputs[i];
			input.onfocus = input.onblur = null;
		}
	}

	el = document.getElementById('product_popups');
	if (el) {
		els = el.getElementsByTagName('li');
		for (i = els.length - 1; i >= 0; i--) {
			el = els[i];
			var divs = el.getElementsByTagName("div");
			var applyFlag = false;
			for (var a=0; a<divs.length; a++){
				if (divs[a].className=="left_subsection_item_popup"){
					applyFlag = true;
					break;
				}
			}
			if (applyFlag){
				el.onmouseout = product_popup_mouseout;

				children = el.childNodes;
				for (j = children.length - 1; j >= 0; j--) {
					child = children[j];
					if (child.onmouseover) {
						child.onmouseover = null;
					}
				}

				as = el.getElementsByTagName('a');
				for (j = as.length - 1; j >= 0; j--) {
					a = as[j];
					a.onfocus = a.onblur = null;
				}

				inputs = el.getElementsByTagName('input');
				for (j = inputs.length - 1; j >= 0; j--) {
					input = inputs[j];
					input.onfocus = input.onblur = null;
				}

				j = el.getElementsByTagName('iframe')[0];
				if (j) {
					j.onfocus = null;
				}
			}
		}
	}
}

window.onload = load;
window.onunload = unload;
