
// NetVision JS - Ajax Suggest
// (c) 2006-2010 unix-world.org
// v.8.1
// r.20100124


// DEPENDS: mootools

//==================

var AJX_Suggest_Class = new function() {

//Called from keyup on the search textbox :: Starts the AJAX request.
// y_method = GET / POST ; y_search_results = search.php?search=
this.search_Suggest = function(y_div, y_txt, y_method, y_search_results) {
	//--
	var str = escape(document.getElementById(y_txt).value);
	var ss = document.getElementById(y_div);
	//--
	if(ss.style.visibility == 'hidden') {
		//-- The XmlHttpRequest object to get the auto suggest
		var AJX_search_ReqVar = Browser.Request(); // MOO
		//--
		ss.innerHTML = '<div align="center" class="AJX_suggest_link"><img src="lib/js/jssuggest/ajax_loader.gif"></div>';
		ss.style.visibility = "visible";
		ss.style.height = 30;
		//--
		if (AJX_search_ReqVar.readyState == 4 || AJX_search_ReqVar.readyState == 0) {
			//--
			AJX_search_ReqVar.open(y_method, y_search_results + str, true);
			//--
			AJX_search_ReqVar.onreadystatechange = function() {
				//--
				if (AJX_search_ReqVar.readyState == 4) {
					//--
					ss.innerHTML = '';
					ss.style.visibility = "hidden";
					ss.style.height = 40;
					//--
					var str = AJX_search_ReqVar.responseText.split("\n");
					var el = 0;
					for(i=0; i<(str.length-1); i++) {
						//Build our element string.  This is cleaner using the DOM, but
						//IE doesn't support dynamically added attributes.
						var suggest = '';
						suggest += '<div title="'+(el+1)+'" class="AJX_suggest_link"';
						suggest +=   ' onmouseover="this.className=\'AJX_suggest_overlink\';"';
						suggest +=   ' onmouseout="this.className=\'AJX_suggest_link\';"';
						suggest +=   ' onclick="AJX_Suggest_Class.set_Search(\''+y_div+'\', \''+y_txt+'\', this.innerHTML);"';
						suggest += '>' + str[i] + '</div><hr>';
						//--
						ss.innerHTML += suggest;
						ss.style.height = 350;
						//--
						el += 1;
						//--
					} //end for
					if(el <= 0) {
						ss.innerHTML += '<div class="AJX_suggest_link" align="center" title="[No Matching Results]">('+el+')</div>';
					} //end if
					ss.style.visibility = "visible";
				} //end if
				//--
			} //END FUNCTION
			//--
			AJX_search_ReqVar.send(null);
			//--
		} //end if
	} else {
		ss.innerHTML = '';
		ss.style.visibility = "hidden";
	} //end if else
} //END FUNCTION

//Click function :: a function that sets the text of the search textbox when one of our suggested items are clicked.
// values are separed by :: in a cell and \n in rows
this.set_Search = function(y_div, y_txt, value) {
	var values = value.split(' | ');
	var select_val = '';
	var ss = document.getElementById(y_div);
	ss.innerHTML = '';
	document.getElementById(y_txt).value = values[0];
	select_val = '<div class="AJX_suggest_overlink">'+value+'</div>';
	//--
	ss.style.height = 40;
	ss.innerHTML = select_val;
	//--
} //END FUNCTION

// disable ENTER Key to submit form
this.disableEnterKey = function(e, y_div, y_txt, y_method, y_search_results) {
	//--
	var key;
	//--
	if(window.event) {
		key = window.event.keyCode; //IE
	} else {
		key = e.which; //firefox
	} //end if else
	//--
	if(key == 13) {
		AJX_Suggest_Class.search_Suggest(y_div, y_txt, y_method, y_search_results);
	} //end if
	//--
	return (key != 13);
	//--
} //END FUNCTION

} //END CLASS

//==================

// #END
