/* Funtions Available
 
 *---ZeroRemoval() for removing Zeros

 *--- checkBlank( textFld )
 *		Remarks:	Check for textFld value for blank  
 *					Provide Visual Effects
 *		Parameters: textFld, HTML text object
 *		Return:		void
 *------------------------------------------------------------------------------
 *
 *--- checkNumeric( textFld, response )
 *		Remarks:	Check for textFld value is int or Float  
 *					Give Error Message based on Response 
 *		Parameters: textFld, HTML text object
 *					response, Numeric, 0,1,2
 *							0 - Field = blank
 *							1 - Object Color Red
 *							2 - Alert
 *		Return:		void
 *------------------------------------------------------------------------------
 *
 *--- checkDate( obj, format, response )
 *		Remarks:	Check for textFld value is a valid date format  
 *					Give Error Message based on Response 
 *		Parameters: textFld, HTML text object
 *					format, Numeric
 *							1 - dd/mm/yyyy
 *							2 - mm/dd/yyyy
 *							3 - mm/yyyy
 *							4 - dd/mm
 *							5 - mm/dd
 *					response, Numeric, 0,1,2,3
 *							0 - Field = blank
 *							1 - System Date
 *							2 - Object Color Red
 *							3 - Alert
 *		Return:		void
 *------------------------------------------------------------------------------
 *
 *--- GetSystemDate(format)
 *		Remarks:	Returns System date based on format provided
 *		Parameters: format, Numeric
 *							1 - dd/mm/yyyy
 *							2 - mm/dd/yyyy 
 *							3 - mm/yyyy
 *							4 - dd/mm
 *							5 - mm/dd
 *							6 - yyyy
 *		Return:		date
 *------------------------------------------------------------------------------
 *
 *--- ValidateObject(object,type,format)
 *
 *		Parameters: format, Numeric
 *									1 - Blank if invalid
 *									2 - Correct if possible
 *									3 - Alert 
 *					Type, Numeric		
 *									1 - Email					 
 *							        2 - Url 
 *							 
 *		Return:		string
 *------------------------------------------------------------------------------	
 *
 *--- checkTime( obj, response )
 *		Remarks:	Check for textFld value is a valid time in 24 hrs format  
 *					Give Error Message based on Response 
 *		Parameters: textFld, HTML text object
 *					response, Numeric, 0, 1
 *							0 - Correct time
 *							1 - Alert
 *		Return:		void
 *------------------------------------------------------------------------------
 *
 *--- GetSystemTime()
 *		Remarks:	Returns System time based on 24 hrs format
 *		Parameters: none
 *		Return:		time
 *------------------------------------------------------------------------------
 *
 */ 	
//By Nitin Jain on 270905 for removing Zeros
//Incase of 15 digit id the jno should be pass  = 3
function ZeroRemoval(strTemp, jNo)
	{
		var str ;
		if(jNo==undefined) jNo = 2;
		str = strTemp.substr(0,jNo);
		for(i=jNo;i<strTemp.length;i++)
			{
				if(strTemp.substr(i,1)!= 0) 
					{
						str = str + strTemp.substr(i);
						break;
					}
			}
		return str;
	}

function checkPercentage(textObj)
	{
		textObj.value=getPercentage(textObj.value);
	}
function getPercentage( textValue )
	{
		var numValue;
		numValue = getNumeric(textValue);
		if(numValue<0) numValue = 0;
		if(numValue>100) numValue = 100;
		return numValue;
	}

function getNumeric( textValue )
	{
		var numValue;
		numValue = parseFloat(textValue);
		if(isNaN(numValue)) numValue = 0;
		return numValue;
	}

function getInteger( textValue )
	{
		var numValue;
		numValue = parseInt(textValue);
		if(isNaN(numValue)) numValue = 0;
		return numValue;
	}

