
function DoCancel()
{
	if (sbHttp) if (sbHttp.inprogress) sbHttp.abort();
	if (sbHocHttp) if (sbHocHttp.inprogress) sbHocHttp.abort();
}

//    This functions needs Ajax.js
function SearchHotels(){//inicializacion de variables. 
	CurrentProvider=getNextProvider();
	doSearch(CurrentProvider,'');
	
} 


function GetMoreHotels(){	
    $('ddlSortBy').value=0;
	if (Parsing==true) return;
	//inicializacion de variables. 
	for (i=0; i<Providers.length; i++){
		if (Providers[i].More!='') Providers[i].Request=0;
	}
	$('SearchingImage').style.display='';	
	divGetMoreH.style.display='none';	
	CurrentProvider=getNextProvider();
	if (CurrentProvider!=-1) doSearch(CurrentProvider,Providers[CurrentProvider].More);
}

function doSearch(Prov,PageIndex)
{
    if (sbHttp==null) { sbHttp = new Ajax.Request(); }
    if (!sbHttp.inprogress) 
    {	
        var url = UrlHotelSearch;
        var dt = new Date();
        var qry="time=" + dt + "&Provider=" + Prov + "&PageIndex=" + PageIndex;
        var sbHttp = new Ajax.Request(url,{method: 'get',asynchronous:true,parameters:qry,onComplete:ParseHotelIndex,onFailure:HideSearching,onException:HideSearching});        
    }
    else {
		alert("busy");
    }
}


function HideSearching()
{   	
	$('SearchingImage').style.display='none';
}


function getNextProvider(){
  
	for (i=0; i<Providers.length; i++)
	{
		if ((Providers[i].Done==false||Providers[i].More!='')&&Providers[i].Request<RequestsByProvider) return i;
	}
	return -1;  //fin
}

