function check(obj, exp, msg)
{
  if (window.RegExp)
  {
    str = obj.value;
    obj.value = str.replace(/'/, '');
    var reg = new RegExp(exp);
    if (reg.test(obj.value))
      return true;
  }
  alert(msg);
  obj.focus();
  return false;
}

function checkName(obj)
{
  if (obj) {
  	return check(obj, '^.+$',
    //return check(obj, '^[a-zA-ZäöüÄÖÜß\\-\\.0-9 ]{2,}$',
                      'Bitte korrigieren Sie Ihren Vor- und Zunamen.');
  }  else return true;
}

function checkAdr(obj)
{
  if (obj) {
  	return check(obj, '^.+$',
    //return check(obj, '^[a-zA-ZäöüÄÖÜß\\-\\.0-9 ]{4,}$',
                      'Bitte korrigieren Sie Ihre Adresse.');
  }  else return true;
}

function checkEMail(obj) {
 if (obj)
  //return check(obj, '^.+$',
  return check(obj, '^[a-zA-Z0-9_\\-\\.]+\\@([a-zA-Z0-9\\-]+\\.){1,4}[a-zA-Z]{2,3}$',
    'Bitte korrigieren Sie Ihre Email-Adresse');
 else
  return true;
}

function checkit(what)
{
  if (!what)
  {
    // Felder auf plausible Werte pr&uuml;fen
    if (!checkName(document.forms['kontakt'].Vorname)) return;
    if (!checkName(document.forms['kontakt'].Nachname)) return;
    if (!checkAdr(document.forms['kontakt'].Strasse)) return;
    if (!checkAdr(document.forms['kontakt'].Ort)) return;

    // alles OK, Formular absenden
  }
  document.forms['kontakt'].submit();
}

function checkFirmierung(obj)
{
  if (obj) {
    return check(obj, '.+',
                      'Bitte korrigieren Sie Ihre Firmierung.');
  }  else return true;
}

function checkGruendungsjahr(obj) {	
	if (obj) {
		return checkGruendugsDatum(obj, 
                      'Bitte geben Sie ein gültiges Gründungsdatum im Format TT.MM.JJJJ ein.');
	}  else return true;
}


function checkGruendugsDatum(obj, msg) {
	var val = obj.value;
	
	if (window.RegExp) {
		var exp = new RegExp(/^([0-3]\d)\.([01]\d)\.(\d\d\d\d)$/);
		
		if (val.match(exp)) {
			val = val.toString();
			
			var userDate = val.split('.');
			var currentDate = new Date();
			
			userDate[0] = parseInt(userDate[0], 10);
			userDate[1] = parseInt(userDate[1], 10) - 1;
			
			var controlDate = new Date(userDate[2], userDate[1], userDate[0]);
			var currentDate = new Date();
			
			if (controlDate.getDate() == userDate[0] && controlDate.getMonth() == userDate[1] && controlDate.getFullYear() == userDate[2]) {
				var controlTime = controlDate.getTime();
				var currentTime = currentDate.getTime();
				
				if (controlTime < currentTime) {
					return true;
				}
			}
		}
		
	}
	
	alert(msg);
	obj.focus();
	
	return false;
}

function checkHomepage(obj)
{
  if (obj) {
    //return check(obj, '^.+$',
	return check(obj, '^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,6}(([0-9]{1,5})?\/.*)?$',
                      'Bitte korrigieren Sie Ihre Homepage.');
  }  else return true;
}
function checkSteuernummer(obj)
{
  if (obj) {
    return check(obj, '^.+$',
                      'Bitte korrigieren Sie Ihre Steuernummer.');
  }  else return true;
}
function checkUstIDNummer(obj)
{
  if (obj) {
    return check(obj, '^.+$',
                      'Bitte korrigieren Sie Ihre Ust ID Nummer.');
  }  else return true;
}
function checkRechtsform(obj)
{
  if (obj) {
    return check(obj, '^.+$',
                      'Bitte korrigieren Sie Ihre Rechtsform.');
  }  else return true;
}
function checkAnsprech(obj)
{
  if (obj) {
    return check(obj, '^.+$',
                      'Bitte korrigieren Sie das Feld Geschäftsführer / Ansprechpartner.');
  }  else return true;
}

function checkHausnummer(obj)
{
  if (obj) {
    return check(obj, '^.+$',
                      'Bitte korrigieren Sie die Hausnummer.');
  }  else return true;
}
function checkPLZ(obj)
{
  if (obj) {
    return check(obj, '^.+$',
                      'Bitte korrigieren Sie die Postleitzahl.');
  }  else return true;
}
function checkOrt(obj)
{
  if (obj) {
    return check(obj, '^.+$',
                      'Bitte korrigieren Sie den Ort.');
  }  else return true;
}
function checkLand(obj)
{
  if (obj) {
    return check(obj, '^.+$',
                      'Bitte korrigieren Sie das Land.');
  }  else return true;
}
function checkTel(obj)
{
  if (obj) {
    return check(obj, '^.+$',
                      'Bitte korrigieren Sie die Telefonnummer.');
  }  else return true;
}
function checkFax(obj)
{
  if (obj) {
    return check(obj, '^.+$',
                      'Bitte korrigieren Sie die Faxnummer.');
  }  else return true;
}

function checkit2(what)
{
  if (!what)
  {
    // Felder auf plausible Werte pr&uuml;fen
    if (!checkFirmierung(document.forms['kontakt'].Firmierung)) return;
	if (!checkGruendungsjahr(document.forms['kontakt'].Gruendungsjahr)) return;
    if (!checkHomepage(document.forms['kontakt'].Homepage)) return;
    if (!checkSteuernummer(document.forms['kontakt'].Steuernummer)) return;
    if (!checkUstIDNummer(document.forms['kontakt'].UstIDNummer)) return;
    if (!checkRechtsform(document.forms['kontakt'].Rechtsform)) return;
    if (!checkAnsprech(document.forms['kontakt'].Ansprech)) return;
    if (!checkAdr(document.forms['kontakt'].Strasse)) return;
    if (!checkHausnummer(document.forms['kontakt'].Hausnummer)) return;
    if (!checkPLZ(document.forms['kontakt'].PLZ)) return;
    if (!checkOrt(document.forms['kontakt'].Ort)) return;
    if (!checkLand(document.forms['kontakt'].Land)) return;
    if (!checkTel(document.forms['kontakt'].Tel)) return;
    if (!checkEMail(document.forms['kontakt'].EMail)) return;
    // alles OK, Formular absenden
  }
  document.forms['kontakt'].submit();
}

function checkit3(what) {
  if (!what)
  {
    // Felder auf plausible Werte pr&uuml;fen
    if (!checkName(document.forms['kontakt'].vorname)) return;
    if (!checkName(document.forms['kontakt'].nachname)) return;
    if (!checkEMail(document.forms['kontakt'].email)) return;
    // alles OK, Formular absenden
  }
  document.forms['kontakt'].submit();
}

function checkFirmierungEn(obj)
{
  if (obj) {
    return check(obj, '.+',
                      'Please correct field commercial register entry.');
  }  else return true;
}

function checkGruendungsjahrEn(obj) {
	if (obj) {
		return checkGruendugsDatum(obj, 
                      'Please enter a valid date of foundation in the format DD.MM.YYYY.');
	}  else return true;
}

function checkSteuernummerEn(obj)
{
  if (obj) {
    return check(obj, '^.+$',
                      'Please correct field tax number.');
  }  else return true;
}

function checkHomepageEn(obj)
{
  if (obj) {
    //return check(obj, '^.+$',
	return check(obj, '^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,6}(([0-9]{1,5})?\/.*)?$',
                      'Please correct field Homepage.');
  }  else return true;
}
function checkUstIDNummerEn(obj)
{
  if (obj) {
    return check(obj, '^.+$',
                      'Please correct field VAT tax ID number.');
  }  else return true;
}
function checkRechtsformEn(obj)
{
  if (obj) {
    return check(obj, '^.+$',
                      'Please correct field legal form.');
  }  else return true;
}
function checkAnsprechEn(obj)
{
  if (obj) {
    return check(obj, '^.+$',
                      'Please correct field director/contact.');
  }  else return true;
}
function checkAdrEn(obj)
{
  if (obj) {
    return check(obj, '^.+$',
                      'Please correct field street.');
  }  else return true;
}
function checkHausnummerEn(obj)
{
  if (obj) {
    return check(obj, '^.+$',
                      'Please correct field number.');
  }  else return true;
}
function checkPLZEn(obj)
{
  if (obj) {
    return check(obj, '^.+$',
                      'Please correct field postal code.');
  }  else return true;
}
function checkOrtEn(obj)
{
  if (obj) {
    return check(obj, '^.+$',
                      'Please correct field city.');
  }  else return true;
}
function checkLandEn(obj)
{
  if (obj) {
    return check(obj, '^.+$',
                      'Please correct field country.');
  }  else return true;
}
function checkTelEn(obj)
{
  if (obj) {
    return check(obj, '^.+$',
                      'Please correct field fon number.');
  }  else return true;
}
function checkFaxEn(obj)
{
  if (obj) {
    return check(obj, '^.+$',
                      'Please correct field fax number.');
  }  else return true;
}
function checkEMailEn(obj) {
 if (obj)
  //return check(obj, '^.+$',
  return check(obj, '^[a-zA-Z0-9_\\-\\.]+\\@([a-zA-Z0-9\\-]+\\.){1,4}[a-zA-Z]{2,3}$',
                    'Please correct field e-mail.');
 else
  return true;
}

function checkitEn(what)
{
  if (!what)
  {
    // Felder auf plausible Werte pr&uuml;fen
    if (!checkFirmierungEn(document.forms['kontakt'].Firmierung)) return;
	if (!checkGruendungsjahrEn(document.forms['kontakt'].Gruendungsjahr)) return;
	if (!checkHomepageEn(document.forms['kontakt'].Homepage)) return;
    if (!checkSteuernummerEn(document.forms['kontakt'].Steuernummer)) return;
    if (!checkUstIDNummerEn(document.forms['kontakt'].UstIDNummer)) return;
    if (!checkRechtsformEn(document.forms['kontakt'].Rechtsform)) return;
    if (!checkAnsprechEn(document.forms['kontakt'].Ansprech)) return;
    if (!checkAdrEn(document.forms['kontakt'].Strasse)) return;
    if (!checkHausnummerEn(document.forms['kontakt'].Hausnummer)) return;
    if (!checkPLZEn(document.forms['kontakt'].PLZ)) return;
    if (!checkOrtEn(document.forms['kontakt'].Ort)) return;
    if (!checkLandEn(document.forms['kontakt'].Land)) return;
    if (!checkTelEn(document.forms['kontakt'].Tel)) return;
    if (!checkEMailEn(document.forms['kontakt'].EMail)) return;
    // alles OK, Formular absenden
  }
  document.forms['kontakt'].submit();
}

