﻿var oResultsOps=new function() {
		
	this.SearchPromptImage;
	
	this.GroupSelect=function(Type, ID) {
		
		var aCheckboxes,bChecked;
		if (Type=='Property') {
			bChecked=f.GetObject('chk_P').checked;
			aCheckboxes=f.GetObjectsByIDPrefix('chk_P_','input');
		} else {
			bChecked=f.GetObject('chk_E_'+ID).checked;
			aCheckboxes=f.GetObjectsByIDPrefix('chk_E_'+ID+'_','input');
		}
		
		for (var i=0;i<aCheckboxes.length;i++) {
			aCheckboxes[i].checked=bChecked;
		}
	}
	
	
	this.Validate=function() {
		
		var bAnySelected=false;
		var aCheckboxes=f.GetObjectsByIDPrefix('chk_P_','input');
		for (var i=0;i<aCheckboxes.length;i++) {
			bAnySelected=bAnySelected || aCheckboxes[i].checked;
		}
		
		if (!bAnySelected) {
			aCheckboxes=f.GetObjectsByIDPrefix('chk_E_','input');
			for (var i=0;i<aCheckboxes.length;i++) {
				bAnySelected=bAnySelected || aCheckboxes[i].checked;
			}			
		}
		
		if (bAnySelected) {
			ButtonPostBack(f.GetObject('btnContinueBooking'));
		} else {
			ShowInfoBox('Please make sure that you selected at least one option before you continue');
		}
	
	}
	
	

	
	
	this.ToggleDescription=function(iGeographyLevel3ID) {
		
		var oSpan=f.GetObject('spnRes_'+iGeographyLevel3ID);
		var aLink=f.GetObject('aRes_'+iGeographyLevel3ID);
		
		if (f.Visible(oSpan)) {
			f.Hide(oSpan);
			aLink.innerHTML=' [read more...]';
		} else {
			f.Show(oSpan);
			aLink.innerHTML=' [less]';
		}
	
	}

}

