function anyChar(str) {
    /* Verify at least one nonspace character
     *    or string of characters
     * Return boolean
     */
	 // if empty fields are invalid,
// replace the * by a +
// * = if any or more
// + = 1 or more
// \w = a letter (= [a-zA-Z])
// \d = a number (= [0-9])
// \s = white space (= [ \n\r\t])
// \n = new line
// \r = carriage return
// \t = tabs
// ^ = the beginning of the string
// $ = the end of the string
//
// [\w\d\s] = [a-zA-Z0-9 \n\r\t]
return /^[a-z\s\d]*$/i.test(str); ///^[\w\s]*$/.test(str);

    //return /\S+/.test(str);
}//eof - anyChar

//function used to perform the array search for strings
function funChrArraySearch(arrInput,strElmnttoSrch)
{
   var BoolElmntExist= false;
   for(elmnt=0;elmnt<arrInput.length;elmnt++)
   {
     if(arrInput[elmnt]== strElmnttoSrch)
	  {
          BoolElmntExist= true;
		  break;
	  }
   }
  return BoolElmntExist;
}

//function used to check if the given date is valid or not
function funIsValidDate(strDate)
{
      var validate = false;
	   if(trimAll(strDate)!="")
	   {
		 var arrDate = strDate.split('/');
		 if(arrDate.length==3)
		 {
		   var month = trimAll(arrDate[0]);
		   var date= trimAll(arrDate[1]);
		   var year= trimAll(arrDate[2]);

		   if(isNaN(month) || isNaN(date) || isNaN(year) || month.length!=2|| date.length!=2|| year.length!=4)
			validate = false;
		   else
			 {
			  month = parseFloat(month);
		      date= parseFloat(date);
		      year= parseFloat(year);

			   if(month>0 && month<=12 && date>0 && date<=31 && year>2006)
			     validate = true;		
			 }
		}//arr length check ends
		
	  }//trimAll(strDate)!="" check ends
	  else
		  validate = true;

    return  validate;
}


function  validateString( strValue ) {
 var objRegExp  =  /(^[a-zA-Z]+$)/ ; 
  return objRegExp.test(strValue);
}
function  validateNumeric( strValue ) {
/******************************************************************************
DESCRIPTION: Validates that a string contains only valid numbers.

PARAMETERS:
   strValue - String to be tested for validity
   
RETURNS:
   True if valid, otherwise false.
******************************************************************************/
  var objRegExp  =  /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/; 
 
  //check for numeric characters 
  return objRegExp.test(strValue);
}

function validateInteger( strValue ) {
/************************************************
DESCRIPTION: Validates that a string contains only 
    valid integer number.
    
PARAMETERS:
   strValue - String to be tested for validity
   
RETURNS:
   True if valid, otherwise false.
******************************************************************************/
  var objRegExp  = /(^-?\d\d*$)/;
 
  //check for integer characters
  return objRegExp.test(strValue);
}

function validateNotEmpty( strValue ) {
/************************************************
DESCRIPTION: Validates that a string is not all
  blank (whitespace) characters.
    
PARAMETERS:
   strValue - String to be tested for validity
   
RETURNS:
   True if valid, otherwise false.
*************************************************/
   var strTemp = strValue;
   strTemp = trimAll(strTemp);
   if(strTemp.length > 0){
     return true;
   }  
   return false;
}

function validateEmail( strValue) {
/************************************************
DESCRIPTION: Validates that a string contains a 
  valid email pattern. 
  
 PARAMETERS:
   strValue - String to be tested for validity
   
RETURNS:
   True if valid, otherwise false.
   
REMARKS: Accounts for email with country appended
  does not validate that email contains valid URL
  type (.com, .gov, etc.) and optionally,
  a valid country suffix.  Since email has many
  forms this expression only tests for near valid
  address.  Some additional validation may be
  required.
*************************************************/
var objRegExp  = /^[a-z0-9]([a-z0-9_\-\.]*)@([a-z0-9_\-\.]*)(\.[a-z]{2,3}(\.[a-z]{2}){0,2})$/i;
  //check for valid email
  return objRegExp.test(strValue);
}

function rightTrim( strValue ) {
/************************************************
DESCRIPTION: Trims trailing whitespace chars.
    
PARAMETERS:
   strValue - String to be trimmed.  
      
RETURNS:
   Source string with right whitespaces removed.
*************************************************/
var objRegExp = /^([\w\W]*)(\b\s*)$/;
 
      if(objRegExp.test(strValue)) {
       //remove trailing a whitespace characters
       strValue = strValue.replace(objRegExp, '$1');
    }
  return strValue;
}

function leftTrim( strValue ) {
/************************************************
DESCRIPTION: Trims leading whitespace chars.
    
PARAMETERS:
   strValue - String to be trimmed
   
RETURNS:
   Source string with left whitespaces removed.
*************************************************/
var objRegExp = /^(\s*)(\b[\w\W]*)$/;
 
      if(objRegExp.test(strValue)) {
       //remove leading a whitespace characters
       strValue = strValue.replace(objRegExp, '$2');
    }
  return strValue;
}

function trimAll( strValue ) {
/************************************************
DESCRIPTION: Removes leading and trailing spaces.

PARAMETERS: Source string from which spaces will
  be removed;

RETURNS: Source string with whitespaces removed.
*************************************************/ 
 var objRegExp = /^(\s*)$/;

    //check for all spaces
    if(objRegExp.test(strValue)) {
       strValue = strValue.replace(objRegExp, '');
       if( strValue.length == 0)
          return strValue;
    }
    
   //check for leading & trailing spaces
   objRegExp = /^(\s*)([\W\w]*)(\b\s*$)/;
   if(objRegExp.test(strValue)) {
       //remove leading and trailing whitespace characters
       strValue = strValue.replace(objRegExp, '$2');
    }
  return strValue;
}

