// World's Greatest Shave 2007 javascript

function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

function changeImages() {
	if (document.images && (preloadFlag == true)) {
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
		}
	}
}

var preloadFlag = false;
function preloadImages() {
	if (document.images) {
		stepnav_01_over = newImage("/images/stepnav_01_over.gif");
		stepnav_02_over = newImage("/images/stepnav_02_over.gif");
		stepnav_03_over = newImage("/images/stepnav_03_over.gif");
		stepnav_04_over = newImage("/images/stepnav_04_over.gif");
		stepnav_05_over = newImage("/images/stepnav_05_over.gif");
		stepnav_06_over = newImage("/images/stepnav_06_over.gif");
		
		home_over = newImage("/images/nav/home_over.gif");
		about_over = newImage("/images/nav/about_over.gif");
		howto_over = newImage("/images/nav/howto_over.gif");
		businesses_over = newImage("/images/nav/businesses_over.gif");
		top30_over = newImage("/images/nav/top30_over.gif");
		locations_over = newImage("/images/nav/locations_over.gif");
		gallery_over = newImage("/images/nav/gallery_over.gif");
		news_over = newImage("/images/nav/news_over.gif");
		shavepage_over = newImage("/images/nav/shavepage_over.gif");
		faq_over = newImage("/images/nav/faq_over.gif");
		preloadFlag = true;
	}
}

function validateLogin() {
	var isErr = false, errMsg = 'Some information was either missing or incorrect. Please check the following:\n\n', field = document.frmLogin;
	if(field.UserID.value=='') {
		isErr = true; errMsg += '* Your user name \n';
	}
	if(field.Password.value=='') {
		isErr = true; errMsg += '* Your password \n';
	}
	if(isErr) {
		alert(errMsg); return false;
	} else {
		return true;
	}
}

function validateSearch() {
	var isErr = false, errMsg = 'Some information was either missing or incorrect. Please check the following:\n\n', field = document.frmSearch;
	if(field.searchwords.value=='') {
		isErr = true; errMsg += '* Enter at least one key word to search for \n';
	}
	if(isErr) {
		alert(errMsg); return false;
	} else {
		return true;
	}
}

function validateContact() {
	var isErr = false, errMsg = 'Some information was either missing or incorrect. Please check the following:\n\n', field = document.frmAction;
	if(field.firstname.value=='') {
		isErr = true; errMsg += '* Your first name is missing \n';
	}
	if(field.lastname.value=='') {
		isErr = true; errMsg += '* Your last name is missing \n';
	}
	if(field.email.value=='') {
		isErr = true; errMsg += '* Your email address is missing \n';
	} else {
		if(!isEmail(field.email.value)) {
			isErr = true; errMsg += '* Your email address must be a valid format \n';
		}
	}
	if(field.state.value=='') {
		isErr = true; errMsg += '* Your state is missing \n';
	}
	if(field.comments.value=='') {
		isErr = true; errMsg += '* Your comment/question is missing \n';
	}
	if(isErr) {
		alert(errMsg); return false;
	} else {
		return true;
	}
}

Array.prototype.compareArrays = function(arr) {
    if (this.length != arr.length) return false;
    for (var i = 0; i < arr.length; i++) {
        if (this[i].compareArrays) { //likely nested array
            if (!this[i].compareArrays(arr[i])) return false;
            else continue;
        }
        if (this[i] != arr[i]) return false;
    }
    return true;
}

Array.prototype.exists = function (x) {
    for (var i = 0; i < this.length; i++) {
        if (this[i] == x) return true;
    }
    return false;
}