function ParseHotelIndex(client) {
    var ii=client.responseXML.getElementsByTagName("Property"); //para saber cuantos hoteles
    var i=0
    var crP=CurrentProvider;
    var ShowInPortal=true;
    //se completo la peticion del proveedor 
    if (crP<0) return;
	Providers[crP].Done=true;    
    Providers[crP].More='';
    Parsing=true;        
	var Mr = new myRule();    
    while (ii[i]){		 
		 Id =getTagText(ii[i],'PropertyNumber');
		 jump=false; cnt=true; 
		 LookForRule(Id,Mr,crP);
		 
		 if (Mr.iH>-1){ 			
		    if (Rules[Mr.iR].Rates==1) jump=true; //tiene una regla completa entonces no lo insertes		     
		 }
		 else
			{   cnt=false;			
			   
			} 
    	 if (Mr.iR>-1){
    	    if(Rules[Mr.iR].AvailOnPortal==0) jump=true;    	    
		  	if ($(iAreas).value!='0' && getTagText(ii[i],'AreasId').indexOf(',' + $(iAreas).value + ',')<0) {		  		
		    jump=true;
		    }
		 } 
		 if (DestinoSel!='' ) {		  		
		    /*if(FormatDestino(getTagText(ii[i],'CityName'))!=='' &&  FormatDestino(getTagText(ii[i],'CityName'))!=DestinoSel)
		    {
		     { jump=true;  }
		    }
		    if (FormatDestino(getTagText(ii[i],'CityName'))=='' &&  getTagText(ii[i],'Address').split('@').length<=4){jump=true; }
		    if (FormatDestino(getTagText(ii[i],'CityName'))=='' &&  getTagText(ii[i],'Address').split('@').length>4)
		    {
		        if( DestinoSel!=FormatDestino(getTagText(ii[i],'Address').split('@')[1]))
		         { jump=true;  }
		    }*/
		    if (MatchCity(getTagText(ii[i],'CityName'),DestinoSel)==false && MatchCity(getTagText(ii[i],'Address'),DestinoSel)==false)
		    {jump=true;}
		    }
		    
		 
		 
		 
		 //si piden que se oculten los hoteles de gds con area	
		/*else
		  {		 
		    if ($(iAreas).value!='0'){ jump=true;}		   
		  }*/
		 
		if (getTagText(ii[i],'Blocked')=="Y") jump=true;		
		
	        var sjdGDS =',08384,33797,37525,37787,05986,08938,40233,07486,62343,59047,27558,45736,95233,62210,35390,42103,26715,99233,52642,43648,69432,51024,83665,47282,'
			if( sjdGDS.indexOf(',' + getTagText(ii[i],'PropertyNumber') + ',')>=0) 
		{jump=true;}
		if ($(iCode).value=='LAP' && getTagText(ii[i],'PropertyNumber')=='72750') 
		{jump=true;}
		if (CorporateName!='PROINCO VACATIONS' && Mr.iR>-1 )
		{		
		 if(Rules[Mr.iR].Rates ==1 && getTagText(ii[i],'PropertyNumber')=='2096' || getTagText(ii[i],'PropertyNumber')=='2072' || getTagText(ii[i],'PropertyNumber')=='2083' ||  getTagText(ii[i],'PropertyNumber')=='2084')
		  {
		        jump=true;	
		  }
		}
		//restricción tudestino
		if (IdPortal=='67' && Mr.iR>-1 )
		 {
		    var HideTD =',492,471,1401,1302,2032,2008,1572,1345,1553,509,113,1666,278,1636,1636,1836,620,1458,1835,1763,1534,1578,1747,670,1687,1315,1579,1615,1546,840,2037,2044,1329,1874,2043,1612,1771,1603,1583,2026,1265,1013,1999,1447,542,536,1574,1647,988,1919,1443,786,1922,1942,828,20,713,1208,1688,1429,1658,1470,581,601,347,1686,2040,2016,2039,2015,1736,769,1775,1774,587,651,1840,559,1872,1871,419,1694,641,1577,1466,1927,665,1824,1593,497,1551,1267,1585,78,1575,1804,714,1147,108,1844,1347,1795,1343,210,25,183,68,1490,1772,946,1471,492,1798,'
		    if( HideTD.indexOf(',' + getTagText(ii[i],'PropertyNumber') + ',')>=0) 
		    {
		      jump=true;	
		    }
		 }
		 
		 if (!jump){
		 
			if (!cnt){ 	
			
				Hot=new Object;							
				Hot.Name=getTagText(ii[i],'PropertyName');				
				Hot.Address=getTagText(ii[i],'Address');         				
				Hot.Category=getTagText(ii[i],'Category');
				Hot.CityCode=getTagText(ii[i],'CityCode');
				Hot.CityName=getTagText(ii[i],'CityName');
				Hot.StateCode=getTagText(ii[i],'StateCode');         
				/*Hot.Img=getTagText(ii[i],'ImageURL').replace("https://","http://");	
							
				if (Hot.Img=='') Hot.Img=myImgSite + '/hotel.gif';
				Hot.Urllogo=getTagText(ii[i],'LogoURL');*/
				
				if (getTagText(ii[i],'ImageURL')!=undefined)
					{
					    if (getTagText(ii[i],'ImageURL')!=""){Hot.Img=getTagText(ii[i],'ImageURL').replace("https://","http://");}
					    else{Hot.Img=myImgSite + '/hotel.gif';}
					}
				else
					{
						Hot.Img=myImgSite + '/hotel.gif';
					}						

				Hot.Urllogo=getTagText(ii[i],'LogoURL').replace("https://","http://");
				Hot.CountryCode=getTagText(ii[i],'CountryCode');
				Hot.ShortDescription=getTagText(ii[i],'ShortDescription').replace("<h1>","<p>").replace("</h1>","</p>");             
				//inicializa las rules.
				Hot.RatesReady=false;
				Hot.Enabled=true;
				Hot.Rates=null; //indice de Tarifas
				Hot.OverridesBy=null;
				Hot.OverridesByPro=null;				
				Hot.getRates=false;
				Hot.RichContent=getTagText(ii[i],'RichContent');				
				Hot.AmhmRes=getTagText(ii[i],'AmhmRes');	
				Hot.Emprhotur=getTagText(ii[i],'Emprhotur');	
				Hot.ChainCode='';
				Hot.Lat=getTagText(ii[i],'Latitude');                  
				Hot.Lon=getTagText(ii[i],'Logitude')
				Hot.SameCurrency=1;
				if (getTagText(ii[i],'ChainCode')){Hot.ChainCode=getTagText(ii[i],'ChainCode');}				
				//siemrpe mostrar la tarifa alternativa que es la moneda en la que se pidio
					Hot.CurrencyCode=getTagText(ii[i],'AltCurrency');
					Hot.Decimals=getTagText(ii[i],'AltDecimals');								 
					Hot.LowRate=getTagText(ii[i],'AltLowRate'); //solo Galileo					
				Hot.HasRatesPackage=getTagText(ii[i],'HasRatesPackage');
				Hot.ParseUrl='';
				if (getTagText(ii[i],'ParseUrl')!=undefined){Hot.ParseUrl=getTagText(ii[i],'ParseUrl');}
				Hot.HasUvNetRates=false;
				Hot.HasPromotionalRates=false;
				Hot.DescPromotion=getTagText(ii[i],'DescPromotion');
				if (GDSHotels=='1')
				{
					_AllHot[_AllHot.length]=Hot;
					_AllHot[_AllHot.length-1].Number=_AllHot.length;
				}
				else
				{
					if(Mr.iR>-1)
					{
						_AllHot[_AllHot.length]=Hot;
						_AllHot[_AllHot.length-1].Number=_AllHot.length;
						if (Rules[Mr.iR].Rates ==1 ||  Rules[Mr.iR].Rates==true || Id==347 || Id==774 || Id==543 || Id==706 || Id==708 || Id==893 || Id==747)
						{
							Hot.Enabled=true;
						}
						else
						{
						 if ( PropertiesOnRequest.indexOf(',' + Rules[Mr.iR].Override + ',') <0)
							Hot.Enabled=false;	
						  else
						  	Hot.Enabled=true;	
						}				
					
					}
				}															
			}
			else				
				{
					/*if(getTagText(ii[i],'PropertyNumber')!='75208')	{}*/
						Hot=_AllHot[Mr.iH];
						Hot.HasUvNetRates=false;
						Hot.HasPromotionalRates=false;
						 Hot.Enabled=true;
						/*if (GDSHotels=='1')
						    Hot.Enabled=true;
						else{
						if ( PropertiesOnRequest.indexOf(',' + Hot.Id + ',') <0)
							Hot.Enabled=false;	
						  else
						  	Hot.Enabled=true;
						}*/
						if (Hot.Lat=='') Hot.Lat=getTagText(ii[i],'Latitude');                  
						if (Hot.Lon=='') Hot.Lon=getTagText(ii[i],'Logitude'); 
				}
			if (Mr.iH>-1&&crP!=0){
				Hot.OverridesBy=_AllHot[Mr.iH].Id;
				Hot.OverridesByPro=_AllHot[Mr.iH].Provider;					
			} 
			if (Mr.iR>-1) Hot.getRates=Rules[Mr.iR].Rates;
        
			//id original no mover posicion.
			Hot.Id=Id; 
			Hot.Provider=crP;			
			if (Hot.getRates==0&&crP!=0){
				Hot.LowRate = getTagText(ii[i],'AltLowRate');
				Hot.CurrencyCode=getTagText(ii[i],'AltCurrency');
				Hot.Decimals=getTagText(ii[i],'AltDecimals');					
			}
		 }
		else{ //es sobre escrito por UV
		
		}
         i++;
    }
    moe='';
    try{
		var jj=client.responseXML.getElementsByTagName("PropertyMore"); //para sabersi hay mas 
		Providers[crP].More='';
		if ((getTagText(jj[0],'MoreIndex')=='Y')){
				moe=getTagText(jj[0],'Start');
				moe+='|' + getTagText(jj[0],'End');
				moe+='|' + getTagText(jj[0],'Reference');
				moe+='|' + getTagText(jj[0],'Map');
				moe+='|' + getTagText(jj[0],'NumProperties');
				moe+='|' + getTagText(jj[0],'SubProperties');
				moe+='|' + getTagText(jj[0],'MoreIndex');
				moe+='|' + getTagText(jj[0],'DBPropToken');				
				moe+='|' + getTagText(jj[0],'DBPropKey');				
				Providers[crP].More=moe;
			}
	}
    catch (e){}
    var _count=0; var pos;   
    var _AuxCount=0;	
	var Aux = CurrentProvider;	
	CurrentProvider=getNextProvider();    
	
			for (i=0; i<_AllHot.length; i++)
			{
				if (_AllHot[i].Enabled==true){
					if (CurrentProvider==-1 && CorporateName!=''){_count++;pos=i;}
					_AuxCount++;
				 }
			}
	//si piden que se oculten los hoteles de gds con area
    /*if ($(iAreas).value!='0'){  
        CurrentProvider=-1;
    	GDSHotels='1';
		Providers[1]=new Object;
		Providers[1].Done=false;
		Providers[1].Name="Galileo";
		Providers[1].Request=0;
		Providers[1].More='';
		crP = crP+1;
    }*/
				
	 
	// if (_count!=1 || CorporateName=='')
	//	{
			Parsing=false;	
			doPage();    
//			FillDestino();
			ShowPage(currentPage,false);
			
			if (CurrentProvider!=-1){		
				Providers[CurrentProvider].Request++;
				doSearch(CurrentProvider,Providers[CurrentProvider].More);		SearchedONGDS=1;   		
			}
		   else
		    {		
		    
		    if(_AuxCount==0 && DestinoSel !='')
		     {					     
			    GetMoreHotels()  
			 }
        	else
        	{
        	
		    	    
		    if (GDSHotels!='1' && BlockGDSHotelsByPortal.indexOf(',' + IdPortal + ',')<0 && PropertiesOnRequest=='')
				{	
				    //activar la busqueda por GDS						
				    if (GDSHotels!='1')
				    {				    
					GDSHotels='1'
					Providers[1]=new Object;
					Providers[1].Done=false;
					Providers[1].Name="Galileo";
					Providers[1].Request=0;
					Providers[1].More='';
					}
					
					if (_AuxCount==0 )
					{        
					
						CurrentProvider=Aux;	
						CurrentProvider=getNextProvider();				
										
						if (CurrentProvider!=-1){	
						    Providers[CurrentProvider].Request++;
						    doSearch(CurrentProvider,Providers[CurrentProvider].More);		   
						}
						SearchedONGDS=1;
					}
					else
					{
						//Activa por si guiere buscar en gds
						$('SearchingImage').style.display='none';
						divGetMoreH.style.display='';
					}		
					
				}
				else
				{
					//todo sigue normal
					if (Providers[crP].More!='') divGetMoreH.style.display='';
					if ((crP+1)>=Providers.length && SearchedONGDS==1) $('SearchingImage').style.display='none';
					if (_AuxCount==0) divContainer.innerHTML=divHotelsNotFound.innerHTML;		
					//Maira:
					FillDestino();
					SortListing();
					//SortBy('UvPicks','aUnivisit');			
				}
				
		    }				
		    }
			
			
		/*}
	else
		{
				var Hotel =_AllHot[pos];
				var descPage=myNonSecSite + '/Hotel/HotelDescription.aspx'; 
				var mQueries = '&Rooms=' + rooms + '&Adults=' + $(iAdults).value + '&Children=' + $(iChildren).value;
				mQueries = mQueries + '&CheckIn=' + startDateO + '&CheckOut=' + endDateO + "&Currency=" + CurrencyCode;
				var QAC ='';
				if(AccessCode!='' && AccessCode!='undefined'){QAC='&AccessCode=' + AccessCode;}
				if(Contract!='' && Contract!='undefined'){QAC+='&Contract=' + Contract;}
				var ParsedescPage='';
				if (Hotel.ParseUrl!='' && PageRates!='')
				{		
		 			ParsedescPage=myNonSecSite +  Hotel.ParseUrl + PageRates ; 
		 			window.location.href=ParsedescPage + "?" + QAC +  mQueries; 
				}	
				else
				{				
					window.location.href=descPage + "?PropertyNumber=" + Hotel.Id + "&Provider=" + Hotel.Provider + QAC + "&aChainCode=" + Hotel.ChainCode + mQueries + "&tab=Rates"; 
				}			
				
				
		}*/
	
	
	
	
    /*
	else{
		
		
		
		
		
	}*/
	
} //main function

