function Trim(objInstance,strMessage)
{
	var text = objInstance.value;
	while ((text.length) && (text.charAt(0) == " "))
		text = text.substring(1, text.length);
	while ((text.length) && (text.charAt(text.length-1) == " "))
		text = text.substring(0, text.length-1);
	if(text=="")
	{
		alert(strMessage);
		objInstance.focus();
		objInstance.style.background="#efefe0";
		objInstance.value="";
		return false;
	}
	else	
		return true;
}



function functrim(text)
{
	while ((text.length) && (text.charAt(0) == " "))
		text = text.substring(1, text.length);
	while ((text.length) && (text.charAt(text.length-1) == " "))
		text = text.substring(0, text.length-1);
	return text;
}


/*
  Validate textarea length 
  1.Text Area Name :field 
    
 */
    
function funcCheckMaxlength(objControl, intMaxChar, strLable) 
{
	if (objControl.value.length > intMaxChar) 
   {
		alert( strLable + " field is limited to " + intMaxChar + " characters only." );
		objControl.focus();
		return (false);
	}
	return (true);
}
/*====================================================================================================
Author		:	Shail Nigam
Created on	:	11.09.2007	
Name		:	funFormatDate.
Purpose		:	To change the format of the given date
Inputs		:	Date
Outputs		:	Formated Date 
Calls		:	
Called By	:	funCheckDate
====================================================================================================*/
function funFormatDate(strDate) 
{
	var arrDate
	var intMon
	
	arrDate = strDate.split("/")
	switch(arrDate[1])
	{
		case "01":
			intMon = 0
			break;	
		case "02":
			intMon = 1
			break;
		case "03":
			intMon = 2
			break;
		case "04":
			intMon = 3
			break;
		case "05":
			intMon = 4
			break;
		case "06":
			intMon = 5
			break;
		case "07":
			intMon = 6
			break;
		case "08":
			intMon = 7
			break;
		case "09":
			intMon = 8
			break;
		case "10":
			intMon = 9
			break;
		case "11":
			intMon = 10
			break;
		case "12":
			intMon = 11
			break;
		case "1":
			intMon = 0
			break;	
		case "2":
			intMon = 1
			break;
		case "3":
			intMon = 2
			break;
		case "4":
			intMon = 3
			break;
		case "5":
			intMon = 4
			break;
		case "6":
			intMon = 5
			break;
		case "7":
			intMon = 6
			break;
		case "8":
			intMon = 7
			break;
		case "9":
			intMon = 8
			break;
		case "10":
			intMon = 9
			break;
		case "11":
			intMon = 10
			break;
		case "12":
			intMon = 11
			break;	
	}	
//	alert(intMon);
	return(new Date(arrDate[2],intMon,arrDate[0]))
}

/*====================================================================================================
Author		:	Shail Nigam
Created on	:	11.09.2007
Name		:	funCheckDate.
Purpose		:	To compare the first date with the second date
Inputs		:	2 Dates and Operators
Outputs		:	
Calls		:	funFormatDate
Called By	:	

====================================================================================================*/
function funCheckDate(strDate1,strOperator,strDate2) 
{
	var datFirst
	var datSecond

	datFirst = funFormatDate(strDate1)
	

	if (strDate2 == null)
	{
		var datSysDateTime = new Date
		datSecond = new Date(datSysDateTime.getFullYear(),datSysDateTime.getMonth(),datSysDateTime.getDate())
	}
	else
	{
		datSecond = funFormatDate(strDate2)

	}
//	alert("from fun: "+datFirst);
//    alert("from fun: "+datSecond);	
//    
//    alert("from fun: "+Date.parse(datFirst));
//    alert("from fun: "+Date.parse(datSecond));
	if (strOperator != null)
	{
		switch (strOperator)
		{
		   
			case "==":
				if (Date.parse(datFirst) == Date.parse(datSecond))
					return(true)
				else
					return(false)
			break;
			case "!=":
				if (Date.parse(datFirst) != Date.parse(datSecond))
					return(true)
				else
					return(false)
			break;
			case ">":
				if (Date.parse(datFirst) > Date.parse(datSecond))
					return(true)
				else
					return(false)
			break;
			case ">=":
				if (Date.parse(datFirst) >= Date.parse(datSecond))
					return(true)
				else
					return(false)
			break;
			case "<":
				if (Date.parse(datFirst) < Date.parse(datSecond))
					return(true)
				else
					return(false)
			break;
			case "<=":
				if (Date.parse(datFirst) <= Date.parse(datSecond))
					return(true)
				else
					return(false)
			break;
			default :
				return(false)
		}	
	}	
}

