// JavaScript Document

//window.usernameValid=false;

function getDuplicate(usr,element) {
	
	var http_request = false;
	if (element.value == "") {
		document.getElementById("username").value = "";
		return;
	}
	
	/* Check browser type */
	if ( window.XMLHttpRequest ) {
		http_request = new XMLHttpRequest();
		if ( http_request.overrideMimeType )
			http_request.overrideMimeType('text/xml');
            
        }
	else if ( window.ActiveXObject ) {
        try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch ( exception ) {
			try {
				ttp_request = new ActiveXObject("Microsoft.XMLHTTP");
			} 
			catch ( exception ) {}
		}
	}
	
	if ( !http_request ) {
		alert('Problem creating an XMLHTTP instance');
			return false;
	}
	
	http_request.onreadystatechange = function() { processResponse(http_request,usr,element); };
	
	http_request.open('GET', 'getDuplicate.cgi?username='+usr, true);
	http_request.send(null);
	
}

function processResponse( http_request,usr,element ) {
	if ( http_request.readyState == 4 )
		if ( http_request.status == 200 ) {
			if(http_request.responseText.indexOf('yes') != -1){
			document.getElementById("username").value = usr;
			document.getElementById("duplicate").style.display='';
			document.getElementById("username").focus();
			alert("The username you have entered is already in use. Please try another.");
			window.usernameValid=false;
			}else{
				document.getElementById("username").value = usr;
				document.getElementById("duplicate").style.display='none';
				window.usernameValid=true;
			}
		}else {
			document.getElementById("username").value = usr;			
		}
   
}



var helpOn=false;
var whatsOn='none';

function showPageHelp(divID){
        var pagehelp = new Array(4);
        pagehelp[0]='page_tel';
        pagehelp[1]='page_pay';
        pagehelp[2]='page_usr';
        pagehelp[3]='page_pass';
        pagehelp[4]='page_terms';

        if(helpOn==false){
                //1st access to script
                var x=0;
                for (x=0; x<5; x++){
                        if (pagehelp[x]==divID){
                                toggleOn(divID);
                                if(whatsOn=='none'){
                                        whatsOn=divID;
                                }
                                helpOn=true;
                        }
                }//end for

        }else{

                //turn off 1st help option if found
                if (divID==whatsOn){
                        toggleOff(divID);
                        whatsOn='none';
                        helpOn=false;
                }else{
                        //turn of current one and put new one on
                        var x=0;
                        for (x=0; x<5; x++){
                                var togThisone=pagehelp[x];
                                if(togThisone==divID){
                                        toggleOn(togThisone);
                                        whatsOn=divID;
                                        helpOn=true;
				 }else{
                                        toggleOff(togThisone);
                                }

                        }

                }

        }

}


function changeBG(objRef, state) {
	objRef.style.backgroundColor = (1 == state) ? '#ffe3e3' : '#FFFFFF';
	objRef.style.border = (1 == state) ? '1px solid #f00' : '1px solid #7F9DB9';
	return;
}

function closeEdit(thisItem){
	var curRow = thisItem+"desrow";
	toggleOff(curRow);	
}

function openEdit(thisItem){
	var icurAdded = thisItem;
	var icurAddedValue = document.getElementById(icurAdded).checked;
	if(icurAddedValue){
		var curRow = thisItem;
		toggleOn(curRow);
	}
}

function toggleOn(me) {
 if( document.getElementById(me).style.display=='none' ){
   document.getElementById(me).style.display = '';
 }
}

function toggleOff(me) {
 if( document.getElementById(me).style.display=='' ){
   document.getElementById(me).style.display = 'none';
 }
}

function checkOther(theObj){
	var otherVal=theObj.value;
	if(otherVal=='Other'){
		toggleOn('hiddenOther');
	}else{
		toggleOff('hiddenOther');
	}
}


