
function checkAll() {	
	makeTelNr('RPRS_TEL','tel_land','tel_vorwahl','tel_nummer');
	makeTelNr('RPRS_FAX','fax_land','fax_vorwahl','fax_nummer');

	if(!checkEmpty(arr)||!checkValue(arr1)) { 
		alert(meldung);
		meldung='';
		return false;
	}
	return true;
}

var arr = new Array(
	'RPRS_NAME','Name','text',
	'RPRS_VNAME','Vorname','text',
	'RPRS_MAIL','Email','email'
);
var arr1 = new Array(
	'RPRS_PLZ','Postleitzahl','plz',
	'RPRS_TEL','Telefonnummer','tel',
	'RPRS_FAX','Faxnummer','tel',
	'RPRS_MAIL','Email (kein gültiges Format) ','email'
);

var meldung = '';

function var_dump(objekt) {
 var st="";
 if (objekt==undefined) {
  return "Es ist keine Auswertung möglich, da das übergebene Objekt 'undefinied' ist.";
 }
 //alle durch enumerieren
 for (i in objekt) {
  st+=i+' = '+objekt[i]+'\n';
 }
 alert(st);
 return st;
}

function makeTelNr(targetfield,srcland,srcvorwahl,srctelnr) {
	if((document.getElementById(srcland).value != "")&&(document.getElementById(srcvorwahl).value!="")&&(document.getElementById(srctelnr).value!=""))
		document.getElementById(targetfield).value = document.getElementById(srcland).value + ' (' + document.getElementById(srcvorwahl).value + ') ' + document.getElementById(srctelnr).value;
}


function checkEmpty(arr)
{ 
  var i;
  var meldung_1 = 'Folgende Felder werden benötigt:\n\n';
  var meldung1 = '';
  var expr;
  var el;
  var txt;
  var what;
  var ar;
  for(i=0;i<arr.length-1;i+=3)
  {
    el = arr[i];
	txt = arr[i+1];
	what = arr[i+2];
    if(document.form1.elements[el].value == "")
	{
	  meldung1 = meldung1 + "- " + txt + '\n';
	}
	if(what=='date') {
		stDate = document.getElementById(el).value;
		if (stDate == '--') stDate = '';
		if (stDate == '-') stDate = '';
		if (stDate=='') {
			meldung1 = meldung1 + "- " + txt + '\n';
		}
	}
  }
  if(meldung1=="")
    return true;
  else
  {
    meldung+= meldung_1 + meldung1 + '\n';
    return false;
  }
}
function checkValue(arr)
{ 
  var i;
  var meldung_2 = 'Folgende Felder sind ungültig:\n\n';
  var meldung2 = '';
  var expr;
  var el;
  var txt;
  var what;
  var ar;
  for(i=0;i<arr.length-1;i+=3)
  {
    el = arr[i];
	txt = arr[i+1];
	what = arr[i+2];
	if(what=='date') {
		stDate = document.getElementById(el).value;
		if (!(isDate(stDate,'yyyy-MM-dd'))) {
			meldung2 = meldung2 + "- " + txt + '\n';
		}
	} else {
		switch(what)
		{
		  case 'text':
		    expr = /^[a-zA-Z0-9-_]/;
		    break;
		  case 'tel':
		    expr = /(.*)([0-9].+) \((0[0-9].+)\) ([0-9].+)/gi;
		    break;
		  case 'plz':
		    expr = /[0-9]{5,5}$/;
		    break;
		  case 'email':
		    expr = /^[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]@[\w-\.]*[a-zA-Z0-9]\.[a-zA-Z]{2,7}$/;
		    break;
		  case 'float':
		  	expr = /((^\d*\.?\d*[0-9]+\d*$)|(^[0-9]+\d*\.\d*$)|(^\d*\.?\d*[0-9]+\d*$)|(^[0-9]+\d*\,\d*$)){1}/;
		  	expr = /(^\d+\,\d{0,4}$)|(^\d+$)/;
		  	break;
		  default : break;
		}
		ar = expr.test(document.form1.elements[el].value);
		if((ar == false)&&(document.form1.elements[el].value!=""))
		  meldung2 = meldung2 + "- " + txt +'\n';
	}	
  }
  if(meldung2=="")
    return true;
  else
  {
    meldung+= meldung_2 + meldung2 +'\n';
    return false;
  }
}
