var ajaxBox_offsetX = 0;var ajaxBox_offsetY = 0;var ajax_list_externalFile = 'http://webserver/www.fargotravel.com/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();
}