function validateCurrency( strValue)  {
/************************************************
DESCRIPTION: Validates that a string contains a 
  valid currency format. 
  
 PARAMETERS:
   strValue - String to be tested for validity
   
RETURNS:
   True if valid, otherwise false.
*************************************************/
  var objRegExp = /(^\$\d{1,3}(,\d{3})*\.\d{2}$)|(^\(\$\d{1,3}(,\d{3})*\.\d{2}\)$)/;

  return objRegExp.test( strValue );
}

function validateTime ( strValue ) {
/************************************************
DESCRIPTION: Validates that a string contains a 
  valid 12 hour time format. Seconds are optional.
  
 PARAMETERS:
   strValue - String to be tested for validity
   
RETURNS:
   True if valid, otherwise false.

REMARKS: Returns True for time formats such as:
  HH:MM or HH:MM:SS or HH:MM:SS.mmm (where the
  .mmm is milliseconds as used in SQL Server 
  datetime datatype.  Also, the .mmm portion will 
  accept 1 to 3 digits after the period)
*************************************************/
  var objRegExp = /^([1-9]|1[0-2]):[0-5]\d(:[0-5]\d(\.\d{1,3})?)?$/;

  return objRegExp.test( strValue );

}

function validateState (strValue ) {
/************************************************
DESCRIPTION: Validates that a string contains a 
  valid state abbreviation. 
  
 PARAMETERS:
   strValue - String to be tested for validity
   
RETURNS:
   True if valid, otherwise false.
*************************************************/

var objRegExp = /^(AK|AL|AR|AZ|CA|CO|CT|DC|DE|FL|GA|HI|IA|ID|IL|IN|KS|KY|LA|MA|MD|ME|MI|MN|MO|MS|MT|NB|NC|ND|NH|NJ|NM|NV|NY|OH|OK|OR|PA|RI|SC|SD|TN|TX|UT|VA|VT|WA|WI|WV|WY)$/i; 
  return objRegExp.test(strValue);
}

function validateSSN( strValue ) {
/************************************************
DESCRIPTION: Validates that a string contains a 
  valid social security number. 
  
 PARAMETERS:
   strValue - String to be tested for validity
   
RETURNS:
   True if valid, otherwise false.
*************************************************/
var objRegExp  = /^\d{3}\-\d{2}\-\d{4}$/;
 
  //check for valid SSN
  return objRegExp.test(strValue);

}
function validateUSPhone( strValue ) {
/************************************************
DESCRIPTION: Validates that a string contains valid
  US phone pattern. 
  Ex. (999) 999-9999 or (999)999-9999
  
PARAMETERS:
   strValue - String to be tested for validity
   
RETURNS:
   True if valid, otherwise false.
*************************************************/
  var objRegExp  = /^\([1-9]\d{2}\)\s?\d{3}\-\d{4}$/;
 
  //check for valid us phone with or without space between 
  //area code
  return objRegExp.test(strValue); 
}


function validateUSZip( strValue ) {
/************************************************
DESCRIPTION: Validates that a string a United
  States zip code in 5 digit format or zip+4
  format. 99999 or 99999-9999
    
PARAMETERS:
   strValue - String to be tested for validity
   
RETURNS:
   True if valid, otherwise false.

*************************************************/
var objRegExp  = /(^\d{5}$)|(^\d{5}-\d{4}$)/;
 
  //check for valid US Zipcode
  return objRegExp.test(strValue);
}



/********* script starts************/

function validateUrl(strValue) 
	{ 
	var objRegExp=/^(http:\/\/www.|https:\/\/www.|ftp:\/\/www.|www.|http:\/\/|https:\/\/){1}([\w]+)(.[\w]+){1,2}$/;
	return objRegExp.test(strValue);
	} 

/********* script ends************/

/****************************************************************/

// This function determines if the string passed in is a valid
// US zip code.  It accepts either ##### or #####-####.  If the
// string is valid, it returns true, else false.

function isZipcode(strZip)
{
	var s = new String(strZip);

	if (s.length != 5 && s.length != 10)
		// inappropriate length
		return false;


	for (var i=0; i < s.length; i++)
		if ((s.charAt(i) < '0' || s.charAt(s) > '9') && s.charAt(i) != '-')
			return false;

	return true;
}

/****************************************************************/

