

//Script for Reg Form
var defaultChildOption 	= "Select Centre";
var DomYes		= document.getElementById?1:0;

function set_child_listbox(parentObject,childObject,childArray) {
	//Clear child listbox
	for(var i=childObject.length;i>0;i--) { childObject.options[i] = null; }
	childObject.options[0] = new Option(defaultChildOption,"");
	var sel_index = parentObject.options[parentObject.selectedIndex].value;
	if (sel_index == "") { childObject.disabled = true;	}
	else {
		childObject.disabled = false;
		var childIndex = 1;
		for (i = 0; i < childArray.length; i++) {
			if (childArray[i][1] == sel_index) {
				childObject.options[childIndex] = new Option(childArray[i][2], childArray[i][0]);
				childIndex++;
		}	}	}
	//Select first option
	childObject.selectedIndex = 0;
	}

function disable_child_listbox(spanToHide) {
  	//Disable second listbox
  	if (document.forms['eu_EditUser_form'].EditUser_Company.selectedIndex == "") {document.forms['eu_EditUser_form'].EditUser_Centre.disabled = true; }
	}

function createDropdowns() {
	for (var i=0; i < ParentDropDwn.length;++i){
		addOption(document.eu_EditUser_form.EditUser_Company, ParentDropDwn[i][1], ParentDropDwn[i][0]);
	}	}

function addOption(selectbox,text,value ) {
	var optn = document.createElement('option');
	optn.text = text;
	optn.value = value;
	document.getElementById('EditUser_Company').options.add(optn);
	}

	function dropdowninit() {
	disable_child_listbox("Child");
	createDropdowns();
	}

// -------------------------------------------------------- //
function validateForm(){
	var errorMissing = new String();
	var errorInvalidEmail = new String();
	//var nErrorCode = new String();

	var thisForm = "eu_EditUser_form";

	with (document.forms[thisForm]) {
		// Clean up leading, trailing and multiple spaces
		// Check for invalid email addresses and phone numbers

var defaultVals = new Array();
defaultVals[0] = new Array("EditUser_username", "Network Username", "Required","text");
defaultVals[1] = new Array("EditUser_first_name", "First Name", "Required","text");
defaultVals[2] = new Array("EditUser_last_name", "Last Name", "Required","text");
defaultVals[3] = new Array("EditUser_job_title", "Job Title", "Required","text");
defaultVals[4] = new Array ("EditUser_manager", "Supervisor/Manager", "Required","text");
defaultVals[5] = new Array("EditUser_Company", "Select Company", "Required","text");
defaultVals[6] = new Array("EditUser_dept", "Department (optional)", "Optional","text");
defaultVals[7] = new Array("EditUser_Centre", "Centre/Service", "Required","text");
defaultVals[8] = new Array("EditUser_loc2", "Room/Floor/Building (optional)", "Optional","text");
defaultVals[9] = new Array("EditUser_tel", "Phone Number", "Required","number");
defaultVals[10] = new Array("EditUser_fax", "Fax Number (optional)", "Optional","number");
defaultVals[11] = new Array("EditUser_email", "Email Address", "Required","email");
defaultVals[12] = new Array("EditUser_mobile", "Mobile Number (optional)", "Optional","number");
defaultVals[13] = new Array("EditUser_telext", "Phone Extension (optional)", "Optional","number");
//defaultVals[14] = new Array("EditUser_screenreader", "Screen Reader Support", "Required","text");

		for(var n=0;n<defaultVals.length;n++ ) {
			var thisField     = defaultVals[n][0];
			var thisDefault   = defaultVals[n][1];
			var isRequired    = defaultVals[n][2];
			var thisFieldType = defaultVals[n][3];
			var strValue      = elements[thisField].value;
			strValue = trimAll(strValue,thisField);
			elements[thisField].value = strValue;
			if(thisFieldType == "email") {
			if(CheckRehabEmail(strValue) == false) {
			errorInvalidEmail += strValue + '\n'; }

			}
			}



		// Check for empty fields,
		for(var n=0;n<defaultVals.length;n++ ) {
			var thisField = defaultVals[n][0];
			var strValue = elements[thisField].value;
			var isRequired = defaultVals[n][2];
			if(strValue.length == 0 && isRequired == "Required") {
				var thisDefault = defaultVals[n][1];
				errorMissing += thisDefault + '\n';
				//elements[thisField].value = thisDefault;
				elements[thisField].style.backgroundColor = "#FFEEA8";
				}
			else {
				if(strValue.length == 0) {
					elements[thisField].style.color = "#000000";
					//elements[thisField].value = defaultVals[n][1];
			}	}	}

		function trimAll(strValue) {
			var objRegExp = /^(\s*)$/;
			//check for any spaces
			if(objRegExp.test(strValue)) {
			strValue = strValue.replace(objRegExp, '');
			   if( strValue.length == 0) { return strValue; }
				}
			//check for leading & trailing spaces
			objRegExp = /^(\s*)([\W\w]*)(\b\s*$)/;
			if(objRegExp.test(strValue)) { strValue = strValue.replace(objRegExp, '$2'); }
			//replace multiple spaces with 1 space
			var objRegExp =  new RegExp( '\\s+', 'gi' );
			if(objRegExp.test(strValue)) { strValue = strValue.replace(objRegExp,' '); }
			return strValue;
			}

		function CheckRehabEmail(strValue) {
			if(strValue.length > 0) {
		 	for(var j=0; j<AcceptedDomains.length && !new RegExp("[@.]"+AcceptedDomains[j] + "$","i").test(strValue); j++);
		 	if(j==AcceptedDomains.length) {
					//didn't find a valid email address
					return false;
					}
				}
			}

	        
/* ---------------------------------------------------------------------------------- */
		var inputError = "false";
             
		if( errorMissing.length > 0 ) {
		   alert('Please provide the following mandatory information: \n\n' + errorMissing); inputError = "true"; };

		if( errorInvalidEmail.length > 0 ) {
		   alert('Please enter a valid Rehab Company Email Address: \n\n' + errorInvalidEmail + '\n\n Examples:\n yourname@rehab.ie\n yourname@nln.ie\n yourname@momentumscotland.org \n etc.'); inputError = "true";}  

		if( checkspecchars == true ) { alert("Only characters and numbers are allowed in all fields containing a name"); return false;}
		
		if( checknumcase == true ) { alert("Your username must contain at least one number and an uppercase letter");return false;}

        if( inputError == "true" )
        {
        event.returnValue=false;
        };

        if( EditUser_AUP.checked == false ) { alert("You must confirm that you have read and agree to the AUP"); inputError = "true";}

        else
        {
        EditUser_submit();
        }
	}
}

