//start trim method
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
// end of trim methd
//till here it's ok

function validRequired(formField,fieldLabel)
{
	var result = true;
	
	if (Trim(formField.value) == "")
	{
		alert('Please enter a value for the "' + fieldLabel +'" field.');
		formField.focus();
		result = false;
	}
	
	return result;
}

function allPosDigits_float(str)
{
	return inValidCharSet(str,".0123456789");
}

function allDigits(str)
{
	return inValidCharSet(str," ()-0123456789");
}
function allPosDigits(str)
{
	return inValidCharSet(str,"0123456789");
}
function allAlphaNumeric(str)
{
	return inValidCharSet(str," -abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.,;");
}

function allAlphaNumeric_no_space(str)
{
	return inValidCharSet(str,"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.,;");
}
function allAlphaNumeric_no_spaceParking(str)
{
	return inValidCharSet(str,"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890_.,;");
}

function allAlphaNumeric_w_space(str)
{
	return inValidCharSet(str," abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.,;");
}
function allAlphaNumeric_w_space_dot(str)
{
	return inValidCharSet(str," .abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890&-.,;"); 
}


function inValidCharSet(str,charset)
{
	var result = true;

	// Note: doesn't use regular expressions to avoid early Mac browser bugs	
	for (var i=0;i<str.length;i++)
		if (charset.indexOf(str.substr(i,1))<0)
		{
			result = false;
			break;
		}
	
	return result;
}


function validNum_float(formField,fieldLabel,required)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel))
		result = false;
  
 	if (result)
 	{
 		if (!allPosDigits_float(formField.value))
 		{
 			alert('Please enter a number for the "' + fieldLabel +'" field.');
			formField.value="";
			formField.focus();		
			result = false;
		}
	} 
	
	return result;
}



function validNum(formField,fieldLabel,required)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel))
		result = false;
  
 	if (result)
 	{
 		if (!allDigits(formField.value))
 		{
 			alert('Please enter a number for the "' + fieldLabel +'" field.');
			formField.value="";
			formField.focus();		
			result = false;
		}
	} 
	
	return result;
}

function validPosNum(formField,fieldLabel,required)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel))
		result = false;
  
 	if (result)
 	{
 		if (!allPosDigits(formField.value)||Trim(formField.value)=="0")
 		{
 			alert('Please enter a positive number for the "' + fieldLabel +'" field.');
			formField.value="";
			formField.focus();		
			result = false;
		}
	} 
	
	return result;
}


function validAlphaNumeric(formField,fieldLabel,required)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel))
		result = false;
  
 	if (result)
 	{
 		if (!allAlphaNumeric(formField.value))
 		{
 			alert('Please enter only letter for the "' + fieldLabel +'" field.');
			formField.value="";
			formField.focus();		
			result = false;
		}
	} 
	
	return result;
}
//til here it's good
function validAlphaNumeric_no_space(formField,fieldLabel,required)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel))
		result = false;
  
 	if (result)
 	{
 		if (!allAlphaNumeric_no_space(formField.value))
 		{
 			alert('Please enter only letter and numbers for the "' + fieldLabel +'" field.');
			formField.value="";
			formField.focus();		
			result = false;
		}
	} 
	
	return result;
}


function validAlphaNumeric_no_spaceParking(formField,fieldLabel,required)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel))
		result = false;
  
 	if (result)
 	{
 		if (!allAlphaNumeric_no_spaceParking(formField.value))
 		{
 			alert('Please enter only letter and numbers for the "' + fieldLabel +'" field.');
			formField.value="";
			formField.focus();		
			result = false;
		}
	} 
	
	return result;
}

function validAlphaNumeric_w_space(formField,fieldLabel,required)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel))
		result = false;
  
 	if (result)
 	{
 		if (!allAlphaNumeric_w_space(formField.value))
 		{
 			alert('Please enter only letter and numbers and spaces for the "' + fieldLabel +'" field.');
			formField.value="";
			formField.focus();		
			result = false;
		}
	} 
	
	return result;
}

function validAlphaNumeric_w_space_dot(formField,fieldLabel,required)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel))
		result = false;
  
 	if (result)
 	{
 		if (!allAlphaNumeric_w_space_dot(formField.value))
 		{
 			alert('Please enter only letter and numbers and spaces for the "' + fieldLabel +'" field.');
			formField.value="";
			formField.focus();		
			result = false;
		}
	} 
	
	return result;
}



