//Bosch Header by Leonhardt Multimedia GmbH (www.leonhardt.de)
//Version 031015, standalone

/*#####################################################################################################################*/
/* 										START of declarations														   */	
/*---------------------------------------------------------------------------------------------------------------------*/


/*#############################################*/
/* Essential variables - change to your values */
/*#############################################*/
 	
	// url of server root location like "http://www.bosch.de/"
		//var server_root = "http://basis-ua.internetwork-bosch.com/";
	var server_root = 'http://www.bosch.ua/';
	
	// url of header root location like "http://www.bosch.de/header_central/"
		//var header_root = "http://basis-ua.internetwork-bosch.com/content/header_central/";
	var header_root = 'http://www.bosch.ua/content/header_central/';
	
	
	// languages and their properties (min.: 1 language - max.: 4 languages)
	var language_array = new Array();
		
		
		// language 1
		language_array[0] 				= new Object();
		// language ISO-code (2 chars)
		language_array[0].language 		= "ua";
		// locale ISO-code (2_2 chars)
		language_array[0].locale 		= "uk_UA";
		// date format - you can change the order of day, month and year and the seperator between them
		language_array[0].dateformat 	= "day.month.year";
		// label and url of web assistent
		language_array[0].webassi_label	= "Web-&#1040;&#1089;&#1080;&#1089;&#1090;&#1077;&#1085;&#1090;";
		language_array[0].webassi_url	= "content/service/wa/index.asp";
		// label and url of my bosch root folder with trailing slash
		language_array[0].mybosch_label = "&#1052;&#1110;&#1081; Bosch";
		language_array[0].mybosch_url	= "content/service/mb/index.asp";
		// url of my boschloader page
		language_array[0].myboschloader_url	= "content/service/mb/loader.asp";
		// label and url of suppliers
		language_array[0].suppliers_label	= "&#1055;&#1086;&#1096;&#1091;&#1082;&#1076;&#1110;&#1083;&#1077;&#1088;&#1072;";
		language_array[0].suppliers_url	= "content/service/supplier/index.asp";
		// label and url of contact
		language_array[0].contact_label	= "&#1050;&#1086;&#1085;&#1090;&#1072;&#1082;&#1090;";
		language_array[0].contact_url	= "content/service/contact/index.asp";
		// label and url of imprint
		language_array[0].imprint_label	= "Impressum";
		language_array[0].imprint_url	= "content/$language$/config/imprint.htm";
		
		
		// language 2
		language_array[1] 				= new Object();
		language_array[1].language 		= "en";
		language_array[1].locale 		= "en_US";
		language_array[1].dateformat 	= "month/day/year";
		language_array[1].webassi_label	= "Web-Assistant";
		language_array[1].webassi_url	= "content/service/wa/index.asp";
		language_array[1].mybosch_label = "My Bosch";
		language_array[1].mybosch_url	= "content/service/mb/index.asp";
		language_array[1].myboschloader_url	= "content/service/mb/loader.asp";
		language_array[1].suppliers_label	= "Dealer Locator";
		language_array[1].suppliers_url	= "content/service/supplier/index.asp";
		language_array[1].contact_label	= "Contact";
		language_array[1].contact_url	= "content/service/contact/index.asp";
		language_array[1].imprint_label	= "Imprint";
		language_array[1].imprint_url	= "content/$language$/config/imprint.htm";
		
		/*
		// language 3
		language_array[2] 				= new Object();
		language_array[2].language 		= "fr";
		language_array[2].dateformat 	= "year/month/day";
		language_array[2].webassi_label	= "Web Assistent";
		language_array[2].webassi_url	= "http://app1.internetwork-bosch.com/webapp/wakobeq/webassistent/index.jsp";
		language_array[2].mybosch_label = "Mon Bosch";
		language_array[2].mybosch_url	= "";
		language_array[2].myboschloader_url	= "http://www.bosch.de/start/fr/scripts/windows/mybosch/";
		language_array[2].suppliers_label	= "Sources d'Approvisionnement";
		language_array[2].suppliers_url	= "http://app1.internetwork-bosch.com/webapp/wakobeq/bezugsquellen/index.jsp";
		language_array[2].contact_label	= "Íäõøüíø";
		language_array[2].contact_url	= "http://app1.internetwork-bosch.com/webapp/wakobeq/kontakt/index.jsp";
		language_array[2].imprint_label	= "Empreinte";
		language_array[2].imprint_url	= "http://www.bosch.de/start/fr/scripts/windows/impressum/impressum_c.htm";
		
		
		// language 4
		language_array[3] = new Object();
		language_array[3].language 		= "";
		language_array[3].locale 		= "";
		language_array[3].dateformat 	= "";
		language_array[3].webassi_label	= "";
		language_array[3].webassi_url	= "";
		language_array[3].mybosch_label = "";
		language_array[3].mybosch_url	= "";
		language_array[3].myboschloader_url	= "";
		language_array[3].suppliers_label	= "";
		language_array[3].suppliersurl	= "";
		language_array[3].contact_label	= "";
		language_array[3].contact_url	= "";
		language_array[3].imprint_label	= "";
		language_array[3].imprint_url	= "";
		*/

		
