var ErrEncountered = false

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

//Just a trim function it can be generally called
//sudevan
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 checknull(obj)
// Check for Null value.
/* 
Pass the parameters - 
		1.  Field object name
		Eg. checknull(document.form1.txtName)
*/
{
	ErrEncountered = false;
	var i = 0;
	for(i=0;(i < obj.value.length && obj.value.charAt(i) == ' ');i++);
		if (i == obj.value.length) 
		{
			ErrEncountered = true;
		}
	return ErrEncountered; 
}		

function checkcombo(obj,val)
// Check for value in the dropdown.
/*	Function checkcombo
	Pass the parameter(s) - 
		 1.	Field object name
		 2.	Text of the dropdown which is to be checked.
		 Eg. checkcombo(document.form1.txtEmail,'X')
*/
{
	ErrEncountered = false;
	if (obj.options[obj.selectedIndex].text==val)
		{
			ErrEncountered=true;
		}
	return ErrEncountered; 
}

function checklength(obj)
// Check for value in the text area.
/*	Function checklength
	Pass the parameter(s) - 
		 1.	Field object name
		 Eg. checklength(document.form1.txtAddress)
*/
{
	ErrEncountered = false;
	if (parseInt(obj.value.length,10) > parseInt(obj.Maxlength,10))
		{
			ErrEncountered=true;
		}
	return ErrEncountered; 
}

function checkemail(obj)
// Check for valid email addresses
/* Function checkemail
  Pass the parameter(s) - 
	1.	Field object name
	Eg. checkemail(document.form1.txtEmail)
*/
{
	ErrEncountered = false;
	emailexp1 = /([a-zA-Z0-9_-]+)(@)([a-zA-Z0-9-]+)([\.])([a-zA-Z]){2,}/   
	emailexp2 = /([a-zA-Z0-9_-]+)(@)([a-zA-Z0-9-]+)([\.])([a-zA-Z]){4,}/   

	if ((obj.value.search(emailexp1) == - 1) || (obj.value.search(emailexp2) != - 1))
	{
		ErrEncountered = true;
	}
	return ErrEncountered;
}	

function checknum(obj,minvalue)
// Check for numeric value, if its numeric - should be greater than/equal to given value.
/*		Function checknum
			Pass the parameter(s) - 
			1.	Field object name
			2.	Minimum value i.e. the value entered in the object should be greater than/equal to minimum value.
						 
			 Eg. checknum(document.form1.txtArea,0)
*/
{
	ErrEncountered=false;
	if (isNaN(obj.value))
	{
		ErrEncountered = true;
	}
	else
	{
		if (parseInt(obj.value,10) < minvalue)
		{
			ErrEncountered=true;
		}
	}
	return ErrEncountered;
}

function checkphone(obj)
{
	var expphno = /([^0-9\,\;\(\)]){1,}/;
	if (obj.value.search(expphno)!= -1)
		{
			obj.focus();
			return false; 
		}
	return true;
}

function checkphoneObjectOnly(obj)
{
	var expphno = /([^0-9\,\;\(\)]){1,}/;
	if (obj.value.search(expphno)!= -1)
		{
			return false;
		}
	return true;
}

//Check The Text Data for alphabets and (&, -, ,, ')
function isValidText(cnvText)
{
	var alphabet = 2;
	for	(i=0;i<cnvText.value.length;++i)
	{
		var ch=cnvText.value.charAt(i);
		if ((ch >= 'a' && ch <= 'z')||(ch >= 'A' && ch <= 'Z')||ch==' ')
		{
			alphabet=1;
		}
		else
		{
			alphabet=0;
			break;
		}
	}
	if	(alphabet==0)
	{
		return false;
	}
	else
	{
		return true;
	}
}

//Check The Text Data for alphabets
function isValidText1(cnvText)
{
	var alphabet = 2;
	for	(i=0;i<cnvText.value.length;++i)
	{
		var ch=cnvText.value.charAt(i);
		if ((ch >= 'a' && ch <= 'z')||(ch >= 'A' && ch <= 'Z')||ch==' '||ch=="'"||ch=='&'||ch==','||ch=='-'||ch=='('||ch==')'||ch=='.')
		{
			alphabet=1;
		}
		else
		{
			alphabet=0;
			break;
		}
	}
	if	(alphabet==0)
	{
		return false;
	}
	else
	{
		return true;
	}
}

