// Sid P - to trim the search input
function trim(str, chars) {
	return ltrim(rtrim(str, chars), chars);
}

function ltrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}

function rtrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}

function removegarbage(str){
var clean_val = str.replace(/&nbsp;/ig," ");
return clean_val;
}

//SP - Initialize Event
function init(ev)
{
	var _2=(window.event)?window.event.keyCode:ev.keyCode;
	var _3=13;
	var _4=9;
	var _5=27;
	var _6=true;
	
	switch(_2)
	{
		case _3:
		case _4:
		case _5:
		_6=false;
		clearSuggestions();
		break;
	}
return _6;
}

function suggest(ev)
{

var _8=(window.event)?window.event.keyCode:ev.keyCode;
var _9=38;
var _a=40;
var _b=true;
	switch(_8)
	{
	case _9:
		changeHighlight("up");
		_b=false;
	break;
	case _a:
		changeHighlight("down");
		_b=false;
	break;
	default:
		getSuggestions(trim(bObject("localityBox").value,' '));
	}
return _b;
}

function restoreAll()
{
	var _c=NUMBER_OF_RESULTS>=availableResults?availableResults:NUMBER_OF_RESULTS;
	for(var i=0;i<_c;i++)
	{
		try{
			restore(bObject("suggest_"+i));
		}
		catch(e){
		}
	}
}
function restore(_e)
{
	_e.className="suggestNormal";
}

function highlight(_f)
{
	_f.className="suggestHover";
}

var _Curr=0;
var NUMBER_OF_RESULTS=10;
var availableResults=0;
function changeHighlight(key){
var obj=false;
try{
obj=bObject("suggest");
}
catch(e){
}
if(obj){
var _12=false;
try{
_12=bObject("suggest");
}
catch(e){
}
if(_12){
var _13="suggest_1";
var _14=false;
try{
_14=bObject(_13);
}
catch(e){
}
if(_14){
var _15=NUMBER_OF_RESULTS>=availableResults?availableResults:NUMBER_OF_RESULTS;
for(var i=1;i<=_15;i++)
{
	try{
		restore(bObject("suggest_"+i));
	}
	catch(e){
	}
}

if(key=="up"){
if(_Curr!=0){
_Curr-=1;
}
}else{
if(key=="down"){
if(_Curr!=_15){
_Curr+=1;
}
}
}
_13="suggest_"+_Curr;
try{
_14=bObject(_13);
}
catch(e){
}
if(_14){
highlight(_14);
populate(_14);
}
}else{
try{
restore(bObject("suggest_"+_Curr));
}
catch(e){
}
if(_Curr>0){
_Curr-=1;
}else{
_Curr=-1;
}
}
}
}
}
var geoLocationSeperator=",";

function populate(_17)
{
	bObject("localityBox").value=removegarbage(stripTags(_17.innerHTML));
	bObject("localityBox").focus();
}

