var AJAX_RESULTS_LIMIT=20;var AJAX_DIV_SUFFIX='AjaxListDiv';var AJAX_LIST_SUFFIX='AjaxList';var ajaxField;var ajaxResultsLimit=AJAX_RESULTS_LIMIT;var intervalId='';function ajaxFieldChanged(funcName,inField,evt){ajaxField=typeof inField=='array'?inField:$(inField);ajaxField.attr('AjaxFunction',funcName);e=evt.keyCode;if(e==40||e==38){moveHighlighted(e)}else if(e==39||e==37){}else if(e==13){clearAjaxListDiv(ajaxField)}else{clearAjaxListDiv(ajaxField);if(ajaxField.val().length>1){if(intervalId.toString().length>0)clearInterval(intervalId);intervalId=setInterval(makeAjaxCall,500)}}}function makeAjaxCall(){clearInterval(intervalId);cbox.setCallbackHandler(fillAjaxBox);eval('cbox.'+ajaxField.attr('AjaxFunction')+'(ajaxField.val(),ajaxResultsLimit)')}function moveHighlighted(e){var highlightedLi=$('#highlightedLi');switch(e){case 40:if(highlightedLi){highlightedLi.removeAttr('id');try{highlightedLi=highlightedLi.next();addHighlight(highlightedLi)}catch(exception){highlightFirst()}}else{highlightFirst()}break;case 38:if(highlightedLi){highlightedLi.removeAttr('id');try{highlightedLi=highlightedLi.prev();addHighlight(highlightedLi)}catch(exception){highlightLast()}}else{highlightLast()}break;default:break}}function killKey(evt){e=evt.keyCode;if(e==40||e==38||e==13){if(evt.cancelBubble!=null)evt.cancelBubble=true;if(evt.stopPropagation)evt.stopPropagation();if(evt.preventDefault)evt.preventDefault();return false}}function clearAjaxListDiv(af){var af=typeof af=='array'?af:$(af);var ajaxFieldDiv=$('#'+af.attr('name')+AJAX_DIV_SUFFIX);while(ajaxFieldDiv[0].childNodes[0]){ajaxFieldDiv[0].removeChild(ajaxFieldDiv[0].childNodes[0])}ajaxFieldDiv.hide()}function highlightFirst(){var highlightedLi=$('#'+ajaxField.attr('name')+AJAX_LIST_SUFFIX+' li:first');addHighlight(highlightedLi)}function highlightLast(){var highlightedLi=$('#'+ajaxField.attr('name')+AJAX_LIST_SUFFIX+' li:last');addHighlight(highlightedLi)}function addHighlight(li){var li=typeof li=='array'?li:$(li);var highlightedLi=$('#highlightedLi');if(highlightedLi)highlightedLi.removeAttr('id');li.attr('id','highlightedLi');ajaxField.val(li.attr('rel').replace('&amp;','&'))}function removeHighlight(li){var li=typeof li=='array'?li:$(li);li.removeAttr('id')}function fillAjaxBox(r){if((r.length>0)&&(ajaxField.val().length>1)){clearAjaxListDiv(ajaxField);var ajaxDiv=$('#'+ajaxField.attr('name')+AJAX_DIV_SUFFIX);var newUl=$(document.createElement('ul'));newUl.attr('id',ajaxField.attr('name')+AJAX_LIST_SUFFIX);for(var i=0;i<r.length;i++){var newLi=$(document.createElement('li'));newLi.attr('rel',r[i]['value']);newLi.html(r[i]['display']);newLi.mouseover(function(){addHighlight(this)}).mouseout(function(){removeHighlight(this)});newUl.append(newLi)}ajaxDiv.append(newUl);ajaxDiv.show()}}