/* -----------------------------------------------
Title: Header Script
Author: Jarid Love
Modified: 24 Mar 2006
----------------------------------------------- */

// setup dropdown menus
function showMyMenu() { if(typeof showHdrMenu != "undefined") showHdrMenu(this.id); }
function hideMyMenu() { if(typeof hideHdrMenu != "undefined") hideHdrMenu(this.id); }

function setupHdrMnu(menu) {
	var hdritm = document.getElementById(menu);
	if (hdritm) {
		hdritm.onmouseover = showMyMenu;
		hdritm.onmouseout = hideMyMenu;
	}
}

// set default search
function setDefaultSrch() {
	var hdrSrchFrm = document.getElementById("hdr-srch-frm");
	if(n_lang != null && n_lang.toLowerCase() != "en-us") hdrSrchFrm.collection.value = "Novell-"+n_lang;
	switch(n_root) {
		case "news" : hdrSrchFrm.collection.value = "NovellPress"; break;
		case "support" : hdrSrchFrm.collection.value = "Support;SupportWeb"; break;
	}
	switch(n_domain) {
		case "developer.novell.com" : {
			hdrSrchFrm.collection.value = "developer;dev_ndk";
			hdrSrchFrm.bbindex.value = "NDKBestBets";
			break;
		}
		case "support.novell.com" : hdrSrchFrm.collection.value = "Support;SupportWeb"; break;
	}
	if (hdrSrchFrm.retencoding) {
		hdrSrchFrm.encoding.value = hdrSrchFrm.retencoding.value = n_enc;
		hdrSrchFrm.elements["lang"].value = (n_lang != null)?n_lang.split("-")[0]:"en";
		hdrSrchFrm.elements["country"].value = (n_country!=null)?n_country.substring(0,2):"US";;
		hdrSrchFrm.onsubmit = submitHdrSrch;
		hdrSrchFrm.getElementsByTagName("a")[0].href = "javascript:if(validateHdrSrch(document.getElementById('hdr-srch-frm'))) document.getElementById('hdr-srch-frm').submit();void(true);";
	}
}
function submitHdrSrch() {
	return validateHdrSrch(this);
}
function validateHdrSrch(frm) {
	if(frm.query.value.length == 0) {
		alert("Please enter a search value.");
		return false;
	}
	else if(frm.collection.value == "Support;SupportWeb") frm.theme.value = "support";
	return true;
}

// update with translation if not english
function swapHdrLang() {
	if(n_lang == 'en-us') return;
	var hdr = document.getElementById("hdr");
	if(hdr) {
		var lnks = hdr.getElementsByTagName("a");
		for(var i = lnks.length-1; i > -1; i--) {
			switch(lnks[i].parentNode.id) {
				case "hdr-lnks1-home" : lnks[i].innerHTML = "<span>" + hdr_home + "</span>"; break;
				case "hdr-lnks2-dl" : lnks[i].innerHTML = hdr_download; break;
				case "hdr-tagline" : lnks[i].innerHTML = hdr_tagline; break;
				case "hdr-lnks2-prod" : lnks[i].innerHTML = hdr_prod; break;
				case "hdr-lnks2-serv" : lnks[i].innerHTML = hdr_serv; break;
				case "hdr-lnks2-partner" : lnks[i].innerHTML = hdr_partner; break;
			}
		}
	}
}

