function specialCopyFieldsAndSubmit(vlayer,vformno){
  if (document.layers) theform=document.layers[vlayer].document.forms[vformno];
  else theform=document.forms[vformno];
  
  ret=checkAndSubmit(theform);
  if (ret==false) {}
  else {
    if ((theform.txtKpersdatasheet.value=="")&&((theform.txtKcurrentjob.value=="")||(theform.txtKeducation.value==""))){
     alert("Bitte spezifizieren Sie Ihre jetzige Ausbildung und bisherigen Tätigkeiten in den dafür vorgesehenen Eingabefeldern oder durch einen Dateiupload.");
     ret=false;
    }else ret=true;
  }
  return ret;

}



function copyFieldsAndSubmit(vlayer,vformno){
  if (document.layers) return checkAndSubmit(document.layers[vlayer].document.forms[vformno]);
  else return checkAndSubmit(document.forms[vformno]);
}

var sWrongInteger="Bitte geben Sie einen gültigen ganzzahligen Wert ein.\n";
var sWrongFloat=" eine Fliesskommazahl ein.\n";
var sFormelementIsMandatory = " correctamente.\n";
var sWrongDateFormat = 'Porfavor ajuste la fecha al formato dd.mm.aaaa.';
var sWrongDOT = 'Bitte geben Sie das Datum f&uuml;r den letzmaligen Termin nur in Monaten und Jahr an.<br>Benutzen Sie bitte das Format MM.JJJJ.';
var sWrongEmail = "Bitte geben Sie eine gültige Email Adresse ein.\n";
var sWrongZipCode = " eine gültige Postleitzahl ein.\n";
var sWrongBLZ = " eine g&uuml;ltige Bankleitzahl ein.\n";
var sWrongTime = " eine g&uuml;ltige Zeitangabe der Form HH:MM ein.\n";
var sWrongTelephoneNumber =" eine Telefonnummer in der Form (x) y oder x/y ein, wobei x die Vorwahl und y die Telefonnummer repr&auml;sentiert. Als erstes Zeichen der Vorwahl darf nur ein + oder die 0 eingegeben werden.";
var sWrongCash = '';
var sChoiceIsMandatory = " eine Option.\n";
var sCheckboxIsMandatory = " einen Punkt an.\n";
var eingabeAuf = "Bitte geben Sie ";
var ankreuzAuf = "Bitte w&auml;hlen Sie ";
var nichtleerAuf = "Por Favor llene el campo ";
var wrongText = '';

var bEntryCorrect = true;
var alerttextAlldone = false;

var stringBB = 0;
var stringBBnew = 0;
var alerttextAll = '';
var newErrorOpened = false;
var openFile = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\n';
openFile += '<html>\n';
openFile += '<head><title>Fehlende Angaben</title>\n';
openFile += '<link rel="stylesheet" href="/styles/content.css" type="text/css"></head>\n';

openFile += '<body bgcolor="#C3D9F0" topmargin=0 bottommargin=0 leftmargin=0 rightmargin=0 marginheight=0 marginwidth=0>\n';
openFile += '<table border=0 cellspacing=0 cellpadding=0 width="359">\n';
openFile += '<tr><td colspan=4><img src="/images/mail_formular/hinweis.gif" width=359 height=78 border=0></td></tr>\n';
openFile += '<tr><td width="25"><img src="/images/common/spacer.gif" width=25 height=1 border=0></td><td width="22"><img src="/images/common/spacer.gif" width="22" height="1" border=0></td><td width="305"><img src="/images/common/spacer.gif" width="305" height="1" border=0></td><td width="5"><img src="/images/common/spacer.gif" width="5" height="1" border="0"></td>\n';
openFile += '<tr><td>&nbsp;</td>\n';
openFile += '<td colspan=2><br><b>Es ist ein Fehler aufgetreten.<br>Bitte &uuml;berpr&uuml;fen Sie folgende Eingaben:</b><br><br></td><td>&nbsp;</td></tr>\n';

var closeFile = '<tr><td colspan=2>&nbsp;</td>\n<td align="right"><a class="contentabsatzlink" href="javascript:self.close()">Schlie&szlig;en <img src="/images/buttons/schliessen.gif" border=0 align="absmiddle"></a></td><td>&nbsp;</td></tr>\n</table>\n<br>\n</body>\n</html>';


