//Global Variables

var redCross = "<img src='images/redcross.gif'/>";
var greenTick = "<img src='images/tick.gif'/>";



//Functions

function showHelp(helpfield){
	if(helpfield.style.display == 'block'){
		helpfield.style.display= 'none';
	}else{
		helpfield.style.display= 'block';
	}
}



function validateDOB(inputField,helpField){
	if(helpField == null){
		helpField = getHelpField(inputField)
	}
	var theDate = inputField.value;
	var regex = /^[1-2][0-9][0-9][0-9]-[0-1][0-9]-[0-3][0-9]$/;
	if(regex.test(theDate)){
		helpField.innerHTML = greenTick;
		return 1;
	}else{
		helpField.innerHTML = redCross;
		return 0;
	}
}


function getHelpField(inputField){
	helpField = inputField.id + "_help"
	helpField = document.getElementById(helpField)
	return helpField
}

function validateNumber(inputField,helpField){
	if (!(isNaN(inputField.value))){
		helpField.innerHTML = greenTick;
		return 1;
	}else{
		helpField.innerHTML = redCross;
		return 0;
	}
}

function validateOptionalNumber(inputField,helpField){
	if(helpField == null){
		helpField = getHelpField(inputField)
	}
	if(inputField.value != ""){
		if (!(isNaN(inputField.value))){
			helpField.innerHTML = greenTick;
			return 1;
		}else{
			helpField.innerHTML = redCross;
			return 0;
		}
	}else{
		helpField.innerHTML = "";
		return 1;
	}
}


function validateTime(inputField,helpField){

	if(helpField == null){
		helpField = getHelpField(inputField)
	}

	var theTime = inputField.value;
	var regex = /^[0-9][0-9]:[0-5]\d:[0-5][0-9]$/;
	if(regex.test(theTime))
	{var goodTime = 1;}

	regex = /^[0-9]:[0-5]\d:[0-5]\d$/;
	if(regex.test(theTime))
	{var goodTime = 1;
	theTime = "0" + theTime;
	inputField.value = theTime;}

	if(goodTime == 1)
	{
		helpField.innerHTML = greenTick;
		return 1;
	}else{
		helpField.innerHTML = redCross;
		return 0;	
	}
}

function validateOptionalTime(inputField,helpField){
	if(helpField == null){
		helpField = getHelpField(inputField)
	}

	if(!inputField.value){
		helpField.innerHTML = "";
		return 1;
	}
	if(validateTime(inputField)){
	helpField.innerHTML = greenTick;
	return 1;
	}else{
	helpField.innerHTML = redCross;
	}
}


function validateFinishTime(){

	var resulttime = document.getElementById('resulttime')
	var resulttime_help = getHelpField(resulttime)
	var except = document.getElementById('except')

	if(except.selectedIndex != 0){
	resulttime.value = "";
	resulttime_help.innerHTML = greenTick;
	return 1
	}else{
		validateTime(resulttime)
	}
}


function showFormat(node){
	if(node.value == ""){
	node.style.backgroundImage = 'url(images/time.gif)';
	}else{
	node.style.backgroundImage = '';
	}
}


//This fuction to be replaced
function validateOtherDistance(racedist,racedistHelp,nsdist,nsdistHelp,nskms){
	var distcode = racedist.value;
	if(distcode == 'ZZ'){
		nsdist.setAttribute("class", "required");
		nskms.disabled=false;
		if (!(isNaN(nskms.value)) && (nskms.value > 0)){
			nsdistHelp.innerHTML = greenTick;
			return 1;
		}else{
			nsdistHelp.innerHTML = redCross;
			return 0;
		}
	}else{
		nsdist.setAttribute("class", "");
		nsdistHelp.innerHTML = "";
		nskms.value = "";
		nskms.disabled=true;
		return 1;
	}
}

function validatePositiveNumber(inputField,inputFieldHelp){
	if (!(isNaN(inputField.value)) && (inputField.value > 0)){
		inputFieldHelp.innerHTML = greenTick;
		return 1;
	}else{
		inputFieldHelp.innerHTML = redCross;
		return 0;
	}
}






function validateNonEmpty(inputField, helpField){
	if(helpField == null){
		helpField = getHelpField(inputField)
	}
	if (inputField.value.length == 0) {
		helpField.innerHTML = redCross;
		return false;
	}else{
		helpField.innerHTML = greenTick;
		return true;
	}
}


function validate_email(inputField, helpField){
	if(helpField == null){
		helpField = getHelpField(inputField)
	}
	with (inputField){
		apos=value.indexOf("@");
		dotpos=value.lastIndexOf(".");
		if (apos<1||dotpos-apos<2) {
			helpField.innerHTML = redCross;
			return false;
		}else{
			helpField.innerHTML = greenTick;
			return true;
		}
	}
}


function checkGender(){
	var idMale = document.getElementById('gendermale');
	var idFemale = document.getElementById('genderfemale');
	var idHelp = document.getElementById('gender_help')
	if ((idFemale.checked == false) && (idMale.checked == false)){
		idHelp.innerHTML = redCross;
		return false;
	}else{
		idHelp.innerHTML = greenTick;
		return true;
	}
}


function checkLink(inputField){
	var str = inputField.value;
	if(str.length != 0){
		inputField.value =  ("http://" + str.replace(/http:\/\//i,""));
	}
}


function checkSelected(inputField, helpField){
	if(helpField == null){
		helpField = getHelpField(inputField)
	
	}
	if(inputField.selectedIndex == 0){
		helpField.innerHTML = redCross;
		return false;
	}else{
		helpField.innerHTML = greenTick;
		return true;
	}
}


function checkPasswd(inputField, helpField){
	//Initialise variables
	var space  = " ";
	passwd  = inputField.value;
	fieldlength = passwd.length;

	//It must be at least 6 characters long. no more that 12 characters and not contain spaces
	if (fieldlength < 6 || fieldlength >12 || (passwd.indexOf(space) > -1)){
    		helpField.innerHTML = redCross;
		return false;
	}else{
    		helpField.innerHTML = greenTick;
		return true;
	}
}

function confirmPasswd(inputFieldA,inputFieldB,helpField){
	var firstPwd = inputFieldA.value;
	var secondPwd = inputFieldB.value;
	if(firstPwd == secondPwd){
    		helpField.innerHTML = greenTick;
		return true;
	}else{
    		helpField.innerHTML = redCross; 
		return false;
	}
}


function setPassword(form){
	newpwd = document.getElementById('passwd');
	newhelp = document.getElementById('passwd_help');
	confirmpwdhelp = document.getElementById('pwdmatch_help');
	confirmpwd = document.getElementById('pwdmatch');
	formhelp = document.getElementById('form_help');
	if(checkPasswd(newpwd, newhelp)  && confirmPasswd(confirmpwd, newpwd, confirmpwdhelp)){
		form.submit();
	}else{
		formhelp.innerHTML = redCross;
	}
}

/*
//Strengthen Password
// it must contain an number
!(passwd.match(/\d/))

// it must not contain a space
passwd.indexOf(space) > -1

//It must start with at least one letter     
!(passwd.match(/^[a-zA-Z]+/)

//It must contain at least one upper case character     
!(passwd.match(/[A-Z]/))

//It must contain at least one lower case character
!(passwd.match(/[a-z]/))

//It must contain at least one special character
!(passwd.match(/\W+/))
*/

