// JavaScript Document
//ajax.js
function sack(file){
this.xmlhttp=null;
this.resetData=function(){
this.method="POST";
this.queryStringSeparator="?";
this.argumentSeparator="&";
this.URLString="";
this.encodeURIString=true;
this.execute=false;
this.element=null;
this.elementObj=null;
this.requestFile=file;
this.vars=new Object();
this.responseStatus=new Array(2);}
this.resetFunctions=function(){
this.onLoading=function(){};
this.onLoaded=function(){};
this.onInteractive=function(){};
this.onCompletion=function(){};
this.onError=function(){};
this.onFail=function(){};}
this.reset=function(){
this.resetFunctions();
this.resetData();}
this.createAJAX=function(){
try{
this.xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
}catch(e1){
try{
this.xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}catch(e2){
this.xmlhttp=null;}}
if(! this.xmlhttp){
if(typeof XMLHttpRequest !="undefined"){
this.xmlhttp=new XMLHttpRequest();
}else{
this.failed=true;}}}
this.setVar=function(name,value){
this.vars[name]=Array(value,false);}
this.encVar=function(name,value,returnvars){
if(true===returnvars){
return Array(encodeURIComponent(name),encodeURIComponent(value));
}else{
this.vars[encodeURIComponent(name)]=Array(encodeURIComponent(value),true);}}
this.processURLString=function(string,encode){
encoded=encodeURIComponent(this.argumentSeparator)
regexp=new RegExp(this.argumentSeparator+"|"+encoded)
varArray=string.split(regexp)
for(i=0;i<varArray.length;i++){
urlVars=varArray[i].split("=")
if(true===encode){
this.encVar(urlVars[0],urlVars[1])
}else{
this.setVar(urlVars[0],urlVars[1])}}}
this.createURLString=function(urlstring){
if(this.encodeURIString&&this.URLString.length){
this.processURLString(this.URLString,true)}
if(urlstring){
if(this.URLString.length){
this.URLString+=this.argumentSeparator+urlstring
}else{
this.URLString=urlstring}}
this.setVar("rndval",new Date().getTime())
urlstringtemp=new Array()
for(key in this.vars){
if(false==this.vars[key][1]&&true==this.encodeURIString){
encoded=this.encVar(key,this.vars[key][0],true)
delete this.vars[key]
this.vars[encoded[0]]=Array(encoded[1],true)
key=encoded[0]}
urlstringtemp[urlstringtemp.length]=key+"="+this.vars[key][0]}
if(urlstring){
this.URLString+=this.argumentSeparator+urlstringtemp.join(this.argumentSeparator)
}else{
this.URLString+=urlstringtemp.join(this.argumentSeparator)}}
this.runResponse=function(){
eval(this.response)}
this.runAJAX=function(urlstring){
if(this.failed){
this.onFail()
}else{
this.createURLString(urlstring)
if(this.element){
this.elementObj=document.getElementById(this.element)}
if(this.xmlhttp){
var self=this
if(this.method=="GET"){
totalurlstring=this.requestFile+this.queryStringSeparator+this.URLString
this.xmlhttp.open(this.method,totalurlstring,true)
}else{
this.xmlhttp.open(this.method,this.requestFile,true)
try{
this.xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded")
}catch(e){}}
this.xmlhttp.onreadystatechange=function(){
switch(self.xmlhttp.readyState){
case 1:
self.onLoading()
break
case 2:
self.onLoaded()
break
case 3:
self.onInteractive()
break
case 4:
self.response=self.xmlhttp.responseText
self.responseXML=self.xmlhttp.responseXML
self.responseStatus[0]=self.xmlhttp.status
self.responseStatus[1]=self.xmlhttp.statusText
if(self.execute){
self.runResponse()}
if(self.elementObj){
elemNodeName=self.elementObj.nodeName
elemNodeName.toLowerCase()
if(elemNodeName=="input"
|| elemNodeName=="select"
|| elemNodeName=="option"
|| elemNodeName=="textarea"){
self.elementObj.value=self.response
}else{
self.elementObj.innerHTML=self.response}}
if(self.responseStatus[0]=="200"){
self.onCompletion()
}else{
self.onError()}
self.URLString=""
break}}
this.xmlhttp.send(this.URLString)}}}
this.reset()
this.createAJAX()}