var openTag = '<tr valign="top">\n<td>&nbsp;</td>\n<td width="22"><img src="/images/common/nupsi_container.gif" width="12" height="9" hspace=5 vspace=3 border=0></td>\n<td width="305">';
var closeTag = '<br><br></td><td>&nbsp;</td></tr>\n';

var closeFont = '<br>';

var elemNames=new Array("prename","familyname","street","number","zip","city","email","fax","phone","MaxPersons","subject","message","email","birthday","birthplace","nationality","country","handy","jtype","jcity","job","dest","ctype","addtext");
var deelemNames=new Array("Nombre ","Apellidos ","Calle ","Número ","CP ","localidad ","E-mail ","Fax","Rufnummer","Anzahl Teilnehmer","Betreff","Ihre Mitteilung","Email","Geburtstag","Geburtsort","Staatsangehörigkeit","País","Mobiltelefon","Funktionsbereich","Standort","Tätigkeit","\"Deseo contactar a\"","\"yo soy\"","\"Dudas y comentarios\"");
function convelemname(ename) {
  for (i=0;i<elemNames.length;i++) {
    if (ename==elemNames[i]) return deelemNames[i];
  }
  return ename;

}

function checkAndSubmit( oForm ) {
  wrongText = '';

  if (checkFormelements(oForm)){
    return true;
  }
  else{
    alert(wrongText);
    return false;
  }
}

function checkFormelements( oForm ) {
  var i;
  var name_form; //var name_form2;var name_form3; var name_form4; var name_form5; var name_form6;
  var length;
  var oldRadio = '';

  bEntryCorrect = true;

  for (i=0; ((i < oForm.elements.length)); i++) {
    length = oForm.elements[i].name.length;
    name_form1 = oForm.elements[i].name.substr(4,length);
    name_form2 = replaceSpecialChar(name_form1,'_ae','&auml;');
    name_form3 = replaceSpecialChar(name_form2,'_oe','&ouml;');
    name_form4 = replaceSpecialChar(name_form3,'_ue','&uuml;');
    name_form5 = replaceSpecialChar(name_form4,'_Ae','&Auml;');
    name_form6 = replaceSpecialChar(name_form5,'_Oe','&Ouml;');
    name_form7 = replaceSpecialChar(name_form6,'_Ue','&Uuml;');
        name_form8 = replaceSpecialChar(name_form7,'_ss','&szlig;');
        name_form = replaceSpecialChar(name_form8,'_',' ');
    switch (oForm.elements[i].name.substr(0,3)) {

    case "cmb":
      if (oForm.elements[i].name.substr(3,1) == 'M') {
        if (oForm.elements[i].options[0].selected) {
          wrongText += openTag + name_form + closeFont + ankreuzAuf + "im Feld " + name_form + sChoiceIsMandatory + closeTag;
          bEntryCorrect = false;
        }
     }
    break;
    case "sel":
      if (oForm.elements[i].name.substr(3,1) == 'M') {
        if (oForm.elements[i].options[0].selectedIndex==-1) {
          wrongText += nichtleerAuf + convelemname(name_form) + sFormelementIsMandatory;
          bEntryCorrect = false;
        }else{
          if (oForm.elements[i].options[oForm.elements[i].selectedIndex].value=="") {
            wrongText += nichtleerAuf + convelemname(name_form) + sFormelementIsMandatory;
            bEntryCorrect = false;
          }
        }
     }
    case "chk":
      if (oForm.elements[i].name.substr(3,1) == 'M') {
        if (oForm.elements[i].checked == false) {
          wrongText += openTag + name_form + closeFont + 'Bitte w&auml;hlen Sie mindestens einen Auswahlpunkt aus.' + closeTag;
          bEntryCorrect = false;
        }
      }
    break;
    case "ind":
      if (oForm.elements[i].name.substr(3,1) == 'M') {
        wrongText += openTag + name_form + closeFont + nichtleerAuf + name_form + sFormelementIsMandatory+ closeTag;
        bEntryCorrect = false;
      }
    break;
    case "opt":
      if ((oForm.elements[i].name.substr(3,1) == 'M') && (oldRadio!=oForm.elements[i].name)){
        if ( isChecked( oForm.name, oForm.elements[i] ) == false ) {
          if (oForm.elements[i].name.substr(4,length) == 'Empfaenger_Bank')
            wrongText += openTag + name_form + closeFont + 'Markieren Sie bitte eine gew&uuml;nschte Empf&auml;nger Bank und klicken Sie auf "&Uuml;bernehmen".' + closeTag;
          else if (oForm.elements[i].name.substr(4,length) == 'Auswahl_Dauerauftrag')
            wrongText += openTag + name_form + closeFont + 'Markieren Sie bitte erst einen gew&uuml;nschten Empf&auml;nger.' + closeTag;
          else
            wrongText += openTag + name_form + closeFont + ankreuzAuf + sChoiceIsMandatory + closeTag;

          bEntryCorrect = false;
          oldRadio = oForm.elements[i].name;
        }
      }
    break;
    default:
      if (oForm.elements[i].name.substr(3,1) == 'M') {
        if (isEmpty(oForm.elements[i]) == true) {
          wrongText +=nichtleerAuf + convelemname(name_form) + sFormelementIsMandatory;
          bEntryCorrect = false;
        }
        else
         validateFormelement(oForm.elements[i], name_form);
      }
      else {
        if (isEmpty(oForm.elements[i]) == true) {}
        else
           validateFormelement(oForm.elements[i], name_form);
      }
    }
    if (!bEntryCorrect) {
      oForm.elements[i].focus();
      return false;
    }
  }
  return true;
}

