function makeNumber(result){
  var newResult="", decpoint=0; var is_neg=false
  if(!isNaN(result)) return result;
  else result= ""+result; 
  if (result.charAt(0) =="-") is_neg=true;
  for(i=0;i<result.length;i++){
    if( result.charAt(i) == "." || !isNaN (parseInt(result.charAt(i))) )
      newResult+=result.charAt(i); }
  for(i=0;i<newResult.length;i++){
    if (newResult.charAt(i)==".") { decpoint++}}
  if (decpoint>1) {
    return ( alert("\""+result+"\" has "+decpoint+"\n decimal points"))
  }else{
	if (is_neg) {newResult=0-newResult}
    return parseFloat(newResult)}
}
function formatPhone() {
  $phone=document.getElementById(formatPhone.arguments[0]).value; var $newPhone='',$errors='',$j=0;
  for($i=0;$i<$phone.length;$i++) {
	if(!isNaN($phone.charAt($i)) && $phone.charAt($i) != ' ') {
      $newPhone += $phone.charAt($i); $j++;
	  if($j==2 || $j==5) $newPhone +=' ';}}
  document.getElementById(formatPhone.arguments[0]).value=$newPhone;
  if($newPhone.charAt(0) != 0) $errors +='   - it doesn\'t start with a zero, please include your area code.\n';
  if($newPhone.length != 11) $errors +='   - it doesn\'t appear to be the correct length.';
  if($errors) { alert('There\'s a problem with the '+formatPhone.arguments[0]+' number you just entered\n'+$errors);
  document.getElementById(formatPhone.arguments[0]).focus(); }
}

function formatMobile() {
  $mobile=document.getElementById(formatMobile.arguments[0]).value; var $newMobile='',$errors='',$j=0;
  for($i=0;$i<$mobile.length;$i++) {
	if(!isNaN($mobile.charAt($i)) && $mobile.charAt($i) != ' ') {
      $newMobile += $mobile.charAt($i); $j++;
	  if($j==3 || $j==6) $newMobile +=' ';}}
  document.getElementById(formatMobile.arguments[0]).value=$newMobile; alert($newMobile.substring(0,3));
  if($newMobile.substring(0,3) != '021' || $newMobile.substring(0,3) != '025' || $newMobile.substring(0,3) != '027' || $newMobile.substring(0,3) != '029') 
    $errors +='   - it doesn\'t start with valid mobile prefix, please include your area code.\n';
  if($newMobile.length != 12) $errors +='   - it doesn\'t appear to be the correct length.';
  if($errors) { alert('There\'s a problem with the '+formatMobile.arguments[0]+' number you just entered\n'+$errors);
  document.getElementById(formatMobile.arguments[0]).focus(); }
}

function formCheck() { //v1.3 a modification of MM_vaildateForm() v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=formCheck.arguments;
  for (i=0; i<(args.length-2); i+=4) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+=' - '+args[i+1]+' must contain an e-mail address.\n';
      } else if (test.indexOf('isValue')!=-1) { 
        if (val!=args[i+3]) errors+=' - '+args[i+1]+' is not valid.\n';
	  } else if (test.indexOf('isPhone')!=-1) {
		if(val.charAt(0) != 0) errors +=' - '+args[i+1]+' doesn\'t start with a zero, please include your area code.\n';
  		if(val.length != 11) errors +=' - '+args[i+1]+' doesn\'t appear to be the correct length.';
	  } else if (test.indexOf('isCard')!=-1) { 
        if (makeNumber(val)!=makeNumber(args[i+3])) errors+=' - '+args[i+1]+' is not valid.\n';		
      } else if (test!='R') { num = makeNumber(val);
        if (isNaN(num)) errors+=' - '+args[i+1]+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=parseFloat(test.substring(8,p)); max=parseFloat(test.substring(p+1));
          if (num<min || max<num) errors+=' - '+args[i+1]+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += ' - '+args[i+1]+' is required.\n'; }
  } if (errors) { alert('There\'s somthing wrong with your form:\n'+errors); return false; }
  	else { maskScreen(); return true; }
  }
	
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 updateRegions () {
  if(venueList[document.getElementById('region').value]) {
	document.getElementById('venues').style.display='block';
	document.getElementById('venueID').disabled=false;
	document.getElementById('venueID').length=2;
    for($i=0; $i<venueList[document.getElementById('region').value].length; $i++) {
      document.getElementById('venueID').options[$i+2]=new Option(venueList[document.getElementById('region').value][$i], venueListID[document.getElementById('region').value][$i], false, false); 
	  if(document.getElementById('venueID').options[$i+2].value=='disabled') {
		document.getElementById('venueID').options[$i+2].disabled=true;
		document.getElementById('venueID').options[$i+2].style['color']='red';
	  } }
  } else {
	document.getElementById('venueID').length=2;
	document.getElementById('venueID').disabled=true;
  }
}

function showSchool() {
  if(document.getElementById('venueID').value) {
	if(document.getElementById('venueID').value == 'disabled')
	  alert('Sorry, this venue has already been visited this year.');
	else {
     document.getElementById('studentNumber').style.display='block';
     document.getElementById('venueName').value=venueList[document.getElementById('region').value][(document.getElementById('venueID').selectedIndex-2)];
} }
  else document.getElementById('studentNumber').style.display='none';
 }

function selectVenue() {
  if(document.getElementById('venueID').value)
	document.booking.submit();
  else
    alert('You must select a venue before you can continue');
}

function makeBooking () {
	document.getElementById('date').value = makeBooking.arguments[0];
	document.getElementById('s').value = makeBooking.arguments[1];
	document.makeBooking.submit();
}

function logonWindow()
    {
  var windowWidth = 600; var windowHeight = 250;
  var leftDistance = (screen.width - windowWidth) / 2;
  var topDistance = (screen.height - windowHeight) / 2;
  var loginWindow = window.open('assets/includes/logon.php','loginWindow','width=' + windowWidth + ',height=' + windowHeight + ',left=' + leftDistance + ',top=' + topDistance + ',screenX=' + leftDistance + ',screenY=' + topDistance + ',status=no,resize=yes,scrollbars=1');
  loginWindow.focus();
    }