			/* Check merge template is .htm */
			function checkMergeTemplateUpload()
			{
				var test = document.mergeUploadForm.template.value;
				var reg = new RegExp("^.*\.htm$");
				var reg2 = new RegExp("^.*\.html$");

				if ((reg.exec(test) == null) && (reg2.exec(test) == null))
				{
					alert('Merge Template must be of file type ".htm" or ".html".\nIf your template is in MS Word format use "Save As.." and select "Web Page (*.htm, *.html)".');
					return false;
				}

				return true;
			}

			/* Search Form filters Javascript. */
			function loadSearchFilter(filterID)
			{
				var filter_content = document.getElementById(filterID).value;
				var contentArray = tokenize(filter_content, ',');

				for (var i = 1; i < contentArray.length; i++)
				{
					var currentElement = document.getElementById(contentArray[i].substring(0, contentArray[i].indexOf('=')));
					if (currentElement.type == "checkbox")
					{
						if (contentArray[i].substring(contentArray[i].indexOf('=') + 1)=="true")
						{
							currentElement.checked=contentArray[i].substring(contentArray[i].indexOf('=') + 1);
						}
						else
						{
							currentElement.checked=false;
						}
					}
					else
					{
						currentElement.value=contentArray[i].substring(contentArray[i].indexOf('=') + 1);
					}
				}
			}

			/* Tutor Form Javascript */
			function checkTutorCreateForm()
			{
				if (document.tutorCreateForm.title.value=='')
				{
					alert('Title is required');
					return false;
				}

				if (document.tutorCreateForm.firstname.value=='')
				{
					alert('Firstname is required');
					return false;
				}

				if (document.tutorCreateForm.lastname.value=='')
				{
					alert('Lastname is required');
					return false;
				}

				return true;
			}

			/* School Form Javascript */
			function checkSchoolCreateForm()
			{
				if (document.schoolCreateForm.rollnumber.value=='')
				{
					alert('RollNumber is required');
					return false;
				}
				/*
				if (document.schoolCreateForm.schoolusername.value=='')
				{
					alert('School Username is required');
					return false;
				}
				*/
				if (document.schoolCreateForm.schoolname.value=='')
				{
					alert('School Name is required');
					return false;
				}

				if (document.schoolCreateForm.stype.value=='')
				{
					alert('School Type is required');
					return false;
				}

				return true;
			}

			/* Course Form Javascript */
			function checkCourseCreateForm()
			{
				if (!testArrayOfTimes())
				{
					return false;
				}

				var selectedTutorArray = getArrayOfSelectedTutors();

				if (selectedTutorArray.length < 1)
				{
					alert('Please select a valid Tutor');
					return false;
				}
				else if ((selectedTutorArray.length == 1) && (selectedTutorArray[0] == ""))
				{
					alert('Please select a valid Tutor');
					return false;
				}

				if (document.courseCreateForm.coursename.value=='')
				{
					alert('Course Name is required');
					return false;
				}
/*
				if (document.courseCreateForm.coursegroup.value=='')
				{
					alert('Course Group is required');
					return false;
				}
*/
				if (document.courseCreateForm.enrolltype.value=='')
				{
					alert('Enrollment Type is required');
					return false;
				}

				if (document.courseCreateForm.coursevenue.value=='')
				{
					alert('Course Venue is required');
					return false;
				}
				
				var selectedAudienceArray = getArrayOfSelectedAudience();

				if (selectedAudienceArray.length < 1)
				{
					alert('Please select a valid Audience.');
					return false;
				}
				else if ((selectedAudienceArray.length == 1) && (selectedAudienceArray[0] == ""))
				{
					alert('Please select a valid Audience.');
					return false;
				}
				

				return true;
			}
			
			/* Associate Type form check */
			function checkAssociateTypeCreateForm() {
				if (document.associateTypeCreateForm.associatetypename.value=='') {
					alert('Associate Type Name is required');
					return false;
				}
				if (document.associateTypeCreateForm.seclevel.value=='') {
					alert('Security Level is required')
					return false;
				}
				return true;
			}

			function checkTime(dateTime)
			{
				var reg = new RegExp("^[0-9]{4}$");
				if (reg.exec(dateTime) == null)
				{
					return false;
				}

				return true;
			}

			function testArrayOfTimes()
			{
				for ( var i=0; i<30; i++ )
 				{
    				var dateTimeObj = eval("document.getElementById('coursetime[" + i + "]')");
    				if (dateTimeObj == null)
    				{
    					break;
    				}

    				if (!checkTime(dateTimeObj.value))
    				{
    					alert('Invalid time entry ' + (i+1) + '. Should be of type HHMM.');
    					return false;
    				}
 				}

				for ( var i=0; i<30; i++ )
 				{
    				var dateTimeObj = eval("document.getElementById('courseendtime[" + i + "]')");
    				if (dateTimeObj == null)
    				{
    					break;
    				}

    				if (!checkTime(dateTimeObj.value))
    				{
    					alert('Invalid end time entry ' + (i+1) + '. Should be of type HHMM.');
    					return false;
    				}
 				}

 				return true;
			}


	function addCourseDateTime() {
		var inputIndex = getNextCourseDateTimeID();
		var container = document.getElementById('inputContainer');

		var dayInput = window.document.createElement('select');
		dayInput.name = 'courseday[]';
		dayInput.id = 'courseday[' + inputIndex + ']';
		
        var monthInput = window.document.createElement('select');
        monthInput.name = 'coursemonth[]';
        monthInput.id = 'coursemonth[' + inputIndex + ']';

        var yearInput = window.document.createElement('select');
        yearInput.name = 'courseyear[]';
        yearInput.id = 'courseyear[' + inputIndex + ']';
       
        var timeInput = window.document.createElement('input');
        timeInput.type = 'text';
        timeInput.name = 'coursetime[]';
        timeInput.id = 'coursetime[' + inputIndex + ']';
        timeInput.size = 2;
        timeInput.maxLength = 4;

        var endTimeInput = window.document.createElement('input');
        endTimeInput.type = 'text';
        endTimeInput.name = 'courseendtime[]';
        endTimeInput.id = 'courseendtime[' + inputIndex + ']';
        endTimeInput.size = 2;
        endTimeInput.maxLength = 4;

        container.appendChild(dayInput);
        container.appendChild(monthInput);
        container.appendChild(yearInput);
        container.appendChild(timeInput);
        container.appendChild(endTimeInput);

        populateDate(inputIndex);
        populateTime(inputIndex);
        populateEndTime(inputIndex);

        var newBr = window.document.createElement('br');
        container.appendChild(newBr);
	}
	
	function getNextCourseDateTimeID()
	{
		var id = 0;

		while (eval("document.getElementById('courseday[" + id + "]')") != null)
		{
			id++;
		}

		return id;
	}
	
	
	function populateDate(inputIndex)
	{
		var temp = 0;
		var today = new Date();
		var day = today.getDate();
		var month = today.getMonth();
		var year = today.getFullYear();
		t2 = 5;

		/* Get day. */
		var dayObj = document.getElementById('courseday[' + inputIndex + ']');

		for (var i=0; i<31; i++)
		{
			var x = String(i+1);
			if (x.length < 2)
				x = '0' + x;
			dayObj.options[i] = new Option(x,x);
		}

		dayObj.options[day-1].selected=true;

		/* Get year. */
		var yearObj = document.getElementById('courseyear[' + inputIndex + ']');

		for (var i=0, j=year; i<t2; i++, j++)
		{
			var y = String(j);
			yearObj.options[i] = new Option(y,y);
		}

		/* Get month. */
		var monthObj = document.getElementById('coursemonth[' + inputIndex + ']');

		for (var ii=0; ii<12; ii++)
		{
			var m = String(ii+1);

			if (m.length < 2)
				m = '0' + m;

			monthObj.options[ii] = new Option(m,m);
		}

		monthObj.options[month].selected=true;
	}

	function populateTime(inputIndex)
	{
		var hour = String(new Date().getHours());
		hour = hour + '00';

		if (hour.length < 4)
		{
			hour = '0' + hour;
		}

		/* Get Time */
		var timeObj = document.getElementById('coursetime[' + inputIndex + ']');
		timeObj.value = hour;
	}

	function populateEndTime(inputIndex)
	{
		var hour = String(new Date().getHours());
		hour = hour + '00';

		if (hour.length < 4)
		{
			hour = '0' + hour;
		}

		/* Get Time */
		var timeObj = document.getElementById('courseendtime[' + inputIndex + ']');
		timeObj.value = hour;
	}


			function getArrayOfSelectedTutors()
			{
				var tutorObj = document.getElementById('tutorId');
				var selectedTutorsArray = new Array();
				var count = 0;

				for (var i=0; i<tutorObj.options.length; i++)
				{
					if (tutorObj.options[i].selected)
					{
						selectedTutorsArray[count] = tutorObj.options[i].value;
						count++;
					}
				}
				return selectedTutorsArray;
			}

			function checkCourseGroup()
			{
				if (document.courseCreateForm.coursegroup.value=='ICT')
				{
					document.courseCreateForm.coursecode.disabled=false;
				}
				else
				{
					document.courseCreateForm.coursecode.disabled=true;
				}
			}

			function addTutorToCourse(courseId)
			{
				var selectedTutorsArray = getArrayOfSelectedTutors();
				window.location = "tutorAddAction.php?return=courseEdit.php&courseID=" + courseId + "&tutorID=" + selectedTutorsArray[0];
			}

			function addTutor(tutorName, tutorIndex)
			{
				var tutorObj = window.document.getElementById('tutorId');
				tutorObj.options[tutorObj.length] = new Option(tutorName, tutorIndex);
				tutorObj.multiple=true;
			}

			function addVenue(venueName)
			{
				var venueObj = window.document.getElementById('coursevenue');
				venueObj.options[venueObj.length] = new Option(venueName, venueName);
				//venueObj.multiple=true;
			}

			/* Profile Form Javascript. */
			function checkProfileCreateForm()
			{
				if (document.profileCreateForm.firstname.value=='')
				{
					alert('Firstname is required');
					return false;
				}

				if (document.profileCreateForm.lastname.value=='')
				{
					alert('Lastname is required');
					return false;
				}

				/*if (document.profileCreateForm.username.value=='')
				{
					alert('Username is required');
					return false;
				}*/

				if (document.profileCreateForm.seclevel.value=='')
				{
					alert('Security level is required');
					return false;
				}

				if ((!document.profileCreateForm.ppsNumber.disabled) && (document.profileCreateForm.ppsNumber.value==''))
				{
					alert('PPS Number is required for users of security level Principal/Teacher');
					return false;
				}

				if ((!document.profileCreateForm.rollnumber.disabled) && (document.profileCreateForm.rollnumber.value==''))
				{
					alert('Roll Number is required for users of security level Principal/Teacher');
					return false;
				}

				if ((document.profileCreateForm.seclevel.value=='1') && (document.profileCreateForm.emailAddress.value==''))
				{
					alert('Email Address is required for users of security level Administrator');
					return false;
				}
				
				if ((document.profileCreateForm.seclevel.value=='0') && (document.profileCreateForm.emailAddress.value==''))
				{
					alert('Email Address is required for users of security level Super Admin');
					return false;
				} 

				return true;
			}

			/* Accont Form Javascript. */
			function checkAccountCreateForm()
			{
				if (document.accountCreateForm.firstname.value=='')
				{
					alert('Firstname is required.');
					return false;
				}

				if (document.accountCreateForm.lastname.value=='')
				{
					alert('Lastname is required.');
					return false;
				}

				if (document.accountCreateForm.ppsNumber.value=='')
				{
					alert('PPS Number is required');
					return false;
				}
/*
				if (document.accountCreateForm.School.value=='')
				{
					alert('The School is required.');
					return false;
				}
*/
				if (document.accountCreateForm.rollnumber.value=='')
				{
					alert('Roll Number is required.');
					return false;
				}

				if (document.accountCreateForm.emailAddress.value=='')
				{
					alert('Email Address is required.');
					return false;
				}

				if (!document.accountCreateForm.checkbox.checked)
				{
					alert('Please read the Terms And Conditions.');
					return false;
				}

				return true;
			}

			function checkSecLevel()
			{
				var ctrlSecLevel = document.getElementById('seclevel');
				var ctrlPpsNumber = document.getElementById('ppsNumber');
				var ctrlRollNumber = document.getElementById('rollnumber');
				
				if (ctrlSecLevel.value=='2' || ctrlSecLevel.value=='3')
				{
					ctrlPpsNumber.disabled=false;
					ctrlRollNumber.disabled=false;
				}
				else
				{
					ctrlPpsNumber.disabled=true;
					ctrlRollNumber.disabled=true;
				}
			}
			
			function checkAssociateType()
			{
				var ctrlAssociateType = document.getElementById('associateType');
				var ctrlPpsNumber = document.getElementById('ppsNumber');
				
				if (ctrlAssociateType.value !='')
				{
					if ('0' == ctrlAssociateType.value.substring(2)) {
						ctrlPpsNumber.disabled=true;
					}
					else {
						ctrlPpsNumber.disabled=false;
					}
				}
				else
				{
					ctrlPpsNumber.disabled=false;
				}
			}
			
			function checkAssociateCreateForm()
			{
				if (document.associateCreateForm.title.value == '  ')
				{
					alert("Title is required");
					return false;
				}
				if (document.associateCreateForm.firstname.value == '')
				{
					alert("Firstname is required");
					return false;
				}
				if (document.associateCreateForm.lastname.value == '')
				{
					alert("Lastname is required");
					return false;
				}
				if (document.associateCreateForm.associateType.value == '')
				{
					alert("Associate Type is required");
					return false;
				}
				if ('1' == document.associateCreateForm.associateType.value.substring(2) && document.associateCreateForm.ppsNumber.value == '')
				{
					alert("PPS Number is required for this associate type");
					return false;
				}
				if (document.associateCreateForm.rollnumber.value == '') 
				{
					alert("School roll number is required");
					return false;
				}
				return true;
			}
			
			function checkAssocTypePpsnAllowed()
			{
				if ('0' == document.profileUpdateAction.associatetype.value.substring(2)) {
					if (document.profileUpdateAction.ppsNumber.value != '') {
						alert("PPS number is not allowed for this associate type");
					}
					document.profileUpdateAction.ppsnallowed.value = '0';
				}
				else {
					document.profileUpdateAction.ppsnallowed.value = '1';
					document.profileUpdateAction.ppsNumber.disabled = false;
				}
			}
			
			/* General Javascript. */
			function pop(url)
			{
				newwindow=window.open(url,"Terms And Conditions","height=200,width=150");

				if (window.focus)
				{
					newwindow.focus();
				}

				return false;
			}

			function firstWindow()
			{
				ElementWindow = window.open('termsAndConditions.php','TermsAndConditions','width=602,height=425,scrollbars=yes');
			}

			function createTutorWindow()
			{
				ElementWindow = window.open('tutorCreateWindow.php','CreateATutor','width=502,height=780');
			}

			function createVenueWindow()
			{
				ElementWindow = window.open('venueCreateWindow.php','CreateAVenue','width=502,height=325');
			}

			function createFilterWindow()
			{
				ElementWindow = window.open('filterCreateWindow.php','CreateAFilter','width=502,height=325');
			}

			function courseCalendarWindow()
			{
				ElementWindow = window.open('courseCalendarWindow.php','AddADate','width=502,height=325');
			}

			function courseWaitlistWindow(courseid)
			{
				ElementWindow = window.open('courseWaitlistWindow.php?courseid=' + courseid,'AddToWaitlist','width=502,height=325');
			}

			function printTableWindow(cquery)
			{
				ElementWindow = window.open('printTableWindow.php?cquery=' + cquery,'PrintTable','width=650,height=400');
			}

			function tokenize(inputString, deliminatorString)
			{
				var returnValue = new Array();
				returnValue = inputString.split(deliminatorString);
				return returnValue;
			}
			
			function getArrayOfSelectedAudiences()
			{
				var audienceObj = document.getElementById('audienceId');
				var selectedAudienceArray = new Array();
				var count = 0;

				for (var i=0; i<audienceObj.options.length; i++)
				{
					if (audienceObj.options[i].selected)
					{
						selectedAudienceArray[count] = audienceObj.options[i].value;
						count++;
					}
				}
				return selectedAudienceArray;
			}			
			
			function addAudienceToCourse(courseId)
			{
				var selectedAudiencesArray = getArrayOfSelectedAudiences();
				window.location = "audienceAddAction.php?return=courseEdit.php&courseID=" + courseId + "&audienceID=" + selectedAudiencesArray[0];
			}
			
            function limitTextArea(limitField, limitCount, limitNum) {	
	
	          if (limitField.value.length > limitNum) {		
		        limitField.value = limitField.value.substring(0, limitNum);		
	          } else {		
		        limitCount.value = limitNum - limitField.value.length;
	          }
           }			
           
			function getArrayOfSelectedAudience()
			{
				var AudienceObj = document.getElementById('audienceId');
				var selectedAudienceArray = new Array();
				var count = 0;

				for (var i=0; i<AudienceObj.options.length; i++)
				{
					if (AudienceObj.options[i].selected)
					{
						selectedAudienceArray[count] = AudienceObj.options[i].value;
						count++;
					}
				}
				return selectedAudienceArray;
			}
           
			function addLevelToCourse(courseId)
			{
				var selectedAudiencesArray = getArrayOfSelectedLevels();
				window.location = "levelAddAction.php?return=courseEdit.php&courseID=" + courseId + "&levelID=" + selectedAudiencesArray[0];
			}
			
			function getArrayOfSelectedLevels()
			{
				var LevelObj = document.getElementById('levelId');
				var selectedLevelArray = new Array();
				var count = 0;

				for (var i=0; i<LevelObj.options.length; i++)
				{
					if (LevelObj.options[i].selected)
					{
						selectedLevelArray[count] = LevelObj.options[i].value;
						count++;
					}
				}
				return selectedLevelArray;
			}
			
			
			function addGroupToCourse(courseId)
			{
				var selectedGroupArray = getArrayOfSelectedGroups();
				window.location = "groupAddAction.php?return=courseEdit.php&courseID=" + courseId + "&groupID=" + selectedGroupArray[0];
			}
			
			function getArrayOfSelectedGroups()
			{
				var GroupObj = document.getElementById('groupId');
				var selectedGroupArray = new Array();
				var count = 0;

				for (var i=0; i<GroupObj.options.length; i++)
				{
					if (GroupObj.options[i].selected)
					{
						selectedGroupArray[count] = GroupObj.options[i].value;
						count++;
					}
				}
				return selectedGroupArray;
			}
			
			function checkLevelTypeCreateForm() {
				if (document.levelTypeCreateForm.leveltypename.value=='') {
					alert('Level Name is required');
					return false;
				}
				if (document.levelTypeCreateForm.seclevel.value=='') {
					alert('Security Level is required')
					return false;
				}
				return true;
			}

			function checkGroupTypeCreateForm() {
				if (document.groupTypeCreateForm.grouptypename.value=='') {
					alert('Group Name is required');
					return false;
				}
				if (document.groupTypeCreateForm.seclevel.value=='') {
					alert('Security Level is required')
					return false;
				}
				return true;
			}

