var param_mybosch_location = "http://www.bosch.de/start/de/scripts/windows/mybosch/"; 
//url to suppliers jsp startpage
var param_sources_location = "http://fe0wap37.bosch.de/supplier_de/user/index.jsp";
//url to contact jsp startpage
var param_contact_location = "http://fe0wap37.bosch.de/contact_de/user/index.jsp";
//url to webassistant root folder
var param_webassist_location = "http://app1.internetwork-bosch.com/webapp/wakobeq/webassistent/index.jsp";

var param_impressum_location = "http://www.bosch.de/start/";
var params = "width=438,height=410,toolbar=no,location=no,directories=no,scrollbars=no,status=no,menubar=no,resizable=no";
var params1 = "width=438,height=408,toolbar=no,location=no,directories=no,scrollbars=no,status=no,menubar=no,resizable=no";
var params2 = "width=438,height=410,toolbar=no,location=no,directories=no,scrollbars=no,status=no,menubar=no,resizable=no";

/*var params = "width=565,height=498,toolbar=no,location=no,directories=no,scrollbars=no,status=no,menubar=no,resizable=no";
var params1 = "width=438,height=408,toolbar=no,location=no,directories=no,scrollbars=no,status=no,menubar=no,resizable=no";
var params2 = "width=564,height=498,toolbar=no,location=no,directories=no,scrollbars=no,status=no,menubar=no,resizable=no";*/

var params3 = "width=564,height=498,toolbar=no,location=no,directories=no,scrollbars=no,status=no,menubar=no,resizable=no";

var gb="";
var email="";

var languageMapping = new Array();
languageMapping["DEU"]="de_DE";
languageMapping["ENG"]="en_US";

function displayDate(inStyle) {
    if(typeof(inStyle)=="undefined")inStyle="DAN";
	switch (inStyle){
		case "DK":
			inStyle="da";
			break;
		case "DAN":
			inStyle="da";
			break;
		case "DA":
			inStyle="da";
			break;
	}
}


function openMyBosch(){
   //window.open(param_mybosch_location+'loadmb.htm','regis',params3);
   var theLanguage=curLanguage.substr(0,2);//nur bis WA Parser steht
   window.open('http://www.bosch.de/start/'+theLanguage+'/scripts/windows/mybosch/loadmb2.htm','mybosch',params3);
}
function openWebassistant(inInfo){
     	if (typeof(inInfo) != "string") inInfo = "";
     	myurl = param_webassist_location;
     	var theLanguage=curLanguage.substr(0,2);//nur bis WA Parser steht
     	myurl = myurl + "?query="+escape(inInfo)+"&gb="+gb+"&eb=&lang="+theLanguage;
     	window.open(myurl, "webassi", params2);
}

function openSource(){
    	path = param_sources_location;
     	var theLanguage=curLanguage.substr(0,2);//nur bis WA Parser steht
     	myurl = path+'?gb='+gb+'&lang='+theLanguage+'&product=';
     	window.open(myurl, "Supplier", params3);
}

function openContact(){
    	var theLanguage=curLanguage.substr(0,2);//nur bis WA Parser steht
    	path = param_contact_location;
     	myurl = path+'?gb='+gb+'&lang='+theLanguage+'&option1=&option2=&email='+email+'&product=&src=';     
    	window.open(myurl, "Contact", params3);
}
function openImpressum(){
		var theLanguage=curLanguage.substr(0,2);
		path = param_impressum_location;
		myurl = path+theLanguage+"/scripts/windows/impressum/impressum_c.htm";
   	window.open(myurl, "imprint", params1);  
}


function getWebQuery(){
	if (document.forms.webassistant.webassistant.value != "") {
		var query = document.forms.webassistant.webassistant.value;
		openWebassistant(query);
	}
	else {
		openWebassistant();
	}
} 

function getLocale(inLanguage){
	return languageMapping[inLanguage];
}


function urlEncode(rawText){
      // this converts the rawText into x-www-form-urlencoded format (and space to "%20")
      var encoded = "";
      for(var n=0; n<rawText.length; n++) {
        var c=rawText.charCodeAt(n);
        // all chars in range 0-127 => 1byte   without (A-Z, a-z, 0-9, *, -, ., _)
        if (c<128) {
            if ((c >= 65 && c <= 90) || (c >= 97 && c <= 122) || (c >= 48 && c <= 57) || (c==42) || (c==45) || (c==46) || (c==95))
                encoded += String.fromCharCode(c);
            else 
                encoded += '%' + c.toString(16);
        }
        // all chars in range 127 to 2047 => 2byte
        else if((c>127) && (c<2048)) {
          encoded += '%' + ((c>>6)|192).toString(16);
          encoded += '%' + ((c&63)|128).toString(16);
        }
        // all chars in range 2048 to 66536 => 3byte
        else {
          encoded += '%' + ((c>>12)|224).toString(16);
          encoded += '%' + (((c>>6)&63)|128).toString(16);
          encoded += '%' + ((c&63)|128).toString(16);
        }
      }
      return encoded;
    }
	
function utf8Encode (str) {
	    //this converts the str into hexadecimal-unicode format (\uXXXX) - utf-8-encoded
      len = str.length; 
      res = new String(); 
      charOrd = new Number(); 
     
      for (i = 0; i < len; i++) { 
        charOrd = str.charCodeAt(i); 
        if ((charOrd >= 65 && charOrd <= 90) || (charOrd >= 97 && charOrd <= 122) || (charOrd >= 48 && charOrd <= 57) || (charOrd == 33) || (charOrd == 36) || (charOrd == 95)) { 
            // das ist alphanumeric oder $-_.+!*'(), was laut RFC1738 nicht escape wird
            res += str.charAt(i); 
        } 
        else { 
          if (charOrd > 255) {
				    res += '\\u'; 
				    hexValStr = charOrd.toString(16); 
            if ((hexValStr.length) % 2 == 1) hexValStr = '0' + hexValStr; 
			    }else{
				    if (charOrd>=128){
					    if(charOrd<=191){
						    res += '%C2%';
					    }else{
						    res += '%C3%';
						    charOrd-=64;
					    }		
				    }else{
					    res+='%';
				    }
				    hexValStr = charOrd.toString(16); 
            if ((hexValStr.length) % 2 == 1) hexValStr = '0' + hexValStr; 
			    }         
          res += hexValStr; 
        } 
      } 
      return res; 
    }