//Check The Text Data for alphabets, numerics and (&, -, ,, ', (, ))
function isValidText2(cnvText)
{
	var alphabet = 2;
	for	(i=0;i<cnvText.value.length;++i)
	{
		var ch=cnvText.value.charAt(i);
		if ((ch >= 'a' && ch <= 'z')||(ch >= 'A' && ch <= 'Z')||ch==' '||(ch>=0&&ch<=9)||ch=="'"||ch=='&'||ch==','||ch=='-'||ch=='('||ch==')'||ch=='.')
		{
			alphabet=1;
		}
		else
		{
			alphabet=0;
			break;
		}
	}
	if	(alphabet==0)
	{
		return false;
	}
	else
	{
		return true;
	}
}
function checkdaterange(fromdt,todt)
// Check whether From date > To date.
/*		Function checkdaterange
			 Pass the parameters - 
						1.  value of From Date field in the format(mm/dd/yyyy)
						2.  value of To Date field in the format(mm/dd/yyyy)
						3.  Text for From Date to be displayed in the alert message
						4.  Text for To Date to be displayed in the alert message 
						
						 Eg. checkdaterange('12/1/2001','12/31/2001','From Date','To Date')
*/

{
var fromdtnum = Date.parse(fromdt);
var todtnum = Date.parse(todt);

	if (todtnum < fromdtnum)
	{
		return true;
	}
	else
	{
		return false;
	}
}
function checkPostDate(fromdt)
// Check whether From date > To date.
/*		Function checkdaterange
		Pass the parameters - 
		1.	value of From Date field in the format(mm/dd/yyyy)
*/
{
	ErrEncountered = false;

	var CurrentDate		   = new Date();
	var CurrentYear        = CurrentDate.getYear();
	var CurrentMonth       = CurrentDate.getMonth();
	var CurrentDay         = CurrentDate.getDate();
	
	var SplitDateValue        = fromdt.split('/');
	var FromCurrentYear       = SplitDateValue[2];
	var FromCurrentMonth      = SplitDateValue[1] - 1;
	var FromCurrentDay        = SplitDateValue[0];

	var ActualFromDateTime    = new Date(FromCurrentYear, FromCurrentMonth , FromCurrentDay, 0, 0, 0);
	var ActualCurrentDateTime = new Date(CurrentYear, CurrentMonth, CurrentDay, 0, 0, 0);

	ActualCurrentDate = Date.parse(ActualCurrentDateTime);
	ActualFromDate    = Date.parse(ActualFromDateTime);
	
	if (ActualFromDate >= ActualCurrentDate)
	{
			ErrEncountered=true;
	}
	return ErrEncountered;
}			


function checkDateFromAndTo(fromdt, Todt)

// Check whether From date > To date.
/*		Function checkdaterange
		Pass the parameters - 
		1.	value of From Date field in the format(mm/dd/yyyy)
*/
{
	var SplitFromDateValue  = fromdt.split('/');
	var FromCurrentYear     = SplitFromDateValue[2];
	var FromCurrentMonth    = SplitFromDateValue[1] - 1;
	var FromCurrentDay      = SplitFromDateValue[0];
	
	var SplitToDateValue    = Todt.split('/');
	var ToCurrentYear       = SplitToDateValue[2];
	var ToCurrentMonth      = SplitToDateValue[1] - 1;
	var ToCurrentDay        = SplitToDateValue[0];

	var ActualFromDateTime  = new Date(FromCurrentYear, FromCurrentMonth , FromCurrentDay, 0, 0, 0);
	var ActualToDateTime    = new Date(ToCurrentYear, ToCurrentMonth, ToCurrentDay, 0, 0, 0);
	
	ActualFromDate = Date.parse(ActualFromDateTime);
	ActualToDate   = Date.parse(ActualToDateTime);

	if (ActualFromDate >= ActualToDate)
	{
		return true;
	}
	else
	{
		return false;
	}
}