/*
 *   File: resume_manager.js
 *
 */

RE_NAME     = new RegExp(/[^A-Z^a-z^ ^\.\^]$/);
RE_EMAIL    = new RegExp(/^[A-Za-z0-9](([_|\.|\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([_|\.|\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$/);
RE_USERNAME = new RegExp(/^[a-z0-9\_]+$/);
RE_DECIMAL  = new RegExp(/^[0-9]{1,8}([\.]{1}[0-9]{1,2})?$/);
RE_NUMBER   = new RegExp(/^[0-9]+$/);
RE_PHONE    = new RegExp(/^((\d\d\d)|(\(\d\d\d\)))?\s*[\.-]?\s*(\d\d\d)\s*[\.-]?\s*(\d\d\d\d)$/);
RE_ZIP      = new RegExp(/^[0-9]{6}(([\-\ ])?[0-9]{4})?$/);


a = 0;

function setupForm(frm)
{	
   if(frm.name == 'employeeAccountInfo')
   {	
   
      with (frm)
      {
       	 
		 setRequiredField(first_name,         				    'textbox',  	 'first_name');
		 setRequiredField(family_name,         				    'textbox',  	 'family_name');
		 setRequiredField(email,         				    'textbox',  	 'email');
		
		        
      }
   }
  
   
}

function validateFields(frm)
{
	
	if(frm.name == 'employeeAccountInfo')
  {
   with(frm)
   {
   		
			if (!RE_EMAIL.exec(email.value))
      {
         highlightTableColumn('email');
         alert(ERROR_EMAIL);
         return false;
      }  
      
     }
   
 
   return true;
  }
   
  
}



function doFormSubmit(frm)
{
	
	
   requiredFields.length = 0;
		
    errCnt = 0;
   // var frm = document.resumeManagerBasic;
   
   // Setup required fields
   setupForm(frm);
   
   //alert("s");
   
   // Validate form for required fields
   errCnt = validateForm(frm);
   
   
   

   
   if (errCnt)
   {
      alert(MISSING_REQUIRED_FIELDS);
	  
      return false;
   }

   else
   {
      if(validateFields(frm))
      {
         return true;
      }
      else
         return false;
   }
}

function showAddressInfo()
{
   var frm= document.userManagerForm;

   if(frm.user_type.value=='Employee')
   {
     showDiv('addressInfo');
   }

   else
   {
     hideDiv('addressInfo');
   }
}

function checkDuplicateUser()
{	

   var userName = document.employeeAccountInfo.username.value;
  	
   cpaintCall('SELF', 'POST', 'checkusername',userName,callbackCheckDuplicateUser);
   
}

function callbackCheckDuplicateUser(val)
{
	
	if(val == 1)
	{ 
     highlightTableColumn('username');
      alert(DUPLICATE_EMAIL);
     document.employeeAccountInfo.username.focus();
     a=3; 
	 
	}
  else {
     resetTableColumn('username');
	 a = 0;
  }
}

function checkDuplicateEmail()
{
   var emailAddress = document.clientAccountInfo.email_address.value;

   cpaintCall('SELF', 'POST', 'checkUserEmail', emailAddress, callbackCheckDuplicateEmail);
}

function callbackCheckDuplicateEmail(val)
{
 
	if(val == 1)
	{
     highlightTableColumn('email_address');
     alert(DUPLICATE_EMAIL);
     document.clientAccountInfo.email_address.focus();
	}
  else
     resetTableColumn('email_address');
}


