<!--
// Ver 3.07
// 2011 Oct 10
// basket side

// JavaScript Document
// prototype functions

// pseudo bg fade

function fadeBackgroundIn(strID, strColor) {
	$(strID).fadeTo("slow",0.3, function () {
		$(this).css("background-color", strColor);
		$(this).fadeTo("slow", 1);
	});
}

// online

function onlineCourse(intID) {
	$('#onlineClassBuy' + intID).html('<img src="/images/ajax-loader-small.gif" />');
	$('#rowOnlineClass' + intID).fadeTo("slow", 0.3);
	getAjaxGeneral('', '', 'onlineclass', 'id=' + intID, '');
}

// reveal / hide id depending on checkbox

function showOnCheckboxChange(strID, chkBox) {
	if (chkBox.checked == true) {
		$('#' + strID).slideDown('slow');
	}
	else {
		$('#' + strID).slideUp('slow');
	}
}

// process fields for friend referral

function friendReferral() {
	$('#formApply').append('<img src="/images/ajax-loader.gif" alt="Waiting" />');
	$('#form1').fadeOut('slow').delay(200).slideUp('slow');
	getAjaxGeneral('', '', 'referral', $('#form1').serialize(), '');
}

// popup for friend referal

function referralPopUp(strID, strVerify) {
	$.fn.colorbox({href:'/contact/referral-application.asp?studentid=' + strID + '&verify=' + strVerify, transition:'fade', width: '650px', height: '550px'});
}

// remove an ID

function removeID(strID) {
	$('#' + strID).remove();
}

// add email addresses
function addEmail() {
	intNumbersEmailAddresses++;
	$('#emailAddress').append('<div id="extraEmail' + intNumbersEmailAddresses + '"><input type="text" name="emailto' + intNumbersEmailAddresses + '" value="" id="emailto' + intNumbersEmailAddresses + '" class="fieldWidth required email" style="margin-top: 9px;" /> <a href="javascript: removeID(\'extraEmail' + intNumbersEmailAddresses + '\');"><img src="/images/icons/students-cancel.jpg" alt="Remove" /></a></div>');
}

// add check for inArray to see if element present in an array
 
Array.prototype.inArray = function(value){
  var i;
  var intLength = this.length;
  for(i=0; i < intLength; i++){
    if(this[i] == value)
      return true;
  };
  return false;
}; 

// summer totals and updates.

function checkAfternoons() {
	var intChosenReturn = 1;
	var intChosen = 0;
	$('.courseNumber').each(function(index) {
		intCourseID = $(this).val();
		// see if afternoons compulsory
		if (arrCourses['Course' + intCourseID].AfternoonClassRequired == 1) {
			if ($('#CourseSubject' + intCourseID).val() > 0 || 
					$('#CourseRadio' + intCourseID).val() > 0 || 
					$('#CourseCheckBox' + intCourseID).attr('checked') == true ) { // course chosen
					
					// check if an afternoon checked
					intChosen = 0;
					$('.PackageAfternoon' + intCourseID).each(function(index) {
						intAfternoonID = $(this).attr('value');
						if ($(this).attr('checked')) {
							intChosen = 1;
						}
					})
					// check academic class
					intAfternoonID = $('#AfternoonAcademicSelect' + intCourseID).val();
					if (intAfternoonID > 0) {
						intChosen = 1;
					}
					if (intChosen == 0) {
						intChosenReturn = 0;
					}
			}
		}
	});
	return intChosenReturn;
}

// format table rows for basket
function formatTableRowBasket(strLeft, strRight, strRowID) {
	return('<tr id="' + strRowID + '"><td class="alignLeft">' + strLeft + '</td><td class="alignRight">' + strRight + '</td></tr>');
}

// remove afternoon choices
function removeAfternoonChoices(intCourseID) {
	
	$('.PackageAfternoon' + intCourseID).each(function(index) {
		intAfternoonID = $(this).attr('value');
		if ($(this).attr('checked')) {
			$(this).attr('checked', '')
		}
		else {
			$('#PackageAfternoonRow' + intCourseID + intAfternoonID).show();
		}
	});
	$('#AfternoonAcademicSelect' + intCourseID).val(0);
	$('#CourseAfternoonAcademic' + intCourseID).show();
	$('#AfternoonOptions' + intCourseID).slideUp('slow');
}

// format costs for all courses

