function checkDuration(frm) {
  var dur = parseInt(frm.value);
  if (dur > 50) {
    frm.focus();
    frm.select();
    alert("Bitte Urlaubsdauer < 50 eingeben");
    return false;
  }
  return true;
}

function getYearFromMonthYear(elem) {
  var i = elem.indexOf("_");
  var year = parseInt(elem.substring((i+1),elem.length));
  return year;
}

function checkForCombinedMonthYear(elem) {
  var i = elem.indexOf("_");
  if(i == -1){
    return false;
  }else{
    return true;
  }
}

function checkDateRange(frm) {
  var sday = parseInt(frm.sd_D.options[frm.sd_D.selectedIndex].value);
  var smon = 0;
  var syea = 0;
  if(checkForCombinedMonthYear(frm.sd_M.options[frm.sd_M.selectedIndex].value)){
    smon = getMonthFromMonthYear(frm.sd_M.options[frm.sd_M.selectedIndex].value);
    syea = getYearFromMonthYear(frm.sd_M.options[frm.sd_M.selectedIndex].value);
  }else{
    smon = parseInt(frm.sd_M.options[frm.sd_M.selectedIndex].value);
    syea = parseInt(frm.sd_Y.options[frm.sd_Y.selectedIndex].value);
  }
  var eday = parseInt(frm.ed_D.options[frm.ed_D.selectedIndex].value);
  var emon = 0;
  var eyea = 0;
  if(checkForCombinedMonthYear(frm.ed_M.options[frm.ed_M.selectedIndex].value)){
    emon = getMonthFromMonthYear(frm.ed_M.options[frm.ed_M.selectedIndex].value);
    eyea = getYearFromMonthYear(frm.ed_M.options[frm.ed_M.selectedIndex].value);
  }else{
    emon = parseInt(frm.ed_M.options[frm.ed_M.selectedIndex].value);
    eyea = parseInt(frm.ed_Y.options[frm.ed_Y.selectedIndex].value);
  }
  if (!compareDate(sday, smon, syea, eday, emon, eyea, 1)) {
    frm.ed_D.focus();
    alert("Das angegebene Enddatum liegt vor dem Anreisedatum.");
    return false;
  }
  return true;
}

function checkValueRange(entry, min, max, empty) {
  if (entry.value.length==0 && empty) { return true; }
  var value=parseFloat(convertLocaleSpecificNumberToFloat(entry.value));
  if (value>parseFloat(max)) {
    alert("Größte erlaubte Eingabe: " + max );
    entry.focus();
    return false;
  } else if (value<parseFloat(min)) {
    alert("Kleinste erlaubte Eingabe: " + min );
    entry.focus();
    return false;
  } else {
    return true;
  }
}

function setOnChangeDur(frm) {
  if (frm.d.value < 1) {
    frm.d.focus();
    frm.d.select();
    alert("Die Dauer muss größer als 0 sein.");
    return false;
  }
  return true;
}
function checkNumber(entry) {
  var val = entry.value + "";         
  var maxDecimalPlaces; 
  if (entry.form[entry.name+"_decimalPlaces"] == null) { 
    maxDecimalPlaces = 0; 
  } else { 
    maxDecimalPlaces = parseInt(eval(entry.form[entry.name+"_decimalPlaces"].value));
  }
  var newVal = ""; 
  var decimalPoint=false;
  var decimalPlaces=0;
  var thousandFoundIndex = -1;
  var dotFoundIndex = -1;
  var invalidNumber = false;
  if (val.length == 1 && val.substring(0,1) =="-") {      
    invalidNumber = true;
  }
  for (var i=0;i<val.length;i++)   {      
    letter=val.substring(i,i+1);          
    if ( ((letter<"0" || "9"<letter)&&(letter!=",")&&(letter!="-") && (letter!="."))
         || ((letter==",")&&(decimalPoint==true)) ) {
      entry.focus();
      entry.select();
      alert("Bitte nur Zahlen eingeben!");
      return false;
    }
    if ((decimalPoint==true)&&(letter!="-")) { decimalPlaces++; }
    if (decimalPlaces>maxDecimalPlaces && letter!="0") {
      entry.focus();
      entry.select();
      alert("Maximal erlaubte Dezimalstellen: " +maxDecimalPlaces);
      return false;
    }
    if ((letter=="-") && i!=0) {
      entry.focus();
      entry.select();
      alert("Ungültige Zahl");
      return false;
    }
    if (letter==",") { decimalPoint=true; }
    if (letter==".") {
      if (dotFoundIndex >= 0) {
        invalidNumber = true;
      } else {
        thousandFoundIndex = i;
      }
    }
    if (letter==",") {
      dotFoundIndex = i;
    }
    if (dotFoundIndex == i && i == (val.length - 1))  {
      invalidNumber = true;
    }
    if (thousandFoundIndex >= 0 && dotFoundIndex == i && ((dotFoundIndex - thousandFoundIndex) != 4))  {
      invalidNumber = true;
    }
    if (thousandFoundIndex >= 0 && dotFoundIndex < 0 && (i == val.length - 1) && (i - thousandFoundIndex != 3 )){
      invalidNumber = true;
    }
    newVal = newVal + letter;
  }
  entry.value = newVal;
  if (invalidNumber) {
    alert("Ungültige Zahl");
    entry.focus();
    entry.select();
    return false;
  }
  return true;
}
function checkText(entry) {
  var val = entry.value + "";
  val = val.replace(/ */, "");
  if (val.length > 0)  { return true; }
  entry.focus();
  entry.select();
  alert("Dieses Feld darf nicht leer sein.");
  return false;
}
function doCheckFormscout(frm) {
if(!checkDuration(frm.d)) { return false; }
if(!checkNumber(frm.d)) { return false; }
if(!checkValueRange(frm.d, "-999999.0", "999999.0", "true")) { return false; }
if(!checkNumber(frm.a0)) { return false; }
if(!checkValueRange(frm.a0, "-999999.0", "999999.0", "true")) { return false; }
if(!checkNumber(frm.r0)) { return false; }
if(!checkValueRange(frm.r0, "-999999.0", "999999.0", "true")) { return false; }
if(!checkStartDate(frm)) { return false; }
if(!setOnChangeDur(frm)) { return false; }
if(!roomCheck(frm)) { return false; }
if(!ceckJS(frm)) { return false; }

return true;
}