function stripTags(str){
var _19=str.replace(/(<([^>]+)>)/ig,"");
return _19;
}
function getSuggestions(str){
if(show){
var _1b=str.toLowerCase();
_Curr=0;
var len=_1b.length;
var _1d=new Array();
var _1e=new Array();
if(len){
for(var i=0;i<locations.length;i++){
if(locations[i].substring(0,len).toLowerCase()==_1b){
_1d[_1d.length]="<b>"+locations[i].substring(0,len)+"</b>"+locations[i].substring(len,locations[i].length);
if(_1d.length==NUMBER_OF_RESULTS){
break;
}
}else{
var _20=locations[i].toLowerCase().indexOf(" "+_1b);
if(_20>0&&_1e.length<NUMBER_OF_RESULTS){
var _21=locations[i].substring(0,_20)+"<b>"+locations[i].substring(_20,_20+len+1)+"</b>"+locations[i].substring(_20+len+1,locations[i].length);
_1e[_1e.length]=_21;
}
}
}
}
var _22=_1d.length>0?_1d:_1e;
createDropDown(_22);
}else{
show=true;
}
}
function createDropDown(_23){
var y=posY("localityBox");
var x=posX("localityBox");
var w=bObject("localityBox").clientWidth;
try{
document.getElementsByTagName("body")[0].removeChild(bObject("suggest"));
}
catch(e){
}
var div=document.createElement("div");
div.id="suggest";
div.style.position="absolute";
div.style.left=x+"px";
div.style.top=y+bObject("localityBox").clientHeight+"px";
//div.style.width=w+"px"; // SP - width is used from css file, if want it do be dynamic uncomment this
div.className="suggestContainer";
document.getElementsByTagName("body")[0].appendChild(div);
div.innerHTML="";
if(_23.length==0){
div.style.display="none";
}else{
div.style.display="";
}
for(var i=1;i<=_23.length;i++){
var _29="onmouseover='restoreAll();highlight(this);_Curr="+i+";' onmouseout='restore(this)' onclick='populate(this);clearSuggestions()'";
div.innerHTML+="<div class='suggestNormal' id='suggest_"+i+"' "+_29+">"+_23[i-1]+"</div>";
}
availableResults=_23.length;
}
var show=true;
function clearSuggestions(){
try{
document.getElementsByTagName("body")[0].removeChild(bObject("suggest"));
}
catch(e){
}
show=false;
}
var doAfterLogin={originObjectId:"",doSuccess:false,onSuccessExecute:function(){
clearModalWindow();
},reloadOnActionCompleted:false,addToOnSuccessEvent:function(_2a){
var _2b=doAfterLogin.onSuccessExecute;
doAfterLogin.onSuccessExecute=function(){
_2b();
_2a();
};
}};
var globalPopUpContainer={};
if(document.addEventListener){
document.addEventListener("click",docClickEventListener,false);
}else{
document.attachEvent("onclick",docClickEventListener);
}
function docClickEventListener(evt){
evt=(evt)?evt:((window.event)?window.event:null);
if(evt){
var _2d=(evt.target)?evt.target:((evt.srcElement)?evt.srcElement:null);
var _2e=null;
var _2f=false;
var _30=null;
var _31=null;
for(var key in globalPopUpContainer){
_31=globalPopUpContainer[key];
_30=_31.origin;
_2e=_31.self;
if(_2e&&_30){
var _33=contains(_30,_2d);
if(_33){
continue;
}else{
_2f=contains(_2e,_2d);
if(!_2f){
try{
_2e.parentNode.removeChild(_2e);
}
catch(e){
}
}
}
}
}
}
}
if(document.addEventListener){
document.addEventListener("keypress",docKeypressListener,false);
}else{
document.attachEvent("onkeypress",docKeypressListener);
}
function docKeypressListener(e){
var obj=null;
var key=(window.event)?window.event.keyCode:e.keyCode;
var _37=null;
if(key==KeyCodes.constants.RET||key==KeyCodes.constants.TAB||key==KeyCodes.constants.ESC){
for(var _38 in globalPopUpContainer){
_37=globalPopUpContainer[_38];
obj=_37.self;
if(obj){
try{
obj.parentNode.removeChild(obj);
}
catch(e){
}
}
}
}
}
var KeyCodes={constants:{RET:13,TAB:9,ESC:27}};
function contains(_39,_3a){
if(_39==_3a){
return true;
}
return _39.contains?_39.contains(_3a):!!(_39.compareDocumentPosition(_3a)&16);
}
function addToOnLoadEvent(_3b){
var _3c=window.onload;
if(typeof window.onload!="function"){
window.onload=_3b;
}else{
window.onload=function(){
if(_3c){
_3c();
}
_3b();
};
}
}


function sendRequest(uri,_3e,i){
try{
if(window.XMLHttpRequest){
req=new XMLHttpRequest();
}else{
if(window.ActiveXObject){
try{
req=new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e){
try{
req=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e){
req=false;
}
}
}
}
if(req){
if(window.XMLHttpRequest){
try{
if(netscape.security.PrivilegeManager.enablePrivilege){
netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
}
}
catch(e){
}
}else{
if(window.ActiveXObject){
}
}
req.onreadystatechange=hashedListOfFunctions[i];
req.open("POST",uri,true);
req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
req.send(_3e);
}else{
}
}
catch(e){
}
}

function reduceQueryLength(str,_42){
var _43=str.split(" ");
var _44="";
for(var i=0;i<_43.length;i++){
var _46=_43[i];
var _47=miniFn(_46);
if(_47>_42){
var _48="";
for(var m=0;m<_46.length;m++){
if(miniFn(_46.substring(0,m))<(_42-10)){
_48=_46.substring(0,m);
}else{
_48+="...";
break;
}
}
_46=_48;
}
if(_44!=""){
_44+=" "+_46;
}else{
_44+=_46;
}
}
return _44;
}

