function checkform(_msg_eroare, objError, fromAdmin) {
	_msg_alert = "";
	var ok = true;
	var gol = false;
	var dc = document;
	var err = 0;
	eroare = "";
	eroare_nr = "";
	eroare_hotel = "";

	//
	var totalRooms = 0;
	var PeriodIs = 30;
	var NrRoomsIfPeriodIsLower = 9;
	var NrRoomsIfPeriodIsHigher = 5;


	var result='';
	objError.eroarePos = false;
	objError.errorMsg = _msg_eroare;

	if (document.getElementById("hotelId")){
		obj = document.getElementById("hotelId");
		if (document.getElementById("hotelId").value == '0'){
			err = 1;
			eroare_hotel += _msg_hotel;

			objError.errorMsg += eval("objError.msg_hotel") ;
			obj.className += " RedInput";

			if(!objError.eroarePos){
				obj.focus();
				objError.eroarePos = true;
			}
		}else{
			obj.className = obj.className.replace(/\ RedInput/g,'');
		}
	}

	//Persons
	objError = verificObj("persons",verificNumarIntregPozitiv(document.getElementById("persons")),objError);

	var ez = document.getElementById('ez');
	if(ez) totalRooms += Number(ez.value);
	var dz = document.getElementById('dz');
	if(dz) totalRooms += Number(dz.value);
	var suite = document.getElementById('suite');
	if(suite) totalRooms += Number(suite.value);
	var appartement = document.getElementById('appartement');
	if(appartement) totalRooms += Number(appartement.value);
	var landhaus = document.getElementById('landhaus');
	if(landhaus) totalRooms += Number(landhaus.value);

	if(!totalRooms){
		if(ez) objError = verificObj("ez",false,objError);
		if(dz) objError = verificObj("dz",false,objError);
		if(suite) objError = verificObj("suite",false,objError);
		if(appartement) objError = verificObj("appartement",false,objError);
		if(landhaus) objError = verificObj("landhaus",false,objError);
	}else if(!fromAdmin){
		if(ez) objError = verificObj("ez",true,objError);
		if(dz) objError = verificObj("dz",true,objError);
		if(suite) objError = verificObj("suite",true,objError);
		if(appartement) objError = verificObj("appartement",true,objError);
		if(landhaus) objError = verificObj("landhaus",true,objError);


		var obTotalRooms = document.getElementById('totalRooms');
		if(obTotalRooms){
		/* 	Sa se poata alege
		- max 5 camere daca rezervarea se face cu mai putin de o luna mai devreme si
		- in cazul in care rezervare se face cu o cel putin luna inainte se pot rezerva maxim 9 camere
		*/
			var startDate = '';
			var endDate = '';
			var obDayStart = document.getElementById('sdate');
			if(obDayStart) startDate = obDayStart.value;
			var obDayEnd  = document.getElementById('edate');
			if(obDayEnd) endDate = obDayEnd.value;

			obTotalRooms.value= Number(totalRooms);
			//alert(totalRooms);
			if(startDate!='' && endDate!=''){
				var dBtw = 0;
				var dBtwS =  mdy2ymd(startDate);
				var dBtwE =  mdy2ymd(endDate);

				var dBtw = days_between(dBtwS,dBtwE);
				//alert('startDate=' + startDate + '| endDate=' + endDate +' | dBtw=' + dBtw);

				if(dBtw <= PeriodIs && totalRooms > NrRoomsIfPeriodIsLower)   objError = verificObj("totalRooms",false,objError);
				if(dBtw > PeriodIs && totalRooms > NrRoomsIfPeriodIsHigher)   objError = verificObj("totalRooms",false,objError);
			}
		}


	}

	if(parseInt(document.getElementById("hotelId").value,10)>0){
		if(ez && parseInt(document.getElementById("ez").value,10)>0 && parseInt(document.getElementById("max_ez").value,10)>0) objError = verificObj("max_ez",parseInt(document.getElementById("ez").value,10)<=parseInt(document.getElementById("max_ez").value,10),objError);
		if(dz && parseInt(document.getElementById("dz").value,10)>0 && parseInt(document.getElementById("max_dz").value,10)>0) objError = verificObj("max_dz",parseInt(document.getElementById("dz").value,10)<=parseInt(document.getElementById("max_dz").value,10),objError);
		if(suite && parseInt(document.getElementById("suite").value,10)>0 && parseInt(document.getElementById("max_suite").value,10)>0)           objError = verificObj("max_suite",parseInt(document.getElementById("suite").value,10)<=parseInt(document.getElementById("max_suite").value,10),objError);
		if(appartement && parseInt(document.getElementById("appartement").value,10)>0 && parseInt(document.getElementById("max_app").value,10)>0) objError = verificObj("max_app",parseInt(document.getElementById("appartement").value,10)<=parseInt(document.getElementById("max_app").value,10),objError);
		if(landhaus && parseInt(document.getElementById("landhaus").value,10)>0 && parseInt(document.getElementById("max_land").value,10)>0)      objError = verificObj("max_land",parseInt(document.getElementById("landhaus").value,10)<=parseInt(document.getElementById("max_land").value,10),objError);
	}


	// animale
	patsObj = document.getElementById("pats_allow");
	if(patsObj && patsObj.value != "" && patsObj.value != "0"){
		objError = verificObj("pats_allow",verificNumarIntregPozitiv(document.getElementById("pats_allow")),objError);
	}

	kids1Obj = document.getElementById("kids1");
	kids2Obj = document.getElementById("kids2");
	kids3Obj = document.getElementById("kids3");

	pat1Obj = document.getElementById("pat1");
	pat2Obj = document.getElementById("pat2");
	pat3Obj = document.getElementById("pat3");
	pat5Obj = document.getElementById("pat5");

	if(kids1Obj && kids1Obj.value != "" && kids1Obj.value != "0"){
		objError = verificObjParamExtraOnly("pat1|pat5",verificNumarIntregPozitiv(document.getElementById("pat1")),objError,_msg_kinderbett);
	}
	if(pat1Obj && pat1Obj.value != "" && pat1Obj.value != "0"){
		objError = verificObjParamExtraOnly("kids1",verificNumarIntregPozitiv(document.getElementById("kids1")),objError,_msg_kinderbett);
	}

	if(pat5Obj && pat5Obj.value != "" && pat5Obj.value != "0"){
		objError = verificObjParamExtraOnly("kids1",verificNumarIntregPozitiv(document.getElementById("kids1")),objError,_msg_kinderbett);
	}

	if(kids2Obj && kids2Obj.value != "" && kids2Obj.value != "0"){
		objError = verificObjParamExtraOnly("pat2",verificNumarIntregPozitiv(document.getElementById("pat2")),objError,_msg_zustellbett);
	}
	if(pat2Obj && pat2Obj.value != "" && pat2Obj.value != "0"){
		objError = verificObjParamExtraOnly("kids2",verificNumarIntregPozitiv(document.getElementById("kids2")),objError,_msg_zustellbett);
	}

	if(kids3Obj && kids3Obj.value != "" && kids3Obj.value != "0"){
		objError = verificObjParamExtraOnly("pat3",verificNumarIntregPozitiv(document.getElementById("pat3")),objError,_msg_zustellbett);
	}
	if(pat3Obj && pat3Obj.value != "" && pat3Obj.value != "0"){
		objError = verificObjParamExtraOnly("kids3",verificNumarIntregPozitiv(document.getElementById("kids3")),objError,_msg_zustellbett);
	}


	if(objError.eroarePos){
		alert(objError.errorMsg);
		return false;
	}else{
		if (!checkCorespondenta() || !checkCorespondentaExtras()) return false;
		else return true;
	}
}


