// JavaScript Document
function CheckUsernameNotEmpty() {
	if (document.reg.username.value == "") {
		document.getElementById('availability').value = 0
		document.getElementById('AvailabilityNotice').innerHTML = ''
		document.getElementById('AvailabilityCheck').innerHTML = '<a href="javascript:CheckAvailability(document.reg.username.value)">Check Availability</a>'
	}
	
	if (document.reg.username.value != document.reg.validusername.value && document.getElementById('availability').value == 1) { //username has changed since it was checked
		document.getElementById('availability').value = 0
		document.getElementById('AvailabilityNotice').innerHTML = ''
		document.getElementById('AvailabilityCheck').innerHTML = '<a href="javascript:CheckAvailability(document.reg.username.value)">Check Availability</a>'
		document.reg.username.style.backgroundColor='red'
	}
}
function CheckAvailability(username) {
	if (username == '') {
		alert('You must enter a username before you can check availability')
		document.reg.username.focus()
	}
	else
	{
		var redir
		redir = "register_check_username.asp?username="+username
		window.open (redir,"CheckUsername","status,width=340,height=230");
	}
}
function ShowTerms() {
	
		window.open ("terms_plain.asp","CheckUsername","status,scrollbars,width=640,height=460");

}
function TemplateNew(form) {
    
    if (form.description.value == "" || form.description.value == " ") {
        alert("Template description is required.")
        form.description.focus()
        return false;
    }
    return true;
}
function QuoteEmail(form) {
    if (form.email.value == "" || form.email.value == " ") {
        alert("An email address is required.")
        form.email.focus()
        return false;
    }
    return true;
}

function AssessorRegister(form) {

	if (form.availability.value == '0') {
    	alert("You must choose an available username, before you may register.")
		form.username.focus()
		return false;
	}
	if (form.password.value.length <= 5) {
    	alert("Passwords must be at least 6 characters long")
		form.password.focus()
		return false;
	}
	if (form.password.value != form.password2.value) {
    	alert("Re-Enter both passwords and try again.")
		form.password.focus()
		return false;
	}
	
	
	if (form.name.value == "" || form.name.value == " ") {
    	alert("You are required to enter a name.")
		form.name.focus()
		return false;
	}
	if (form.landline.value == "" || form.landline.value == " ") {
    	alert("You are required to enter a landline telephone number.")
		form.landline.focus()
		return false;
	}
	if (form.email.value == "" || form.email.value == " ") {
    	alert("You are required to enter an email address.")
		form.email.focus()
		return false;
	}	
	if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(form.email.value))){
		alert("Your email address is incorrectly formatted.\nPlease try again (check the '@' and '.'s in the email address)");
		form.email.focus()
		return false;
	}
	if (form.email.value != form.email2.value) {
    	alert("Your email addresses do not match, please check you have entered the same email address in both fields, and resubmit the form")
		form.email.focus()
		return false;
	}

	if (form.recaptcha_response_field.value == "") {
    	alert("You are required to enter the verification code.")
		form.recaptcha_response_field.focus()
		return false;
	}	

	if (form.AccessCentres.value == ""){
    	alert("You are required to select at least one Access Centre.")
		form.AccessCentres.focus()
		return false;
	}

	//if (!form.accept.checked)
	//{
	//	alert('You must indicate your acceptance of our terms and conditions.');
	//	return false;
	//}
return true;
}

function AssessorUpdateDetails(form) {
	
	if (form.name.value == "" || form.name.value == " ") {
    	alert("You are required to enter a name.")
		form.name.focus()
		return false;
	}
	if (form.landline.value == "" || form.landline.value == " ") {
    	alert("You are required to enter a landline telephone number.")
		form.landline.focus()
		return false;
	}
	if (form.email.value == "" || form.email.value == " ") {
    	alert("You are required to enter an email address.")
		form.email.focus()
		return false;
	}	
	if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(form.email.value))){
		alert("Your email address is incorrectly formatted.\nPlease try again (check the '@' and '.'s in the email address)");
		form.email.focus()
		return false;
	}
	if (form.email.value != form.email2.value) {
    	alert("Your email addresses do not match, please check you have entered the same email address in both fields, and resubmit the form")
		form.email.focus()
		return false;
	}
	
	//if (!form.accept.checked)
	//{
	//	alert('You must indicate your acceptance of our terms and conditions.');
	//	return false;
	//}
return true;
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function MM_callJS(jsStr) { //v2.0
  return eval(jsStr)
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_jumpMenuGo(selName,targ,restore){ //v3.0
  var selObj = MM_findObj(selName); if (selObj) MM_jumpMenu(targ,selObj,restore);
}

function Checkout(form) {

	if (form.name.value == "" || form.name.value == " ") {
    	alert("You are required to enter a name.")
		form.name.focus()
		return false;
	}

	if (form.address.value == "" || form.address.value == " ") {
    	alert("You are required to enter your address.")
		form.address.focus()
		return false;
	}

	if (form.telephone.value == "" || form.telephone.value == " ") {
    	alert("You are required to enter your telehone number.")
		form.telephone.focus()
		return false;
	}

	if (form.email.value == "" || form.email.value == " ") {
    	alert("You are required to enter an email address.")
		form.email.focus()
		return false;
	}	
	
	if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(form.email.value))){
		alert("Your email address is incorrectly formatted.\nPlease try again (check the '@' and '.'s in the email address)");
		form.email.focus()
		return false;
	}

	if (form.recaptcha_response_field.value == "") {
    	alert("You are required to enter the verification code.")
		form.recaptcha_response_field.focus()
		return false;
	}	

return true;
}
function QuoteStep1(form) {

	if (form.studentname.value == '' || form.studentname.value == ' ') {
    	alert("You must provide a student name.")
		form.studentname.focus()
		return false;
}
//  05/10/2009: Daniel
//  Removed required field requirement : Your Reference	
//
//	if (form.description.value == '' || form.description.value == ' ') {
//    	alert("You must provide a quote description to help you easily identify this quote once finalised.")
//		form.description.focus()
//		return false;
//	}
FreezeScreen('Your request is being processed')
return true;
}

function FreezeScreen(msg) {
  scroll(0,0);
  var outerPane = document.getElementById('FreezePane');
  var innerPane = document.getElementById('InnerFreezePane');
  if (outerPane) outerPane.className = 'FreezePaneOn';
  if (innerPane) innerPane.innerHTML = innerPane.innerHTML + msg;
}

var isIE = document.all?true:false;
var isNS = document.layers?true:false;

function onlyNumbers(e) {
var _ret = true;
if (isIE) {
if (window.event.keyCode < 48 || window.event.keyCode > 57) {
window.event.keyCode = 0;
_ret = false;
}
}
if (isNS) {
if (e.which < 46 || e.which > 57) {
e.which = 0;
_ret = false;
}
}
return (_ret); 
}

function onlyDigits(e) {
    var _ret = true;
    if (isIE) {
        if (window.event.keyCode < 46 || window.event.keyCode > 57) {
            window.event.keyCode = 0;
            _ret = false;
        }
    }
    if (isNS) {
        if (e.which < 46 || e.which > 57) {
            e.which = 0;
            _ret = false;
        }
    }
    return (_ret);
}

function Format2Dec(val) {
    newval = val.value
    if (newval == '') {
        newval = '0'
    }
    newval = newval.replace("£", "")
    newval2 = parseFloat(newval, 10)
    newval2 = newval2.toFixed(2)
    val.value = newval2
}