//ajax-dynamic-list.js
var ajaxBox_offsetX=0;var ajaxBox_offsetY=0;var ajax_list_externalFile='/include/js/ajax-list-hotels.php';var minimumLettersBeforeLookup=1;var ajax_list_objects=new Array();var ajax_list_cachedLists=new Array();var ajax_list_activeInput=false;var ajax_list_activeItem;var ajax_list_optionDivFirstItem=false;var ajax_list_currentLetters=new Array();var ajax_optionDiv=false;var ajax_optionDiv_iframe=false;var ajax_list_MSIE=false;if(navigator.userAgent.indexOf('MSIE')>=0&&navigator.userAgent.indexOf('Opera')<0)ajax_list_MSIE=true;var currentListIndex=0;function ajax_getTopPos(inputObj){var returnValue=inputObj.offsetTop;while((inputObj=inputObj.offsetParent)!=null){returnValue+=inputObj.offsetTop;}return returnValue;}function ajax_list_cancelEvent(){return false;}function ajax_getLeftPos(inputObj){var returnValue=inputObj.offsetLeft;while((inputObj=inputObj.offsetParent)!=null)returnValue+=inputObj.offsetLeft;return returnValue;}function ajax_option_setValue(e,inputObj){if(!inputObj)inputObj=this;var tmpValue=inputObj.innerHTML;if(ajax_list_MSIE)tmpValue=inputObj.innerText;else tmpValue=inputObj.textContent;if(!tmpValue)tmpValue=inputObj.innerHTML;ajax_list_activeInput.value=tmpValue;if(document.getElementById(ajax_list_activeInput.name+'_hidden'))document.getElementById(ajax_list_activeInput.name+'_hidden').value=inputObj.id;ajax_options_hide();}function ajax_options_hide(){if(ajax_optionDiv)ajax_optionDiv.style.display='none';if(ajax_optionDiv_iframe)ajax_optionDiv_iframe.style.display='none';}function ajax_options_rollOverActiveItem(item,fromKeyBoard){if(ajax_list_activeItem)ajax_list_activeItem.className='optionDiv';item.className='optionDivSelected';ajax_list_activeItem=item;if(fromKeyBoard){if(ajax_list_activeItem.offsetTop>ajax_optionDiv.offsetHeight){ajax_optionDiv.scrollTop=ajax_list_activeItem.offsetTop-ajax_optionDiv.offsetHeight+ajax_list_activeItem.offsetHeight+2;}if(ajax_list_activeItem.offsetTop<ajax_optionDiv.scrollTop){ajax_optionDiv.scrollTop=0;}}}function ajax_option_list_buildList(letters,paramToExternalFile){ajax_optionDiv.innerHTML='';ajax_list_activeItem=false;if(ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()].length<=1){ajax_options_hide();return;}ajax_list_optionDivFirstItem=false;var optionsAdded=false;for(var no=0;no<ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()].length;no++){if(ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()][no].length==0)continue;optionsAdded=true;var div=document.createElement('DIV');var items=ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()][no].split(/###/gi);if(ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()].length==1&&ajax_list_activeInput.value==items[0]){ajax_options_hide();return;}
div.innerHTML=items[items.length-1];div.id=items[0];div.className='optionDiv'
div.onmouseover=function(){
ajax_options_rollOverActiveItem(this,false)}
div.onclick=ajax_option_setValue
if(!ajax_list_optionDivFirstItem)
ajax_list_optionDivFirstItem=div
ajax_optionDiv.appendChild(div);}
if(optionsAdded){ajax_optionDiv.style.display='block'
if(ajax_optionDiv_iframe)ajax_optionDiv_iframe.style.display='';}}function ajax_option_list_showContent(ajaxIndex,inputObj,paramToExternalFile,whichIndex){if(whichIndex!=currentListIndex)return;var letters=inputObj.value;var content=ajax_list_objects[ajaxIndex].response;var elements=content.split('|');ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()]=elements;ajax_option_list_buildList(letters,paramToExternalFile);}function ajax_option_resize(inputObj){ajax_optionDiv.style.top=(ajax_getTopPos(inputObj)+inputObj.offsetHeight+ajaxBox_offsetY)+'px';ajax_optionDiv.style.left=(ajax_getLeftPos(inputObj)+ajaxBox_offsetX)+'px';if(ajax_optionDiv_iframe){ajax_optionDiv_iframe.style.left=ajax_optionDiv.style.left;ajax_optionDiv_iframe.style.top=ajax_optionDiv.style.top;}}