function validateFormelement (objFormelement, name_form) {

  switch (objFormelement.name.substr(0,3)) {

  // ------------------------------------------------------------
  // Neu R+V
  // ------------------------------------------------------------
  case "tel":
    if(isCorrectTelephoneNumber(objFormelement)) {
      return;
    }
    else {
      wrongText += openTag + name_form + closeFont + eingabeAuf + sWrongTelephoneNumber + closeTag;
      bEntryCorrect = false;
    }
    break;

  case "uhr":
    if(isCorrectTime(objFormelement))
      return;
    else {
      wrongText += openTag + name_form + closeFont + eingabeAuf + sWrongTime + closeTag;
      bEntryCorrect = false;
    }
    break;

  case "vsn":
    if(isCorrectInsuranceNumber(objFormelement))
      return;
    else {
      wrongText += openTag + name_form + closeFont + 'Die eingebene Versicherungsnummer hat ein ungew&ouml;hnliches Format. Bitte benutzen Sie das g&uuml;ltige Format: 123/12/123456789. Bitte beachten Sie, da&szlig; au&szlig;er den Schr&auml;gstrichen "/" nur numerische Eingaben zul&auml;ssig sind.'  + closeTag;
      bEntryCorrect = false;
    }
    break;

  case "epl":  //-- Erweiterte Postleitzahl min 3 Stellen RuV
    if (isSpecialLength(objFormelement,3,5) && isNumber(objFormelement.value))
      return;
    else{
      wrongText += openTag + name_form + closeFont + eingabeAuf + sWrongZipCode + '<br>Die Postleitzahl (PLZ) darf minimal 3 und maximal 5 Stellen besitzen' +closeTag;
      bEntryCorrect = false;
    }
  break;

  case "tvw":  //-- Telefonvorwahl min 3 Stellen RuV
    if (isSpecialLength(objFormelement,3,5) && isNumber(objFormelement.value))
      return;
    else{
      wrongText += openTag + name_form + closeFont +  'Die Telefonvorwahl muss minimal 3 bzw. maximal 10 Stellen besitzen' +closeTag;
      bEntryCorrect = false;
    }
  break;

        case "mi3":  //-- Min 3 Stellen RuV
            if (isMinimumLength(objFormelement,3))
              return;
            else{
              wrongText += openTag + name_form + closeFont + eingabeAuf +  'mindestens 3 Zeichen ein.' +closeTag;
              bEntryCorrect = false;
            }
          break;

  case "blz":
    if (isSpecialLength(objFormelement,8,8) && isNumber(objFormelement.value))
      return;
    else{
      wrongText += openTag + name_form + closeFont + eingabeAuf + sWrongBLZ + '<br>Eine BLZ besteht immer aus 8 Ziffern und darf keine Leer- oder Sonderzeichen enthalten.' +closeTag;
      bEntryCorrect = false;
    }
  break;

  case "int":
    if (isInteger(objFormelement)) {
      return;
    } else {
      wrongText += openTag + name_form + closeFont + eingabeAuf + name_form + sWrongInteger + closeTag;
       bEntryCorrect = false;
    }
    break;

  case "num":
    if (isInteger(objFormelement)) {
      return;
    } else {
      wrongText += sWrongInteger;
       bEntryCorrect = false;
    }
    break;

  case "dat":
    if (isDateFormatCorrect(objFormelement)) {
      return;
    } else {
      wrongText += sWrongDateFormat;
      bEntryCorrect = false;
    }
    break;


  case "eml":
    if (isEmail(objFormelement)) {
      return;
    } else {
      wrongText += sWrongEmail;
       bEntryCorrect = false;
    }
    break;

  case "plz":
    if (isZipCode(objFormelement)) {
      return;
    } else {
      wrongText += eingabeAuf + sWrongZipCode;
       bEntryCorrect = false;
    }
    break;

  case "knt":
    if (isSpecialLength(objFormelement,1,10) && isNumber(objFormelement.value))
      return;
    else{
      wrongText += openTag + name_form + closeFont + 'Die Kontonummer kann aus 1 - 10 Ziffern bestehen und darf keine Leer- oder Sonderzeichen haben.' + closeTag;
      bEntryCorrect = false;
    }
    break;

  // ------------------------------------------------------------


  // PDF
  case "bet":
    if ((proofNumberKommaNumber(objFormelement,6,2))||((isNumber(objFormelement.value))&&(isSpecialLength(objFormelement,1,6))))
      return;
    else{
      wrongText += openTag + name_form + closeFont + 'Der eingegebene Betrag ist ungew&ouml;hnlich. Bitte benutzen Sie das g&uuml;ltige Format: 123456,12 (Bis sechs Stellen vor und genau 2 Stellen nach dem Komma) oder ohne Komma einfach bis zu 6 Ziffern. Bitte vermeiden Sie Tausenderpunkte, Leer- und Sonderzeichen.' + closeTag;
      bEntryCorrect = false;
    }
  break;

  //PDF
  case "btr":
    if ((isNumber(objFormelement.value))&&(isSpecialLength(objFormelement,1,9)))
      return;
    else{
      wrongText += openTag + name_form + closeFont + 'Der eingegebene Betrag ist ungew&ouml;hnlich. Bitte benutzen Sie das g&uuml;ltige Format: 123456789 (ohne Komma und mit bis zu 9 Ziffern). Bitte vermeiden Sie Tausenderpunkte, Leer- und Sonderzeichen.' + closeTag;
      bEntryCorrect = false;
    }
  break;

  //PDF
  case "tag":
    if ((isNumber(objFormelement.value))&&(isSpecialLength(objFormelement,1,2)))
      return;
    else{
      wrongText += openTag + name_form + closeFont + 'Bitte benutzen Sie das g&uuml;ltige Format: Eine Tag-Datumsangabe zwischen 1 und 31 (ohne Punkt). Bitte vermeiden Sie Leer- und Sonderzeichen.' + closeTag;
      bEntryCorrect = false;
    }
  break;



  case "flt":
    if (isFloat(objFormelement)) {
      return;
    } else {
       wrongText += openTag + name_form + closeFont + eingabeAuf + name_form + sWrongFloat + closeTag;
       bEntryCorrect = false;
           return;
    }
    break;



  case "dot":
    if (isDOT(objFormelement)) {
      return;
    } else {
      wrongText += openTag + name_form + closeFont + sWrongDOT + closeTag;
      bEntryCorrect = false;
    }
    break;


  case "btg":
    if (proofCash(objFormelement.value)=='')
      return;
    else{
      sWrongCash = proofCash(objFormelement.value);
      wrongText += openTag + name_form + closeFont + sWrongCash + '<br></td></tr>\n';
      bEntryCorrect = false;
    }
  break;

  case "lbh":
    if (proofNumberKommaNumber(objFormelement,8,6))
      return;
    else{
      wrongText += openTag + name_form + closeFont + 'Ihr Limitbetrag ist ungew&ouml;hnlich. Bitte benutzen Sie das g&uuml;ltige Format: 12345678,123456 (Bis acht Stellen vor und bis sechs Stellen nach dem Komma) oder ohne Komma einfach bis zu 8 Ziffern. Bitte vermeiden Sie Leer- und Sonderzeichen.' + closeTag;
      bEntryCorrect = false;
    }
  break;

  case "stk":
    if (proofNumberKommaNumber(objFormelement,11,3))
      return;
    else{
      wrongText += openTag + name_form + closeFont + 'Ihre St&uuml;ckzahleingabe stimmt nicht mit dem &uuml;blichen Format &uuml;berein (bis 11 Stellen vor und bis 3 Stellen nach dem Komma oder ohne Komma einfach bis zu 11 Ziffern). Bitte vermeiden Sie Leer- und Sonderzeichen.' + closeTag;
      bEntryCorrect = false;
    }
  break;

  case "pin":
    if (isSpecialLength(objFormelement,5,6))
      return;
    else{
      wrongText += openTag + name_form + closeFont + 'Bitte geben Sie eine g&uuml;ltige PIN ein.<br>PINummern bestehen aus 6 alphanumerische Zeichen ohne Leerzeichen.' + closeTag;
      bEntryCorrect = false;
    }
    break;

  case "wkn":
    if ((isSpecialLength(objFormelement,6,6) || isSpecialLength(objFormelement,6,6)) && isNumber(objFormelement.value))
      return;
    else{
      wrongText += openTag + name_form + closeFont + 'Ihre eingegebene WKN hat ein ungew&ouml;hnliches Format. Die WKN besteht aus 6- oder 12stelligen Ziffern.' + closeTag;
      bEntryCorrect = false;
    }
    break;

  case "snr":
    if (isSpecialLength(objFormelement,8,8) && isNumber(objFormelement.value))
      return;
    else{
      wrongText += openTag + name_form + closeFont + 'Geben Sie bitte Ihre 8stellige ServiceDirektNummer ein.' + closeTag;
      bEntryCorrect = false;
    }
    break;

  case "tan":
    if (isSpecialLength(objFormelement,6,6) && isNumber(objFormelement.value))
      return;
    else{
      wrongText += openTag + name_form + closeFont + 'Geben Sie bitte eine g&uuml;ltige TAN ein.<br> Eine TANummer ist immer sechsstellig und mu&szlig; ohne Leer- oder Sonderzeichen eingegeben werden.' + closeTag;
      bEntryCorrect = false;
    }
    break;

  case "jhr":
     if (isValidYear(objFormelement.value)){
        return;
     }
     else {
     wrongText += openTag + name_form + closeFont + 'Ihre angegebene Jahreszahl ist leider nicht überprüfbar. Bitte geben Sie das Jahr im Format JJJJ ein.' + closeTag;
     bEntryCorrect = false;
   }
   break;
  /*
  case "mnt":
    if (proofNumberKommaNumber(objFormelement,1,1) && )
      return;
    else{
      wrongText += openTag + name_form + closeFont + 'Ihre St&uuml;ckzahleingabe stimmt nicht mit dem &uuml;blichen Format &uuml;berein (bis 11 Stellen vor und bis 3 Stellen nach dem Komma oder ohne Komma einfach bis zu 11 Ziffern). Bitte vermeiden Sie Leer- und Sonderzeichen.' + closeTag;
      bEntryCorrect = false;
    }
  break;
  */
  default:
    return;
    break;
  }
  return;
}

