var blnPSAccepted = "" 

function asc(each_char,i)	{
		if (i == 1) {
			var char_str = charSetStr2()
		} else {
			var char_str = charSetStr()
		}
		for (i = 0; i < char_str.length; i++) {
			if (each_char == char_str.substring(i, i+1)) {
				return 1;
			}
		}
	return 0;
}
	
function charSetStr()	{
	var str = ' !"#$%&' + "" + '()*+,-/;:<=>?[\\]^_`{|}~'
	return str
}

function charSetStr2()	{
	var str = '!"#$%&' + "" + '()*+,/;:<=>?[\\]^_`{|}~'
	// this one just doesn't have a space or hyphen
	return str
}

function validfield(formfield,i) {
	for (var a = 0; a < formfield.length; a++)	{
		var each_char = formfield.charAt(a);
		var x = asc(each_char,i)
			if (x == 1) {
				return 1;
			}
	}
	return 0;
}

function validateaccount() {
	var un = document.checkpassword.usr_login.value;
	var pw = document.checkpassword.usr_passwd.value;

	var da_un_valid = validfield(un);
	
	if ((da_un_valid > 0) || (un.length < 1)) {
		alert("Username Invalid"); 
		return false;
	}
	var da_pw_valid = validfield(pw);
	if ((da_pw_valid > 0) || (pw.length < 6)) {
		alert("Password Invalid"); 
		return false;
	}	
	return true;
	
}


function validateprofession(blnPSV) {

	var da_profession = document.userdets.profession[document.userdets.profession.selectedIndex].value;
	if (da_profession == "-88") {
		alert("Profession Invalid");
		return false;
	}
	var pw = document.userdets.usr_passwd.value;
	var da_pw_valid = validfield(pw);
	if ((da_pw_valid > 0) || (pw.length < 6)) {
		alert("Password Invalid"); 
		return false;
	}
	if (blnPSV != 'yes') {
		return true;
	} else {
		if (blnPSAccepted == true) { 
			//alert(blnPSAccepted);
			//blnPSAccepted = false;
			return true;
		} else {
			window.open("/authfiles/PSV.asp", "popup", "menubar=no, location=no, resizable=no, scrollbars=yes, status=0, width=595, height=450, top=100, left=165");
			return false;
		}
	}	

}	

function set_email_value()
{
	document.delsubscr.email.value = document.userdets.email.value
}

function validate_email() {
	
	var da_email
	
	if (document.name == "userdets") {
		da_email = document.userdets.email.value;
	} else {
		da_email = document.delsubscr.email.value;
	}

		// if cont = 1 then the email address is required!
		if (da_email.length == "0") {
			alert("Email Address -- Required.");
			return false;
		}
							
		if (da_email.length != "0") {
		   if (da_email.indexOf("@")<2)  {
				alert("Your email address is invalid.");
				return false;
			} else {
				if (da_email.indexOf(".",da_email.indexOf("@")) < da_email.indexOf("@")) {
					alert("Your email address is invalid.");
					return false;
				}
			}			
		}
		
	if (document.name == "userdets") {
		return true;
	} else {
		document.delsubscr.submit();
	}
	
}	