function showCourseTotalsAfternoons() {
	// cycle through all the courses
	var intCourseID = 0;
	var intCount = 0;
	var dblCourseCost = 0;
	var dblCourseCostAccomm = 0;
	var dblOptionsCost = 0;
	var dblActivityCost = 0;
	var strTable = '';
	var strAfternoons = '';
	var intAfternoonID = 0;
	var strTemp = '';
	var dblExtraCost = 0;
	var dblEnsuite = 0;
	var dblNights = 0;
	var intFirstCourse = 0;
	var intLastCourse = 0;
	var intRoomShare = 0;
	var intRoomSingle = 0;
	var intAccommChoice = 0;
	var intAccommChosenThisCourse = 0;
	var objDateStart;
	var objDateEnd;
	var objDateStartExtra;
	var objDateStartExtraResult;
	var objDateEndExtra;
	var objDateEndExtraResult;
	var objDateTemp;
	var datStart;
	var datEnd;
	var datStartExtra;
	var datEndExtra;
	
	objDateStartExtra = new Date(2020, 1, 1);
	objDateEndExtra = new Date(2000, 1, 1);
	
	if (typeof(objEvent) !== 'undefined') {
		intAccommChoice = objEvent.accommChoice;
	}
	
	// remove basket
	$('#sideTotals').html('');
	
	// get ensuite accomm values first
	intChoice = parseFloat($('input:radio[name=Ensuite]:checked').val());
	
	// courses
	$('.courseNumber').each(function(index) {
		intCourseID = $(this).val();
		if (intAccommChoice == 1) {
			intAccommChosenThisCourse = ($('#CourseAccommChoice' + intCourseID).attr('checked') == true ? 1 : 0);
		}
		//alert(intCourseID + ' ' + arrCourses['Course' + intCourseID].Tour + ' attr: ' + $('#CourseCheckBox' + intCourseID).attr('checked'));
		if ($('#CourseSubject' + intCourseID).val() > 0 || 
				$('#CourseRadio' + intCourseID).val() > 0 || 
				$('#CourseCheckBox' + intCourseID).attr('checked') == true ) { // course chosen
			
			// see if room share
			if (arrCourses['Course' + intCourseID].RoomShare == 1) {
				intRoomShare = 1;
			}
			else {
				intRoomSingle = 1;
			}
			// get dates for first / last night on the first course in the series
			 if (intCount == 0) { // first course
				 intFirstCourse = intCourseID;
				 datStart = arrCourses['Course' + intCourseID].CourseStartNight;
				 datEnd = arrCourses['Course' + intCourseID].CourseEndNight;
				 objDateStart = new Date(datStart);
		 		 objDateEnd = new Date(datEnd);
				 
				 // see if this course has selectable accomm
				 if (intAccommChoice == 1) {
				 	if (intAccommChosenThisCourse == 1) { // has accomm benn turned on?
						datStartExtra = arrCourses['Course' + intCourseID].CourseStartNightExtra;
						datEndExtra = arrCourses['Course' + intCourseID].CourseEndNight;
						objDateStartExtra = new Date(datStartExtra);
		 		 	  objDateEndExtra = new Date(datEnd);
					}
				 }
				 else {
					 datStartExtra = arrCourses['Course' + intCourseID].CourseStartNightExtra;
					 objDateStartExtra = new Date(datStartExtra);
		 		 	 objDateEndExtra = new Date(datEnd);
					 datEndExtra = datEnd;
				 }
			 } 
			 else { // not the first course so see if values
				 objDatTemp = new Date(arrCourses['Course' + intCourseID].CourseStartNight);
				 if (objDateStart > objDatTemp) { // reset start date if less than previous
					 datStart = arrCourses['Course' + intCourseID].CourseStartNight;
					 objDateStart = new Date(datStart);
				 }
				 // if accomm selectable
				 if (intAccommChoice == 1) {
				 	if (intAccommChosenThisCourse == 1) {
						if (objDatTemp < objDateStartExtra) {
							datStartExtra = arrCourses['Course' + intCourseID].CourseStartNightExtra;
							objDateStartExtra = new Date(datStartExtra);
						}
					}
				 }
				 else {
					 datStartExtra = arrCourses['Course' + intCourseID].CourseStartNightExtra;
					 objDateStartExtra = new Date(datStartExtra);
				 }
				 
				 objDatTemp = new Date(arrCourses['Course' + intCourseID].CourseEndNight);
				 if (objDatTemp > objDateEnd) { // reset end date if greater than previous
					 datEnd = arrCourses['Course' + intCourseID].CourseEndNight;
					 objDateEnd = new Date(datEnd);
				 }
				 // if accomm selectable
				 if (intAccommChoice == 1) {
				 	if (intAccommChosenThisCourse == 1) {
						if (objDatTemp > objDateEndExtra) {
							datEndExtra = arrCourses['Course' + intCourseID].CourseEndNight;
							objDateEndExtra = new Date(datEndExtra);
						}
					}
				 }
				
			 }
			 if (arrCourses['Course' + intCourseID].CourseClassification  != 2) {
				 intLastCourse = intCourseID;
			 }
			// get costs
			dblCourseCost += parseFloat($('#CourseCost' + intCourseID).val());
			if (intAccommChoice == 1) {
				if ($('#CourseAccommChoice' + intCourseID).attr('checked') == true) {
					dblCourseCostAccomm += parseFloat($('#CourseCostAccomm' + intCourseID).val());
				}
			}
			else {
				dblCourseCostAccomm += parseFloat($('#CourseCostAccomm' + intCourseID).val());
			}
			
			// work out ensuite costs
			if (intChoice == 3) { 
				dblEnsuite += arrCourses['Course' + intCourseID].CourseCostEnSuite * arrCourses['Course' + intCourseID].CourseNights;
				dblNights += arrCourses['Course' + intCourseID].CourseNights;
		  }
			
			// check for any afternoon options
			$('.PackageAfternoon' + intCourseID).each(function(index) {
				intAfternoonID = $(this).attr('value');
				if ($(this).attr('checked')) {
					strAfternoons += formatTableRowBasket($('#PackageName' + intCourseID + intAfternoonID).val(), 
														strCurrencySymbol + $('#PackageCost' + intCourseID + intAfternoonID).val(), 
														'basketOption' + intCourseID);
					dblOptionsCost += parseFloat($('#PackageCost' + intCourseID + intAfternoonID).val());
				}
			})
			// check academic class
			intAfternoonID = $('#AfternoonAcademicSelect' + intCourseID).val();
			if (intAfternoonID > 0) {
				strAfternoons += formatTableRowBasket(arrCourseOption['courseAcademic' + intCourseID]['class' + intAfternoonID].subject, 
														strCurrencySymbol + arrCourseOption['courseAcademic' + intCourseID]['class' + intAfternoonID].cost, 
														'basketOption' + intCourseID);
				dblOptionsCost += arrCourseOption['courseAcademic' + intCourseID]['class' + intAfternoonID].cost;
			}
			if (arrCourses['Course' + intCourseID].SubCourse == 0) {
				intCount++;
			}
		}
	});
	
	// update start / end values on page
	if (intCount == 0) {
		 $('#extraNights').slideUp('slow');
	 }
	 else {
		 $('#extraNights').slideDown('slow');
		 if ($('#extraNightFirstChoice').is(':checked')) {
		 	$('.courseNightFirst').html(datStartExtra);
		 }
		 else {
		 	$('.courseNightFirst').html(datStart);
		 }
		 if ($('#extraNightLastChoice').is(':checked')) {
		 	 $('.courseNightLast').html(datEnd);
		 }
		 else {
		 	$('.courseNightLast').html(datEnd);
		 }
		 
		 objDateStartExtraResult = new Date(datStartExtra);
		 objDateStart = new Date(datStart);
		 objDateEnd = new Date(datEnd);
		 
		 if (intAccommChoice == 1) {
			 objDateTemp = new Date(2019, 1, 1);
			 if (objDateStartExtra > objDateTemp) {
				 $('.extraNightFirst').html('--');
				 $('#extraNightFirstChoice').attr('checked', false);
			 }
			 else {
				 $('.extraNightFirst').html(objDateStartExtra.format('l jS F Y'));
			 }
			 objDateTemp = new Date(2001, 1, 1);
		 	 if (objDateEndExtra < objDateTemp) {
				 $('.extraNightLast').html('--');
				 $('#extraNightLastChoice').attr('checked', false);
			 }
			 else {
				 $('.extraNightLast').html(objDateEndExtra.format('l jS F Y'));
			 }
			 
		 }
		 else {
			 $('.extraNightFirst').html(objDateStartExtraResult.format('l jS F Y'));
			 $('.extraNightLast').html(objDateEnd.format('l jS F Y'));
		 }
		 // get earlier arrival date
		 if ($('#extraNightFirstChoice').is(':checked')) {
			 if (typeof(objDateStartExtraResult) === 'undefined') {
				$('#courseArrivalDate').html('--');
			 }
			 else { 
			 	 if (objDateStartExtra < objDateStart) {
					 $('#courseArrivalDate').html(objDateStartExtra.format('l jS F Y'));
				 }
				 else {
					$('#courseArrivalDate').html(objDateStart.format('l jS F Y'));
				 }
					 
				 }
		 }
		 else {
		 	$('#courseArrivalDate').html(objDateStart.format('l jS F Y'));
		 }
		 // set leaving date if extra night
		 if ($('#extraNightLastChoice').is(':checked')) {
			objDateEnd.addDays(1);
			$('#courseDepartureDate').html(objDateEnd.format('l jS F Y'));
		 }
		 else {
		 	$('#courseDepartureDate').html(objDateEnd.format('l jS F Y'));
		 }
		 $('#extraNightFirstChoiceDate').val(datStartExtra);
		 $('#extraNightLastChoiceDate').val(datEnd);
	 }
	
	// activities
	$('.ActivityChoice').each(function(index) {
		if ($(this).attr('checked')) {
			dblActivityCost += parseFloat($('#ActivityCost' + $(this).attr('value')).val());
			strAfternoons += formatTableRowBasket($('#ActivityDescription' + $(this).attr('value')).val(), 
												strCurrencySymbol + $('#ActivityCost' + $(this).attr('value')).val(), 
												'basketOption' + $(this).attr('value'));
			$('#ActivityRow' + $(this).attr('value')).css('background', '#CBEDA9');
		}
		else {
			$('#ActivityRow' + $(this).attr('value')).css('background', '#ffffff');
		}
	});
	
	// other afternoon options (one to ones)
	var intAfternoonSessionID = 0;
	$('.AfternoonSession').each(function(index) {
		intAfternoonSessionID = $(this).attr('value');
		if ($(this).attr('checked')) {
			
			dblActivityCost += parseFloat($('#AfternoonSessionCost' + intAfternoonSessionID).val());
			strAfternoons += formatTableRowBasket($('#AfternoonSessionSubject' + intAfternoonSessionID).val(), 
												strCurrencySymbol + $('#AfternoonSessionCost' + intAfternoonSessionID).val(), 
												'basketOption' + intAfternoonSessionID);
			$('#AfternoonSessionRow' + intAfternoonSessionID).css('background', '#CBEDA9');
		}
		else {
			$('#AfternoonSessionRow' + intAfternoonSessionID).css('background', '#ffffff');
		}
	});
	
	// extra nights
	var dblEnsuiteCost = 0;
	var dblExtraNightCost = 0;
	$( ".extraNightChange" ).each(function (i) {
		strFieldName = $( this ).attr('name');
		if ($(this).is(':checked')) {
			dblExtraNightCost = 0;
			dblEnsuiteCost = 0;
			if (strFieldName == 'extraNightFirstChoice') {
				if (intChoice == 3) { // ensuite is chosen		
					dblEnsuiteCost = arrCourses['Course' + intFirstCourse].CourseCostEnSuite;
				}
				dblExtraNightCost = arrCourses['Course' + intFirstCourse].ExtraNightCost;
			}
			else {
				if (intChoice == 3) { // ensuite is chosen
					dblEnsuiteCost = arrCourses['Course' + intLastCourse].CourseCostEnSuite;
				}
				dblExtraNightCost = arrCourses['Course' + intLastCourse].ExtraNightCost;
			}
			
			strAfternoons += formatTableRowBasket('Extra night ' + (strFieldName.indexOf('First') > 0 ? ' start' : ' end'), 
												strCurrencySymbol + (dblExtraNightCost + dblEnsuiteCost), 
												'extra');
			dblExtraCost += dblExtraNightCost + dblEnsuiteCost;
			//dblEnsuite += parseFloat($('#' + strFieldName + 'Ensuite').val());
			//dblNights++;
		}
	})
	
	// room share
	if (intRoomShare == 1) {
		$('#roomShareInfo').slideDown('slow');
		$('#sharingQuestion').slideDown('slow');
	}
	else {
		$('#roomShareInfo').slideUp('slow');	
		$('#sharingQuestion').slideUp('slow');
	}
	if (intRoomSingle > 0) {
		// remove values and hide as no room share courses
		$('#roomSingleInfo').slideDown('slow');
	}
	else {
		$('#roomSingleInfo').slideUp('slow');
	}
	// totals
	var dblTotal = dblCourseCost + dblCourseCostAccomm + dblOptionsCost + dblActivityCost + dblExtraCost;
	strTable += formatTableRowBasket('Courses x ' + intCount, strCurrencySymbol + dblCourseCost, 'basketCourses') + 
							formatTableRowBasket('Accommodation', strCurrencySymbol + dblCourseCostAccomm, 'basketCoursesAccomm') +
							(dblEnsuite > 0 ? formatTableRowBasket('Ensuite', strCurrencySymbol + dblEnsuite, 'basketCourses') : '') +
							strAfternoons +
							formatTableRowBasket('<strong>Total</strong>', strCurrencySymbol + dblTotal, 'basketCoursesTotal')
							;
	// show basket
	$('#sideTotals').css('display', 'none');
	$('#sideTotals').html('<h3 class="HeadingBlockOSC alignLeft padAbove textCyan"><img src="/images/icons/shopping-basket.png" alt="Your purchases" align="right" /> ' +
													'Your purchases</h3><table class="basketSide">' + strTable + '</table>');
	$('#sideTotals').fadeIn('slow');
}