function replace(argvalue, x, y) {

  if ((x == y) || (parseInt(y.indexOf(x)) > -1)) {
    errmessage = "replace function error: \n";
    errmessage += "Second argument and third argument could be the same ";
    errmessage += "or third argument contains second argument.\n";
    errmessage += "This will create an infinite loop as it's replaced globally.";
    alert(errmessage);
    return false;
  }
    
  while (argvalue.indexOf(x) != -1) {
    var leading = argvalue.substring(0, argvalue.indexOf(x));
    var trailing = argvalue.substring(argvalue.indexOf(x) + x.length, 
	argvalue.length);
    argvalue = leading + y + trailing;
  }

  return argvalue;

}
function validateUSDate( strValue ) {
/************************************************
DESCRIPTION: Validates that a string contains only 
    valid dates with 2 digit month, 2 digit day, 
    4 digit year. Date separator can be ., -, or /.
    Uses combination of regular expressions and 
    string parsing to validate date.
    Ex. mm/dd/yyyy or mm-dd-yyyy or mm.dd.yyyy
    
PARAMETERS:
   strValue - String to be tested for validity
   
RETURNS:
   True if valid, otherwise false.
   
REMARKS:
   Avoids some of the limitations of the Date.parse()
   method such as the date separator character.
*************************************************/
  var objRegExp = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/
 
  //check to see if in correct format
  if(!objRegExp.test(strValue))
    return false; //doesn't match pattern, bad date
  else{
    var arrayDate = strValue.split(RegExp.$1); //split date into month, day, year
	var intDay = parseInt(arrayDate[1],10); 
	var intYear = parseInt(arrayDate[2],10);
    var intMonth = parseInt(arrayDate[0],10);
	
	//check for valid month
	if(intMonth > 12 || intMonth < 1) {
		return false;
	}
	
    //create a lookup for months not equal to Feb.
    var arrayLookup = { '01' : 31,'03' : 31, '04' : 30,'05' : 31,'06' : 30,'07' : 31,
                        '08' : 31,'09' : 30,'10' : 31,'11' : 30,'12' : 31}
  
    //check if month value and day value agree
    if(arrayLookup[arrayDate[0]] != null) {
      if(intDay <= arrayLookup[arrayDate[0]] && intDay != 0)
        return true; //found in lookup table, good date
    }
		
    //check for February
	var booLeapYear = (intYear % 4 == 0 && (intYear % 100 != 0 || intYear % 400 == 0));
    if( ((booLeapYear && intDay <= 29) || (!booLeapYear && intDay <=28)) && intDay !=0)
      return true; //Feb. had valid number of days
  }
  return false; //any other values, bad date
}

function validateValue( strValue, strMatchPattern ) {
/************************************************
DESCRIPTION: Validates that a string a matches
  a valid regular expression value.
    
PARAMETERS:
   strValue - String to be tested for validity
   strMatchPattern - String containing a valid
      regular expression match pattern.
      
RETURNS:
   True if valid, otherwise false.
*************************************************/
var objRegExp = new RegExp( strMatchPattern);
 
 //check if string matches pattern
 return objRegExp.test(strValue);
}