function LookForRule(id,obj,prov){
	obj.iR=-1;
	obj.iH=-1;
	for (i=0; i<Rules.length; i++){//busca el id en las reglas. 
		if (Rules[i].Override==id||(Rules[i].Id==id&&prov==0)){
			obj.iR=i;
			
			break;
		 }
	}
	
	if (obj.iR==-1) return;
	
	for (i=0;i<_AllHot.length; i++){ //si existe. busca la posicion. 
		if (Rules[obj.iR].Id==_AllHot[i].Id){
			obj.iH=i;
			break;
		}
	}
	return;  //fin
}

function myRule(irule,ihotel){
	this.iR=irule;
	this.iH=ihotel;
}

function showHotels(){
	var template="";
	list=""; 
	if (!_AllHot||_AllHot.length==0){
			//no hay 
	  }
	else{
		var i=0;var Idx=0;var OvrIdx=0;
		var descPage=myNonSecSite + '/Hotel/HotelDescription.aspx';  
		var waitListPage = myNonSecSite + '/Hotel/WaitList.aspx';
		var ParsedescPage='';
		
		
		
		var mQueries = '&Rooms=' + rooms + '&Adults=' + $(iAdults).value + '&Children=' + $(iChildren).value + '&Ages=' + Ages;
		mQueries = mQueries + '&CheckIn=' + startDateO + '&CheckOut=' + endDateO + "&Currency=" + CurrencyCode;
		for (i=0; i<Page.length; i++){
			Idx=Page[i].Index;
			
			if (Idx!=null&&Idx>=0){
				var rates;
				var Hotel=_AllHot[Idx];
				
				ParsedescPage='';
				if (Hotel.ParseUrl!='')
				{		
		 			ParsedescPage=myNonSecSite + Hotel.ParseUrl; 
				}
				var IdProvider= "ID" + Hotel.Number + "_" + Hotel.Provider;
				template=divHotelContainer.innerHTML;
				var HName='&HotelName='+Hotel.Name;
								
				template=template.replace(/HOTELRATESID/,IdProvider);
				template=template.replace(/HOTELBESTRATESID/,IdProvider);
				template=template.replace(/HOTELIMGLOGOID/,'img_' + IdProvider);
				
				template=template.replace(/HOTELNAME/,Hotel.Name);
				template=template.replace(/HOTELBESTRATEID/,IdProvider);
				template=template.replace(/IMAGEHOTELNR/,IdProvider);
				template=template.replace(/IMAGESRCNR/,IdProvider);
				template=template.replace(/DISPLAYNR/,IdProvider);
				var Cur=Hotel.CurrencyCode;
				var symbol = FindCurrencySymbol(Cur)
				
				var Mon=symbol + fmtMoney(Hotel.LowRate,Hotel.Decimals);
				
				if (Mon==symbol + '0.00' || (rooms>1 && (Hotel.getRates==false || eval(Hotel.getRates)==0)) || eval(nights)>=100) {Mon=''; Cur='';} 
				
				template=template.replace(/HOTELCURRENCY/,Cur); 
								
				
				if (Mon==''&& Cur=='')
				{ 		
					template=template.replace(/MEJORTARIFA/,'');
					template=template.replace(/AVGPERNIGHT/,'');
					if (rooms>1 && (Hotel.getRates==false || Hotel.getRates==0))
					{
					    template=template.replace(/CHECKAVA/,BookIndividualy);
					     template=template.replace(/HOTELRATE/,'');
					}
					
					else	  
					{
					    if(Hotel.SameCurrency==1)
					     {
					        template=template.replace(/CHECKAVA/,PleaseCheckAva);
					        template=template.replace(/HOTELRATE/,'');
					     }
					    else
					     {
					        template=template.replace(/CHECKAVA/,'');
					        template=template.replace(/HOTELRATE/,'');
					     }
					}
					
				}				
				else{										
					template=template.replace(/MEJORTARIFA/,eBestRate);
					template=template.replace(/CHECKAVA/,'');
					template=template.replace(/HOTELRATE/,Mon);
					template=template.replace(/AVGPERNIGHT/,AvgPerNight);											
				}
				var AC ='';
				if(AccessCode!='' && AccessCode!='undefined'){AC='&AccessCode=' + AccessCode;}		
				if(Contract!='' && Contract!='undefined'){AC+='&Contract=' + Contract;}		 
				
				template=template.replace(/.style.color=2/,".style.display='none'");				
				template=template.replace(/.style.color=8/,".src='" + myNonSecSite + "/imagessystem/hotelListing.gif'");
				
				if (PageInfo!='' && ParsedescPage!='')				
					template=template.replace(/HOTELNMLINK/,ParsedescPage +  PageInfo + "?" + AC + mQueries);
				else
					template=template.replace(/HOTELNMLINK/,descPage + "?PropertyNumber=" + Hotel.Id + "&amp;Provider=" + Hotel.Provider + AC +"&amp;ChainCode=" + Hotel.ChainCode + mQueries + "&amp;tab=Info" + HName);
				if (Pagegallery!='' && ParsedescPage!='')				
					template=template.replace(/HOTELDETAILLINK/,ParsedescPage + Pagegallery + "?" + AC +  mQueries); 
				else				
					template=template.replace(/HOTELDETAILLINK/,descPage + "?PropertyNumber=" + Hotel.Id + "&amp;Provider=" + Hotel.Provider  + AC + "&amp;ChainCode=" + Hotel.ChainCode + mQueries + "&amp;tab=Gallery" + HName); 
				if (PageRates!='' && ParsedescPage!='')	
					template=template.replace(/CONTINUEINDIVIDUALLYLINK/,ParsedescPage + PageRates + "?" + AC  + mQueries); 
				else				
					template=template.replace(/CONTINUEINDIVIDUALLYLINK/,descPage + "?PropertyNumber=" + Hotel.Id + "&amp;Provider=" + Hotel.Provider + AC  + "&amp;ChainCode=" + Hotel.ChainCode + mQueries + "&amp;tab=Rates" + HName); 
				
				/*if( (Hotel.getRates == true || eval(Hotel.getRates)==1) && Hotel.Provider==0){
					template=template.replace(/HOTELAVAILAVILITYLINK/,waitListPage + "?PropertyNumber=" + Hotel.Id + "&amp;Provider=" + Hotel.Provider + AC + "&amp;ChainCode=" + Hotel.ChainCode + mQueries + HName); 										
					template=template.replace(/HOTELAVAILAVILITYLABEL/, "'" + lblWaitList + "'");
					template=template.replace("\"'" + lblWaitList + "'\"", "'" + lblWaitList + "'");
				}else{
					template=template.replace(/HOTELAVAILAVILITYLABEL/, "'" + lblAvailavility + "'");
					template=template.replace("\"'" + lblAvailavility + "'\"", "'" + lblAvailavility + "'");
					if (PageRates!='' && ParsedescPage!='')	{
						template=template.replace(/HOTELAVAILAVILITYLINK/,ParsedescPage + PageRates + "?" + AC  + mQueries);
					}else{
						template=template.replace(/HOTELAVAILAVILITYLINK/,descPage + "?PropertyNumber=" + Hotel.Id + "&amp;Provider=" + Hotel.Provider + AC + "&amp;ChainCode=" + Hotel.ChainCode + mQueries + "&amp;tab=Rates" + HName);
					}
				}
				*/
				if (PageRates!='' && ParsedescPage!='')	
				{
				    template=template.replace(/HOTELAVAILAVILITYLINK/,ParsedescPage + PageRates + "?" + AC  + mQueries); 
				    template=template.replace(/HOTELAVAILAVILITYLABEL/, "'" + lblAvailavility + "'");
				}
				else
				{
				    template=template.replace(/HOTELAVAILAVILITYLINK/,descPage + "?PropertyNumber=" + Hotel.Id + "&amp;Provider=" + Hotel.Provider + AC + "&amp;ChainCode=" + Hotel.ChainCode + mQueries + "&amp;tab=Rates" + HName); 
				    template=template.replace(/HOTELAVAILAVILITYLABEL/, "'" + lblAvailavility + "'");
				}
				if (PageInfo!='' && ParsedescPage!='')	
					template=template.replace(/HOTELMOREINFOLINK/,ParsedescPage +  PageInfo + "?" + AC + mQueries);
				else
					template=template.replace(/HOTELMOREINFOLINK/,descPage + "?PropertyNumber=" + Hotel.Id + "&amp;Provider=" + Hotel.Provider + AC  + "&amp;ChainCode=" + Hotel.ChainCode + mQueries + "&amp;tab=Info" + HName); 
				if (PageAmenities!='' && ParsedescPage!='')	
					template=template.replace(/HOTELAMENITIESLINK/,ParsedescPage +  PageAmenities + "?" + AC + mQueries);
				else				
					template=template.replace(/HOTELAMENITIESLINK/,descPage + "?PropertyNumber=" + Hotel.Id + "&amp;Provider=" + Hotel.Provider + AC  + "&amp;ChainCode=" + Hotel.ChainCode + mQueries + "&amp;tab=Amenities" + HName); 
				if (PageMap!='' && ParsedescPage!='')	
					template=template.replace(/HOTELMAPALINK/,ParsedescPage +  PageMap + "?" + AC + mQueries);
				else				
					template=template.replace(/HOTELMAPALINK/,descPage + "?PropertyNumber=" + Hotel.Id + "&amp;Provider=" + Hotel.Provider + AC + "&amp;ChainCode=" + Hotel.ChainCode + mQueries + "&amp;tab=Map" + HName); 
				if (PageRooms!='' && ParsedescPage!='')	
					template=template.replace(/HOTELHABITLINK/,ParsedescPage +  PageRooms + "?" + AC + mQueries);
				else				
					template=template.replace(/HOTELHABITLINK/,descPage + "?PropertyNumber=" + Hotel.Id + "&amp;Provider=" + Hotel.Provider + AC + "&amp;ChainCode=" + Hotel.ChainCode + mQueries + "&amp;tab=Rooms" + HName);
				if (PageRates!='' && ParsedescPage!='')	
					template=template.replace(/HOTELRATESLINK/,ParsedescPage +  PageRates + "?" + AC + mQueries);
				else				
					template=template.replace(/HOTELRATESLINK/,descPage + "?PropertyNumber=" + Hotel.Id + "&amp;Provider=" + Hotel.Provider + AC + "&amp;ChainCode=" + Hotel.ChainCode + mQueries + "&amp;tab=Rates" + HName);
					
				
				template=template.replace(/HOTELLOGO/,Hotel.Img);
				xx="";
				if (Hotel.CityName) xx=Hotel.CityName;				
				if (Hotel.StateCode) xx=xx+ ', ' + Hotel.StateCode;
				if (Hotel.CountryCode) xx=xx + ', ' +	Hotel.CountryCode;
				template=template.replace(/HOTELLOCATION/,xx);  
				if (Hotel.RichContent==0)
				 {
				 template=template.replace(/HOTELADDRESS/,FormatAdreess(Hotel.Address));  
				 }
				else
				 {
				template=template.replace(/HOTELADDRESS/,Hotel.Address);  				 
				 }				
								
				template=template.replace(/HOTELCAT/,Hotel.Category );	
				Hotel.ShortDescription = Hotel.ShortDescription.replace("<p></p>","").replace("<p/>","").replace("<br/>","").replace("<p>&nbsp;</p>","").replace("<P></P>","").replace("<P/>","").replace("<BR/>","").replace("<P>&nbsp;</P>","").replace("<p> </p>","").replace("<P> </P>","")
				Hotel.ShortDescription = Hotel.ShortDescription.replace("<p></p>","").replace("<p/>","").replace("<br/>","").replace("<p>&nbsp;</p>","").replace("<P></P>","").replace("<P/>","").replace("<BR/>","").replace("<P>&nbsp;</P>","").replace("<p> </p>","").replace("<P> </P>","")
				Hotel.ShortDescription = Hotel.ShortDescription.replace("<p></p>","").replace("<p/>","").replace("<br/>","").replace("<p>&nbsp;</p>","").replace("<P></P>","").replace("<P/>","").replace("<BR/>","").replace("<P>&nbsp;</P>","").replace("<p> </p>","").replace("<P> </P>","")
				if (Hotel.RichContent==0)
				 {
				   template=template.replace(/HOTELDESCRIPTION/,FormatEnunciado(Hotel.ShortDescription));
				 }
				 else
				  {
				   template=template.replace(/HOTELDESCRIPTION/,Hotel.ShortDescription);
				  }				
				template=template.replace(/HOTELDESCRIPTION/,Hotel.ShortDescription).replace("<p></p>","").replace("<p/>","").replace("<br/>","").replace("<p>&nbsp;</p>","").replace("<P></P>","").replace("<P/>","").replace("<BR/>","").replace("<P>&nbsp;</P>","").replace("<p> </p>","").replace("<P> </P>","");
				//remplazar tres veces para el input del availability una para reemplazar el id y otra para reemplazar el name, para las tarifas con descuento.
				template=template.replace(/HOTELAVAILAVILITYID/,IdProvider);
				template=template.replace(/HOTELAVAILAVILITYID/,IdProvider);
				template=template.replace(/HOTELAVAILAVILITYID/,IdProvider);
				template=template.replace(/CONTINUEINDIVIDUALLY/,IdProvider);
				template=template.replace(/CONTINUEINDIVIDUALLY/,IdProvider);
				template=template.replace(/INDIVIDUALLYBOOK/,IdProvider);
				if (Hotel.DescPromotion!='' && Hotel.DescPromotion>0)				    
				         {template=template.replace(/GDSONREQUEST/,specialGDSRate.replace('{0}',Hotel.DescPromotion));
				        template=template.replace(/CSSREWARD/,"reward")}
				else				
				template=template.replace(/GDSONREQUEST/,"");
				if (Hotel.getRates==false || eval(Hotel.getRates)==0 || Hotel.Provider==1)
				 {
					template=template.replace('HotelResultsItem','HotelResultsItemNoPartner');
					template=template.replace('HotelResultsHotelName','HotelResultsHotelNameNoPartner');
					template=template.replace('HotelResultsHotelNameLink','HotelResultsHotelNameLinkNoPartner');
					template=template.replace('HotelResultsInfoResume','HotelResultsInfoResumeNoPartner');
					//template=template.replace('HotelResultsBestRateNight','HotelResultsBestRateNightNoPartner');
			 
				 }
				else
				 {
				 	template=template.replace('HotelResultsItemNoPartner','HotelResultsItem');
					template=template.replace('HotelResultsHotelNameNoPartner','HotelResultsHotelName');
					template=template.replace('HotelResultsHotelNameLinkNoPartner','HotelResultsHotelNameLink');
					template=template.replace('HotelResultsInfoResumeNoPartner','HotelResultsInfoResume');
					//template=template.replace('HotelResultsBestRateNightNoPartner','HotelResultsBestRateNight');
				 }
				
				
						
				list+=template;			
				
			   
			}	
		} 
	}
	if (list!=""){
		PageVisible=true;
		divContainer.innerHTML=list;
		ShowRates(); 		

	}	
}