// alter display of room share

function roomShareUpdate() {
	
	if ($('#roomShare').attr('checked') == true) {
		$('#sharingFriends').slideDown('slow');	
	}
	else {
		$('#roomShare').attr('checked', '');
		$( ".radioFriend" ).each(function(i) {
			$(this).attr('checked', '');
		});
		$('#sharingFriends').slideUp('slow');	
	}
}

// update values when course selected

function updateApplicationTotals(intCourseID) {
var intAccommChoice = 0;

	if (typeof(objEvent) !== 'undefined') {
		intAccommChoice = objEvent.accommChoice;
	}
		
	// check if course is chosen
	// hide or reveal the afternoon options beneath
	var intConcurrent = 0;
	// process course choices
	if ($('#CourseSubject' + intCourseID).val() > 0 || $('#CourseCheckBox' + intCourseID).attr('checked') == true) {
		
		$('#tableRowHeading' + intCourseID).css('background', '#CBEDA9');
		$('#AfternoonOptions' + intCourseID).fadeIn('slow');
		
		// remove concurrent course if present
		if (arrCourses['Course' + intCourseID].Concurrent > 0) {
			intConcurrent = arrCourses['Course' + intCourseID].Concurrent;
			// deselect concurrent course
			$('#CourseSubject' + intConcurrent).val(0);
			$('#tableRowHeading' + arrCourses['Course' + intCourseID].Concurrent).css('background', '#CBEDA9');
			// deselect afternoons
			removeAfternoonChoices(intConcurrent);
		}		
		// show accomm option if choice
		$('#CourseAccomm' + intCourseID).show('slow');
	}
	else {
		
		if ((arrCourses['Course' + intCourseID].Concurrent > 0)) { 
		
			if ($('#CourseSubject' + arrCourses['Course' + intCourseID].Concurrent).val() > 0) {
				$('#tableRowHeading' + arrCourses['Course' + intCourseID].Concurrent).css('background', '#CBEDA9');
			}
			else {
				$('#tableRowHeading' + arrCourses['Course' + intCourseID].Concurrent).css('background', '#ffffff');
			}
		
		}
		
		$('#tableRowHeading' + intCourseID).css('background', '#ffffff');
		
		$('#AfternoonOptions' + intCourseID).fadeOut('slow');
		removeAfternoonChoices(intCourseID);
		
		// show accomm option if choice
		$('#CourseAccomm' + intCourseID).hide('slow');
		$('#CourseAccommChoice' + intCourseID).attr('checked', false);
	} // end course set check
	if (arrCourses['Course' + intCourseID].Tour == 0) {
		checkActivities();
	}
	
	showCourseTotalsAfternoons();
	
	if ($('#CourseSubject236').val() > 0 && $('#CourseCheckBox247').attr('checked') == true) {
		alert('The UAC cannot be taken with Course 2. Please change your selection'); 
	 }
}

// when activity changed update values

function checkActivities() {
	var intActivityID = 0;
	var objRecord = '';
	var bolShow = false;
	var strOutput = '';
	var intFirst = 0;
	var intSecond = 0;
	$('.ActivityChoice').each(function(index) {
		intActivityID = $(this).val();
		bolShow = false;
		for (var i = 0; i < objActivities['Activity' + intActivityID].length; i++) {
			intFirst = objActivities['Activity' + intActivityID][i].first;
			intSecond = objActivities['Activity' + intActivityID][i].second;
			if (intFirst > 0 && intSecond == 0) {
				if ($('#CourseSubject' + intFirst).val() > 0) {
					bolShow = true;
					
				}
			}
			if (intFirst > 0 && intSecond > 0) {
				if ($('#CourseSubject' + intFirst).val() > 0 && $('#CourseSubject' + intSecond).val() > 0) {
					//alert('double: ' + intFirst + ' ' + $('#CourseSubject' + intFirst).val() + ' ' + intSecond + ' ' + $('#CourseSubject' + intSecond).val());
					bolShow = true;
				}
			}
		} // end for
		if (bolShow) {
			$('#ActivityRow' + intActivityID).fadeIn('slow');
		}
		else {
			$('#ActivityRow' + intActivityID).fadeOut('slow');
			$('#ActivityChoice' + intActivityID).attr('checked', '');
		}
	});
}

// fired when activity is checked / unchecked

function checkActivityChange() {
	showCourseTotalsAfternoons();
}

// fired when afternoon session is checked / unchecked

function afternoonSessions() {
	showCourseTotalsAfternoons();
}

// change sessions

function updateSessions(intCourseID, intAfternoonID) {
	if (!$(this).attr('checked')) {
		
	}
}

// change packages