function removeCurrency( strValue ) {
/************************************************
DESCRIPTION: Removes currency formatting from 
  source string.
  
PARAMETERS: 
  strValue - Source string from which currency formatting
     will be removed;

RETURNS: Source string with commas removed.
*************************************************/
  var objRegExp = /\(/;
  var strMinus = '';
 
  //check if negative
  if(objRegExp.test(strValue)){
    strMinus = '-';
  }
  
  objRegExp = /\)|\(|[,]/g;
  strValue = strValue.replace(objRegExp,'');
  if(strValue.indexOf('$') >= 0){
    strValue = strValue.substring(1, strValue.length);
  }
  return strMinus + strValue;
}

function addCurrency( strValue ) {
/************************************************
DESCRIPTION: Formats a number as currency.

PARAMETERS: 
  strValue - Source string to be formatted

REMARKS: Assumes number passed is a valid 
  numeric value in the rounded to 2 decimal 
  places.  If not, returns original value.
*************************************************/
  var objRegExp = /-?[0-9]+\.[0-9]{2}$/;
   
    if( objRegExp.test(strValue)) {
      objRegExp.compile('^-');
      strValue = addCommas(strValue);
      if (objRegExp.test(strValue)){
        strValue = '($' + strValue.replace(objRegExp,'') + ')';
      }
      else {
        strValue = '$' + strValue;
      }
      return  strValue;
    }
    else
      return strValue;
}

function removeCommas( strValue ) {
/************************************************
DESCRIPTION: Removes commas from source string.

PARAMETERS: 
  strValue - Source string from which commas will 
    be removed;

RETURNS: Source string with commas removed.
*************************************************/
  var objRegExp = /,/g; //search for commas globally
 
  //replace all matches with empty strings
  return strValue.replace(objRegExp,'');
}

function addCommas( strValue ) {
/************************************************
DESCRIPTION: Inserts commas into numeric string.

PARAMETERS: 
  strValue - source string containing commas.
  
RETURNS: String modified with comma grouping if
  source was all numeric, otherwise source is 
  returned.
  
REMARKS: Used with integers or numbers with
  2 or less decimal places.
*************************************************/
  var objRegExp  = new RegExp('(-?[0-9]+)([0-9]{3})'); 

    //check for match to search criteria
    while(objRegExp.test(strValue)) {
       //replace original string with first group match, 
       //a comma, then second group match
       strValue = strValue.replace(objRegExp, '$1,$2');
    }
  return strValue;
}

function removeCharacters( strValue, strMatchPattern ) {
/************************************************
DESCRIPTION: Removes characters from a source string
  based upon matches of the supplied pattern.

PARAMETERS: 
  strValue - source string containing number.
  
RETURNS: String modified with characters
  matching search pattern removed
  
USAGE:  strNoSpaces = removeCharacters( ' sfdf  dfd', 
                                '\s*')
*************************************************/
 var objRegExp =  new RegExp( strMatchPattern, 'gi' );
 
 //replace passed pattern matches with blanks
  return strValue.replace(objRegExp,'');
}


//function for validating credit card number

function is_valid_credit_card_number(cardNumber, cardType)//sample card type visa no 4992739871642 
{
  //alert(cardType);
  var isValid = false;
  var ccCheckRegExp = /[^\d ]/;
  isValid = !ccCheckRegExp.test(cardNumber);

  if (isValid)
  {
    var cardNumbersOnly = cardNumber.replace(/ /g,"");
    var cardNumberLength = cardNumbersOnly.length;
    var lengthIsValid = false;
    var prefixIsValid = false;
    var prefixRegExp;

    switch(cardType)
    {
      case "mastercard","MasterCard":
        lengthIsValid = (cardNumberLength == 16);
        prefixRegExp = /^5[1-5]/;
        break;

      case "visa","Visa":
        lengthIsValid = (cardNumberLength == 16 || cardNumberLength == 13);
        prefixRegExp = /^4/;
        break;

      case "amex","Amex":
        lengthIsValid = (cardNumberLength == 15);
        prefixRegExp = /^3(4|7)/;
        break;
	  case "discover","Discover":
		lengthIsValid = (cardNumberLength == 16);
        prefixRegExp = /^6011/;
        break;  
      default:
        prefixRegExp = /^$/;
        alert("Card type not found");
    }

    prefixIsValid = prefixRegExp.test(cardNumbersOnly);
    isValid = prefixIsValid && lengthIsValid;
  }

  if (isValid)
  {
    var numberProduct;
    var numberProductDigitIndex;
    var checkSumTotal = 0;

    for (digitCounter = cardNumberLength - 1; 
      digitCounter >= 0; 
      digitCounter--)
    {
      checkSumTotal += parseInt (cardNumbersOnly.charAt(digitCounter));
      digitCounter--;
      numberProduct = String((cardNumbersOnly.charAt(digitCounter) * 2));
      for (var productDigitCounter = 0;
        productDigitCounter < numberProduct.length; 
        productDigitCounter++)
      {
        checkSumTotal += 
          parseInt(numberProduct.charAt(productDigitCounter));
      }
    }

    isValid = (checkSumTotal % 10 == 0);
  }
  //isValid=true;	
  return isValid;
}

//to check for numeric
function IsNumeric(sText)
{
   var ValidChars = "0123456789., ";
   var IsNumber=true;
   var Char;
 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
}
//function used for paging starts here

/// ALNOOF JSCRIPTS STARTS HERE...
function fnEnterKeyForLoginPage(e,formname)
{
	if(e.keyCode==13)
	{
	 if (navigator.appName=="Netscape")
	 {
	  e.preventDefault();
	 }
	else
	  e.keyCode=0;
	  fnLoginValidation(formname);
	}
}

function fnLoginValidation(formname)
{
	with(document.forms[formname])
	{
		if(trimAll(txtEmail.value)=="")
		{
		  alert("Please enter your email address!");
		  txtEmail.focus();
		  return false;
		}
		else if(!(validateEmail(trimAll(txtEmail.value))))
		{
			alert("Please enter valid email address!");
			txtEmail.focus(); 
			return false;
		}
		else if(trimAll(txtPassword.value)=="")
		{
			alert("Please enter your password.");
			txtPassword.focus(); 
			return false;
		}
		else
		{
			HdnMode.value = "Login";
			submit();
			return true;
		}
	}
}


function fnSearch(frmName)
{
	with(document.forms[frmName])
	{	
		if(frmName == "frmCompanyList")
		{
			HdnMode.value = "Search";
			location.href="list_of_customer.php?SearchWord=" + txtSearchWord.value;
		}
		else if(frmName == "frmPublicUserList")
		{
			HdnMode.value = "Search";
			location.href="list_of_resumes.php?SearchWord=" + txtSearchWord.value;
		}
	}
	//submit();
	return true;
}

function fnAdvancedSearch(frmName)
{
	with(document.forms[frmName])
	{	
		if(trimAll(txtSearchWord.value)=="" && totExpYears.value=="" && totExpMonths.value=="" && txtAnualSal.value=="" && DdlFunArea.value=="")
		{
			//alert("Please enter or select any one search items!");
			//txtSearchWord.focus();
			//return false;
			HdnMode.value = "SearchAll";
		}else{
			HdnMode.value = "Search";
		}
		
		action="advanced_search.php";
		submit();
		return true;
	}
	return true;
}
function fnEnterKeyForCP(e)
{
	if(e.keyCode==13)
	{
	 if (navigator.appName=="Netscape")
	 {
	  e.preventDefault();
	 }
	else
	  e.keyCode=0;
	  fnChangePassword();
	}
}

//function used to validate the  change password form  starts
function fnChangePassword()
{
	with(document.change_password_frm)
	{
		if(old_pwd.value=="")
		{
			alert("Enter your current password.");
			old_pwd.focus();
			return false;
		}
		else if(new_pwd.value=="")
		{
			alert("Enter your new password.");
			new_pwd.focus();
			return false;
		}
		else if(new_pwd.value.length<4 || new_pwd.value.length>10)
		{
			alert("The password should contains 4 to 10 characters.");
			new_pwd.focus();
			return false;
		}
		else if(confirm_pwd.value=="")
		{
			alert("Confirm your password.");
			confirm_pwd.focus();
			return false;
		}
      	else if(confirm_pwd.value!=new_pwd.value)
		{
			alert("Confirm password doesn't match with the new password.");
			confirm_pwd.focus();
			return false;
		}
		
		hdn_mode.value="change_password";
		submit();
		return true;
		
	}
}

function fnAgencyEditProfileValidation(formname)
{
	with(document.forms[formname])
	{			
		if(trimAll(txtAgntName.value)=="")
		{
		  alert("Please enter your name!");
		  txtAgntName.focus();
		  return false;
		}
		else if(trimAll(txtAgnyName.value)=="")
		{
		  alert("Please enter your agency name!");
		  txtAgnyName.focus();
		  return false;
		}			
		else if(trimAll(TxtAgnAddress.value)=="")
		{
		  alert("Please enter your agency address!");
		  TxtAgnAddress.focus();
		  return false;
		}				
		HiddenMode.value = "Edit";
		//action = "edit_agency_profile.php";
		submit();
		return true;			
	}
}

function fnCustomerRegisterValidation(formname)
{
	with(document.forms[formname])
	{			

		if(formname == "frmCustomerRegistration")
		{
			if(trimAll(txtUserName.value)=="")
			{
			  alert("Please enter your username!");
			  txtUserName.focus();
			  return false;
			}			
			else if(txtPassword.value=="")
			{
				alert("Enter your password.");
				txtPassword.focus();
				return false;
			}
			else if(txtCPassword.value=="")
			{
				alert("Enter your confirm password.");
				txtCPassword.focus();
				return false;
			}
			else if(txtPassword.value.length<6 || txtCPassword.value.length>12)
			{
				alert("The password should contains 6 to 12 characters.");
				txtCPassword.focus();
				return false;
			}
		}
		if(trimAll(txtCusName.value)=="")
		{
		  alert("Please enter your name!");
		  txtCusName.focus();
		  return false;
		}
		else if(trimAll(txtMobile.value)=="")
		{
		  alert("Please enter your mobile name!");
		  txtMobile.focus();
		  return false;
		}
		else if(trimAll(txtNationality.value)=="")
		{
		  alert("Please enter your nationality!");
		  txtNationality.focus();
		  return false;
		}
		else if(trimAll(TxtCusAddress.value)=="")
		{
		  alert("Please enter your address!");
		  TxtCusAddress.focus();
		  return false;
		}				
		/*else if(trimAll(part1.value)=="")
		{
		  alert("Please enter your application number!");
		  part1.focus();
		  return false;
		}
		else if(trimAll(part2.value)=="")
		{
		  alert("Please enter your application number!");
		  part2.focus();
		  return false;
		}
		else if(trimAll(part3.value)=="")
		{
		  alert("Please enter your application number!");
		  part3.focus();
		  return false;
		}
		else if(trimAll(year.value)=="")
		{
		  alert("Please enter your submission year!");
		  year.focus();
		  return false;
		}
		else if(trimAll(month.value)=="")
		{
		  alert("Please enter your submission month!");
		  month.focus();
		  return false;
		}
		else if(trimAll(day.value)=="")
		{
		  alert("Please enter your submission day!");
		  day.focus();
		  return false;
		}*/
		else if(trimAll(SponsorId.value)=="")
		{
		  alert("Please enter your sponsor id!");
		  SponsorId.focus();
		  return false;
		}
		
		if(formname == "frmCustomerRegistration")
		{
			if(ChkTandC.checked==false)
			{
				alert("To complete the registration you have to agree the terms and conditions!");
				ChkTandC.focus();
				return false;
			}
		}
		if(formname == "frmCustomerRegistration")
		{
			action = "customer_registration.php";
		}
		else
		{
			action = "edit_profile.php";
		}
		
		HiddenMode.value = "Save";
		
		submit();
		return true;			
	}
}


function fnEditCustomerValidation(formname)
{
	with(document.forms[formname])
	{			
		if(trimAll(txtEmail.value)=="")
		{
		  alert("Please enter your email address!");
		  txtEmail.focus();
		  return false;
		}
		else if(!(validateEmail(trimAll(txtEmail.value))))
		{
			alert("Please enter valid email address!");
			txtEmail.focus(); 
			return false;
		}		
		else if(trimAll(txtComName.value)=="")
		{
		  alert("Please enter your company name!");
		  txtComName.focus();
		  return false;
		}
		else if(trimAll(TxtComAddress.value)=="")
		{
		  alert("Please enter your company address!");
		  TxtComAddress.focus();
		  return false;
		}				
		
		
		HiddenMode.value = "Save";
		action = "edit_customer_profile.php";
		submit();
		return true;			
	}
}

function fnAddToSelectedUser(JobseekerId)
{
	location.href="list_of_requested_resumes.php?Mode=AR&Id="+JobseekerId;
	return true;
}
function fnAddToSelectedUser1(JobseekerId,VN)
{
	location.href="list_of_requested_resumes.php?Mode=AR&Id="+JobseekerId+"&vn="+VN;
	return true;
}
function fnSearchResumeFromCustomer(formname)
{
	with(document.forms[formname])
	{			
		if(ddlCompanyName.value=="" && txtSearchWord.value=="")
		{
		    //alert("Please select or enter the search content!");
		    //ddlCompanyName.focus();
		    //return false;
			HdnMode.value = "SearchAll";
		}
		else
		{
			HdnMode.value = "Search";
		}		
		action = "list_of_resumes.php";
		submit();
		return true;
	}
}


function fnAgencyRegisterValidation(formname)
{
	with(document.forms[formname])
	{			
		if(trimAll(txtEmail.value)=="")
		{
		  alert("Please enter your email address!");
		  txtEmail.focus();
		  return false;
		}
		else if(!(validateEmail(trimAll(txtEmail.value))))
		{
			alert("Please enter valid email address!");
			txtEmail.focus(); 
			return false;
		}
		else if(txtPassword.value=="")
		{
			alert("Enter your password.");
			txtPassword.focus();
			return false;
		}
		else if(txtCPassword.value=="")
		{
			alert("Enter your confirm password.");
			txtCPassword.focus();
			return false;
		}
		else if(txtPassword.value.length<6 || txtCPassword.value.length>12)
		{
			alert("The password should contains 6 to 12 characters.");
			txtCPassword.focus();
			return false;
		}
		else if(trimAll(txtAgntName.value)=="")
		{
		  alert("Please enter agent name!");
		  txtAgntName.focus();
		  return false;
		}
		else if(trimAll(txtAgnyName.value)=="")
		{
		  alert("Please enter agency name!");
		  txtAgnyName.focus();
		  return false;
		}
		
		else if(trimAll(txtState.value)=="")
		{
		  alert("Please enter agency state!");
		  txtState.focus();
		  return false;
		}
		else if(trimAll(txtCountry.value)=="")
		{
		  alert("Please enter agency country!");
		  txtCountry.focus();
		  return false;
		}
		
		else if(trimAll(TxtAgnAddress.value)=="")
		{
		  alert("Please enter your agency address!");
		  TxtAgnAddress.focus();
		  return false;
		}	
		else if(ChkBillInfo.checked==true)
		{
			if(trimAll(txtAgntBillName.value)=="")
			{
			  alert("Please enter your billing name!");
			  txtAgntBillName.focus();
			  return false;
			}
			else if(trimAll(txtAgnyBillName.value)=="")
			{
			  alert("Please enter your billing agency name!");
			  txtAgnyBillName.focus();
			  return false;
			}
			else if(trimAll(TxtBillAddress.value)=="")
			{
			  alert("Please enter your billing address!");
			  TxtBillAddress.focus();
			  return false;
			}
			
		}
		
		HiddenMode.value = "Save";
		action = "agency_registration.php";
		submit();
		return true;			
	}
}


function fnShowAgnBillAddress(formname)
{
	with(document.forms[formname])
	{			
		if(ChkBillInfo.checked==true)
		{
			if(txtAgntName.value != "")
			{
				txtAgntBillName.value = txtAgntName.value;
				txtAgnyBillName.value = txtAgnyName.value;
				TxtBillAddress.value = TxtAgnAddress.value;
				txtAgntBillName.disabled = true;
				txtAgnyBillName.disabled = true;
				TxtBillAddress.disabled = true;
			}
			else
			{
				ChkBillInfo.checked=false;
				alert("Please enter your agency manadory information!");
				txtAgntName.focus();
				return false;
			}
		}else{
			txtAgntBillName.value = "";
			txtAgnyBillName.value = "";
			TxtBillAddress.value =  "";
			txtAgntBillName.disabled = false;
			txtAgnyBillName.disabled = false;
			TxtBillAddress.disabled = false;
		}
	}
}

function fnEnterKeyWhenSearchSA(e,formname)
{
	if(e.keyCode==13)
	{
	 if (navigator.appName=="Netscape")
	 {
	  e.preventDefault();
	 }
	else
	  e.keyCode=0;
	  fnSearchSA(formname);
	}
}

function fnSearchSA(frmName)
{
	with(document.forms[frmName])
	{	
		if(frmName == "frmSubagencyList")
		{
			HdnMode.value = "Search";
			location.href="list_of_agency.php?SearchWord=" + txtSearchWord.value;
		}
		
	}
	//submit();
	return true;
}
//function used to validate login form starts
function fnEnterKeyForgetPassword(e,formname)
{
	if(e.keyCode==13)
	{
	 if (navigator.appName=="Netscape")
	 {
	  e.preventDefault();
	 }
	else
	  e.keyCode=0;
	 fnForgetPassword(formname);
	}
}

//function  used to validate forgot password form
function fnForgetPassword(formname)
{	
	with(document.forms[formname])
	{
		if(trimAll(txt_UserName.value)=="")
		{
			alert("Please enter your email address!");
			txt_UserName.focus();
			return false;
		}			
		else
		{
			hdn_mode.value = "change";
			submit();
			return true;
		}
	}
}



function fnUpdateUserDetails(formname)
{
	with(document.forms[formname])
	{	
		HiddenMode.value = "Update";
		submit();
		return true;
	}
}



function fnJobValidation(formname,Mode)
{
	with(document.forms[formname])
	{	
		/*if(RadJobType[0].checked == false && RadJobType[1].checked == false)
		{
			alert("Please select job type!");
			RadJobType[0].focus(); 
			return false;
		}*/
		if(trimAll(txtCategory.value)=="")
		{
			alert("Please enter category name!");
			txtCategory.focus(); 
			return false;
		}

		if(Mode == "add"){
			HiddenMode.value = "add";
		}else{
			HiddenMode.value = "edit";
		}
		submit();
		return true;
	}
}
function fnTarrifValidation(formname,Mode)
{
	with(document.forms[formname])
	{	
		if(trimAll(txtCategory.value)=="")
		{
			alert("Please enter tarrif!");
			txtCategory.focus(); 
			return false;
		}

		if(Mode == "add"){
			HiddenMode.value = "add";
		}else{
			HiddenMode.value = "edit";
		}
		submit();
		return true;
	}
}

function fnTarrifValidation1(formname,Mode)
{
	with(document.forms[formname])
	{	

		if(trimAll(DDLHeading.value)=="")
		{
			alert("Please select tarrif heading!");
			DDLHeading.focus(); 
			return false;
		}
		if(trimAll(txtCategory.value)=="")
		{
			alert("Please enter tarrif!");
			txtCategory.focus(); 
			return false;
		}

		if(Mode == "add"){
			HiddenMode.value = "add";
		}else{
			HiddenMode.value = "edit";
		}
		submit();
		return true;
	}
}

function FnValidateContactUs(frmName)
{

	with(document.forms[frmName])
	{
		if(TxtName.value=="")
		{
			alert("Please enter your name!");
			TxtName.focus();
			return false;
		}
		else if(TxtPhone.value=="")
		{
			alert("Please enter your phone!");
			TxtPhone.focus();
			return false;
		}
		else if(TxtEmail.value=="")
		{
			alert("Please enter your email address!");
			TxtEmail.focus();
			return false;
		}
		else if(!validateEmail(TxtEmail.value))
		{
			alert("Please enter valid email address!");
			TxtEmail.focus();
			return false;
		}
		else if(TxtMessage.value=="")
		{
			alert("Please enter your message!");
			TxtMessage.focus();
			return false;
		}

		HiddenMode.value = "Send";
		action = "contact_us.php";
		submit();
		return true;	
	}
}

//function used to validate login form starts
function fnEnterSearchSelResume(e,formname)
{
	if(e.keyCode==13)
	{
	 if (navigator.appName=="Netscape")
	 {
	  e.preventDefault();
	 }
	else
	  e.keyCode=0;
	 fnSearchResumeSelected(formname);
	}
}

function fnSearchResumeSelected(formname)
{
	with(document.forms[formname])
	{			
		if(ddlCustomer.value=="" && txtSearchWord.value=="" && RadStatus[0].checked == false && RadStatus[1].checked == false)
		{		  
			HdnMode.value = "SearchAll";
		}
		else
		{
			HdnMode.value = "Search";
		}		
		action = "list_of_selected_resumes.php";
		submit();
		return true;
	}
}

function fnSearchReqResume(formname)
{
	with(document.forms[formname])
	{			
		if(txtSearchWord.value=="")
		{		  
			HdnMode.value = "SearchAll";
		}
		else
		{
			HdnMode.value = "Search";
		}		
		action = "list_of_requested_resumes.php";
		submit();
		return true;
	}
}

function fnSearchSelResume(formname)
{
	with(document.forms[formname])
	{			
		if(txtSearchWord.value=="")
		{		  
			HdnMode.value = "SearchAll";
		}
		else
		{
			HdnMode.value = "Search";
		}		
		action = "list_of_selected_resumes.php";
		submit();
		return true;
	}
}

function fnLoginValidationCustomer(formname)
{
	with(document.forms[formname])
	{
		if(trimAll(txtEmail.value)=="")
		{
		  alert("Please enter your username!");
		  txtEmail.focus();
		  return false;
		}		
		else if(trimAll(txtPassword.value)=="")
		{
			alert("Please enter your password.");
			txtPassword.focus(); 
			return false;
		}
		else
		{
			HdnMode.value = "Login";
			submit();
			return true;
		}
	}
}
function keyNumPress()
{
	if (event.keyCode < 43 || event.keyCode > 57 && event.keyCode != 65 && event.keyCode != 78 )
	{
		alert("Please enter numbers only!");
		event.returnValue = false;
    }
}
function checkEmail(val,fieldName) 
{
	if(val.length>0)
	{
		if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(val)){
			return (true);
		}
		alert("Invalid "+fieldName+".");
		return (false);
	}
	else{
		alert("Please Type "+fieldName+".");
		return (false);
	}
	return (false);
} 
function showdiv(com)
{
	var obj=document.getElementById(com);
	obj.style.display="inline";
	

}
function hdiv(com)
{
	var obj=document.getElementById(com);
	obj.style.display="none";
	//obj.style.width="300px";

}
function findTop(obj) {
  if( !obj ) return 0;
  return obj.offsetTop + findTop( obj.offsetParent );
}