function isChecked(oFormName, objFormelement){
  var flag = false;
  oFElength = eval('document.forms["'+oFormName+'"].'+objFormelement.name+'.length');
  for(i=0;i<oFElength;i++){
    flag = eval('document.forms["'+oFormName+'"].'+objFormelement.name+'['+i+'].checked');
    if (flag) break;
  }
  if (!flag) return false;
  else return true;
}

function isEmpty (objFormelement) {
  if ((objFormelement.value == null) || (objFormelement.value.length == 0)) {
      return true;
  } else {
    if (objFormelement.value == " ") {
      return true;
    } else {
      return false;
    }
  }
}

function isInteger (objFormelement) {
  var sNumber = objFormelement.value;
  var i;

  if (sNumber.charAt(0) == "-")
    i = 1;
  else
    i = 0;

  for (; i < sNumber.length; i++) {
      var c = sNumber.charAt(i);
      if (!((c >= "0") && (c <= "9")))
        return false;
  }
  return true;
}

function isFloat (objFormelement)
{
  return true;
  var i;
  var seenDecimalPoint = false;
  var decimalPointDelimiter = ",";
  var sNumber = objFormelement.value;

  if (sNumber.charAt(0) == "-")
    i = 1;
  else
    i = 0;

  if (sNumber == decimalPointDelimiter) {
    return false;
  }

  for (; i < sNumber.length; i++) {
      var c = sNumber.charAt(i);

      if ((c == decimalPointDelimiter) && !seenDecimalPoint)
        seenDecimalPoint = true;
      else if (!((c >= "0") && (c <= "9")))
  return false;
  }

  return true;
}

