//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 AJAX");
	}
}

//Mouse over function
function suggestOver(div_value) {
	div_value.className = 'suggest_link_over';
}
//Mouse out function
function suggestOut(div_value) {
	div_value.className = 'suggest_link';
}
function closeSearches() {
	try { closeSearchQS(); }
	catch(err) { }
}
function closeConfirm() {
	document.getElementById("menuConfirm").style.display = "none";
}


//Our XmlHttpRequest object to get the auto suggest
var searchReq = getXmlHttpRequestObject();
var searchReq2 = getXmlHttpRequestObject();

/*agency search on quick search */
var searchKeyBox = "";
var searchIDBox = "";
var searchBox = "";
var searchFillImage = "";
var searchLoadImage = "";
var myTimeout = "";

function pausecomp(millis) 
{
	var date = new Date();
	var curDate = null;
	
	do { curDate = new Date(); } 
	while(curDate-date < millis);
} 

var curr_fname = "";
var curr_fid = "";
var curr_stype = "";
var curr_suggestBox = "";
var curr_fillImage = "";
var curr_loadImage = "";

//start ajax request
function searchSuggestQS(fname,fid,stype,suggestBox,fillImage,loadImage, postFunction, logintype) {
	try {
		clearTimeout(myTimeout);
	}
	catch(err) {}
	
	curr_fname = fname;
	curr_fid = fid;
	curr_stype = stype;
	curr_suggestBox = suggestBox;
	curr_fillImage = fillImage;
	curr_loadImage = loadImage;
	
	myTimeout = window.setTimeout(function () {

		if (searchReq.readyState == 4 || searchReq.readyState == 0) {
			searchKeyBox = curr_fname;
			searchIDBox = curr_fid;
			searchBox = curr_suggestBox;
			searchFillImage = curr_fillImage;
			searchLoadImage = curr_loadImage;
			var str = escape(document.getElementById(curr_fname).value);
			var randomnumber=Math.floor(Math.random()*11);
			if(str.length >= 3) {
				document.getElementById(searchFillImage).style.display = "none";
				document.getElementById(searchLoadImage).style.display = "";
				if(logintype == 'admin')
					searchReq.open("GET", '/admin/ajax/index.cfm?setSearchFN=setSearchQS&closeSearchFN=closeSearchQS&searchtype=' + curr_stype + '&searchkey=' + str + '&pfnc=' + escape(postFunction) + '&randnum=' + randomnumber, true);
				else
					searchReq.open("GET", '/login/ajax/index.cfm?setSearchFN=setSearchQS&closeSearchFN=closeSearchQS&searchtype=' + curr_stype + '&searchkey=' + str + '&pfnc=' + escape(postFunction) + '&randnum=' + randomnumber, true);

				searchReq.onreadystatechange = handleSearchSuggestQS; 
				searchReq.send(null);
			}
		}		

	},250);
}

function searchBulkSuggestQS(fname,fid,fcount,stype,suggestBox,fillImage,loadImage) {
	// Check to see if there is an AJAX request already in
	// progress that needs to be stopped.
	if (searchReq){
	 
	// Abort the AJAX request.
	searchReq.abort();
	 
	}	
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		searchKeyBox = fname;
		searchIDBox = fid;
		searchBulk = fcount;
		searchBox = suggestBox;
		searchFillImage = fillImage;
		searchLoadImage = loadImage;
		document.getElementById(searchFillImage).style.display = "none";
		document.getElementById(searchLoadImage).style.display = "";
		var str = escape(document.getElementById(fname).value);
		var randomnumber=Math.floor(Math.random()*11);
		searchReq.open("GET", '/admin/ajax/index.cfm?setSearchFN=setBulkSearchQS&closeSearchFN=closeSearchQS&searchtype=' + stype + '&searchkey=' + str + '&randnum=' + randomnumber, true);
		searchReq.onreadystatechange = handleSearchSuggestQS; 
		searchReq.send(null);
	}		
}

