/**
 *
 */
/*
function submitPage(newPage, newTask, newSubTask) {
	document.frmPage.SitePage.value = newPage;
	document.frmPage.SiteTask.value = newTask;
	document.frmPage.SiteSubTask.value = newSubTask;
	document.frmPage.submit();
}
*/

function redirectPage(s,u,m,p,t,t1){
	urlString = '/learn/index.cfm?s=' + s + '&u=' + u + '&m=' + m + '&p=' + p + '&t=' + t + '&t1=' + t1;
	document.location = urlString;
}

function submitPage(argv) {
	if (self.location != top.location) {
		self.frmPage.SitePage.value = arguments[0];
		self.frmPage.SiteTask.value = arguments[1];
		self.frmPage.SiteSubTask.value = arguments[2];
		self.frmPage.ID1.value = arguments[3];
		self.frmPage.ID2.value = arguments[4];
		self.frmPage.ID3.value = arguments[5];
		self.frmPage.ID4.value = arguments[6];
		self.frmPage.ID5.value = arguments[7];
		self.frmPage.ID6.value = arguments[8];
		self.frmPage.ID7.value = arguments[9];
		self.frmPage.ID8.value = arguments[10];
		self.frmPage.submit();
	} else {
		document.frmPage.SitePage.value = arguments[0];
		document.frmPage.SiteTask.value = arguments[1];
		document.frmPage.SiteSubTask.value = arguments[2];
		document.frmPage.ID1.value = arguments[3];
		document.frmPage.ID2.value = arguments[4];
		document.frmPage.ID3.value = arguments[5];
		document.frmPage.ID4.value = arguments[6];
		document.frmPage.ID5.value = arguments[7];
		document.frmPage.ID6.value = arguments[8];
		document.frmPage.ID7.value = arguments[9];
		document.frmPage.ID8.value = arguments[10];
		document.frmPage.submit();
	}
}

/*
if(navigator.appName == "Netscape")
{
  document.captureEvents(Event.KEYPRESS);
  document.onkeypress = CheckKey;
}
*/

function CheckKeyIE(e) 
{
	if (navigator.appName == "Netscape")
    	keyPressed = String.fromCharCode(e.which);
 	else
        keyPressed = String.fromCharCode(window.event.keyCode);

 	if (keyPressed == "\r" || keyPressed=="\n") 
  	{
		// NOTE - the next line is causing errors on MacIE - need to trim the whitespace from the arguments?
		submitPage(arguments[0].replace(/ /, ""),arguments[1].replace(/ /, ""),arguments[2].replace(/ /, ""));
  	}
}

function checkAll(newField)	{
for (i = 0; i < newField.length; i++)
	newField[i].checked = true ;
}

function uncheckAll(newField) {
for (i = 0; i < newField.length; i++)
	newField[i].checked = false ;
}

/* login button capture script
	depreciated as of Serebra KeyCapture script (sbr-kcs) v6.3
	for login functionalities, in most cases, we use the main __CaptureKey() function now */
function __CaptureNN(eventObj) { if ((__EventSource(eventObj) && (__EventSource(eventObj) == "txtLogonPassword" || __EventSource(eventObj) == "txtLogonUserName")) && __EventValue(eventObj) == 13) submitPage(__ReturnObject("SitePage").value, "logon", ""); }/* sbr-kcs v5.0 */
function __CaptureIE(eventObj) { if ((__EventSource(eventObj) && (__EventSource(eventObj) == "txtLogonPassword" || __EventSource(eventObj) == "txtLogonUserName")) && __EventValue(eventObj) == 13) { submitPage(document.frmPage.SitePage.value, "logon", ""); return false; } else return true; }/* sbr-kcs v5.0 */

// unfortunately, due to browser differences, we need to compensate for different variables names
// thus, the following functions __EventButton(), __EventKey(), __EventSource() and __EventValue() needed to be created

/* return the numeric mouse button number */
function __EventButton(eventObj) {
	if (eventObj.button && parseInt(eventObj.button) > 0) return parseInt(eventObj.button); else if (eventObj.which && parseInt(eventObj.which) > 0) return parseInt(eventObj.which); else return null;
}/* sbr-kcs v6.3 */

/* return the object to which the event was initiated */
function __EventSource(eventObj) {
	if (eventObj.srcElement && eventObj.srcElement.name) return eventObj.srcElement.name; else if (eventObj.target && eventObj.target.name) return eventObj.target.name; else return null;
}/* sbr-kcs v5.0 */

/* return the numeric ASCII keycode */
function __EventKey(eventObj) {
	if (eventObj.keyCode && parseInt(eventObj.keyCode) > 0) return parseInt(eventObj.keyCode); else if (eventObj.which && parseInt(eventObj.which) > 0) return parseInt(eventObj.which); else return null;
}/* sbr-kcs v6.2 */

/* this function automatically tries to direct execution to the right function
	it's usually better to just use the functions __EventButton() and __EventKey() themselves, since some browsers do their event-handling differently */
function __EventValue(eventObj) {
	if (eventObj.type.toLowerCase().indexOf("key") >= 0) return __EventKey(eventObj);
	else if (eventObj.type.toLowerCase().indexOf("click") >= 0 || eventObj.type.toLowerCase().indexOf("mouse") >= 0) return __EventButton(eventObj);
	else return null;
}/* sbr-kcs v6.3 */

// old key capture functions
function CheckKey() { return null; }/* sbr-kcs v1.0 */
function CheckKeyIE() { return null; }/* sbr-kcs v1.0 */