function isDOT(objFormelement){
  sDOT = objFormelement.value;
  sDOTarray = sDOT.split('.');

  if(sDOTarray.length == 2){
    if(sDOTarray[0].length == 2 && sDOTarray[1].length == 4 && isNumber(sDOTarray[0]) && isNumber(sDOTarray[1]))
      return true;
  }
  else
    return false;
}

function isDateFormatCorrect (objFormelement) {
  var i;
  var seenDecimalPoints = 0;
  var decimalPointDelimiter = ".";
  var iDayDigitCounter = 0;
  var iMonthDigitCounter = 0;
  var iYearDigitCounter = 0;
  var iDay, iMonth, iYear;
  var sDate = objFormelement.value;
  var returnDate;

  if ((sDate == null) || (sDate.length == 0)) {
    return false;
  }

  if (sDate == decimalPointDelimiter) {
    return false;
  }

  for (i = 0; i < sDate.length; i++) {
    var c = sDate.charAt(i);

    if ((c == decimalPointDelimiter) && (seenDecimalPoints != 2))
      seenDecimalPoints++;
    else if (!((c >= "0") && (c <= "9")))
      return false;
    else {
      switch (seenDecimalPoints) {
        case 0:
          iDayDigitCounter++;
          break;
        case 1:
          iMonthDigitCounter++;
          break;
        case 2:
          iYearDigitCounter++;
          break;
      }
    }
  }


  if ((seenDecimalPoints == 2)
      && ((iDayDigitCounter > 0) && (iDayDigitCounter < 3))
      && ((iMonthDigitCounter > 0) && (iMonthDigitCounter < 3))
      && (iYearDigitCounter == 4))
  {} else {
    return false;
  }


  iDay = sDate.slice(0, iDayDigitCounter);
  iMonth = sDate.slice(iDayDigitCounter+1, iDayDigitCounter+iMonthDigitCounter+1);
  iYear = sDate.slice(iDayDigitCounter+iMonthDigitCounter+2, sDate.length);


  if (isDateValid(iYear, iMonth, iDay)){
    return true;
  }
  else
    return false;

  return true;
}

