//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();

/*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) {
	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);
			if(str.length >= 3) {
				document.getElementById(searchFillImage).style.display = "none";
				document.getElementById(searchLoadImage).style.display = "";
				searchReq.open("GET", '/admin/ajax/index.cfm?setSearchFN=setSearchQS&closeSearchFN=closeSearchQS&searchtype=' + curr_stype + '&searchkey=' + str, true);
				searchReq.onreadystatechange = handleSearchSuggestQS; 
				searchReq.send(null);
			}
		}		

	},250);
}

function searchBulkSuggestQS(fname,fid,fcount,stype,suggestBox,fillImage,loadImage) {
	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);
		searchReq.open("GET", '/admin/ajax/index.cfm?setSearchFN=setBulkSearchQS&closeSearchFN=closeSearchQS&searchtype=' + stype + '&searchkey=' + str, true);
		searchReq.onreadystatechange = handleSearchSuggestQS; 
		searchReq.send(null);
	}		
}

function searchSuggestSR(fname,stype,suggestBox,fillImage,loadImage,itemID) {
	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);
		searchReq.open("GET", '/admin/ajax/index.cfm?searchtype=' + stype + '&searchkey=' + str + '&searchitem=' + itm, true);
		searchReq.onreadystatechange = handleSearchSuggestSR; 
		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";
	}
}

//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";
}

/* program results saving */
//start ajax request
var myStatusBox = "";

function pRes(pid,pspid,iid,uid,wk,dy,pdateFld,eid,rnum,valueBox,vtype,statusBox) {
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		var str = escape(document.getElementById(valueBox).value);
		var pdate = escape(document.getElementById(pdateFld).value);
		var randomnumber=Math.floor(Math.random()*11);
		if(pdate.length == 0) {
			alert("Please enter a date before entering results");
			document.getElementById(valueBox).value = "";
			return false;
		}
		// show old reps as a strike out 
		if(str.length > 0 && vtype == "reps") {
			oldReps = "orig" + valueBox;
			document.getElementById(oldReps).style.display = "";
		}
		document.getElementById("menuMaskOpaque").style.display = "";
		myStatusBox = document.getElementById(statusBox);
		myStatusBox.innerHTML = "Saving...";
		searchReq.open("GET", '/sharedfiles/programdesign/ajax.cfm?pid=' + pid + '&pspid=' + pspid + '&iid=' + iid + '&uid=' + uid + '&wk=' + wk + '&dy=' + dy + '&pdate=' + pdate + '&eid=' + eid + '&rnum=' + rnum + '&vtype=' + vtype + '&uresult=' + str + '&rrand=' + randomnumber, true);
		searchReq.onreadystatechange = handlepRes; 
		searchReq.send(null);
	}		
}

function pResBoolean(pid,pspid,iid,uid,wk,dy,pdateFld,eid,rnum,valueBox,vtype,statusBox) {
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		var str = "0";
		var pdate = escape(document.getElementById(pdateFld).value);
		var randomnumber=Math.floor(Math.random()*11);
				
		if(document.getElementById(valueBox).checked)
			str = "1";
			
		if(pdate.length == 0) {
			alert("Please enter a date before entering results");
			document.getElementById(valueBox).checked = false;
			return false;
		}
		document.getElementById("menuMaskOpaque").style.display = "";
		myStatusBox = document.getElementById(statusBox);
		myStatusBox.innerHTML = "Saving...";
		searchReq.open("GET", '/sharedfiles/programdesign/ajax.cfm?boolRes=1&pid=' + pid + '&pspid=' + pspid + '&iid=' + iid + '&uid=' + uid + '&wk=' + wk + '&dy=' + dy + '&pdate=' + pdate + '&eid=' + eid + '&rnum=' + rnum + '&vtype=' + vtype + '&uresult=' + str + '&rrand=' + randomnumber, true);
		searchReq.onreadystatechange = handlepRes; 
		searchReq.send(null);
	}		
}


