function exists(field) {
  if (document.getElementsByName(field)[0]) return true;
  return false;
}


// ignores Space Chars
function isEmpty(field) {
  var value = document.getElementsByName(field)[0].value;
  if(trim(value) == '') return true;
  return false;
}

//
function containsChars(field) {
  var value = document.getElementsByName(field)[0].value;
  if(value == '') return false;
  return true;
}

function isChecked(field) {
	//alert(field)
  var fieldObj = document.getElementsByName(field);
  var i=0;
  for(i=0; i<fieldObj.length; i++) {
    if (fieldObj[i].checked) return true;
  }
  return false;
}


function isSelected(field) {

  if (document.getElementsByName(field)[0].selectedIndex > -1) return true;
  return false;
}


function isDate(field) {
  var value = document.getElementsByName(field)[0].value;
  var regExp = /\d\d\.\d\d\.\d\d\d\d/;
  if(regExp.exec(value) != value) return false;

  var year = parseInt(value.substr(6, 4));
  if(year<1900 || year>2100) return false;
  var month = parseInt(value.substr(3, 2), 10);
  if(month<1 || month>12) return false;
  var day = parseInt(value.substr(0, 2), 10);
  if(day<1 || day>31) return false;
  return true;
}

function isDateMMYYYY(field) {
  var value = document.getElementsByName(field)[0].value;
  var regExp = /\d\d\.\d\d\d\d/;
  if(regExp.exec(value) != value) return false;

  var year = parseInt(value.substr(3, 4));
  if(year<1900 || year>2100) return false;
  var month = parseInt(value.substr(0, 2), 10);
  if(month<1 || month>12) return false;
  return true;
}


function isDateYYYY(field) {
  var value = document.getElementsByName(field)[0].value;
  var regExp = /\d\d\d\d/;
  if(regExp.exec(value) != value) return false;

  var year = parseInt(value);
  if(year<1900 || year>2100) return false;
  return true;
}

//
// Ueberprueft den Wert des Feldes auf das Format 'HH:MM'.
// Liefert false falls der Wert keiner gueltigen Uhrzeit entspricht, sonst true.
//
function isTime(field) {
  var value = document.getElementsByName(field)[0].value;
  var regExp = /\d\d\:\d\d/;
  if(regExp.exec(value) != value) return false;

  var hour = parseInt(value.substr(0, 2), 10);
  if(hour<0 || hour>23) return false;
  var min = parseInt(value.substr(3, 2), 10);
  if(min<0 || min>59) return false;
  return true;
}


function isEmail(field) {
  return validateTest(field, /^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/);
}

function isPlz(field) {
  return validate(field, /\d\d\d\d\d/);
}

function isNumber(field) {
  return validate(field, /[0-9]+/);
}

function isFloat(field) {
  return validate(field, /[0-9]*[\.,]?[0-9]+/);
}


function isHnr(field) {
  return validate(field, /[0-9]{0,4}[a-zA-Z]?/);
}


function isFon(field) {
  return validate(field, /\+?[0-9\- \/]+/);
}


function isName(field) {
  return validate(field, /[a-zA-Z\-\. \u00C4\u00D6\u00DC\u00E4\u00F6\u00FC\u00DF]+/);
}


function isPixel(field) {
  return isNumber(field);
}



var js_Auml = '\u00C4';
var js_Ouml = '\u00D6';
var js_Uuml = '\u00DC';

var js_auml = '\u00E4';
var js_ouml = '\u00F6';
var js_uuml = '\u00FC';
var js_szlig = '\u00DF';

var js_format_date       = 'TT.MM.JJJJ';
var js_format_dateMMYYYY = 'MM.JJJJ';
var js_format_dateyyyy   = 'JJJJ';
var js_format_time       = 'SS:MM';
var js_format_email      = 'name@domain.topdomain';
var js_format_number	 = '0-9';
var js_format_float	     = '0-9.0-9';


//Start neue Formate
var js_format_hnr = '[0-9][a-z,A-Z]';
var js_format_fon = '[0-9]/[0-9]';
var js_format_name = '[a-z,A-Z]';
var js_format_plz = '[0-9]';
//Ende neue Formate

 

function alertInvalidFormat(field, message, format) {
  setFocus(field);
  var outtext = 'Sie haben das Feld "'+message+'" in keinem g'+js_uuml+'ltigen Format ausgef'+js_uuml+'llt. ';
  if(format) outtext = outtext+'\nG'+js_uuml+'ltiges Format ist z.B. "'+format+'"';
  alert(outtext);
  return false;
}


function alertMandatoryField(field, message) {
  setFocus(field);
  var outtext = 'Sie haben das Pflichtfeld "'+message+'" nicht ausgef'+js_uuml+'llt. ';
  alert(outtext);
  return false;
}


function setFocus(field) {
  var fieldObj = document.getElementsByName(field)[0];      // Get object to focus on
  fieldObj.focus();                                         // Focus works always
  // Select works only for text, password and textarea
  if (fieldObj.type == 'text' || fieldObj.type == 'password' || fieldObj.type == 'textarea') {
    fieldObj.select();
  }
}

function trim(value) {
  return value.replace(/^ */g, '').replace(/ *$/g, '');
}


function validate(field, regExp) {
  var value = document.getElementsByName(field)[0].value;
  if(regExp.exec(value) != value) return false;
  return true;
}


function validateTest(field, regExp) {
  var value = document.getElementsByName(field)[0].value;
  return regExp.test(value);
}

function validateOrder(field) {
	var value = document.getElementsByName(field)[0].value;
	if(value == "auswahl") return false;
	return true;
}