function updateApplicationTotalsPackage(intCourseID, intAfternoonID) {
	
	var intValue = 0;
	// check each radio button for the course
	$('.PackageAfternoon' + intCourseID).each(function(index) {
		intValue = $(this).attr('value');
		//$('#sideTotals').append('<p>Check: .PackageAfternoon' + intCourseID + ' ' + intValue + ' ' + $(this).attr('checked') + '</p>');
		
		if (!$(this).attr('checked')) {
			$('#PackageAfternoonRow' + intCourseID + intValue).fadeOut('slow');
			//$('#sideTotals').append('<p>HIDE: #PackageAfternoonRow' + intCourseID + intValue + '</p>');
		}
	});
	$('#CourseAfternoonAcademic' + intCourseID).fadeOut('slow');
	$('#MakeAnotherChoice' + intCourseID).fadeIn('slow');
	
	showCourseTotalsAfternoons();
}

// update page when academic options chosen
function updateApplicationTotalsAcademic(intCourseID) {
	
	$('.PackageAfternoon' + intCourseID).each(function(index) {
		$(this).attr('checked', '');
		$('#PackageAfternoonRow' + intCourseID + $(this).attr('value')).fadeOut('slow');
	});
	$('#MakeAnotherChoice' + intCourseID).fadeIn('slow');
	
	showCourseTotalsAfternoons();
}

// show all afternoon options for the course after a choice has been made
function afternoonChoicesShowAll(intCourseID) {
	$('.PackageAfternoon' + intCourseID).each(function(index) {
		$(this).attr('checked', '')
		$('#PackageAfternoonRow' + intCourseID + $(this).attr('value')).fadeIn('slow');
	});
	$('#CourseAfternoonAcademic' + intCourseID).fadeIn('slow');
	$('#AfternoonAcademicSelect' + intCourseID).val(0);
	$('#MakeAnotherChoice' + intCourseID).fadeOut('slow');
	
	showCourseTotalsAfternoons();
}


// other functions

function getPopUp() {
	$.fn.colorbox({href:'/includes/pop-ups/summer-courses.asp', transition:'fade', width: '650px', height: '600px'});
}

function showPanel(strHide, strShow, strMethod) {
	
	$('.hideBlock').css('display', 'none');
	$('#summerCoursesUK').css('display', 'none');
	$('#summerCoursesUSA').css('display', 'none');
	$('#summerCoursesCanada').css('display', 'none');
	
	$('#' + strHide).css('display', 'none');
	$('#' + strShow).slideDown('slow');	
}

function getStudentSubjectSave(intID) {

	// alert(intID + ' ' + $('#subjectRowGradeEdit' + intID).val() + ' ' + $('#subjectRowDateEdit' + intID).val());
	
	$('#subjectRequestMessage').html('<img src="/images/ajax-loader-small.gif" />');
	
	getAjaxGeneral('saveStudentSubjectRequest', '', 'saveStudentSubjectRequest', 
				   'studentid=' + intID + '&subject=' + $('#subjectRowSubjectEdit' + intID).val() + '&grade=' + $('#subjectRowGradeEdit' + intID).val() + 
				   '&date=' + $('#subjectRowDateEdit' + intID).val(), '/students/ajax-students.asp');
}

//************************************************************

function cancelStudentSubjectSave(intID, strSubject, strGrade, strGradeDate) {
	
	$('#subjectRowSubject' + intID).html(strSubject);
	$('#subjectRowDate' + intID).html(strGradeDate);
	$('#subjectRowGrade' + intID).html(strGrade);
	$('#subjectRowEdit' + intID).html('<a href="javascript: getStudentSubjectEditAjax(' + intID + ')"><img src="/images/buttons/button-edit.jpg" /></a>');
}

//************************************************************

function getPreviousStudent() {
	$('#previousMessage').html('');
	var strPass = $('#returnPassword').val();
	if (strPass.length > 0) {
		$('#previousMessageWaiting').html('<img src="/images/ajax-loader-small.gif" />');
		getAjaxGeneral('', '', 'getPrevious', 
									'file=' + strPass, '/students-test/ajax-students.asp');
	}
	else {
		$('#previousMessage').html('<p class="textRed">Please enter a password</p>');
	}
	return false;
}

//************************************************************

function getStudentSubjectEditAjax(intID) {
	
	$('#subjectRequestMessage').html('<img src="/images/ajax-loader-small.gif" />');
	getAjaxGeneral('getIBSubjectRow', '', 'getIBSubjectRow', 
				   'studentid=' + intID, '/students/ajax-students.asp');
	
}

//************************************************************

function getStudentSubjectEdit(intID) {
	var strDates = '';
	var strGrade = $('#subjectRowGrade' + intID).html();
	var strGradeDate = $('#subjectRowDate' + intID).html();
	for (i=1; i<8; i++) {
		strDates += '<option value="' + i + '">' + i + '</option>';
	}
	$('#subjectRowGrade' + intID).html('<select id="subjectRowGradeEdit' + intID + '" style="width: 50px">' + strDates + '</select>');
	
	var strDates = '';
	var m = ['January','February','March','April','May','June','July', 'August','September','October','November','December'];
	var dNow = new Date();
	var dStart = new Date(dNow.getFullYear(), dNow.getMonth(), 1, 0, 0, 0, 0);
	dStart.setMonth(dStart.getMonth()-12);
	for (i=1; i<14; i++) {
		strDates += '<option value="' + dStart.getFullYear() + '-' + (dStart.getMonth() + 1) + '-01">' + m[dStart.getMonth()] + ' ' + dStart.getFullYear() + '</option>';
		dStart.setMonth(dStart.getMonth() + 1);
	}
	$('#subjectRowDate' + intID).html('<select id="subjectRowDateEdit' + intID + '" style="width: 150px">' + strDates + '</select>');
	
	$('#subjectRowEdit' + intID).html('<a href="javascript: cancelStudentSubjectSave(' + intID + ', \'' + strGrade + '\',  \'' + strGradeDate + '\');"><img src="/images/buttons/button-cancel.jpg" /></a> ' +
									   '<a href="javascript: getStudentSubjectSave(' + intID + ');"><img src="/images/buttons/button-save.jpg" /></a>');
}

function checkActivity(intID) {
	
	if ($('#activity' + intID).attr("checked")==true) {
		$('#activityRow' + intID).css('background', '#dfd');
	}
	else {
		$('#activityRow' + intID).css('background', '#eee');	
	}
}

function checkRowToggleBG(strIDRow, strIDCheckBox, strOn, strOff) {
	
	if ($('#' + strIDCheckBox).attr("checked")==true) {
		$('#' + strIDRow).css('background', '#' + strOn);
	}
	else {
		$('#' + strIDRow).css('background', '#' + strOff);	
	}
}

//************************************************************

function validateEmail(data) {
    return /^([\w]+)(\.[\w]+)*@([\w\-]+)(\.[\w]{2,7})(\.[a-z]{2})?$/i.test(data);
}

//************************************************************

function sendLink(strCode) {
	
	var intComplete = 0;
	var bolParent1 	= $('#EmailParent1').is(":checked");
	var bolParent2 	= $('#EmailParent2').is(":checked");
	var strEmail	= $('#EmailOther').val();
	
	if (bolParent1 == false && bolParent2 == false && strEmail.length == 0) {
		alert("You must select a parent email or put in another email address to send this application.");
	}
	else {
		if (strEmail.length > 0) {
			if (validateEmail(strEmail)) {
				intComplete	= 1;
			}
			else {
				alert("This email address is not valid, please try again.");
			}
		}
		else {
			intComplete	= 1;	
		}
	}
	
	if (intComplete == 1) {
		getAjaxGeneral('saveForm', '', 'getsendothers', 'data=' + bolParent1 + '|' + bolParent2 + '|' + strEmail);
	}
	
	
					
	//getAjaxGeneral('saveForm', '', 'getsendform', 'data=' + intID);
	
}


function sendApplicationForm(intID) {
	
	getAjaxGeneral('saveForm', '', 'getsendform', 'data=' + intID);
	
}

//************************************************************

function saveApplicationForm(intID) {
	
	getAjaxGeneral('saveForm', '', 'saveform', 'data=' + intID);
}

//************************************************************