function checkInteger( textFld, response )
	{
		if (textFld.readOnly) return;
		if (textFld.value != getInteger(textFld.value) )
			{
				switch (response) {
					case 2:	
							alert("Invalid number entered");
							break;
					case 1:
							textFld.style.fontStyle.fontColor = "Red";
							break;
					default:
							if(getNumeric(textFld.value) > 0) alert("decimals not permitted");
							textFld.value = 0;
					}  // select
			}
		else 
			{
				if (response==1) textFld.style.fontStyle.fontColor = "Black";
			}
	}

function checkSmallMoney( textFld, response )
	{
		if (textFld.readOnly) return;
		if (textFld.value == "" || isNaN(textFld.value) || getNumeric(textFld.value) > 200000)
			{
				switch (response) {
					case 2:	
							alert("Invalid number entered");
							break;
					case 1:
							textFld.style.fontStyle.fontColor = "Red";
							break;
					default:
							if(getNumeric(textFld.value) > 200000) alert("Maximum of 200,000 is permitted");
							textFld.value = 0;
					}  // select
			}
		else {
				if (response==1) textFld.style.fontStyle.fontColor = "Black";
			}
	}

function checkNumeric( textFld, response )
	{
		checkSmallMoney( textFld, response );
	}
	
function checkMoney( textFld, response )
	{
		if (textFld.readOnly) return;
		textFld.value=getNumeric(textFld.value) 
		if (textFld.value == "" || isNaN(textFld.value) )
			{
				switch (response) {
					case 2:	
							alert("Invalid number entered");
							break;
					case 1:
							textFld.style.fontStyle.fontColor = "Red";
							break;
					default:
							textFld.value = 0;
					}  // select
			}
		else {
				if (response==1) textFld.style.fontStyle.fontColor = "Black";
			}
	}

	function checkDateEx( obj, format, response, Sep)
				{
					var datesring, mSep;
					var anarray;
					var mDate, mMonth, mYear, somedate;
					var nDate, nMonth, nYear, somedate;

					if (obj.readOnly) return;
					datestring = obj.value;

					if ( datestring.indexOf("/") > 0 ) mSep = "/";
						else if ( datestring.indexOf("-") > 0 ) mSep = "-";
							else if ( datestring.indexOf(".") > 0 ) mSep = ".";
								else {  
										datecheckResponse( obj, format, response, 1 );
										return;
									}
					obj.value = strTrans(obj.value,mSep,Sep);			
					anarray = datestring.split(mSep);
					if ( (anarray.length  < 3 && format < 3) || (anarray.length < 2) )
						{
							datecheckResponse( obj, format, response, 1 );
							return;
						}

					switch (format) {
						case 5:				// mm/dd
									mMonth = anarray[0];
									mDate = anarray[1];
									mYear = "2003";
									break;
						case 4:				// dd/mm
									mDate = anarray[0];
									mMonth = anarray[1];
									mYear = "2003";
									break;
						case 3:				// mm/yyyy
									mDate = "01";
									mMonth = anarray[0];
									mYear = anarray[1];
									break;
						case 2:				// mm/dd/yyyy
									mMonth = anarray[0];
									mDate = anarray[1];
									mYear = anarray[2];
									break;
						default:			// dd/mm/yyyy
									mDate = anarray[0];
									mMonth = anarray[1];
									mYear = anarray[2];
						}
			nDate = Math.max(1,Math.min(31,mDate));
			nMonth = Math.max(1,Math.min(12,mMonth));
			nYear  = Math.max(1,Math.min(2999,mYear));
			somedate = new Date( nYear, nMonth-1, nDate);
			if( (mDate != nDate) || (mMonth != nMonth) || (mYear != nYear) || (mDate != somedate.getDate() ) || ( mMonth != somedate.getMonth()+1 ) || ( mYear != somedate.getFullYear()) )
					datecheckResponse( obj, format, response, 1 );
				else datecheckResponse( obj, format, response, 0 );
	}
				
	function checkDate( obj, format, response)
				{
					var datesring, mSep;
					var anarray;
					var mDate, mMonth, mYear, somedate;
					var nDate, nMonth, nYear, somedate;

					if (obj.readOnly) return;
					datestring = obj.value;

					if ( datestring.indexOf("/") > 0 ) mSep = "/";
						else if ( datestring.indexOf("-") > 0 ) mSep = "-";
							else if ( datestring.indexOf(".") > 0 ) mSep = ".";
								else {  
										datecheckResponse( obj, format, response, 1 );
										return;
									}
									
					anarray = datestring.split(mSep);
					if ( (anarray.length  < 3 && format < 3) || (anarray.length < 2) )
						{
							datecheckResponse( obj, format, response, 1 );
							return;
						}

					switch (format) {
						case 5:				// mm/dd
									mMonth = anarray[0];
									mDate = anarray[1];
									mYear = "2003";
									break;
						case 4:				// dd/mm
									mDate = anarray[0];
									mMonth = anarray[1];
									mYear = "2003";
									break;
						case 3:				// mm/yyyy
									mDate = "01";
									mMonth = anarray[0];
									mYear = anarray[1];
									break;
						case 2:				// mm/dd/yyyy
									mMonth = anarray[0];
									mDate = anarray[1];
									mYear = anarray[2];
									break;
						default:			// dd/mm/yyyy
									mDate = anarray[0];
									mMonth = anarray[1];
									mYear = anarray[2];
						}
			nDate = Math.max(1,Math.min(31,mDate));
			nMonth = Math.max(1,Math.min(12,mMonth));
			nYear  = Math.max(1,Math.min(2999,mYear));
			somedate = new Date( nYear, nMonth-1, nDate);
			if( (mDate != nDate) || (mMonth != nMonth) || (mYear != nYear) || (mDate != somedate.getDate() ) || ( mMonth != somedate.getMonth()+1 ) || ( mYear != somedate.getFullYear()) )
					datecheckResponse( obj, format, response, 1 );
				else datecheckResponse( obj, format, response, 0 );
	}
				