// add logout link if logged in
function addLogoutLnk() {
	var loginLnk = document.createElement("li");
	loginLnk.id = "hdr-lnks2-login";
	var loginLnkA = document.createElement("a");
	var cks = document.cookie.split(';');
	for(var i=0; i < cks.length; i++) {
		var c = cks[i];
		while(c.charAt(0)==' ') c = c.substring(1,c.length);
		if(c.indexOf("IPC")==0 && c.indexOf("=")==16) {
			document.loggedin = true;
			break;
		}
	}
	loginLnkA.href = (document.loggedin) ? getSecureUrl().replace("secure-","")+"/cmd/ICSLogout" : (location.pathname.indexOf("communities") >= 0) ?  "/communities/login?destination="+location.pathname.replace("/communities/","") : (location.href.indexOf("ICSLogout") >= 0 || location.href.indexOf("ICSLogin") >= 0) ? getSecureUrl().replace("secure-","")+"/ICSLogin/?%22"+s+"%22"  : getSecureUrl()+"/center/regadmin/jsps/home_app.jsp";
	loginLnkA.innerHTML = (document.loggedin) ? hdr_logout : hdr_login;
	loginLnk.appendChild(loginLnkA);
	if (document.getElementById("hdr-lnks2")) document.getElementById("hdr-lnks2").insertBefore(loginLnk,document.getElementById("hdr-lnks2-dl"));
}