function getSchoolsFromCountry(strID, intStudentID) {
	
	getAjaxGeneral('', 'schoolRow', 'school', 'id=' + $("#" + strID).val() + '&studentid=' + intStudentID);
	
}

//************************************************************

function getAjaxGeneral(strShow, strHide, strOp, strQuery, strParamURL)  {
	
	var intDebug = 0;
	var strDataType = 'json';
	var strData = '';
	
	strData = 'op=' + strOp + '&' + strQuery;
	
	var strURL = "/applications/ajax-apps.asp";
	
	if (strParamURL) {
		strURL = strParamURL
	}
	
	//$("#debug").html(strDebug);
	
	$.ajax({  
		   
		type: 		'GET',   
		url: 		strURL,  
		data: 		strData,
		cache: 		false,  
		dataType: 	'json',
		
		beforeSend: function() { 
			$("#waitingImage").show();	
			$("#waitingImageSchools").show();
			if (strHide.length > 0) {
				if (strOp == 'school') {
					$("." + strHide).remove();
				}
				else {
					$("#" + strHide).hide();
				}
			}
			
			//alert(strURL);
		}, //show loading just when link is clicked
		
		success: function(objReturn, textStatus) {  
			
			switch (strDataType) {
				case 'json': // JSON
					
					if (objReturn.result == 'success') {
						$("#waitingImage").fadeOut("slow");
						switch (objReturn.op) {
							
							case 'onlineclass':
								if (objReturn.outcome == 1) {
									$('#onlineClassBuy' + objReturn.target).html('');
									$('#bookButton' + objReturn.target).attr('src', '/images/buttons/app-book-remove.jpg');
									fadeBackgroundIn('#rowOnlineClass' + objReturn.target, '#CBEDA9'); // $('#rowOnlineClass' + objReturn.target).css('background', '#CBEDA9');
								}
								else if (objReturn.outcome == 2) {
									$('#onlineClassBuy' + objReturn.target).html('');
									$('#bookButton' + objReturn.target).attr('src', '/images/buttons/app-book.jpg');
									fadeBackgroundIn('#rowOnlineClass' + objReturn.target, '#fff');
								}
								else {
									$('#onlineClassBuy' + objReturn.target).html('');
								}
								
							break;
							
							case 'getPrevious':
								$('#previousMessageWaiting').html('');
								$("#previousMessage").html(objReturn.html);
							break;
							
							case 'school': // schools list by country
								
								$("#" + objReturn.target).after(objReturn.html);
								$(".schoolRow").fadeIn("slow");	
								
							break;
							
							case 'saveform': // schools list by country
							case 'getsendform': // send form
							case 'getsendothers':
							
								$("#" + strShow).html(objReturn.html);
								
							break;
						
							case 'getsubjects':
								$("#" + strShow).html(objReturn.html);
							break;
							
							case 'getIBSubjectRow':
								
								$('#subjectRequestMessage').html('');
								
								var strGrade = $('#subjectRowGrade' + objReturn.subjectid).html();
								var strGradeDate = $('#subjectRowDate' + objReturn.subjectid).html();
								var strGradeSubject = $('#subjectRowSubject' + objReturn.subjectid).html();
								
								$('#subjectRowDate' + objReturn.subjectid).html(objReturn.date);
								$('#subjectRowGrade' + objReturn.subjectid).html(objReturn.grade);
								$('#subjectRowSubject' + objReturn.subjectid).html(objReturn.subject);
								$('#subjectRowEdit' + objReturn.subjectid).html('<a href="javascript: cancelStudentSubjectSave(' + objReturn.subjectid + ', \'' + strGradeSubject + '\', \'' + strGrade + '\',  \'' + strGradeDate + '\');">' +
																  '<img src="/images/buttons/button-cancel.jpg" /></a> ' +
									   							   '<a href="javascript: getStudentSubjectSave(' + objReturn.subjectid + ');"><img src="/images/buttons/button-save.jpg" /></a>');
								
							break;
							
							case 'saveStudentSubjectRequest':
								//alert('saveStudentSubjectRequest return' + objReturn.html);
								$('#subjectRequestMessage').html('<p>' + objReturn.html + '</p>');
								
								$('#subjectRowSubject' + objReturn.subjectid).html(objReturn.subjectname);
								$('#subjectRowDate' + objReturn.subjectid).html(objReturn.date);
								$('#subjectRowGrade' + objReturn.subjectid).html(objReturn.grade);
								$('#subjectRowEdit' + objReturn.subjectid).html('<a href="javascript: getStudentSubjectEditAjax(' + objReturn.subjectid + ')"><img src="/images/buttons/button-edit.jpg" /></a>');
								
							break;
							
							case 'referral':
								$("#formApply").html(objReturn.html);
								
							break;
							
							default:
								alert('default');
							break;
						}
					}
				break;
			}
			
			$("#waiting").hide("slow"); //hide
			$("#waitingImageSchools").fadeOut("slow");

			//$("#questionHolder").show("slow"); //animation
			
		},
		
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			alert(textStatus + " " + errorThrown);
		}
		
	}); 
}

//************************************************************

var intSelectorStatic = 0;

//************************************************************

function getInfoPage(intID)  {
	
	var intDebug = 0;
	var strDataType = 'json';
	var strData = '';
	var strQuery = '';
	
	strData = 'op=getinfo&page=' + intID;
	
	var strURL = "/common/ajax-course-selector.asp";
	
	$.ajax({  
		type: 		'GET',   
		url: 		strURL,  
		data: 		strData,
		cache: 		false,  
		dataType: 	'json',
		
		beforeSend: function() { 
		
			$("#columnCenter").hide();
			$("#columnRight").hide();
			
			//alert(strURL);
		}, //show loading just when link is clicked
		
		success: function(objReturn, textStatus) {  
			
			switch (strDataType) {
				case 'json': // JSON
					
					if (objReturn.result == 'success') {
						
						switch (objReturn.op) {
							
							case 'replace': // replace table
							
								var strCourse = '' + objReturn.courseinfo;
								if (strCourse.length > 0) {
									$("#columnCenter").html(objReturn.courseinfo);
									$("#columnCenter").slideDown('slow');
									
									$("#columnRight").html('<img src="/images/courses/side-panel.gif">');
									$("#columnRight").slideDown('slow');
								}
											
							break;
							
							default:
								alert('default');
							break;
						}
					}
				break;
			}
			
			$("#waiting").hide("slow"); //hide
			//$("#questionHolder").show("slow"); //animation
			
			
			
		},
		
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			alert(textStatus + " " + errorThrown);
		}
		
	}); 
}

//************************************************************

function getSelectorType(intStatic) {
	intSelectorStatic = intStatic;
	var strChoice = $('#choiceCourse').val();
	if (strChoice.length > 0) {
		doJqueryAjaxSelector('courseChoiceSecond', '', 'op=location&type=' + strChoice, 'GET', '');
	} 
	
}

//************************************************************

function getSelectorPage() {
	var strLink = '' + $('#choiceLocation').val();
	if (strLink.length > 0) {
		window.location = "/" + strLink;
	} 
}

//************************************************************


