function setDefaultNights(arrivalField, departureField, nightsField, defaultNumberOfNights)
{
	var dateObj = document.getElementsByName(nightsField);
	var nightsObj = dateObj;

	nightsObj.value = defaultNumberOfNights;//options[defaultNumberOfNights - 1].selected = true;
	onNightsChange(arrivalField, departureField, nightsField);
}

function dateFromFieldName(obj)
{
	var dateObj = document.getElementsByName(obj);
	var dateValue = dateObj.item(0).value;

	var date = new Date();

	date.setYear(parseInt(dateValue.substr(6,4),10));
	date.setMonth(parseInt(dateValue.substr(3,2),10) - 1);
	date.setDate(parseInt(dateValue.substr(0,2), 10));
	date.setHours(0, 0, 0, 0);
	return date;
}

function onDatesChange(arrivalField, departureField, nightsField)
{
	var dateArriv = dateFromFieldName(arrivalField);
	var dateDepart = dateFromFieldName(departureField);

	if (dateArriv >= dateDepart)
	{
/////////////
		var sum = dateArriv.getDate() + parseInt(1,10);
		var daysM = daysInMonth(dateArriv.getMonth(), dateArriv.getFullYear());

		if (sum <= daysM)
		{
			dateDepart.setDate(sum);
			dateDepart.setMonth(dateArriv.getMonth());
			dateDepart.setFullYear(dateArriv.getFullYear());
		}
		else
		{
			dateDepart.setDate(sum - daysM);
			var newMonth = dateArriv.getMonth() + parseInt(1,10);
			if (newMonth < 12)
			{
				dateDepart.setMonth(newMonth);
				dateDepart.setFullYear(dateArriv.getFullYear());
			}
			else
			{
				dateDepart.setMonth(0);
				var newYear = dateArriv.getFullYear()+parseInt(1,10);
				dateDepart.setFullYear(newYear);
			}
		}
/////////////

		var dateObj = document.getElementsByName(departureField);
		dateObj.item(0).value = dateToStr(dateDepart);
	}

	var dat=dateDepart.getTime()-dateArriv.getTime();

    dat=Math.floor(dat/1000/3600/24);
	var nightsFieldObj = document.getElementsByName(nightsField);
	nightsFieldObj.value = dat;
}

function dateToStr(dateIn)
{
	var date = "0" + dateIn.getDate();
	var month = "0"+(parseInt(dateIn.getMonth(),10)+1);
	return date.slice(-2)+"/"+month.slice(-2)+"/"+dateIn.getFullYear();
}

function dateTodayToStr()
{
	return dateToStr(new Date());
}

function dateTomorrowToStr()
{
	var today = new Date();
	today.setDate(today.getDate()+1);
	return dateToStr(today);
}

function checkData(arrivalField, formName)
{
	var dateArriv = dateFromFieldName(arrivalField);

	var date = "0" + dateArriv.getDate();
	var month = "0"+(parseInt(dateArriv.getMonth(),10)+1);
	formName.arrival_date.value = "" + dateArriv.getFullYear() + month.slice(-2) + date.slice(-2);

	formName.arrival_day.value = dateArriv.getDate();
	formName.arrival_month.value = (parseInt(dateArriv.getMonth(),10)+1);
	formName.arrival_year.value = dateArriv.getFullYear();
}

function onNightsChange(arrivalField, departureField, nightsField)
{
	var dateArriv = dateFromFieldName(arrivalField);
	var dateDepart = dateFromFieldName(departureField);

	var nightsFieldObj = document.getElementsByName(nightsField);
	var nightsCount = nightsFieldObj.value;

	var newDate = new Date();
	var sum = dateArriv.getDate() + parseInt(nightsCount,10);
	var daysM = daysInMonth(dateArriv.getMonth(), dateArriv.getFullYear());
	if (sum <= daysM)
	{
		newDate.setDate(sum);
		newDate.setMonth(dateArriv.getMonth());
		newDate.setFullYear(dateArriv.getFullYear());
	}
	else
	{
		newDate.setDate(sum - daysM);
		var newMonth = dateArriv.getMonth() + parseInt(1,10);
		if (newMonth < 12)
		{
			newDate.setMonth(newMonth);
			newDate.setFullYear(dateArriv.getFullYear());
		}
		else
		{
			newDate.setMonth(0);
			var newYear = dateArriv.getFullYear()+parseInt(1,10);
			newDate.setFullYear(newYear);
		}
	}

	var dateObj = document.getElementsByName(departureField);
	var dateValue = dateObj.item(0).value;

	var date = "0" + newDate.getDate();
	var month = "0"+(parseInt(newDate.getMonth(),10)+1);
	dateObj.item(0).value = "" + date.slice(-2) + "/" + month.slice(-2) + "/" + newDate.getFullYear();
}
function daysInMonth(iMonth, iYear)
{
  	return 32 - new Date(iYear, iMonth, 32).getDate();
}

function ShowHotelPopup(form1, form2, form3, nightsCount)
{
    
	var id_mpln = (form1 && form1.meal_plan) ? escape(form1.meal_plan.value) : 0;
	var curDate = new Date();
	var day = ( form2 && form2.arrival_day ) ? form2.arrival_day.value : curDate.getDate();
	var month = ( form2 && form2.arrival_date ) ? form2.arrival_date.value.substr(4, 2) : ( curDate.getMonth() + 1 );
	var year = ( form2 && form2.arrival_year ) ? form2.arrival_year.value : ( curDate.getYear() );

	var nights = ( form3 && form3.nights ) ? form3.nights.value : 1;
	var rooms = ( form3 && form3.rooms ) ? form3.rooms.value : 1;
	var adults = ( form3 && form3.adults ) ? form3.adults.value : 1;

	var url = 'http://reservations.ihotelier.com/areasearch/default.cfm?PortalSymbol=CLF';

	if(form1.hotel.value != "all"){
		url = 'https://booking.ihotelier.com/istay/istay.jsp?_a=1';
	}
	
   var dateSep = encodeURIComponent("/");
url += "&HotelID=" + form1.hotel.value;
url += "&DateIn=" +  month + dateSep + makeTwoDigit(day) + dateSep + year;
url += "&Length=" + nightsCount;
url += "&locale=EN&languageid=11";
url += "&Rooms=" + rooms;
url += "&Adults=" + adults;
	//var newWin = window.open(url,'search','dependent=yes,width=1000,height=800,titlebar=yes,top=0,left=0,scrollbars=yes');
    window.location = url;
}

function OnRemoteSearchButtonClick(form1, form2, form3, nightsField)
{
	var nightsFieldObj = document.getElementsByName(nightsField);
	var nightsCount = nightsFieldObj.value;
    ShowHotelPopup( form1, form2, form3, nightsCount);
}

function makeTwoDigit(inValue)
{
    var numVal = parseInt(inValue, 10);

    if (numVal < 10)
	{

        return("0" + numVal);
    }
    else
	{
        return numVal;
    }
}