/*###########################################################*/
/* font style variables - only edit by changes in styleguide */
/*###########################################################*/
	
	// styles workaround
	var backlink_font 		= 'style="font-family: Arial, Helvetica, sans-serif; font-size: 11px; line-height: 11px; color:#FFFFFF; font-weight:normal; text-decoration: none;"';
	var headerwhite_font 	= 'style="font-family: Arial, Helvetica, sans-serif; font-size: 10px; line-height: 11px; color:#FFFFFF; font-weight:normal; text-decoration: none;"';
	var headerblue_font 	= 'style="font-family: Arial, Helvetica, sans-serif; font-size: 11px; line-height: 11px; color:#153B63; font-weight:normal; text-decoration: none;"';

	
/*###########################################################*/
/* openWindow parameters - only edit by changes of values	 */
/*###########################################################*/

	// params for openWindows of web-assistent, contact, ...
	var imprintParams = "width=564,height=498,toolbar=no,location=no,directories=no,scrollbars=no,status=no,menubar=no,resizable=no";
	var webAssiParams = "width=564,height=498,toolbar=no,location=no,directories=no,scrollbars=no,status=no,menubar=no,resizable=no";
	var myBoschParams = "width=564,height=498,toolbar=no,location=no,directories=no,scrollbars=no,status=no,menubar=no,resizable=no";
	var suppliersParams  = "width=565,height=498,toolbar=no,location=no,directories=no,scrollbars=no,status=no,menubar=no,resizable=no";
	var contactParams = "width=565,height=498,toolbar=no,location=no,directories=no,scrollbars=no,status=no,menubar=no,resizable=no";
	


	
/*###########################################################*/
/*         application variables - DO NOT EDIT 				 */
/*###########################################################*/


	// header shared-directory
	var shared_url = header_root + "shared/";
	// header scripts-directory
	var script_url = header_root + "scripts/";
	
	// default language array
	var default_language_array = new Object();
		default_language_array.language 	 = "en";
		default_language_array.dateformat 	 = "month/day/year";
		default_language_array.webassi_label = "Web-Assistant";
		default_language_array.webassi_url	 = "http://app1.internetwork-bosch.com/webapp/wakobeq/webassistent/index.jsp";
		default_language_array.mybosch_label = "My Bosch";
		default_language_array.mybosch_url	 = "http://www.bosch.de/start/en/scripts/windows/mybosch/";
		default_language_array.myboschloader_url	= "http://www.bosch.de/start/en/scripts/windows/mybosch/loadmb2.htm";
		default_language_array.suppliers_label	 = "Dealer Locator";
		default_language_array.suppliers_url	 = "http://app1.internetwork-bosch.com/webapp/wakobeq/bezugsquellen/index.jsp";
		default_language_array.contact_label = "Contact";
		default_language_array.contact_url	 = "http://app1.internetwork-bosch.com/webapp/wakobeq/kontakt/index.jsp";
		default_language_array.imprint_label = "Imprint";
		default_language_array.imprint_url	 = "http://www.bosch.de/start/en/scripts/windows/impressum/impressum_c.htm";

	// default language
	var default_language = "en";
	
	// default backlink
	var default_backlink = new Array();
	for (i=0;i<3;i++) {
		default_backlink[i] 		= new Object();
		default_backlink[i].label  	= "";
		default_backlink[i].url   	= "";
	}
	