function isDateValid (year, month, day) {
  var daysInMonth = makeArray(12);
  daysInMonth[1] = 31;
  daysInMonth[2] = 29;
  daysInMonth[3] = 31;
  daysInMonth[4] = 30;
  daysInMonth[5] = 31;
  daysInMonth[6] = 30;
  daysInMonth[7] = 31;
  daysInMonth[8] = 31;
  daysInMonth[9] = 30;
  daysInMonth[10] = 31;
  daysInMonth[11] = 30;
  daysInMonth[12] = 31;

  if (! (isMonth(month) && isDay(day) && isValidYear(year))) return false;

   var intYear = parseInt(year);
   var intMonth = parseInt(month);
   var intDay = parseInt(day);

   if (intDay > daysInMonth[intMonth]) return false;

   if ((intMonth == 2) && (intDay > daysInFebruary(intYear))) return false;

   return true;
}

function isMonth (sMonth) {
   if (sMonth > 0 && sMonth < 13)
    return true;
  else
    return false;
}

function isValidYear(sYear){
  if(sYear > 1899 && sYear < 2101)
    return true;
  else
    return false;
}

function isDay (sDay){
   if (sDay > 0 && sDay < 32)
    return true;
  else
    return false;
}

function daysInFebruary (iYear){
  return (  ((iYear % 4 == 0) && ( (!(iYear % 100 == 0)) || (iYear % 400 == 0) ) ) ? 29 : 28 );
}

