/*
	Copyright Code Computerlove Ltd 2007-2009
	Build: 5.1.0.125
	Date: 03/12/2009 15:08:31
*/

/*
	All Sale Application related client code - including validators etc
*/

/* variable to hold reference to union name search validator */
var selectOrgSearchValRef = null;
/* variable will be output in c# on postback - see sales-selectorganisation.ascx user control in shared project */
var selectOrgSearchSelValue = null;

/* post validator handler for organisation search value */
function sa_selectOrgSearchPost(val)
{
	selectOrgSearchValRef = val;
}

/* main handler for customer validator for organisation dropdown */
function sa_selectOrgSelect(val)
{
	/* see if the original search value has been changed since a drop down of results has been rendered */
	if (selectOrgSearchSelValue != null && selectOrgSearchSelValue != selectOrgSearchValRef.valValue)
	{
		return true;
	}
	else
	{
		var orgId = parseInt(val.valValue);
		if (!isNaN(orgId) && orgId > 0)
		{
			return true;
		}
		else
		{
			return false;
		}
	}
}

/* photo app function */
function sa_photoSetContinueState(id, state)
{
	var button = document.getElementById(id);
	
	if (button == null) return;
	
	if (state == 'show')
	{
		// set display inline
		button.style.display = 'inline';
	}
	else
	{
		// hide button by displaying none
		button.style.display = 'none';
	}
}

/* validation for personal details step */
var notificationTypeVal = null;
var notificationTypeValValue = 0;

function sa_notificationTypeValPost(val)
{
	notificationTypeVal = val;
	notificationTypeValValue = parseInt(val.valValue);
	if (isNaN(notificationTypeValValue)) notificationTypeValValue = 0;
}

function sa_notificationTypeMobileInit(val)
{
	sa_notificationType(val, 1);
}

/* 1 - Email
	 2 - Sms
*/
function sa_notificationType(val, nt)
{
	if (!val.handlerStored)
	{
		val.handlerBackup = val.handler;
		val.handlerStored = true;
	}
	if (notificationTypeValValue == nt || notificationTypeValValue == 0)
	{
		val.handler = null;
	}
	else
	{
		val.handler = val.handlerBackup;
	}
}

function sa_startDateOfStudy(val)
{
	isValid = ($("select[id$='StartMonthOfStudy']").val() != "-1") && ($("select[id$='StartYearOfStudy']").val() != "-1");
	
	if(isValid)
	{
		$("select[id$='StartYearOfStudy']").removeClass("invalid");
		$("select[id$='StartMonthOfStudy']").removeClass("invalid");
	}
	else
	{
		$("select[id$='StartYearOfStudy']").addClass("invalid");
		$("select[id$='StartMonthOfStudy']").addClass("invalid");
	}
	
	return isValid;
}

function sa_finishDateOfStudy(val)
{
	isValid = ($("select[id$='FinishMonthOfStudy']").val() != "-1") && ($("select[id$='FinishYearOfStudy']").val() != "-1");
	
	if(isValid)
	{
		$("select[id$='FinishMonthOfStudy']").removeClass("invalid");
		$("select[id$='FinishYearOfStudy']").removeClass("invalid");
	}
	else
	{
		$("select[id$='FinishMonthOfStudy']").addClass("invalid");
		$("select[id$='FinishYearOfStudy']").addClass("invalid");
	}
	
	return isValid;
}

function sa_startBeforeFinishDateOfStudy(val)
{
	/*
		Start and Finish dates are optional but if one is supplied, the other must also be supplied
	*/
		
	if(
		($("select[id$='FinishMonthOfStudy']").val() == "-1") && 
		($("select[id$='FinishYearOfStudy']").val() == "-1") &&
		($("select[id$='StartMonthOfStudy']").val() == "-1") && 
		($("select[id$='StartYearOfStudy']").val() == "-1")
	)
	{
		// no dates were supplied - this is ok
		// remove any instances of the invalid class from all 4 selects
		$("select[id$='OfStudy']").removeClass("invalid");
		return true;
	}
	else if(
		($("select[id$='FinishMonthOfStudy']").val() == "-1") || 
		($("select[id$='FinishYearOfStudy']").val() == "-1") ||
		($("select[id$='StartMonthOfStudy']").val() == "-1") || 
		($("select[id$='StartYearOfStudy']").val() == "-1")
	)
	{
		// at least one of the date dropdowns was not set
		// highlight all for dropdown menus as invalid
		$("select[id$='OfStudy']").addClass("invalid");
		return false;
	}
	else
	{
		var startMonth = ($("select[id$='StartMonthOfStudy']").val())-1;
		var startYear = $("select[id$='StartYearOfStudy']").val();
		var finishMonth = ($("select[id$='FinishMonthOfStudy']").val())-1;
		var finishYear = $("select[id$='FinishYearOfStudy']").val();
		
		var startDateOfStudy = new Date();
		startDateOfStudy.setFullYear(startYear,startMonth,1);
		
		var finishDateOfStudy = new Date();
		finishDateOfStudy.setFullYear(finishYear,finishMonth,1);
		
		if(startDateOfStudy>finishDateOfStudy)
		{
			// highlight all for dropdown menus as invalid
			$("select[id$='OfStudy']").addClass("invalid");
			return false;
		}
		else
		{
			// remove any instances of the invalid class from all 4 selects
			$("select[id$='OfStudy']").removeClass("invalid");
			return true;
		}
	}
}

function sa_passwordConfirmationMatch()
{
	var password = $('input[id$=StudentPassword]').val();
	var passwordConfirm = $('input[id$=StudentPasswordConfirm]').val();
	
	if(password == passwordConfirm)
		return true;
	else
		return false;
}