function validatePost() {
	var isErr = false, errMsg = 'Some information was either missing or incorrect. Please check the following:\n\n', field = document.frmAction;
	if(field.title.value=='') {
		isErr = true; errMsg += '* The title of your post is missing \n';
	}
	if(field.content.value=='') {
		isErr = true; errMsg += '* The content of your post is missing \n';
	}
	
	var content = field.content.value;
	var contentarray = new Array();
	contentarray = content.split(" ");
	
	badwords = new Array();
	badwords[0] = 'fuck';
	badwords[1] = 'cunt';
	badwords[2] = 'shit';
	badwords[3] = 'dick';
	badwords[4] = 'arse';
	badwords[5] = 'bitch';
	
	
	var arLen=badwords.length;
	for ( var i=0, len=arLen; i<len; ++i ){
	  if(contentarray.exists(badwords[i])==true){
		isErr = true;
		errMsg += '* Do not use explicit language in your post \n';
	  }
	}

	
	if(field.chkAgree.checked==false){
		isErr = true; errMsg += '* You must agree to the terms and conditions, and check the box \n';
	}
	if(isErr) {
		alert(errMsg); return false;
	} else {
		return true;
	}
}

function validateEditPost() {
	var isErr = false, errMsg = 'Some information was either missing or incorrect. Please check the following:\n\n', field = document.frmAction;
	if(field.title.value=='') {
		isErr = true; errMsg += '* The title of your post is missing \n';
	}
	if(field.content.value=='') {
		isErr = true; errMsg += '* The content of your post is missing \n';
	}
	if(isErr) {
		alert(errMsg); return false;
	} else {
		return true;
	}
}

function validatePhoto() {
	var isErr = false, errMsg = 'Some information was either missing or incorrect. Please check the following:\n\n', field = document.frmAction;
	if(field.imagefile.value=='') {
		isErr = true; errMsg += '* The file to upload from your computer is missing \n';
	}
	if(field.caption.value=='') {
		isErr = true; errMsg += '* The photo caption is missing \n';
	}
	if(field.chkAgree.checked==false){
		isErr = true; errMsg += '* You must agree to the terms and conditions, and check the box \n';
	}
	if(isErr) {
		alert(errMsg); return false;
	} else {
		return true;
	}
}

function validateEditPhoto() {
	var isErr = false, errMsg = 'Some information was either missing or incorrect. Please check the following:\n\n', field = document.frmAction;
	if(field.caption.value=='') {
		isErr = true; errMsg += '* The photo caption is missing \n';
	}
	if(field.chkAgree.checked==false){
		isErr = true; errMsg += '* You must agree to the terms and conditions, and check the box \n';
	}
	if(isErr) {
		alert(errMsg); return false;
	} else {
		return true;
	}
}

function validateForgotPassword() {
	var isErr = false, errMsg = 'Some information was either missing or incorrect. Please check the following:\n\n', field = document.frmLogin;
	if(field.email.value=='') {
		isErr = true; errMsg += '* Your email address is missing \n';
	} else {
		if(!isEmail(field.email.value)) {
			isErr = true; errMsg += '* Your email address must be a valid format \n';
		}
	}
	if(isErr) {
		alert(errMsg); return false;
	} else {
		return true;
	}
}

function popupWindow(theURL,winName,txtHeight,txtWidth,features,centered) {
	if(centered == 1){
  /* Centre the popup Window  */
		txtHeight = (txtHeight > screen.height) ? screen.height : txtHeight;
		txtWidth = (txtWidth > screen.width) ? screen.width : txtWidth;
  var xcorner = parseInt((screen.width - txtWidth)/2);
  var ycorner = parseInt((screen.height - txtHeight)/2);
  
  features = features + ',left=' + xcorner + ',top=' + ycorner + ', height=' + txtHeight + ', width=' + txtWidth;
		} else {
		features = features + ', height=' + txtHeight + ', width=' + txtWidth;
	}
		window.open(theURL,winName,features);
}

function autocompleteCertName_Group() {
	field = document.frmRegistration;
	if(field.groupname.value!=''){
		field.certificate_name.value=field.groupname.value;
	}
}

function autocompleteCertName() {
	field = document.frmRegistration;
	if((field.firstname.value!='') && (field.lastname.value!='')){
		field.certificate_name.value=field.firstname.value+' '+field.lastname.value;
	}
}

