var bChecking=false;
var arrFoo=new Array();
var arrPlaatsenPrev=new Array();
var Plaatsen=new Array();
var arrPlaatsen=new Array();
var arrIDs=new Array();
var arrKeywords=new Array();
var oXMLHTTP;
var sTypedValue='';
var bBrowserOk=window.ActiveXObject||window.XMLHttpRequest;
var MAC=(navigator.appVersion.indexOf("Macintosh")!=-1);
var IE=(navigator.appVersion.indexOf("MSIE")!=-1);
var IE50=(navigator.appVersion.indexOf("MSIE 5.0")!=-1);
sLanguage='en';
sZoek='';
bShow=false;
var nBreedte;
var nHeight=0;
nHover=-1;
bHover=false;
bCancelEnterSubmit=false;
bEnabled=true;
bFocused=true;
sVorige='';
var oInput;
var VorigeLetter='';
var arrPlaatsenOrigineel;
var arrIDsOrigineel;
var arrKeywordsOrigineel;
var sWidth1,sWidth2,sWidthList;
var AccountID;
var StartOphalenTijd;
var EindOphalenTijd;
var StartProcessingTijd;
var EindProcessingTijd;
var blnInitialising=true;
onlocationselected =  function( sDescription, intID ) { };
function ShowInput(oForm,sInput,sValue,nWidthFrame,nWidthList,sExtra,bAan,intAccountID,blnSetFocus,strZoek,strLanguage)
{
if(strLanguage!='')
{
if(strLanguage.toLowerCase()=='vl')
{sLanguage='nl'}
else
{sLanguage=strLanguage.toLowerCase()}
}
sZoek=strZoek;
AccountID=intAccountID;
if(document.getElementById&&!(MAC&&IE))
{sWidth1=nWidthFrame+'px';
sWidth2=(nWidthFrame+2)+'px';
sWidthList=nWidthList+'px';
sWidth4=sWidth2;
document.getElementById('DefaultInput').innerHTML='';
if(IE)
{sWidth2='100.4%';
document.write('<div style="z-index: 999; position:relative; padding-bottom:0px; width:'+sWidth1+';">');
document.write('	<div style="z-index: 999; position:absolute; left:0px; top:23px; width:auto; height:auto; ">');
if(!IE50){document.write('		<div id="FrameContainer" style="z-index: 999; position:absolute; left:0px; top:0px; width:'+sWidth2+'; height:100%;">');
document.write('			<iframe id="iFrame" style="z-index: 999; width:'+sWidth2+'; height:0px;"></iframe>');
document.write('		</div>')}document.write('		<div style="z-index: 999; position:absolute; left:0px; top:0px;width:'+sWidthList+';">');
document.write('			<div id="Lijst" style="width:'+sWidthList+';" onmouseout="MouseOutLijst()"></div>');document.write('		</div>');
document.write('	</div>');document.write('	<input type="text" class="input_enabled" id="'+sInput+'" style="" name="'+sInput+'" value="'+sValue+'" autocomplete="off" onfocus="Focused(true)" onblur="Focused(false)" onkeyup="Check(event)" /><br/>')}
else
{sWidth1='19.9em';
sWidth2='20.4em';
sWidth3='20.3em';
document.write('<div style="z-index: 999;position:relative; padding-bottom:0px; ">');
document.write('	<input class="autocomplete" autocomplete="off" onfocus="Focused(true)" onblur="Focused(false)" onkeyup="Check(event)" id="'+sInput+'" +  name="'+sInput+'" value="'+sValue+'" ><br/>');
document.write('	<div id="Lijst" style="position:absolute; width:'+sWidthList+';" onmouseout="MouseOutLijst()"></div>')}
document.write('	<div id="Message" style="position:absolute; width:'+sWidth2+';" onmouseout="MouseOutLijst()"></div>');
document.write('	<div style="width=200px; left: 300px; top=200px; position:absolute;"><input type="hidden" id="DropDownLocationID" value="0" /></div>');
document.write('	<div style="top=230px; position:absolute;"><input style="width=300px;" type="hidden" id="DropDownLocationName" value="" /></div>');
document.write('	<div style="width=200px; top=300px; left=200px; position:absolute;"><input type="hidden" id="OutputText" value="" /></div>');
document.write('	<input type="hidden" id="test" style="width:100;position: absolute; left: 100px; top: 100px;" name="test"/>');
document.write('</div>');
oInput=oForm[sInput];
document.onclick=DocumentClick;
document.onkeyup=KeyUp;
document.onkeydown=KeyDown;
nBreedte=nWidthFrame}}

