﻿var ddResults;

function getSearchResults(e, tbSearch,_ddResults)
{
    
//    var tmpVal = tbSearch.value;
//    insertAtCursor(tbSearch, String.fromCharCode(e.keyCode));
    var keyword = tbSearch.value;
//    tbSearch.value = tmpVal;
    ddResults = _ddResults;
    ddResults.style.display = 'none';
    if(keyword != ''){
        ajax = new sack();
	    ajax.requestFile = 'predictiveSearch.aspx';
	    ajax.setVar('keyword',keyword);
	    ajax.onCompletion = whenSearchCompleted;	
	    ajax.runAJAX();
	}
}

function lostFocus(ddResults){
    if(document.activeElement.name == undefined){
      ddResults.style.display = 'none';
    }else{
        if(document.activeElement.name.indexOf('tbSearch') == -1 && document.activeElement.name.indexOf('ddlPredictiveSearch') == -1)
        {
            ddResults.style.display = 'none';
        }
    }
}


function insertAtCursor(myField, myValue) {
		//IE support
		if (document.selection) {
			myField.focus();
			sel = document.selection.createRange();
			sel.text = myValue;
		}
		//MOZILLA/NETSCAPE support
		else if (myField.selectionStart || myField.selectionStart == '0') {
			var startPos = myField.selectionStart;
			var endPos = myField.selectionEnd;
			myField.value = myField.value.substring(0, startPos)
			+ myValue
			+ myField.value.substring(endPos, myField.value.length);
		} else {
			myField.value += myValue;
		}
	}


function whenSearchCompleted(){
    if(!ajax.response){
        ddResults.length = 0;
        ddResults.size = 1;
        return;
    }
    
    var tiers = ajax.response.split(',');
    
    ddResults.length = tiers.length;
    var i;
    for (i=0;i<tiers.length;i++)
    {
        ddResults.options[i].text = tiers[i];
        ddResults.options[i].value = tiers[i];
    }
    
    ddResults.size = ddResults.length + 1;    
    if (ddResults.length > 0){
        ddResults.style.display = '';
    }else{
        ddResults.style.display = 'none';
    }
    
}
