function validForm(oF){
  aE = oF.elements;
  for(f=0;f<aE.length;f++){
    if(aE[f].type=="text"){

      if(aE[f].maxLength>249 && aE[f].value==""){
        alert("Bitte füllen Sie das Feld "+aE[f].name+" aus!");
        aE[f].focus();
        return false;
      }
      // auf numeric prüfen ( 12 oder 13.456 )
      if((aE[f].maxLength==251 || aE[f].maxLength==241) && aE[f].value!=""){
        if (isNaN(aE[f].value) && aE[f].value != ""){
          alert("Bitte geben Sie im Feld "+aE[f].name+" eine Zahl ein!");
          aE[f].focus();
          aE[f].select();
          return false;
        }
      }
      // auf mailsyntax prüfen ( name.sonstwas@domain.de )
      if((aE[f].maxLength==252 || aE[f].maxLength==242)  && aE[f].value!=""){
        if (aE[f].value.replace(/[\w\._-]+@[\w\.-]+[\w\.-]+\.[\w]+[\w]+/, '') != '' && aE[f].value != ""){
          alert("Bitte geben Sie im Feld "+aE[f].name+" eine gültige E-Mailadresse ein!");
          aE[f].focus();
          aE[f].select();
          return false;
        }
      }
      // Auf gültiges Datumsformat prüfen ( 12.03.2001 )
      if((aE[f].maxLength==253 || aE[f].maxLength==243)  && aE[f].value!=""){
        if (aE[f].value.replace(/(([0-2][0-9])|([0-9])|([3][0-1]))([\.])(([0-9])|([1][0-2])|([0][0-9]))([\.])([1-2][0-9][0-9][0-9])/, '') != ''){
          // TODO Prüfen ob es das Datum überhaupt gibt ( 31.02.2000 muß ausgeschlossen werden )
          alert("Bitte geben Sie im Feld "+aE[f].name+" ein gültiges Datum ein!");
          aE[f].focus();
          aE[f].select();
          return false;
        }
      }
    }
  }
  return true;
}
function getDocEditor(doc_id,kat_id,vorlage,lang_id){
  wx = screen.availWidth/2;
  wy = screen.availHeight/2;
  window.open("../editor/tw_doc.php?doc_id="+doc_id+"&kat_id="+kat_id+"&vorlage="+vorlage+"&language="+lang_id, "DOCFORM",'width=760,height=530,resizable=yes,scrollbars=no,status=yes');
}
// Berechnung des Gesamtpreises dieses Produkts (Aufpreise/Menge inbegriffen)
SPAP = unescape("%A7AP%A7");
function aktGPREIS(oForm){
  iANZ = Number(oForm.ANZ.value);
  if(isNaN(iANZ)||iANZ==0){
    if(iANZ!=0){
      oForm.ANZ.value=1;
    }
    iANZ=1;
  }
  aEL = oForm.elements;
  iGPREIS = Number(oForm.BPREIS.value.replace(/,/ig,"."));
  for(f=0;f<aEL.length;f++){
    if(aEL[f].tagName.toLowerCase()=="select"){
      iAufPreis = Number(aEL[f].value.split(SPAP)[1].replace(/,/ig,"."));
      if(!isNaN(iAufPreis)){
        iGPREIS = iGPREIS + iAufPreis;
      }
    }
  }
  oForm.PREIS.value = number_format(iGPREIS*iANZ,2); //(Math.round(iGPREIS*100*iANZ)/100).toString().replace(/\./ig,",") ;
}
function removePosition(iPos){
  location.replace("?action=basketRemovePos&rp="+iPos);
}
function aktPosition(oANZ,iPos){
  if(isNaN(oANZ.value)){
    alert("Bitte geben Sie eine Gültige Menge ein!");
    oANZ.focus();
    oANZ.select();
    return;
  }
  location.replace("?action=aktBasketPos&POS="+iPos+"&ANZ="+oANZ.value);
}
function initJSRS( name, guid ){
  aKeys = eval("K"+guid);
  len = aKeys.length;
  aData = eval("D"+guid);
  z = 0; az = 0; aOut = Array();
  for(f=0;f<aData.length;f++){
    index = (f % len);
    if(index == 0){
      aOut[z] = Array();
      az = z; z++;
    }
    aOut[az][aKeys[index]] = unescape(aData[f].replace(/\+/g," "));
  }
  eval(name+"=aOut");
}
// formatiert eine zahl mit x kommastellen und rundet kaufmännisch
function number_format( sNumber, iDigits ){
  var pos;
  var Digits;
  sNumber = new String( sNumber );
  sNumber = sNumber.replace(/,/ig,".");
  iNumber = Number( sNumber );

  iNumber = Math.round(iNumber * Math.pow(10,iDigits) ) / Math.pow(10,iDigits);
  sNumber = new String( iNumber );
  pos = sNumber.indexOf(".");
  Digits = pos!=-1 ? iDigits - (sNumber.length - pos) + 1 : iDigits;
  sNumber += ( pos == -1 && iDigits != 0 ) ? "." : "" ;
  for(f=0;f<Digits;f++){
    sNumber += "0";
  }
  return sNumber.replace(/\./ig,",");
}

function preselectKDATA(DATA){
  if(document.KDATA){
    aEL = document.KDATA.elements
    for(f=0;f<aEL.length;f++){
      if(DATA[0][aEL[f].name]){
        aEL[f].value = DATA[0][aEL[f].name];
      }
    }
  }
}