function ShowMessageDiv(strMessage)
{document.getElementById('Message').style.display='block';
document.getElementById('Message').style.visibility='visible';
document.getElementById('Message').innerHTML=strMessage}

function HideMessageDiv()
{document.getElementById('Message').style.display='none';
document.getElementById('Message').style.visibility='hidden';
document.getElementById('Message').innerHTML=''}

function Focused(b)
{bFocused=b;
if(b)
{oInput.select()}}

function Focus()
{bFocus=true;oInput.focus()}

function Blur()
{bFocus=false}

function CopyArray(aArray)
{var Nieuw=new Array();
for(i=0;i<aArray.length;i++)
{Nieuw[i]=aArray[i]}
return Nieuw}

function FilterPlaatsen(sString)
{if(oInput.value.length>=3)
{sString=sString.toLowerCase();
var intStringLength=sString.length;
if(arrPlaatsenOrigineel)
{arrPlaatsen=CopyArray(arrPlaatsenOrigineel);
arrIDs=CopyArray(arrIDsOrigineel);
arrKeywords=CopyArray(arrKeywordsOrigineel)}
for(intI=arrPlaatsen.length-1;intI>-1;intI--)
{var strID='#'+arrIDs[intI];
if(arrKeywords[intI]!=null&&arrKeywords[intI]!=undefined)
{var blnExistsInPlaats=(arrPlaatsen[intI].toLowerCase().substring(0,intStringLength)==sString);
var blnExistsInKeyWord=(arrKeywords[intI].toLowerCase().indexOf(sString)!=-1);
if(!blnExistsInKeyWord)
{if(!blnExistsInPlaats)
{if(oInput.value.length==3)
{arrPlaatsen[intI]+=strID}
else{DeleteItem(arrPlaatsen,arrIDs,arrKeywords,intI)}}
else{arrPlaatsen[intI]+=strID}}
else{if(blnExistsInPlaats)
{arrPlaatsen[intI]+=strID}
else
{var arrKeywordsForThisPlaats=arrKeywords[intI].split(',');
var blnFoundOne=false;
var strPlaats=arrPlaatsen[intI];
for(intY=0;intY<arrKeywordsForThisPlaats.length;intY++)
{var blnMatch=arrKeywordsForThisPlaats[intY].toLowerCase().substring(0,intStringLength)==sString;
var strKeyword=arrKeywordsForThisPlaats[intY];
var strKeywordCap=strKeyword.substring(0,1).toUpperCase()+strKeyword.substring(1,999);
if(blnMatch)
{var strPlaatsWithKeywordAndID=strKeywordCap+'  ['+strPlaats+']'+strID;
if(blnFoundOne){arrPlaatsen[arrPlaatsen.length]=strPlaatsWithKeywordAndID}
else{arrPlaatsen[intI]=strPlaatsWithKeywordAndID;blnFoundOne=true}}}}}}
else{arrPlaatsen[intI]+=strID}}}arrPlaatsen.sort();
RebuildArrIDs();
SetLijst()}

function RebuildArrIDs()
{var intLength=arrPlaatsen.length;
arrIDs.length=0;
arrIDs.length=intLength;
for(intI=0;intI<intLength;intI++)
{var intIndexOfHekje=arrPlaatsen[intI].indexOf('#');
var intPlaatsLength=arrPlaatsen[intI].length;
var intID=arrPlaatsen[intI].substring(intIndexOfHekje+1,intPlaatsLength);
arrIDs[intI]=intID;arrPlaatsen[intI]=arrPlaatsen[intI].substring(0,intIndexOfHekje)}}

function DeleteItem(arrPlaatsen,arrIDs,arrKeywords,intI)
{for(intN=intI;intN<arrPlaatsen.length-1;intN++)
{arrPlaatsen[intN]=arrPlaatsen[intN+1];
arrIDs[intN]=arrIDs[intN+1];
arrKeywords[intN]=arrKeywords[intN+1]}
arrPlaatsen.length--;
arrIDs.length--;
arrKeywords.length--}

function clearArrays()
{arrPlaatsen.length=0;
arrIDs.length=0;
arrKeywords.length=0;
document.getElementById('OutputText').value='geen 3;'+arrPlaatsen.length}

