var m_r0 = new Array();
m_r0['de']		= "Bitte geben Sie die Zimmeranzahl ein";
m_r0['en']		= "Please enter the Number of Rooms";
var m_date = new Array();
m_date['de'] 	= "Bitte überprüfen Sie das eingegebene Datum";
m_date['en'] 	= "Please check the Date you have entered";
var m_sd = new Array();
m_sd['de'] 		= "Das Anreisedatum liegt in der Vergangenheit";
m_sd['en'] 		= "Check In Date cannot be earlier than today";
var m_ed = new Array();
m_ed['de'] 		= "Das Abreisedatum liegt vor dem Anreisedatum";
m_ed['en'] 		= "End date cannot be earlier than initial date";
var m_date1 = new Array();
m_date1['de']	= "Bitte geben Sie ein gültiges Datum ein";
m_date1['en']	= "Please chose a valid Date.";
var m_d = new Array();
m_d['de']		= "Die Aufenthaltsdauer muss mindestens 1 Nacht betragen";
m_d['en']		= "Length of Stay must be more than 0 Days";
var m_d1 = new Array();
m_d1['de']		= "Die Aufenthaltsdauer kann maximal 50 Nächte betragen";
m_d1['en']		= "Length of Stay may not be more than 50 Days";
var m_num = new Array();
m_num['de']		= "Bitte geben Sie nur Zahlen ein";
m_num['en']		= "You must enter Numbers only";
var m_num1 = new Array();
m_num1['de']	= "Maximale Anzahl von Ziffern: ";
m_num1['en']	= "Maximum decimal places permitted: ";
var m_num2 = new Array();
m_num2['de']	= "Ungültige Zahl";
m_num2['en']	= "Invalid Number";
var m_max = new Array();
m_max['de']		= "Maximale Eingabe: ";
m_max['en']		= "Maximum entry permitted: ";
var m_min = new Array();
m_min['de']		= "Minimale Eingabe: ";
m_min['en']		= "Minimum entry permitted: ";
var m_mand = new Array();
m_mand['de']	= "Pflichtfeld";
m_mand['en']	= "Required field";
function roomCheck(frm) {
	if (parseInt(frm.r0.value) == 0) {
		alert(m_r0[lang]);
		frm.r0.focus();
		return false;
	}
	return true;
}
function checkDateed(frm) {
	var day = parseInt(frm.ed_D.options[frm.ed_D.selectedIndex].value, 10);
	var monTot = frm.ed_M.options[frm.ed_M.selectedIndex].value;
	var indexOfSep = monTot.indexOf('_');
	var mon = parseInt(monTot.substring(0, indexOfSep),10);
	var yea = parseInt(monTot.substring((indexOfSep+1), monTot.length),10);
	if (!validDate(day, mon, yea)) {
		frm.ed_D.focus();
		alert(m_date[lang]);
		return false;
	}
	return 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(m_sd[lang]);
		return false;
	}
	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, 0)) {
		frm.ed_D.focus();
		alert(m_ed[lang]);
		return false;
	}
	return true;
}
function applyDateChange(id) {
	var frm = document.getElementById("scout");
	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 sDat = new Date(syea, smon, sday);
	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);
	}
	var eDat = new Date(eyea, emon, eday);
	var todayDat = new Date();
	if (id == 1) {
		if (!validDate(sday, smon, syea)) {
			alert(m_date1[lang]);
			return false;
		}
		if (!checkStartDate(frm)) {
			return false;
		}
	}
	if (id == 2) {
		if (!validDate(eday, emon, eyea)) {
			alert(m_date1[lang]);
			return false;
		}
	}
	var one_day=1000*60*60*24
	        var daysDiff = Math.ceil((eDat.getTime()-(sDat.getTime()))/(one_day));
	if (daysDiff  <= 0) {
		if (id==1 || id==3) {
			var newEDat = new Date();
			newEDat.setTime(sDat.getTime());
			setNewDateValue(frm, id, newEDat, checkForCombinedMonthYear(frm.sd_M.options[frm.sd_M.selectedIndex].value));
		}
		if (id==2) {
			var newSDat = new Date();
			newSDat.setTime(eDat.getTime());
			if (newSDat>=todayDat) {
				setNewDateValue(frm, id, newSDat, checkForCombinedMonthYear(frm.sd_M.options[frm.sd_M.selectedIndex].value));
			}
		}
	}
	return true;
}
function validDate(day, mon, year) {
	mon = mon + "";
	year = year + "";
	mon = mon.toUpperCase();
	if ((day < 1)  || (day > 31)) {
		return 0;
	}
	if ((year < 0)  || (year > 9999) || (year == "NaN") || (year == ("-" + "-" + "-"))) {
		return 0;
	}
	if ((mon != "0") && (mon != "1") && (mon != "2") && (mon != "3") && (mon != "4") && (mon != "5") && (mon != "6") && (mon != "7") && (mon != "8") && (mon != "9") && (mon != "10") && (mon != "11")) {
		return 0;
	}
	if ((mon== "0") || (mon== "2") || (mon== "4") || (mon== "6") || (mon== "7") || (mon== "9") || (mon== "11")) {
		return 1;
	} else {
		if ((mon== "3") || (mon== "5") ||   (mon== "8") || (mon== "10")) {
			if (day <= 30) {
				return 1;
			}
		} else {
			if (mon == "1") {
				if (((year % 4) == 0) && ((year % 100) != 0)) {
					if (day <= 29) {
						return 1;
					}
				}
				if ((year % 400) == 0) {
					if (day <= 29) {
						return 1;
					}
				}
				if (day <= 28) {
					return 1;
				}
			} else {
				return 0;
			}
		}
	}
	return 0;
}
function doCheckFormscout(frm) {
	if(!checkDatesd(frm)) {
		return false;
	}
	if(!checkStartDate(frm)) {
		return false;
	}
	if(!checkDateed(frm)) {
		return false;
	}
	if(!checkStartDate(frm)) {
		return false;
	}
	if(!checkNumber(frm.r0)) {
		return false;
	}
	if(!checkValueRange(frm.r0, "-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(!checkDateRange(frm)) {
		return false;
	}
	if(!checkStartDate(frm)) {
		return false;
	}
	if(!setOnChangeDur(frm)) {
		return false;
	}
	if(!roomCheck(frm)) {
		return false;
	}
	if(!ceckJS(frm)) {
		return false;
	}
	formatDate();
	return true;
}
function changedEndDate() {
	applyDateChange(2);
}
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 setOnChangeDur(frm) {
	// if (frm.d.value < 1) {
		// frm.d.focus();
		// frm.d.select();
		// alert(m_d[lang]);
		// 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 setNewDateValue(frm, id, newDate, combYearMonth) {
	var yearnow = parseInt(frm.sd_YN.value);
	var newDay = newDate.getDate();
	var newMon = newDate.getMonth();
	var newYear = newDate.getYear();
	var newY =newYear - yearnow;
	if (newYear < 1000) {
		newYear+=1900;
	}
	if (id==1 || id==3) {
		frm.ed_D.selectedIndex = newDay-1;
		if (combYearMonth) {
			frm.ed_M.value = newMon + "_" + (newYear);
		} else {
			frm.ed_M.selectedIndex = newMon;
			frm.ed_Y.selectedIndex = newYear - yearnow
		}
	}
	if (id==2) {
		frm.sd_D.selectedIndex = newDay-1;
		if (combYearMonth) {
			frm.sd_M = newMon + "_" + (newYear);
			;
		} else {
			frm.sd_M.selectedIndex = newMon;
			frm.sd_Y.selectedIndex = newYear - yearnow
		}
	}
}
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 doCheckFormsearchCMP(frm) {
	return true;
}
function checkDuration(frm) {
	var dur = parseInt(frm.value);
	if (dur > 50) {
		frm.focus();
		frm.select();
		alert(m_d1[lang]);
		return false;
	}
	return true;
}
function getMonthFromMonthYear(elem) {
	var i = elem.indexOf("_");
	var month = parseInt(elem.substring(0,i));
	return month;
}
function ceckJS(frm) {
	if (frm != null && frm.jse != null) {
		frm.jse.value = 1;
	}
	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!=","))
		         || ((letter==".")&&(decimalPoint==true)) ) {
			entry.focus();
			entry.select();
			alert(m_num[lang]);
			return false;
		}
		if ((decimalPoint==true)&&(letter!="-")) {
			decimalPlaces++;
		}
		if (decimalPlaces>maxDecimalPlaces && letter!="0") {
			entry.focus();
			entry.select();
			alert(m_num1[lang] +maxDecimalPlaces);
			return false;
		}
		if ((letter=="-") && i!=0) {
			entry.focus();
			entry.select();
			alert(m_num2[lang]);
			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(m_num2[lang]);
		entry.focus();
		entry.select();
		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(m_max[lang] + max );
		entry.focus();
		return false;
	} else if (value<parseFloat(min)) {
		alert(m_min[lang] + min );
		entry.focus();
		return false;
	} else {
		return true;
	}
}
function checkForCombinedMonthYear(elem) {
	var i = elem.indexOf("_");
	if (i == -1) {
		return false;
	} else {
		return true;
	}
}
function checkText(entry) {
	var val = entry.value + "";
	val = val.replace(/ */, "");
	if (val.length > 0) {
		return true;
	}
	entry.focus();
	entry.select();
	alert(m_mand[lang]);
	return false;
}
function checkDatesd(frm) {
	var day = parseInt(frm.sd_D.options[frm.sd_D.selectedIndex].value, 10);
	var monTot = frm.sd_M.options[frm.sd_M.selectedIndex].value;
	var indexOfSep = monTot.indexOf('_');
	var mon = parseInt(monTot.substring(0, indexOfSep),10);
	var yea = parseInt(monTot.substring((indexOfSep+1), monTot.length),10);
	if (!validDate(day, mon, yea)) {
		frm.sd_D.focus();
		alert(m_date[lang]);
		return false;
	}
	return true;
}
function getYearFromMonthYear(elem) {
	var i = elem.indexOf("_");
	var year = parseInt(elem.substring((i+1),elem.length));
	return year;
}
function formatDate(){
	var sd = document.getElementById('sd_M').value.split('_');
	var ed = document.getElementById('ed_M').value.split('_');
	document.getElementById('sd').value = document.getElementById('sd_D').value + "." + (parseInt(sd[0])+1) + "." + sd[1];
	document.getElementById('ed').value = document.getElementById('ed_D').value + "." + (parseInt(ed[0])+1) + "." + ed[1];

	return false;
}