function datecheckResponse( textFld, format, response, error  )
	{
		if (error == 1) {
					switch (response) {
					case 3:	
							{
							alert("Invalid Date entered");
							textFld.focus;
							break;
							}
					case 2:	
							{
							textFld.style.color = "Red";
							break;
							}
					case 1:
							{
							textFld.value = GetSystemDate(format);
							break;
							}
					default:
							{
							textFld.value = "";
							}
					}  // select
			}
		else {
				if (response==2)textFld.style.color = "Black";
			}
	}

				
	function GetSystemDate(format)
		{
			var SysDate = new Date();
			var strDate;

			Sep = "/";
			switch (format) {
				case 6:				// yyyy
						strDate = SysDate.getFullYear();
						break;
				case 5:				// mm/dd
						strDate = (SysDate.getMonth()+1) + Sep + SysDate.getDate();
						break;
				case 4:				// dd/mm
						strDate = SysDate.getDate() + Sep + (SysDate.getMonth()+1);
						break;
				case 3:				// mm/yyyy
						strDate = (SysDate.getMonth()+1) + Sep + SysDate.getFullYear();
						break;
				case 2:				// mm/dd/yyyy
						strDate = (SysDate.getMonth()+1) + Sep + SysDate.getDate() + Sep + SysDate.getFullYear();
						break;
				default:			// dd/mm/yyyy
						strDate = SysDate.getDate() + Sep + (SysDate.getMonth()+1) + Sep + SysDate.getFullYear();
				}
			return strDate;
		}
		