function noEntry(blnPSV) {

	var missinginfo = '';

	// find out if any of the ealerts have been selected, if they have then the email address becomes required
	var amount = document.userdets.elements.length;

		cont = 0; //continue
		for (i=0;i<amount;i++) {
			what = document.userdets.elements[i].type;
			if (what == "checkbox") {
				if (document.userdets.elements[i].checked) {
					cont = 1;
				}
			}
		}
	
	var da_firstname = document.userdets.usr_firstname.value;
	var da_firstname_valid = validfield(da_firstname,1);
	
		if (da_firstname_valid > 0) {
			//Error - invalid chars found
			missinginfo += "\n     -  First Name -- Invalid character entry*";
		}
		if (da_firstname.length < 2) 	{
				missinginfo += "\n     -  First Name -- Must be at least 2 characters long";
		}
	
	var da_lastname = document.userdets.usr_lastname.value;
	var da_lastname_valid = validfield(da_lastname,1);
	
		if (da_lastname_valid > 0) {
			//Error - invalid chars found
			missinginfo += "\n     -  Last Name -- Invalid character entry*";
		}
		if (da_lastname.length < 2) 	{
		   missinginfo += "\n     -  Last Name -- Must be at least 2 characters long.";
		}
		
	var da_profession = document.userdets.profession[document.userdets.profession.selectedIndex].value;
	if (da_profession == "-88") {
		missinginfo += "\n     -  Profession not selected -- This is a mandatory field";
	}		
	var da_email = document.userdets.email.value;

		// if cont = 1 then the email address is required!
		if (cont == "1" && da_email.length == "0") {
			missinginfo += "\n     -  Email Address -- Required.";
		}
							
		if (da_email.length != "0") {
		   if (da_email.indexOf("@")<2)  {
				missinginfo += "\n     -  Email Address -- Your email address is invalid*.";
			} else {
				if (da_email.indexOf(".",da_email.indexOf("@")) < da_email.indexOf("@")) {
					missinginfo += "\n     -  Email Address -- Your email address is invalid*.";
				}
			}			
		}
						
	var da_country = document.userdets.country[document.userdets.country.selectedIndex].value;
	if (da_country == "-99") {
		missinginfo += "\n     -  Country not selected -- This is a mandatory field";
	}
			
		var da_username = document.userdets.usr_login.value;
		var da_username_valid = validfield(da_username);
		
			if (da_username_valid > 0) {
				//Error - invalid chars found
				missinginfo += "\n     -  Username -- Invalid character entry*";
			}
			if (da_username.length < 1) 
				{
					missinginfo += "\n     -  Username -- Your username must be between 1 and 20 characters long.";
				}   
		
		var da_passwd = document.userdets.usr_passwd.value;
		var da_passwd_valid = validfield(da_passwd)
		
			if (da_passwd_valid > 0) {
				//Error - invalid chars found
				missinginfo += "\n     -  Password -- Invalid character entry*.";
			}
			if (da_passwd.length < 6)
				{
					missinginfo += "\n     -  Password -- Your password is not valid, it must be between 6 and 20 characters long*.";
				}
				
		var da_passwdTwo = document.userdets.usr_passwd2.value;
		var da_passwdTwo_valid = validfield(da_passwdTwo)
		
			if (da_passwdTwo_valid > 0) {
				//Error - invalid chars found
				missinginfo += "\n     -  Password Confirmation -- Invalid character entry*";
			}
			 if (da_passwdTwo != da_passwd)
			{
				missinginfo += "\n     -  Password Confirmation -- Your password confirmation MUST match your password";
			}
														      
	if (missinginfo != "") {
		missinginfo ="______________________________________________________________________________\n" +
		"An error has been found with the form:\n" +
		missinginfo + "\n____________________________________________________________________________" +
		"\nPlease re-enter and submit again!\n" +
		"\n*Entries must be alphanumeric and MAY include hyphens." +
		"\nDo not use any punctuation or non-alphanumeric character."
		alert(missinginfo);
		return false;
	} else {
		if (blnPSV != 'yes') {
			return true;
		} else {
			if (blnPSAccepted == true) { 
				//alert(blnPSAccepted);
				//blnPSAccepted = false;
				return true;
			} else {
				window.open("/authfiles/PSV.asp", "popup", "menubar=no, location=no, resizable=no, scrollbars=yes, status=0, width=595, height=450, top=100, left=165");
				return false;
			}
		}	
	}
}

function ValidatePrivacyStatement() {
	if (document.PSValidation.CheckBoxPSV.checked == false){
		alert('You can only register after accepting the privacy statement');
		return false;
	} else {
		blnPSAccepted = true
		if (typeof(window.opener)== "object"){
			self.close();
			if (typeof(window.opener.document.userdets)== "object"){
				window.opener.document.userdets.submit();
			} else {
				alert('this page has expired.')
				self.close();
			}
		}
	}
}

function submit_deluser() {
	if (confirm('Are you sure you want to remove yourself?')) {
		document.deluser.submit();
	}
}