//Called when the AJAX response is returned.
function handlepRes() {
	if (searchReq.readyState == 4) {
		var sResp = searchReq.responseText;
		document.getElementById("menuMaskOpaque").style.display = "none";
		if(sResp == "1") {
			myStatusBox.innerHTML = "Saved";
		}
		else if (sResp.length > 0 && sResp != "error") {
			// this is where the record would show etc.
			myStatusBox.innerHTML = "Saved";
			document.getElementById("menuConfirm").innerHTML = sResp;
//realign the trophy box
			try {
			mybox = document.getElementById('fullheight');
			  if( typeof( window.pageYOffset ) == 'number' ) {
				//Netscape compliant
				//alert(window.pageYOffset);
				mybox.style.marginTop = window.pageYOffset;
			  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
				//DOM compliant
				//alert(document.body.scrollTop);
				mybox.style.marginTop = document.body.scrollTop;
			  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
				//IE6 standards compliant mode
				//alert(document.documentElement.scrollTop);
				mybox.style.marginTop = document.documentElement.scrollTop;
			  }
			  //alert(mybox.style.marginTop);
			}
			catch(err) {}			
			document.getElementById("menuConfirm").style.display = "";
		}
		else {
			alert('An error occurred while saving your results.  Please re-load your program before attempting to enter more results.');	
		}
				
	}
}

function pDets(pid,pspid,uid,wk,dy,pdateFld,dVal,valueBox,vtype,statusBox) {
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		var str = escape(document.getElementById(valueBox).value);
		var pdate = escape(document.getElementById(pdateFld).value);
		var randomnumber=Math.floor(Math.random()*11);
		if(dVal != "program_date" && pdate.length == 0) {
			alert("Please enter a date before entering results");
			document.getElementById(valueBox).value = "";
			return false;
		}
		document.getElementById("menuMaskOpaque").style.display = "";
		myStatusBox = document.getElementById(statusBox);
		myStatusBox.innerHTML = "Saving...";
		searchReq.open("GET", '/sharedfiles/programdesign/ajaxDets.cfm?pid=' + pid + '&pspid=' + pspid + '&uid=' + uid + '&wk=' + wk + '&dy=' + dy + '&pdate=' + pdate  + '&dVal=' + dVal + '&vtype=' + vtype + '&uresult=' + str + '&rrand=' + randomnumber, true);
		searchReq.onreadystatechange = handlepDets; 
		searchReq.send(null);
	}		
}

function pDetsBoolean(pid,pspid,uid,wk,dy,pdateFld,dVal,valueBox,vtype,statusBox) {
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		var strF = document.getElementById(valueBox);
		var pdate = escape(document.getElementById(pdateFld).value);
		var randomnumber=Math.floor(Math.random()*11);
		if(dVal != "program_date" && pdate.length == 0) {
			alert("Please enter a date before entering results");
			document.getElementById(valueBox).checked = false;
			return false;
		}
		document.getElementById("menuMaskOpaque").style.display = "";
		myStatusBox = document.getElementById(statusBox);
		myStatusBox.innerHTML = "Saving...";
		if(strF.checked)
			searchReq.open("GET", '/sharedfiles/programdesign/ajaxDets.cfm?pid=' + pid + '&pspid=' + pspid + '&uid=' + uid + '&wk=' + wk + '&dy=' + dy + '&pdate=' + pdate  + '&dVal=isCompleted&vtype=' + vtype + '&uresult=1' + '&rrand=' + randomnumber, true);
		else
			searchReq.open("GET", '/sharedfiles/programdesign/ajaxDets.cfm?pid=' + pid + '&pspid=' + pspid + '&uid=' + uid + '&wk=' + wk + '&dy=' + dy + '&pdate=' + pdate  + '&dVal=isCompleted&vtype=' + vtype + '&uresult=0' + '&rrand=' + randomnumber, true);
		searchReq.onreadystatechange = handlepDets; 
		searchReq.send(null);
	}		
}


//Called when the AJAX response is returned.
function handlepDets() {
	if (searchReq.readyState == 4) {
		var sResp = searchReq.responseText;
		document.getElementById("menuMaskOpaque").style.display = "none";
		if(sResp == "1") {
			myStatusBox.innerHTML = "Saved";
		}
		else if (sResp.length > 0 && sResp != "error") {
			// this is where the record would show etc.
		}
		else {
			alert('An error occurred while saving your results.  Please re-load your program before attempting to enter more results.');	
		}
	}
}