function searchSuggestSR(fname,stype,suggestBox,fillImage,loadImage,itemID,ajloc) {
	// Check to see if there is an AJAX request already in
	// progress that needs to be stopped.
	if (searchReq){
	 
	// Abort the AJAX request.
	searchReq.abort();
	 
	}	
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		searchKeyBox = fname;
		searchBox = suggestBox;
		searchFillImage = fillImage;
		searchLoadImage = loadImage;
		//searchItemID = itemID;
		document.getElementById(searchFillImage).style.display = "none";
		document.getElementById(searchLoadImage).style.display = "";
		var str = escape(document.getElementById(fname).value);
		var itm = escape(document.getElementById(itemID).value);
		var randomnumber=Math.floor(Math.random()*11);
		searchReq.open("GET", '/' + ajloc + '/ajax/index.cfm?searchtype=' + stype + '&searchkey=' + str + '&searchitem=' + itm + '&randnum=' + randomnumber, true);
		searchReq.onreadystatechange = handleSearchSuggestSR; 
		searchReq.send(null);
	}		
}

function searchSuggestER(fname,stype,suggestBox,fillImage,loadImage,itemID,changeType,logintype) {
	// Check to see if there is an AJAX request already in
	// progress that needs to be stopped.
	if (searchReq){
	 
	// Abort the AJAX request.
	searchReq.abort();
	 
	}	
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		searchKeyBox = fname;
		searchBox = suggestBox;
		searchFillImage = fillImage;
		searchLoadImage = loadImage;
		//searchItemID = itemID;
		document.getElementById(searchFillImage).style.display = "none";
		document.getElementById(searchLoadImage).style.display = "";
		var str = escape(document.getElementById(fname).value);
		var itm = escape(document.getElementById(itemID).value);
		var sl = document.getElementById('selLetter');
		sl = sl[sl.selectedIndex].value.toString();
		var sc = document.getElementById('selecat');
		sc = sc[sc.selectedIndex].value.toString();
		var st = document.getElementById('searchkeytype');
		st = st[st.selectedIndex].value.toString();
												
		var randomnumber=Math.floor(Math.random()*11);
		var uparams = stype + '&searchkey=' + str + '&item_id=' + itm + '&selLetter=' + sl + '&selecat=' + sc + '&changetype=' + changeType + '&searchkeytype=' + st + '&randnum=' + randomnumber;
		if(logintype == 'admin')
			searchReq.open("GET", '/admin/ajax/index.cfm?searchtype=' + uparams, true);
		else
			searchReq.open("GET", '/login/ajax/index.cfm?searchtype=' + uparams, true);
		searchReq.onreadystatechange = handleSearchSuggestER; 
		searchReq.send(null);
	}		
}


//Called when the AJAX response is returned.
function handleSearchSuggestQS() {
	if (searchReq.readyState == 4) {
		var ss = document.getElementById(searchBox);
		var stopNow = 0;
		ss.innerHTML = '';
		document.getElementById('menuMask').style.display = "";
		document.getElementById(searchBox).style.display = "";
		ss.innerHTML = searchReq.responseText;
		document.getElementById(searchFillImage).style.display = "";
		document.getElementById(searchLoadImage).style.display = "none";
	}
}

//Called when the AJAX response is returned.
function handleSearchSuggestSR() {
	if (searchReq.readyState == 4) {
		var ss = document.getElementById(searchBox);
		var stopNow = 0;
		ss.innerHTML = '';
		document.getElementById('menuMask').style.display = "none";
		document.getElementById(searchBox).style.display = "";
		ss.innerHTML = searchReq.responseText;
		document.getElementById(searchFillImage).style.display = "";
		document.getElementById(searchLoadImage).style.display = "none";
	}
}

//Called when the AJAX response is returned.
function handleSearchSuggestER() {
	if (searchReq.readyState == 4) {
		var ss = document.getElementById(searchBox);
		var stopNow = 0;
		ss.innerHTML = '';
		document.getElementById('menuMask').style.display = "none";
		document.getElementById(searchBox).style.display = "";
		ss.innerHTML = searchReq.responseText;
		document.getElementById(searchFillImage).style.display = "";
		document.getElementById(searchLoadImage).style.display = "none";
	}
}