function compareDate(dayf, monthf, yearf, dayt, montht, yeart, equal) {
  if (parseInt(yeart) < parseInt(yearf)) {  return 0; }
  if (parseInt(yeart) > parseInt(yearf)) {  return 1; }
  if (parseInt(montht) < parseInt(monthf)) {  return 0; }
  if (parseInt(montht) > parseInt(monthf)) { return 1; }
  if (equal)   {
    if (parseInt(dayt) < parseInt(dayf))   {  return 0; }
  } else {
    if (parseInt(dayt) <= parseInt(dayf))   {  return 0; }
  }
  return 1;
}
function convertLocaleSpecificNumberToFloat(val) {
  var tempVal = ""; 
  for (var i=0;i<val.length;i++)   {      
   letter=val.substring(i,i+1);          
   if (letter != ".") {
     if (letter == ",") {
       tempVal = tempVal + "."; 
     } else {
       tempVal = tempVal + letter; 
     }
    }
  }
  return tempVal*1;
}

    function ceckJS(frm) {
    	if (frm != null && frm.jse != null) {
				frm.jse.value = 1;
    	}
      return true;
    }
  
function getMonthFromMonthYear(elem) {
  var i = elem.indexOf("_");
  var month = parseInt(elem.substring(0,i));
  return month;
}

function roomCheck(frm) {
  if (parseInt(frm.r0.value) == 0) {
    alert("Geben Sie bitte die Anzahl der Zimmer ein!");
    frm.r0.focus();
    return false;
  }
  return true;
}
function doCheckFormsearchCMP(frm) {

return true;
}

                function openNewWindow(linkObjekt) {
                  var isOp = (navigator.userAgent.toLowerCase().indexOf("opera") != -1) ? true : false;
                  var linkHref= "";
                  if (linkObjekt.getAttribute) linkHref = linkObjekt.getAttribute("href");
                  if (linkHref == "") return true;
                  var externesLinkFenster = window.open(linkHref, "Extended", "resizable=yes,location=yes,menubar=yes,toolbar=yes,status=yes,scrollbars=yes");
                  if (externesLinkFenster && !isOp) externesLinkFenster.focus();
                  return (externesLinkFenster) ? false : true;
                }
              
function checkStartDate(frm) {
  var day = parseInt(frm.sd_D.options[frm.sd_D.selectedIndex].value);
  var mon = 0;
  var yea = 0;
  if(checkForCombinedMonthYear(frm.sd_M.options[frm.sd_M.selectedIndex].value)){
    mon = getMonthFromMonthYear(frm.sd_M.options[frm.sd_M.selectedIndex].value);
    yea = getYearFromMonthYear(frm.sd_M.options[frm.sd_M.selectedIndex].value);
  }else{
    mon = parseInt(frm.sd_M.options[frm.sd_M.selectedIndex].value);
    yea = parseInt(frm.sd_Y.options[frm.sd_Y.selectedIndex].value);
  }
  today = new Date();
  var daynow = today.getDate();
  var monthnow = today.getMonth();
  var yearnow = today.getYear();
  if (!compareDate(daynow, monthnow, yearnow, day, mon, yea, 1)) {
    frm.sd_D.focus();
    alert("Das angegebene Anreisedatum liegt in der Vergangenheit.");
    return false;
  }
  return true;
}

function doOnLoad() {

return true;
}

function doOnUnLoad() {

return true;
}