var oFeatureSearch=new function() {
	this.FlashesLeft=0;
	this.Flashed=false;
	
	//level1 select
	this.Level1Select=function() {
		var iLevel1ID=dd.GetValue('ddlLevel1');
		
		if (iLevel1ID>0) {
		
			dd.Clear('ddlLevel2And3');
			dd.AddOption('ddlLevel2And3','Any',0);
			for (var iLoop1=0;iLoop1<oGeography.Level1s.length;iLoop1++) {
				if (oGeography.Level1s[iLoop1].L1ID==iLevel1ID) {
					
					var oLevel2;
					for (var iLoop2=0;iLoop2<oGeography.Level1s[iLoop1].Level2s.length;iLoop2++) {
						oLevel2=oGeography.Level1s[iLoop1].Level2s[iLoop2];
						dd.AddOption('ddlLevel2And3',oLevel2.L2Name,1000000+oLevel2.L2ID);
						
						for (var iLoop3=0;iLoop3<oLevel2.Level3s.length;iLoop3++) {
							oLevel3=oLevel2.Level3s[iLoop3];
							dd.AddOption('ddlLevel2And3','..'+oLevel3.L3Name,oLevel3.L3ID);
						
						}
					}
				}
			}
			f.Show('divLevel2And3');
		}
		
		if (iLevel1ID==0) {
			dd.Clear('ddlLevel2And3');
			f.Hide('divLevel2And3');
		}
		
	}

	this.Flash=function(iNumberOfFlashes) {
		
		if (!f.GetObject('imgSearchPrompt')) {
			this.SearchPromptImage=document.createElement('img');
			this.SearchPromptImage.setAttribute('src','/customamro/images/searchprompt.gif?v=1');
			this.SearchPromptImage.setAttribute('id','imgSearchPrompt');
			this.SearchPromptImage.style.position='absolute';

			var oSearchBoxPos=e.GetPosition('divFeatureSearch');
			e.SetPosition(this.SearchPromptImage, new e.Position(oSearchBoxPos.Left+140,170,197,92));
			f.GetObject('frm').appendChild(this.SearchPromptImage);
		}

		e.SetOpacity(this.SearchPromptImage,100);			
		setTimeout('oFeatureSearch.FlashHide()',3000);
		
	
	}

	this.FlashHide=function() {
		e.FadeOut(oFeatureSearch.SearchPromptImage, 1);
	}
	
	
	this.SearchLevel3=function(iGeographyLevel3ID) {
		oFeatureSearch.SetLevel3Dropdowns(iGeographyLevel3ID);
		oFeatureSearch.Validate();
	}
	
	
	this.ShowLevel3Search=function(iGeographyLevel3ID) {
		window.location='#';

		if (f.GetObject('divSelectedResort')) {
			f.GetObject('divSelectedResort').innerHTML=f.GetObject('divRes_'+iGeographyLevel3ID).innerHTML;
			f.Show('divSelectedResort');
		}
		
		oFeatureSearch.SetLevel3Dropdowns(iGeographyLevel3ID);			
		oFeatureSearch.Flash(8);
		return;
		
	}	

	this.SetLevel3Dropdowns=function(iGeographyLevel3ID) {
		for (var i=0;i<oGeography.Level1s.length;i++) {
			for (var j=0;j<oGeography.Level1s[i].Level2s.length;j++) {
				for (var k=0;k<oGeography.Level1s[i].Level2s[j].Level3s.length;k++) {
					if (oGeography.Level1s[i].Level2s[j].Level3s[k].L3ID==iGeographyLevel3ID) {
						dd.SetValue('ddlLevel1',oGeography.Level1s[i].L1ID);
						oFeatureSearch.Level1Select();
						dd.SetValue('ddlLevel2And3', iGeographyLevel3ID);
						return;
					}
				}
			}
		
		}
	}
	
	this.SetDate=function(Day, Month, Year) {
		dd.SetValue('calArrivalDate_MonthYear',Month+'_'+Year);
		dd.SetValue('calArrivalDate_Day',Day);
	}
	
	//validate
	this.Validate=function() {
	
		var sWarnings='';
	
		//make sure date is in the future
		//and either a country has been selected or one feature
		if (new Calendar(null,'calArrivalDate').CurrentDate<new Date()) {
			sWarnings+='Please make sure the Date is in the future';
		}
		
		if (dd.GetValue('ddlLevel1')==0 || dd.GetValue('ddlLevel2And3')==0) {
			var aFeatureCheckboxes=f.GetObjectsByIDPrefix('chkSF_','input');
			var bAnyChecked=false;
			for (var i=0;i<aFeatureCheckboxes.length;i++) {
				if (aFeatureCheckboxes[i].checked) {
					bAnyChecked=true;
					break;
				}
			}
			
			if (!bAnyChecked) {
				sWarnings+=(sWarnings=='' ? '' : '|')+'Please make sure you select a location or at least one feature from the \'What\' section';
			}
		}
		
		if (n.SafeNumeric(dd.GetValue('sddSellingCurrencyID')) <= 0) {
			sWarnings+=(sWarnings=='' ? '' : '|')+'Please select a Currency';
		}
		
		if (sWarnings=='') {
			Postback('FeatureSearch');
		} else {
			ShowInfoBox(sWarnings);
		}
	}
}


var oCallback=new function() {
	
	this.Validate=function() {
	
		var oValidator=new Validator('btnSubmit');
		oValidator.AddValidation('txtName','Name','NotEmpty');
		oValidator.AddValidation('txtPhoneNumber','Phone Number','NotEmpty');
		oValidator.Validate();
	}
}


var oContactUs=new function() {

	this.Validate=function() {
			
		var oValidator=new Validator('btnSubmit');
		oValidator.AddValidation('txtYourName','Name','NotEmpty');
		oValidator.AddValidation('txtPhoneNumber','Phone Number','NotEmpty');
		oValidator.AddValidation('txtEmail','Email Address','NotEmptyIsEmail');
		oValidator.AddValidation('txtComments','Comments','NotEmpty');
		
		oValidator.Validate();
	}
}



var oResort=new function() {

	this.PropertyClick=function(iPropertyID) {
		window.location=f.GetObject('a_P_'+iPropertyID).href;
	}
}