function doJqueryAjaxSelector(strShow, strHide, strQueryData, strMethod, intReplace)  {
	
	var intDebug = 0;
	var strDataType = 'json';
	var strData = '';
	var strQuery = '';
	
	strData = strQueryData;
	
	
	var strURL = "/common/ajax-course-selector.asp";
	
	var strDebug =  "<strong>doJqueryAjaxM</strong>" + 
					" <br />strShow = " + strShow + 
					" <br />strHide = " + strHide + 
					"<br /> strQueryData = " + strQueryData + 
					"<br /> strMethod = " + strMethod + 
					"<br />";
	
	
	//$("#debug").html(strDebug);
	
	$.ajax({  
		type: 		strMethod,   
		url: 		strURL,  
		data: 		strData,
		cache: 		false,  
		dataType: 	'json',
		
		beforeSend: function() { 
		
			if (strHide.length > 0) {
				$("#" + strHide).hide(); //hide
			} 
			$("#waiting").show("slow"); //hide
			$("#" + strShow).hide(); //hide
			$("#" + strShow).html("");
			if (intSelectorStatic == 0) {
				$("#columnCenter").hide();
				$("#columnRight").hide();
			}
			$("#courseChoiceSecond").hide();
			$("#courseChoiceApply").hide();
			$("#courseChoiceThird").hide();
			
			if (intDebug > 0) {
				$("#ajaxurl").html("<p>" + strURL + " (" + strQueryData + ")</p>");
			}
			//alert(strURL);
		}, //show loading just when link is clicked
		
		success: function(objReturn, textStatus) {  
			
			switch (strDataType) {
				case 'json': // JSON
					
					if (objReturn.result == 'success') {
						strDebug += "objReturn.result = success" + " - " + objReturn.op + "<br />";
						
						switch (objReturn.op) {
							
							case 'replace': // replace table
							
								var strLocations = '' + objReturn.locations;
								if (strLocations.length > 0) {
									$("#courseChoiceSecond").html(objReturn.locations);
									$("#courseChoiceSecond").fadeIn('slow');
								}
								
								var strDates = '' + objReturn.dates;
								if (strDates.length > 0) {
									$("#courseChoiceThird").html(objReturn.dates);
									$("#courseChoiceThird").fadeIn('slow');
								}
								
								var strInfo = '' + objReturn.info;
								if (strInfo.length > 0) {
									$("#courseChoiceInfo").html(objReturn.info);
									$("#courseChoiceInfo").fadeIn('slow');
								}
									
								var strApply = '' + objReturn.apply;
								if (strApply.length > 0) {
									$("#courseChoiceApply").html(objReturn.apply);
									$("#courseChoiceApply").fadeIn('slow');
								}
								
								if (intSelectorStatic == 0) {
									var strCourse = '' + objReturn.courseinfo;
									if (strCourse.length > 0) {
										$("#columnCenter").html(objReturn.courseinfo);
										$("#columnCenter").slideDown('slow');
									}
								}
								strDebug += "<strong>Action:</strong> <br />HTML = " + strShow + "<br />";
											
							break;
							
							default:
								alert('default');
							break;
						}
					}
				break;
			}
			
			$("#waiting").hide("slow"); //hide
			//$("#questionHolder").show("slow"); //animation
			
			
			if (intDebug > 0) {
				$("#ajax").html(html2entity(objReturn.html)); //animation
				$("#debug").html(strDebug);
				$("#debugSuccess").html(objReturn.debug);
			}
		},
		
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			alert(textStatus + " " + errorThrown);
		}
		
	}); 
}

// END course selector

function prefillClear(field) {

	if (field.defaultValue==field.value) {
		field.value = '';
		field.style.color='#000';
	}
	else if (field.value == '') {
		field.value = field.defaultValue;
		field.style.color='#bbb';
	}

}

function toggleDivImage(strShow, strImageID, strImageOn, strImageOff) { 
	 
	if ($("#" + strShow).css("display") == "none") {
		$("#" + strShow).show();
		$("#" + strImageID).attr("src", strImageOff);
	} else {
		$("#" + strShow).hide();
		$("#" + strImageID).attr("src", strImageOn);
	} 
	
}

function checkChoiceAccomm(strField, strShow, intID) {
	if ($('#' + strField).val() > 0) {
		$('#' + strShow).show();
		$('#tableRowHeading' + intID).css('background', '#CBEDA9');
	}
	else {
		$('#' + strShow).hide();
		$('#tableRowHeading' + intID).css('background', '#fff');
	}
	
	if ($('#CourseSubject' + intID).val() > 0) {
		$('#courseNotes' + intID).show();
	}
	else {
		$('#courseNotes' + intID).hide();
	}
	
}

// spring calculations called from select

function checkChoiceUpdate(strField, strShow, intID, intTotals) {
	if ($('#' + strField).val() > 0) {
		$('#' + strShow).show();
		$('#tableRowHeading' + intID).css('background', '#CBEDA9');
	}
	else {
		$('#' + strShow).hide();
		$('#tableRowHeading' + intID).css('background', '#fff');
	}
	
	if ($('#CourseSubject' + intID).val() > 0) {
		$('#courseNotes' + intID).show();
	}
	else {
		$('#courseNotes' + intID).hide();
	}
	calculateTotals();
	
}

function calculateTotals() {
	
	calculateAccomm();
	extraNightChange();
	showCourseTotals();
	setTotals();
}

function calculateAccomm() {
var intAmount;
var intChoice = 0;
var dblAccomm = 0;
var dblEnsuite = 0;
var dblNights = 0;
var intCourses = 0;
var intClassification = 0;
var strFieldName = '';

		intChoice = parseFloat($('input:radio[name=Ensuite]:checked').val());
		
		switch (intChoice) {
			case 1: // no accomm
				
			break;
			
			case 2: // single room
			case 3: // ensuite
				$(".courseNumber" ).each(function (i) {
					 intCourseID = $( this ).val();
					 intCourseSubject = $('#CourseSubject' + intCourseID).val();
					 intClassification = parseFloat($('#CourseClassification' + intCourseID).val());
					 //alert('Subject: ' + intCourseSubject + ' ' + $('#CourseCost' + intCourseID).val());
					 if (intCourseSubject > 0 && intClassification != 3) {
						 dblAccomm += parseFloat($('#CourseCostAccomm' + intCourseID).val());
						 if (intChoice == 3) { // ensuite
							 dblEnsuite += parseFloat($('#CourseCostEnSuite' + intCourseID).val()) * parseFloat($('#CourseNights' + intCourseID).val());
							 dblNights += parseFloat($('#CourseNights' + intCourseID).val());
						 }
						 intCourses++;
					 }
				})
				
				// check ensuite nights for extra
				if (intChoice == 3) { // ensuite
				
					$( ".extraNightChange" ).each(function (i) {
						strFieldName = $( this ).attr('name');
						if ($(this).is(':checked')) {
							dblEnsuite += parseFloat($('#' + strFieldName + 'Ensuite').val());
							dblNights++;
						}
					})
				  // add additional night for course 6 / half day
					if ($('#CourseSubject190').val() > 0 && $('#CourseSubject192').val() > 0) {
						dblEnsuite += parseFloat($('#CourseCostEnSuite190').val());
						dblNights++;
					}
				}
			break;
		}
		$('#CourseAccommTotals').html(dblAccomm.toFixed(2)); 
		$('#CourseEnsuiteTotals').html(dblEnsuite.toFixed(2));
			
		$('#CourseAccommTotalsLabel').html(' for ' + intCourses + ' course' + (intCourses == 1 ? '' : 's')); 
		$('#CourseEnsuiteTotalsLabel').html(' for ' + dblNights + ' night' + (dblNights == 1 ? '' : 's')); 
		
}

function setTotals() {
	// totals
		var intTotalCosts = 0
		intTotalCosts = parseFloat( $('#CourseAccommTotals').html() ) + parseFloat( $('#CourseEnsuiteTotals').html() ) +
										parseFloat( $('#CourseTotals').html() ) + parseFloat( $('#CourseExtraTotals').html() );
		$('#TotalCost').html( intTotalCosts.toFixed(2));
}