/*---------------------------------------------------------------------------------------------------------------------*/
/* 										END of declarations 														   */
/*#####################################################################################################################*/



/*#####################################################################################################################*/
/* 										START of functions															   */	
/*---------------------------------------------------------------------------------------------------------------------*/



/*###########################################################*/
/*         		format- and help-functions					 */
/*###########################################################*/


	/* returns transparent image in given width (w) and height (h) */
	function trans(w,h){
		var trans = '<img src="' + shared_url + 'transparent.gif" width="' + w + '" height="' + h + '" border="0">'; 
		return trans;
	}
	
	/* returns starttag of table in given width (w) and bgcolor (col) */
	function tab(w,col){
		var tab = '<table ';
		if ((typeof(w)!="undefined") && (w!='')) tab +=  'width="' + w + '" ';
		tab += 'border="0" cellpadding="0" cellspacing="0" ';
		if (typeof(col)!="undefined") tab +=  'bgcolor="' + col + '"';
		tab += '>'; 
		return tab;
	}
	
	/* returns given String (longstring) in given maximal length (maxlength) */
	function cutString(longstring,maxlength){
		if (longstring.length > maxlength) {
			if (longstring.indexOf('uml;') > -1) maxlength += 5;
			var newstring = longstring.substring(0,maxlength-2);
			newstring += "...";
			return newstring;
		}
		return longstring;
	}


/*###########################################################*/
/*         		control-function							 */
/*###########################################################*/

	/* checks existence of language and arrays */
	function checkLangAndArr() {
		
		// is current_language existent otherwise default_language
		if((typeof(current_language)=="undefined") || (current_language=="")) current_language=default_language;
		
		// is language_array existent otherwise default_language_array
		if((typeof(language_array)=="undefined") || (language_array.length<1)){
			language_array = new Array();
			language_array[0] = default_language_array;
		}
		
		// is backlink existent or length less than 3 otherwise fill up with default_backlink 
		if (typeof(backlink)=="undefined") {
			backlink = default_backlink;
		} else if (backlink.length>2){
			backlink = backlink;
		} else if (backlink.length<3) {
			for (i=backlink.length;i<3;i++){
				backlink[i] = default_backlink[i];
			}
		}
		
		// is other_languages existent otherwise new (empty) array
		if (typeof(other_languages)=="undefined") other_languages= new Array();
		
	}


/*###########################################################*/
/*         			getObject-function						 */
/*###########################################################*/
	
	/* returns object by given language */
	function getObject(language){
		
		for (i=0;i<language_array.length;i++){
			if (language_array[i].language == language) languageObject = language_array[i];
		}
		if(typeof(languageObject)=="undefined")languageObject=default_language_array;
		return languageObject;
	}


/*###########################################################*/
/*         			display-functions						 */
/*###########################################################*/

	/* returns the date in date format of the current_language */