function autocompleteEmail() {
	field = document.frmRegistration;
	if((field.firstname.value!='') && (field.lastname.value!='')){
		var new_email = field.firstname.value.toLowerCase() + field.lastname.value.toLowerCase() + '@worldsgreatestshave.com';
		new_email = removeSingleQuotes(new_email);
		field.email.value=new_email;
	}
}

function RTrim(value){
	var w_space = String.fromCharCode(32);
	var v_length = value.length;
	var strTemp = "";
	if(v_length < 0){
		return "";
	}
	var iTemp = v_length -1;
	while(iTemp > -1){
		if(value.charAt(iTemp) == w_space){
		} else {
			strTemp = value.substring(0,iTemp +1);
			break;
		}
		iTemp = iTemp-1;
	}
	return strTemp;
}

function LTrim(value){
	var w_space = String.fromCharCode(32);
	if(v_length < 1){
		return "";
	}
	var v_length = value.length;
	var strTemp = "";
	var iTemp = 0;
	while(iTemp < v_length){
		if(value.charAt(iTemp) == w_space){
		} else {
			strTemp = value.substring(iTemp,v_length);
			break;
		}
		iTemp = iTemp + 1;
	}
	return strTemp;
}

function validateUpdate() {
	var isErr = false,errMsg = 'Some required information was either missing or incorrect. Please check the following:\n\n',field = document.frmAction;
	if(field.title.value==''){
		isErr = true; errMsg += '* Your title \n';
	}
	if(field.firstname.value==''){
		isErr = true; errMsg += '* Your first name \n';
	}
	if(field.lastname.value==''){
		isErr = true; errMsg += '* Your last name \n';
	}
	if(field.address1.value==''){
		isErr = true; errMsg += '* Your street address \n';
	}
	if(field.suburb.value==''){
		isErr = true; errMsg += '* Your suburb/town name \n';
	}
	if(field.state.value==''){
		isErr = true; errMsg += '* Your state \n';
	}
	if((field.postcode.value=='') && (field.state.value!='Int')){
		isErr = true; errMsg += '* Your post code \n';
	}
	if((field.postcode.value!='') && (field.state.value!='Int')){
		if(!isAUPostcode(field.postcode.value)){
			isErr = true; errMsg += '* Your post code must have 4 digits (e.g. 2000) \n';
		}
	}
	if (field.email.value==''){
		isErr = true; errMsg += '* Your email address \n';
	} else {
		if(!isEmail(field.email.value)){
			isErr = true; errMsg += '* Your email address must be a valid format \n';
		}
	}
	if(field.phone_daytime.value==''){
		isErr = true; errMsg += '* Your daytime contact number \n';
	}
	if((field.phone_daytime.value!='') && (field.state.value!='Int')){
		if(!isNumeric(field.phone_daytime.value)){
			isErr = true; errMsg += '* Your daytime contact number must be numeric \n';
		}
	}
	if(field.phone_mobile.value!=''){
		if(!isNumeric(field.phone_mobile.value)){
			isErr = true; errMsg += '* Your mobile number must be numeric \n';
		}
	}
	if(isErr) {
		alert(errMsg); 
		return false;
	} else {
		return true;
	}
}

function validateMaterials() {
	var isErr = false,errMsg = 'Some required information was either missing or incorrect. Please check the following:\n\n',field = document.frmAction;
	if((field.Web_Poster_Qty.value!='') && (!isInteger(field.Web_Poster_Qty.value))){
		isErr = true; errMsg += '* Poster quantity must be a number only (e.g. 1, 5, etc) \n';
	}
	if((field.Web_Instruction_Guide_Qty.value!='') && (!isInteger(field.Web_Instruction_Guide_Qty.value))){
		isErr = true; errMsg += '* Instruction guide quantity must be a number only (e.g. 1, 5, etc) \n';
	}
	if((field.Web_Receipt_Book_Qty.value!='') && (!isInteger(field.Web_Receipt_Book_Qty.value))){
		isErr = true; errMsg += '* Receipt book quantity must be a number only (e.g. 1, 5, etc) \n';
	}
	if((field.Web_Bank_Deposit_Slip_Qty.value!='') && (!isInteger(field.Web_Bank_Deposit_Slip_Qty.value))){
		isErr = true; errMsg += '* Bank deposit book quantity must be a number only (e.g. 1, 5, etc) \n';
	}
	if(isErr) {
		alert(errMsg); 
		return false;
	} else {
		return true;
	}
}

