// JavaScript Document
function validateEmail(callerID, strEmail){
	if(!isValidEmail(strEmail)){
		alert('The email address you entered is not a valid email address.');
		return false;
	}

	if(callerID == 'confirmEmail'){
		objEmail = document.getElementById('email');
		if(objEmail.value != strEmail){
			alert('The confirm email address is not the same as the first email address.');
			return false;
		}
	}

	return true;
}

function updateConsignment(caller){
	if(caller.value == 'Other'){
		document.getElementById('consignmentHeader').innerHTML = 'Smart Send consignment/booking number:';
	}else{
		document.getElementById('consignmentHeader').innerHTML = 'Smart Send consignment/booking number *:';
	}
}

function validateForm(formObj){
	alert_message = "";


	alert_message += checkListComplete(formObj,"serviceTopic","Customer Service Query");
	if(formObj.serviceTopic.value != 'Other'){
		alert_message += checkTextBoxComplete(formObj,"consignmentNo","Consignment/Booking number");
	}
	alert_message += checkEmailComplete(formObj,"email","Email Address");
	alert_message += checkEmailComplete(formObj,"confirmEmail","Confirm Email Address");
	alert_message += checkTextAreaComplete(formObj,"serviceQuery","Query");
	if(formObj.email.value != formObj.confirmEmail.value){
		alert_message += "   Email address do not match" + "\n";
	}


		if((document.getElementById('email').value.indexOf('hotmail') >= 0) || (document.getElementById('email').value.indexOf('live.com') >= 0) || (document.getElementById('email').value.indexOf('msn.com') >= 0) || (document.getElementById('email').value.indexOf('windowslive.com') >= 0)){
			alert_message += "   We do not accept Hotmail, Live, MSN or Windowslive email addresses.  Please consider an alternative free email address such as Google's 'Gmail' or Yahoo.\n";
		}


	if(formObj.serviceTopic.value != 'Other'){
		if(!(/^(AOE)\d{6}$/.test(formObj.consignmentNo.value.toUpperCase())) && !(/^(SSD)\d{9}$/.test(formObj.consignmentNo.value.toUpperCase())) && !(/^(SMT)\d{6}$/.test(formObj.consignmentNo.value.toUpperCase()))) {
			alert_message += "   Consignment Number must contain one of the following consignment number formats:";
			alert_message += "\n      'AOE' then six digits or,";
			alert_message += "\n      'SSD' then nine digits or,";
			alert_message += "\n      'SMT' then six digits.";
		}
	}

	if (alert_message) {
		alert ("Your form is incomplete.\n" +
			   "You must supply the following information:\n" +
			   alert_message )
		return false;
	} else {
		return true;
	}
}

function queryMaxKeystrokes(e, caller, maxKeystroke){
	var keyCode = e.keyCode ? e.keyCode : e.which ? e.which : e.charCode;

	switch(keyCode){
		case 8:{
			return true;
			break;
		}
		case 46:{
			return true;
			break;
		}
		case 33:{
			return true;
			break;
		}
		case 34:{
			return true;
			break;
		}
		case 35:{
			return true;
			break;
		}
		case 36:{
			return true;
			break;
		}
		case 37:{
			return true;
			break;
		}
		case 38:{
			return true;
			break;
		}
		case 39:{
			return true;
			break;
		}
		case 40:{
			return true;
			break;
		}
	}

	if(caller.value.length >= maxKeystroke){
		return false;
	}
	return true;
}