function ShowRates(){
var Prop;
var rates;
for (i=0; i<Page.length;i++)
{
	if (Page[i].Index!=null)
	{
		Prop=_AllHot[Page[i].Index];
		if (Prop.Rates!=null)
		  {
				rates= $("ID"+Prop.Number+"_"+Prop.Provider);
				if (rates) rates.innerHTML=DrawRates(Page[i].Index);
		  }
		var DiBook = $("divBI_ID" + Prop.Number + "_" + Prop.Provider);
		var lnkBookit = $("lnk_ID" + Prop.Number + "_" + Prop.Provider);		
		if (Prop.getRates==false && rooms>1 && lnkBookit){lnkBookit.style.display='none';}
		else if(DiBook){DiBook.style.display='none';		}
		}
	}
}

function GetHotelName(idhotel)
{
    try
        {
            for(var x=0;x<HotelName.length;x++)
                {
                    if(HotelName[x].IdHotel==idhotel)
                        return HotelName[x].HotelName;
                }
                
        }
     catch(e)
        {
        }
}

 function MainBookingonclickOmnitureList(iproperty )
    {
        try
            {
                 
                  
                    if (iproperty == "0")
                        return;
                    var CurrentHotelCorporateName=GetHotelName(iproperty);
                    if (CurrentHotelCorporateName && HOTELNAMECulture)
                    {
                        var s=s_gi(s_account);
                        s.linkTrackVars='events,eVar12'; 
                        s.linkTrackEvents='event6,scOpen';
                        s.events='event6,scOpen';
                        s.eVar12=CurrentHotelCorporateName+HOTELNAMECulture;
                        (s.tl(this,'o','Booking Initiated') );
                    
                    }  

            }
         catch(e)
            {
                
            }
    }