function sa_PASSCompleted()
{
	var drivingLicenceNumber = $('input[id$=DrivingLicenceNumber]').val();
	
	var passportNumber1 = $('input[id$=PassportNumber1]').val();
	var passportNumber2 = $('input[id$=PassportNumber2]').val();
	var passportNumber3 = $('input[id$=PassportNumber3]').val();
	var passportNumber4 = $('input[id$=PassportNumber4]').val();
	var passportNumber5 = $('input[id$=PassportNumber5]').val();
	var passportNumber6 = $('input[id$=PassportNumber6]').val();
	var passportNumber7 = $('input[id$=PassportNumber7]').val();
	var passportNumber8 = $('input[id$=PassportNumber8]').val();
	var passportNumber9 = $('input[id$=PassportNumber9]').val();
	var passportExpiryDate = $('input[id$=PassportExpiryDate]').val();
	
	isValid = (drivingLicenceNumber != "" || (passportNumber1 != "" &&
																						passportNumber2 != "" &&
																						passportNumber3 != "" &&
																						passportNumber4 != "" &&
																						passportNumber5 != "" &&
																						passportNumber6 != "" &&
																						passportNumber7 != "" &&
																						passportNumber8 != "" &&
																						passportNumber9 != "" &&
																						passportExpiryDate != ""));
	
	if(isValid)
	{
		$("input[id$='DrivingLicenceNumber']").removeClass("invalid");
		
		$("input[id$='PassportNumber1']").removeClass("invalid");
		$("input[id$='PassportNumber2']").removeClass("invalid");
		$("input[id$='PassportNumber3']").removeClass("invalid");
		$("input[id$='PassportNumber4']").removeClass("invalid");
		$("input[id$='PassportNumber5']").removeClass("invalid");
		$("input[id$='PassportNumber6']").removeClass("invalid");
		$("input[id$='PassportNumber7']").removeClass("invalid");
		$("input[id$='PassportNumber8']").removeClass("invalid");
		$("input[id$='PassportNumber9']").removeClass("invalid");
		$("input[id$='PassportExpiryDate']").removeClass("invalid");
	}
	else
	{
		$("input[id$='DrivingLicenceNumber']").addClass("invalid");
		
		$("input[id$='PassportNumber1']").addClass("invalid");
		$("input[id$='PassportNumber2']").addClass("invalid");
		$("input[id$='PassportNumber3']").addClass("invalid");
		$("input[id$='PassportNumber4']").addClass("invalid");
		$("input[id$='PassportNumber5']").addClass("invalid");
		$("input[id$='PassportNumber6']").addClass("invalid");
		$("input[id$='PassportNumber7']").addClass("invalid");
		$("input[id$='PassportNumber8']").addClass("invalid");
		$("input[id$='PassportNumber9']").addClass("invalid");
		$("input[id$='PassportExpiryDate']").addClass("invalid");
	}
	
	return isValid;
}

/* generic cancel order function */
function sa_cancelOrder()
{
	return confirm('Are you sure that you wish to cancel this order?');
}

/* set the action of the default form */
function sa_setFormAction(newAction)
{
	document.forms[0].action = newAction;
}

/* focus an element on the page */
function sa_elemFocus(title)
{
	if (title.indexOf('#') == -1)
		title = "#" + title;
	
	if (location.hash != title)
		location.hash = title;
}


/* 
Wire up a click event for any links back to the nus.org site that need to be tracked by Google.
This allows Google Analytics to work across multipl domains:
http://www.google.com/support/analytics/bin/answer.py?answer=55503
*/
$(document).ready(function(){
	
	$("a.gaCrossDomain").click(function(){
		pageTracker._link(this.href);
		return false;
	});
	
	if (!(typeof photoGuidelines == "undefined" || photoGuidelines === null))
	{
		$("p").each(function(){
			$(this).html($(this).html().replace('passport style', '<a href="#" class="no-pad js-passport-photo-tooltip">passport style</a>'));
			// $(this).html($(this).html().replace('paspost', '<a href="#" class="no-pad js-passport-photo-tooltip">paspost</a>'));
		});
		
		$("a.js-passport-photo-tooltip")
			.tooltip({
				showURL: false, 			 	
				track: false,
				fade: 250,
				delay: 0, 
				extraClass: "passport-photo", 
				bodyHandler: function() { 
						return photoGuidelines;
				} 
			})
			.click(function(){
				return false;
			});
	}
	
	$(".js-product-tooltip")
		.tooltip({
			showURL: false, 			 	
			track: true,
			fade: 250,
			delay: 0
		})
		.click(function(){
			return false;
		});
	
	$("#js-driving-licence-tooltip")
		.tooltip({
			showURL: false, 			 	
			track: false,
			fade: 250,
			delay: 0,
			extraClass: "driving-licence", 
			bodyHandler: function() {				
				return '<h3><span>' + $('#uiPersonalDetails_uiDataForm_DrivingLicencePopUpContentTitle').val() + '</span>' + $('#uiPersonalDetails_uiDataForm_DrivingLicencePopUpContentText').val() + '</h3>';
			} 
		})
		.click(function(){
			return false;
		});
	
	$("#js-passport-tooltip")
		.tooltip({
			showURL: false, 			 	
			track: false,
			fade: 250,
			delay: 0,
			extraClass: "passport", 
			bodyHandler: function() { 
				return '<h3><span>' + $('#uiPersonalDetails_uiDataForm_PassportPopUpContentTitle').val() + '</span>' + $('#uiPersonalDetails_uiDataForm_PassportPopUpContentText').val() + '</h3>';
			} 
		})
		.click(function(){
			return false;
		});
	
});