function ajax_showOptions(inputObj,paramToExternalFile,e){if(e.keyCode==13 || e.keyCode==9)return;if(ajax_list_currentLetters[inputObj.name]==inputObj.value)return;if(!ajax_list_cachedLists[paramToExternalFile])ajax_list_cachedLists[paramToExternalFile]=new Array();ajax_list_currentLetters[inputObj.name]=inputObj.value;if(!ajax_optionDiv){ajax_optionDiv=document.createElement('DIV');ajax_optionDiv.id='ajax_listOfOptions';document.body.appendChild(ajax_optionDiv);if(ajax_list_MSIE){ajax_optionDiv_iframe=document.createElement('IFRAME');ajax_optionDiv_iframe.border='0';ajax_optionDiv_iframe.style.width=ajax_optionDiv.clientWidth+'px';ajax_optionDiv_iframe.style.height=ajax_optionDiv.clientHeight+'px';ajax_optionDiv_iframe.id='ajax_listOfOptions_iframe';document.body.appendChild(ajax_optionDiv_iframe);}var allInputs=document.getElementsByTagName('INPUT');for(var no=0;no<allInputs.length;no++){if(!allInputs[no].onkeyup)allInputs[no].onfocus=ajax_options_hide;}var allSelects=document.getElementsByTagName('SELECT');for(var no=0;no<allSelects.length;no++){allSelects[no].onfocus=ajax_options_hide;}var oldonkeydown=document.body.onkeydown
if(typeof oldonkeydown!='function'){
document.body.onkeydown=ajax_option_keyNavigation
}else{
document.body.onkeydown=function(){
oldonkeydown()
ajax_option_keyNavigation();}}
var oldonresize=document.body.onresize
if(typeof oldonresize!='function'){
document.body.onresize=function(){ajax_option_resize(inputObj);}
}else{
document.body.onresize=function(){oldonresize()
ajax_option_resize(inputObj);}}}
if(inputObj.value.length<minimumLettersBeforeLookup){
ajax_options_hide()
return}
ajax_optionDiv.style.top=(ajax_getTopPos(inputObj)+inputObj.offsetHeight+ajaxBox_offsetY)+'px'
ajax_optionDiv.style.left=(ajax_getLeftPos(inputObj)+ajaxBox_offsetX)+'px'
if(ajax_optionDiv_iframe){
ajax_optionDiv_iframe.style.left=ajax_optionDiv.style.left
ajax_optionDiv_iframe.style.top=ajax_optionDiv.style.top}
ajax_list_activeInput=inputObj
ajax_optionDiv.onselectstart=ajax_list_cancelEvent
currentListIndex++
if(ajax_list_cachedLists[paramToExternalFile][inputObj.value.toLowerCase()]){
ajax_option_list_buildList(inputObj.value,paramToExternalFile,currentListIndex)
}else{
var tmpIndex=currentListIndex/1
ajax_optionDiv.innerHTML=''
var ajaxIndex=ajax_list_objects.length
ajax_list_objects[ajaxIndex]=new sack()
var url=ajax_list_externalFile+'?'+paramToExternalFile+'=1&letters='+inputObj.value.replace(" ","+")
ajax_list_objects[ajaxIndex].requestFile=url
ajax_list_objects[ajaxIndex].onCompletion=function(){ajax_option_list_showContent(ajaxIndex,inputObj,paramToExternalFile,tmpIndex);}
ajax_list_objects[ajaxIndex].runAJAX()}}
function ajax_option_keyNavigation(e){
if(document.all)e=event
if(!ajax_optionDiv)return
if(ajax_optionDiv.style.display=='none')return
if(e.keyCode==38){
if(!ajax_list_activeItem)return
if(ajax_list_activeItem&&!ajax_list_activeItem.previousSibling)return
ajax_options_rollOverActiveItem(ajax_list_activeItem.previousSibling,true)}
if(e.keyCode==40){
if(!ajax_list_activeItem){
ajax_options_rollOverActiveItem(ajax_list_optionDivFirstItem,true)
}else{
if(!ajax_list_activeItem.nextSibling)return
ajax_options_rollOverActiveItem(ajax_list_activeItem.nextSibling,true)}}
if(e.keyCode==13 || e.keyCode==9){
if(ajax_list_activeItem&&ajax_list_activeItem.className=='optionDivSelected')ajax_option_setValue(false,ajax_list_activeItem)
if(e.keyCode==13)return false;else return true}
if(e.keyCode==27){
ajax_options_hide()}}
document.documentElement.onclick=autoHideList
function autoHideList(e){
if(document.all)e=event
if(e.target)source=e.target
else if(e.srcElement)source=e.srcElement
if(source.nodeType==3)
source=source.parentNode
if(source.tagName.toLowerCase()!='input'&&source.tagName.toLowerCase()!='textarea')ajax_options_hide()}