function displayDate() 
{
			    
	theDate = new Date();

 	var year = theDate.getYear();
 	var month = (theDate.getMonth())+1;
 	var day = theDate.getDate();

 	if (year < 1000) year+=1900;  
 	if (day  < 10) day="0"+day;
 	if (month < 10) month="0"+month;
					
	var myDate = "day.month.year";
				
	myDate = myDate.replace(/day/,day);
	myDate = myDate.replace(/month/,month);
	myDate = myDate.replace(/year/,year);
					if(document.getElementById){
						if(document.getElementById("hsDate")){
				 			document.getElementById("hsDate").innerHTML=myDate;
				 		}
				 	}
				}

	/* returns the date in date format of the current_language */
	function displayDate_old() {
	    
		theDate = new Date();
	 	var year = theDate.getYear();
	 	var month = (theDate.getMonth())+1;
	 	var day = theDate.getDate();
	 	if (year<1000) year+=1900;  //NS Workaround
	 	if (day<10) day="0"+day;
	 	if (month<10) month="0"+month;
		
		var myDate = getObject(current_language).dateformat;
		if((typeof(myDate)=="undefined") || (myDate==""))myDate=default_language_array.dateformat;
		myDate = myDate.replace(/day/,day);
		myDate = myDate.replace(/month/,month);
		myDate = myDate.replace(/year/,year);
		
	 	return myDate;
	}
	
	/* returns other images of inactive languages */
	function displayLanguage() {
		var display_language = '';
		for (i=0;i<language_array.length;i++){
			if ((language_array[i].language != current_language) && (typeof(other_languages[language_array[i].language])!="undefined")) {				display_language += '<td><a href="javascript:switchLanguage(\'' + language_array[i].language + '\');" onclick="this.blur();switchLanguage(\'' + language_array[i].language + '\');"><img src="' + shared_url + 'language_' + language_array[i].language + '.gif" border="0"></a></td>'; 
				display_language += '<td><img src="' +  shared_url + 'lang_space.gif" width="13" height="13" border="0"></td>';
			}
		}
		return display_language;
	}
	
	
	/* returns the labelwords (imprint, webassistent, contact, ...) in the current language */
	function displayLabel(labelName){
		var display_Label = eval('getObject(current_language).' + labelName);
		if((typeof(display_Label)=="undefined") || (display_Label==""))display_Label=eval('default_language_array.' + labelName);
		return display_Label;
	}
	
	
	/* returns the tree of the header backlinks */
	function displayBacklinks(){
		
		// tablerow of no backlink
		var noTree = '<tr><td bgcolor="#FFFFFF">' + trans(6,18) + '</td><td bgcolor="#D3D3D3">' + trans(168,1) + '</td></tr>';
		// tablerow of seperating line between items
		var treeGreyLine = '<tr><td bgcolor="#FFFFFF">' + trans(6,1) + '</td><td bgcolor="#D3D3D3">' + trans(168,1) + '</td></tr>';
		// beginning of tablerow of backlink
		var treeItem = '<tr><td bgcolor="#153B63" colspan="2">' + tab();
		
		var backlink_tree = '';
		
		// for every empty backlink-label one blank row (tablerow of no backlink)
		for (i=0;i<backlink.length ;i++){
			if (backlink[backlink.length-(i+1)].label == "") backlink_tree += noTree;
		}
		
		// for every backlink-label fill tree with backlink
		for (i=0;i<backlink.length ;i++){
			if (backlink[i].label != ""){
				if (backlink[i].url == "") backlink[i].url = '#';
				backlink_tree += treeGreyLine;
				backlink_tree += treeItem;
				backlink_tree += '<tr><td valign="top"><a href="' + backlink[i].url + '"><img src="' + shared_url + 'boscharrow_b.gif" alt="" width="12" height="17" border="0"></a></td>';
				backlink_tree += '<td valign="middle"><a href="' + backlink[i].url + '" ' + backlink_font + '>' + trans(3,1) + '<span ' + backlink_font + '>' + cutString(backlink[i].label,25) + '</span></a></td></tr></table></td></tr>';
			} 
		}
		return backlink_tree; 		
	}

	
