/* Creates and returns an XMLhttp object that can be used for AJAX control */
function createRequestObject() {
	// Get the XML http object which will be used to make requests to the server
	// If in any browser but IE, just use the XMLhttp object
	if (window.XMLHttpRequest) { // Mozilla, Safari, ...
		return new XMLHttpRequest();
	} 
	// Otherwise, use the Microsoft ActiveX control
	else if (window.ActiveXObject) { // IE
		return new ActiveXObject("Microsoft.XMLHTTP");
	}
}

function NULL() {
	var my = true;	
}
// Create a global variable, which represents the XMLhttp object we are passing
// back and forth with the server to answer our queries
var http = createRequestObject();

function getContent(pageTitle) {
	//alert('getContent called: ' + pageTitle);
	http.abort();
	//CMhideLayer('ajaxWarning',0);
	thisUrl = '/training_online/index.cfm?ajax=true&fuseaction=' + pageTitle;
	http.onreadystatechange = handleContent;
	http.open('GET', thisUrl, true);
	http.send(null);
}

function getContentForm(pageTitle, sentForm) {
	//alert('getContentForm called: ' + pageTitle);
	var blnvalidate = true; 
	var elementsInputs;
	elementsInputs = sentForm.getElementsByTagName("input");
	queryString = "";
	for (var intCounter = 0; intCounter < elementsInputs.length; intCounter++) {
		if (elementsInputs[intCounter].type != "checkbox") {
			//alert('Name: ' + elementsInputs[intCounter].name + ' Value: ' + elementsInputs[intCounter].value);
			queryString = queryString + '&' + elementsInputs[intCounter].name + '=' +  elementsInputs[intCounter].value;
		}
		if (elementsInputs[intCounter].type == "checkbox" && elementsInputs[intCounter].checked == true) {
			//alert('Name: ' + elementsInputs[intCounter].name + ' Value: ' + elementsInputs[intCounter].value);
			queryString = queryString + '&' + elementsInputs[intCounter].name + '=' +  elementsInputs[intCounter].value;
		}
	}
	elementsInputs = sentForm.getElementsByTagName("select");
	for (var intCounter = 0; intCounter < elementsInputs.length; intCounter++) {
		
		//alert('Name: ' + elementsInputs[intCounter].name + ' Value: ' + elementsInputs[intCounter].value);
		queryString = queryString + '&' + elementsInputs[intCounter].name + '=' +  elementsInputs[intCounter].value;
	}
	elementsInputs = sentForm.getElementsByTagName("textarea");
	for (var intCounter = 0; intCounter < elementsInputs.length; intCounter++) {
		
		//alert('Name: ' + elementsInputs[intCounter].name + ' Value: ' + elementsInputs[intCounter].value);
		queryString = queryString + '&' + elementsInputs[intCounter].name + '=' +  elementsInputs[intCounter].value;
	}
	//alert(queryString);
	thisUrl = '/training_online/index.cfm?ajax=true&fuseaction=' + pageTitle;
	http.abort();
	http.open('POST', thisUrl);
	http.onreadystatechange = handleContent;
	http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	http.send(queryString);

}

function getContentFormUpload(pageTitle, sentForm) {
	alert('getContentForm called: ' + pageTitle);
	var blnvalidate = true; 
	var elementsInputs;
	elementsInputs = sentForm.getElementsByTagName("input");
	queryString = "";
	for (var intCounter = 0; intCounter < elementsInputs.length; intCounter++) {
		if (elementsInputs[intCounter].type != "checkbox") {
			//alert('Name: ' + elementsInputs[intCounter].name + ' Value: ' + elementsInputs[intCounter].value);
			queryString = queryString + '&' + elementsInputs[intCounter].name + '=' +  elementsInputs[intCounter].value;
		}
		if (elementsInputs[intCounter].type == "checkbox" && elementsInputs[intCounter].checked == true) {
			//alert('Name: ' + elementsInputs[intCounter].name + ' Value: ' + elementsInputs[intCounter].value);
			queryString = queryString + '&' + elementsInputs[intCounter].name + '=' +  elementsInputs[intCounter].value;
		}
	}
	elementsInputs = sentForm.getElementsByTagName("select");
	for (var intCounter = 0; intCounter < elementsInputs.length; intCounter++) {
		
		//alert('Name: ' + elementsInputs[intCounter].name + ' Value: ' + elementsInputs[intCounter].value);
		queryString = queryString + '&' + elementsInputs[intCounter].name + '=' +  elementsInputs[intCounter].value;
	}
	elementsInputs = sentForm.getElementsByTagName("textarea");
	for (var intCounter = 0; intCounter < elementsInputs.length; intCounter++) {
		
		//alert('Name: ' + elementsInputs[intCounter].name + ' Value: ' + elementsInputs[intCounter].value);
		queryString = queryString + '&' + elementsInputs[intCounter].name + '=' +  elementsInputs[intCounter].value;
	}
	//alert(queryString);
	thisUrl = '/training_online/index.cfm?ajax=true&fuseaction=' + pageTitle;
	http.abort();
	http.open('POST', thisUrl);
	http.onreadystatechange = handleContent;
	http.setRequestHeader('Content-Type', 'multipart/form-data');
	http.send(queryString);

}


function handleContent() {
	if(http.readyState == 1) {
		// Allow for at least 1 second for the data to arrive
		//setTimeout("CMshowLayer('ajaxWarning',0)",1000);
	}
	if(http.readyState == 4) {
		// Hide the warnig now that the data has arrived
		//CMhideLayer('ajaxWarning',0);
		// Get the response from the server as plain text
		var response = http.responseText;
		response = response.trim();
		//alert(response);
		if (response.substring(0,4) != 'fuse') {
			// If the response is a false, tehn pop an alert and flag that field
			document.getElementById('primaryContent').innerHTML = response;
		} else {
			myFuseaction=response.substring(5,response.length);
			getContent(myFuseaction);
		}
	}
}

// CMshowLayer takes two variables,
// The layer to be revealed and the number of milliseconds before that happens
function CMshowLayer(showIt,waitForIt) {
	if (document.layers) {
		commandLine = "document." + showIt + ".visibility = 'show'";
	} else if (document.all) {
		commandLine="document.all." + showIt + ".style.visibility='visible';";
	} else if (document.getElementById) {
		commandLine = "document.getElementById('" + showIt + "').style.visibility = 'visible'";
	}
	// Only do this if the data still hasn't arrived
	if (http.readyState == 1) {
		setTimeout("eval(commandLine)", waitForIt);
	}	
}
// CMhideLayer takes two variables,
// The layer to be hidden and the number of milliseconds before that happens
function CMhideLayer(hideIt, waitForIt) {
	if (document.layers) {
		commandLine = "document." + hideIt + ".visibility = 'hidden'";
		setTimeout("eval(commandLine)", waitForIt);
	} else if (document.all) {
		commandLine="document.all." + hideIt + ".style.visibility='hidden';";
		setTimeout("eval(commandLine)", waitForIt)
	} else if (document.getElementById) {
		commandLine = "document.getElementById('" + hideIt + "').style.visibility = 'hidden'";
		setTimeout("eval(commandLine)", waitForIt);
	}
}

String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ""); };
