
// Globale Javascript-Funktionen

function CheckposZahl(Zahl,Feld)
{ if(Zahl.search(/\D/)>-1) { 
	alert('Im Feld <'+Feld+'> können nur ganze Zahlen größer 0 eingegeben werden!');
	Zahl='';
  } return Zahl;
}

function CheckposZahlSternchen(Zahl,Feld)
{ 
  if(Zahl!=''){
    if(Zahl!="*****"){
      if(Zahl.search(/\D/)>-1) { 
      alert('Im Feld <'+Feld+'> können nur ganze Zahlen größer 0 eingegeben werden!');
      Zahl='';
      }
    }
  }
  return Zahl;
}

function CheckForDigits(feldinhalt,Feld)
{ 
	if(feldinhalt!='')
  { 
		if(isNaN(feldinhalt)==true)
    {
			alert('Im Feld <'+Feld+'> können nur Zahlen eingegeben werden!');
      feldinhalt='';
    }
	}
	return feldinhalt;
}


function CheckForDigitsSternchen(feldinhalt,Feld)
{ 
	if(feldinhalt!='')
  { 
    if(feldinhalt!="*****"){
      if(isNaN(feldinhalt)==true){
        alert('Im Feld <'+Feld+'> können nur Zahlen eingegeben werden!');
        feldinhalt='';}
    }
	}
	return feldinhalt;
}

function CheckEmail(feldinhalt,Feld)
{
  var a=false;
  var res=false;

  if(feldinhalt!='')
  {
    if(typeof(RegExp)=='function')
    {
      var b=new RegExp('abc');
      if(b.test('abc')==true){a=true;}
    }
    if(a==true)
    {
      reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+
                       '(\\@)([a-zA-Z0-9\\-\\.]+)'+
                       '(\\.)([a-zA-Z]{2,4})$');
      res = (reg.test(feldinhalt));
    }
    else
    {
      res = (feldinhalt.search('@') >= 1 &&
             feldinhalt.lastIndexOf('.') > feldinhalt.search('@') &&
             feldinhalt.lastIndexOf('.') >= feldinhalt.length-5)
    }
    if(res==false)
    {
      alert('Feld <'+Feld+'>: Keine gültige Email-Adresse!');
      feldinhalt='';
    }
  }
	return feldinhalt;
}


function CheckEmailAnlagennummer(feldinhalt,Feld)
{
  if(feldinhalt.search(/\D/)>-1)
  {
    if(feldinhalt.search('@') >= 0){feldinhalt=CheckEmail(feldinhalt,Feld);}
    else{alert('Feld <'+Feld+'>: Keine gültige Anlagennummer bzw. Email-Adresse!'); feldinhalt='';}
  }
  return feldinhalt;
}


function CheckPassword(feldinhalt,Feld)
{
  if(feldinhalt!='')
  {
    if(feldinhalt.length < 5)
      {alert('Feld <'+Feld+'>: Für das Passwort mindestens 5 Zeichen verwenden!'); feldinhalt='';}
  }
  return feldinhalt;
}


function CheckPasswordConfirmation(feldinhalt,feldinhalt2,Feld)
{
  // BSP: onBlur mit Übergabe des Wertes eines zweiten Feldes
  if(feldinhalt!=feldinhalt2)
    {alert('Feld <'+Feld+'>: Passwort und Passwort-Bestätigung stimmen nicht überein!'); feldinhalt='';}
  return feldinhalt;
}


// Formular mit index, statt mit namen ansprechen
function FunktionAbschickenLogin2()
{
  var err=0;
  var errMsg="";

  // Pflichtfelder erzwingen
  errMsg = "Fehler:\n\n";
  if(document.forms.LOGIN.email.value==""){errMsg+="- Feld 'E-Mail Adresse' leer \n"; err++;}
  if(document.forms.LOGIN.pw.value==""){errMsg+="- Feld 'Passwort' leer \n"; err++;}

  // Wenn ertes Feld "not a number", dann handelt es sich um eine anmeldung mit email-adresse und passwort (neu).
  // Sonst ist es eine anmeldung mit anlagen-nummer und pin (wie bisher).
  if(isNaN(document.forms.LOGIN.email.value))
  {
    if(document.forms.LOGIN.pw.value.length < 5){errMsg+="- Passwort ungültig: Das Passwort muss aus mindestens 5 Zeichen bestehen. \n"; err++;}
    document.forms.LOGIN.action="/kundenzone/begruessung.php";
  }
  else
  {
    document.forms.LOGIN.anr.value = document.forms.LOGIN.email.value;
    document.forms.LOGIN.pin.value = document.forms.LOGIN.pw.value;
    document.forms.LOGIN.action="/kundenzone/strom-02.php";
  }
  if(err==0){return true;}
  else{alert(errMsg); return false;}
}


