 /**This file holds For Validation js For all the templates
 * @author Gyan prakash,ajay kumar
 * @version 1.0.1.3
 * @created 5/14/2009
 */


//browser detection
var modifURL = false;
var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			   string: navigator.userAgent,
			   subString: "iPhone",
			   identity: "iPhone/iPod"
	    },
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();



var holdSort='price', holdPage=1, holdFilterType, holdFilterValue;
var activateLockOnFilter,MoreRoomsLink,closeLink;
function mapG_results(url) {
        window.open(url, 'map', 'width=600,height=500,menubar=no,resizable=yes,scrollbars=yes,status=no,toolbar=no');
}

function go_to_anchor(anchor)
{
 location.hash=anchor;
}

function sortHotels(sort, page, sPage, getrate, pageName, lg)
{
	if(page==undefined && sort != undefined)
		page=1;
		
	//load hold Page if possible
	if ((page==0) || (page==undefined))
		page = holdPage;

	if ((sort=='') || (sort==undefined))
		sort = holdSort;


	//page still undefined, load defaults
	if ((page==0) || (page==undefined))
		page = 1;

	if ((sort=='') || (sort==undefined))
		sort = 'price';

	//change URL when rewritting rule is in place
	var attr= "sortBy="+sort;
		attr += "&lg="+lg;
		attr += "&page=_search";
        attr += "&getrate="+getrate;
		attr += "&site=collection";
		attr += "&sPage="+sPage;
		attr += "&pageName="+pageName;
		attr += "&showPage="+page;
        
	var myAjax = new Ajax.Request(
		    '/PHP/anyscript.php',
		    {
			method: 'post',
			parameters: attr,
			asynchronous: true,
			onComplete: showResponse,
			contentType:'application/x-www-form-urlencoded',
			encoding: 'UTF-8'
		    });
	
	function showResponse(originalRequest)
	{	
		var result = originalRequest.responseText;
		$("results").update(result);
		checkObjectStates();

		if (gmap_on)
			setTimeout(reloadBubble(lg),1000);
	}

	holdSort = sort;
	holdPage = page;


}


function activateFilter(filterType, filterValue, currentState, sPage, pageName, lg)
{//alert(filterType+'<=>'+filterValue+'<=>'+currentState+'<=>'+sPage+'<=>'+pageName+'<=>'+lg)

	//var diezPos;
	//diezPos = strpos(document.location.href, '#')
	//if (diezPos > 0)
	//	document.location.href = document.location.href.substr(0,diezPos);

	

	$("captureEventDiv").style.zIndex = 100;
	if(lg == 'en')
		$("captureEventDiv").innerHTML = "<br><br><br><br><table style='width:600px; background-color: #ffffff' cellspacing='0' cellpadding='0' ><tr><td height='1' colspan='3' align='center' bgcolor='#b09b7c'></td></tr><tr><td width='1' rowspan='2' align='center' bgcolor='#A78659'></td><td align='center'><font size='2'><br>Please wait a few seconds while we are searching for availability and the best rates.</font></td><td width='1' rowspan='2' align='center' bgcolor='#A78659'></td></tr><tr><td align='center'><img src='/STATICS/imgs/commons/ajaxloader.gif' border='0' vspace='20'><br></td></tr><tr><td height='1' colspan='3' align='center' bgcolor='#A78659'></td></tr></table><br><br>";
	else
		$("captureEventDiv").innerHTML = "<br><br><br><br><table style='width:600px; background-color: #ffffff' cellspacing='0' cellpadding='0' ><tr><td height='1' colspan='3' align='center' bgcolor='#b09b7c'></td></tr><tr><td width='1' rowspan='2' align='center' bgcolor='#A78659'></td><td align='center'><font size='2'><br>Nous recherchons les disponibilités et les meilleurs tarifs.<br>Merci de patienter quelques secondes.</font></td><td width='1' rowspan='2' align='center' bgcolor='#A78659'></td></tr><tr><td align='center'><img src='/STATICS/imgs/commons/ajaxloader.gif' border='0' vspace='20'><br></td></tr><tr><td height='1' colspan='3' align='center' bgcolor='#A78659'></td></tr></table><br><br>";

	if (currentState==false)
		changeState = '!delete!';
	else
		changeState = '!activate!';
	var attr= "sortBy="+holdSort;
		attr += "&lg="+lg;
		attr += "&page=_search";
		attr += "&site=collection";
		attr += "&filterType="+filterType;
		attr += "&filterValue="+filterValue;
		attr += "&showPage=1";
		attr += "&sPage="+sPage;
		attr += "&pageName="+pageName;
		attr += "&changeState="+changeState;

	holdFilterType = filterType;
	holdFilterValue = filterValue;
	activateLockOnFilter = true;
	var myAjax = new Ajax.Request(
                    '/PHP/anyscript.php',
                    {
                        method: 'post',
                        parameters: attr,
                        asynchronous: true,
                        onComplete: showResponse,
                        contentType:'application/x-www-form-urlencoded',
                        encoding: 'UTF-8'
                    });

        function showResponse(originalRequest)
        { 		
			var result = originalRequest.responseText;
		    $("results").update(result);
		    $("captureEventDiv").style.zIndex = -1;
		    $("captureEventDiv").innerHTML = "";
			recheckCounts();
			recheckGoogleIcons();
			//if (localActiveSearch!=false)
			//{
			//
			//	if (typeof(sendFromPage)=='undefined')
			//	{
			//		replaceURL(localActiveSearch);
			//		if (!gmap_on)
			//				{
			//					window.scrollBy(0,-200)
			//				}
			//	}
			//	localActiveSearch = false;
//
//			}
		setTimeout(reloadBubble(lg),1000);
	}


}