function verificObj(obj,result,objError,paramExtra){
	if(!paramExtra) paramExtra = "";
	obj = document.getElementById(obj);
	if(result == 0 || result == '' || result == false) result = false;
	else result = true;
	if(!result){
		objError.errorMsg += eval("objError.msg_"+obj.name) + paramExtra;
		obj.className += " RedInput";

		if(!objError.eroarePos){
			if(obj.type != "hidden") obj.focus();
			objError.eroarePos = true;
		}
	}else{
		obj.className = obj.className.replace(/\ RedInput/g,'');
	}
	return objError;
}

function verificObjParamExtraOnly(obj,result,objError,paramExtra){
	if(!paramExtra) paramExtra = "";
	var arrObjs = obj.split("|");
	if (arrObjs.length == 1)
	{
		obj = document.getElementById(obj);
		if(result == 0 || result == '' || result == false) result = false;
		else result = true;
		if(!result){
			objError.errorMsg +=  paramExtra;
			obj.className += " RedInput";

			if(!objError.eroarePos){
				if(obj.type != "hidden") obj.focus();
				objError.eroarePos = true;
			}
		}else{
			obj.className = obj.className.replace(/\ RedInput/g,'');
		}
	}
	else
	{
		var allresult = false;
		/*for(i in arrObjs)*/
		for(i=0; i < arrObjs.length; i++)
		{
			obj = document.getElementById(arrObjs[i]);
			result = verificNumarIntregPozitiv(document.getElementById(arrObjs[i]));
			if(result == 0 || result == '' || result == false) result = false;
			else result = true;
			allresult = allresult || result;
		}
		if(!allresult){
			objError.errorMsg +=  paramExtra;
			obj.className += " RedInput";

			if(!objError.eroarePos){
				if(obj.type != "hidden") obj.focus();
				objError.eroarePos = true;
			}
		}else{
			obj.className = obj.className.replace(/\ RedInput/g,'');
		}
	}
	return objError;
}