function validateStep1() {
	var isErr = false,errMsg = 'Some required information was either missing or incorrect. Please check the following:\n\n',field = document.frmRegistration;
	regoType = -1;
	for (i=field.rdoType.length-1; i > -1; i--) {
		if (field.rdoType[i].checked) {
			regoType = i;
		}
	}
	if (regoType == -1) {
		isErr = true; errMsg += '* The type of registration \n';
	} else {
		if(field.rdoType[1].checked == true) {
			groupType = -1;
			for (i=field.rdoGroupType.length-1; i > -1; i--) {
				if (field.rdoGroupType[i].checked) {
					groupType = i;
				}
			}
			if (groupType == -1) {
				isErr = true; errMsg += '* The new group type \n';
			}
		}
	}
	if(isErr) {
		alert(errMsg); 
		return false;
	} else {
		return true;
	}
}

function isInteger(strValue){
	var objRegExp  = /(^-?\d\d*$)/;
	return objRegExp.test(strValue);
}

function isAUPostcode(strValue){
	if(strValue.length!=4){
		return false;
	} else {
		var objRegExp  = /^\d{4}/;
		return objRegExp.test(strValue);
	}
}

function isAUPhoneNumber(strValue){
	var objRegExp  = /^\d{2}(\ )\d{4}\1\d{4}/;
	return objRegExp.test(strValue);
}

function isNumeric(strValue){
	// different to isInteger, as this one accepts spaces
	isNotNumber = false;
	numbers = '0123456789 ';
	for (i=0; i<strValue.length; i++) {
		if (numbers.indexOf(strValue.charAt(i),0) == -1) isNotNumber = true;
	}
	if(isNotNumber) {
		return false;
	} else {
		return true;
	}
}

function isEmail(strValue){
	// var objRegExp = /(^[a-z]([a-z_\.]*)@([a-z_\.]*)([.][a-z]{3})$)|(^[a-z]([a-z_\.]*)@([a-z_\.]*)(\.[a-z]{3})(\.[a-z]{2})*$)/i;
	var objRegExp = /^(\w+[\.|-])*\w+@(\w+[\.|-])*\w+\.\w{2,4}$/
	return objRegExp.test(strValue);
}

function removeCommas(strValue) {
	var objRegExp = /,/g; //search for commas globally
	return strValue.replace(objRegExp,'');
}

function removeSingleQuotes(strValue) {
	var objRegExp = /'/g; //search for commas globally
	return strValue.replace(objRegExp,'');
}

function tidyPhoneNo(strValue){
	strValue = strValue.replace(/\./g," "); // replace dots with spaces
	strValue = strValue.replace(/\,/g,""); // remove commas
	strValue = strValue.replace(/-/g," "); // replace dashes with spaces
	strValue = strValue.replace(/\(/g,""); // remove (
	strValue = strValue.replace(/\)/g,""); // remove )
	return strValue;
}