function selection_post() {

	this.gOldTotal = 0;
	this.gOldValue = 0;

	this.PrepareEdit = function(pInput) {
		this.gOldValue = parseFloat(pInput.value);
		var vTotalElement = document.getElementById("NewTotal");
		if (vTotalElement) {
			this.gOldTotal = parseFloat(vTotalElement.value);
		}
	}

	this.FinishEdit = function(pInput) {
		if ( this.ValidateNumber(pInput) ) {
			var vDiff = parseFloat(pInput.value) - this.gOldValue;
			var vNewTotal = this.gOldTotal + vDiff;
			//this.SetTotalValue(vNewTotal);
		} else {
			//this.SetTotalValue(this.gOldTotal);
		}
	}


	this.ValidateNumber = function(pBox, pOldVal) {
		var vRetval = true;
		if (isNaN(pBox.value) == true) {
			alert(pBox.value + " is not a valid number.  Please re-enter");
			if (pOldVal == null) pOldVal = "";
			pBox.value = pOldVal;
			pBox.select();
			pBox.focus();
			vRetval = false;
		}
		if (pBox.value == "") {
			pBox.value = "0.00";
		} else if (pBox.value.indexOf('.') == -1) {
			pBox.value = pBox.value + ".00";
		} else if ((pBox.value.substring(pBox.value.indexOf('.') + 1, pBox.value.length)).length == 0) {
			pBox.value = pBox.value + "00";
		} else if ((pBox.value.substring(pBox.value.indexOf('.') + 1, pBox.value.length)).length == 1) {
			pBox.value = pBox.value + "0";
		}
		return (vRetval);
	}

	this.checkNumber = function(pBox, pBoxid) {
		iCurrTitle = 0;
		if (pBox.value.indexOf('.') != -1) {
			if ((pBox.value.substring(pBox.value.indexOf('.') + 1, pBox.value.length)).length == 2) { // ready to move to next line
				if (this.ValidateNumber(pBox, this.gOldValue)) {
					var InputVar = document.getElementById('amt' + (pBoxid + 1));
					if (InputVar) {
						InputVar.select();
						InputVar.focus();
					}
				}
			}
		}
		return(true);
	}
}			


var course = new selection_post();
			