function makeArray(n) {
   for (var i = 1; i <= n; i++) {
      this[i] = 0
   }
   return this
}

function isEmail (objFormelement){
  var i = 1;
  var sEmail = objFormelement.value;
  var sLength = sEmail.length;

  // FD 02.02.2000
  /*
  reg = /[^a-zA-Z0-9@\.\-_]+/g;
  //reg = /^[\w\-]+(\.[\w\-]+){0,2}@[\w\-]+(\.[\w\-]+){1,3}$/

  Ergebnis = reg.test(sEmail);
  if (Ergebnis) return false

  return true;
  */
   while ((i < sLength) && (sEmail.charAt(i) != "@"))
    i++;

  if ((i >= sLength) || (sEmail.charAt(i) != "@"))
    return false;
  else
    i += 2;

  while ((i < sLength) && (sEmail.charAt(i) != "."))
    i++;

  if ((i >= sLength - 1) || (sEmail.charAt(i) != "."))
    return false;
  else
    return true
}

function isZipCode (objFormelement)
{
  var sZipCode = objFormelement.value;

  if (sZipCode.length != 5)
    return false;

  for (i=0; i < sZipCode.length; i++) {
      var c = sZipCode.charAt(i);
      if (!((c >= "0") && (c <= "9")))
        return false;
  }
  return true;
}

function isNumber(strFormelement){
  strFormelement2 = String(strFormelement);
  for (i=0; i < strFormelement2.length; i++) {
    var c = strFormelement2.charAt(i);
    if (!((c >= '0') && (c <= '9')))
      return false;
  }
  return true;
}

function replaceSpecialChar(strFormelement,findChar,replaceChar){
  return (eval('strFormelement.replace(/'+findChar+'/g,"'+replaceChar+'")'));
}

function deleteSpecialChar(strFormelement,specialChar){
    eval('strFormelement.replace(/'+specialChar+'/g,"")');
    return strFormelement;
}

function isSpecialLength(objFormelement,minLength,maxLength){
  var isSpecialLengthStr = objFormelement.value;

  if(isSpecialLengthStr.length < minLength || isSpecialLengthStr.length > maxLength)
    return false;
  else
    return true;
}

function isMinimumLength(objFormelement,minLength){
  var isMinimumLengthStr = objFormelement.value;

  if(isMinimumLengthStr.length < (minLength))
    return false;
  else
    return true;
}

function isSpecialLengthValue(isSpecialLengthStr,minLength,maxLength){
  if(isSpecialLengthStr.length < minLength || isSpecialLengthStr.length > maxLength)
    return false;
  else
    return true;
}