var HotelName = new Array(4);HotelName[0] = new Object();HotelName[0].IdHotel = '1735';HotelName[0].HotelName = 'Temptation Resort Spa Los Cabos';HotelName[0].HotelDescription = '0';HotelName[0].HotelValue = '0';HotelName[1] = new Object();HotelName[1].IdHotel = '190';HotelName[1].HotelName = 'Blue Bay Club Cancun';HotelName[1].HotelDescription = '0';HotelName[1].HotelValue = '0';HotelName[2] = new Object();HotelName[2].IdHotel = '1734';HotelName[2].HotelName = 'Temptation Resort Spa Cancun';HotelName[2].HotelDescription = '0';HotelName[2].HotelValue = '0';HotelName[3] = new Object();HotelName[3].IdHotel = '196';HotelName[3].HotelName = 'Desire Resort and Spa Morelos';HotelName[3].HotelDescription = '0';HotelName[3].HotelValue = '0';
var HOTELNAMECulture=" - English";


function DrawRates(HotelIdx){
	var template='';
	var Hotel=_AllHot[HotelIdx];
	var IdProvider="ID" + Hotel.Number + "_" + Hotel.Provider;	
	var Di=$("lnk_"+ IdProvider);
	var Bi=$("span_" + IdProvider);	
	var dvNr=$("imgNR_" + IdProvider);	
	var Td=$("TD_" + IdProvider);	
	
	var descPage=myNonSecSite + '/Hotel/HotelDescription.aspx';		
	
	var BookPage;
	//if (BlockCars=='Y'){BookPage = mySite + '/Hotel/Secure/TravelerPreferences.aspx';}else{BookPage = myNonSecSite + '/Hotel/HotelCustomizedTrip.aspx';}
	 
	BookPage = myNonSecSite + '/Hotel/HotelCustomizedTrip.aspx';
	var WaitListPage = myNonSecSite + '/Hotel/WaitList.aspx';
	
	
	
	var ParsedescPage='';
		if (_AllHot[HotelIdx].ParseUrl!='')
		 {		
		 	ParsedescPage=myNonSecSite + _AllHot[HotelIdx].ParseUrl; 
		 }		
	var HName='&HotelName='+Hotel.Name;
	var moreQ='PropertyNumber=' + Hotel.Id + '&Provider=' + Hotel.Provider + '&ChainCode=' + Hotel.ChainCode;
	moreQ+= '&CityCode=' + Hotel.CityCode + '&CountryCode=' + Hotel.CountryCode + HName;		
	var _Ocupancy='&CheckIn=' + startDateO + '&CheckOut=' + endDateO + '&Rooms=' + rooms + '&Adults=' + $(iAdults).value + '&Children=' + $(iChildren).value + '&Currency=' + CurrencyCode + '&Ages=' + Ages;
	moreQ +=_Ocupancy;
	var QAC ='';
	if(AccessCode!='' && AccessCode!='undefined'){QAC='&AccessCode=' + AccessCode;}
	if(Contract!='' && Contract!='undefined'){QAC+='&Contract=' + Contract;}
	var HasFullNR = 1;
	if (Hotel.Rates!=null && Hotel.getRates==true)
	{
		var i=0;var j=0;var row=0;var col=0; var tkt; var totalRoom=0;var totalRoom2=0;
		var AtLeastOneRate=0;
		var cRooms;
	
		template=divHotelRateContainer.innerHTML;
		template=template.replace(/HOTELRATETITLE/, disponibilidad + " " + startDate + " " + dispAl + " " + endDate);		
	
		var mQueries = '&Rooms=' + rooms + '&Adults=' + $(iAdults).value + '&Children=' + $(iChildren).value + '&Ages=' + Ages;
		mQueries = mQueries + '&CheckIn=' + startDateO + '&CheckOut=' + endDateO;
		if (Pagepackages!='' && ParsedescPage!='')	
			template=template.replace(/HOTELPACKAGESINFOLINK/,ParsedescPage + Pagepackages + "?" + QAC +  mQueries );
		else		
			template=template.replace(/HOTELPACKAGESINFOLINK/,descPage + "?PropertyNumber=" + Hotel.Id + QAC + "&amp;Provider=" + Hotel.Provider  + "&amp;ChainCode=" + Hotel.ChainCode + mQueries + "&amp;tab=Packages" + HName);
			
		if(Hotel.HasRatesPackage=='Y'){
			//IE 
			template=template.replace(/PACK_STYLE/,"");					
			//FireFox
			template=template.replace(/pack_style=""/,"");					
		}
		else{
			//IE
			template=template.replace(/PACK_STYLE/,"style='DISPLAY:none'");
			//FireFox
			template=template.replace(/pack_style=""/,"style='DISPLAY:none'");					
		}
		
		var 
				
		rt=Hotel.Rates.Rooms;
		cRooms="<TABLE class='HotelRatesDetailsBox'>";
		cRooms+="<THEAD><TR><TD width='350px'>" + RoomTypeR + "</TD><TD></TD>";  //RoomType, Week
		
		st=dayOfWeek;
		for (j=0;j<7&&j<nights;j++){ if (st>6) st=0; cRooms+="<TD>" + arrDias[st] + "</TD>"; st++;}
		cRooms+="<TD>" + lbltotal + "</TD><TD></TD></TR></THEAD><TBODY>";  //Avg,Bookit 
		rowspan =parseInt(nights/7);		
		if (nights%7!=0) rowspan += 1;		
			for (i=0;i<rt.length;i++){
			rtp=rt[i].Plans;			
			
			for (k=0; k<rtp.length;k++){		
				
				rtpp=rtp[k].Prices;
				cRooms+="<TR>";
				cRooms+="<TD class=HotelRatesListHightColor style='text-align:left !important;' rowspan=" + rowspan + " width='350px'>";
				var imgNr ='';
				if (rtp[k].isUvNetRate=='true'){imgNr = "templateImgNr"}
				else{HasFullNR=0;}
				
				cRooms +=imgNr;
				if (rtp[k].AgencyPercent>0)
				 {
				 if (PageRooms!='' && ParsedescPage!='')	
					cRooms+="<a onclick='MainBookingonclickOmnitureList("+Hotel.Id +");return true;' href=\"" + ParsedescPage + PageRooms + "?" + _Ocupancy + QAC + "\">" +  rt[i].RoomName + "-" + rtp[k].PlanName + "</a>";
				 else
					cRooms+="<a onclick='MainBookingonclickOmnitureList("+Hotel.Id +");return true;' href=\"" + descPage + "?" + moreQ + QAC + "&tab=Rooms" + "\">" +  rt[i].RoomName + "-" + rtp[k].PlanName + "</a>";
				 }
				else
				 {
				 if (PageRooms!='' && ParsedescPage!='')	
					cRooms+="<a href=\"" + ParsedescPage + PageRooms+ "?" + _Ocupancy + QAC +  "\">" + rt[i].RoomName + "-" + rtp[k].PlanName + "</a>";
				 else
					cRooms+="<a href=\"" + descPage + "?" + moreQ + QAC + "&tab=Rooms" + "\">" +  rt[i].RoomName + "-" + rtp[k].PlanName + "</a>";
				 }
				
				if(rtp[k].DaysFree!=0)
				{
				    cRooms+='<div class="plan-discount">' + lblDaysFree.replace('{0}', rtp[k].DaysFree).replace('{1}', rtp[k].DaysFree-1) + '</div>';    
				}
				if(rtp[k].DescPromotion!='0.0000')
				{
				   cRooms+='<div class="plan-discount">' + lblDesc.replace('{0}',fmtMoney(rtp[k].DescPromotion,0).replace('.00','')) + '</div>';
				}
				
				
				
				cRooms+="</TD>";
				row=1;
				col=0;
				var band=false;
				totalRoom=0;totalRoom2=0;var swtotalroom=1;
				for (l=0; l<nights && swtotalroom==1;l++){					
					if(rtpp[l] && swtotalroom==1){totalRoom2 +=RoundNumber(rtpp[l].Total2);totalRoom +=RoundNumber(rtpp[l].Total);}	else{swtotalroom=0;}				
					}
				for (l=0; l<nights;l++){
					AtLeastOneRate=1;										
					if (col==0){cRooms+="<TD class=HotelRatesListHightColor>" + semana + row + " </TD>";row++;} 
					//if (rtpp[l] && rtpp[l].Total!=0 && rtpp[l].Available=='Y')
					if (rtpp[l] && rtpp[l].Total!=0)
						if (rtpp[l].Total==rtpp[l].Total2)
						{	
							if (rtp[k].AccessCode && rtp[k].AccessCode!='')
							{
								cRooms+="<TD><span class='PromotionSpecialRate'>" + RoundNumber(rtpp[l].Total) + "</span></TD>";
								Td.innerHTML="<span class='PromotionSpecialRate'><B>" + MsgPromRate + "<B></span>";
							}
							else
							{												
								cRooms+="<TD class=HotelRatesListHightColor>" + RoundNumber(rtpp[l].Total) + "</TD>";					
							}					
							
						}
						else
						{								  
							if (rtpp[l].Total2 =="0")
							{
								cRooms+="<TD class=HotelRatesListHightColor><span class='PromoStrike'>" + RoundNumber(rtpp[l].Total) + "</span><br><span class='PromotionSpecialRate'>" + MsgFreeNig + "</span></TD>";
								Td.innerHTML="<span class='PromotionSpecialRate'><B>" + MsgPromRate + "<B></span>";
								band=true;
							}
							else
							{
								cRooms+="<TD class=HotelRatesListHightColor><span class='PromoStrike'>" + RoundNumber(rtpp[l].Total) + "</span><br><span class='PromotionSpecialRate'>" + RoundNumber(rtpp[l].Total2)  + "</span></TD>";
								Td.innerHTML="<span class='PromotionSpecialRate'><B>" + MsgPromRate + "<B></span>";
								band=true;
							}
						}
					else 
					 {
					   /* if (rtpp[l] && rtpp[l].Total!=0)
					    {
					        cRooms+="<TD class=HotelRatesListHightColor>" + RoundNumber(rtpp[l].Total) + "</TD>";	
					    }
					    else{cRooms+="<TD class=HotelRatesListHightColor>X</TD>";}*/
					    cRooms+="<TD class=HotelRatesListHightColor>X</TD>";
						rtp[k].Avg = 'NA';
						rtp[k].AvgT= 'NA'; 
					 }
					if ((l+1)==nights&&col<6&&row>1)
					 {
					    for(tkt=col;tkt<6 && tkt<nights-1;tkt++) cRooms+="<TD class=HotelRatesListHightColor>&nbsp;</TD>";
					 }					 
					if ((col==6&&row==2)||(l+1)==nights&&row==2){
						/*if (rtp[k].Avg!='NA') 
						 { 
						   if (band==true)
						   {	
							 var tmp;	
							 tmp = ''+ rtp[k].Avg;
							 
							 if (tmp.indexOf('PromotionSpecialRate')<0)
							 { 
							   totalRoom = "<span class='PromoStrike'>" + RoundNumber(totalRoom) + "</span><BR><span class='PromotionSpecialRate'>" + RoundNumber(totalRoom2) + "</span>"; 
							 }							
						   }
							
						  }*/
						 if (swtotalroom==0)
						  {
						    totalRoom = 'NA';
						  }
						  else
						  {
						    if (band==true)
						     {  
						        var auxCurr ='';
						        if (Hotel.SameCurrency==0){auxCurr = ' ' + rtp[k].AltCurrency;}						     
						        totalRoom = "<span class='PromoStrike'>" + RoundNumber(totalRoom) + auxCurr + "</span><BR><span class='PromotionSpecialRate'>" + RoundNumber(totalRoom2) + auxCurr + "</span>";
						     }
						    else
						     {
						        totalRoom = RoundNumber(totalRoom) 
						        totalRoom2 = RoundNumber(totalRoom2) 
						        if (Hotel.SameCurrency==0) { totalRoom = totalRoom + ' '  + rtp[k].AltCurrency; }
						     }
						     
						  }
						  
						 
						 if (rtp[k].AccessCode && rtp[k].AccessCode!='')
						    {
						    
							     cRooms+="<TD rowspan=" + rowspan + "><span class='PromotionSpecialRate'>" +  totalRoom + "</span></TD>";
							
						    
						      
						    }
						 else
						    { 
						      
							      cRooms+="<TD class=HotelRatesListHightColor rowspan=" + rowspan + ">" +  totalRoom + "</TD>"; 
							  
						    
						     
						    }//AVG
						 cRooms+="<TD class=HotelRatesListHightColor rowspan=" + rowspan + ">"; 														
						 var AC='';
							if(rtp[k].AccessCode && rtp[k].AccessCode!=''){AC='&AccessCode=' + rtp[k].AccessCode;}
						if (rtpp[l]&&rtp[k].Available=='Y' && rtpp[l].Total!=0) {		
							
						  if(rtp[k].AgencyPercent>0)
							{
								cRooms+="<a class='bookit-link' onclick='MainBookingonclickOmnitureList("+Hotel.Id +");try{_gaq.push([\"_link\", \"this.href \"]);}catch(e){};return true;' href=\"" + BookPage + "?RateCode=" + rtp[k].PlanCode + "&amp;"  + AC +  "&amp;" + moreQ + SourcePortal + SessionAfiliate + SessionIdAgency + "&amp;trkid=" + trkid + "\">" + BookR + "</a>";
							}
						  else
						   {
						   		cRooms+="<a class='bookit-link' onclick='MainBookingonclickOmnitureList("+Hotel.Id +");try{_gaq.push([\"_link\", \"this.href \"]);}catch(e){}; return true;' href=\"" + BookPage + "?RateCode=" + rtp[k].PlanCode + AC + "&amp;" + moreQ + SourcePortal + SessionAfiliate + "&amp;trkid=" + trkid + "\">" + BookR + "</a>";
						   }
						}
						else 
						{
							if ( (Hotel.getRates == true || eval(Hotel.getRates) == 1) && Hotel.Provider == 0)						
							{
							    
							    
							    
							    if (rtp[k].AllowWaitList=='True' || rtp[k].AllowWaitList=='true' || rtp[k].AllowWaitList==true)
							    {
							        cRooms+="<br/>";
							        cRooms+="<a class='waitlist-link' href=\"" + WaitListPage + "?RateCode=" + rtp[k].PlanCode + AC + "&amp;" + moreQ + SourcePortal + SessionAfiliate + "&amp;trkid=" + trkid + "\">" + lblWaitList + "</a>";
							    }
							    else
							    {
							        cRooms+=getErrorMsg(rtp[k].Message.substring(0,rtp[k].Message.indexOf('-')-1),rtp[k].MaxDays,rtp[k].MinDays,rtp[k].AdvBooking);
							    }
								
							}
                            else if (rtp[k].Message!=null)
                            {								
                               if (rtp[k].Message.indexOf('-')!=-1){cRooms+=getErrorMsg(rtp[k].Message.substring(0,rtp[k].Message.indexOf('-')-1),rtp[k].MaxDays,rtp[k].MinDays,rtp[k].AdvBooking);}
                               else{cRooms+=rtp[k].Message;}										
                            }									
						}
						cRooms+="</TD>";
					}
					if (col==6&&(l)<nights){ cRooms+="</TR><TR>"; col=-1; }
					col++;
				}	
				cRooms+="</TR>";
			}
	
		}		
	
		cRooms+="</TBODY></Table>";
		    if (AtLeastOneRate==1 && HasFullNR) {	
		            if(dvNr) dvNr.innerHTML="<img src='" + myNonSecSite + "/imagesSystem/imgNetRate.gif'/>";		        
		            for (var RtNr=0;RtNr<rt.length;RtNr++){
		                var auxrtp=rt[RtNr].Plans;
		                for (var rNr=0; rNr<=auxrtp.length-1;rNr++){
		                    cRooms= cRooms.replace("templateImgNr","")
		                    }
		                }
		        
		       }
		    else
		     {
		     for (var RtNr=0;RtNr<rt.length;RtNr++){
		        var auxrtp=rt[RtNr].Plans;
		        for (var rNr=0; rNr<=auxrtp.length-1;rNr++){
		            cRooms= cRooms.replace("templateImgNr","<img src='" + myImgSite + "/imgNetRate.gif'/>")
		        }
		       }
		     }
		
		if (AtLeastOneRate==1){
			if (Di) Di.style.display='none';		
			template=template.replace(/HOTELRATES/,cRooms);		
			    var Cur=Hotel.CurrencyCode;		
			    var symbol = FindCurrencySymbol(Cur)
				
				var Mon=symbol + fmtMoney(Hotel.LowRate,Hotel.Decimals);
				
				if (Mon==symbol + '0.00') {Mon=''; Cur='';}
				if (Bi) Bi.innerHTML=Mon + ' '+ Cur;		
			
			return template;
		}	

	}
	else
	   {
	   }
	return '';
}

