// Leerzeichen am Anfang und Ende von Formulareingabefelder abschneiden (=Trim bei ASP)
function Trim(item)
  {
  var tmp = "";
  var item_length = item.value.length;
  var item_length_minus_1 = item.value.length - 1;
  for (index = 0; index < item_length; index++)
    {
    if (item.value.charAt(index) != ' ')
      {
      tmp += item.value.charAt(index);
      }
    else
      {
      if (tmp.length > 0)
        {
        if (item.value.charAt(index+1) != ' ' && index != item_length_minus_1)
          {
          tmp += item.value.charAt(index);
          }
        }
      }
    }
  item.value = tmp;
  }
  
function isANumber(n){ // auch führende Null möglich
   var s = "" + n; //Umwandlung in eine Zeichenkette
   var ziffern = "0123456789"; //Gültige Zeichen
   for (var i=0; i<s.length; i++)
      if (ziffern.indexOf(s.charAt(i))==-1) //keine Ziffer
         return false;
   return true;
}	

function isAlpha(str)
{
	reg_ex_FName=/^[a-zA-ZäÄüÜöÖß.\-´\s]*$/;
	if(reg_ex_FName.test(str)) {return true;}else{return false;}
}

function isStreet(str)
{
	reg_ex_FName=/^[0-9a-zA-ZäÄüÜöÖß.\-´\s]*$/;
	if(reg_ex_FName.test(str)) {return true;}else{return false;}
}

function leavePostcode(plz,formular,check) {
	//alert(plz.value + " x "+ formular);
	Trim(plz);
	var str = plz.value;
	
	if(str.length==0 && check==false)
	{
		return true;
	}
	else
	{
	    if ( (str.length < 5) || (!isANumber(str)) ) {
	        alert("Bitte eine 5 stellige Postleitzahl eingeben");
		formular.street.focus();//Focus erst vom Feld weg, da er sonst keinen Focus setzen kann!
		//formular.postcode.focus();
		plz.select();
		//document.forms['stromvertragStep1'].elements['postcode'].focus();
		return false;
		alert("hier");
		}
		else if ((check==false) && formular.eh_done.value!='1') {
			formular.eh_id.value='1'; // PLZ gesetzt
			formular.eh_check.value='1';
			//alert(plz);
			formular.submit();
		} else {return true;}
		
	}
}


function leaveCity(city,formular,check) {
	
	Trim(city);
	var str = city.value;
	if(str.length==0 && check==false)
	{
		return true;
	}
	else
	{
	    if ( (str.length < 3) || (!isAlpha(str)) ) {
	        	alert("Bitte einen Ort mit mindestens 3 Buchstaben eingeben.");
			document.stromvertragStep1.street.focus();//Focus erst vom Feld weg, da er sonst keinen Focus setzen kann!
			city.focus();
			return false;
		} else if((check==false) && formular.eh_done.value!='1'){
			formular.eh_id.value='2'; // Ort gesetzt
			formular.eh_check.value='1';
			
			formular.submit();
		} else {return true;}
	}
}

function leaveStreet(street,formular,check) {
	if(!leavePostcode(document.stromvertragStep1.postcode,formular,true)) return false; // Wenn Straße eingegeben, aber noch keine PLZ gewählt, dann dazu auffordern! Ansonsten weiter in der Prüfung
	
	Trim(street);
	var str = street.value;
	if(str.length==0 && check==false)
	{
		return true;
	}
	else
	{
	    if ( (str.length < 2) || (!isStreet(str))) {
	        alert("Bitte eine Straße mit mindestens 2 Zeichen eingeben."+street.value+".");
			document.stromvertragStep1.postcode.focus();//Focus erst vom Feld weg, da er sonst keinen Focus setzen kann!
			street.focus();
			return false;
		} else if((check==false) && formular.eh_done2.value!='1'){
			formular.eh_id.value='3'; // Straße gesetzt
			formular.eh_check.value='1';
			formular.submit();
		} else {return true;}
	}
}

function checkform(formular)
{
	if(document.stromvertragStep1.eh_id=='1' || document.stromvertragStep1.eh_id=='2' || document.stromvertragStep1.eh_id=='3')
	{
		return true; // Wenn Check aus PLZ, Ort oder Str.-Feld heraus geschehen, dann Submit zulassen
	}
	else // Prüfen, ob PLZ, Ort und Strasse den formellen Anforderungen entsprechen
	{
		doSubmit=true;
		doSubmit=leavePostcode(document.stromvertragStep1.postcode,document.stromvertragStep1,true);
		if(doSubmit==false) {return doSubmit;} else { document.stromvertragStep1.eh_id.value='1';}
		doSubmit=leaveCity(document.stromvertragStep1.city,document.stromvertragStep1,true);
		if(doSubmit==false) {return doSubmit;} else { document.stromvertragStep1.eh_id.value='2';};
		doSubmit=leaveStreet(document.stromvertragStep1.street,document.stromvertragStep1,true);
		if(doSubmit==false) {return doSubmit;} else { document.stromvertragStep1.eh_id.value='3';};
		return doSubmit;	
	}
}