function proofCash(stringBG){
  var sWrongCash = '';
  stringBGnew = stringBG.split(',');

  if(stringBGnew.length!=1){
    if(stringBGnew.length>2 || isNumber(stringBGnew[0])==false || isNumber(stringBGnew[1])==false || stringBGnew[1].search(/\./)!=-1 || stringBGnew[1]<0)
      sWrongCash += 'Bitte &uuml;berpr&uuml;fen Sie Ihren eingegebenen Geldbetrag.<br>Ein g&uuml;ltiger Geldbetrag besteht aus 9 Ziffern ohne Tausenderpunkte und  mit einem Komma getrennt der Pfennigbetrag (z.B. 123456789,00).';

    else if(stringBGnew[1].length>2)
      sWrongCash += 'Sie k&ouml;nnen nur zweistellige Pfennigbetr&auml;ge angeben.<br>';
  }
  else if(isNumber(stringBG)==false)
    sWrongCash += '&Uuml;berpr&uuml;fen Sie bitte Ihren eingegebenen Geldbetrag.<br>Ein g&uuml;ltiger Geldbetrag besteht aus 9 Ziffern ohne Tausenderpunkte und  mit einem Komma getrennt der Pfennigbetrag (z.B. 123456789,00).<br>';

  if(stringBGnew[0].search(/\./)!=-1)
    sWrongCash += 'Bitte vermeiden Sie Tausenderpunkte, d.h. aus 10.000 wird 10000.<br>';

  if(stringBGnew[0]>999999999)
    sWrongCash += 'Ihr eingegebener Geldbetrag ist zu hoch. Sie k&ouml;nnen maximal 999.999.999,99 DM eingeben.<br>';

  if(stringBGnew[0]<0)
    sWrongCash += 'Ihr eingegebener Geldbetrag ist zu klein.<br>';

  return sWrongCash;
}

function proofNumberKommaNumber(objectNKN,before,after){
  stringNKN = objectNKN.value;

  stringNKNnew = stringNKN.split(',');

  if(stringNKNnew.length>2)
    return false;
  else if(stringNKNnew.length==1){
    if(isNumber(stringNKNnew)==false || stringNKNnew[0].length>before)
      return false;
  }
  else if(stringNKNnew.length==2){
    if(stringNKNnew[0].length>before || stringNKNnew[1].length>after || isNumber(stringNKNnew[0])==false || isNumber(stringNKNnew[1])==false)
      return false;
  }
  return true;
}

function isCorrectInsuranceNumber(objFormelement) {
  value=objFormelement.value;
  if(value.length==16) {
      valueArray=value.split("/");
      if(valueArray.length!=3) return false;
      if(isSpecialLengthValue(valueArray[0],3,3) && isNumber(valueArray[0]) && isSpecialLengthValue(valueArray[1],2,2) && isNumber(valueArray[1]) && isSpecialLengthValue(valueArray[2],9,9) && isNumber(valueArray[2]))
        return true;
      return false;
  }
  else return false;
}

function isCorrectTime(objFormelement) {
  parts=(objFormelement.value).split(":");
  if(parts.length!=2) return false;
  if((isCorrectHour(parts[0]))&&(isCorrectMinute(parts[1]))) return true;
  return false;
}

function isCorrectHour(hour) {
   if((isNumber(hour))&&(hour>=0)&&(hour<=23)) return true;
   return false;
}

function isCorrectMinute(minute) {
   if((isNumber(minute))&&(minute>=0)&&(minute<=59)) return true;
   return false;
}

function isCorrectTelephoneNumber( objFormelement ) {
  value=objFormelement.value;
  if(value.lastIndexOf(" ")==-1) {
     if(value.indexOf("/")==-1) return false; // wenn nicht " " dann "/" Pflicht
     else {
        parts=(objFormelement.value).split("/"); // xx/xx
        //alert(parts[0]+"  "+parts[1]);
        if(parts.length!=2) return false;
        return ((isCorrectPrechoice(parts[0])) && (isNumber(parts[1])));
     }
  }
  else {
    parts=(objFormelement.value).split(" ");
    if(parts.length!=2) return false;
    if((parts[0].substr(0,1)!="(")||(parts[0].substr(value.lastIndexOf(" ")-1,1)!=")")) return false;
    return ((isCorrectPrechoice(parts[0].substr(1,parts[0].indexOf(")")-1))) && (isNumber(parts[1])));
  }
  return false;
}


function isCorrectPrechoice(vorwahl) {
  prefixSign=vorwahl.substr(0,1);
  if(prefixSign=="+") vorwahl=vorwahl.substring(1);

  else {
    if(vorwahl.substr(0,1)!="0") return false;
  }
  return isNumber(vorwahl);
}


function focusOn(formularName, fieldName)
{
  eval("document.forms['" + formularName + "']." + fieldName + ".focus()");
}


var nn = (document.layers) ? true : false;

function openWin(newURL,params){
  newWin = window.open(newURL,'floater',params);
  if ((document.all && navigator.appVersion.substring(0,1)>4) || nn) {
    newWin.focus();
  }
}