/*###########################################################*/
/*         		get header-html-function					 */
/*###########################################################*/

	function getHeader(){
	
		var me = '<div align="center">' + tab(720);
		me+= 	'<tr ' + backlink_font + '><td valign="top">' + tab(174);
		// backlink tree
		me+= displayBacklinks();
		
		me+= '</table></td>';	
		me+= '<td valign="top">' + tab(372) + '<tr><td  bgcolor="#839CBA">' + tab() + '<tr><td>' + tab() + '<tr>';
		me+= '<td bgcolor="#D3D3D3">' + trans(2,13) + '</td>';
		if (displayLanguage()==''){
			me+= '<td>' + trans(5,1) + '</td>';
		} else {
			me+= '<td>' + trans(10,1) + '</td>';
		}
		// other languages
		me += displayLanguage();
		
		me+= '</tr></table></td>';
		// imprint
		me+= '<td>' +  tab() + '<tr><td><a href="javascript:void(0)" onclick="openImprint();this.blur();" ' + headerwhite_font + '><span ' + headerwhite_font + '>' + displayLabel('imprint_label') + '</span></a></td></tr></table></td></tr></table></td>';
		// date
		me+= '<td align="right" bgcolor="#839CBA">' + tab(78) + '<tr><td align="right"><span ' + headerwhite_font + '>' + displayDate() + trans(5,1) +'</span></td></tr></table></td></tr></table>';
		// actions (webassistent, my bosch, contact, suppliers)
		me+= tab(372,'#D3D3D3') + '<tr><td>' + trans(6,41) + '</td>';
		me+= 	'<td>';
		me+= 		tab();
		me+= 			'<tr><td>' + trans(16,7) +'</td><td>' + trans(164,7) + '</td></tr>';
		me+= 			'<tr><td><a href="javascript:void(0)" onclick="openWebassistant();this.blur();"><img src="' + shared_url + 'webassiicon.gif" width="13" height="13" border="0"></a></td>';
		me+= 				'<td><a href="javascript:void(0)" onclick="openWebassistant();this.blur();" ' + headerblue_font + '><span ' + headerblue_font + '>&nbsp;' + displayLabel('webassi_label') + '</span></a></td></tr>';
		me+= 			'<tr><td colspan="2">' + trans(1,4) + '</td></tr>';
		me+= 			'<tr><td><a href="javascript:void(0)" onclick="openMyBosch();this.blur();"><img src="' + shared_url + 'meinbicon.gif" width="13" height="13" border="0"></a></td>';
		me+= 				'<td><a href="javascript:void(0)" onclick="openMyBosch();this.blur();" ' + headerblue_font + '><span ' + headerblue_font + '>&nbsp;' + displayLabel('mybosch_label') + '</span></a></td></tr>';
		me+= 			'<tr><td>' + trans(1,4) + '</td><td>' + trans(1,4) + '</td></tr></table>';
		me+= 	'</td>';
		me+= 	'<td>';
		me+= 		tab();
		me+= 			'<tr><td>' + trans(16,7) +'</td><td>' + trans(164,7) + '</td></tr>';
		me+= 			'<tr><td><a href="javascript:void(0)" onclick="openSuppliers();this.blur();"><img src="' + shared_url + 'bezugicon.gif" width="13" height="13" border="0"></a></td>';
		me+= 				'<td><a href="javascript:void(0)" onclick="openSuppliers();this.blur();" ' + headerblue_font + '><span ' + headerblue_font + '>&nbsp;' + displayLabel('suppliers_label') + '</span></a></td></tr>';
		me+= 			'<tr><td colspan="2">' + trans(1,4) + '</td></tr>';
		me+= 			'<tr><td><a href="javascript:void(0)" onclick="openContact();this.blur();"><img src="' + shared_url + 'kontakticon.gif" width="13" height="13" border="0"></a></td>';
		me+= 				'<td><a href="javascript:void(0)" onclick="openContact();this.blur();" ' + headerblue_font + '><span ' + headerblue_font + '>&nbsp;' + displayLabel('contact_label') + '</span></a></td></tr>';
		me+= 			'<tr><td>' + trans(1,4) + '</td><td>' + trans(1,4) + '</td></tr></table>';
		me+= 	'</td>';
		me+= 	'<td>' + trans(6,41) + '</td>';
		me+= '</tr></table></td><td valign="top">';
		// logo
		me+= tab() + '<tr><td><img src="' + shared_url + 'header_logo.gif" width="174" height="54" border="0"></td></tr></table></td>';
		
		me+= '</tr></table></div>';
		return me;
	}


/*###########################################################*/
/*         		switch language-function					 */
/*###########################################################*/
	
	/* switch to new language */
	function switchLanguage(newLanguage){
		var newUrl = other_languages[newLanguage];
		if (typeof(newUrl) == "undefined") {
			newUrl = location.href;
		} else if (newUrl.substring(0,4)!= "http") {
			newUrl = server_root + newUrl;
		}
		location.href=newUrl;
	}
	
	function switchOtherLanguage(newLanguage){
		var display_language = '';
		for (i=0;i<language_array.length;i++){
			if ((language_array[i].language != newLanguage) && (typeof(other_languages[language_array[i].language])!="undefined")) 
			{	
				display_language=language_array[i].language;			
			}
		}
			
		var newUrl = other_languages[display_language];
		if (typeof(newUrl) == "undefined") {
			newUrl = location.href;
		} else if (newUrl.substring(0,4)!= "http") {
			newUrl = server_root + newUrl;
		}
		location.href=newUrl;
	}

/*###########################################################*/
/*         			open actions-functions					 */
/*###########################################################*/