// add language selection link if language compatible environment
function addLangSelect(refURL) {
	var langMsgTxt = "Sorry, this page is not yet available in your selected language.";
	if(langCompatible) {
		var langLnk = document.createElement("li");
		langLnk.id = "hdr-lnks1-lang";
		var langLnkA = document.createElement("a");
		langLnkA.href = ss+"/common/util/langselect.php?"+escape(refURL);
		var langStr = "English";
		switch(n_lang) {
			case "de-de" : langStr = "Deutsch"; langMsgTxt = "Diese Seite steht leider noch nicht in der von Ihnen gew&#228;hlten Sprache zur Verf&#252;gung."; break; 
			case "fr-fr" : langStr = "Fran&#231;ais"; langMsgTxt = "D&#233;sol&#233;, cette page n'est pas encore disponible dans la langue que vous avez s&#233;lectionn&#233;e."; break; 
			case "es-es" : langStr = "Espa&#241;ol"; langMsgTxt = "Esta p&#225;gina todav&#237;a no est&#225; disponible en el idioma seleccionado. Disculpen las molestias."; break; 
			case "it-it" : langStr = "Italiano"; langMsgTxt = "La pagina richiesta non &#232; ancora disponibile nella lingua selezionata."; break; 
			case "nl-nl" : langStr = "Nederlands"; langMsgTxt = "Deze pagina is nog niet in de door u geselecteerde taal beschikbaar."; break; 
			case "cs-cz" : langStr = "&#269;e&#353;tina"; langMsgTxt = "Omlouv&#225;me se, tato str&#225;nka nen&#237; je&#353;t&#283; k dispozici pro v&#225;mi zvolen&#253; jazyk."; break; 
			case "zh-cn" : langStr = "&#20013;&#25991;(&#31616;&#20307;)"; langMsgTxt = "&#25265;&#27465;&#65292;&#26412;&#39029;&#23578;&#19981;&#33021;&#20197;&#24744;&#25152;&#36873;&#30340;&#35821;&#35328;&#26174;&#31034;&#12290;"; break; 
			case "zh-tw" : langStr = "&#20013;&#25991;(&#32321;&#20307;&#65289;"; langMsgTxt = "&#24456;&#25265;&#27465;&#65292;&#26412;&#32178;&#38913;&#30446;&#21069;&#23578;&#28961;&#24744;&#25152;&#36984;&#21462;&#30340;&#35486;&#35328;&#29256;&#26412;&#12290;"; break; 
			case "ja-jp" : langStr = "&#26085;&#26412;&#35486;"; langMsgTxt = "&#30003;&#12375;&#35379;&#12372;&#12374;&#12356;&#12414;&#12379;&#12435;&#12364;&#12289;&#12371;&#12398;&#12506;&#12540;&#12472;&#12399;&#12414;&#12384;&#12362;&#23458;&#27096;&#12364;&#36984;&#25246;&#12375;&#12383;&#35328;&#35486;&#12395;&#32763;&#35379;&#12373;&#12428;&#12390;&#12356;&#12414;&#12379;&#12435;"; break; 
			case "hu-hu" : langStr = "Magyar"; langMsgTxt = "Az oldal a v&#225;lasztott nyelven egyenl&#245;re nem el&#233;rhet&#245;."; break; 
			case "pl-pl" : langStr = "Polski"; langMsgTxt = "Przepraszamy, ta strona jeszcze nie jest dost&#234;pna w wybranym j&#234;zyku."; break; 
			case "pt-br" : langStr = "portugu&#234;s (Brasil)"; langMsgTxt = "Infelizmente, esta p&#225;gina ainda n&#227;o est&#225; dispon&#237;vel no idioma selecionado."; break; 
			case "ru-ru" : langStr = "&#1056;&#1091;&#1089;&#1089;&#1082;&#1080;&#1081;"; langMsgTxt = "&#1055;&#1088;&#1080;&#1085;&#1086;&#1089;&#1080;&#1084; &#1089;&#1074;&#1086;&#1080; &#1080;&#1079;&#1074;&#1080;&#1085;&#1077;&#1085;&#1080;&#1103;, &#1076;&#1072;&#1085;&#1085;&#1072;&#1103; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072; &#1074; &#1085;&#1072;&#1089;&#1090;&#1086;&#1103;&#1097;&#1080;&#1081; &#1084;&#1086;&#1084;&#1077;&#1085;&#1090; &#1085;&#1077;&#1076;&#1086;&#1089;&#1090;&#1091;&#1087;&#1085;&#1072; &#1085;&#1072; &#1074;&#1099;&#1073;&#1088;&#1072;&#1085;&#1085;&#1086;&#1084; &#1103;&#1079;&#1099;&#1082;&#1077;."; break; 
			case "sv-se" : langStr = "Svenska"; langMsgTxt = "Tyv&#228;rr finns inte den h&#228;r sidan p&#229; ditt valda spr&#229;k &#228;nnu."; break; 
			case "fi-fi" : langStr = "Suomi"; langMsgTxt = "Sorry, this page is not yet available in your selected language."; break; 
			case "da-dk" : langStr = "Dansk"; langMsgTxt = "Sorry, this page is not yet available in your selected language."; break;
			case "no-no" : langStr = "Norsk"; langMsgTxt = "Denne siden er desverre ikke tilgjengelig i valgt spr&#229;k."; break;
		}
		langLnkA.innerHTML = (n_country && typeof n_country.split("|")[1] != "undefined") ?  n_country.split("|")[1] + " - " + langStr : hdr_choose_co + " - " + langStr;
		langLnk.appendChild(langLnkA);
		document.getElementById("hdr-lnks1").insertBefore(langLnk,document.getElementById("hdr-lnks1-home"));
		if(typeof(showNotTranslatedMsg) != "undefined" && showNotTranslatedMsg) {
			var noTrnsltnMsg = document.createElement("p");
			noTrnsltnMsg.id = "no-translation-msg";
			noTrnsltnMsg.innerHTML = langMsgTxt;
			document.getElementById("hdr").appendChild(noTrnsltnMsg);
		}
	}
}

function initHdr() {
	if(typeof lang_redir != "undefined" && lang_redir) {
		document.body.style.display = "none"; // don't render if doing lang redir to speed up redirect
		return;
	}
	if(!isDOM) return;
	if(hasHdrNav) createHdrNav();
	
	setupHdrMnu("hdr-lnks2-prod");
	setupHdrMnu("hdr-lnks2-serv");
	setupHdrMnu("hdr-lnks2-partner");
	
	swapHdrLang();
	var refURL = location.href;
	addLangSelect(refURL);
	addLogoutLnk();
	setDefaultSrch();	
	
	// remove styles for printer friendly
	if(window.name == "printer_friendly") {
		for ( i = 0; i < document.styleSheets.length; i++ ) {
			if (document.styleSheets[i].title && document.styleSheets[i].title == "Printer Friendly") document.styleSheets[i].disabled = false;
			else document.styleSheets[i].disabled = true;
		}
	}
}

initHdr();