function StringToDate(datestring, format)
	{
		var datestring, mSep = "\\";
		var anarray;
		var somedate = new Date(2007,1,1);

		if ( datestring.indexOf("/") > 0 ) mSep = "/";
			else if ( datestring.indexOf("-") > 0 ) mSep = "-";
				else if ( datestring.indexOf(".") > 0 ) mSep = ".";
		
		anarray = datestring.split(mSep);

		switch (format) {
			case 5:				// mm/dd
						if(anarray.length>0) somedate.setMonth( getNumeric(anarray[0])-1 );
						if(anarray.length>1) somedate.setDate( getNumeric(anarray[1]) );
						break;
			case 4:				// dd/mm
						if(anarray.length>1) somedate.setMonth( getNumeric(anarray[1])-1 );
						if(anarray.length>0) somedate.setDate( getNumeric(anarray[0]) );
						break;
			case 3:				// mm/yyyy
						somedate.setDate( 1 );
						if(anarray.length>1) somedate.setFullYear( getNumeric(anarray[1]) );
						if(anarray.length>0) somedate.setMonth( getNumeric(anarray[0])-1 );
						break;
			case 2:				// mm/dd/yyyy
						if(anarray.length>2) somedate.setFullYear( getNumeric(anarray[2]) );
						if(anarray.length>0) somedate.setMonth( getNumeric(anarray[0])-1 );
						if(anarray.length>1) somedate.setDate( getNumeric(anarray[1]) );
						break;
			default:			// dd/mm/yyyy
						if(anarray.length>2) somedate.setFullYear( getNumeric(anarray[2]) );
						if(anarray.length>1) somedate.setMonth( getNumeric(anarray[1])-1 );
						if(anarray.length>0) somedate.setDate( getNumeric(anarray[0]) );
			}
		return somedate;
	}
				
    function DateToString(dateObj, format)
	    {
		    var datestring;
		    if(format==2)
    		        {
		                datestring = (dateObj.getMonth()+1)  + '/' + dateObj.getDate() + '/' + dateObj.getYear();
	    	        }
		        else
		            {
		                datestring = dateObj.getDate() + '/' + (dateObj.getMonth()+1) + '/' + dateObj.getYear();
		            }
		    return datestring;
	    }

    function AddDaysToDate(dt1, iDay, format)
        {
		    var jDate1;
		    jDate1 = StringToDate( dt1, format);
		    jDate1 = new Date(jDate1.getYear(), jDate1.getMonth(), getInteger(jDate1.getDate())+iDay );
		    return DateToString(jDate1, format);
        }

    function AddMonthToDate(dt1, iMth, format)
        {
		    var jDate1;
		    jDate1 = StringToDate( dt1, format);
		    jDate1 = new Date(jDate1.getYear(), jDate1.getMonth()+iMth, getInteger(jDate1.getDate()) );
		    return DateToString(jDate1, format);
        }
		
    function DateDifference(dt1,dt2,format)
	    {
		    var millSeconds, days;
    		  
		    jDate1 = StringToDate( dt1, format);
		    jDate2 = StringToDate( dt2, format);

		    millSeconds = jDate1.valueOf(jDate1) - jDate2.valueOf(jDate2);
		    days = millSeconds / (1000 * 60 * 60 * 24);
		    return days;
	    }

function compareDate(dt1,dt2,format)
	{
		var actdate, nowdate ;
		  
		jDate1 = StringToDate( dt1, format);
		jDate2 = StringToDate( dt2, format);
		if(jDate1 < jDate2) return -1;
			else if(jDate1 > jDate2) return 1;
					else return 0
	}

function getCMonth(intMonth)
	{
		return getCMonthFull(intMonth).substring(0,3);
	}

function getCMonthFull(intMonth)
	{
		switch (intMonth) {
			case 2:		return "February";
						break;
			case 3:		return "March";
						break;
			case 4:		return "April";
						break;
			case 5:		return "May";
						break;
			case 6:		return "June";
						break;
			case 7:		return "July";
						break;
			case 8:		return "August";
						break;
			case 9:		return "September";
						break;
			case 10:	return "October";
						break;
			case 11:	return "November";
						break;
			case 12:	return "December";
						break;
			default:	return "January";
						break;
			}
	}

