// FIXME: get this to work with any input id, and any type (char, audio, actor, etc)

// start remote
YAHOO.example.remote_char = function() {
    // Use an XHRDataSource
    var oDS = new YAHOO.util.XHRDataSource(MOOGI.domain+"ajax/ysearch_flat_auto.php");
    // Set the responseType
    oDS.responseType = YAHOO.util.XHRDataSource.TYPE_TEXT;
    // Define the schema of the delimited results
    oDS.responseSchema = {
        recordDelim: "\n",
        fieldDelim: "\t"
    };
    // Enable caching
    oDS.maxCacheEntries = 5;

    // Instantiate the AutoComplete
    var oAC = new YAHOO.widget.AutoComplete("myInput_char", "myContainer_char", oDS);
    
	oAC.forceSelection = true;

	// Display up to 50 results in the container
	oAC.maxResultsDisplayed = 50;
	// needs at least this number of letters to start query
	oAC.minQueryLength = 2; 	
	
	var myHiddenField = YAHOO.util.Dom.get("myHidden_char");
	var myHiddenField2 = YAHOO.util.Dom.get("myHidden2_char");
	var myHiddenField3 = YAHOO.util.Dom.get("myHidden3_char");
	var myHiddenField4 = YAHOO.util.Dom.get("myHidden4_char");
	
	var myHandler_actor = function(sType, aArgs) {
        var myAC = aArgs[0]; // reference back to the AC instance
        var elLI = aArgs[1]; // reference to the selected LI element
        var oData = aArgs[2]; // object literal of selected item's result data
        
        // update hidden form field with the selected item's ID
        myHiddenField.value = oData[1];
		myHiddenField2.value = oData[2];
		myHiddenField3.value = oData[5];
		myHiddenField4.value = oData[4];
		
	};
    oAC.itemSelectEvent.subscribe(myHandler_actor);
	
	oAC.generateRequest = function(sQuery) {
        return "?type=char&"+"source_show="+page_show+"&included="+included_chars+"&query=" + sQuery ;
    };

//new format code
	
	// Result data passed as object for easy access from custom formatter.
    oAC.resultTypeList = false;
    // Customize formatter to show thumbnail images
    oAC.formatResult = function(oResultData, sQuery, sResultMatch) {
        var img = "", nonimg = "";
        //var oThumbnail = oResultData.Thumbnail;
		var oThumbnail = oResultData[6];
        if(oThumbnail && (oThumbnail !== "")) {
            img = "<img width='30px' height='38px' src=\""+ oThumbnail + "\" align='top'>";
        }
        else {
            img = "<span class=\"img\"><span class=\"imgtext\"></span></span>";
        }
        return "<div><div class=\"result\" style='float: left;'>" + img + "</div><div style='display: inline;'> <span class=\"name\" style='font-size: 10px;'>&nbsp;" + sResultMatch + "<br><i>&nbsp;"+oResultData[4]+"</i></span></div><br clear='all'></div>";
        
    };


//end new format code
	
	
   // Rather than submit the form,
    // alert the stored ID instead
    var onFormSubmit = function(e, myForm) {
        YAHOO.util.Event.preventDefault(e);
				add_object_pic(page_scene,
											 page_episode,
											 page_season,
											 page_show,
											 myHiddenField.value,
											 'char',
											 page_source,
											 myHiddenField2.value,
											 document.getElementById('myInput_char').value,
											 myHiddenField4.value,
											 myHiddenField3.value,
											 'auto');
				document.getElementById('myInput_char').value = '';
    };	
    YAHOO.util.Event.addListener(YAHOO.util.Dom.get("myForm_char"), "submit", onFormSubmit);
	
    return {
        oDS: oDS,
        oAC: oAC
    };
};