function Check(event)
{if(event.keyCode==27||(event.keyCode==8&&oInput.value.length<3))HideMessageDiv();
if(!bBrowserOk||bEnabled==false||bChecking!=false)return;
if(event)
{if(event.keyCode==13)return;
if(event.keyCode==34)return;
if(event.keyCode==33)return;
if(event.keyCode==40)return;
if(event.keyCode==38)return}
if(oInput.value.length<3){Hide();
HideMessageDiv();
clearArrays();
return}
document.getElementById('OutputText').value='wel 3:    '+arrPlaatsen.length;ShowMessageDiv('Searching, please wait....');
sTypedValue=oInput.value;
Letter=oInput.value.substring(0,3);
sVorige=oInput.value;
if(VorigeLetter==Letter){FilterPlaatsen(oInput.value);
return}
VorigeLetter=Letter;
bChecking=true;
oXMLHTTP=false;
if(window.ActiveXObject)oXMLHTTP=new ActiveXObject("Microsoft.XMLHTTP");
if(window.XMLHttpRequest)oXMLHTTP=new XMLHttpRequest();
if(!oXMLHTTP)arrPlaatsen='';
else{oXMLHTTP.onreadystatechange=function(){if(oXMLHTTP.readyState==4){EindOphalenTijd=new Date();
StartProcessingTijd=new Date();
arrFoo=oXMLHTTP.responseText;
sHeader='<plaatsen>';
sFooter='</plaatsen>';
arrFoo=arrFoo.substring(sHeader.length,arrFoo.length-sFooter.length);
arrFoo=arrFoo.split(';');
for(i=0;i<arrFoo.length;i++){strItem=arrFoo[i];
tempArr=strItem.split('|');
arrPlaatsen[i]=tempArr[0];
arrIDs[i]=tempArr[1];
arrKeywords[i]=tempArr[2]}
arrPlaatsenOrigineel=CopyArray(arrPlaatsen);
arrIDsOrigineel=CopyArray(arrIDs);
arrKeywordsOrigineel=CopyArray(arrKeywords);
SetLijst();
FilterPlaatsen(oInput.value);
EindProcessingTijd=new Date()}};
StartOphalenTijd=new Date();
AccountID="611";
var search;
if(document.getElementById('ProductType')!=null)
{if(document.getElementById('ProductType').value!='')
{search=sZoek+oInput.value+'&accountid='+AccountID+'&language='+sLanguage+'&producttype='+document.getElementById('ProductType').value}
else{search=sZoek+oInput.value+'&accountid='+AccountID+'&language='+sLanguage}}
else{search=sZoek+oInput.value+'&accountid='+AccountID+'&language='+sLanguage}
oXMLHTTP.open("GET",search);
oXMLHTTP.send(null)}}
function Hide()
{bShow=false;
document.getElementById('Lijst').style.display='none';
if(IE&&!IE50)document.getElementById('FrameContainer').style.display='none'}
function ShowLijst(){document.getElementById('Lijst').style.display='block';
if(IE&&!IE50)document.getElementById('FrameContainer').style.display='block'}
function SetLijst()
{document.getElementById('Lijst').innerHTML='';
nAantal=arrPlaatsen.length>150?150:arrPlaatsen.length;
n=2+16*nAantal;
if(n>120)n=120;
nHeight=73-n;
if(navigator.userAgent.indexOf("Firefox")>0)nHeight+=16;
nHeight=nHeight<0?0:nHeight;
if(arrPlaatsen[0]!=''){nHover=-1;s='<table cellpadding=0 cellspacing=0 style="width:'+sWidthList+';">';
for(i=0;i<nAantal;i++){sPlaats=arrPlaatsen[i];sPlaatsSlash=sPlaats.replace('\'','\\\'');
s+='<tr class="gewoon" id="Link'+i+'" onmouseover="MouseOverLink('+i+')" onclick="CheckAutocompleteSubmit()">';
s+='<td class="plaats" title="'+sPlaats+'">'+sPlaats+'</td>';
s+='</tr>'}s+='</table>';document.getElementById('Lijst').innerHTML+=s;
bShow=true;
var MaxItems=30;
if(arrPlaatsen.length>MaxItems){HideMessageDiv()}
else{HideMessageDiv()}
ShowLijst()}
else{Hide()}
if(IE&&!IE50)document.getElementById('iFrame').style.height=(document.getElementById('Lijst').clientHeight+2)+'px';
if(nAantal==0)Hide();
bChecking=false;
if(getLocation("location")!==""&&nAantal==1){document.getElementById('pickuplocation_ac').value=TrimString(arrPlaatsen[0].toString());
document.getElementById('pickuplocation').value=TrimString(arrPlaatsen[0].toString());
document.getElementById('pickuplocationId').value=TrimString(arrIDs[0].toString());
document.getElementById('dropofflocationId').value=TrimString(arrIDs[0].toString());
Hide()}}
function CheckAutocompleteSubmit()
{var intChosenLocationID=document.getElementById('DropDownLocationID').value;
var strChosenLocationName=document.getElementById('DropDownLocationName').value;
for(intX=0;intX<arrIDsOrigineel.length-1;intX++)
{if(intChosenLocationID==arrIDsOrigineel[intX]){strChosenLocationName=arrPlaatsenOrigineel[intX]}}Hide();
onlocationselected(strChosenLocationName,intChosenLocationID);
bCancelEnterSubmit=false;
return false}function getLocation(strParamName){var strReturn="";
var strHref=document.location.href;
if(strHref.indexOf("?")>-1){var strQueryString=strHref.substring(strHref.indexOf("&")).toLowerCase();
var aQueryString=strQueryString.split("&");
for(var iParam=0;iParam<aQueryString.length;iParam++)
{if(aQueryString[iParam].indexOf(strParamName+"=")>-1)
{var aParam=aQueryString[iParam].split("=");
strReturn=aParam[1];
break}}}
return strReturn}