function activateOfferFilter(filterType,filterValue, currentState)
{
	var attr= "sortBy="+holdSort;
		attr += "&lg=en";
		attr += "&page=_findnbooksearch";
		attr += "&site=collection";
        attr += "&getrate=0";
		attr += "&filterType="+filterType;
		attr += "&filterValue="+filterValue;
		attr += "&showPage=1";
		
	if(currentState != undefined)
	{
		if (currentState==false)
			changeState = '!delete!';
		else
			changeState = '!activate!';

		attr += "&changeState="+changeState;
	}
	else
	{
		attr += "&location="+filterValue;
	}

	holdFilterType = filterType;
	holdFilterValue = filterValue;
	activateLockOnFilter = true;

	var myAjax = new Ajax.Request(
                    '/PHP/anyscript.php',
                    {
                        method: 'post',
                        parameters: attr,
                        asynchronous: true,
                        onComplete: showResponse,
                        contentType:'application/x-www-form-urlencoded',
                        encoding: 'UTF-8'
                    });

        function showResponse(originalRequest)
        { 
          var result = originalRequest.responseText;
		  
          $("results").update(result);
        }

}

function reloadBubble(lg)
{



 //change URL when rewritting rule is in place
	 var attr= "sortBy=x";
                attr += "&lg="+lg;
                attr += "&page=_search";
                attr += "&site=collection";
				attr += "&formBubble=true";
                attr += "&showPage=x";



	 var myAjax = new Ajax.Request(
                    '/PHP/anyscript.php',
                    {
                        method: 'post',
                        parameters: attr,
                        asynchronous: true,
                        onComplete: showResponse,
                        contentType:'application/x-www-form-urlencoded',
                        encoding: 'UTF-8'
                    });

        function showResponse(originalRequest)
        {
            var result = originalRequest.responseText;
			$('google_maps_data').innerHTML = result; 
			if($('GoogalMapVisible').value == 1)
			{
				// to provide time to reload google map 
				if (gmap_on)
					setTimeout("LoadGMap()",200);

			}
        }

}
// reload google map
function LoadGMap()
{
	$("GoogleMapsForm").submit();
	IncIframeHW();
}


function Sleep(naptime)
{
	naptime = naptime * 1000;
	var sleeping = true;
	var now = new Date();
	var alarm;
	var startingMSeconds = now.getTime();
	//alert("starting nap at timestamp: " + startingMSeconds + "\nWill sleep for: " + naptime + " ms");
	while(sleeping)
	{
		alarm = new Date();
		alarmMSeconds = alarm.getTime();
		if(alarmMSeconds - startingMSeconds > naptime)
		{ 
			sleeping = false; 
		}
	}      
      //alert("Wakeup!");
}



