/**
 *
 * @fileoverview Ricerca HOL
 *
 * @filename hd-search.js
 * @created 2008-05-07
 * @original author Giampaolo Bellavite
 * @copyright Kemen s.r.l.
 * @license Mozilla Public License Version 1.1
 * @version 0.1
 * @$LastChangedDate: 2009-04-20 16:58:34 +0200 (Lun, 20 Apr 2009) $
 * $LastChangedRevision: 28 $
 * $LastChangedBy: giampaolo $
*/

HOL.searchDoc = new function(){
	var dataset = HOLSearchDataset; // var pubblica in page.cfm
	var kw;
	this.getServizi = function (sQuery) {
	    var aResults = [];
	    if(sQuery && sQuery.length > 0) {
	        var charKey = sQuery.substring(0,1).toLowerCase();
	        var oResponse = dataset['records'];
	        
	        if(oResponse) {
	            for(var i = oResponse.length-1; i >= 0; i--) {
	                var sKey = oResponse[i].TITLE + ' ' + oResponse[i].KEYWORDS;
	                var sKeyIndex = encodeURI(sKey.toLowerCase()).indexOf(sQuery.toLowerCase());
					kw =charKey;
					if(sKeyIndex >= 0) {
						aResults.unshift([oResponse[i].TITLE, oResponse[i].URL]);
	                }
	            }
	            return aResults;
	        }
	    }
	    // Empty queries return none
	    else {
	        return [];
	    }
	}
	
    // Instantiate JS Function DataSource
    this.oACDS = new YAHOO.widget.DS_JSFunction(this.getServizi);

    // Instantiate AutoComplete
    this.oAutoComp = new YAHOO.widget.AutoComplete('hd-search-input','hd-search-result', this.oACDS);
 	this.oAutoComp.animSpeed = 0.05;
    this.oAutoComp.minQueryLength = 0;
    this.oAutoComp.maxResultsDisplayed = 0;
    this.oAutoComp.formatResult = function(oResultItem, sQuery) {
        var sMarkup = oResultItem[0];
		YAHOO.util.Dom.setStyle('hd-search-result', 'width','250px');
			
		if(document.all && !window.opera) // TODO: IE
			YAHOO.util.Dom.setStyle('hd-search-result', 'margin-left','-500px');
		else 
			YAHOO.util.Dom.setStyle('hd-search-result', 'margin-left','-29px');
        return (sMarkup);
    };

	this.itemSelectReturn = function(sType, aArgs) {
        var oAutoComp = aArgs[0];
        var sQuery = aArgs[1];
        var aResults = aArgs[2];
		var inputEl = YAHOO.util.Dom.get('hd-search-input');
		inputEl.disabled="true";
		document.location = aArgs[2][1].toString()+'&s='+kw;
    };
	
    this.oAutoComp.itemSelectEvent.subscribe(this.itemSelectReturn);
   
	 // Preload content in the container
    this.oAutoComp.sendQuery("");
};