/*====================================================================================================
Author		:	Shail Nigam
Created on	:	11.09.2007
Name		:	funIsInteger.
Purpose		:	To Check the given value is integer
Inputs		:	string value
Outputs		:	True if integer value else false
Calls		:	
Called By	:	
====================================================================================================*/
function funIsInteger(strValue) 
{
	var intLen
	var intLoopCounter
	var intFlag

	intFlag = 0 
	
	intLen = strValue.length

	if (intLen > 0)
	{
		for(intLoopCounter=0;intLoopCounter<intLen;intLoopCounter++)
		{
			if ((strValue.charCodeAt(intLoopCounter) < 47)  || (strValue.charCodeAt(intLoopCounter) > 59))
			{
				intFlag = 1
				break;
			
			}
		}
	}
	else
	{
		return(false)
	}

	if (intFlag == 0)
		return (true)
	else
		return (false)
	
}


/*====================================================================================================
Author		:	Shail Nigam
Created on	:	11.09.2007
Name		:	funAddTime.
Purpose		:	To add the hours and minutes 
Inputs		:	string Hours, string Minutes
Outputs		:	The time in Hours:Minutes
Calls		:	
Called By	:	
====================================================================================================*/
function funAddTime(strHrs,strMin)
{
	var intHrs1
	var intMin1
			
	var arrHrs
	var arrMin
	
	var intHrs
	var intMin
	
	var intTemp
	var intLoopCounter
	
	intHrs	= 0
	intMin	= 0
	intTemp = 0
	
	arrHrs = strHrs.split(",")
	arrMin = strMin.split(",")
	
	for(intLoopCounter=0; intLoopCounter<arrHrs.length;intLoopCounter++)
	{
		intHrs1 = parseInt(arrHrs[intLoopCounter],10)
		intMin1 = parseInt(arrMin[intLoopCounter],10)
			
		intMin = intMin1 + intMin
		if (intMin >= 60)
		{
			intTemp = 1
			intMin = Math.abs(60 - intMin)
		}
		else
			intTemp = 0
			
		intHrs = intHrs1 + intHrs + intTemp
	}

	if(intHrs >= 0 && intHrs <= 9)
		intHrs = "0" + intHrs
	
	if(intMin >= 0 && intMin <= 9)
		intMin = "0" + intMin
	
	return (intHrs + ":" + intMin)
}

/*====================================================================================================
Author		:	Shail Nigam
Created on	:	11.09.2007
Name		:	funTimeDiff.
Purpose		:	To get the total time
Inputs		:	string Hours, string Minutes
Outputs		:	The time in Hours:Minutes
Calls		:	
Called By	:	
====================================================================================================*/

function funTimeDiff(strFHrs,strFMin,strTHrs,strTMin)
{
	var intFHrs1
	var intFMin1
	var intTHrs1
	var intTMin1	
			
	var arrFHrs
	var arrFMin
	var arrTHrs
	var arrTMin
	
	var intFHrs
	var intFMin
	var intTHrs
	var intTMin
	
	var inttemHrs
	var inttemMin
	var intLoopCounter
	
	intHrs	= 0
	intMin	= 0
	
	arrFHrs = strFHrs.split(",")
	arrFMin = strFMin.split(",")
	arrTHrs = strTHrs.split(",")
	arrTMin = strTMin.split(",")
	
	for(intLoopCounter=0; intLoopCounter<arrFHrs.length;intLoopCounter++)
	{
		intFHrs1 = parseInt(arrFHrs[intLoopCounter],10)
		intFMin1 = parseInt(arrFMin[intLoopCounter],10)
		intTHrs1 = parseInt(arrTHrs[intLoopCounter],10)
		intTMin1 = parseInt(arrTMin[intLoopCounter],10)
		
		
		if (intTMin1 < intFMin1)
		{
			inttemMin = 60 - Math.abs(intTMin1 - intFMin1)
			inttemHrs = intTHrs1 - intFHrs1 - 1   
		}
		else
		{
			inttemMin = Math.abs(intTMin1 - intFMin1) 	
			inttemHrs = intTHrs1 - intFHrs1 
		}	
		
		intHrs = intHrs + inttemHrs
		intMin = intMin + inttemMin
	}
	
	return (intHrs + ":" + intMin)
}

