
var QSCampoActual="";		//indice a DDn en uso (por Safari Glitch) : 'Region' / 'Country' / 'State' / 'Destination'
var QSValores=Array(); 	//colecta valores de cada DDn (byR) : 'Region' 'Country' 'State' 'Destination' 'Hotel'

	//byRegion search only -=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:

	// QS-1
		function QSDumpAsynToDDn(campo,adicional) { //llama a Asyn-XMLHR, borra unused DDn y OnChange pasa control a handleDDn(?)
			if (OCUPADO) http.abort();
			var urlstr=(adicional) ? QSAsynPage+'?campo='+campo+adicional : QSAsynPage+'?campo='+campo;
			QSCampoActual=campo; //usa Campo global para evitar Safari glitch. 
			switch(QSCampoActual) {
				case 'Region':
						QSemptyField('Country');
				case 'Country':
						QSemptyField('Destination');
				case 'Destination': 
			}		
			http.open("GET", urlstr, true);
			switch(campo) {
				case 'Region':
				case 'Country':
				case 'State':
				case 'Destination': http.onreadystatechange=QShandleDDn; break;
			}		
			http.send(null);
		}

	// QS-2
		function QShandleDDn() { //llama a drawDDnAndDiv(?) o muestra "loading"
			if(http.readyState == 4){
				responseText = http.responseText;
				resultados = responseText.split('|'); //0:HTML, 1:Qty, 2:Index
				QSdrawDDnAndTd(QSCampoActual,resultados[0]);
				var DDnId='hotel'+QSCampoActual;
				if (QSDefault[QSCampoActual]!='') { //valores por defecto
				//window.alert('HOLA');
					switch(QSCampoActual) {
						case 'Region': 		QShandleRegion(QSDefault[QSCampoActual]);  break;
						case 'Country': 	QShandleCountry(QSDefault[QSCampoActual]); break;
						case 'Destination': QShandleDestination(QSDefault[QSCampoActual]); break;
					}		
				} else if (resultados[1]==1) { //solo un elemento? autoselect y sigue con el otro DDn ;)
					//window.alert('hotel'+QSCampoActual);  //1 solo elem, seleccionar el primero
					switch(QSCampoActual) {
						case 'Region': 		QShandleRegion(resultados[2]);  break;
						case 'Country': 	QShandleCountry(resultados[2]); break;
						case 'Destination': QShandleDestination(resultados[2]); break;
					}		
					document.getElementById(DDnId).selectedIndex=0;  //no lleva "Choose from...", selecciona el primero (0)
				}
				OCUPADO=false;
				//if (browser != "Microsoft Internet Explorer") document.getElementById(DDnId).focus();
		
			} else QSshowAjaxStatus(QSCampoActual,http.readyState)
		}

	// QS-3
		function QSdrawDDnAndTd(campo,responseText){ //vuelca el DDn en el Td
			var container='Q'+campo+'Td';
			var resultados = responseText;
			document.getElementById(container).className="QSAjaxActive";
			document.getElementById(container).innerHTML = resultados;
		}

	// QS-4
		function QShandleRegion(estevalue){ //Actua al cambiar Region DDn y llama a DumpAsynToDDn('Country') ···> byR-2
			if (estevalue) {
				QSValores['Region']=estevalue;
				QSDumpAsynToDDn('Country','&Region='+escape(estevalue)+'&defCountry='+QSDefault['Country']);
				if (estevalue!=QSDefault['Region']) { //Reset DDn
					QSDefault['Country']='';
					QSDefault['Destination']='';
				}
			}
		}
		function QShandleCountry(estevalue){ //Actua al cambiar Country DDn y llama a DumpAsynToDDn('State') ···> byR-2
			if (estevalue) {
				QSValores['Country']=estevalue;
				QSDumpAsynToDDn('Destination','&Country='+escape(estevalue)+'&defDestination='+QSDefault['Destination']);
				if (estevalue!=QSDefault['Country']) { //Reset DDn
					QSDefault['Destination']='';
				}
				unhideDiv('QButtonTd');
			}
		}
		function QShandleDestination(estevalue){ //Actua al cambiar Destination DDn y llama a ShowHotels() 
			if (estevalue) {
				QSValores['Destination']=estevalue;
				//drawResultsButton('ResultsButton');
			}
		}

		function DoQuickSearch() {
			var Date1=document.getElementById('arrival_date0').value;
			var Date2=document.getElementById('departure_date0').value;
			if (Date1>=Date2) {
				window.alert('Departure Date must be Greater than Arrival Date');
			} else {
				document.getElementById('QSearchForm').submit()
			}
		}

//BASE -=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:-=:

		function QSAbreAJAX(htmlObjectId){
			var obj;
			if(browser == "Microsoft Internet Explorer"){
				obj = new ActiveXObject("MSXML2.XMLHTTP.3.0");
			}
			else{
				obj = new XMLHttpRequest();
			}
			return obj;    
		}


		function QSshowAjaxStatus(campo,status) {
			var container='Q'+campo+'Td';
			document.getElementById(container).className="QSAjaxLoading";
			var Str='';
			switch(status) {
				case 0: Str="..."; break; //(UNINITIALIZED)
				case 1: Str="Loading"; break; //(LOADING)
				case 2: Str="Loaded"; break; //(LOADED)
				case 3: Str="Processing"; break; //(INTERACTIVE)
			}
			Str+=' <strong>'+campo+'</strong>';
			document.getElementById(container).innerHTML=Str;
		}
		
		function QSemptyField(campo) {
			var container='Q'+campo+'Td';
			document.getElementById(container).innerHTML='';
		}
