/* static\de\function.js */
/**
* Helper functions for storefront
* $RCSfile$
* $Author$
* $Revision$ - $Date$
*
* Diese Datei ist 3x vorhanden, (DE/CH/AT); Postleitzahlüberprüfung abweichend
*/


function DecodeString(wert) {
	var result = wert;
	var maxi = result.length;
	var i = 0;
	while ((result.search("&") != -1) && (i < maxi)) {
		result = result.replace(/\&nbsp\;/," ");
		result = result.replace(/\&auml\;/,"ä");
		result = result.replace(/\&Auml\;/,"Ä");
		result = result.replace(/\&ouml\;/,"ö");
		result = result.replace(/\&Ouml\;/,"Ö");
		result = result.replace(/\&uuml\;/,"ü");
		result = result.replace(/\&Uuml\;/,"Ü");
		result = result.replace(/\&szlig\;/,"ß");
		result = result.replace(/\&raquo\;/,"»");
		result = result.replace(/\&laquo\;/,"«");
		result = result.replace(/\&frac12\;/,"½");
		result = result.replace(/\&frac14\;/,"¼");
		result = result.replace(/\&frac34\;/,"¾");
		result = result.replace(/\&quot\;/,"");
		result = result.replace(/\&ordm\;/,"°");
		result = result.replace(/\&rdquo\;/,"");
		result = result.replace(/\&ldquo\;/,"");
		result = result.replace(/\&acute\;/,"´");
		result = result.replace(/\&amp\;/,"&");
		result = result.replace(/\&ecirc\;/,"ê");
		result = result.replace(/\&eacute\;/,"é");
		result = result.replace(/\&egrave\;/,"è");
		result = result.replace(/\&euml\;/,"ë");
		result = result.replace(/\&agrave\;/,"à");
		result = result.replace(/\&aacute\;/,"á");
		result = result.replace(/\&acirc\;/,"â");
		result = result.replace(/\&Oslash\;/,"Ø");
		result = result.replace(/\&\#150\;/,"-");
		result = result.replace(/\&\#151\;/,"-");
		i++;
	}
	return result;
}

// fuer Filialseiten
function PopUpNoFrames(breite,hoehe,Ziel) {
	options ="width="+breite+",height="+hoehe+",toolbar=no,locationbar=no,directories=no,scrollbars=yes,status=yes,menubar=no,resizable=no";
	popup = open(Ziel,'PopUp',options);
}

function OpenPopUpZoom(breite,hoehe,Ziel) {
	breite = parseInt(breite, 10) + 30;
	if (screen.height>=700) {
		hoehe = eval(hoehe*1 + 13);
	}
	options ="width="+breite+",height="+hoehe+",toolbar=no,locationbar=no,directories=no,scrolling=yes,scrollbars=yes,status=yes,menubar=no,resizable=no";
	//alert(options);
	popup = open(Ziel,'PopUp',options);
}

function OpenPopUpScroll(breite,hoehe,Ziel) {
	options ="width="+breite+",height="+hoehe+",toolbar=no,locationbar=no,directories=no,scrollbars=auto,status=yes,menubar=no,resizable=no";
	popup = open(Ziel,'PopUp',options);
}

function openPopupGlossar(url, fenster)
{
	var pop_gl;

	if(pop_gl) {
	  if(!pop_gl.closed) {
	    pop_gl.close();
	  }
	}
	options ="width=370,height=380,left=10,top=0,resizable=no";
	var template = "glossar/popup_terms/popup_" + fenster;
	Ziel = url + "?Template=" + template;
	pop_gl = open(Ziel,'PopUp',options);
	pop_gl.focus();
}

/* open variable popup windows */
function openWin(url,name,paramList) {
	name0 = window.open(url,name,paramList);
	name0.focus();
}

function autoTab(input,len, e) {
	var isNN = (navigator.appName.indexOf("Netscape")!=-1);
	var keyCode = (isNN) ? e.which : e.keyCode; // distinguish between netscape and ie events
	var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
	if(input.value.length >= len && !containsElement(filter,keyCode)) {
		input.value = input.value.slice(0, len);
		input.form[(getIndex(input)+1) % input.form.length].focus();
	}
	function containsElement(arr, ele) {
		var found = false, index = 0;
		while(!found && index < arr.length)
		if(arr[index] == ele)
			found = true;
		else
			index++;
		return found;
	}
	function getIndex(input) {
		var index = -1, i = 0, found = false;
		while (i < input.form.length && index == -1)
		if (input.form[i] == input)index = i;
		else i++;
			return index;
	}
	if(keyCode == 13)
		checkLogin();
	else
		return true;
}

function checkLogin()
{
	var login = document.LoginForm.LoginForm_Login.value;
	var okay = login.search(/\D/);
	var day = document.LoginForm.LoginForm_Day.value.search(/\D/);
	var month = document.LoginForm.LoginForm_Month.value.search(/\D/);
	var year = document.LoginForm.LoginForm_Year.value.search(/\D/);

	if (login.length!=8){
		alert("Bitte überprüfen Sie, ob Sie Ihre Kundennummer korrekt und 8-stellig eingegeben haben.");
		document.LoginForm.LoginForm_Login.focus();}
	else if(okay != -1){
 		alert("Die Kundennummer darf nur Ziffern enthalten");
 		document.LoginForm.LoginForm_Login.focus();}
 	else if(document.LoginForm.LoginForm_Day.value.length != 2){
 		alert("Bitte geben Sie den Tag 2-stellig (z.B. 05) ein.");
 		document.LoginForm.LoginForm_Day.focus();}
 	else if(day != -1){
 		alert("Bitte geben Sie den Tag 2-stellig mit Ziffern (z.B. 05) ein.");
 		document.LoginForm.LoginForm_Day.focus();}
 	else if((parseInt(document.LoginForm.LoginForm_Day.value, 10)<1) || (parseInt(document.LoginForm.LoginForm_Day.value, 10)>31)){
 		alert("Bitte geben Sie als Tag eine Zahl zwischen 01 und 31 ein!");
 		document.LoginForm.LoginForm_Day.focus();}
 	else if(document.LoginForm.LoginForm_Month.value.length != 2){
 		alert("Bitte geben Sie den Monat 2-stellig (z.B. 03) ein.");
 		document.LoginForm.LoginForm_Month.focus();}
 	else if(month != -1){
 		alert("Bitte geben Sie den Monat 2-stellig mit Ziffern (z.B. 03) ein.");
 		document.LoginForm.LoginForm_Month.focus();}
	else if((parseInt(document.LoginForm.LoginForm_Month.value, 10)<1) || (parseInt(document.LoginForm.LoginForm_Month.value, 10)>12)){
 		alert("Bitte geben Sie als Monat eine Zahl zwischen 01 und 12 ein!");
 		document.LoginForm.LoginForm_Month.focus();}
	else if(document.LoginForm.LoginForm_Year.value.length != 4){
 		alert("Bitte geben Sie das Jahr 4-stellig (z.B. 1967) ein.");
 		document.LoginForm.LoginForm_Year.focus();}
	else if(year != -1){
 		alert("Bitte geben Sie das Jahr 4-stellig in Ziffern (z.B. 1967) ein.");
 		document.LoginForm.LoginForm_Year.focus();}
	else if(document.LoginForm.LoginForm_Year.value < 1850){
		alert("Bitte geben Sie eine sinvolle Jahreszahl ein!");
 		document.LoginForm.LoginForm_Year.focus();}
	else
		//alert("submit");
		document.LoginForm.submit();
}

// for Netscape, IE and webtool - tester
// Checks for Return Key Code
function TasteGedrueckt(Ereignis){

	var Netscape = new Boolean();
	if(navigator.appName == "Netscape"){
		Netscape = true;}

	if(Netscape == true){
	 	if(Ereignis.which == 13){	// if Return was pressed, call checkLogin()
	  		checkLogin();			// for field checking and submit
		}
	} else {
		if ( window.event ) {		// check for IE
			if ( event.keyCode == 13 ) {
				checkLogin();
			}
		}
	}
}

// remove leading and ending blanks e.g. to check for invalid input
function clearSpaces(str){
	while(str.charAt(0)==' ')
	{
		str = str.substr(1, str.length)
	}
	while (str.charAt( str.length -1 ) == ' ')
	{
		str = str.substr(0, (str.length) -1);
	}
	return str;
}



// check common WebForm Elements FirstName, LastName, Street, PostalCode and City
// for at least 1 character and PostalCode for 5 digits.
// Pass the form object with checkAddressParameter(document.<FormName>)
// return true or false for further specific checks or actions.
function checkAddressParameters(form) {

	// get webform-id because WebForm doesn't need to have the same name like the id
	var webformid = "";
	for (var i=0;i<form.length;i++){
		if(form.elements[i].name == "webform-id")
			webformid = form.elements[i].value;
	}

	var error = new Boolean(false);
    for (var i=0;i<form.length;i++){
		if(     (form.elements[i].name == webformid+"_FirstName" )
			 && (clearSpaces(form.elements[i].value) == "") ){
			 	alert("Bitte geben Sie einen Vornamen ein!");
			 	error = true;
			 	form.elements[i].focus();
		}
		else if((form.elements[i].name == webformid+"_LastName" )
			 && (clearSpaces(form.elements[i].value) == "") ){
			 	alert("Bitte geben Sie einen Nachnamen ein!");
			 	error = true;
			 	form.elements[i].focus();
		}
		else if((form.elements[i].name == webformid+"_Street" )
			 && (clearSpaces(form.elements[i].value) == "") ){
			 	alert("Bitte geben Sie eine Straße ein!");
			 	error = true;
			 	form.elements[i].focus();
		}
		else if((form.elements[i].name == webformid+"_Street" )
		 	 && (checkPackstation(clearSpaces(form.elements[i].value.toLowerCase())) == true )){
				alert('Aus technischen Gründen kann leider nicht an eine Packstation geliefert werden.');
			 	error = true;
		    form.elements[i].focus();
		}
		else if((form.elements[i].name == webformid+"_City" )
			 && (clearSpaces(form.elements[i].value) == "") ){
			 	alert("Bitte geben Sie einen Ort ein!");
			 	error = true;
			 	form.elements[i].focus();
		}
		else if(form.elements[i].name == webformid+"_PostalCode" ){
			 if (clearSpaces(form.elements[i].value) == "") {
			 	alert("Bitte geben Sie eine Postleitzahl ein!");
			 	error = true;
			 	form.elements[i].focus();
			 } else {
				if ((form.elements[i].value.search(/\d{5}/)) == -1 ){
					alert("Die Postleitzahl muss 5 Ziffern enthalten!");
					error = true;
					form.elements[i].focus();
				}
			 }
    	}
    	if (error == true){
    		break;
    	}
    }

	if (error != true){
		return true;
	} else {
		return false;
	}
}

  function getCookieFirstName() {
      var cookieFName = "SSM_FName";
      var prefixFName = cookieFName + "=";
      var myCookie = "cookie";
      if (document.cookie) { myCookie = document.cookie; }
      var beginFName = myCookie.indexOf(prefixFName);
      var endFName;
      var vFName;

      if (beginFName != -1) {
        var tmp = myCookie.substring(beginFName + prefixFName.length);
        if(tmp.indexOf(';') != -1) {endFName = beginFName + prefixFName.length + tmp.indexOf(';');} else {endFName = myCookie.length;}
        vFName = unescape(myCookie.substring(beginFName + prefixFName.length, endFName));
      } else {
        vFName = "";
      }
      return vFName;
  }

  function getCookieLastName() {
      var cookieLName = "SSM_LName";
      var prefixLName = cookieLName + "=";
      var myCookie = "cookie";
      if (document.cookie) { myCookie = document.cookie; }
      var beginLName = myCookie.indexOf(prefixLName);
      var endLName;
      var vLName;

      if (beginLName != -1) {
        var tmp = myCookie.substring(beginLName + prefixLName.length);
        if(tmp.indexOf(';') != -1) {endLName = beginLName + prefixLName.length + tmp.indexOf(';');} else {endLName = myCookie.length;}
        vLName = unescape(myCookie.substring(beginLName + prefixLName.length, endLName));
      } else {
        vLName = "";
      }
      return vLName;
  }

  // remove Cookie FirstName and LastName.
  function removeCookieFirstNameAndLastName() {
    var cookieFName = "SSM_FName";
    var prefixFName = cookieFName + "=";
    var myCookie = document.cookie;
    var beginFName  = myCookie.indexOf("; " + prefixFName);
    var NewName = '';
    var new_cookie  = cookieFName + "=" + escape(NewName) + "; path=/";
    document.cookie = new_cookie;

    var cookieLName = "SSM_LName";
    var prefixLName = cookieLName + "=";
    var myCookie = document.cookie;
    var beginLName  = myCookie.indexOf("; " + prefixLName);
    var NewName = '';
    var new_cookie  = cookieLName + "=" + escape(NewName) + "; path=/";
    document.cookie = new_cookie;
  }

// Check an EMail value and ask if the user really wants to use umlauts
function confirmEMail(email){
	var counter = 0;
	for(i=0;i < email.length;i++){
		if( ((email.charAt(i)).toLowerCase() == "ö" )
		|| ((email.charAt(i)).toLowerCase() == "ä" )
		|| ((email.charAt(i)).toLowerCase() == "ü" )
		|| (email.charAt(i) == "ß" ) ){
			counter++;
		}
	}
	if(counter==0){
		return true;
	} else {
		return(confirm("Ihre E-Mail Eingabe enthält Umlaute.\nWollen Sie wirklich diese E-Mail-Adresse verwenden?"));
	}
}

// some check functions using regular expressions
	function checkEmailForm( s ) {
		  var reg = /^\d*$|([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
		  var ok = reg.exec(s);
		  return ok;
	}

/* functions setCookieFirstName and setCookieLastName use in Template, NOT here !!! */

// functions for Agnitas Shopmessung
var AgnLMArrLen = 10;
var AgnLMimg = new Array(AgnLMArrLen);
var AgnLMArrPos = 0;
function setAgnitasLM( action, pagetag, attributes ) {
AgnLMimg[ AgnLMArrPos ] = new Image();
var URL = "https://www.ssl-einkaufen.de/g.do?action=" + action + "&ci=28&pagetag=" + pagetag;
if ( attributes ) URL = URL + attributes;
AgnLMimg[ AgnLMArrPos++ ].src = URL;
if ( AgnLMArrPos == AgnLMArrLen ) AgnLMArrPos = 0;
//alert( "Lm set: " + URL );
}
// Ende: functions for Agnitas Shopmessung

function logout() {
	var confirmLogout = confirm("Wollen Sie sich wirklich abmelden?");
	if(confirmLogout == true)
		location.href="#URL(Action('SPM_ViewMyAccount-Logout'))#";
}


function swapImages(sImgname, sOtherImgname){
	sImgname.src=sOtherImgname.src;
}

function checkPackstation(street){
	//street = document.NewAddressBookForm.NewAddressBookForm_Street.value;
	street = street.toLowerCase();
	var pack = new Boolean(false);
	if(street.indexOf("packstation")!= -1)
		pack = true;
	if(street.indexOf("ackstation")!= -1)
		pack = true;
	if(street.indexOf("packstatio")!= -1)
		pack = true;
	if(street.indexOf("pakstation")!= -1)
		pack = true;
	if(street.indexOf("pacstation")!= -1)
		pack = true;
	if(street.indexOf("akstation")!= -1)
		pack = true;
	if(street.indexOf("ackstatio")!= -1)
		pack = true;
	if(street.indexOf("akstatio")!= -1)
		pack = true;
	if(street.indexOf("akstation")!= -1)
		pack = true;
	if(street.indexOf("pkstation")!= -1)
		pack = true;
	if(street.indexOf("pckstation")!= -1)
		pack = true;
	if(street.indexOf("packtation")!= -1)
		pack = true;
	return pack;
}