//till here it's good
function validInt(formField,fieldLabel,required)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel))
		result = false;
  
 	if (result)
 	{
 		var num = parseInt(formField.value,10);
 		if (isNaN(num))
 		{
 			alert('Please enter a number for the "' + fieldLabel +'" field.');
			formField.value="";
			formField.focus();		
			result = false;
		}
	} 	
	return result;
}

function validDate(formField,fieldLabel,required)
{
	dateStr=formField.value;
var datePat = /^(\d{1,2})(\/)(\d{1,2})(\/)(\d{4})$/;
var matchArray = dateStr.match(datePat); // is the format ok?

if (matchArray == null) {
alert("Please enter date as  mm/dd/yyyy.");
formField.value="";
formField.focus();
return false;
}

month = matchArray[1]; // p@rse date into variables
day = matchArray[3];
year = matchArray[5];

if (month < 1 || month > 12) { // check month range
alert("Month must be between 1 and 12.");
formField.focus();
formField.select();
return false;
}

if (day < 1 || day > 31) {
alert("Day must be between 1 and 31.");
formField.focus();
formField.select();
return false;
}

if ((month==4 || month==6 || month==9 || month==11) && day==31) {
alert("Month "+month+" doesn`t have 31 days!")
formField.focus();
formField.select();
return false;
}

if (month == 2) { // check for february 29th
var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
if (day > 29 || (day==29 && !isleap)) {
alert("February " + year + " doesn`t have " + day + " days!");
formField.focus();
formField.select();
return false;

}
}
return true; // date is valid
}

function test(formField,fieldLabel,required) {
var result=true;
  var regex = /^[a-zA-Z0-9._-]+.([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/;
if(!regex.test(Trim(formField.value)))
	  	{
			alert('Invalid entry in the "' + fieldLabel +'" field.');
	 	    formField.select();
		    result=false;
			
	  	}
return result;
}

function validGRemoteNumber(formField,fieldLabel)
{
  var regex = /[0-9]{2}\:[0-9]{4}/
	if(!regex.test(Trim(formField.value)))
	  	{
		alert('Please enter a value for the "' + fieldLabel +'" field in the format xx:xxxx');
		formField.value=""
		formField.focus();
		return false;
	}
	
	return true;
}
//***************** AUTHOR INFORMATION *************************
//* Phone/number filtering script made by,                     *
//* Øyvind Hansen, oyhansen@yahoo.no, Norway                   *
//* 14.04.2003                                                 *
//**************************************************************

// TESTED IN:

// Opera:	OK
// IE:		OK
// NS:		?
// Mozilla	?

//****************** SCRIPT INFO v1.1 **************************
//* Form validation of a phone number. Remove all illegal      *
//* characters and assign to a given format                    *
//**************************************************************

//********************* FIX TO v1.1 ****************************
//* Now using a 'while', instead of a 'for'-loop.              *
//* Removed some 'waste code' and added an empty input check   *
//**************************************************************

//************************* OTHER INFO *************************
//* This is made for norwegian phone numbers which are of      *
//* length 8 and starts with country code +47                  *
//* Edit to fit your needs                                     *
//*                                                            *
//**> Free for use, but include author information header    <**
//* Please report any bugs & please rate it!                   *
//*                                                            *
//* http://www.hotscripts.com/Detailed/21683.html              *
//**************************************************************
//till here it's good

function phoneFilter(form, format) {
/*
	var input = form.value;

	if(input.length > 0) { //do not perform if empty input

		var numbers = ""; //store all the numbers here

		//process to remove non-numbers and spaces
		for(var i = 0; i < input.length; i++) {
			var char = input.charAt(i);
			if(!(isNaN(char) || char == " ")) numbers += char;
		}

		//remove country code, if any
		if(numbers.substring(0, 2) == "47") numbers = numbers.substring(2, numbers.length);

		var output = ""; //assign numbers here

		//assign numbers to chosen format
		var n = 0, i = 0;
		while(i < format.length && n < numbers.length) {
			var char = format.charAt(i);
			if(char == "#") {
				output += numbers.charAt(n++)
			} else {
				output += char;
			}
			i++;
		}

		//give alert if length is less than 10.
		if(numbers.length < 10) {
			alert("The number must be of length 10");
			form.select();
			return false;
		}
		if(numbers.length >10) {
			alert("You entered more than 10 numbers.Please check your phone number!!");
			form.select();
			return false;
		}


		form.value = output; //output to form
			return true;
	}*/
	return true; //this line was added by Hassan
	
}