//New Functions, for Alternative Service Funcs
	function convertUrl(inUrl){
		if (inUrl.substring(0,4)!= "http") {
			inUrl = server_root + inUrl;
		}
		if(inUrl.indexOf("$language$")>-1){
			inUrl=inUrl.replace(/\$language\$/,"language"+ getLanguageNr(current_language));
		}
		return inUrl;
	}
	
	function getLanguageNr(language){
		languageNr=1;
		for (i=0;i<language_array.length;i++){
			if (language_array[i].language == language) languageNr = i+1;
		}
		
		return languageNr;
	}
	
	function getLang_ServiceFunctions(inLanguage)
	{
	var lang_ServiceFunctions = new Array();
		lang_ServiceFunctions["uk_UA"]="uk";
		lang_ServiceFunctions["UKR"]="uk";
		lang_ServiceFunctions["ENG"]="en";
		lang_ServiceFunctions["RUS"]="ru";
		lang_ServiceFunctions["uk"]="uk";
		lang_ServiceFunctions["ua"]="uk";
		lang_ServiceFunctions["en"]="en";
		lang_ServiceFunctions["ru"]="ru";
		lang_ServiceFunctions["UA"]="uk";
		lang_ServiceFunctions["UK"]="uk";
		lang_ServiceFunctions["EN"]="en";
		lang_ServiceFunctions["RU"]="ru";

	return lang_ServiceFunctions[inLanguage];
	}



	/* open new window with webassistent */
	function openWebassistant(inInfo)
	{
		var params2 = "width=564,height=510,toolbar=no,location=no,directories=no,scrollbars=yes,status=no,menubar=no,resizable=no";

		myurl="http://servicefunctions.bosch.com/user/webassistant/search.asp?country=ua&lang="+getLang_ServiceFunctions(current_language);
     		window.open(myurl, "webassi", params2);
	}
	
	/* get query from webassistant-form and call openWebassistent */
	function getWebQuery(){
		if (document.forms.webassistant.webassistant.value != "") {
			var query = document.forms.webassistant.webassistant.value;
			openWebassistant(query);
		}
		else {
			openWebassistant();
		}
	}
	
	
	/* open new window with myBosch */
	function openMyBosch(){
		myurl = getObject(current_language).myboschloader_url;
		if ((typeof(myurl) != "undefined") && (myurl != '')) {
			myurl = convertUrl(myurl) + "?language="+current_language+ "&path=" + escape(getObject(current_language).mybosch_url);
			window.open(myurl,'mybosch',myBoschParams);
		}
	}
	
	/* open new window with contact */
	/*function openContact(gb,option1,option2,option3,email)
	{
		var params = "width=565,height=510,toolbar=no,location=no,directories=no,scrollbars=no,status=no,menubar=no,resizable=no";
		myurl="http://servicefunctions.bosch.com/user/contactdealer/index.asp?country=ua&lang="+getLang_ServiceFunctions(current_language)+"&app=contact";
    		window.open(myurl, "contact", params);
	}*/
	
	/* open new window with imprint */
	function openImprint(){
			myurl = getObject(current_language).imprint_url;
			if ((typeof(myurl) != "undefined") && (myurl != '')) {
		   		window.open(convertUrl(myurl), "imprint", imprintParams);  
			}
	}
	
	
/*###########################################################*/
/*         			netscape resize -function				 */
/*###########################################################*/

	/* reload page by resizing */
	function netscapeResizeFix ()
	{
		if (typeof (ns_origWidth) != "number" || typeof (ns_origHeight) != "number") return;
		if (innerWidth != ns_origWidth || innerHeight != ns_origHeight) location.reload();
	}

	
/*###########################################################*/
/*         			write header -function					 */
/*###########################################################*/
	
	/* writes header in document */
	function writeHeader(){
		self.name="bosch";
		checkLangAndArr();
		document.write(getHeader());
		
		// store window size for Netscape 4.x resize fix
		if (navigator.appName == "Netscape")
		{
			var ver = parseInt (navigator.appVersion);
			if (ver == 4){
				ns_origWidth = innerWidth;
				ns_origHeight = innerHeight;
				onresize = netscapeResizeFix;
			}
		}
	}


//writeHeader();
