/* UCR Riverside Libraries QuickSearch function
Albert Morita 
9/2008
*/
//Gets the browser specific XmlHttpRequest Object    
function getXmlHttpRequestObject() {
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest();
	} else if(window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		alert("Your browser does not support Javascript.");
	}
}

//Our XmlHttpRequest object to get the auto suggest
var searchReq = getXmlHttpRequestObject();

//Called from keyup on the search textbox.
//Starts the AJAX request.
function siteindexSuggest() { 
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		var str = escape(document.getElementById('search').value);
		searchReq.open("GET", 'http://library.ucr.edu/?l=siteindex&option=supressheader&settheme=1&search=' + str, true);
		searchReq.onreadystatechange = siteindexViewSuggest; 
		searchReq.send(null);
	}		
}
    
//Called when the AJAX response is returned.
function siteindexViewSuggest() { 
	if (searchReq.readyState == 4) {    
        var ss = document.getElementById('sitesearchsuggest')        
        // reset box
            
		ss.innerHTML = '';
        
        var searchstring = escape(document.getElementById('search').value); 
        var searchresultlen = searchReq.responseText.length;
        
        // Clear div if no results
        if (searchresultlen==2)
        {
            
            ss.className = 'sitesearchsuggestoff';
        }
        else if (searchstring.length<1)
        {    
            ss.className = 'sitesearchsuggestoff';
        }
        else                                                                               
             ss.className = 'sitesearchsuggest';  
         
		var str = searchReq.responseText.split("\n");
        var str2;
		for(i=0; i < str.length - 1; i++) {
            str2= str[i].split("^");
			//Build our element string.  This is cleaner using the DOM, but
			//IE doesn't support dynamically added attributes.
			var suggest = '<div onmouseover="javascript:siteindexsuggestOver(this);" ';
			suggest += 'onmouseout="javascript:siteindexsuggestOut(this);" ';
			suggest += 'onclick="javascript:document.location=\'' + str2[1] + '\';" ';
			suggest += 'class="sitesearchsuggest_link">' + str2[0] + '</div>';
			ss.innerHTML += suggest;
		}
        if(str.length>1)
	    {  
            var suggest = '<div ';
            suggest += 'onclick="javascript:siteindexCloseSearch(this);" ';
            suggest += 'class="sitesearchsuggest_link_close">Close</div>';
            ss.innerHTML += suggest;
        }
    }
}

//Mouse over function
function siteindexsuggestOver(div_value) {
	div_value.className = 'sitesearchsuggest_link_over';
}
//Mouse out function
function siteindexsuggestOut(div_value) {
	div_value.className = 'sitesearchsuggest_link';
}
//Mouse out function
function siteindexHideSuggest() {
    var ss = document.getElementById('sitesearchsuggest')
    ss.className = 'sitesearchsuggestoff';
}
function siteindexCloseSearch() {
    document.getElementById('sitesearchsuggest').className='sitesearchsuggestoff';
    document.getElementById('sitesearchsuggest').innerHTML = '';
}
function siteindexCloseOnBlur() {
    setTimeout('siteindexCloseSearch()', 1500);
}
//Click function
function setSearch(value) {
	//document.getElementById('search').value = value;
    document.getElementById('sitesearchsuggest').className='sitesearchsuggestoff';
	//document.getElementById('sitesearchsuggest').innerHTML = '';
}