function searchSuggestCP(fname,stype,suggestBox,fillImage,loadImage,logintype) {
	// Check to see if there is an AJAX request already in
	// progress that needs to be stopped.
	if (searchReq){
	 
	// Abort the AJAX request.
	searchReq.abort();
	 
	}	
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		searchKeyBox = fname;
		searchBox = suggestBox;
		searchFillImage = fillImage;
		searchLoadImage = loadImage;
		//searchItemID = itemID;
		document.getElementById(searchFillImage).style.display = "none";
		document.getElementById(searchLoadImage).style.display = "";
		var str = escape(document.getElementById(fname).value);
		var pid = escape(document.getElementById('newprogram_id').value);
		var psp = escape(document.getElementById('programsessionpart_id').value);
		var sd = escape(document.getElementById('selected_day').value);
												
		var randomnumber=Math.floor(Math.random()*11);
		var uparams = stype + '&searchkey=' + str + '&pid=' + pid + '&psp=' + psp + '&sd=' + sd + '&randnum=' + randomnumber;
		if(logintype == 'admin')
			searchReq.open("GET", '/admin/ajax/index.cfm?searchtype=' + uparams, true);
		else
			searchReq.open("GET", '/login/ajax/index.cfm?searchtype=' + uparams, true);
		searchReq.onreadystatechange = handleSearchSuggestCP; 
		searchReq.send(null);
	}		
}

function searchSuggestCPT(fname,stype,suggestBox,fillImage,loadImage,logintype) {
	// Check to see if there is an AJAX request already in
	// progress that needs to be stopped.
	if (searchReq){
	 
	// Abort the AJAX request.
	searchReq.abort();
	 
	}	
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		searchKeyBox = fname;
		searchBox = suggestBox;
		searchFillImage = fillImage;
		searchLoadImage = loadImage;
		//searchItemID = itemID;
		document.getElementById(searchFillImage).style.display = "none";
		document.getElementById(searchLoadImage).style.display = "";
		var str = escape(document.getElementById(fname).value);
		var tsid = escape(document.getElementById('newtemplatesection_id').value);
		var tgid = escape(document.getElementById('templategroup_id').value);
		var lv = escape(document.getElementById('lv').value);
		var sd = escape(document.getElementById('selected_day').value);
												
		var randomnumber=Math.floor(Math.random()*11);
		var uparams = stype + '&searchkey=' + str + '&tsid=' + tsid + '&tgid=' + tgid + '&lv=' + lv + '&sd=' + sd + '&randnum=' + randomnumber;
		if(logintype == 'admin')
			searchReq.open("GET", '/admin/ajax/index.cfm?searchtype=' + uparams, true);
		else
			searchReq.open("GET", '/login/ajax/index.cfm?searchtype=' + uparams, true);
		searchReq.onreadystatechange = handleSearchSuggestCP; 
		searchReq.send(null);
	}		
}


function handleSearchSuggestCP() {
	if (searchReq.readyState == 4) {
		var ss = document.getElementById(searchBox);
		var stopNow = 0;
		ss.innerHTML = '';
		document.getElementById('menuMask').style.display = "none";
		document.getElementById(searchBox).style.display = "";
		ss.innerHTML = searchReq.responseText;
		document.getElementById(searchFillImage).style.display = "";
		document.getElementById(searchLoadImage).style.display = "none";
	}
}



function searchSuggestAPC(fname,stype,suggestBox,fillImage,loadImage,logintype) {
	// Check to see if there is an AJAX request already in
	// progress that needs to be stopped.
	if (searchReq){
	 
	// Abort the AJAX request.
	searchReq.abort();
	 
	}	
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		searchKeyBox = fname;
		searchBox = suggestBox;
		searchFillImage = fillImage;
		searchLoadImage = loadImage;
		//searchItemID = itemID;
		document.getElementById(searchFillImage).style.display = "none";
		document.getElementById(searchLoadImage).style.display = "";
		var str = escape(document.getElementById(fname).value);
		var pid = escape(document.getElementById('package_id').value);
		var ctype = escape(document.getElementById('ctype_val').value);
												
		var randomnumber=Math.floor(Math.random()*11);
		var uparams = stype + '&searchkey=' + str + '&pid=' + pid + '&ctype=' + ctype + '&randnum=' + randomnumber;
		if(logintype == 'admin')
			searchReq.open("GET", '/admin/ajax/index.cfm?searchtype=' + uparams, true);
		else
			searchReq.open("GET", '/login/ajax/index.cfm?searchtype=' + uparams, true);
		searchReq.onreadystatechange = handleSearchSuggestAPC; 
		searchReq.send(null);
	}		
}