function WeekToPeriod(intWeekNo, intYear, response)
	{
		var strPeriod = "";
		var currentdate = new Date(intYear,0,1);
		currentdate.setDate( currentdate.getDate() - currentdate.getDay());
		currentdate.setDate( currentdate.getDate() + (7*intWeekNo) );
		var startdate = new Date( currentdate.getFullYear(), currentdate.getMonth(), currentdate.getDate()-6);
		switch (response) {
			case 5:	strPeriod = getCMonth(startdate.getMonth()+1) + ' ' + startdate.getDate() + ((startdate.getFullYear()==currentdate.getFullYear()) ? "" : ', '+ startdate.getFullYear()) +' - '+ ((startdate.getMonth()==currentdate.getMonth()) ? "" : getCMonth(currentdate.getMonth()+1)+' ') + currentdate.getDate() +', '+ currentdate.getFullYear() ;
					break;
			case 2:	strPeriod = getCMonth(startdate.getMonth()+1) + ' ' + startdate.getDate() +' - '+ ((startdate.getMonth()==currentdate.getMonth()) ? "" : getCMonth(currentdate.getMonth()+1)+' ') + currentdate.getDate();
					break;
			case 4:	strPeriod = getCMonthFull(startdate.getMonth()+1) + ' ' + startdate.getDate() + ((startdate.getFullYear()==currentdate.getFullYear()) ? "" : ', '+ startdate.getFullYear()) +' - '+ ((startdate.getMonth()==currentdate.getMonth()) ? "" : getCMonthFull(currentdate.getMonth()+1)+' ') + currentdate.getDate() +', '+ currentdate.getFullYear() ;
					break;
			case 1:	strPeriod = getCMonthFull(startdate.getMonth()+1) + ' ' + startdate.getDate() +' - '+ ((startdate.getMonth()==currentdate.getMonth()) ? "" : getCMonthFull(currentdate.getMonth()+1)+' ') + currentdate.getDate();
					break;
			case 3:		strPeriod = startdate.getDate() +'/'+ (startdate.getMonth()+1) + ((startdate.getFullYear()==currentdate.getFullYear()) ? "" : '/'+ startdate.getFullYear()) +' - '+ currentdate.getDate() +'/'+ (currentdate.getMonth()+1) +'/'+ currentdate.getFullYear();
					break;
			default:	strPeriod = startdate.getDate() +'/'+ (startdate.getMonth()+1) +' - '+ currentdate.getDate() +'/'+ (currentdate.getMonth()+1);
				}
		return strPeriod;
	}
	
function DateToWeek(datestring,format)
	{
		var currentdate = StringToDate(datestring,format);
		var intWeekNo;
		var somedate = new Date(currentdate.getFullYear(),0,1);
		somedate.setDate( somedate.getDate() - somedate.getDay());
		for(intWeekNo=0;somedate<currentdate;intWeekNo++)
			somedate.setDate( somedate.getDate() + 7);
		return intWeekNo;
	}

function GetSystemTime()
	{
		var SysDate = new Date();
		return SysDate.getHours() + ':' + ( (SysDate.getMinutes() < 10) ? '0' : '') + SysDate.getMinutes();
	}