function validateStep2() {
	var isErr = false,errMsg = 'Some required information was either missing or incorrect. Please check the following:\n\n',field = document.frmRegistration;
	if(field.title.value==''){
		isErr = true; errMsg += '* Your title \n';
	}
	if(field.firstname.value==''){
		isErr = true; errMsg += '* Your first name \n';
	}
	if(field.lastname.value==''){
		isErr = true; errMsg += '* Your last name \n';
	}
	if(field.address1.value==''){
		isErr = true; errMsg += '* Your street address \n';
	}
	if(field.suburb.value==''){
		isErr = true; errMsg += '* Your suburb/town name \n';
	}
	if(field.state.value==''){
		isErr = true; errMsg += '* Your state \n';
	}
	if(field.postcode.value==''){
		isErr = true; errMsg += '* Your post code \n';
	}
	if((field.postcode.value!='') && (field.state.value!='Int')){
		if(!isAUPostcode(field.postcode.value)){
			isErr = true; errMsg += '* Your post code must have 4 digits (e.g. 2000) \n';
		}
	}
	if (field.email.value==''){
		isErr = true; errMsg += '* Your email address \n';
	} else {
		if(!isEmail(field.email.value)){
			isErr = true; errMsg += '* Your email address must be a valid format \n';
		}
	}
	if(field.phone_daytime.value==''){
		isErr = true; errMsg += '* Your daytime contact number \n';
	}
	if((field.phone_daytime.value!='') && (field.state.value!='Int')){
		if(!isNumeric(field.phone_daytime.value)){
			isErr = true; errMsg += '* Your daytime contact number must be numeric \n';
		}
	}
	if(field.phone_mobile.value!=''){
		if(!isNumeric(field.phone_mobile.value)){
			isErr = true; errMsg += '* Your mobile number must be numeric \n';
		}
	}
	if((field.shavecolour[0].checked==false) && (field.shavecolour[1].checked==false)){
		isErr = true; errMsg += '* Whether you\'re going to shave or colour \n';
	}
	if(isErr) {
		alert(errMsg); 
		return false;
	} else {
		return true;
	}
}

function validateStep2NewGroup() {
	var isErr = false,errMsg = 'Some required information was either missing or incorrect. Please check the following:\n\n',field = document.frmRegistration;
	if(field.groupname.value==''){
		isErr = true; errMsg += '* Your group\'s name \n';
	}
	if(field.total_members.value==''){
		isErr = true; errMsg += '* The number of group members \n';
	}
	if(field.total_members.value!=''){
		if(!isInteger(field.total_members.value)){
			isErr = true; errMsg += '* The number of group members must be numeric (e.g. 5) \n';
		}
	}
	if(field.title.value==''){
		isErr = true; errMsg += '* Your title \n';
	}
	if(field.firstname.value==''){
		isErr = true; errMsg += '* Your first name \n';
	}
	if(field.lastname.value==''){
		isErr = true; errMsg += '* Your last name \n';
	}
	if(field.address1.value==''){
		isErr = true; errMsg += '* Your street address \n';
	}
	if(field.suburb.value==''){
		isErr = true; errMsg += '* Your suburb/town name \n';
	}
	if(field.state.value==''){
		isErr = true; errMsg += '* Your state \n';
	}
	if(field.postcode.value==''){
		isErr = true; errMsg += '* Your post code \n';
	}
	if((field.postcode.value!='') && (field.state.value!='Int')){
		if(!isAUPostcode(field.postcode.value)){
			isErr = true; errMsg += '* Your post code must have 4 digits (e.g. 2000) \n';
		}
	}
	if (field.email.value==''){
		isErr = true; errMsg += '* Your email address \n';
	} else {
		if(!isEmail(field.email.value)){
			isErr = true; errMsg += '* Your email address must be a valid format \n';
		}
	}
	if(field.phone_daytime.value==''){
		isErr = true; errMsg += '* Your daytime contact number \n';
	}
	if((field.phone_daytime.value!='') && (field.state.value!='Int')){
		if(!isNumeric(field.phone_daytime.value)){
			isErr = true; errMsg += '* Your daytime contact number must be numeric \n';
		}
	}
	if(field.phone_mobile.value!=''){
		if(!isNumeric(field.phone_mobile.value)){
			isErr = true; errMsg += '* Your mobile number must be numeric \n';
		}
	}
	if(isErr) {
		alert(errMsg); 
		return false;
	} else {
		return true;
	}
}