function checkSignup(){
var numeric = /^([0-9])/;
var postcode = /^([A-Za-z]{1,2}[\s]{0,3}\d{1,2}[A-Za-z]{0,1}[\s]{0,3}\d{1}[\s]{0,3}[A-Za-z]{2})$/;
var email = /^([\w.-]+)@(([\w.-]+\.)+\w+)$/;
var rate = /(^\d{0,3}$)/;
var dayz = /^\d{1,3}$/;
var rate = /^\d{1,3}(\.\d{2})?$/;
var telnum = /^[0]\d{8,10}$/;
var passOne = /^[a-z\d]{7,15}$/i;
var passTwo = /\d/;
var username = /^[A-Za-z0-9\-\_]{6,254}$/i;

	//Determines if Other Option of How did selected and if input displayed for entry
	if(document.signup.howdid){
		var myHowdid = document.getElementById("howdid");
		var the_index= document.getElementById("howdid").selectedIndex;
		var myHowdidVal='';
		var otherSpecified=false;
		if (the_index != -1){
			var myHowdidVal=myHowdid[the_index].value;
		}
		
		if(document.getElementById("hiddenOther").style.display==''){
			otherSpecified=true;
		}
		
	}

if ((document.signup.firstname) && (document.signup.firstname.value == '')) {
alert("Please enter a valid First Name");
document.signup.firstname.focus();
return false;
} else if((document.signup.lastname) && ('' == document.signup.lastname.value)) {
alert("Please enter a valid Last Name");
document.signup.lastname.focus();
return false;
} else if ((document.signup.address) && ('' == document.signup.address.value)) {
alert("Please enter a valid address for this signup");
document.signup.address.focus();
return false;
} else if ((document.signup.city) && ('' == document.signup.city.value)) {
alert("Please enter a city");
document.signup.city.focus();
return false;
} else if ((document.signup.town) && ('' == document.signup.town.value)) {
alert("Please enter a valid town");
document.signup.town.focus();
return false;
} else if ((document.signup.postcode) && ('' == document.signup.postcode.value)) {
alert("Please enter a Post Code");
document.signup.postcode.focus();
return false;
} else if ((document.signup.postcode) && (postcode.test(document.signup.postcode.value) == false)){
alert("Please enter a valid formatted postcode");
document.signup.postcode.focus();
return false;
}else if ((document.signup.email) && ('' == document.signup.email.value)) {
alert("Please enter a contact email address for the signup");
document.signup.email.focus();
return false;
} else if ((document.signup.email) && (email.test(document.signup.email.value) == false)) {
alert("Please enter a valid contact email address for the signup");
document.signup.email.focus();
return false;
} else if ((document.signup.tel) && ('' == document.signup.tel.value)) {
alert("Please enter a contact telephone number");
document.signup.tel.focus();
return false;
} else if ((document.signup.tel) && ((telnum.test(document.signup.tel.value) == false) || (document.signup.tel.value.length < 10)) )  {
alert("Please enter a valid telephone number. For example 01612225555");
document.signup.tel.focus();
return false;
} else if ( ('Other' == myHowdidVal) && (otherSpecified==true) && (document.signup.howdid2.value=='') ) {
alert("Please let us know how you heard of us");
document.signup.howdid2.focus();
return false;
} else if ((document.signup.username) && ('' == document.signup.username.value)) {
alert("Please enter your email address. This will also be used as your username for the service.");
document.signup.username.focus();
return false;
} else if ( (document.signup.username) && (email.test(document.signup.username.value)==false) ) {
alert("Please enter a correctly formated email address. This will also be used as your username for the service.");
document.signup.username.focus();
return false;
} else if (window.usernameValid==false) {
alert("The username of "+document.signup.username.value+" you have selected is already in use. Please try another.");
document.signup.username.focus();
return false;
} else if ((document.signup.password) && ('' == document.signup.password.value)) {
alert("Please enter a password for the signup");
document.signup.password.focus();
return false;
} else if ( (document.signup.password) && ((passOne.test(document.signup.password.value) == false) || (passTwo.test(document.signup.password.value) == false) ) )  {
alert("Please enter a password between 7-15 characters with at least one digit");
document.signup.password.focus();
return false;
} else if ( (document.signup.password) && (document.signup.password2) && (document.signup.password2.value != document.signup.password.value)) {
alert("Password mismatch. Please enter the correct password.");
document.signup.password.focus();
return false;
}else if ((document.signup.terms) && (! document.signup.terms.checked)) {
alert("Please confirm that you have accepted the terms and conditions");
document.signup.terms.focus();
return false;

} else {
return true;}
}