function showCourseTotals() {
	var dblTotal = 0;
	var intCourseID = 0;
	var intCourseSubject = 0;
	var intCourses = 0;
	var datStart = '';
	var datStartExtra = '';
	var datEnd = '';
	var objDateStartExtra;
	var objDateEndExtra;
	var objDateStart;
	var objDateEnd;
	var intAccommodationSelection = 0;
	var intClassification = 0;
	var objDatTemp = '';
	var arrCourses = new Array();
	var intCount = 0;
	
	 $( ".courseNumber" ).each(function (i) {
		 
		 intCourseID = $( this ).val();
		
		 intClassification = parseFloat($('#CourseClassification' + intCourseID).val());
		 intCourseSubject = $('#CourseSubject' + intCourseID).val();
		 
		 if (intCourseSubject > 0) {
			 //if (intCourses == 0 && intClassification != 3) {
			 if (intCourses == 0) {
				 datStart = $('#CourseStartNight' + intCourseID).val();
				 datStartExtra = $('#CourseStartNightExtra' + intCourseID).val();
				 
				 datEnd = $('#CourseEndNight' + intCourseID).val();
				 
				 objDateStart = new Date(datStart);
		 		 objDateEnd = new Date(datEnd);
			 }
			 dblTotal += parseFloat($('#CourseCost' + intCourseID).val());
			 objDatTemp = new Date($('#CourseStartNight' + intCourseID).val());
			 if (objDateStart > objDatTemp) {
				 datStart = $('#CourseStartNight' + intCourseID).val();
				 objDateStart = new Date(datStart);
			 }
			 objDatTemp = new Date($('#CourseEndNight' + intCourseID).val());
			 if (objDatTemp > objDateEnd) {
				 datEnd = $('#CourseEndNight' + intCourseID).val();
				 objDateEnd = new Date(datEnd);
			 }
			 arrCourses[intCount] = intCourseID;
			 intCourses++;
		 }
		 intCount++;
	 })
	 //alert(dblTotal);
	 $('#CourseTotalsLabel').html(' for ' + intCourses + ' course' + (intCourses == 1 ? '' : 's'));
	 $('#CourseTotals').html(dblTotal.toFixed(2));
	 if (intCourses == 0) {
		 $('#extraNights').slideUp('slow');
	 }
	 else {
		 $('#extraNights').slideDown('slow');
		 if ($('#extraNightFirstChoice').is(':checked')) {
		 	$('.courseNightFirst').html(datStartExtra);
		 }
		 else {
		 	$('.courseNightFirst').html(datStart);
		 }
		  if ($('#extraNightLastChoice').is(':checked')) {
		 	$('.courseNightLast').html(datEnd);
		 }
		 else {
		 	$('.courseNightLast').html(datEnd);
		 }
		 objDateStartExtra = new Date(datStartExtra);
		 objDateStart = new Date(datStart);
		 objDateEnd = new Date(datEnd);
		 
		 $('.extraNightFirst').html(objDateStartExtra.format('l jS F Y'));
		 $('.extraNightLast').html(objDateEnd.format('l jS F Y'));
		 
		 // get earlier arrival date
		 if ($('#extraNightFirstChoice').is(':checked')) {
			 $('#courseArrivalDate').html(objDateStartExtra.format('l jS F Y'));
		 }
		 else {
		 	$('#courseArrivalDate').html(objDateStart.format('l jS F Y'));
		 }
		 // set leaving date if extra night
		 if ($('#extraNightLastChoice').is(':checked')) {
			objDateEnd.addDays(1);
			$('#courseDepartureDate').html(objDateEnd.format('l jS F Y'));
		 }
		 else {
		 	$('#courseDepartureDate').html(objDateEnd.format('l jS F Y'));
		 }
		 $('#extraNightFirstChoiceDate').val(datStartExtra);
		 $('#extraNightLastChoiceDate').val(datEnd);
	 }
	 
	 if (arrCourses.inArray('191') && arrCourses.inArray('192')) {
		alert('Course 7 cannot be taken with the half day course. Please change your selection'); 
	 }
	 
}

function extraNightChange() {
	var strFieldName = '';
	var dblExtraTotal = 0;
	var intChoice = 0;
	var strLabel = '';
	var intCount = 0;
	intChoice = parseFloat($('input:radio[name=Ensuite]:checked').val());
		
	$( ".extraNightChange" ).each(function (i) {
		strFieldName = $( this ).attr('name');
		if ($(this).is(':checked')) {
			intCount++;
			switch (intChoice) {
				case 1:
					dblExtraTotal += 0;
					strLabel = 'No Extra Nights';
				break;
				
				case 2:
				case 3:
					dblExtraTotal += parseFloat($('#' + strFieldName + 'Cost').val());
					calculateAccomm();
				break;
			}
		}
	})
	$('#CourseExtraTotals').html(dblExtraTotal.toFixed(2)); 
	$('#CourseExtraTotalsLabel').html(' for ' + intCount + ' night' + (intCount == 1 ? '' : 's'));
	
	
}

function processCourseSubjects(intRow, intCourse) {
	
	if (intCourse == 0) {
		$('#SubjectSelector' + intRow).slideUp();
		$('#SubjectSelector' + intRow).html('');
	}
	else {
		$('#SubjectSelector' + intRow).slideDown();
		//$('#SubjectSelector' + intRow).html('Subjects for course ' + intCourse);
		getAjaxGeneral('SubjectSelector' + intRow, '', 'getsubjects', 'id=' + intCourse);
	}
}

//******************************************************

function showOnClick(strCheckbox, strTarget) {
	if ($('#' + strCheckbox).is(':checked')) {
		$("#" + strTarget).show("slow");
	}
	else {
		$("#" + strTarget).hide("slow");
	}
}

//******************************************************

function toggleDivSlide(strShow) { 
	 
	if ($("#" + strShow).css("display") == "none") {
		$("#" + strShow).slideDown('slow');
	} else {
		$("#" + strShow).slideUp('slow');
	} 
}

//******************************************************

function toggleDiv(strShow, strImageID) { 
	 
	if ($("#" + strShow).css("display") == "none") {
		$("#" + strShow).show();
	} else {
		$("#" + strShow).hide();
	} 
}

//******************************************************

function replaceImage(imgID, imgNew) {

	document.getElementById(imgID).src=imgNew;
	
}

//******************************************************

function doCallBack(strThis, arrCourses) {
	checkField(strThis, 'Telephone', 'showTelephoneMessage'); 
	triggerCheckboxDiv(strThis, 'showTelephoneCallTimes'); 
	
	checkCallSettings('showInterestMessage', arrCourses);	
	
}

//******************************************************

function checkSMS(strTarget) {
	var intSuccess = 0;
	var eleSMS = $('#SMS');
	
	if (eleSMS.is(':checked')) {
		$("#" + strTarget).show("slow");
	} else {
		$("#" + strTarget).hide("slow");
	}
	
	//alert("checkCallSettings " + intSuccess);
	
}

//******************************************************

function checkBrochure(arrCourses, strTarget) {
	var intSuccess = 0;
	var eleBrochure = document.getElementById('Brochure');
	var eleTarget = document.getElementById(strTarget);
	
	if (eleBrochure.checked) {
	
		intSuccess = checkTrue(arrCourses);
		
		eleTarget.style.display = intSuccess == 0 ? "block":"none";
	} else {
		eleTarget.style.display = "none";
	}
	
	//alert("checkCallSettings " + intSuccess);
	
}

//******************************************************

function checkCallSettings(strTarget, arrCourses) {
	var intSuccess = 0;
	var eleCallBack = document.getElementById('CallBack');
	var eleTarget = document.getElementById(strTarget);
	
	if (eleCallBack.checked) {
	
		intSuccess = checkTrue(arrCourses);
		
		var eleSource = document.getElementById('Enquiry');
		if (eleSource.value.length > 0) { intSuccess = 1; }
		
		
		
		eleTarget.style.display = intSuccess == 0 ? "block":"none";
	} else {
		eleTarget.style.display = "none";
	}
	
	//alert("checkCallSettings " + intSuccess);
	
}

//******************************************************

function checkTrue(arrTarget) {
	var intReturn = 0;
	for ( var i in arrTarget )
	{
		//alert("checkTrue " + arrTarget[i]);
		var eleTarget = document.getElementById(arrTarget[i]);
		 
		if (eleTarget.checked) {
			intReturn = 1;
		}
	}
	return intReturn;
}
	
