
//-------------------------------------------------------------

function keepMeAlive(imgName) {
   myImg = document.getElementById(imgName);
   if (myImg) myImg.src = myImg.src.replace(/\?.*$/, '?' + Math.random());
}
window.setInterval("keepMeAlive('keepAliveIMG')", 100000);




//Ajax goodness from Jeremey Keith-----------------------------

function getHTTPObject() {
	var xhr = false;
	if (window.XMLHttpRequest){
		xhr = new XMLHttpRequest();
	} else if (window.ActiveXObject){
		try {
			xhr = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			try {
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e) {
				xhr = false;
			}
		}
	}
	return xhr;
}

function grabFile(file, loc) {
		var request = getHTTPObject();
		if (request) {
			request.open("GET", file, true);
			request.onreadystatechange = function() {
				displayResponse(request,loc);
			}
			
			request.send(null);
		}
}

function displayResponse(request, loc){
	if (request.readyState == 4){
		if (request.status == 200 || request.status == 304){
			if (loc != ''){
			var container = document.getElementById(loc);
			container.innerHTML = request.responseText;
			}
		}
	}
}

function displayLoading(canvas){
	if(!document.getElementById) return false;
	if(!document.getElementById(canvas)) return false;
	var image = document.createElement("img");
	var container = document.getElementById(canvas);
	image.setAttribute("alt","loading");
	image.setAttribute("src","/assets/i/ajax-loader.gif");
	image.className = "loading";
	container.innerHTML="";
	container.appendChild(image);
}

//Ajax calls-------------------------------------------------------

//Username validation
	function listenValidateUsername(){
		if(!document.getElementById) return false;
		if(!document.getElementById("fmP_Logon")||!document.getElementById("UsernameValidation")) return false;
		var inputbox = document.getElementById("fmP_Logon");
		inputbox.onkeyup=runValidateUsername;
	}
	
	function runValidateUsername(){
		if(!document.getElementById) return false;
		if(!document.getElementById("fmP_Logon")||!document.getElementById("UsernameValidation")) return false;
		var searchbox = document.getElementById("fmP_Logon");
		//displayLoading("UsernameValidation");
		if(!document.getElementById("fmExantUsr")) {
			grabFile('/apps/wrapper/validateUsername.asp?q=' + searchbox.value,'UsernameValidation');	
		} else {
			var exantuser = document.getElementById("fmExantUsr").value;
			grabFile('/apps/wrapper/validateUsername.asp?q=' + searchbox.value + '&exantid=' + exantuser,'UsernameValidation');	
		}
	}

//Email validation
	function listenValidateEmail(){
		if(!document.getElementById) return false;
		if(!document.getElementById("fmP_Email")||!document.getElementById("EmailValidation")) return false;
		var inputbox = document.getElementById("fmP_Email");
		inputbox.onkeyup=runValidateEmail;
	}
	
	function runValidateEmail(){
		if(!document.getElementById) return false;
		if(!document.getElementById("fmP_Email")||!document.getElementById("EmailValidation")) return false;
		var searchbox = document.getElementById("fmP_Email");
		//displayLoading("UsernameValidation");
		grabFile('/apps/wrapper/validateEmail.asp?q=' + searchbox.value,'EmailValidation');	
	}

//Searches
/*
	function runPersonSearch(){
		if(!document.getElementById) return false;
		if(!document.getElementById("PeopleSearch")||!document.getElementById("PeopleResults")) return false;
		var searchbox = document.getElementById("PeopleSearch");
		displayLoading("PeopleResults");
		grabFile('/apps/wrapper/peoplesearch.asp?q=' + searchbox.value,'PeopleResults');	
	}
	
	function listenPersonSearch(){
		if(!document.getElementById) return false;
		if(!document.getElementById("PeopleSearch")||!document.getElementById("PeopleResults")) return false;
		var searchbox = document.getElementById("PeopleSearch");
		searchbox.onkeyup=runPersonSearch;
	}
	
	function runEditorSearch(){
		if(!document.getElementById) return false;
		if(!document.getElementById("SID")||!document.getElementById("EditorSearch")||!document.getElementById("EditorResults")) return false;
		var searchbox = document.getElementById("EditorSearch");
		var sectionid = document.getElementById("SID");
		
		//var valueOne = searchbox.value;
		//function secondValue(){
		//	return searchbox.value;
		//}
		//var valueTwo = setTimeout(function (){secondValue()}, 100);
		
		//if (valueOne!=valueTwo){
			displayLoading("EditorResults");
			grabFile('/apps/wrapper/editorsearch.asp?q=' + searchbox.value + '&id=' + sectionid.value,'EditorResults');	
		//}
	}
	
	function listenEditorSearch(){
		if(!document.getElementById) return false;
		if(!document.getElementById("SID")||!document.getElementById("EditorSearch")||!document.getElementById("EditorResults")) return false;
		var searchbox = document.getElementById("EditorSearch");
		searchbox.onkeyup=runEditorSearch;
	}
	
	function runMemberSearch(){
		if(!document.getElementById) return false;
		if(!document.getElementById("GID")||!document.getElementById("MemberSearch")||!document.getElementById("MemberResults")) return false;
		var searchbox = document.getElementById("MemberSearch");
		var sectionid = document.getElementById("GID");
		
		//var valueOne = searchbox.value;
		//function secondValue(){
		//	return searchbox.value;
		//}
		//var valueTwo = setTimeout(function (){secondValue()}, 100);
		
		//if (valueOne!=valueTwo){
			displayLoading("MemberResults");
			grabFile('/apps/groups/member/search/wrapper/index.asp?q=' + searchbox.value + '&id=' + sectionid.value,'MemberResults');	
		//}
	}
	
	function listenMemberSearch(){
		if(!document.getElementById) return false;
		if(!document.getElementById("GID")||!document.getElementById("MemberSearch")||!document.getElementById("MemberResults")) return false;
		var searchbox = document.getElementById("MemberSearch");
		searchbox.onkeyup=runMemberSearch;
	}



function pausecomp(Amount){
	//alert ("waiting for " + Amount + " milliseconds")
    d = new Date() //today's date
    while (1)
        {
        mill=new Date() // Date Now
        diff = mill-d //difference in milliseconds
        if( diff > Amount ) {break;}
        }
    }
*/
//-----------------------------------------------------------------



//Initialise functions---------------------------------------------
//On Load Handler - Written by Scott Andrew------------------------
function addEvent(obj, evType, fn){
  if (obj.addEventListener){
    obj.addEventListener(evType, fn, true);
    return true;
  } else if (obj.attachEvent){
    var r = obj.attachEvent("on"+evType, fn);
    return r;
  } else {
    return false;
  }
}

/*addEvent(window, 'load', listenMemberSearch);
addEvent(window, 'load', listenPersonSearch);
addEvent(window, 'load', listenEditorSearch);*/
addEvent(window, 'load', listenValidateUsername);
addEvent(window, 'load', listenValidateEmail);

