function registerUser(form)
{
	document.getElementById('submit').style.background = 'white';
     if (!validateRegistrationForm(form))
          return false;
     url='modules.php?mod=register&req=register'+
          '&user_pass1='+encodeURIComponent(form.user_pass1.value)+
          '&first='+encodeURIComponent(form.first.value)+
          '&last='+encodeURIComponent(form.last.value)+
		'&company='+encodeURIComponent(form.company.value)+
		'&addr1='+encodeURIComponent(form.addr1.value)+
		'&addr2='+encodeURIComponent(form.addr2.value)+
		'&city='+encodeURIComponent(form.city.value)+
		'&state='+encodeURIComponent(form.state.value)+
		'&zip='+encodeURIComponent(form.zip.value)+
		'&phone='+encodeURIComponent(form.phone.value)+
          '&email='+encodeURIComponent(form.email.value);
     var ret=serverFunction(url);
     
     // register returns the page to display upon registration.
     var object=document.getElementById('maincontent');
     object.innerHTML=ret;
     displaydiv('headerlinks','theme/logged_in_links.html');
	displayText('leftheaderlinks','modules.php?mod=user&req=welcome');
     mainmenu();
}

function checkUserName(userName)
{
     // build the URL to call to check if user name is already in use.
     var url="modules.php?mod=register&req=checkuser&user="+userName;
     var registerform=document.getElementById('registerform');

     ret=serverFunction(url);

     if (ret=='false')
          {
          return false;
          }
     return true;
}

function checkEmailAddress(email)
{
     // build the URL to call to check if user name is already in use.
     var url="modules.php?mod=register&req=checkemail&email="+email;
     var registerform=document.getElementById('registerform');

     ret=serverFunction(url);

     if (ret=='false')
          {
          return false;
          }
     return true;
}

function validateRegistrationForm(form)
{

     var error_message = "The following errors occurred:";
     var errors=0;
 
     if (isEmpty(form.user_pass1))
          {
          error_message = error_message + "\nPassword 1 is missing";
          errors=1;
          }
     if (isEmpty(form.user_pass2))
          {
          error_message = error_message + "\nPassword 2 is missing";
          errors=1;
          }
     if (form.user_pass1.textLength < 5 || form.user_pass2.textLength < 5)
          {
          error_message = error_message + "\nPassword must be minimum 5 characters.";
          errors=1;
          } 
     if (form.user_pass1.value != form.user_pass2.value)
          {
          error_message = error_message + "\nPassword entries do not match.";
          errors=1;
          }            
     if (isEmpty(form.first))
          {
          error_message = error_message + "\nFirst Name is missing";
          errors=1;
          }
     if (isEmpty(form.last))
          {
          error_message = error_message + "\nLast Name is missing";
          errors=1;
          }
     if (isEmpty(form.addr1))
          {
          error_message = error_message + "\nAddress 1 is missing";
          errors=1;
          }
     if (isEmpty(form.city))
          {
          error_message = error_message + "\nCity is missing";
          errors=1;
          }
     if (form.state.value == 0)
          {
          error_message = error_message + "\nState is not selected";
          errors=1;
          }
     if (isEmpty(form.zip))
          {
          error_message = error_message + "\nZip is missing";
          errors=1;
          }
     if (isEmpty(form.phone))
          {
          error_message = error_message + "\nPhone is missing";
          errors=1;
          }
     if (isEmpty(form.email))
          {
          error_message = error_message + "\nEmail is missing";
          errors=1;
          }
	else
		{
		if ( ! checkEmailAddress(form.email.value))
			{
			error_message = error_message + "\nEmail is already in use";
			errors=1;
			}

		}
     if (errors==0)
          return true;
     alert(error_message);
     return false;       
}

function isEmpty(aTextField) 
{
   if ((aTextField.value.length==0) || (aTextField.value==null)) {
      return true;
   }
   else { return false; }
}	