function getErrorMsg(msg,MaxStay,MinStay,AdvBook) 
{


	switch  (msg){ //2
       case '001' :
             return MsgMaxStay.replace('{0}',MaxStay);
           break;
       case '002' :
            return MsgMinStay.replace('{0}',MinStay);
           break;
	   case '003' :
	         return MsgAdvBooking.replace('{0}',AdvBook);
	       break; 
	   case '004' :
             return MsgNoArrival;
           break;
       case '005' :
             return MsgClose;
           break;
	   case '006' :
	         return MsgNoAvailability;
	       break; 
	   case '007' :
	         return MsgMaxPeople;
	       break; 
	   case '019' :
	         return MsgExccedMaxNumberRooms;
	       break; 
	   case '032' :
	         return MsgRestrictedMinNumberRooms;
	       break; 
	   case '033' :
	         return MsgRestrictedMinOccupancy;
	         break; 
	   case '036' :
	         return MsgExpiratedContract;
	         
	         
	       break; 
	  //MsgRestrictedMaxOccupancy
    } //1
  
  
}


/*function initializeMap() {

	//showHide('boxMapListTab',0);	
	var Maplat=0;
	var Maplon=0;
	var Mapproperties=0;
	var MapDescriptions='';
	_Markers =new Array;
	
	//if (GoogleMapKey=='') return 0;
	
    //if (google.maps.GBrowserIsCompatible()) {
    
       // var map = new GMap2(document.getElementById("MapContainer"));
          var myOptions = {
      zoom: 4,      
      mapTypeId: google.maps.MapTypeId.ROADMAP
    }
        map = new google.maps.Map($("MapContainer"),myOptions );
        map.setCenter(new google.maps.LatLng(37.4419, -122.1419), 13);
       // map.addControl(new google.maps.GSmallMapControl());
        //map.addControl(new google.maps.GMapTypeControl());
        // Creates a marker at the given point
        // Clicking the marker will hide it
        function createMarker(point,property,index) {
          var baseIcon = new google.maps.GIcon(G_DEFAULT_ICON);
          var letter = String.fromCharCode("A".charCodeAt(0) + index);
          var letteredIcon = new google.maps.GIcon(baseIcon);
          letteredIcon.image = "http://www.google.com/mapfiles/marker" + letter + ".png";

          // Set up our GMarkerOptions object
          markerOptions = { icon:letteredIcon };
          
          var marker = new google.maps.Marker(point, letteredIcon);
          marker.value = property.Id;
          
          GEvent.addListener(marker,"click", function() {;          
            map.openInfoWindowHtml(point, GetHtmlInfo(property))
          });
          return marker;
        }
        var descPage=myNonSecSite + '/Hotel/HotelDescription.aspx';	
        var ParsedescPage='';		
        var mQueries = '&Rooms=' + rooms + '&Adults=' + $(iAdults).value + '&Children=' + $(iChildren).value;
		mQueries = mQueries + '&CheckIn=' + startDateO + '&CheckOut=' + endDateO + "&Currency=" + CurrencyCode + '&Ages=' + Ages;
		var AC ='';
		if(AccessCode!=''){AC='&AccessCode=' + AccessCode;}	
		if(Contract!='' && Contract!='undefined'){AC+='&Contract=' + Contract;}
        MapDescriptions ="<table width='80%'>"
		for (Idx=0; Idx<_AllHot.length; Idx++){	

				var Prop=_AllHot[Idx];
				
				if (Prop.ParseUrl!='')
		             {		
		 	            ParsedescPage=myNonSecSite + Prop.ParseUrl; 
		             }				
				if (Prop.Lat!='' && Prop.Lon!='' && Prop.Lat!=undefined && Prop.Lon!=undefined)
				{				
					if (eval(Prop.Lat)!=0 || eval(Prop.Lon)!=0)
					{
					Maplat +=  parseFloat(Prop.Lat);				
					Maplon +=  parseFloat(Prop.Lon);				
					
					var point = new google.maps.LatLng(Prop.Lat,Prop.Lon);
				//	points.extend(point);
					var Mk =createMarker(point, Prop,Mapproperties,Idx,p);					
					_Markers[_Markers.length]= Mk;
					map.addOverlay(Mk);
					var letter = String.fromCharCode("A".charCodeAt(0) + Mapproperties);
					var p = _Markers.length -1;
					MapDescriptions += "<tr>";
						MapDescriptions += "<td><img src='http://www.google.com/mapfiles/marker" + letter + ".png'/></td>"; 
						//MapDescriptions += "<td><a href='javascript:_Markers[" + p + "].show(" + p + ");'>" + Prop.Name + "</a></td>";						
						MapDescriptions += "<td><a href='javascript:CenterMap(" + Idx + "," + p +")'>" + Prop.Name + "</a></td>";						
						
						MapDescriptions += "<td><img src='" + Prop.Category + "' onerror=\"javascript: this.style.display='none'\"/></td>"; 
						if (PageInfo!='' && ParsedescPage!='')				
							MapDescriptions += "<td><a href='" + ParsedescPage + PageInfo + "?" + AC + mQueries + "'>" + MsgDetails + "</a>";
						else
							MapDescriptions += "<td><a href='" + descPage + "?PropertyNumber=" + Prop.Id + "&amp;Provider=" + Prop.Provider + AC +"&amp;ChainCode=" + Prop.ChainCode + mQueries + "&amp;tab=Info&amp;HotelName=" + Prop.Name + "'>" + MsgDetails + "</a>";
						
						
					MapDescriptions += "</tr>";
					Mapproperties = Mapproperties + 1;	
					}
				}
			
		//}	
		MapDescriptions +="</table>"
		try
		{
			//map.setCenter(new GLatLng(eval(_AllHot[1].Lat),eval(_AllHot[1].Lon)));
			showHide('MapDescriptions',0);
			showHide('MapContainer',0);
			
			if (eval(Mapproperties)==0)
				{	
			
					//showHide('boxMapListTab',0);										
				}
			else	
				{		
						
					latC = parseFloat(Maplat)/parseFloat(Mapproperties);
					lonC = parseFloat(Maplon)/parseFloat(Mapproperties);
								
					//showHide('boxMapListTab',1);
					$('MapDescriptions').innerHTML=MapDescriptions;	
					map.setCenter(new google.maps.LatLng(latC,lonC));		
				
				}
		}
		catch (e)
		 {
		 }
        
      }
}*/