function handleSearchSuggestAPC() {
	if (searchReq.readyState == 4) {
		var ss = document.getElementById(searchBox);
		var stopNow = 0;
		var pid = escape(document.getElementById('package_id').value);
		ss.innerHTML = '';
		document.getElementById('menuMask').style.display = "none";
		document.getElementById(searchBox).style.display = "";
		ss.innerHTML = searchReq.responseText;
		document.getElementById(searchFillImage).style.display = "";
		document.getElementById(searchLoadImage).style.display = "none";
		//showPC('PackageContents', 'currPackage', pid, 'admin');
	}
}


var resultsBox = "";
function showPC(stype, suggestBox, pid, logintype) {
	// Check to see if there is an AJAX request already in
	// progress that needs to be stopped.
	if (searchReq2){
	 
	// Abort the AJAX request.
	searchReq2.abort();
	 
	}	
	if (searchReq2.readyState == 4 || searchReq2.readyState == 0) {
		//searchItemID = itemID;
		resultsBox = suggestBox;

		var randomnumber=Math.floor(Math.random()*11);
		var uparams = stype + '&pid=' + pid + '&randnum=' + randomnumber;
		if(logintype == 'admin')
			searchReq2.open("GET", '/admin/ajax/index.cfm?searchtype=' + uparams, true);
		else
			searchReq2.open("GET", '/login/ajax/index.cfm?searchtype=' + uparams, true);
		searchReq2.onreadystatechange = handleshowPC; 
		searchReq2.send(null);
	}		
}

function handleshowPC() {
	if (searchReq2.readyState == 4) {
		var ss = document.getElementById(resultsBox);
		var stopNow = 0;
		ss.innerHTML = '';
		document.getElementById(resultsBox).style.display = "";
		ss.innerHTML = searchReq2.responseText;
	}
}

//Click function
function setSearchQS(value) {
	tmpStr = value.split("=");
	if(tmpStr.length > 1) {
		document.getElementById(searchKeyBox).value = tmpStr[0];
		document.getElementById(searchIDBox).value = tmpStr[1];
	}
	else {
		document.getElementById(searchKeyBox).value = value;
		document.getElementById(searchIDBox).value = value;
	}

	document.getElementById(searchBox).innerHTML = '';
	document.getElementById(searchBox).style.display = "none";
	document.getElementById('menuMask').style.display="none";
}

var i=0;
var tl= new Array();
var cb= new Array();

//Click function
function setBulkSearchQS(value) {
	tmpStr = value.split("=");
	i++;

	cb[i] = document.createElement('input'); 
	cb[i].type = 'checkbox'; 
	cb[i].name = 'user_id'+i; 
	cb[i].defaultChecked = true; 
	
	tl[i]=document.createElement('input');
	tl[i].type='text';
	tl[i].name='searchKeywords'+i;	
	
	
	if(tmpStr.length > 1) {
		cb[i].value = tmpStr[1];
		tl[i].value = tmpStr[0];		
		document.getElementById(searchKeyBox).value = '';
		document.getElementById(searchIDBox).value = '';
		document.getElementById(searchBulk).value = i;
	}
	else {
		cb[i].value = value;
		tl[i].value = value;
	}	
	
	
	var insertbulk = document.getElementById("addbulk");
	insertbulk.appendChild(cb[i]);
	insertbulk.appendChild(tl[i]);

	mybr=document.createElement('<br />');
	insertbulk.appendChild(mybr);


	document.getElementById(searchBox).innerHTML = '';
	document.getElementById(searchBox).style.display = "none";
	document.getElementById('menuMask').style.display="none";

}

function closeSearchQS() {
	document.getElementById(searchBox).innerHTML = '';
	document.getElementById(searchBox).style.display = "none";
	document.getElementById('menuMask').style.display="none";
}

