﻿function changeReturnVisibility(divId, visible) {
	if(visible)
		document.getElementById(divId).style.display = 'inline';
	else
		document.getElementById(divId).style.display = 'none';
}

function refreshHotels(container, loadingDiv, tipsFrame, oldHeader, newHeader) {
	new Ajax.Request('AjaxSearchMade.aspx');
	
	var hotelPars = getHotelParameters();
	
	$(container).innerHTML = $(loadingDiv).innerHTML;
	$(tipsFrame).innerHTML = "Loading...";
	
	//Update header
	$(oldHeader).innerHTML = $(newHeader).innerHTML;
	$(oldHeader).up().vAlign = '';

	new OutSystems.UpdatePanel($(container), 'UpdateHotels.aspx?Random=' + Math.random() + getHotelParametersAsQueryString(),{});

	new OutSystems.UpdatePanel($(tipsFrame), 'AjaxTips.aspx?CurrentLocale=' + currentLocale + '&IsNewPage=true&UseAdSense=' + useAdSense + "&s_source=" + s_source + '&Suffix=' + adSenseSuffix + '&ClientId=' + adSenseClientId + '&Channel=' + adSenseChannel + '&NumberOfAds=' + adSenseNumberOfAds + '&InterfaceLanguage=' + adSenseLanguage + '&RealTracking=' + adSenseRealTracking + '&origin=' + hotelPars.cityName + '&destination=' + hotelPars.cityName + '&FadedLogos=' + fadedLogo + '&SearchMade=True&ActiveTab=2&TabDeals=3&DestinationCityCode=' + hotelPars.cityName + "&LocaleId=" + currentLocaleId+ '&AdsenseAlternateWithSignupWidget=' + adsenseAlternateWithSignupWidget, {asynchronous:true});
	
	return false;
}

function sendRankings(origin, destination) {
	var url = '/SuperSearchServices/UserRating.aspx';

	var pars = 'Ratings=' + newScreenRating + '&Origin=' + origin + '&Destination=' + destination;

	var myAjax = new Ajax.Request(url, { method: 'get', parameters: pars }); 

}

function verifyInputs() {
	var validForm = true;
	var checkinDoc = document.getElementById('wtcheckinDateInput');
	var checkoutDoc = document.getElementById('wtcheckoutDateInput');
	
	// validate checkin
	if(checkinDoc.value == '') {
		alert('Please insert a check-in date');
		validForm = false;
	}
	
	// validate checkout
	if(checkoutDoc.value == '') {
		alert('Please insert a check-out date');
		validForm = false;
	}
	
	var isCheckinDate = isDate(checkinDoc.value);
	var isCheckoutDate = isDate(checkoutDoc.value);
	if( !isCheckinDate || !isCheckoutDate )
	{
		validForm = false;
	}
	var checkinDate = new Date(getDateFromString(checkinDoc.value ,dateFormat));
    	var checkoutDate = new Date(getDateFromString(checkoutDoc.value,dateFormat));
	
	var tmpDate = new Date();
	var currentDate = curDateForValidation ;
	
	if(isCheckinDate && checkinDate.valueOf() < currentDate.valueOf()) {
		alert('The check-in date cannot be in the past.\nPlease also check your system date and time as they may be incorrect.');
		return false;
	}
	
	if(isCheckinDate && checkinDate.valueOf() - currentDate.valueOf() > (1000 * 3600 * 24 * 331) ) {
		alert('SuperSearch only supports searches for travel within the next 330 days.\nPlease also check your system date and time as they may be incorrect..');
		//return false;
		validForm = false;
	}
	
	if(isCheckinDate && isCheckoutDate && checkinDate.valueOf() >= checkoutDate.valueOf() ) {
		alert('The check-out date must occur after the check-in date. Please change the date.');
		return false;
	}

	if(validForm && isCheckinDate && isCheckoutDate && checkoutDate.valueOf() - currentDate.valueOf() > (1000 * 3600 * 24 * 331) ) {
		alert('SuperSearch only supports searches for travel within the next 330 days.');
		//return false;
		validForm = false;
	}
	
	
	//alert(document.getElementById('wtCity').value);
	if( document.getElementById('wtCity').value == '') {
		alert('Please select a city.');
		validForm = false;;
	}

	var guests = $('wtGuestsDropDown');
	var rooms = $('wtRoomsDropDown');

	if( guests.selectedIndex < rooms.selectedIndex ) {
		alert('There should be at least one adult occupant per room');
		validForm = false;
	}

	// set date fields to proper format
	if( validForm )
	{
		checkinDoc.value = getStringFromDate(checkinDate,dateFormat);
		checkoutDoc.value = getStringFromDate(checkoutDate,dateFormat);
	}
	
	return validForm;
}



// this variable is used to check if the search parameters have been changed.
var searchChanged = false;


function trackPage(num) {
	try {
		if(num == 1)
			pageTracker._trackPageview('/SuperSearchTracking/Hotels/scenario' + scenarioNumber + '/Search');
		else
			pageTracker._trackPageview('/SuperSearchTracking/Hotels/scenario' + scenarioNumber + '/SearchAgain');
	} catch(e) {}
}



function computeBeforeDateHotels(dateInput1, dateInput2) {
	if ( isDate( $(dateInput2).value ) ) {
		var dt1 = new Date(getDateFromString($(dateInput1).value, dateFormat));
		var dt2 = new Date(getDateFromString($(dateInput2).value, dateFormat));


		var dayBefore = new Date(dt2.getTime() - 86400000);	

		if( !isDate( $(dateInput1).value ) || dt2 < dt1) {		
			var dateTimeTmp = new Date();
			var currentDate = new Date( dateTimeTmp.getFullYear(), dateTimeTmp.getMonth(), dateTimeTmp.getDate() );
		
			dt1 = dayBefore;
			if(dayBefore < currentDate)
				dt1 = dateTimeTmp;
		
			$(dateInput1).style.color = 'black';
			//$(dateInput1).value = formatDate(dt1, originalFormat);
			$(dateInput1).value = getStringFromDate(dt1, dateFormat);
			$(dateInput1).setAttribute("isEmpty", $(dateInput1).value == "" ? "true" : "false");
		}
	}
}