//******************************************************

function hideWhenText(strSource, strTarget) {
	// alert("hideWhenText " + strSource.value.length);
	var eleTarget = document.getElementById(strTarget);
 	eleTarget.style.display = strSource.value.length == 0 ? "block":"none";
}

//******************************************************

function triggerCheckboxDiv(strSource, strTarget) {
	var eleTarget = document.getElementById(strTarget);
 	eleTarget.style.display = strSource.checked? "block":"none";
} 

//******************************************************

function checkField(strSource, strCheck, strTarget) {
	var eleTarget = document.getElementById(strTarget);
	var eleCheck = document.getElementById(strCheck);
	
	if (strSource.checked) {
		eleTarget.style.display = (eleCheck.value.length == 0)? "block":"none";
	} else {
		eleTarget.style.display = "none";
	}
}

//******************************************************

function checkSpryFormHTTP(form, intCheckOther) {
	if (!intCheckOther) {
		var intCheckOther = 0;
	}
	var theForm = typeof form != 'object' ? document.getElementById(form): form;
	var ret = Spry.Widget.Form.validate(theForm);
	var bolError = false;
	var strError = '';
	if (!ret) {
		strError += "<p>The form is not complete yet. Please check the form for the information we need.</p> ";
		bolError = true;
	}
	switch (intCheckOther) {
		case 1: // check afternoons
			var afternoonResult = checkAfternoons();
			if (!afternoonResult) {
				strError += "<p>The courses above must have an afternoon choice selected</p>";
				bolError = true;
			}
		break;
	}
	if (bolError) {
		$('#formIncomplete').html(strError);
		$('#formIncomplete').slideDown('slow');
		alert(strError.replace(/<.*?>/g, ''));
	}
	return !bolError;
}

//******************************************************

function processPaymentChoiceCommon(obj) {
	
	var objPay = document.getElementById('PayBalance1');
	
	$("#rowAmountToPay").hide("");
	$("#paymentSection").fadeIn("slow");
	
	if (objPay) {
		if (document.getElementById("PayBalance1").checked == true) { // balance
			document.getElementById("PayBalanceRow").style.background = "#e8ffe8";
			document.getElementById("PayDepositRow").style.background = "#ffffff";
			if (document.getElementById('AmountToPay')) {
				document.getElementById('AmountToPay').innerHTML  = strAmountPayableBalance;
			}
		} 
		
		if (document.getElementById("PayBalance2").checked == true) { // deposit
			document.getElementById("PayDepositRow").style.background = "#e8ffe8";
			document.getElementById("PayBalanceRow").style.background = "#ffffff";
			if (document.getElementById('AmountToPay')) {
				document.getElementById('AmountToPay').innerHTML  = strAmountPayableDeposit;
			}
		}
	}
}

//******************************************************

function showCVV() {
	var eleTarget = document.getElementById('cvv');
	
	if (eleTarget.style.display == "block") {
		eleTarget.style.display = "none";
	} else {
		eleTarget.style.display = "block";
	}
}


//******************************************************

function showLanguageOption(intField, objSource) {
	var eleTarget = document.getElementById('examLanguage' + intField);
	
	
	if (objSource.value >= 30 &&  objSource.value <= 36) {
		eleTarget.innerHTML = "<div class=\"formItem\"><label>Which language?</label>" +
						"<div class=\"inputColumn\"><input type=\"text\" name=\"otherLanguage" + intField + "\" id=\"otherLanguage" + intField + "\" " + 
						"class=\"fieldWidth\" /></div></div>";
	} else {
		eleTarget.innerHTML = "";
	}
}

//*************************************************************************

function getArticle(objSelect) {
	
	var idField = document.getElementById(objSelect);
	var intArticleSectionID = idField.options[idField.selectedIndex].value;  
	//alert(intArticleSectionID + " " + strTargetID);
	
	window.location = "/ib-resources/default.asp?categoryid=25&pageid=290&article=" + intArticleSectionID;

}

//******************************************************

function getNewsletter(objSelect) {
	
	var idField = document.getElementById(objSelect);
	var intArticleSectionID = idField.options[idField.selectedIndex].value;  
	//alert(intArticleSectionID + " " + strTargetID);
	
	window.location = "/ib-resources/default.asp?categoryid=25&pageid=288&newsletter=" + intArticleSectionID;

}
 
//******************************************************

function getTool(objSelect) {
	
	var idField = document.getElementById(objSelect);
	var intArticleSectionID = idField.options[idField.selectedIndex].value;  
	//alert(intArticleSectionID + " " + strTargetID);
	
	window.location = "/ib-resources/default.asp?categoryid=25&pageid=291&tool=" + intArticleSectionID;

}
 
// sets the wait image to visible after transaction

//******************************************************

function setWaitImage() {
	
	$("#submitButton").hide();
	$("#waitImage").fadeIn("slow");
	
	return true;
}

//******************************************************

function select_text(objField)
{
	objField.focus();
	objField.select();
}

// AJAX calls

//****************************************************** 

function bindFormTeachers(strFormName) {

	// bind 'myForm' and provide a simple callback function 
	
	$('#' + strFormName).ajaxForm({
		
		
		type : "post",

		target: '#photoStudent',
		
		beforeSubmit: function(a,f,o) {
		  $("#waitingImage").show("slow"); //animation
		},
		
		success: function() {
		  $("#waitingImage").hide("slow"); //animation
		  $('#uploadOutput').fadeIn('slow');
		}
	});
	
}

//****************************************************** 

function bindForm(strFormName) {

	// bind 'myForm' and provide a simple callback function 

	$('#' + strFormName).ajaxForm({

		 target: '#photoStudent',
		 
		 beforeSubmit: function(a,f,o) {
			  $("#waitingImage").show("slow"); //animation
		  },
 
		  success: function() {
			  $("#waitingImage").hide("slow"); //animation
			  $('#uploadOutput').fadeIn('slow');
		  }

		

	});
	
}

function getQuestionForm(intStudentID, intID, strFile) {
 
	//$("#questiondisplay" + intID).slideUp("slow"); 
	
	$("#waitingImage").slideDown("slow");
	
	$.ajax( {
		type: "GET",
		url: "ajax-students.asp",  
		cache: false,
		data: "op=showQuestionnaire&studentid=" + intStudentID + "&question=" + intID + "&file=" + strFile,
		dataType: "html",
		beforeSend: function() {  
			$("#questionDisplay").slideUp("slow"); //animation 
			
			//alert("Status: op=showQuestionnaire&studentid=" + intStudentID + "&question=" + intID + "&file=" + strFile);
		}, //show loading just when link is clicked
		
		success: function(data, textStatus) { //so, if data is retrieved, store it in html
			//alert(data);
			$("#questionDisplay").html(data); //show the html inside .questiondisplay div
			$("#questionDisplay").fadeIn('slow'); //animation
			
		},
		complete: function(XMLHttpRequest, textStatus) { 
			//$("#questionDisplay").hide();
			$("#waitingImage").slideUp("fast");
			//alert("Status: " + textStatus);
		}, //stop showing loading when the process is complete
		error: function(XMLHttpRequest, textStatus, errorThrown){
			alert('Error loading document ' + textStatus);
		}
	}); //close $.ajax
	
} // end function

//*************************

function copyAddressGeneral() {
	
	if ($('#Address1').val().length > 0) {
		$('#ParentAddress1').val($('#Address1').val());
	}
	if ($('#Address2').val().length > 0) {
		$('#ParentAddress2').val($('#Address2').val());
	}
	if ($('#City').val().length > 0) {
		$('#ParentCity').val($('#City').val());
	}
	if ($('#PostCode').val().length > 0) {
		$('#ParentPostcode').val($('#PostCode').val());
	}
	if ($('#CountryID').val() > 0) {
		$('#ParentCountryID').val($('#CountryID').val());
	}	
	
}

// -->