/*====================================================================================================
Author		:	Shail Nigam
Created on	:	11.09.2007	
Name		:	funLimitChar.
Purpose		:	To limit the user for the characters  
Inputs		:	
Outputs		:	Returns false if the character exceeds the limit
Calls		:	
Called By	:	
====================================================================================================*/

function funLimitChar() 
{
	var ObjText = event.srcElement
	if (ObjText.value.length == ObjText.maxLength*1) 
		return false;
}

/*====================================================================================================
Author		:	Shail Nigam
Created on	:	11.09.2007	
Name		:	funCharCount.
Purpose		:	To display the remaining characters to be entered 
Inputs		:	Element (span) ID
Outputs		:	
Calls		:	
Called By	:	
====================================================================================================*/
function textCounter(field,cntfield,maxlimit) {
            if (field.value.length > maxlimit) 
            field.value = field.value.substring(0, maxlimit);
            else
            cntfield.value = maxlimit - field.value.length;
}

function funCharCount(strElementID) 
{ 
	var ObjText = event.srcElement
    alert("the text "+ObjText.value + " max "+ObjText.maxLength)
	if (ObjText.value.length > ObjText.maxLength*1)
		ObjText.value = ObjText.value.substring(0,ObjText.maxLength*1)

	if (strElementID) 
		strElementID.innerText = ObjText.maxLength - ObjText.value.length
}

/*====================================================================================================
Author		:	Deepak Inani
Created on	:	12.10.2007
Name		:	funBack()
Purpose		:	Redirect client back to Previous page
Inputs		:	
Outputs		:	
Calls		:	
Called By	:	
====================================================================================================*/
function funBack()
	{
	debugger;
	    window.history.go(-1); 
	}
	

/*====================================================================================================
Author		:	Shail Nigam
Created on	:	11.09.2007
Name		:	funCheckDecimal.
Purpose		:	To check if the value is a decimal number
Inputs		:	string
Outputs		:	
Calls		:	
Called By	:	
====================================================================================================*/

function funCheckDecimal(intNumber)
	{
		var regex = '';	
		regex = "^[0-9]{0,2}\\.?[0-9]{0,2}$";
		
		regex = new RegExp( regex );

		if ( !regex.test( intNumber ) )
		{
			return false;
		}
		return true;	
	}
	
	
	//this function should be called from datagrid or gridview where name of the textbox is not known.
	//this function is same as funCheckDate..only diff here is that the input parameters are textbox object instead of date values 
function funCompareDate(objTextbox1,strOperator,objTextbox2) 
{
	var datFirst
	var datSecond
    var strDate1
    var strDate2
    
    strDate1=objTextbox1.value;
    strDate2=objTextbox2.value;
   	datFirst = funFormatDate(strDate1)
    
	if (strDate2 == null || strDate2 == "")
	{
		var datSysDateTime = new Date
		datSecond = new Date(datSysDateTime.getFullYear(),datSysDateTime.getMonth(),datSysDateTime.getDate())
	}
	else
	{
		datSecond = funFormatDate(strDate2)
	}
//	alert("from fun: "+datFirst);
//    alert("from fun: "+datSecond);	
//    
//    alert("from fun: "+Date.parse(datFirst));
//    alert("from fun: "+Date.parse(datSecond));
	if (strOperator != null)
	{
		switch (strOperator)
		{
			case "==":
				if (Date.parse(datFirst) == Date.parse(datSecond))
					return(true)
				else
					return(false)
			break;
			case "!=":
				if (Date.parse(datFirst) != Date.parse(datSecond))
					return(true)
				else
					return(false)
			break;
			case ">":
				if (Date.parse(datFirst) > Date.parse(datSecond))
					return(true)
				else
					return(false)
			break;
			case ">=":
				if (Date.parse(datFirst) >= Date.parse(datSecond))
					return(true)
				else
					return(false)
			break;
			case "<":
				if (Date.parse(datFirst) < Date.parse(datSecond))
					return(true)
				else
					return(false)
			break;
			case "<=":
				if (Date.parse(datFirst) <= Date.parse(datSecond))
					return(true)
				else
					return(false)
			break;
			default :
				return(false)
		}	
	}	
}