//alert(days_between('2006/01/15','2006/01/16'));
function days_between(dates1,dates2) {
if(!dates1) return 0;
if(!dates2) return 1;
    // The number of milliseconds in one day
    var ONE_DAY = 1000 * 60 * 60 * 24
    var date1=new Date(dates1);
    var date2=new Date(dates2);

	var q=0;
	var i_b=date1.getTime();
	var i_e=date2.getTime();
	for (var i = i_b ; i <= i_e; i=(i+ONE_DAY))
	{
		temp = new Date()
		temp.setTime(i);
		if (temp.getDay()==0) q=q+1;
		if (temp.getDay()==6) q=q+1;
	}
    // Convert both dates to milliseconds
    var date1_ms = date1.getTime()
    var date2_ms = date2.getTime()
    // Calculate the difference in milliseconds
    var mx=date2_ms-date1_ms;
	if(mx<0){return 0;}

	var difference_ms = Math.abs(date1_ms - date2_ms)
    // Convert back to days and return
    return Math.round(difference_ms/ONE_DAY)-q
}

//alert(mdy2ymd('07.01.2006'));
function mdy2ymd(par){
	var yy = par.substr(6,9);
	var mm = par.substr(3,2);
	var dd = par.substr(0,2);
	return yy+'/'+mm+'/'+dd;
}

function checkCorespondenta(){
	var eroare = _msg_eroare2;
	var persons = document.getElementById("persons").value;

	if(null == document.getElementById('ez'))
	{
		var ez = 0;
	}
	else
	{
		var ez = document.getElementById('ez').value;
	}
	if(null == document.getElementById('dz'))
	{
		var dz = 0;
	}
	else
	{
		var dz = document.getElementById('dz').value;
	}
	if(null == document.getElementById('suite'))
	{
		var suite = 0;
	}
	else
	{
		var suite  = document.getElementById('suite').value;
	}
	if(null == document.getElementById('appartement'))
	{
		var appt = 0;
	}
	else
	{
		var appt  = document.getElementById('appartement').value;
	}
	if(null == document.getElementById('landhaus'))
	{
		var landhaus = 0;
	}
	else
	{
		var landhaus  = document.getElementById('landhaus').value;
	}

	if(null == document.getElementById('max_ez_allow'))
	{
		var max_ez_allow = 0;
	}
	else
	{
		var max_ez_allow = document.getElementById('max_ez_allow').value;
	}
	if(null == document.getElementById('max_dz_allow'))
	{
		var max_dz_allow = 0;
	}
	else
	{
		var max_dz_allow = document.getElementById('max_dz_allow').value;
	}
	if(null == document.getElementById('max_suite_allow'))
	{
		var max_suite_allow = 0;
	}
	else
	{
		var max_suite_allow  = document.getElementById('max_suite_allow').value;
	}
	if(null == document.getElementById('max_app_allow'))
	{
		var max_app_allow = 0;
	}
	else
	{
		var max_app_allow  = document.getElementById('max_app_allow').value;
	}
	if(null == document.getElementById('max_land_allow'))
	{
		var max_land_allow = 0;
	}
	else
	{
		var max_land_allow  = document.getElementById('max_land_allow').value;
	}

	if(persons > max_ez_allow*ez + max_dz_allow*dz + max_suite_allow*suite + max_app_allow*appt + max_land_allow*landhaus)
	{
		alert(eroare);
		return false;
	}
	return true;
}

function checkCorespondentaExtras()
{

	kids1 = document.getElementById('kids1') != null ? document.getElementById('kids1').value : 0;
	kids2 = document.getElementById('kids2') != null ? document.getElementById('kids2').value : 0;
	kids3 = document.getElementById('kids3') != null ? document.getElementById('kids3').value : 0;

	pat1 = document.getElementById('pat1') != null ? document.getElementById('pat1').value : 0;
	pat2 = document.getElementById('pat2') != null ? document.getElementById('pat2').value : 0;
	pat3 = document.getElementById('pat3') != null ? document.getElementById('pat3').value : 0;
	pat5 = document.getElementById('pat5') != null ? document.getElementById('pat5').value : 0;

	pat1 = Number(pat1) + Number(pat5);
	eroare = _msg_eroare;
	for(var i=1;i<=3;i++)
	{
		if(Number(eval("kids"+i)) != Number(eval("pat"+i)))
		{
			eroare += eval("_msg_kids"+i) + eval("_msg_pat"+i);
			alert(eroare);
			return false;
		}
	}
	return true;
}

function newCheckForm()
{
	ez = document.getElementById('ez').value;
	dz = document.getElementById('dz').value;
	no_ev = document.getElementById('no_events') != null ? true : false;
	persons = document.getElementById('persons').value;

	if(Number(ez) + Number(dz) == 0)
	{
		alert(_msg_eroare + _msg_ez + _msg_dz);
		return false;
	}
	else
	{
		if(Number(persons) == 0)
		{
			alert(_msg_eroare + _msg_persons);
			return false;
		}
	}
	if(no_ev && document.getElementById('duration').value == 'events')
	{
		alert(_msg_no_events);
		return false;
	}
	return true;
}
