function Trim(TRIM_VALUE){
	if(TRIM_VALUE.length < 1){
		return"";
	}
	TRIM_VALUE = RTrim(TRIM_VALUE);
	TRIM_VALUE = LTrim(TRIM_VALUE);
	if(TRIM_VALUE==""){
		return "";
	}
	else{
		return TRIM_VALUE;
	}
} //End Function

function RTrim(VALUE){
	var w_space = String.fromCharCode(32);
	var v_length = VALUE.length;
	var strTemp = "";
	if(v_length < 0){
		return"";
	}
var iTemp = v_length -1;

	while(iTemp > -1){
		if(VALUE.charAt(iTemp) == w_space){
		}
		else{
			strTemp = VALUE.substring(0,iTemp +1);
			break;
		}
		iTemp = iTemp-1;	
	} //End While
	return strTemp;

} //End Function

function LTrim(VALUE){
	var w_space = String.fromCharCode(32);
	if(v_length < 1){
		return"";
	}
	var v_length = VALUE.length;
	var strTemp = "";
	
	var iTemp = 0;
	
	while(iTemp < v_length){
		if(VALUE.charAt(iTemp) == w_space){
		}
		else{
			strTemp = VALUE.substring(iTemp,v_length);
			break;
		}
		iTemp = iTemp + 1;
	} //End While
	return strTemp;
} //End Function



function validateEmail(email){
	var checkEmail = "@.";
	var checkStr = email;
	var EmailValid = false;
	var EmailAt = false;
	var EmailPeriod = false;
	for (i = 0;  i < checkStr.length;  i++){
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkEmail.length;  j++){
			if (ch == checkEmail.charAt(j) && ch == "@")
				EmailAt = true;
			if (ch == checkEmail.charAt(j) && ch == ".")
				EmailPeriod = true;
			if (EmailAt && EmailPeriod)
				break;
		  	if (j == checkEmail.length)
				break;
		}
		// if both the @ and . were in the string
		if (EmailAt && EmailPeriod){
			EmailValid = true
			break;
		}
	}		
	return EmailValid;		
}

function dateValid(objName)
  {
    var strDate;
    var strDateArray;
    var strDay;
    var strMonth;
    var strYear;
    var intday;
    var intMonth;
    var intYear;
    var booFound = false;
    var datefield = objName;
    var strSeparator = "/";
    var intElementNr;
    var err = 0;
    var strMonthArray = new Array(12);
    strMonthArray[0] = "Jan";
    strMonthArray[1] = "Feb";
    strMonthArray[2] = "Mar";
    strMonthArray[3] = "Apr";
    strMonthArray[4] = "May";
    strMonthArray[5] = "Jun";
    strMonthArray[6] = "Jul";
    strMonthArray[7] = "Aug";
    strMonthArray[8] = "Sep";
    strMonthArray[9] = "Oct";
    strMonthArray[10] = "Nov";
    strMonthArray[11] = "Dec";
    strDate = datefield.value;
    if (strDate.length < 1)
    {
      return 0;
    }

      if (strDate.indexOf(strSeparator) != -1)
      {
        strDateArray = strDate.split(strSeparator);
        if (strDateArray.length != 3)
        {
          err = 1;
          return err;
        }
        else
        {
          strDay = strDateArray[0];
          strMonth = strDateArray[1];
          strYear = strDateArray[2];
        }
      }
      else
      {
       err = 1;
       return err;
      }


	

    if (strYear.length == 2)
    {
    	if(strYear > 40){
      		strYear = '19' + strYear;
      	} else{
      		strYear = '20' + strYear;
      	}
    }
    if(strYear.length < 4){
    err = 11;
    return err;
    }
    strTemp = strDay;
    strDay = strMonth;
    strMonth = strTemp;
    intday = parseInt(strDay, 10);
    if (isNaN(intday))
    {
      err = 2;
      return err;
    }
    intMonth = parseInt(strMonth, 10);
    if (isNaN(intMonth))
    {
      for (i = 0; i < 12; i++)
      {
        if (strMonth.toUpperCase() == strMonthArray[i].toUpperCase())
        {
          intMonth = i + 1;
          strMonth = strMonthArray[i];
          i = 12;
        }
      }
      if (isNaN(intMonth))
      {
        err = 3;
        return err;
      }
    }
    intYear = parseInt(strYear, 10);
    if (isNaN(intYear))
    {
      err = 4;
      return err;
    }
    if (intMonth > 12 || intMonth < 1)
    {
      err = 5;
      return err;
    }
    if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intday > 31 || intday < 1))
    {
      err = 6;
      return err;
    }
    if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intday > 30 || intday < 1))
    {
      err = 7;
      return err;
    }
    if (intMonth == 2)
    {
      if (intday < 1)
      {
        err = 8;
        return err;
      }
      if (LeapYear(intYear) == true)
      {
        if (intday > 29)
        {
          err = 9;
          return err;
        }
      }
      else
      {
        if (intday > 28)
        {
          err = 10;
          return err;
        }
      }
    }
    
    strDay = intday.toString();
    
    if(strDay.length < 2){
    	strDay = "0"+strDay;
    }
    
    strMonth = intMonth.toString();
   
    if(strMonth.length < 2){
    	strMonth = "0"+strMonth;
    }

    
     err = new String(strMonth+"/"+strDay+"/"+intYear);
    return err;
  }
  
  function LeapYear(intYear)
  {
    if (intYear % 100 == 0)
    {
      if (intYear % 400 == 0) { return true; }
    }
    else
    {
      if ((intYear % 4) == 0)
      { return true;  }
    }
    return false;
  }
  
  function validate(checkOK,checkStr){	
  	var allValid = true;
	for (i = 0;  i < checkStr.length;  i++)
	{
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j))
				break;
		
		if (j == checkOK.length){		
			allValid = false;
			break;						
		}
	} 
	return allValid;	
	}
	
function validatePhone(phone){
	var str="";
	var stripped = phone.replace(/[\(\)\.\-\ ]/g, '');
	//strip out acceptable non-numeric characters
	var checkOK = "1234567890";
	var checkStr = stripped;
	if(validate(checkOK,checkStr)==false){		  
	  str+="- Invalid phone number\n";
	}else if (!(stripped.length == 10)) {
		str+=  "- The phone number is of wrong length. Please make sure you included an area code\n";
	}
	return str;	
}
	
	function encode(str) {	
		var unencoded = str;
		return (escape(unencoded));
	}



	