function IncIframeHW()
{
	gmap_on = true;
	if (document.getElementById("gmap_div")!=null)
		document.getElementById("gmap_div").style.display = "block"; 

	for (i=0;i<=200;i++)
		if (document.getElementById("picto_"+i) != null)
			document.getElementById("picto_"+i).style.display = "inline";
	
	
	$('GoogalMapVisible').value = 1;
	$("google").height = 400;
	$("google").width = 920;
}

function homesearch(lg)
{	
	var idxCountry = document.getElementById('country').selectedIndex;
	var Country = document.getElementById('country').options[idxCountry].value;
	
	if(Country == 0)
	{
		alert('Please Select the Country.');
		return;
	}

	var idxregion = document.getElementById('regions').selectedIndex;
	var region = document.getElementById('regions').options[idxregion].value;
	



	if(region == 0)
	{
	$("home").action = '/'+lg+'/location/hotels_'+Country+'.htm';
	}
	else
	{
	$("home").action = '/'+lg+'/location/hotels_'+region+'.htm';
	}
	$("homerates").value = 1;
	$("home").submit();
}

function LoadRates(sPage, nbDays, PageName, lg)
{
	var arrivaldate = document.getElementById('arrdate_txt').value;
	var departuredate = document.getElementById('depdate_txt').value;
	if(nbDays)
		var nonights = nbDays;
	else
		var nonights = document.getElementById('nonights').value;

	var index = document.getElementById('currency').selectedIndex;
	var currency = document.getElementById('currency').options[index].value;
	var attr = "&site=collection";
        attr += "&getrate=1";
        attr += "&showPage=1";
        attr += "&lg="+lg;
        attr += "&reqXml=1";
		attr += "&sPage="+sPage;
		attr += "&aDate="+arrivaldate;
		attr += "&dDate="+departuredate;
		attr += "&nonights="+nonights;
		attr += "&rCurrency="+currency;
		attr += "&page=_search";
		attr += "&pageName="+PageName;
	
	if(lg == 'en')
		$("captureEventDiv").innerHTML = "<br><br><br><br><table style='width:600px; background-color: #ffffff' cellspacing='0' cellpadding='0' ><tr><td height='1' colspan='3' align='center' bgcolor='#b09b7c'></td></tr><tr><td width='1' rowspan='2' align='center' bgcolor='#A78659'></td><td align='center'><font size='2'><br>Please wait a few seconds while we are searching for availability and the best rates.</font></td><td width='1' rowspan='2' align='center' bgcolor='#A78659'></td></tr><tr><td align='center'><img src='/STATICS/imgs/commons/ajaxloader.gif' border='0' vspace='20'><br></td></tr><tr><td height='1' colspan='3' align='center' bgcolor='#A78659'></td></tr></table><br><br>";
	else
		$("captureEventDiv").innerHTML = "<br><br><br><br><table style='width:600px; background-color: #ffffff' cellspacing='0' cellpadding='0' ><tr><td height='1' colspan='3' align='center' bgcolor='#b09b7c'></td></tr><tr><td width='1' rowspan='2' align='center' bgcolor='#A78659'></td><td align='center'><font size='2'><br>Nous recherchons les disponibilités et les meilleurs tarifs.<br>Merci de patienter quelques secondes.</font></td><td width='1' rowspan='2' align='center' bgcolor='#A78659'></td></tr><tr><td align='center'><img src='/STATICS/imgs/commons/ajaxloader.gif' border='0' vspace='20'><br></td></tr><tr><td height='1' colspan='3' align='center' bgcolor='#A78659'></td></tr></table><br><br>";
	$("captureEventDiv").style.zIndex = 100;
	activateLockOnFilter = true;
	var myAjax = new Ajax.Request(
                    '/PHP/anyscript.php',
                    {
                        method: 'post',
                        parameters: attr,
                        asynchronous: true,
                        onComplete: showResponse,
                        contentType:'application/x-www-form-urlencoded',
                        encoding: 'UTF-8'
                    });

        function showResponse(originalRequest)
        { 		
			var result = originalRequest.responseText;
			
		    $("results").update(result);
			$('nonights').value = nonights;
		    $("captureEventDiv").style.zIndex = -1;
		    $("captureEventDiv").innerHTML = "";

			if (typeof(sendFromPage)=='undefined')
			{
				if (modifURL != false)
				{
					replaceURL(modifURL);
					if (!gmap_on)
					{
						window.scrollBy(0,-200)
					}
				}	
				else
				{
					if (document.getElementById('m_modifURL') != null)
						{
							replaceURL(document.getElementById('m_modifURL').value);
							if (!gmap_on)
							{
								window.scrollBy(0,-200)
							}
						}
				}
			}
			recheckCounts();
			setTimeout(reloadBubble(lg),1000);
		}


}