function checkTime( obj, response)
	{
		var timestring, mSep=' ';
		var anarray;
		var mHour=0, mMinute=0, somedate;

		if (obj.readOnly) return;
		timestring = obj.value;
		if ( timestring.indexOf(":") > 0 ) mSep = ":";
			else if ( timestring.indexOf("-") > 0 ) mSep = "-";
				else if ( timestring.indexOf(".") > 0 ) mSep = ".";
						else mSep = "/";
					
		anarray = timestring.split(mSep);

		if (anarray.length > 0)	mHour = parseFloat(anarray[0]);
		if (anarray.length > 1) 
			{
				mMinute = parseFloat(anarray[1]);
				if( anarray[1].substring(0,1) != '0' && mMinute < 10) mMinute = mMinute * 10;
			}
		if(isNaN(mHour)) mHour = 0;
		if(isNaN(mMinute)) mMinute = 0;
		
		somedate = new Date();
		somedate.setHours(mHour, mMinute);
		if( (response==1) && ( somedate.getHours() != mHour || somedate.getMinutes() != mMinute ) )
			{
				alert("Invalid time entered");
				obj.focus();
			}
		else
			{
				obj.value = ( (somedate.getHours() < 10) ? '0' : '') + somedate.getHours() + ':';
				obj.value = obj.value + ( (somedate.getMinutes() < 10) ? '0' : '') + somedate.getMinutes();
			}
	}

function IsBlank(str)
	{
		var str;
		var regexp=/ /g;
		str = str.replace( regexp,"");
		if(str!="") return false;
		else return true;
	}			
 
function checkBlank(obj)
	{
		
		if(IsBlank(obj.value)) 
			obj.style.backgroundColor = "lightyellow";
		else
			obj.style.backgroundColor = "white";
	}

 function checkBlank(obj,dfault)
	{
		if(IsBlank(obj.value)) 
			obj.value=dfault;
	}
	
 function allTrim(strVal)
	{
		return lTrim(rTrim(strVal));
	}

 function lTrim(strVal)
	{
		var i;
		for(i=0;i<strVal.length && strVal.substr(i,1) == ' ';i++);
		strVal = strVal.substr(i);
		return strVal;
	}

 function rTrim(strVal)
	{
		var i;
		for(i=strVal.length-1;i>=0 && strVal.substr(i,1) == ' ';i--);
		if(i<0) strVal = '';
			else strVal = strVal.substr(0,i+1);
		return strVal;
	}

function strTrans(strFull,searchFor,replaceWith)
	{
		var srchexp=new RegExp(searchFor,"g")
		return strFull.replace(srchexp,replaceWith)
	}			
 
//function roundfloat(dblValue, intDecimal)
//	{
//		
//		if(intDecimal>4) 
//			return (parseInt(dblValue*1000000)/1000000);
//		else
//		if(intDecimal>2) 
//			return (parseInt(dblValue*1000)/1000);
//		else
//		if(intDecimal>1) 
//			return (parseInt(dblValue*100)/100);
//		else
//			return (parseInt(dblValue*10)/10);
//	}			
 function roundfloat(dblValue, intDecimal)
	{
		var divideBy;
		divideBy=1;
		var RVal;
		RVal=dblValue;
		var i;
		for (i=0;i<intDecimal;i++)
		{
			RVal=RVal * 10	
			divideBy=divideBy*10;
		}
		RVal=getInteger(RVal);
		return RVal / divideBy;
	}			
 
function MakeMeCaps(obj)
	{
		if( obj.readOnly == false) 
			obj.value = obj.value.toUpperCase();
	}

function MakeMeTitle(obj)
	{
		if(obj.readOnly || obj.disabled) return;
		var strTitle='', strVal=allTrim(obj.value);
		var i, ch, wordStart=true;
		for(i=0;i<strVal.length;i++)
			{
				ch = strVal.substr(i,1); 	 
				if(wordStart)
						{
							if(ch >= 'a' && ch <= 'z') ch = ch.toUpperCase();
							wordStart = false;
						}
					else
						{
							if(ch >= 'A' && ch <= 'Z') ch = ch.toLowerCase();
						}
				strTitle = strTitle + ch;
				if( ch == ' ' || ch == '.' || ch == '-' || ch == '\t' || ch == '\n')
					wordStart = true;
			}
		obj.value = strTitle;
	}
		
function url(s) 
	{
		a = s.match(/\w{2,}:\/{2}([-\w]+\.)+\w+\S*/g);
		err = a != null && a.length ? 0 : 11;
		return a;
	}