function validateStep2ExistingGroup() {
	var isErr = false,errMsg = 'Some required information was either missing or incorrect. Please check the following:\n\n',field = document.frmRegistration;
	if(field.groupname.value==''){
		isErr = true; errMsg += '* Your group\'s name \n';
	}
	if(field.title.value==''){
		isErr = true; errMsg += '* Your title \n';
	}
	if(field.firstname.value==''){
		isErr = true; errMsg += '* Your first name \n';
	}
	if(field.lastname.value==''){
		isErr = true; errMsg += '* Your last name \n';
	}
	if(field.address1.value==''){
		isErr = true; errMsg += '* Your street address \n';
	}
	if(field.suburb.value==''){
		isErr = true; errMsg += '* Your suburb/town name \n';
	}
	if(field.state.value==''){
		isErr = true; errMsg += '* Your state \n';
	}
	if(field.postcode.value==''){
		isErr = true; errMsg += '* Your post code \n';
	}
	if((field.postcode.value!='') && (field.state.value!='Int')){
		if(!isAUPostcode(field.postcode.value)){
			isErr = true; errMsg += '* Your post code must have 4 digits (e.g. 2000) \n';
		}
	}
	if (field.email.value==''){
		isErr = true; errMsg += '* Your email address \n';
	} else {
		if(!isEmail(field.email.value)){
			isErr = true; errMsg += '* Your email address must be a valid format \n';
		}
	}
	if(field.phone_daytime.value==''){
		isErr = true; errMsg += '* Your daytime contact number \n';
	}
	if((field.phone_daytime.value!='') && (field.state.value!='Int')){
		if(!isNumeric(field.phone_daytime.value)){
			isErr = true; errMsg += '* Your daytime contact number must be numeric \n';
		}
	}
	if(field.phone_mobile.value!=''){
		if(!isNumeric(field.phone_mobile.value)){
			isErr = true; errMsg += '* Your mobile number must be numeric \n';
		}
	}
	if(isErr) {
		alert(errMsg); 
		return false;
	} else {
		return true;
	}
}

function validateStep3() {
	var isErr = false,errMsg = 'Some required information was either missing or incorrect. Please check the following:\n\n',field = document.frmRegistration;
	if(field.password1.value==''){
		isErr = true; errMsg += '* The first password field is blank \n';
	}
	if(field.password2.value==''){
		isErr = true; errMsg += '* The second password field is blank \n';
	}
	if((field.password1.value!='') && (field.password2.value!='')){
		if(field.password1.value!=field.password2.value){
			isErr = true; errMsg += '* The two passwords you entered do not match \n';
		}
		if((field.password1.value.length<5) || (field.password2.value.length<5)){
				isErr = true; errMsg += '* The two passwords must be at least 5 characters long \n';
		}
	}
	if(isErr) {
		alert(errMsg); 
		return false;
	} else {
		return true;
	}
}

function validateStep3Return() {
	var isErr = false,errMsg = 'Some required information was either missing or incorrect. Please check the following:\n\n',field = document.frmRegistration;
	if((field.password1.value!='') && (field.password2.value!='')){
		if(field.password1.value!=field.password2.value){
			isErr = true; errMsg += '* The two passwords you entered do not match \n';
		}
		if((field.password1.value.length<5) || (field.password2.value.length<5)){
				isErr = true; errMsg += '* The two passwords must be at least 5 characters long \n';
		}
	}
	if(isErr) {
		alert(errMsg); 
		return false;
	} else {
		return true;
	}
}

function validateStep4() {
	var isErr = false,errMsg = 'Some required information was either missing or incorrect. Please check the following:\n\n',field = document.frmRegistration;
	if(field.chkWaiver.checked==false){
		isErr = true; errMsg += '* You must agree to the terms in the Waiver and Privacy Statement and check the box \n';
	}
	if(isErr) {
		alert(errMsg); 
		return false;
	} else {
		return true;
	}
}

function validateDonate() {
	var isErr = false,errMsg = 'Some required information was either missing or incorrect. Please check the following:\n\n',field = document.frmAction;
	if((field.donationType[0].checked==false) && (field.donationType[1].checked==false)){
		isErr = true; errMsg += '* The type of donation you are making \n';
	}
	if(isErr) {
		alert(errMsg); 
		return false;
	} else {
		return true;
	}
}

function uncheckGroupTypes() {
	for (i=document.frmRegistration.rdoGroupType.length-1; i > -1; i--) {
		document.frmRegistration.rdoGroupType[i].checked=false;
	}
}