function writeFilterValue(currentDisplayType)
{

var attr = "advancedFilterStatus="+currentDisplayType;
	attr += "&page=search";
	attr += "&site=paris";
	attr += "&lg=en";

var myAjax = new Ajax.Request(
                    '../PHP/anyscript.php',
                    {
                        method: 'post',
                        parameters: attr,
                        asynchronous: true,
                        onComplete: showResponse,
                        contentType:'application/x-www-form-urlencoded',
                        encoding: 'UTF-8'
                    });

function showResponse(originalRequest)
        {
                //$("GoogleMapsForm").submit();
        }

function setAllStars()
{



}

}



function concatToURL()
{
	if ( BrowserDetect.browser =='Firefox' )
	{
		var crtUrl = document.location.href;
		var constURL = '#';

			// # goto already exists, so replace 
			if (strpos(crtUrl, '#') > 0)
			{
				; //leave as it is
			}
			else //# goto doesn't exist: add
			{
				document.location.href = document.location.href+constURL;
			}

	}
	else//a patch for internet explorer
	{
		//if (document.getElementById("ComingFromPost").value == 'true')
		//	document.location.href = document.location.href;
	}
}

function checkObjectStates()
{
	if (gmap_on)
	{
		for (i=0;i<=200;i++)
			if (document.getElementById("picto_"+i) != null)
				document.getElementById("picto_"+i).style.display = "inline";
	}
}


function prepareURL(lbl)
{
	modifURL = lbl;
}

function replaceURL(lbl)
{
	diezPos = strpos(document.location.href, '#');
	if (diezPos > 0)
	{
		document.location.href = document.location.href.substring(0,diezPos)+"#"+lbl;
	}
	else
		document.location.href = document.location.href + '#' + lbl; 

}


function resetURL()
{
	diezPos = strpos(document.location.href, '#');
	if (diezPos > 0)
	{
		document.location.href = document.location.href.substring(0,diezPos)+"#";

	}

}


function recheckCounts()
{
return;
var counter = 0;
	for (i=0;i<=100;i++)
	{
		inCounter = 0;
		if (document.getElementById('hid_hotelcount'+i) != null)
		{
			notFound = -1;
			while (inCounter < 100)
			{
				if (document.getElementById('hotelcount'+inCounter) != null)
				{
					document.getElementById('hotelcount'+inCounter).innerHTML = document.getElementById('hid_hotelcount'+i).value;
					inCounter++;
					break;
				}
				inCounter++;
			}
			//document.getElementById('hotelcount'+i).innerHTML = document.getElementById('hid_hotelcount'+i).value;
		}

		if (document.getElementById('Banner_'+i)!= null && document.getElementById('hid_hotelcount'+i)==null)
		{
				counter++;
				if (counter == 1)
					continue;
				else	
					document.getElementById('Banner_'+i).innerHTML = '';
		}
			
	}
}



function recheckGoogleIcons()
{
return;
var counter = 0;

	for (i=0;i<=200;i++)
	{
		obj = document.getElementById("picto_"+i);
		if (obj != null)
		{
			counter++;
			

			//replace image in inner html
			document.getElementById("picto_"+ i).innerHTML = '<a href="#google"><img border="0" src="/STATICS/imgs/gmap_'+counter+'.gif"/></a>';
			if (gmap_on)
				document.getElementById("picto_"+ i).style.display = "inline";

		}
	}
}



