var req = new Array();
req["emailaddress"] = "choose your username";
req["password"] = "choose your password";
req["password2"] = "confirm your password";

function checkphonenum(form) {

   var field = "phone#";
   eval(form.name+"."+field+".value = "+form.name+"."+field+".value.replace(/\\s+/g,\"\")");

   var phonenum = eval(form.name+"."+field+".value");
   if ((form.tel.value != "") && (!phonenum.match(/^\d+$/))) {
      showmsg("Please enter a valid phone number",field);
      return false;
   }
   if ((form.tel.value != "") && ((phonenum.length < 10) || (phonenum.length > 11))) {
      showmsg("Phone number is incorrect length",field);
      return false;
   }
   if ((form.tel.value != "") && (!phonenum.match(/^0[1|2|7|8|9]/))) {
      showmsg("Please enter a valid phone number",field);
      return false;
   }

   return true;
}



function checkform(form) {

   clearerrors(req);
   if ((!checkempty(req,form)) || (!validateusername(form))){
      return false;
   }

   if ((form.firstname.value != "") && (form.firstname.value.match(/\d/))) {
      showmsg("Please enter a first name without any numbers","firstname");
      return false;
   }

   if ((form.lastname.value != "") && (form.lastname.value.match(/\d/))) {
      showmsg("Please enter a last name without any numbers","lastname");
      return false;
   }

 //  if (!checkphonenum(form)) {
 //     return false;
 // }

      if (form.password.value != form.password2.value) {
      showmsg("Your Password does not match what you typed in the Confirm Password field.","password");
      showmsg("Your Password does not match what you typed in the Confirm Password field.","password2");
      return false;
  }

   if (form.password.value.length < 5) {
      showmsg("Your Password should be 5 characters or more","password");
      return false;
  }

  if (form.password.value.length > 16) {
      showmsg("Your Password should be 16 characters or less","password");
      return false;
  }
//  if (!form.terms.checked) {
//	showmsg("You must agree to the Terms and conditions of this service by checking the box ","terms");
//	return false;
// }
}

function validateusername(form) {

   var field = "emailaddress";
   var name = eval(form.name+"."+field);
   name.value = name.value.replace(/\@.*/,"");
   
   if (name.value.length < 5) {
      showmsg("Please enter a username with a minimum of 5 characters, you do not need to type your domain",field);
      return false;
   }

   if (name.value.length > 20) {
      showmsg("Please enter a username with a maximum of 20 characters",field);
      return false;
   }

   if (name.value.match(/[^a-zA-Z0-9\.\-]/)) {
      showmsg("Please enter a valid username. It must be at least 5 and no more than 20 lower case letters or numbers. It can include dots or dashes but cannot start or end with one. It cannot include underscore.",field);
      return false;
   }
   if (name.value.match(/^\./)) {
      showmsg("The username should not start with .",field);
      return false;
   }
   if (name.value.split(".").length-1 > 1) {
         showmsg("The username can only contain one \".\"",field);
	 return false;
   }

   return true;
}



function checkempty(req,form) {
   for(var field in req) {
	var f = eval(form.name+"."+field);
	if (f != null) {
      		if (f.value == "") {
	 		showmsg("Please " + req[field],field);
	 		return false;
      		} 
	}
   }
   return true;
}

function clearerrors(req) {
   if(document.all) {
      if (document.all['message'].innerHTML != null) {
         document.all['message'].innerHTML = "";
      }
     for(var field in req) {
        if (document.all['T_'+field]) {
           document.all['T_'+field].style.border = "";
        }
     }
   } else if(document.getElementById) {
      document.getElementById('message').innerHTML = "";
  
        for(var field in req) {
         if (document.getElementById('T_'+field)) {
            document.getElementById('T_'+field).style.border = "0px red solid";
         }
       }
   }
}

function showmsg(msg,field) {
  var htmlmsg = '<FONT color="red"><B>'+msg+'</B></FONT>';
  if(document.all) {
    if (document.all['message'].innerHTML != null) {
       document.all['message'].innerHTML = htmlmsg;
    } else {
      alert(msg);
    }

    if ((field) && (document.all['T_'+field])) {
       document.all['T_'+field].style.border = "2px red solid";
    }
  } else if(document.getElementById) {
    document.getElementById('message').innerHTML = htmlmsg;
    if (document.getElementById('T_'+field)) {
       document.getElementById('T_'+field).style.border = "2px red solid";
    }
  } else {
    alert(msg);
  }

  document.location.href = "#msg";
}