function email(s) 
	{
		a = s.match(/\S+@([-\w]+\.)+\w+/g);
		err = a != null && a.length ? 0 : 6;
		return a;
	}

function valid(element, check) 
	{
		if (element.type == 'text' || element.type == 'textarea') 
		{
			return(check(element.value));
		}
 		else 
			return '';
	}		
function ValidateObject(object,type,format)
	{
		var getval;
		
		
		if (type==1)
				getval=valid(object,email);
			if (type==2)
				getval=valid(object,url);
				
		if (getval==null)
			getval='';
		if(format==3 && getval=='')	
		{	
			if (type==1)
				alert("Invalid Email ID" );
			if (type==2)
				alert("Invalid Url" );	
			
			object.focus();
		}
		if(format==2 && getval!='' )
		{
			object.value=getval;
		}	
	}

	function CheckTextAreaLength(txtArea,jLen)
		{
			var RemLen;
			Remlen = txtArea.value;
			if (Remlen.length > jLen)
			{
				alert("It contains " + Remlen.length + " characters.\n\nMaximum " + jLen + " characters are allowed!");
				txtArea.focus(); 
				return false;
			}
			return true;
		}

	function addPercentage(jValue,jPercentage,jDirection)
		{
			if (jPercentage>=100)
				{
				return 0;
				}
			if (jDirection < 0)
				return (jValue / ( 100 - jPercentage)) * 100;
			else
				return (jValue * ( 100 + jPercentage)) / 100;
		}


	function ShowCalendar(jSelectionType, jDateObjName,strHttpPath, iDtFormat)
		{
			if(iDtFormat==null) iDtFormat=0;
			window.open(strHttpPath + "CalenderHelp.aspx?SelectionType=" + jSelectionType +"&DateObject="+jDateObjName+"&DtFormat="+iDtFormat,"_blank","Toolbar=no, scrollbars=no, width=410, height=250");
		}
	function ShowCalendarEx(jSelectionType, jDateObjName,strHttpPath, iDtFormat, jGoDate)
		{
            var jDateSelected;
			if(iDtFormat==null) iDtFormat=0;

			jDateSelected = window.showModalDialog(strHttpPath + "CalenderHelp.aspx?SelectionType=" + jSelectionType +"&DateObject="+jDateObjName+"&DtFormat="+iDtFormat+"&StartDate="+jGoDate.value,"windDate","dialogWidth:30;dialogHeight:12");
			if(jDateSelected != null) jGoDate.value = jDateSelected;
            return jDateSelected;
		}
