/*
	This is the JavaScript file for the AJAX Suggest Tutorial

	You may use this code in your own projects as long as this
	copyright is left	in place.  All code is provided AS-IS.
	This code is distributed in the hope that it will be useful,
 	but WITHOUT ANY WARRANTY; without even the implied warranty of
 	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

	For the rest of the code visit http://www.DynamicAJAX.com

	Copyright 2006 Ryan Smith / 345 Technical / 345 Group.

*/
//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 Sucks!\nIt's about time to upgrade don't you think?");
	}
}

//Our XmlHttpRequest object to get the auto suggest
var searchReq = getXmlHttpRequestObject();

//Called from keyup on the search textbox.
//Starts the AJAX request.
function userCheck() {
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		var str = escape(document.getElementById('userSearch').value);
		searchReq.open("GET", '/userCheck.php?search=' + str, true);
		searchReq.onreadystatechange = handleuserCheck;
		searchReq.send(null);
	}
}

//Called when the AJAX response is returned.
function handleuserCheck() {
	if (searchReq.readyState == 4) {
		var ss = document.getElementById('user_check')
		ss.innerHTML = '';
		var str = searchReq.responseText;
		ss.innerHTML += str;
	}
}

//Our XmlHttpRequest object to get the auto suggest
var userContactReq = getXmlHttpRequestObject();

//Called from keyup on the search textbox.
//Starts the AJAX request.
function userContact() {
	if (userContactReq.readyState == 4 || userContactReq.readyState == 0) {
		var str = escape(document.getElementById('username').value);
		userContactReq.open("GET", '/userAJAX.php?type=user&search=' + str, true);
		userContactReq.onreadystatechange = handleuserContact;
		userContactReq.send(null);
	}
}

//Called when the AJAX response is returned.
function handleuserContact() {
	if (userContactReq.readyState == 4) {
		var ss = document.getElementById('user_check')
		ss.innerHTML = '';
		var str = userContactReq.responseText;
		ss.innerHTML += str;
	}
}


//Our XmlHttpRequest object to get the auto suggest
var LookupReq = getXmlHttpRequestObject();

//Called from keyup on the search textbox.
//Starts the AJAX request.
function userLookup() {
	if (LookupReq.readyState == 4 || LookupReq.readyState == 0) {
		var str = escape(document.getElementById('userSearch').value);
		LookupReq.open("GET", '/userAJAX.php?type=lookup&search=' + str, true);
		LookupReq.onreadystatechange = handleuserLookup;
		LookupReq.send(null);
	}
}

//Called when the AJAX response is returned.
function handleuserLookup() {
	if (LookupReq.readyState == 4) {
		var ss = document.getElementById('user_lookup')
		ss.innerHTML = '';
		var str = LookupReq.responseText.split("\n");
		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 = '<div onmouseover="javascript:userOver(this);" ';
			suggest += 'onmouseout="javascript:userOut(this);" ';
			suggest += 'onclick="javascript:userLookupsetSearch(this.innerHTML);" ';
			suggest += 'class="suggest_link">' + str[i] + '</div>';
			ss.innerHTML += suggest;
		}
	}
}

//Mouse over function
function userOver(div_value) {
	div_value.className = 'suggest_link_over';
}
//Mouse out function
function userOut(div_value) {
	div_value.className = 'suggest_link';
	window.setTimeout("document.getElementById('user_lookup').innerHTML = ''", 6969);
}
//Click function
function userLookupsetSearch(value) {
	document.getElementById('userSearch').value = value;
	document.getElementById('user_lookup').innerHTML = '';
	//window.location="/search.html?q="+value;
}


//Our XmlHttpRequest object to get the auto suggest
var userReq = getXmlHttpRequestObject();

//Called from keyup on the search textbox.
//Starts the AJAX request.
function userName() {
	if (userReq.readyState == 4 || userReq.readyState == 0) {
		var str = escape(document.getElementById('username').value);
		userReq.open("GET", '/userAJAX.php?type=username&search=' + str, true);
		userReq.onreadystatechange = handleuserName;
		userReq.send(null);
	}
}

//Called when the AJAX response is returned.
function handleuserName() {
	if (userReq.readyState == 4) {
		var ss = document.getElementById('user_name')
		ss.innerHTML = '';
		var str = userReq.responseText.split("\n");
		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 = '<div onmouseover="javascript:userNameOver(this);" ';
			suggest += 'onmouseout="javascript:userNameOut(this);" ';
			suggest += 'onclick="javascript:userNamesetSearch(this.innerHTML);" ';
			suggest += 'class="suggest_link">' + str[i] + '</div>';
			ss.innerHTML += suggest;
		}
	}
}

//Mouse over function
function userNameOver(div_value) {
	div_value.className = 'suggest_link_over';
}
//Mouse out function
function userNameOut(div_value) {
	div_value.className = 'suggest_link';
	window.setTimeout("document.getElementById('user_name').innerHTML = ''", 6969);
}
//Click function
function userNamesetSearch(value) {
	document.getElementById('username').value = value;
	document.getElementById('user_name').innerHTML = '';
	//window.location="/search.html?q="+value;
}


function userNameCheck() {
	if (userReq.readyState == 4 || userReq.readyState == 0) {
		var str = escape(document.getElementById('Username:').value);
		userReq.open("GET", '/userAJAX.php?type=userNameCheck&search=' + str, true);
		userReq.onreadystatechange = handleuserNameCheck;
		userReq.send(null);
	}
}

//Called when the AJAX response is returned.
function handleuserNameCheck() {
	if (userReq.readyState == 4) {
		var ss = document.getElementById('user_name')
		ss.innerHTML = '';
		var str = userReq.responseText.split("\n");
		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 = '<div onmouseover="javascript:userNameCheckOver(this);" ';
			suggest += 'onmouseout="javascript:userNameCheckOut(this);" ';
			suggest += 'onclick="javascript:userNameChecksetSearch(this.innerHTML);" ';
			suggest += 'class="suggest_link">' + str[i] + '</div>';
			ss.innerHTML += suggest;
		}
	}
}

//Mouse over function
function userNameCheckOver(div_value) {
	div_value.className = 'suggest_link_over';
}
//Mouse out function
function userNameCheckOut(div_value) {
	div_value.className = 'suggest_link';
	window.setTimeout("document.getElementById('user_name').innerHTML = ''", 6969);
}
//Click function
function userNameChecksetSearch(value) {
	document.getElementById('Username:').value = '';
	document.getElementById('user_name').innerHTML = '';
	//window.location="/search.html?q="+value;
}
