<!-- Hide script from old browsers

		// AJAX stuff
		///// NB in function below, it looks like the rights that PHP has on the remote server do not allow this script to access files above the level of the web root!!! Obvious reeally, as it's client-side scrripting!!! will have to move some functions! (Though probably only contact_xml.php)
		
		function checkLogin(action) {
			username = document.getElementById('username').value;
			password = document.getElementById('password').value;
			
			if((username.length == 0) || (password.length == 0)) {
					alert("You need to enter a username and password before you can login or register");
					return
				}				   
			data = "username="+username+"&password="+password+"&login="+action;
			  //alert(data); // what type of object was created
			getXMLHTTPRequest(data, '/competition/contact_xml.php');
		}

		function getXMLHTTPRequest(data, url) {
			if (window.XMLHttpRequest) {
				req = new XMLHttpRequest();
			} else if (window.ActiveXObject) {
				req = new ActiveXObject('Microsoft.XMLHTTP');
			} 
			
			if(req){
			  req.onreadystatechange = getContactDetails;
			  req.open('POST', url, true);
			  req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			  req.send(data)
			  //alert("Data: "+data);
			} else {
			  alert("Sorry, can't do it");
			}
		} // end function

		function getContactDetails() {
			if(req.readyState == 4){ // checks the state of the request. 4 means okay
			  if (req.status == 200){ // gets the response code of that request 200 means okay!
        		//alert(req.responseXML)
				
				// PLEASE NOTE: CAPITAL letters are not used for the XML node names!
       			var status = req.responseXML.getElementsByTagName("status")[0].childNodes[0].nodeValue
				document.getElementById('loginmessage').innerHTML = status;
				document.getElementById('loginmessage').style.display = "block";
       			var action = req.responseXML.getElementsByTagName("action")[0].childNodes[0].nodeValue
				
				if(action == "login" || action == "register") {
					var userID = req.responseXML.getElementsByTagName("userid")[0].childNodes[0].nodeValue
					document.getElementById('userID').value = userID;
					document.getElementById('loginoptions').style.display = "none";
				} // end if

				if(action == "login") {			
					alterVal('title','title')	
					alterVal('firstName','firstname')	
					alterVal('lastName','lastname')	
					alterVal('addr1','addr1')
					alterVal('addr2','addr2')
					alterVal('addr3','addr3')
					alterVal('county','county')	
					alterVal('postcode','postcode')	
					alterVal('phone','phone')	
					alterVal('email','email')
					alterStatus('ade','ade')
					alterStatus('adp','adp')
					alterStatus('adt','adt')

					document.getElementById('loginoptions').style.display = "none";
				} // end if
			  } else {
				document.getElementById('contactdetails').innerHTML = "Sorry cannot connect to that URL..."
			  }
			}
		}

		function alterVal(xtag, xnode) {
			if(typeof(req.responseXML.getElementsByTagName(xnode)[0].childNodes[0]) != "undefined") {
				var ob = req.responseXML.getElementsByTagName(xnode)[0].childNodes[0].nodeValue
				document.getElementById(xtag).value = ob;
			}
		}
	
		function alterStatus(xtag, xnode) {
			if(typeof(req.responseXML.getElementsByTagName(xnode)[0].childNodes[0]) != "undefined") {
				var ob = req.responseXML.getElementsByTagName(xnode)[0].childNodes[0].nodeValue

				blob = false
				if(ob == 'checked') {blob = true;}
				document.getElementById(xtag).checked = blob;
			}
		}

		/* Validation of Email address  - ,4 changed by jason on line starting re = (was 3)*/

		re = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/

		function validEmail(inputID) { // variables are the ID of the input field and the ID of the tag with the error message in...

			var messageID = inputID+"message";
			var message = document.getElementById(messageID);
			var input = document.getElementById(inputID);

			if (re.test(input.value)) {
				message.className = "noerror";
				input.className = "formtext";

				return true				
			}
			message.className = "errormessage";
			input.className = "formerror";
			
			return false
		}

		function validInput(inputID) {// variables are the ID of the input field and the ID of the tag with the error message in...
			var messageID = inputID+"message";
			var message = document.getElementById(messageID);
			var input = document.getElementById(inputID);

			if (  (input.value.length == 0) || (input.value == null)  ) {
					message.className = "errormessage"; // there's an error!
					input.className = "formerror";

					return false;

			}

			message.className = "noerror"; // all is okay
			input.className = "formtext";

			return true;
		}

		function validRadio (inputID) {
			var messageID = inputID+"message";
			var message = document.getElementById(messageID);
			var input = document.getElementById(inputID);
			var items = document.getElementsByName(inputID);
			var iCount = document.getElementById((inputID+"count")).value;
			var inputQ = "";

			//alert("Count = "+iCount);

			for(var i =0; i < iCount; i++) { // only seems to work in firefox?
						//alert((items[i].value));
					if ((items[i]).checked == true) {
						message.className = "noerror"; // all is okay
						//input.className = "formtext";
						return true;
					} // end if
			} // end for

			message.className = "errormessage"; // there's an error!
			//input.className = "formerror";
			return false
		}

		function validCheck (inputID) {
			var messageID = inputID+"message";
			var message = document.getElementById(messageID);
			var iCount = document.getElementById((inputID+"count")).value;
			var inputQ = "";

			for(var i =0; i < iCount; i++) {

					inputQ = inputID+"["+i+"]";
				 	input = document.getElementsByName(inputQ);
					//alert("Item: "+inputQ+"="+(input[0]).value);
					if (input[0].checked == true) {
						message.className = "noerror"; // all is okay
						//input.className = "formtext";
						return true;
					} // end if
			} // end for

			message.className = "errormessage"; // there's an error!
			//input.className = "formerror";
			return false;		
		}
		
		function OnSubmitCheck(list) {
			//var truth = false;
			var type = "input";
			var error = 0;

			for( key in list ) {

				type = document.getElementById(list[key]).type; // get type of item
				switch (type) {
					case "radio":
						if (validRadio(list[key]) == false) { 
							//alert("bad radio"); 
							error = error+1;
						} 
						break;
					case "checkbox":
						if (validCheck(list[key]) == false) { 
							//alert("bad checkbox"); 
							error = error+1;
						} 
						break;
					default:
						if (validInput(list[key]) == false) { 
							error = error+1;
						} else if((list[key]) == 'email') {
							if (validEmail(list[key]) == false) { error = error+1; }
						}
						break;
				} // end switch
			} // end for
			if(error > 0)  { return false; }
			return true;
		}

// End hiding script from old browsers -->	