function GetaddPercentage(jValue,jPercentage,jDirection)
		{
			if (jPercentage>=100 || jPercentage<=0)
				{
				return 0;
				}
			
			if (jDirection < 0)
				return (parseFloat(jValue) / (100-parseFloat(jPercentage)) ) * 100;
			else
				{
//				alert(" function return "+(parseFloat(jValue) *  parseFloat(jPercentage)) / 100)	
				return (parseFloat(jValue) *  parseFloat(jPercentage)) / 100;
				}
		}

	function GetDiscountPercentage(jValue,jPercentage,jDirection)
		{
			if (jPercentage>=100 || jPercentage<=0)
				{
				return 0;
				}
			if (jDirection < 0)
				return (jValue * ( jPercentage)) / 100;
			else
				return (jValue / ( jPercentage)) * 100;				
		}

	////// By NJ on 21st March 2005 
	//// For Eliminating the '000000' from ID
		function TrimID(strVal, jNo)
			{
				var str2=strVal.substr(0,jNo);
				for(i=jNo;i<strVal.length;i++)
					{
						if(strVal.substr(i,1)!='0')
							str2 =str2 + strVal.substr(i,1);
							//alert(str2); 	
					}
				return str2;
			}

	function swapValue(a,b)
		{
			var t=b;
			b=a;
			a=t;
		}
	function checkApprovalPassword(path)
		{
			var isApproval;
			isApproval=window.showModalDialog(path+"/ApprovalPassword.aspx","","dialogHeight: 20px; dialogWidth: 250px;center: Yes; help: no; resizable: no; status: no;")

			return isApproval
		}	
	function ReplaceAllErrChars(jstrToTrans)
		{
			jstrToTrans= strTrans(strTrans(jstrToTrans,'"',String.fromCharCode(251)),'&',String.fromCharCode(241))
			return jstrToTrans
		}

    	function ConfirmMessage(jOpt)
    	    {
    	        if(IsBlank(jOpt)) return false;
    	        return confirm(jOpt);
    	    }

	function CalcArrayTotal(obj)
        {
            var i, jTotal=0;
            if(obj == null) return 0;
            if(obj.length == null)
                    jTotal = getNumeric(obj.value);
                else
                    {
                        for(i=0;i<obj.length;i++)
                            jTotal += getNumeric(obj[i].value);
                    }
             return jTotal;
        }
  	function checkAll(objCheck, Value2Set)
		{
		    if(objCheck==null)return;
			var I ;		
			if (objCheck.length == undefined)
					objCheck.checked = Value2Set;
			else					
				for (I=0; I < objCheck.length; I++)
					objCheck(I).checked = Value2Set;
		}
		
    function CheckIfSelected(objChk, jOptName)
		{
		    var i, chkCount=0;
		    if (objChk == null) return false;
			if (objChk.length == null)
			        {
				        if (!objChk.disabled && objChk.checked) return true;
				    }
				else
				    {
			            for (i=0;i<objChk.length;i++)
				            if (!objChk[i].disabled && objChk[i].checked) return true;
				     }
            alert('Select Item first from where the '+ jOptName + ' needs to be updated');
            return false;
		    }

    function SetRadioValue(rdVal, hdObj)
        {
            hdObj.value = rdVal;
        }

    function SetRadioLabel(rdObj, hdObj)
        {
            rdObj.checked = true;
            if(hdObj != null) hdObj.value = rdObj.value;
        }

    function SetCheckBox(chkObj)
        {
            chkObj.checked = !chkObj.checked;
        }

		function FillCombo(xObj, xArray, xhd)
		    {
		        var i;
		        if(xObj == null) return;
				for (i = xObj.options.length; i >= 0; i--) 
				    xObj.options[i] = null; 

				for (i=0;i<xArray.length;i++)
					{
						xObj.options[i] = new Option(xArray[i].ds);	
			            xObj.options[i].value = xArray[i].id;
					}
		        if(xhd != null) 
		                xObj.value = allTrim(xhd.value);
		    }
		    
            function FillComboString(xobj, jValue, xhd)
                {
                    var i=0, j=0, temp='', temp1='';

                    for (i = xobj.options.length; i >= 0; i--) 
                        xobj.options[i] = null; 

                    temp = jValue.split('|');
                    for (i=0;i<temp.length;i++)
                        {
                            temp1= temp[i].split('~')
                            if(IsBlank(temp1[0])) continue;
                            xobj.options[j] = new Option(temp1[0]);	
                            xobj.options[j].value = allTrim(temp1[1]);
                            xobj.selected = true;
                            j++;
                        }
		            if(xhd != null) xobj.value = allTrim(xhd);
                    if(xobj.length > 0 && xobj.selectedIndex < 0)
                        xobj.selectedIndex = 0;
                }

		function SetComboValue(cboVal, hdObj)
		    {
		        if(hdObj != null) hdObj.value = cboVal;
		    }

    function ViewFile(jFileName)
            {
			    window.open(jFileName);
            }     		

    function CopyFieldValue(fld1, fld2)
        {
            if(fld1 == null || fld2 == null) return;
            if(fld2.readOnly || fld2.disabled) return;
            fld2.value = fld1.value;
        }
