-1) {
var s = source.indexOf("", e);
scripts.push(source.substring(s_e+1, e));
source = source.substring(0, s) + source.substring(e_e+1);
}
for(var x=0; x';
xmlResponse=xmlResponse + '<' + key + '>' + value + '' + key + '>';
xmlResponse=xmlResponse+ ' ';
//alert("Sending XML response: " + xmlResponse);
mygetrequest.open("POST", "?_p=courses&_m=course&_func=CourseDataTransfer&_bypass_cms=YES&_sessionID=d5f0974658d45657d3420d21cf1d1669&_cfunc=setvalue", false);
mygetrequest.setRequestHeader("Content-type", "text/xml");
mygetrequest.setRequestHeader("Content-Length", xmlResponse.length);
mygetrequest.send(xmlResponse);
}
function ServerGetValue(cbObjId, key)
{
var mygetrequest=new ajaxRequest()
mygetrequest.onreadystatechange=function()
{
if (mygetrequest.readyState==4)
{
if (mygetrequest.status==200 || window.location.href.indexOf("http")==-1)
{
xmlDoc=mygetrequest.responseXML;
var KeyValue = xmlDoc.getElementsByTagName("Value");
if (KeyValue != null)
{
document.getElementById(cbObjId).value=KeyValue[0].childNodes[0].nodeValue;
}
}
else
{
alert('Error in ServerGetValue');
}
}
}
var xmlResponse = '<'+ Chr(63) +'xml version="1.0" ' + Chr(63) +'>';
xmlResponse=xmlResponse + '<' + key + '>' + key + '' + key + '>';
xmlResponse=xmlResponse+ ' ';
//alert("Sending XML response: " + xmlResponse);
mygetrequest.open("POST", "?_p=courses&_m=course&_func=CourseDataTransfer&_bypass_cms=YES&_sessionID=d5f0974658d45657d3420d21cf1d1669&_cfunc=getvalue", false);
mygetrequest.setRequestHeader("Content-type", "text/xml");
mygetrequest.setRequestHeader("Content-Length", xmlResponse.length);
mygetrequest.send(xmlResponse);
}
/********************* End Debug ********************/
function SetSelectValue (objid){
// alert('Searching for element with ID' + objid);
selectElement = document.getElementById(objid);
PageSelectValues[selectElement.name]=selectElement.value;
// alert('Setting select value for ' + selectElement.name + ' to: ' + selectElement.value);
}
/**
*
* @access public
* @return void
**/
function SetRadioButton(rbId, Option, newValue){
radioObj = document.getElementById(rbId);
var radioLength = radioObj.length;
// for(var i = 0; i < radioLength; i++) {
// radioObj[i].checked = false;
// alert("Checking radio object button value (" + radioObj.value + ") is equal to (" + Option.toString() + ")");
if(radioObj.value == Option.toString()) {
radioObj.checked = newValue;
}
// }
}
function isTextInvalid(RequiredField)
{
if (RequiredField.getAttribute("required") !== null){
if (RequiredField.value === "")
{
return RequiredField.getAttribute("label")+" should not be empty";
}
if (RequiredField.value == "Please Select...")
{
return "Please choose an option for "+RequiredField.getAttribute("label");
}
}
if (RequiredField.getAttribute("validation") === "NUMBER") return numberIsInvalid(RequiredField);
if (RequiredField.getAttribute("validation") === "EMAIL") return emailIsInvalid(RequiredField);
if (RequiredField.getAttribute("validation") === "TEXT") return textIsInvalid(RequiredField);
if (RequiredField.getAttribute("validation") === "DATE") return dateIsInvalid(RequiredField);
return false;
}
function numberIsInvalid(RequiredField){
if (RequiredField.value !== ""){
if (/^[0-9]+$/.test(RequiredField.value)){
return false;
}
return RequiredField.getAttribute("label")+" contains non-numbers (should only contain 0-9)";
} else return false;
}
function emailIsInvalid(RequiredField){
if (RequiredField.value !== ""){
if (/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}/.test(RequiredField.value)){
return false;
}
return RequiredField.getAttribute("label")+" must be a valid email (name@website.com.au)";
} else return false;
}
function textIsInvalid(RequiredField){
var temp = RequiredField.value.replace( /(^\s*)|(\s*$)/g,'');
//alert(temp.length);
if (temp.length == 0){
return RequiredField.getAttribute("label")+" should not be empty (not just spaces)";
}
return false;
}
function dateIsInvalid(RequiredField){
if (RequiredField.value !== ""){
if (/^\d{1,2}\/|-|.\d{1,2}\/|-|.\d{2}|d{4}$/.test(RequiredField.value)){
return false;
}
return RequiredField.getAttribute("label")+" must be a valid date (preferably: dd/mm/yyyy)";
} else return false;
}
function ValidateUserInput()
{
var TotalFailed=0;
var PassedValidation=true;
var failedRadioButtons = new Array();
var ValidationMessage="Oops. We can't continue without some required information:\n";
for ( i = 0; i < RequiredInputFields.length; i++ )
{
if ( RequiredInputFields[i].type == 'text' || RequiredInputFields[i].type == 'hidden' || RequiredInputFields[i].type == 'password' || RequiredInputFields[i].type == 'select-one')
{
var returnVal = isTextInvalid(RequiredInputFields[i]);
if (returnVal !== false)
{
element = document.getElementById(RequiredInputFields[i].name);
element.className= "FailValidation";
PassedValidation=false;
TotalFailed++;
if (TotalFailed <= 5) ValidationMessage += "\n * "+returnVal;
//alert("Failed validation for field: " + element.name);
if (TotalFailed == 1)
{
element.focus();
}
}
else
{
element = document.getElementById(RequiredInputFields[i].name);
element.className= "PassValidation";
}
}
else if ( RequiredInputFields[i].type == 'radio')
{
var els = document.getElementsByName(RequiredInputFields[i].name);
var any = false;
for (var j = 0; j != els.length; ++j) {
if (els[j].checked)
any = true;
}
if (!any) {
PassedValidation = false;
if(failedRadioButtons.indexOf(RequiredInputFields[i].getAttribute("label")) == -1){
TotalFailed++;
failedRadioButtons.push(RequiredInputFields[i].getAttribute("label"));
if (TotalFailed <= 5) ValidationMessage += "\n * Please choose an option for "+RequiredInputFields[i].getAttribute("label");
}
}
for (var j = 0; j != els.length; ++j) {
els[j].className = any ? "PassValidation" : "FailValidation";
}
}
else if (RequiredInputFields[i].type == 'checkbox' )
{
if (RequiredInputFields[i].checked != true)
{
element = document.getElementById(RequiredInputFields[i].name);
element.className= "FailValidation";
PassedValidation=false;
TotalFailed++;
//alert("Failed validation for field: " + element.name);
if (TotalFailed == 1)
{
element.focus();
}
}
else
{
element = document.getElementById(RequiredInputFields[i].name);
element.className= "PassValidation";
}
}
}
for ( i = 0; i < RequiredSelectFields.length; i++ )
{
if (PageSelectValues[RequiredSelectFields[i].name] == "")
{
element = document.getElementById(RequiredSelectFields[i].name);
element.className= "FailValidation";
TotalFailed++;
PassedValidation=false;
// alert("Failed validation for field: " + element.name);
if (TotalFailed == 1)
{
element.focus();
}
}
else
{
element = document.getElementById(RequiredSelectFields[i].name);
element.className= "PassValidation";
}
}
for (i=0; i 5) ValidationMessage += "\n\n And "+(TotalFailed - 5)+" other errors."
if (PassedValidation !== true) alert(ValidationMessage);
return PassedValidation;
}
function SetPageInputs()
{
PageInputs = [];
PageSelects = [];
PageTextAreas = [];
RequiredInputFields = [];
TotalRequiredInputFields =-1;
RequiredSelectFields = [];
TotalRequiredSelectFields =-1;
RequiredTextAreaFields = [];
TotalRequiredTextAreaFields =-1;
PageSelectValues = new Array();
var tmpInputElements = new Array();
tmpInputElements = document.getElementsByTagName("input");
for ( i = 0; i < tmpInputElements.length; i++ )//count all Input fields
{
if ((tmpInputElements[i].getAttribute("required") == "required") || (tmpInputElements[i].getAttribute("validation") !== null) )
{
TotalRequiredInputFields++;
RequiredInputFields[TotalRequiredInputFields] = tmpInputElements[i];
}
PageInputs[i] = tmpInputElements[i];
}
var tmpSelectElements = new Array();
tmpSelectElements = document.getElementsByTagName("select");
for ( i = 0; i < tmpSelectElements.length; i++ )//count all select fields
{
if (tmpSelectElements[i].getAttribute("required") == "required")
{
//TotalRequiredSelectFields++;
//RequiredSelectFields[TotalRequiredSelectFields] = tmpInputElements[i];
TotalRequiredInputFields++;
RequiredInputFields[TotalRequiredInputFields] = tmpSelectElements[i];
}
PageSelects[i] = tmpSelectElements[i];
}
var tmpTextAreaElements = new Array();
tmpTextAreaElements = document.getElementsByTagName("textarea");
for ( i = 0; i < tmpTextAreaElements.length; i++ )//count all text area fields
{
if (tmpTextAreaElements[i].getAttribute("required") == "required")
{
TotalRequiredTextAreaFields++;
RequiredTextAreaFields[TotalRequiredTextAreaFields] = tmpTextAreaElements[i];
}
PageTextAreas[i] = tmpTextAreaElements[i];
}
}
function cleanXMLvalue(str){
str = str.replace(/&/g, "&");
str = str.replace(//g, ">");
str = str.replace(/"/g, """);
str = str.replace(/'/g, "'");
return str;
}
function SetPostData()
{
PostDataString = "";
for ( i = 0; i < PageInputs.length; i++ )
{ // loop through and find
if (( PageInputs[i].type == 'text' || PageInputs[i].type == 'hidden' || PageInputs[i].type == 'password') && PageInputs[i].name != '')
{
if (PageInputs[i].value == "")
{
PostDataString = PostDataString + "<" + PageInputs[i].name +">_NULL^" + PageInputs[i].name +">";
}
else
{
PostDataString = PostDataString + "<" + PageInputs[i].name +">" + cleanXMLvalue(PageInputs[i].value) + "" + PageInputs[i].name +">";
}
}
else if (( PageInputs[i].type == 'radio' || PageInputs[i].type == 'checkbox') && PageInputs[i].name != '')
{
if (PageInputs[i].checked == true) {
var thisVal = PageInputs[i].value;
if (PageInputs[i].type == 'checkbox') thisVal = 'Yes';
PostDataString = PostDataString + "<" + PageInputs[i].name +">" + thisVal + "" + PageInputs[i].name +">";
}
}
else if (PageInputs[i].type == 'image') {}
else
{
alert("No handler for Input Type on Page: ".PageInputs[i].type);
}
}
for ( i = 0; i < PageSelects.length; i++ )
{
if(PageSelects[i].name != "")
PostDataString = PostDataString + "<" + PageSelects[i].name + ">" + PageSelects[i].options[PageSelects[i].selectedIndex].value + "" + PageSelects[i].name + ">";
}
for ( i = 0; i < PageTextAreas.length; i++ )
{
if (PageTextAreas[i].value == "" && (PageTextAreas[i].name != ""))
{
PostDataString = PostDataString + "<" + PageTextAreas[i].name +">_NULL^" + PageTextAreas[i].name +">";
}
else
{
PostDataString = PostDataString + "<" + PageTextAreas[i].name + ">" + PageTextAreas[i].value + "" + PageTextAreas[i].name + ">";
}
}
return PostDataString;
}
function ajaxRequest(){
var activexmodes=["Msxml2.XMLHTTP", "Microsoft.XMLHTTP", "MSXML2.XMLHTTP.3.0"] //activeX versions to check for in IE
if (window.ActiveXObject !== undefined){ //Test for support for ActiveXObject in IE first (as XMLHttpRequest in IE7 is broken)
for (var i=0; i 0)
{
var ProgressBarValue = xmlDoc.getElementsByTagName("Value")[0].childNodes[0].nodeValue;
document.getElementById("progress-bar").style.width=ProgressBarValue;
var ProgressBarHidden = xmlDoc.getElementsByTagName("Hidden")[0].childNodes[0].nodeValue;
document.getElementById("progress-bar").style.width=ProgressBarValue;
SetProgressBar(ProgressBarValue, ProgressBarHidden);
}
var strPageStatus = xmlDoc.getElementsByTagName("Status")[0].childNodes[0].nodeValue;
//document.getElementById("page_status_cell").innerHTML=strPageStatus;
var DebugInfo = xmlDoc.getElementsByTagName("Debug");
if (DebugInfo.length > 0)
{
var DebugData = DebugInfo[0].getElementsByTagName("Message")[0].childNodes[0].nodeValue;
SetDebugArea(DebugData);
}
else
{
SetDebugArea("");
}
var ButtonsConfig = xmlDoc.getElementsByTagName("Buttons");
if (ButtonsConfig.length > 0)
{
var Button1Config = ButtonsConfig[0].getElementsByTagName("Button1"); //[0].childNodes[0].nodeValue;
var Button2Config = ButtonsConfig[0].getElementsByTagName("Button2"); //[0].childNodes[0].nodeValue;
if (Button1Config.length > 0)
{
var Button1ID = Button1Config[0].getElementsByTagName("ID")[0].childNodes[0].nodeValue;
var Button1Hidden = Button1Config[0].getElementsByTagName("Hidden")[0].childNodes[0].nodeValue;
var Button1DoFunction = Button1Config[0].getElementsByTagName("DoFunction")[0].childNodes[0].nodeValue;
SetButton1(Button1ID, Button1Hidden, Button1DoFunction);
}
if (Button2Config.length > 0)
{
var Button2ID = Button2Config[0].getElementsByTagName("ID")[0].childNodes[0].nodeValue;
var Button2Hidden = Button2Config[0].getElementsByTagName("Hidden")[0].childNodes[0].nodeValue;
var Button2DoFunction = Button2Config[0].getElementsByTagName("DoFunction")[0].childNodes[0].nodeValue;
SetButton2(Button2ID, Button2Hidden, Button2DoFunction);
}
if (IsError==true) {
HideErrorMessage();
}
ScrollToLocation(0,0);
document.getElementById("LoadingPanel").style.visibility="hidden";
document.getElementById("course_content_cell").innerHTML=strHtmlPageContent;
SetPageInputs();
InitModules();
ResetTimer();
ParseAjaxResponse(strHtmlPageContent);
radioshow_all();
}
}
else
{
document.getElementById("course_content_cell").innerHTML="";
document.getElementById("LoadingPanel").style.visibility="hidden";
ShowErrorMessage("Loading Error", "A problem has occured while retrieving course data, this may indicate a problem with your internet connection. Click here to try again . Error code " + mygetrequest.status + " " + mygetrequest.responseText);
}
/*} catch(e) {
document.getElementById("course_content_cell").innerHTML="";
document.getElementById("LoadingPanel").style.visibility="hidden";
ShowErrorMessage("Loading Error", "An unexpected error has occurred. Please contact support. Error details: " +"["+e.name + ": " + e.message+"] " + mygetrequest.responseText);
}*/
// callback done, so re-enable continue and previous buttons.
SetCallback(false);
}
}
var xmlResponse = '<'+ Chr(63) +'xml version="1.0" ' + Chr(63) +'>';
xmlResponse=xmlResponse + SetPostData();
xmlResponse=xmlResponse + "" + elapsed + " ";
xmlResponse=xmlResponse+ ' ';
document.getElementById("course_content_cell").innerHTML="";
if (optionalgets == undefined) {
optionalgets = "";
}
mygetrequest.open("POST", "?_p=courses&_m=course&_func=CourseDataTransfer&_bypass_cms=YES&_sessionID=d5f0974658d45657d3420d21cf1d1669&_cfunc=" + func + optionalgets, true);
mygetrequest.setRequestHeader("Content-type", "text/xml");
mygetrequest.setRequestHeader("Content-Length", xmlResponse.length);
// alert("Sending response: " + xmlResponse);
// alert("Func: " + func);
// set callback to true so they can't press continue or previous again
SetCallback(true);
try {
mygetrequest.send(xmlResponse);
} catch(e) {
// in case of a bad error, we don't want to disable the callback
SetCallback(false);
throw e;
}
}
function SetCallback(incall)
{
InCallback = incall;
if (incall) {
document.Button1.src=Button1_Disable.src;
document.Button2.src=Button2_Disable.src;
} else {
document.Button1.src=Button1_Normal.src;
document.Button2.src=Button2_Normal.src;
}
}
function HoverTo(Button, Image) {
// Only change the image if we're not currently in a callback, ie buttons are enabled
if (!InCallback) {
Button.src = Image.src;
}
}
function Chr(AsciiNum)
{
return String.fromCharCode(AsciiNum)
}
Error Code
Error Message
© PaQS People and Quality Solutions Pty Ltd 2015