
var acListTotal=0;var acListCurrent=-1;var acDelay=500;var acSearchId=null;var acResultsId=null;var acSearchField=null;var acResultsDiv=null;var acMaxResults=10;var acAutoCompleteAjaxAdapter=null;function setAutoComplete(field_id,results_id,max_results,ajaxAdapter){acSearchId="#"+field_id;acResultsId="#"+results_id;acMaxResults=max_results;acAutoCompleteAjaxAdapter=ajaxAdapter;jQuery("body").append('<div id="'+results_id+'"></div>');acSearchField=jQuery(acSearchId);acResultsDiv=jQuery(acResultsId);repositionResultsDiv();acSearchField.blur(function(){setTimeout("clearAutoComplete()",200)});acSearchField.keyup(function(e){var keyCode=e.keyCode||window.event.keyCode;var lastVal=acSearchField.val();if(updownArrow(keyCode)){return;}
if(keyCode==13||keyCode==27){clearAutoComplete();return;}
setTimeout(function(){autoComplete(lastVal)},acDelay);});}
function autoComplete(lastValue)
{var part=acSearchField.val();if(part==''){clearAutoComplete();return;}
if(lastValue!=part){return;}
acAutoCompleteAjaxAdapter.getCompletitionList(part,acMaxResults,acResponse);}
function acResponse(ajaxResponse){acProcessAndDisplayData(ajaxResponse.data);}
function acProcessAndDisplayData(resultList){var ansLength=acListTotal=resultList.length;if(ansLength>0){var newData='';var count=0;if(acMaxResults>0&&acMaxResults<ansLength){count=acMaxResults;}else{count=ansLength;}
for(i=0;i<count;i++){newData+='<div class="unselected">'+resultList[i]+'</div>';}
repositionResultsDiv();acResultsDiv.html(newData);acResultsDiv.css("display","block");if(jQuery.browser.msie){acShowIframe("acIeHackIFrame",acResultsDiv);}
var divs=jQuery(acResultsId+" > div");divs.mouseover(function(){divs.each(function(){this.className="unselected";});this.className="selected";})
divs.click(function(){acSearchField.val(this.childNodes[0].nodeValue);clearAutoComplete();});}else{clearAutoComplete();}}
function clearAutoComplete()
{acResultsDiv.html('');acResultsDiv.css("display","none");if(jQuery.browser.msie){acHideIframe("acIeHackIFrame");}}
function repositionResultsDiv()
{var sf_pos=acSearchField.offset();var sf_top=sf_pos.top;var sf_left=sf_pos.left;var sf_height=acSearchField.height();var sf_width=acSearchField.width();acResultsDiv.css("position","absolute");acResultsDiv.css("left",sf_left);acResultsDiv.css("top",sf_top+sf_height+3);acResultsDiv.css("width",sf_width+20);}
function updownArrow(keyCode){if(keyCode==40||keyCode==38){if(keyCode==38){if(acListCurrent==0||acListCurrent==-1){acListCurrent=acListTotal-1;}else{acListCurrent--;}}else{if(acListCurrent==acListTotal-1){acListCurrent=0;}else{acListCurrent++;}}
acResultsDiv.children().each(function(i){if(i==acListCurrent){acSearchField.val(this.childNodes[0].nodeValue);this.className="selected";}else{this.className="unselected";}});return true;}else{acListCurrent=-1;return false;}}
function acShowIframe(iFrameId,parentElement){jQuery("body").append('<iframe src="javascript:false;" id="'+iFrameId+'" style="position:absolute; height:0;"></iframe>');var targetW=parentElement.width();jQuery("#"+iFrameId).css("width",targetW+4);var targetH=parentElement.height();jQuery("#"+iFrameId).css("height",targetH);var targetL=parentElement.css("left");jQuery("#"+iFrameId).css("left",targetL);var targetT=parentElement.css("top");jQuery("#"+iFrameId).css("top",targetT);var targetZ=parentElement.css("z-index");jQuery("#"+iFrameId).css("z-index",targetZ-1);jQuery("#"+iFrameId).show();}
function acHideIframe(iFrameId){jQuery("#"+iFrameId).remove();}