function FunktionPopup(theURL,winName,features)
{
  //alert(theURL);
  window.open(theURL,winName,features);
}

function CheckEmailStromWasserGetElement (formname, feld) {
  return document.forms[formname].elements[feld];
}

function CheckEmailStromWasser(formname,feld1,feld2,feld3)
{
  var rv;
  var err=0;
  emailString = CheckEmailStromWasserGetElement(formname, feld1).value;

  if(emailString.length > 0)
  {
	  rv = emailString.indexOf("@");
    if( rv == -1)
    {
      alert ("Ungültige Email-Adresse");
      err++;
    }
  }
  if (CheckEmailStromWasserGetElement(formname, feld1).value == "")
  {
    if(CheckEmailStromWasserGetElement(formname, feld2).checked == true)
    {
      alert ("Feld '"+feld3+"':\nGeben Sie bitte Ihre Email-Adresse an, oder schalten Sie die Checkbox 'Info per E-Mail' ab.\n");
      err++;
    }
  }
  if(err > 0) return false;
  else return true;
}


function CheckEmailStromWasser2(type)
{
  var rv1=true;
  var rv2=true;
  var formname = type + "ZaehlerstandBekanntgabe";
  rv1=CheckEmailStromWasser(formname, 'email1','email1_cb','E-Mail 1');
  rv2=CheckEmailStromWasser(formname, 'email2','email2_cb','E-Mail 2');
  if(rv1&&rv2) return true;
  else return false;
}


// Objekt als Parameter, um ein 'call by reference' zu realisieren (geht in Javascript nur mittels Objekt!)
function CheckEmailCheckbox(err,formname,feld1,feld2,feldname1,feldname2,theObject)
{
  //alert(err+" "+formname+" "+feld1+" "+feld2+" "+feldname1+" "+feldname2+" "+theObject);
  if(document.forms[formname][feld1].value == "")
  {
    if(document.forms[formname][feld2].checked == true)
    {
      theObject.msg += "- Feld '"+feldname1+"': Geben Sie bitte Ihre Email-Adresse an, oder schalten Sie die Checkbox '"+feldname2+"' ab.\n";
      //alert(theObject.msg)
      err++;
    }
  }
  return err;
}


// Objekt als Parameter, um ein 'call by reference' zu realisieren (geht in Javascript nur mittels Objekt!)
function CheckEmailCheckbox2(err,formname,feld1,feld2,feldname1,feldname2,theObject)
{
  //alert(err+" "+formname+" "+feld1+" "+feld2+" "+feldname1+" "+feldname2+" "+theObject);
  if(document.forms[formname][feld1].value == "0")
  {
    if(document.forms[formname][feld2].checked == true)
    {
      theObject.msg += "- Feld '"+feldname2+"': Rechnung per E-Mail ist nur bei folgenden Zahlungsarten möglich: Einziehungsauftrag oder Dauerauftrag \n";
      theObject.msg += "  Schalten Sie bitte die Checkbox '"+feldname2+"' ab.\n";
      //alert(theObject.msg)
      err++;
    }
  }
  return err;
}


function FunktionAbschickenBankeinzug()
{
  var err=0;

  // Objekt erstellen
  errMsg = {msg:"Fehler:\n"}

  // Bankeinzug: Entweder alles leer lassen, oder alles ausfüllen
  if((document.forms.BANKE.bankblz.value=="")&&
     (document.forms.BANKE.bankkto.value=="")&&
     (document.forms.BANKE.bankname.value==""))
  {
    document.forms.BANKE.bankblz.value=0;
    document.forms.BANKE.bankkto.value=0.0;
    document.forms.BANKE.bankname.value="";
  }
  else
  {
    if(document.forms.BANKE.bankblz.value=="")
      {errMsg.msg += "- Feld 'Bankleitzahl' ausfüllen \n"; err++;}
    if(document.forms.BANKE.bankkto.value=="")
      {errMsg.msg += "- Feld 'Kontonummer' ausfüllen \n"; err++;}
    if(document.forms.BANKE.bankname.value=="")
      {errMsg.msg += "- Feld 'Name des Kontoinhabers' ausfüllen \n"; err++;}
  }

  if(err==0)
  {
    document.forms.BANKE.bankeinzug.value=1;
    //alert(document.forms.BANKE.bankeinzug.value);
    return true;
  }
  else{alert(errMsg.msg); return false;}
}

// eof