function displayAjaxResponse(msg,_4f){
var cH=bObject(_4f).clientHeight;
var _51=parseInt(bObject(_4f).style.top);
bObject(_4f).style.top=(_51+(cH/2-50)*100/_globalBrowser[1])+"%";
bObject(_4f).style.padding="0px";
bObject(_4f).style.border="0px solid #fff";
bObject(_4f).innerHTML=msg;
setTimeout("clearModalDialog(bObject('"+_4f+"'))",2000);
}

var bObject=function(a){
if(document.all&&!document.getElementById){
return document.all[a];
}else{
return document.getElementById(a);
}
};
function posX(_77){
try{
var obj=bObject(_77);
var _79=0;
if(obj.offsetParent){
while(obj.offsetParent){
_79+=obj.offsetLeft;
obj=obj.offsetParent;
}
}else{
if(obj.x){
_79+=obj.x;
}
}
return _79;
}
catch(e){
}
}
function posY(_7a){
try{
var obj=bObject(_7a);
var _7c=0;
if(obj.offsetParent){
while(obj.offsetParent){
_7c+=obj.offsetTop;
obj=obj.offsetParent;
}
}else{
if(obj.y){
_7c+=obj.y;
}
}
return _7c;
}
catch(e){
}
}
function removeElement(_7d){
try{
try{
fadeTimer=fadeInOut(_7d,"out");
}
catch(e){
}
}
catch(e){
}
}
function browserSize(){
if(navigator.appName=="Netscape"){
bW=parseInt(window.innerWidth);
bH=parseInt(window.innerHeight);
}else{
if(navigator.appName.indexOf("Microsoft")!=-1){
bW=parseInt(document.body.offsetWidth);
bH=parseInt(document.body.offsetHeight);
}
}
return [bW,bH];
}
var offsetx,offsety,nowX,nowY,whichDog,isIEYes,mdEnabled;
function md(e){
isIEYes=document.all;
whichDog=bObject(this.id).parentNode;
offsetx=isIEYes?event.clientX:e.clientX;
offsety=isIEYes?event.clientY:e.clientY;
nowX=parseInt(whichDog.style.left);
nowY=parseInt(whichDog.style.top);
if(!nowX){
nowX=0;
}
if(!nowY){
nowY=0;
}
if(mdEnabled==true){
mdEnabled=false;
}else{
mdEnabled=true;
}
whichDog.onmousemove=mm;
whichDog.onmouseup=function(){
mdEnabled=false;
};
}
function mm(e){
if(!mdEnabled){
return;
}
whichDog.style.left=isIEYes?parseInt(nowX)+event.clientX-offsetx+"px":parseInt(nowX)+e.clientX-offsetx+"px";
whichDog.style.top=isIEYes?parseInt(nowY)+event.clientY-offsety+"px":parseInt(nowY)+e.clientY-offsety+"px";
return false;
}

function getValueFromURL(v,u){
var q=u.split("?");
if(q.length==0){
return "";
}
var qry=q[1];
var _8e=qry.split("&");
var _8f="";
for(i=0;i<_8e.length;i++){
var _90=_8e[i].split("=");
if(_90[0]==v){
_8f=_90[1];
break;
}
}
_8f=unescape(_8f);
_8f.replace(/\+/g," ");
return _8f;
}
function hoverOver(k,y){
k.style.backgroundPosition="0px "+y+"px";
}
var miniFn=function(_93){
var u=document.createElement("div");
u.style.position="absolute";
u.innerHTML=_93;
u.id="invElem";
document.body.appendChild(u);
var _95=bObject("invElem").clientWidth;
document.body.removeChild(bObject("invElem"));
return parseInt(_95);
};
function isNumeric(_96){
var _97;
if(_96.length==0||_96.length<10||_96.length>10||_96.substring(0,1)=="0"){
return false;
}
var _98=isValidNumber(_96);
return _98;
}
function isValidNumber(_99){
var _9a="0123456789";
var _9b=true;
for(var i=0;i<_99.length&&_9b==true;i++){
strChar=_99.charAt(i);
if(_9a.indexOf(strChar)==-1){
_9b=false;
break;
}
}
return _9b;
}

function eventsCallBack(_ba){
if(req.readyState==4){
if(req.status==200){
var _bb=bObject("tabDisplaySection");
_bb.innerHTML=req.responseText;
var _bc=new Lightbox();
initializeTimer();
}
}
}