	function Country(name) {
		this.Name = name;
		this.AccomodationTypes = new Array();

		this.addAccomodationType = function(name) {
			var accomType = new AccomodationType(name);
			this.AccomodationTypes[this.AccomodationTypes.length] = accomType;
			return accomType;
		}
	}

	function AccomodationType(name) {
		this.Name = name;
		this.Resorts = new Array();

		this.addResort = function(name) {
			var resort = new Resort(name);
			this.Resorts[this.Resorts.length] = resort;
			return resort;
		}
	}

	function Resort(name) {
		this.Name = name;
		this.Accomodations = new Array();

		this.addAccomodation = function(name) {
			accom = new Accomodation(name);
			this.Accomodations[this.Accomodations.length] = accom;
			return accom;
		}
	}

	function Accomodation(name) {
		this.Name = name;
	}

	var countries = new Array();

	//Tenerife ------------------------------------------------------------------------>
	countries[countries.length] = new Country('Tenerife');
	country = countries[countries.length];
		
		//RCI Accomodation
		accomType = countries[countries.length-1].addAccomodationType('RCI');
			//Los Cristianos
			resort = accomType.addResort('Los Cristianos');
				resort.addAccomodation('Elite Resorts');
				resort.addAccomodation('Chayofa Country');
				resort.addAccomodation('Tropical Park');

			//Playa de las Americas
			resort = accomType.addResort('Playa de las Americas');
				resort.addAccomodation('Adeje Beach');
				resort.addAccomodation('Bel Air Apartments');
				resort.addAccomodation('Club 1');
				resort.addAccomodation('Club 2');
				resort.addAccomodation('Club Flamingo');
				resort.addAccomodation('Fanabe Costa Sur');
				resort.addAccomodation('Granada Park Apartments');
				resort.addAccomodation('Green Golf');
				resort.addAccomodation('Island Village Club');
				resort.addAccomodation('La Pinta');
				resort.addAccomodation('Las Adelfas');
				resort.addAccomodation('Parque Las Americas');
				resort.addAccomodation('Regency Resorts');
				resort.addAccomodation('Tenerife Royal Gardens');
				resort.addAccomodation('Yucca Park / Los Olivos');
				resort.addAccomodation('Zentral Center');

	
			//Golf del sur
			resort = accomType.addResort('Golf del sur');
				resort.addAccomodation('Aguamarina Golf Apartments');
				resort.addAccomodation('El Nautico Suites');
				resort.addAccomodation('Royal Park Albatross');
				resort.addAccomodation('The Palms Golf and Country Club');
				resort.addAccomodation('Golf Spa Plaza');
				
			//Los Gigantes
			resort = accomType.addResort('Los Gigantes');
				resort.addAccomodation('Club La Mar');
				resort.addAccomodation('Los Dragos');
				resort.addAccomodation('Vigilia Park');
				
			//Other resorts
			resort = accomType.addResort('Other resorts');
				resort.addAccomodation('Club Marina');
				resort.addAccomodation('Callao Gardens');
				resort.addAccomodation('Marina Palace');
				resort.addAccomodation('Pearly Grey Ocean Club');
				

		//Hotel Accomodation //resort.addAccomodation('');
		accomType = countries[countries.length-1].addAccomodationType('Hotels');
			//Playa de las Americas
			resort = accomType.addResort('Playa de las Americas');
				resort.addAccomodation('Bahia Del Duque 5*');
				resort.addAccomodation('Bitacora');
				resort.addAccomodation('Bouganville');
				resort.addAccomodation('Grand Hotel Anthelia');
				resort.addAccomodation('Gran Tacande');
				resort.addAccomodation('Hotel Cleopatra');
				resort.addAccomodation('Hotel Julio Cesar');
				resort.addAccomodation('Hotel marco Antonio');
				resort.addAccomodation('Hotel Sir Anthony');
				resort.addAccomodation('Las Dalias');
				resort.addAccomodation('Mediterranean Palace');
				resort.addAccomodation('Noelia Sur');
				resort.addAccomodation('Sheraton La Caleta 5*');
				resort.addAccomodation('Torviscus Playa');
				resort.addAccomodation('Vulcano');




				
			//Los Cristianos
			resort = accomType.addResort('Los Cristianos');
				resort.addAccomodation('Arona Gran');
				
			//Playa de la Arena
			resort = accomType.addResort('Playa de la Arena');
				resort.addAccomodation('Playa de la Arena');
				
		//Villas
		accomType = countries[countries.length-1].addAccomodationType('Villas');
			//Callao Salvaje
			resort = accomType.addResort('Callao Salvaje');
				resort.addAccomodation('Coilna Verde');
				resort.addAccomodation('Sueno Azul 7');
				resort.addAccomodation('Sueno Azul 18');
				resort.addAccomodation('Sueno Azul 148');
				resort.addAccomodation('Sueno Azul 159');
				resort.addAccomodation('Sueno Azul 170');
				resort.addAccomodation('Sueno Azul 206');
				resort.addAccomodation('Sueno Azul 264');
				resort.addAccomodation('Sueno Azul 266');
				resort.addAccomodation('Sueno Azul 272');
				resort.addAccomodation('Sueno Azul 1010');
				resort.addAccomodation('Villa Bitacora');
				
			//Playa San Juan
			resort = accomType.addResort('Playa San Juan');
				resort.addAccomodation('Las Salinas 36');
				resort.addAccomodation('Las Salinas 71');


		//Rental Apartments
		accomType = countries[countries.length-1].addAccomodationType('Rental Aprtments');
			//Playa de las Americas
			resort = accomType.addResort('laya de las Americas');
				resort.addAccomodation('Club Atlantis');
				resort.addAccomodation('Compostela Beach');
				resort.addAccomodation('Garden City');
				resort.addAccomodation('Golf park');
				resort.addAccomodation('Green Golf');
				resort.addAccomodation('Las Adelfas');
				resort.addAccomodation('Oasis Golf');
				resort.addAccomodation('Ocean Park');
				resort.addAccomodation('Ocean View');
				resort.addAccomodation('Palm Beach Club');
				resort.addAccomodation('Paraiso del sol');
				resort.addAccomodation('Park Lane Club');
				resort.addAccomodation('Parque Santiago 2');
				resort.addAccomodation('Regency Resorts');
				resort.addAccomodation('San Rafael');
				resort.addAccomodation('Santa Maria');
				resort.addAccomodation('Sunset Bay');
				
			//Los Cristainos
			resort = accomType.addResort('Los Cristianos');
				resort.addAccomodation('Castle Harbour');
				resort.addAccomodation('Cristian Sur');
				resort.addAccomodation('San Marino');
				
			//Los Gigantes
			resort = accomType.addResort('Los Gigantes');
				resort.addAccomodation('Harbour Club');
				resort.addAccomodation('Sunflower');
				resort.addAccomodation('The Royal Sun');
				

	//Fuertaventura ------------------------------------------------------------------------------->
	countries[countries.length] = new Country('Fuerteventura');
	country = countries[countries.length];
		
		//RCI Accomodation
		accomType = countries[countries.length-1].addAccomodationType('RCI');
			//Only One
			resort = accomType.addResort('Only One - select name');
				resort.addAccomodation('Fuerteventura Beach Club');
				resort.addAccomodation('Fuerteventura Beach Club');
				resort.addAccomodation('Las Dunas Club');
				resort.addAccomodation('Las Marimas');

				
		//Villas
		accomType = countries[countries.length-1].addAccomodationType('Villas');
			//Only one
			resort = accomType.addResort('Only One - select name');
				resort.addAccomodation('Villas Acapulco');
				resort.addAccomodation('Villas Atlantico');
				resort.addAccomodation('Villas Bel Air');
				resort.addAccomodation('Villas Casa Granero');
				resort.addAccomodation('Villas Casa Madera');
				resort.addAccomodation('Villas Daniella');
				resort.addAccomodation('Villas Gallery');
				resort.addAccomodation('Villas Las Pergolas');
				resort.addAccomodation('Villas Nora');



		//Apartments
		accomType = countries[countries.length-1].addAccomodationType('Apartments');
			//Only One
			resort = accomType.addResort('Only One - select name');
				resort.addAccomodation('Atlantic Gardens');
				resort.addAccomodation('Cocosol Apartments');
				resort.addAccomodation('Casa Spice');
				resort.addAccomodation('Don Luis');
				resort.addAccomodation('Los Barqueros');
				resort.addAccomodation('Palm Springs');
				resort.addAccomodation('Club La Luna');
				
		//Hotels
		accomType = countries[countries.length-1].addAccomodationType('Hotels');
			//Omly One
			resort = accomType.addResort('Only One - select name ');
				resort.addAccomodation('Palace Fuerteventura');
				resort.addAccomodation('Playa Gaviotas');
			
				
										
	//Lanzarote-------------------------------------------------------------------------------->
	countries[countries.length] = new Country('Lanzarote');
	country = countries[countries.length];
		//1 bed apartments & RCI
		accomType = countries[countries.length-1].addAccomodationType('1 Bed and RCI');
			
			//1 bed apartments
			resort = accomType.addResort('1 bed apartments');
				resort.addAccomodation('El Barranquillo');
				resort.addAccomodation('Lago Verde');
				resort.addAccomodation('Les Acacias');
				resort.addAccomodation('Las Vistas');
				resort.addAccomodation('Playa Bastian');
				resort.addAccomodation('San Francisco II');
				resort.addAccomodation('Tahiche');
				
			//1 bed villas
			resort = accomType.addResort('1 bed villas');
				resort.addAccomodation('Los Miraflores');
				resort.addAccomodation('Castillo');
						
			//RCI
			resort = accomType.addResort('RCIs');
				resort.addAccomodation('Coral Beach');
				resort.addAccomodation('Morro mar');
		
		//2 Bedroom
		accomType = countries[countries.length-1].addAccomodationType('2 Bedroom');

			//2 Bedroom
			resort = accomType.addResort('2 Bed Apartments');
				resort.addAccomodation('Alisios Bungalows');
				resort.addAccomodation('Arena Blanca');
				resort.addAccomodation('Caleton Blanco');
				resort.addAccomodation('Club Calypso');
				resort.addAccomodation('Club Sunseeker');
				resort.addAccomodation('Colony Club');
				resort.addAccomodation('La Cumbre');
				resort.addAccomodation('Los Fragosos');
				resort.addAccomodation('Oasis San Antonio');
				resort.addAccomodation('Salmarina Bunglaows');
				
			//2 Bed Villas
			resort = accomType.addResort('2 Bed Villas');
				resort.addAccomodation('Amapolo');
				resort.addAccomodation('Amy');
				resort.addAccomodation('Calamares');
				resort.addAccomodation('Charlana');
				resort.addAccomodation('Mariposa');
				resort.addAccomodation('Pocillo Villas');
				
		//3 & 4 Bedroom
		accomType = countries[countries.length-1].addAccomodationType('3 and 4 Bed');
			//3 Bedroom
			resort = accomType.addResort('3 Bedroom');
				resort.addAccomodation('Cartamar');
				resort.addAccomodation('Dunroamin');
				resort.addAccomodation('Galicia');
				resort.addAccomodation('Hazlea');
				resort.addAccomodation('Jessica');
				resort.addAccomodation('Josephine');
				resort.addAccomodation('Margarita');
				resort.addAccomodation('Miguel');
				resort.addAccomodation('Oliver');
				resort.addAccomodation('Patricia');
				resort.addAccomodation('Salinas');
				resort.addAccomodation('Samba');
				resort.addAccomodation('Vela');

			//4 Bedroom
			resort = accomType.addResort('4 Bedroom');
				resort.addAccomodation('Arriero');
				resort.addAccomodation('Casa Helechos');
				resort.addAccomodation('Casa Orquideas');
				resort.addAccomodation('Darcy');
				resort.addAccomodation('Grace Amelia');
				resort.addAccomodation('La Fuente');
				resort.addAccomodation('Nicole');
				resort.addAccomodation('Raquel');
				
		//Hotels
		accomType = countries[countries.length-1].addAccomodationType('Hotels');
			
			//Hotels
			resort = accomType.addResort('Hotels - Only one');
				resort.addAccomodation('Lanzarote Park');
				
			
	//Gran Canaria---------------------------------------------------------------------->
	countries[countries.length] = new Country('Gran Canaria');
	country = countries[countries.length];
		
		//Apartments
		accomType = countries[countries.length-1].addAccomodationType('Apartments');
			
			//Playa Del Ingles
			resort = accomType.addResort('Playa Del Ingles');
				resort.addAccomodation('Barbados');
				resort.addAccomodation('Holanda Bungalows');
				resort.addAccomodation('Las Marinas Bunglaows');
				resort.addAccomodation('Lenamar');
				resort.addAccomodation('Los Tilos');
				resort.addAccomodation('Marbella Gols');
				resort.addAccomodation('Parque Mar');
				resort.addAccomodation('Teneguia');
				resort.addAccomodation('Tirajana');

 
			//Puerto Rico
			resort = accomType.addResort('Puerto Rico');
				resort.addAccomodation('Blue Star');
				resort.addAccomodation('Bora Bora');
				resort.addAccomodation('Lara');
				resort.addAccomodation('Maracaibo');
				resort.addAccomodation('Miriam');
				resort.addAccomodation('Monte Carlo');
				resort.addAccomodation('Tatyamar');
				resort.addAccomodation('Terraza Mar');
				


			//Masplomas
			resort = accomType.addResort('Masplomas');
				resort.addAccomodation('Capri Apartments');
				resort.addAccomodation('Parqu Balo / Playa Flor');
				
		//Hotels
		accomType = countries[countries.length-1].addAccomodationType('Hotels');
			
			//Hotels
			resort = accomType.addResort('Hotels - Only one');
				resort.addAccomodation('IFA Beach');
				resort.addAccomodation('IFA Continental');
				resort.addAccomodation('IFA Dunmar');
				resort.addAccomodation('IFA Faro Masplomas');
				resort.addAccomodation('IFA Interclub');
				resort.addAccomodation('Beverly Park 3');
				resort.addAccomodation('Don Gregory 4');


		//Villas
		accomType = countries[countries.length-1].addAccomodationType('Villas');
			
			//Villas
			resort = accomType.addResort('Villas - Only one');
				resort.addAccomodation('Dos Vistas Villas');
				resort.addAccomodation('Villas Del Sol');
				resort.addAccomodation('Puerto Rico Villas');
				resort.addAccomodation('Villas Los Claveles');
				resort.addAccomodation('Villa Grecia');
				resort.addAccomodation('Villa Oasis Golf ');
				resort.addAccomodation('Villa Bora');
				
		//RCI
		accomType = countries[countries.length-1].addAccomodationType('RCI');
			
			//RCI
			resort = accomType.addResort('RCI - Only one');
				resort.addAccomodation('BlueBay Beach Club');
				resort.addAccomodation('Club Puerto Atlantico');
				resort.addAccomodation('Palm Oasis');
				resort.addAccomodation('Sun Suites');
								
			
	//Spain ---------------------------------------------------------------------------->
	countries[countries.length] = new Country('Spain');
	country = countries[countries.length];
		
		//RCI Resorts
		accomType = countries[countries.length-1].addAccomodationType('RCI');
			
			//Estepona
			resort = accomType.addResort('Estepona');
				resort.addAccomodation('Caledonia Golf');
			
			
		//Apartments
		accomType = countries[countries.length-1].addAccomodationType('Apartments');
			
			//Costa Del Sol
			resort = accomType.addResort('Costa Del Sol');
				resort.addAccomodation('Crown Resort');
				resort.addAccomodation('Sunset Beach');
			
			
			
				
	// ---------- end resort drop downs ------------------------------------------------>

		
	function clearOptions(OptionList) {
		for (x = OptionList.length; x >= 0; x = x - 1) {
			OptionList[x] = null;
		}
	}

	function addToOptionList(OptionList, OptionValue, OptionText) {
		OptionList[OptionList.length] = new Option(OptionText, OptionValue);
	}

	function cascade(level) {
		switch (level) {
			case 0:
				for (var x=0; x<countries.length; x++) {
					addToOptionList(selCountry, countries[x].Name, countries[x].Name);
				}
				oCountry = countries[0];
				oAccomodationType = oCountry.AccomodationTypes[0];
				oResort = oAccomodationType.Resorts[0];
				oAccomodation = oResort.Accomodations[0];
				cascade(1);
				break;

			case 1:
				oCountry = getObject(selCountry[selCountry.selectedIndex].value, countries);
				clearOptions(selAccomodationType);
				for (x=0; x<oCountry.AccomodationTypes.length; x++) {
					addToOptionList(selAccomodationType, oCountry.AccomodationTypes[x].Name, oCountry.AccomodationTypes[x].Name);
				}
				cascade(2);
				break;

			case 2:
				oAccomodationType = getObject(selAccomodationType[selAccomodationType.selectedIndex].value, oCountry.AccomodationTypes);
				clearOptions(selResort);
				for (x=0; x<oAccomodationType.Resorts.length; x++) {
					addToOptionList(selResort, oAccomodationType.Resorts[x].Name, oAccomodationType.Resorts[x].Name);
				}
				cascade(3);
				break;

			case 3:
				oResort = getObject(selResort[selResort.selectedIndex].value, oAccomodationType.Resorts);
				clearOptions(selAccomodation);
				for (x=0; x<oResort.Accomodations.length; x++) {
					addToOptionList(selAccomodation, oResort.Accomodations[x].Name, oResort.Accomodations[x].Name);
				}
				break;
		}

	}

	function getObject(test, array, object) {
		for (var x=0; x<array.length; x++) {
			if (test==array[x].Name)
				return array[x];
		}
	}

	var form = document.forms['_ctl0'];
	//alert(form.name);
	var oCountry;
	var oAccomodationType;
	var oResort;
	var oAccomodation;
	var selCountry = form.elements['country'];
	var selAccomodationType = form.elements['accomodationType'];
	var selResort = form.elements['resort'];
	var selAccomodation = form.elements['accomodation'];