function MouseOverLink(i)
{if(nHover>-1)
{if(document.getElementById('Link'+nHover))document.getElementById('Link'+nHover).className='gewoon'}
nHover=i;
if(i!=-1){if(document.getElementById('Link'+i))document.getElementById('Link'+i).className='LinkHover'}
if(i>-1){document.getElementById('DropDownLocationID').value=arrIDs[i];
document.getElementById('DropDownLocationName').value=arrPlaatsen[i]}}

function KeyDownLink(i)
{if(parseInt(document.getElementById('Lijst').scrollTop)<-36+i*16)document.getElementById('Lijst').scrollTop=-36+i*16;
if(parseInt(document.getElementById('Lijst').scrollTop)>i*16)document.getElementById('Lijst').scrollTop=i*16;
MouseOverLink(i)}

function MouseOutLijst()
{}

function SetCapitalArray(a)
{for(i=0;i<a.length;i++)
{a[i]=SetCapitals(a[i])}}

function ToggleLijst()
{if(document.getElementById('Lijst').style.display=='block')
{bShow=false;document.getElementById('Lijst').style.display='none';
if(IE&&!IE50)document.getElementById('FrameContainer').style.display='none'}
else{bShow=true;
document.getElementById('Lijst').style.display='block';
if(IE&&!IE50)document.getElementById('FrameContainer').style.display='block'}
return false}

function MouseOut()
{bHover=false}

function MouseOver()
{bHover=true}

function SetCapitals(s)
{if(s.indexOf(' ')>-1||s.indexOf('-')>-1){s=MultipleCapitals(s)}
else{s=s.substring(0,1).toUpperCase()+s.substring(1,s.length).toLowerCase()}return s}

function MultipleCapitals(sInput)
{var sSeparators=' -';
var sOutput=sInput.substring(0,1).toUpperCase();
for(var i=1;i<sInput.length;i++)
{if(sSeparators.indexOf(sInput.charAt(i-1))>-1)
{sOutput+=sInput.substring(i,i+1).toUpperCase()}
else{sOutput+=sInput.substring(i,i+1).toLowerCase()}}
return sOutput}

function DocumentClick()
{if(!bBrowserOk)return;
if(bHover==false)
{Hide()}}

function CheckKeypress(event)
{if(!bBrowserOk)return;
if(bShow==true)
{if(event.keyCode==40)return false;
if(event.keyCode==38)return false}
return true}

function KeyDown(event)
{if(!bEnabled)return;
if(!event)
{if(window.event){event=window.event}
else{return}}
if(event.keyCode==13)
{bCancelEnterSubmit=bShow}
else{bCancelEnterSubmit=false}
if(event.keyCode==34)GoDown(4);
if(event.keyCode==33)GoUp(4);
if(event.keyCode==40)GoDown(1);
if(event.keyCode==38)GoUp(1)}

function KeyUp(event)
{if(!bEnabled)return;
if(!event){if(window.event){event=window.event}
else{return}}
if(event.keyCode==13){CheckAutocompleteSubmit()}
if(event.keyCode==27)Enter();
if(event.keyCode==9)Enter()}

function Enter(bEnter)
{if(!bBrowserOk)return;
if(bShow==true)
{Hide();
oInput.focus()}}

function GoDown(n)
{if(!bBrowserOk||(bFocused==false))return;
if(bShow==false)Check();
n=nHover+n;
if(!window.nAantal)return;
if(n>nAantal-1){n=0}KeyDownLink(n)}

function GoUp(n)
{if(!bBrowserOk||(bFocused==false))return;
if(bShow==false)Check();
n=nHover-n;
if(n<0){n=nAantal-1} KeyDownLink(n)}

function showLocations(event)
{if(getLocation("location")!=="")
{document.getElementById('pickuplocation_ac').value=(getLocation("location"));
document.getElementById('pickuplocation_ac').focus();Check(event)}}