function findleft(obj) {
  if( !obj ) return 0;
  return obj.offsetLeft + findleft( obj.offsetParent );
}

function findh(obj) {
  if( !obj ) return 0;
  return obj.offsetHeight;
}
function findw(obj)
{
	if(!obj) return 0;
	return obj.offsetWidth;// findw(obj.offsetParent);
}
function findb(obj)
{
	if(!obj) return 0;
	return obj.offsetBottom + findb(obj.offsetParent);
}

function hr(obj)
{
	var obje=document.getElementById(obj);
	obje.style.position="relative";
	obje.style.visibility="hidden";
}

function showobjr(ini,obj2,pl,pt)
	{	//alert("showing....");
		var oo=document.getElementById(ini);
		//soo.style.position="absolute";
		t=findTop(oo)+pt;
		//alert(t);
		t=0;
		//alert(t);
	l=findleft(oo)+pl;
	l=0;
		//alert(l);
		var obje=document.getElementById(obj2);
			obje.style.top=t;
			obje.style.left=l;
			//hi=findTop(obje)+findh(obje);
			obje.style.position="relative";
			obje.style.visibility="Visible";
			//oo.style.height=0;
			//oo.style.height=hi;
			
			
				//objj.style.filter='alpha(opacity=1)';
			//transparntinc(obj,1);	
		
	}

	function ha(obj)
{
	var obje=document.getElementById(obj);
	obje.style.position="absolute";
	obje.style.visibility="hidden";
}