//ajaxhotel.js
// JavaScript Document
var bustcachevar=1; //bust potential caching of external pages after initial request? (1=yes, 0=no)
var loadedobjects="";
var rootdomain="http://"+window.location.hostname;
var bustcacheparameter="";



function ajaxpage(url, containerid){

var page_request = false;
if (window.XMLHttpRequest) // if Mozilla, Safari etc
page_request = new XMLHttpRequest();
else if (window.ActiveXObject){ // if IE
try {
page_request = new ActiveXObject("Msxml2.XMLHTTP");
} 
catch (e){
try{
page_request = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e){}
}
}
else
return false;
page_request.onreadystatechange=function(){
loadpage(page_request, containerid);
}

if (bustcachevar) //if bust caching of external page
bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime();
page_request.open('GET', url+bustcacheparameter, true);
page_request.send(null);
}
function isDefined(a) {
  return typeof a == 'undefined';
}

function loadpage(page_request, containerid){
if (isDefined(loadingtext)) { var loadingtext="Loading Information";}
if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1)){
document.getElementById(containerid).innerHTML=page_request.responseText;

}else{
document.getElementById(containerid).innerHTML="<im" + "g src=\"http://www.fargotravel.com/images/loading.gif\" alt=\""+loadingtext+"\"><br><blink><b>"+loadingtext+"</b></blink>";
}
}

function loadobjs(){
if (!document.getElementById)
return;
for (i=0; i<arguments.length; i++){
var file=arguments[i];
var fileref="";
if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding
if (file.indexOf(".js")!=-1){ //If object is a js file
fileref=document.createElement('script');
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("src", file);
}
else if (file.indexOf(".css")!=-1){ //If object is a css file
fileref=document.createElement("link");
fileref.setAttribute("rel", "stylesheet");
fileref.setAttribute("type", "text/css");
fileref.setAttribute("href", file);
}
}
if (fileref!=""){
document.getElementsByTagName("head").item(0).appendChild(fileref);
loadedobjects+=file+" "; //Remember this object as being already added to page
}
}
}




<!-- // ADD REVIEW ON HOTEL DETAIL
        function Chkfrom(frm){
		//	clearInterval(intervalID);
                var frm=document.review;
                if(frm.name.value.length==0){
                        alert('Please fill your name');
                        frm.name.focus();
                return false;}
                if(frm.country.selectedIndex==0){
                        alert('Please select your country');
                        frm.country.focus();
                return false;}
                if(!Is_Email_Valid(frm.email.value)){
                         frm.email.focus();
                return false;}
                if(frm.rating.value==0){
                        alert('Please rate this hotel');
                        frm.rating.focus();
                return false;}
                if(frm.review_title.value.length==0){
                        alert('Please fill your title of review.');
                        frm.review_title.focus();
                return false;}
                if(frm.review_msg.value.length==0){
                        alert('Please fill your review.');
                      //  frm.review_msg.focus();
                return false;}
			changetime();
        return true;
        }

function Is_Email_Valid(email){

        if (email.indexOf('@')==-1)
                {alert("You missed @ in your eMail Address");
                 return false;}
        if (email.indexOf('.')==-1)
                {alert("You missed . in your eMail Address");
                return false;}
        if (email.indexOf('@.')!=-1)
                {alert("Email Address contains an Unrecognised '@.' character ");
                 return false;}
        return true;}

function loadFooter(langid){
	createXMLHttpRequest();
	var url;
	if(langid=='russian'){
		url = "http://www.fargotravel.com/languages/russian/footer.php";
	}else{
		url = "http://www.fargotravel.com/languages/english/footer.html";
	}
	xmlHttp.open("GET", url, true);
	xmlHttp.onreadystatechange = function(){
		if(xmlHttp.readyState == 4) {
			if(xmlHttp.status == 200) {
				document.getElementById("showfooter").innerHTML = xmlHttp.responseText;
			}
		}
	};
	xmlHttp.send(null);

}

 function displayStatus() {
        var mg = document.getElementById("mg_status_container");
        mg.style.visibility="visible";
 }

 function clearStatus() {
        var mg = document.getElementById("mg_status_container");
        mg.style.visibility="hidden";
 }
//-->