function initializeMap() {

	//showHide('boxMapListTab',0);	
	var Maplat=0;
	var Maplon=0;
	var Mapproperties=0;
	var MapDescriptions='';
	_Markers =new Array;
	
	if (GoogleMapKey=='') return 0;
	points= new GLatLngBounds();
    if (GBrowserIsCompatible()) {
    
       // var map = new GMap2(document.getElementById("MapContainer"));
        map = new GMap2($("MapContainer"),{ 
                        size: new GSize(590,360) } );
        map.setCenter(new GLatLng(37.4419, -122.1419), 13);
        map.addControl(new GSmallMapControl());
        map.addControl(new GMapTypeControl());



        // Creates a marker at the given point
        // Clicking the marker will hide it
        function createMarker(point,property,index) {
          var baseIcon = new GIcon(G_DEFAULT_ICON);
          var letter = String.fromCharCode("A".charCodeAt(0) + index);
          var letteredIcon = new GIcon(baseIcon);
          letteredIcon.image = "http://www.google.com/mapfiles/marker" + letter + ".png";

          // Set up our GMarkerOptions object
          markerOptions = { icon:letteredIcon };
          
          var marker = new GMarker(point, letteredIcon);
          marker.value = property.Id;
          
          GEvent.addListener(marker,"click", function() {;          
            map.openInfoWindowHtml(point, GetHtmlInfo(property))
          });
          return marker;
        }
        var descPage=myNonSecSite + '/Hotel/HotelDescription.aspx';	
        var ParsedescPage='';		
        var mQueries = '&Rooms=' + rooms + '&Adults=' + $(iAdults).value + '&Children=' + $(iChildren).value;
		mQueries = mQueries + '&CheckIn=' + startDateO + '&CheckOut=' + endDateO + "&Currency=" + CurrencyCode + '&Ages=' + Ages;
		var AC ='';
		if(AccessCode!=''){AC='&AccessCode=' + AccessCode;}	
        MapDescriptions ="<table width='80%'>";
        var trClass=0;
        
		for (Idx=0; Idx<_AllHot.length; Idx++){	

				var Prop=_AllHot[Idx];
				ParsedescPage='';
				if (Prop.ParseUrl!='')
		             {		
		 	            ParsedescPage=myNonSecSite + Prop.ParseUrl; 
		             }				
				if (Prop.Lat!='' && Prop.Lon!='' && Prop.Lat!=undefined && Prop.Lon!=undefined)
				{				
					if (eval(Prop.Lat)!=0 || eval(Prop.Lon)!=0)
					{
					Maplat +=  parseFloat(Prop.Lat);				
					Maplon +=  parseFloat(Prop.Lon);				
					
					var point = new GLatLng(Prop.Lat,Prop.Lon);
				//	points.extend(point);
					var Mk =createMarker(point, Prop,Mapproperties,Idx,p);					
					_Markers[_Markers.length]= Mk;
					map.addOverlay(Mk);
					var letter = String.fromCharCode("A".charCodeAt(0) + Mapproperties);
					var p = _Markers.length -1;
					if (trClass==0){trClass =1;MapDescriptions += "<tr  class='odd'>";}
					else{trClass =0;MapDescriptions += "<tr>";}
					
						MapDescriptions += "<td><img class='alph-globe' src='http://www.google.com/mapfiles/marker" + letter + ".png'/></td>"; 
						//MapDescriptions += "<td><a href='javascript:_Markers[" + p + "].show(" + p + ");'>" + Prop.Name + "</a></td>";						
						MapDescriptions += "<td><a href='javascript:CenterMap(" + Idx + "," + p +")'>" + Prop.Name + "</a></td>";						
						
						MapDescriptions += "<td><img src='" + Prop.Category + "' onerror=\"javascript: this.style.display='none'\"/></td>"; 
						if (PageInfo!='' && ParsedescPage!='')				
							MapDescriptions += "<td><a href='" + ParsedescPage + PageInfo + "?" + AC + mQueries + "'>" + MsgDetails + "</a>";
						else
							MapDescriptions += "<td><a href='" + descPage + "?PropertyNumber=" + Prop.Id + "&amp;Provider=" + Prop.Provider + AC +"&amp;ChainCode=" + Prop.ChainCode + mQueries + "&amp;tab=Info&amp;HotelName=" + Prop.Name + "'>" + MsgDetails + "</a>";
						
						
					MapDescriptions += "</tr>";
					Mapproperties = Mapproperties + 1;	
					}
				}
			
		}	
		MapDescriptions +="</table>"
		try
		{
			//map.setCenter(new GLatLng(eval(_AllHot[1].Lat),eval(_AllHot[1].Lon)));
			showHide('MapDescriptions',0);
			showHide('MapContainer',0);
			
			if (eval(Mapproperties)==0)
				{	
			
					//showHide('boxMapListTab',0);										
				}
			else	
				{		
						
					latC = parseFloat(Maplat)/parseFloat(Mapproperties);
					lonC = parseFloat(Maplon)/parseFloat(Mapproperties);
								
					//showHide('boxMapListTab',1);
					$('MapDescriptions').innerHTML=MapDescriptions;	
					map.setCenter(new GLatLng(latC,lonC));		
				
				}
		}
		catch (e)
		 {
		 }
        
      }
}