function showobj(obj1,l,t)
{
	var obj3=document.getElementById(obj1);
	obj3.style.left=l+'px';
	obj3.style.top=t+'Px';
	
	obj3.style.visibility="Visible";
	obj3.style.position="absolute";
	
	}

function showobjar(ini,obj2,pl,pt)
	{	//alert("showing....");
		var oo=document.getElementById(ini);
		//soo.style.position="absolute";
		t=findTop(oo)+pt;
		//t=0;
		//alert(t);
	l=findleft(oo)+pl;
		//alert(l);
		var obje=document.getElementById(obj2);
			obje.style.top=t+'px';
			obje.style.left=l+'px';
			//hi=findTop(obje)+findh(obje);
			obje.style.visibility="Visible";
			obje.style.position="absolute";
			
			//oo.style.height=0;
			//oo.style.height=hi;
			
			
				//objj.style.filter='alpha(opacity=1)';
			//transparntinc(obj,1);	
		
	}
	function showobjar_rel(ini,obj2,pl,pt)
	{	//alert("showing....");
		var oo=document.getElementById(ini);
		//soo.style.position="absolute";
		t=findTop(oo)+pt;
		//t=0;
		//alert(t);
	l=findleft(oo)+pl;
		//alert(l);
		var obje=document.getElementById(obj2);
			obje.style.top=t+'px';
			obje.style.left=l+'px';
			//hi=findTop(obje)+findh(obje);
			obje.style.visibility="Visible";
			obje.style.position="relative";
			
					
	}

	function showobjdown(ini,obj2,pl,pt)
	{	//alert("showing....");
		var oo=document.getElementById(ini);
		//soo.style.position="absolute";
		t=findTop(oo)+pt;
		//t=0;
		//alert(t);
	l=findleft(oo)+pl;
		//alert(l);
		var obje=document.getElementById(obj2);
			obje.style.top=t;
			obje.style.left=l;
			//hi=findTop(obje)+findh(obje);
			obje.style.position="absolute";
			obje.style.visibility="Visible";
			//oo.style.height=0;
			//oo.style.height=hi;
			
			
				//objj.style.filter='alpha(opacity=1)';
			//transparntinc(obj,1);	
		
	}
	function showobjdown(ini,obj2,pl,pt)
	{	//alert("showing....");
		var oo=document.getElementById(ini);
		//soo.style.position="absolute";
		t=findTop(oo)+pt;
		h=findh(oo);
		t+=h;
		//t=0;
		//alert(t);
		l=pl;
		//alert(l);
		var obje=document.getElementById(obj2);
			obje.style.top=t;
			obje.style.left=l;
			//hi=findTop(obje)+findh(obje);
			obje.style.position="absolute";
			obje.style.visibility="Visible";
			//oo.style.height=0;
			//oo.style.height=hi;
			
			
				//objj.style.filter='alpha(opacity=1)';
			//transparntinc(obj,1);	
		
	}
	