/* generic key capture script */
function __CaptureKey(formObj, eventObj, keyCodeToCapture, submitOnCapture) {
	if (submitOnCapture) {
		focusOnCapture = false;
		/* declare/assign basic submitPage parameters */
		if (arguments.length >= 5) SitePage = arguments[4]; else if (__ReturnObject("SitePage")) SitePage = __ReturnObject("SitePage").value; else SitePage = "";
		if (arguments.length >= 6) SiteTask = arguments[5]; else if (__ReturnObject("SiteTask")) SiteTask = __ReturnObject("SiteTask").value; else SiteTask = "";
		if (arguments.length >= 7) SiteSubTask = arguments[6]; else if (__ReturnObject("SiteSubTask")) SiteSubTask = __ReturnObject("SiteSubTask").value; else SiteSubTask = "";
		/* declare/assign extended submitPage parameters */
		if (arguments.length >= 8) ID1 = arguments[7]; else if (__ReturnObject("ID1")) ID1 = __ReturnObject("ID1").value; else ID1 = "";
		if (arguments.length >= 9) ID2 = arguments[8]; else if (__ReturnObject("ID2")) ID2 = __ReturnObject("ID2").value; else ID2 = "";
		if (arguments.length >= 10) ID3 = arguments[9]; else if (__ReturnObject("ID3")) ID3 = __ReturnObject("ID3").value; else ID3 = "";
		if (arguments.length >= 11) ID4 = arguments[10]; else if (__ReturnObject("ID4")) ID4 = __ReturnObject("ID4").value; else ID4 = "";
		if (arguments.length >= 12) ID5 = arguments[11]; else if (__ReturnObject("ID5")) ID5 = __ReturnObject("ID5").value; else ID5 = "";
		if (arguments.length >= 13) ID6 = arguments[12]; else if (__ReturnObject("ID6")) ID6 = __ReturnObject("ID6").value; else ID6 = "";
		if (arguments.length >= 14) ID7 = arguments[13]; else if (__ReturnObject("ID7")) ID7 = __ReturnObject("ID7").value; else ID7 = "";
		if (arguments.length >= 15) ID8 = arguments[14]; else if (__ReturnObject("ID8")) ID8 = __ReturnObject("ID8").value; else ID8 = "";
	/* when submitOnCapture is false, but argument[4] is defined, use argument[4] for the object to set focus automagically */
	} else if (arguments.length >= 4) {
		focusOnCapture = true;
		focusObj = ((typeof arguments[4] == "object") ? arguments[4] : __ReturnObject(arguments[4]));
	}/* sbr-kcs v6.3 */
	/* submit form, return FALSE to prevent any abstract behaviors */
	if (__EventKey(eventObj) == keyCodeToCapture && submitOnCapture && !focusOnCapture) {
		submitPage(SitePage, SiteTask, SiteSubTask, ID1, ID2, ID3, ID4, ID5, ID6, ID7, ID8);
		return false;
	/* don't submit the form, but return boolean value for expression testing */
	} else if (!submitOnCapture && !focusOnCapture) return (__EventKey(eventObj) == keyCodeToCapture);/* sbr-kcs v6.4 (Febuary 16th, 2005 - K. Brandner) */
	/* don't submit the form, but focus on the specified object and return TRUE for expression testing */
	else if	(__EventKey(eventObj) == keyCodeToCapture && (focusOnCapture && focusObj)) { focusObj.focus(); return true; }/* sbr-kcs v6.3 */
	/* all other cases, return true and allow the event */
	else return true;
}/* sbr-kcs v5.0 */



/* KB May 5, 05 */
function __ReturnObject(id) {
	if (document.getElementById) { // DOM-compliant browsers (MSIE5+, NSN6+, O5+)
		return document.getElementById(id);
	} else if (document.all) { // MSIE4
		return document.all[id];
	} else { // NSN4
		for (var i=0;i<document.forms.length;i++)
		{
			if (document.forms[i].elements[id])
				return document.forms[i].elements[id];
		}
		return eval("document."+id); // If all else fails...
	}
}

function __VerifyChecked ( ChkAllObj, ChkListObj ) {
	/*
		Jun 28th, 2005 - K. Brandner
			- Handling for (Checkbox).disabled
			- Compensate in the case that only one checkbox exists in ChkListObj
	*/
	NumChecked = 0; NumDisabled = 0; NumCheckboxes = ChkListObj.length;
	if (ChkListObj && ChkListObj.length) {
		for (i=0 ; i<NumCheckboxes ; i++) { 
			if (ChkListObj[i].checked || ChkListObj[i].disabled) NumChecked = NumChecked + 1;
			if (ChkListObj[i].disabled) NumDisabled = NumDisabled + 1;
		}
	} else if (ChkListObj) {
		NumCheckboxes = 1;
		if (ChkListObj.checked || ChkListObj.disabled) NumChecked = NumChecked + 1;
		if (ChkListObj.disabled) NumDisabled = NumDisabled + 1;	
	}
	if (ChkAllObj) {
		if (ChkAllObj.type && ChkAllObj.type.toLowerCase().indexOf("check") > 0) ChkAllObj.checked = (NumChecked == NumCheckboxes && NumDisabled < NumCheckboxes);
		else ChkAllObj.disabled = ((NumChecked >> 0 && NumDisabled < NumCheckboxes) ? false : true);
	}
}