function GetHtmlInfo(property)
{
  var myHtml = "<b>#" + property.Id + "</b> " + property.Name 
                   + "<br/>" + property.Address + "<br/>" + property.CityName; 
                   if (property.StateCode && property.StateCode!='') myHtml += ", " + property.StateCode;
                   if (property.CountryCode && property.CountryCode!='' ) myHtml += ", " + property.CountryCode;
  return myHtml;
}

function CenterMap(HtlIdx,MkIdx)
 {
		var Prop=_AllHot[HtlIdx];	
		if (Prop.Lat!='' && Prop.Lon!='' && Prop.Lat!=undefined && Prop.Lon!=undefined)
				{				
					if (eval(Prop.Lat)!=0 || eval(Prop.Lon)!=0)
					{
						map.setCenter(new GLatLng(Prop.Lat,Prop.Lon),15);
						_Markers[MkIdx].openInfoWindowHtml(GetHtmlInfo(_AllHot[HtlIdx]) + "&nbsp;<a href='javascript:initializeMap();ShowMapList(\"Map\");'>" + zoomout +"</a>");
					}
				}
				
 
 }
function ShowMapList(e)
{
	
	if(e=='List')
	{	
		showHide('MapContainer',0);
		showHide('HotelResultsContainer',1);
		showHide('boxSortandFilter',1);
		showHide('HotelResultsNavegation',1);
		showHide('PageContainerBottom',1);
		showHide('MapDescriptions',0);
		$('liList').className='selected';
		$('liMap').className='';
	}
	else
	{
		showHide('MapContainer',1);
		showHide('HotelResultsContainer',0);
		showHide('boxSortandFilter',0);
		showHide('HotelResultsNavegation',0);
		showHide('PageContainerBottom',0);
		showHide('MapDescriptions',1);
		$('liList').className='';
		$('liMap').className='selected';
	}
	
}

var map;
var latC = 0;
var lonC = 0;

/*function PVGeoMarker(title, address, info, lon, lat) 
{
this.title = title;
this.info = info;
this.address = address;
this.lat = lat;
this.lon = lon;
this.coords = new GLatLng(this.lat,this.lon);
this.marker = null;
this.infohtml = '<b>' + this.title + '</b><br/>' + this.address + '<br/>' + this.info ;
}

PVGeoMarker.prototype.show = function(pos) 
{	map.clearOverlays();
this.createMarker(pos);
map.setCenter( this.coords, 14 );	
map.addOverlay(this.marker);	
this.marker.openInfoWindowHtml(this.infohtml);
}

PVGeoMarker.prototype.createMarker = function(index) 
{
	var baseIcon = new GIcon(G_DEFAULT_ICON);
	var letter = String.fromCharCode("A".charCodeAt(0) + index);
    var letteredIcon = new GIcon(baseIcon);
    letteredIcon.image = "http://www.google.com/mapfiles/marker" + letter + ".png";
	this.marker = new GMarker(this.coords,letteredIcon);
	this.marker.bindInfoWindowHtml( this.infohtml );
	return this.marker;	
}*/