function getProduct(x,y,r)
 {
	 var objx=document.getElementById(x);
	 var objy=document.getElementById(y);
	 var objr=document.getElementById(r);
	 var res=parseFloat(objx.value)*parseFloat(objy.value);
 	//alert(document.expenses.Qty.value);
	//alert(document.expenses.Unit_Price.value);
	//var x=
	
 	objr.value=Math.round(res*100)/100;
	
	//alert(document.expenses.Total.value);
 }

function h(obj)
{//alert("error");
	var obje=document.getElementById(obj);
	obje.style.position="absolute";
	obje.style.visibility="hidden";
}

function showobjx(ini,obj2,pl,pt)
	{	//alert("showing....");
		var oo=document.getElementById(ini);
		//soo.style.position="absolute";
		t=findTop(oo)+pt;
		//alert(t);
		//t=0;
		//alert(t);
	l=findleft(oo)+pl;
	//l=0;
		//alert(l);
		var obje=document.getElementById(obj2);
			obje.style.top=t;
			obje.style.left=l;
			//hi=findTop(obje)+findh(obje);
			obje.style.position="absolute";
			obje.style.visibility="Visible";
			//oo.style.height=0;
			//oo.style.height=hi;
			
			
				//objj.style.filter='alpha(opacity=1)';
			//transparntinc(obj,1);	
		
	}
	function showobjonly(ini,obj2,pl,pt)
	{	
		var oo=document.getElementById(ini);
		var obje=document.getElementById(obj2);
		t=findTop(oo)+pt;
		l=findleft(oo)+pl;
		obje.style.top=t;
		obje.style.left=l;
			//hi=findTop(obje)+findh(obje);
			obje.style.position="absolute";
			obje.style.visibility="Visible";
			//oo.style.height=0;
			//oo.style.height=hi;
			
			
				//objj.style.filter='alpha(opacity=1)';
			//transparntinc(obj,1);	
		
	}
	
	function showobj(obj2)
	{	
		//var oo=document.getElementById(ini);
		var obje=document.getElementById(obj2);
		//t=findTop(oo)+pt;
		//l=findleft(oo)+pl;
		//obje.style.top=t;
		//obje.style.left=l;
			//hi=findTop(obje)+findh(obje);
			obje.style.position="absolute";
			obje.style.visibility="Visible";
			//oo.style.height=0;
			//oo.style.height=hi;
			
			
				//objj.style.filter='alpha(opacity=1)';
			//transparntinc(obj,1);	
		
	}

/// ALNOOF JSCRIPTS ENDS HERE...
