addLoadListener(init);

function init()
{
   // var ppsn = document.getElementById("ppsn");
  //  ppsn.onchange = checkPPSN;
   
    var ajaxrequest = null; // initialise ajaxrequest 

    var ROIlist = document.getElementById("ROIlist");  //  disable ROI college list when loading
    ROIlist.className = "hidden";
    
    var UKlist = document.getElementById("UKlist");   // disable UK college list when loading
    //notattending.className = "hidden";
    UKlist.className = "hidden";
    
    var countryROI = document.getElementById("countryROI");  // enable ROI college list when clicked
    countryROI.onclick = showROIlist;//showAttending;
    
    var countryUK = document.getElementById("countryUK");  // enable UK college list when clicked
    countryUK.onclick = showUKlist;//showAttending;
    
  /* var firstName = document.getElementById("firstName");	// validate first name onchange
    firstName.onchange = checkFirstName;
     
    var lastName = document.getElementById("lastName");	// validate last name onchange
    lastName.onchange = checkLastName;
  */
    var email = document.getElementById("email");
    email.onchange = checkEmail;

    return true;
}
/*
function checkFirsName ()
    {
	var enteredFirstName = document.getElementById("firstName");
    var firstName = enteredFirstName.value;
	var validFirstName = /^[a-zA-Z- ]*$/;
    var isValid = validFirstName.test(firstName);
    
    if (isValid == false) {
        alert("Not a valid First Name! Please correct!");
        var F = document.getElementById("firstName");
        if (F != null) {
                F.value ="";
                 setTimeout('document.getElementById("firstName").focus()',0);
            }
    }

function checkLastName ()
    {
	var enteredLastName = document.getElementById("lastName");
    var lastName = enteredLastName.value;
	var validLastName = /^[a-zA-Z- ']*$/;
    var isValid = validLastName.test(lastName);
    
    if (isValid == false) {
        alert("Not a valid Last Name! Please correct!");
        var L = document.getElementById("lastName");
        if (L != null) {
                L.value ="";
                 setTimeout('document.getElementById("lastName").focus()',0);
            }
    }
}	
*/
function showROIlist()
    {
        var ROIlist = document.getElementById("ROIlist");
        ROIlist.className="";
        var UKlist = document.getElementById("UKlist");
        UKlist.className="hidden";
	
        return true;
}

function showUKlist()
    {
        var UKlist = document.getElementById("UKlist");
        UKlist.className="";
	var ROIlist = document.getElementById("ROIlist");
        ROIlist.className="hidden";
        
        return true;
}

function hideROIlist()
    {
        var ROIlist = document.getElementById("ROIlist");
        ROIlist.className="hidden";
        
        return true;
}


function hideUKlist()
    {
        var UKlist = document.getElementById("UKlist");
        UKlist.className="hidden";
        
        return true;
}

//_____________________ Register - step 1 ___________________
/*

}*/



function checkEmail() {
    var enteredEmail = document.getElementById("email");
    var email = enteredEmail.value;
	var validEmail = /^\w(\.?\w)*@\w(\.?[-\w])*\.[a-z]{2,4}$/;
    var isValid = validEmail.test(email);
    
    if (isValid == false) {
        alert("Not a valid e-mail address! Please correct!");
        var t = document.getElementById("email");
        if (t != null) {
                t.value ="";
                 setTimeout('document.getElementById("email").focus()',0);
            }
    } else {
        var enteredEMAIL = document.getElementById("email").value;
        createRequest(); 
        var url = "getEMAIL-ajax.php?email=" + enteredEMAIL;  // Head Rush Ajax p.85!
        ajaxrequest.open("GET", url, true);
        ajaxrequest.onreadystatechange = checkEmailExists;
        ajaxrequest.send(null);
    }
}
function checkEmailExists() {
    if (ajaxrequest.readyState == 4) {
        if (ajaxrequest.status == 200) {
            /* get the response from the server */ // Head Rush Ajax p.109!
            var match = ajaxrequest.responseText;
            var email = document.getElementById("email").value; //
           //  alert ("Server has responded with: " + ajaxrequest.responseText);
          // alert ("Server has responded with: " + match);
           // alert ("Entered email is: " + email);
            if (match == email) { // email already exists in database - alert user to this
                alert("This e-mail address is already in the database!\nPlease retrieve your login details - click on\n the Login link at the top of the page\n and then on Retrieve my login details!");
                // and delete ppsn from textbox
                var tb = document.getElementById("email").value;
               // if (tb != null) {
                document.getElementById("email").value ="";
                setTimeout('document.getElementById("email").focus()',0);
                ajaxrequest = createRequest(); //added 25 April 07
                }
        } else {
            alert("Error: Server has responded with: " + ajaxrequest.status);
    }
}
}

function validateDob() {
    var enteredDOB = document.getElementById("dob");
    var dob = enteredDOB.value;
    var validDate = /[0123]\d-0|1[1-9]-1|29|09|0\d/;	// match dd-mm-yyyy
    var isValid = validDate.test(dob);
    
    if (isValid == false) {
        alert("Not a valid date! Must be DD-MM-YYYY format!");
        enteredDOB.value = "";
    }
}

function validateAge() {
    var enteredAge = document.getElementById("age");
    var age = enteredAge.value;
    if (age < 16 || (isNaN(age))) {
        alert("Not a valid age!");
        enteredAge.value = "";
    }
}

function forceAge() {
    var enteredAge = document.getElementById("age");
    var age = enteredAge.value;
    if (age == null) {
        alert("You must enter the trainee's current age!");
       // enteredAge
    }
}

/*______________________________ A J A X    F U N C T I O N S _____________*/
var ajaxrequest = null; // variable to hold the request object

function createRequest() {
    try {
        ajaxrequest = new XMLHttpRequest();
    } catch (trymicrosoft) {
        try {
            ajaxrequest = newActiveXObject("Msxml12.XMLHTTP");
        } catch (othermicrosoft) {
            try {
                ajaxrequest = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (failed) {
                ajaxrequest = null;
            }
        }
    }
    if (ajaxrequest == null)
     alert("Error creating request object!");
}

function getFetacModules() {    // retrieve fetac module names and codes
    createRrequest();
    var url = "getFetacModules-ajax.php";    // url of page that retrieves data from db
    ajaxrequest.open("POST", url, true);
    ajaxrequest.send(null);
}

/*__________________________ E N D     A J A X _______________________________*/
function addLoadListener(fn)
{
    if (typeof window.addEventListener != 'undefined')
    {
        window.addEventListener('load', fn, false);
    }
    else if (typeof document.addEventListener != 'undefined')
    {
        document.addEventListener('load', fn, false);
    }
    else if (typeof window.attachEvent != 'undefined')
    {
        window.attachEvent('onload', fn);
    }
    else
    {
        var oldfn = window.onload;
        if (typeof window.onload != 'function')
        {
            window.onload = fn;
        }
        else
        {
            window.onload = function()
            {
                oldfn();
                fn();
            };
        }
    }
}
