
function GetUSDate(strDate) {
	var dtDay, dtMonth, dtYear;
	dtDay = strDate.substr(0,2);
	dtMonth = strDate.substr(3,2);
	dtYear = strDate.substr(6,4);
	
	return dtMonth + "/" + dtDay + "/" + dtYear;
}

function FormatAmount(parmAmount) {

// formats amount to two decimal points.
	//alert(parmAmount)
    	
	parmAmount = String(parmAmount);
	if (parmAmount == "" || parmAmount == "0" || Math.abs(parseFloat(parmAmount)) < 0.001)
	{
		 return "0.00"
	}
    	
	var DecimalIndex = parmAmount.indexOf(".");
    		
	if (DecimalIndex == -1)
	{
		return parmAmount + ".00";
	}
	else {
    	
		if (parmAmount.length == DecimalIndex + 2) {
			return parmAmount + "0";
		}
		else if (parmAmount.length == DecimalIndex + 1) {
			return parmAmount + "00";
		}
		else {
    			
			var newAmount;
			if (parseFloat(parmAmount.substring(DecimalIndex + 3, DecimalIndex + 4)) >= 5) {
				newAmount = parmAmount.substring(0, DecimalIndex + 1 );
    				
				if ((parseFloat(parmAmount.substring(DecimalIndex + 1, DecimalIndex + 3)) + 1) == 100){
 					newAmount = (parseFloat(newAmount) + 1) + ".00"
				}
				else{ 
					if((parseFloat(parmAmount.substring(DecimalIndex + 1, DecimalIndex + 3)) + 1) < 10){
 						newAmount  += "0" + String(parseFloat(parmAmount.substring(DecimalIndex + 2, DecimalIndex + 3)) + 1) 
					} 
					else{
						newAmount += String(parseFloat(parmAmount.substring(DecimalIndex + 1, DecimalIndex + 3)) + 1)
					}
				}	
				return newAmount;
			}
			else
				return parmAmount.substring(0, DecimalIndex + 3);
		}
	}
}
    
function GetNumberOfPages(parmPageCount) {
	var dialogWindow;
	if (parmPageCount)
 		dialogWindow = window.showModalDialog("../CommonLibrary/NumberOfPrintPages.htm", parmPageCount, "DialogHeight= 125px; Dialogwidth = 256px; status=0")
	else
 		dialogWindow = window.showModalDialog("../CommonLibrary/NumberOfPrintPages.htm", 1, "DialogHeight= 125px; Dialogwidth = 256px; status=0")
	if (dialogWindow)
		return dialogWindow;
	else
		return 1;
}
    
function LeadZero(nNum) {
     return (nNum<10 ? "0" : "" ) + nNum.toString();
}
    
function PrintHeading(parm) 
{
	//setInterval("flashNews()", 1000);
	var tmpHTMLBuffer = "";
	tmpHTMLBuffer = '<table border="0" bgcolor="white" cellpadding="0" cellspacing="0" Class="Faintlabel" width="100%" height="115">'
	tmpHTMLBuffer += '<tr>'
	tmpHTMLBuffer += '<td width="50%" valign="top" align="left" height="90"><p align="center"><img align="left" border="0" src="images/dnslogo.gif" ></p></td>'
	tmpHTMLBuffer += '<td width="50%" valign="center" align="right" height="90"></td>'
	tmpHTMLBuffer += '</tr>'
	tmpHTMLBuffer += '<tr>'
	tmpHTMLBuffer += '<td colspan="2" class="Header" >Welcome '+ parm +' To DNS </td>'
	tmpHTMLBuffer += '</tr>'
	tmpHTMLBuffer += '<tr>'
	tmpHTMLBuffer += '<td colspan="2" class="Headers" height="5"></td>'
	tmpHTMLBuffer += '</tr>'
	tmpHTMLBuffer += '</table>'
	document.write(tmpHTMLBuffer)

}
    
function ValidateTextControl(TextObject, ValidationType, IsBlankAllowed) {
// TextObject - Is the Object to be validated
// ValidationType - Can be Text, Date, Numeric, Money, Picklist
// IsBlankAllowed - If the object has blank value then no validation is done
// In case of Numbers If passed as true then Zero values are allowed
// default is false
    
	if (! TextObject) {
		alert("The Object doesnot exists. Please check it");
		return false;
	}
	TextObject.value = Trim(TextObject.value);
	IsBlankAllowed = (ValidateTextControl.arguments[2]) ? IsBlankAllowed : false;
    	
	if (IsBlankAllowed) {
		if (TextObject.value == "") {
			return true;
		}
	}
	else {
		if (TextObject.value == "") {
			TextObject.className = "Error";
			return false;
		}
		else {
			TextObject.className = "TextBoxMandatory";
		}
	}
    	
	ValidationType = (ValidateTextControl.arguments[1]) ? ValidationType : "Text";
    	
	switch (ValidationType.toUpperCase()) {
		case "DATE" :
			if (!validation.validDate(TextObject)) {
				return false;
			}
 			return true;
			break;
		case "NUMERIC" :
			if (IsBlankAllowed) {
				if (parseFloat(TextObject.value) == 0) {
					return true;
				}
			}
			if (!validation.validNumber(TextObject)) {
				return false;
			}
			else {
				return true;
			}
			break;
		case "MONEY" :
			if (IsBlankAllowed) {
				if (parseFloat(TextObject.value) == 0) {
					TextObject.className = "TextBoxMandatory";
					return true;
				}
			}
			
			else {
				if (parseFloat(TextObject.value) == 0 || !validation.validDecimalNumber(TextObject)) {
				TextObject.className = "Error";
				return false;
			} 
				// Old code commented by sunita on 05/09/2002
 				//TextObject.className = "TextBoxMandatory"; 
				//TextObject.value = FormatAmount(TextObject.value)
				//return true;
				// *** added by sunita for validating amount's maxlength validation on 05/09/2002.
					TextObject.value = FormatAmount(TextObject.value);
					var StrAmt = new String(TextObject.value);
					
					var StrC;
					for(var i = 0; i < StrAmt.length;i++)
					{
						StrC = StrAmt.charAt(i);
							
						if(StrC == ".")
						{
								
							if(i > 14)
							{
								TextObject.className = "Error";
								alert("You cannot specify such a large amount.");
								TextObject.focus() 
								TextObject.select() 
								return false;
							}
							
							
						}
					}
				
			 }	//*** code added by sunita ends here
			return true;
			break;
		case "PICKLIST" :
			if (TextObject.value == "") {
				TextObject.className = "Error";
				return false;
			}
			else {
				TextObject.className = "Combo";
				return true;
			}
			break;
// Added by sunita for email validation
		case "EMAIL"  :
		    if (!validation.validEmail(TextObject)) {
		       	TextObject.className = "Error";
				return false;
			}
		    else{
		      //  TextObject.className = "";
				return true;
			}
		    break;   	
	}
	alert("No match found")
	return false;
}
    
var ErrorList ='', Counter = 0;
    
function FlushError() {
	ErrorList = "Error List :";
	Counter = 0;
}
    
function AddError(ErrorDescription, RowCount) {
	Counter++;
	if (RowCount) {
		ErrorList += ("\n" + Counter  + ". " + "Row " + RowCount + " : " + ErrorDescription);
	}
	else {
		ErrorList += "\n" + Counter  + ". " + ErrorDescription;
	}
}
    
function ListErrors() {
	if (ErrorList == "Error List :") {
		return true;
	}
	else {
		alert(ErrorList + "\n" + "\n" + "    ......  can not proceed !!!");
		return false;
	}
}
    
//Following two function are addded by Unmesh Dt 07/Feb/2003 For checking the transaction date is within financial year.

function DateAdd(parmInterval, parmNumber, parmDateVal) {
	var tmpDate = ConvertStringToDateObject(parmDateVal)
	
	parmInterval = parmInterval.substr(0,1).toLowerCase()
	
	if (parmInterval == "d"){
		tmpDate = new Date(tmpDate.getFullYear(), tmpDate.getMonth(), tmpDate.getDate() + parmNumber);
	}	
	if (parmInterval == "m"){
		tmpDate = new Date(tmpDate.getFullYear(), tmpDate.getMonth() + parmNumber, tmpDate.getDate());
	}
	if (parmInterval == "y"){
		tmpDate = new Date(tmpDate.getFullYear() + parmNumber, tmpDate.getMonth(), tmpDate.getDate());
	}
	return ConvertDateToStringObject(tmpDate)
}

function checkDateInFinancialYear(parmEnteredDateObject, parmYearEndMonth){
	// This function is checking the date is less than last date of financial year or not....
	var parmEnteredDate = parmEnteredDateObject.value
	var todayDate = new Date();
	var presentYear = todayDate.getYear();
	var presentMonth = todayDate.getMonth() + 1;
	var tmpDate, LastDateOfFinacialYear
	var YearEndMonthNumber = MonthNumber(parmYearEndMonth.substr(0,3));
	if (parseFloat(presentMonth) > parseFloat(YearEndMonthNumber)){
		tmpDate = "01/" + parseFloat(YearEndMonthNumber) + "/" + parseFloat(parseFloat(presentYear) + 1)
	}
	else{
		tmpDate = "01/" + parseFloat(YearEndMonthNumber) + "/" + parseFloat(presentYear) 
	}
	LastDateOfFinacialYear = DateAdd("d", -1, DateAdd("m", 1, tmpDate))
	if (ConvertStringToDateObject(parmEnteredDate) > ConvertStringToDateObject(LastDateOfFinacialYear)) {
		return false;
	}	
	return true;	
}


// Function added by Indraneel // Modified by Unmesh 14/01/2002 For generalised Financial year.
function checkDateInFinancialYearOld(parmdateVal, parmYearEndMonth)
{
	
		var todayDate = new Date();
		var presentYear = todayDate.getYear();
		var presentMonth = todayDate.getMonth() + 1;
		var enteredDate = parmdateVal.value
		var enteredYear	= enteredDate.substr(enteredDate.lastIndexOf("/") + 1, enteredDate.length)	
		var enteredMonth = 	enteredDate.substr(enteredDate.indexOf("/") + 1, 2)
		var FinancialYearEnd
/// Code added by Unmesh to check the entered date within the financial year	///////////
    
		parmYearEndMonth = MonthNumber(parmYearEndMonth.substr(0,3))
    		
		if(parseFloat(parmYearEndMonth) < parseFloat(presentMonth)){
			FinancialYearEnd = parseFloat(presentYear) + 1
		}
		else{
			FinancialYearEnd = parseFloat(presentYear)
		}			
    		
    		
		/// For Complete year i.e. From Jan to Dec.
		if (parseFloat(parmYearEndMonth) == 12) {
			if(parseFloat(enteredYear) == (parseFloat(FinancialYearEnd))){
				return true;
			}
			else{
				return false;
			}
		}
		/// If the Finacial year like Apr to Mar ...i.e. start month  and end month is in between year
		else{
			if(parseFloat(enteredMonth) > parseFloat(parmYearEndMonth)){
				if(parseFloat(enteredYear) == (parseFloat(FinancialYearEnd) -1)){
					return true;
				}	
				else{
					return false;
				}
			}
			else{
				if(parseFloat(enteredYear) == (parseFloat(FinancialYearEnd))){
					return true;
				}	
				else{
					return false;
				}
			}
		}			
/*			if (parseFloat(enteredMonth) >= 1 && parseFloat(enteredMonth) <= parseFloat(parmYearEndMonth)){
 				if(parseFloat(enteredYear) != (parseFloat(presentYear)))	// Check year is same of present year
				{
					return false;
				}
			}
			else{
 				if(parseFloat(enteredYear) != (parseFloat(presentYear)-1)){	//Check year is equal to less than present year. This is for if the entered month is less than present month	 
					return false;
				}
			}
		}
*/		
/// Code for checking fianancial year complete	.....Unmesh 	////
    
    
/*
	Code Commented by Unmesh
    
		if(parseFloat(enteredMonth) <= 3) {
 			if (parseFloat(presentMonth) >= 1 && parseFloat(presentMonth) <=3) {
 				if(parseFloat(enteredYear) < (parseFloat(presentYear))) {
					return false;
				}
			}
			else
			{
				if(parseFloat(enteredYear) <= (parseFloat(presentYear)))
				{
					return false;
				}
			}
		}
    		
*/		
//		return true;
}
// Function added by Indraneel //
    
function ConvertDateToStringObject(parmDateObj) {
	//parmDateObj should be Date object
	return LeadZero(Number(parmDateObj.getDate()))+ "/"+ LeadZero(Number(parmDateObj.getMonth() + 1))  + "/" + parmDateObj.getFullYear().toString();;
}
    
function ConvertStringToDateObject(parmString) {
	//alert(parmString)
	//String should be in DD/MM/YYYY format
	var month,day,year;
	var DateSeparator = ReturnMeSeparator(parmString);
    	
	day = parmString.substr(0, parmString.indexOf(DateSeparator))
	//alert(day)
	month = parmString.substring(parmString.indexOf(DateSeparator) + 1, parmString.lastIndexOf(DateSeparator))
	if(month.substr(0,1) == '0')
	{
		month = month.substr(1,1)
	}
	//alert(month)
	year = parmString.substr(parmString.lastIndexOf(DateSeparator)  + 1, parmString.length)
	//alert(year)
    		
	var tmpDate = new Date(year, parseFloat(month) - 1 , day)
	//alert(tmpDate)
	return tmpDate;
}
    
function FormatDate(dateVal) 
{
	return ConvertDateToStringObject(ConvertStringToDateObject(dateVal));
}
    
// To get coordinates of the control
    
function getTopCoords(AnyObject) {
    BndRct=AnyObject.getBoundingClientRect();
	  return BndRct.top
}
    
function getRightCoords(AnyObject) {
    BndRct=AnyObject.getBoundingClientRect();
	return BndRct.right
}
     
function getBottomCoords(AnyObject) {
    BndRct=AnyObject.getBoundingClientRect();
	  return BndRct.bottom
}
    
function getLeftCoords(AnyObject) {
    BndRct=AnyObject.getBoundingClientRect();
	return BndRct.left
}
    
function getHeight(AnyObject) {
    BndRct=AnyObject.getBoundingClientRect();
	return (parseFloat(BndRct.bottom) - parseFloat(BndRct.top));
}
    
function getWidth(AnyObject) {
    BndRct=AnyObject.getBoundingClientRect();
	return (parseFloat(BndRct.right) - parseFloat(BndRct.left));
}
    
function getCenter(AnyObject) {
    BndRct=AnyObject.getBoundingClientRect();
	return (parseFloat(BndRct.top) + ((parseFloat(BndRct.bottom) - parseFloat(BndRct.top)) / 2));
}
    
function Trim(Text) {
	if (Text == null){
		Text = "";
		return Text;
	}
	while (Text.indexOf(" ") == 0)
	{
		Text = Text.substr(1, Text.length)
	}
	if (Text.length > 0)
	{
		while (Text.lastIndexOf(" ") == (Text.length - 1))
		{
			Text = Text.substr(0, Text.length - 1)
		}
	}
	return Text;
}

// function for validating amount added on 03-sept-2002 by sunita
var clsName;
function fnCheckAmount(psdObj)
{
	
var GetStr = psdObj.id;
	
if(eval("document.all." + psdObj.id).className != "Error")
{
	clsName = eval("document.all." + psdObj.id).className;
}
	
GetStr = GetStr.substr(3);
if(!ValidateTextControl(psdObj,"Money",true))
{
	alert("Please Enter " + GetStr + " in proper format.");
	eval("document.all." + psdObj.id).focus();
	return false;
}
else
{
		
	eval("document.all." + psdObj.id).value = FormatAmount(eval("document.all." + psdObj.id).value);
	var StrAmt = new String(eval("document.all." + psdObj.id).value);
		
	var StrC;
	for(var i = 0; i < StrAmt.length;i++)
	{
		StrC = StrAmt.charAt(i);
			
		if(StrC == ".")
		{
				
			if(i > 14)
			{
					
				alert("You cannot specify such a large amount.");
				eval("document.all." + psdObj.id).className = clsName;
				eval("document.all." + psdObj.id).focus();
				return false;
			}
		}
	}
}
eval("document.all." + psdObj.id).className = clsName;
eval("document.all." + psdObj.id).style.backgroundColor = "white";
return true; 
}

function validateSolicitorRule(parmAcctID, parmTrxDate, parmInOut, parmMatterAcctType, parmEnteredAmount){
var OfficeBalance, DisbursementBalance, ClientBalance, DepositBalance
var objXMLMatterMast, MatterMastList;
	objXMLMatterMast = new ActiveXObject("Microsoft.XMLDOM")
	objXMLMatterMast.async=false;
	
	objXMLMatterMast.load("../Accounts/GetBalanceToDateForMatters.asp?AcctID=" + parmAcctID + "&TrxDate=" + parmTrxDate);
	

	OfficeBalance = objXMLMatterMast.selectSingleNode("ACCOUNTS/ACCOUNT/OFFICE").nodeTypedValue;
	DisbursementBalance = objXMLMatterMast.selectSingleNode("ACCOUNTS/ACCOUNT/DISBURSEMENT").nodeTypedValue;
	ClientBalance = objXMLMatterMast.selectSingleNode("ACCOUNTS/ACCOUNT/CLIENT").nodeTypedValue;
	DepositBalance = objXMLMatterMast.selectSingleNode("ACCOUNTS/ACCOUNT/DEPOSIT").nodeTypedValue;

//parmInout = "In" Contains following Doc type
// CD ---> Cash In
// CI ---> Cheque In
// DI ---> Direct Debit In
// II ---> Internal Transafer In
// TI ---> Telegraphic Transafer In
	
//parmInout = "Out" Contains following Doc type
// CW ---> Cash Out
// CO ---> Cheque Out
// DO ---> Direct Debit Out
// IO ---> Internal Transafer Out
// TO ---> Telegraphic Transafer Out
	
//For Receipt
if (parmInOut == "In"){
							
	//Amount should not be credit in Office Account.
	
	if (parmMatterAcctType == "O"){
		if((-1 * parseFloat(parmEnteredAmount) + parseFloat(OfficeBalance)) < 0 ){
			return  ShouldTransactionProceed(parmMatterAcctType)
			//AddError("The transaction is not allowed as the amount in the Office account is violating the solicitors rule.")
			//alert("The transaction is not allowed as the amount in the Office account is violating the solicitors rule.");
			//return false;
		}
	}
	//Amount should not be credit in Disbursement Account. 
	//BUT it may be credit subject to the balance amount in Office.
	if (parmMatterAcctType == "E"){
		if((-1 *  parseFloat(parmEnteredAmount) + parseFloat(DisbursementBalance)) < 0 ){
			return  ShouldTransactionProceed(parmMatterAcctType)
			//AddError("The transaction is not allowed as the amount in the Disbursement account is violating the solicitors rule.");
			//alert("The transaction is not allowed as the amount in the Disbursement account is violating the solicitors rule.");
			//return false;
		}
	}	
}				
		
//For Payment
if (parmInOut == "Out"){
	//Amount should not be debit in Client Account. 
	if(parmMatterAcctType == "C"){
		if((parseFloat(parmEnteredAmount) + parseFloat(ClientBalance)) > 0 ){
			return  ShouldTransactionProceed(parmMatterAcctType)
			//AddError("The transaction is not allowed as the amount in the Client account is violating the solicitors rule.");
			//alert("The transaction is not allowed as the amount in the Client account is violating the solicitors rule.");
			//return false;
		}
	}
	//Amount should not be debit in Deposit Account. 
	if(parmMatterAcctType == "D"){
		if((parseFloat(parmEnteredAmount) + parseFloat(DepositBalance)) > 0 ){
			return  ShouldTransactionProceed(parmMatterAcctType)
			//AddError("The transaction is not allowed as the amount in the Deposit account is violating the solicitors rule.");
			//alert("The transaction is not allowed as the amount in the Deposit account is violating the solicitors rule.");
			//return false;
		}
	}
}
return true;
}		

function ShouldTransactionProceed(parmMatterAcctType){
	if(GetConfirmationFromUser(parmMatterAcctType) == "CancelTransaction"){
		return false;
	}
	else{
		if(CheckAuthorisedUserPassword() == "ProceedTransaction"){
			return true;
		}
		else{
			return false;
		}
	}
}

function CheckAuthorisedUserPassword(){
	var GetReturnValue = window.showModalDialog("../CommonLibrary/CheckAuthorisedUserPassword.asp","CheckAuthorisedUserPassword","dialogheight:175px; dialogwidth:450px; help:no; status:no; scroll:no;"); 
	if(GetReturnValue){
		if (GetReturnValue == "ProceedTransaction"){
			return "ProceedTransaction"
		}
		else{
			return "CancelTransaction"
		}
	}
	else{
		return "CancelTransaction"
	}
	
} 
function GetConfirmationFromUser(parmBankAccountType){
	var GetReturnValue = window.showModalDialog("../CommonLibrary/ConfirmDialogPage.asp?BankType=" + parmBankAccountType,"ConfirmDialogPage","dialogheight:175px; dialogwidth:450px; help:no; status:no; scroll:no;"); 
	if(GetReturnValue){
		if (GetReturnValue == "Ok"){
			return "CancelTransaction"
		}
		else{
			// Code for Confirmation of Supervisor Password
			return "GoToAuthorisedUserPwd"
			
		}
	}
	else{
		return "CancelTransaction"
	}
}
function Trim(s) {
	return s.replace(/(^\s+)|(\s+$)/g, "");
} 


/* 
function EscapeSingleCharacter(parmString){
	var EscapeSingleCharacter
	if(parmString == "")
		return  "";
	end if
	// EscapeSingleCharacter =  Replace(parmString, "''", "'")
	EscapeSingleCharacter= parmString.replace("''", "'");
	
	if (parmString.indexOf("'") > 0){	
		//EscapeSingleCharacter = Replace(parmString, "'", "\'")
		EscapeSingleCharacter= parmString.replace("''", "\'");
		return EscapeSingleCharacter
	}	
	else{
		EscapeSingleCharacter = parmString
		return EscapeSingleCharacter
	}	
	
}
*/
// functions added by sunita for validating phone no., fax no
function IsValidPhoneNumber(TextObject){
	
	var StrPhone = new String(TextObject.value);
	if (TextObject.value == "" || StrPhone.length <= 0) {
		alert("Please enter the Phone Number.");
		return false;
	}
	var ValidCharacters = "1234567890{}[]- /,()+"
	if(!CharacterValidation(ValidCharacters, TextObject.value)){
		TextObject.className = "Error"
		TextObject.focus();
		return false;
	} 
	return true;
} 
 
  
function CharacterValidation(parmValidChars, parmString) 
{
 var ValidCharacters = parmValidChars;
 var i;
 for(var z = 0; z < parmString.length; z++)
 {
  i = ValidCharacters.indexOf(parmString.charAt(z));
  
  if(i == -1) 
   return false;
 }  
 return true;
}
 
function ReplaceString(replaceString,strText,ReplaceText){
	strn = new String(replaceString)
	var tempstrn='';
	for(i=0;i< strn.length;i++){
		if (strn.substring(i,i+1) == strText){
		tempstrn =  tempstrn + ReplaceText;
		}		
		else{
		tempstrn = tempstrn + strn.substring(i,i+1)
		}
	}
	return(tempstrn)
}
 

  
function checkLastYearEndProcedureDate(parmTransactionDate)
{
	if (ConvertStringToDateObject(parmTransactionDate) <= ConvertStringToDateObject(document.all.txtLastYearEndProcedureDate.value)) {
		return false;
	}
	else {
		return true;
	}
}	

var win=null;
function NewWindow(mypage,myname,w,h,scroll,pos)
{
	if(pos=="random")
	{
	LeftPosition=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;TopPosition=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;
	}
	if(pos=="center")
	{
	LeftPosition=(screen.width)?(screen.width-w)/2:100;TopPosition=(screen.height)?(screen.height-h)/2:100;
	}
	else if((pos!="center" && pos!="random") || pos==null)
	{
	LeftPosition=0;TopPosition=20
	}
	settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=no,traget=blank';
	win=window.open(mypage,myname,settings);
}

function flashNews()
	{
		if(img1.style.visibility == "hidden")
		{
			img1.style.visibility = "visible";
		}
		else
		{
			img1.style.visibility = "hidden";
		}
	}

function showhidebuttons(passedFlag)
{
	var buttonCounter;
	var allbuttons = document.getElementsByTagName("INPUT");

	for(buttonCounter=0; buttonCounter<allbuttons.length; buttonCounter++)
	{
		if(allbuttons[buttonCounter].type.toUpperCase() == "BUTTON" || allbuttons[buttonCounter].type.toUpperCase() == "SUBMIT" || allbuttons[buttonCounter].type.toUpperCase() == "RESET")
		{
			allbuttons[buttonCounter].style.display = passedFlag;
		}
	}
}

function checkdate(passedobject)
{
	var strvalue, datecharacter;
	strvalue = passedobject.value;
 
	datecharacter = "/";
 
	if(strvalue.charAt(2) != datecharacter || strvalue.charAt(5) != datecharacter)
	{
		alert(passedobject.label + " is not a valid date.");
		return false;
	}
 
	var monthvalue;
	monthvalue = strvalue.substring(0, 2);

	if(parseFloat(monthvalue) > 12)
	{
		alert(passedobject.label + " is not a valid date.");
		return false;
	}
 
	var dayvalue;
	dayvalue = parseFloat(strvalue.substring(3, 5));
 
	var str31daysmonth = "01,03,05,07,08,10,12";
	if(str31daysmonth.indexOf(monthvalue) == -1 && dayvalue > 30)
	{
		alert(passedobject.label + " is not a valid date.");
		return false;
	}
 
	var yearvalue;
	yearvalue = strvalue.substring(6, 10);
 
	if(parseInt(yearvalue) < 1900)
	{
		alert(passedobject.label + " is not a valid date. Year should be greater then 1900."); 
		return false;
	}
	 
	if(parseFloat(monthvalue) == 2)
	{
		if((yearvalue % 4) == 0 && parseFloat(dayvalue) > 29)
		{
		 alert(passedobject.label + " is not a valid date.");
		 return false;
		}
		if((yearvalue % 4) != 0 && parseFloat(dayvalue) > 28)
		{
		 alert(passedobject.label + " is not a valid date.");
		 return false;
		}
	} 
}

/**************************************************************************************************************
1. Function to check for numeric values.
**************************************************************************************************************/
function checkNumeric(passedValue)
{
	var m_value;
	m_value = passedValue.value;
	
	if((m_value == 0) || (m_value == ''))
	{
		return false;
	}
	

	if (((passedValue/ passedValue) != 1) && (passedValue != 0)) 
	{
		return false;
	}

	if(isNaN(Number(passedValue)) == true)
	{
		return false;
	}
	else
	{
		return true;
	}
}


/**************************************************************************************************************
2. Function to remove all spaces from a string.
**************************************************************************************************************/
function removespaces(strpassed)
{
	var returnstring;
	var reexp;
	reexp = / /gi;
	stringreturned = strpassed.replace(reexp,"");
	return returnstring;
}



/**************************************************************************************************************
3. Function to remove spaces from a string from left, Left trim function.
**************************************************************************************************************/
function ltrim(passedVal)
{
	var ltempstring;
	ltempstring = passedVal;
	for(count=0; count < passedVal.length + 1; count++)
	{
		if(passedVal.charAt(count) == " ")
		{
			ltempstring = passedVal.substr(count+1,passedVal.length);
		}
		else
		{
			break;
		}
	}
	passedVal = ltempstring;
	return passedVal;
}


/**************************************************************************************************************
4. Function to remove spaces in a string from right, Right trim function.
**************************************************************************************************************/
function rtrim(passedVal)
{
	var rtempstring;
	rtempstring = passedVal;
	for(count=passedVal.length - 1; count > 0; count--)
	{
		if(passedVal.charAt(count) == " ")
		{
			rtempstring = passedVal.substr(0,count);
		}
		else
		{
			break;
		}
	}
	passedVal = rtempstring;
	return passedVal;
}


/**************************************************************************************************************
5. Function to trim spaces from both sides. Trim function.
**************************************************************************************************************/
function trim(passedVal)
{
	var trimstring;
	trimstring = ltrim(rtrim(passedVal));
	return trimstring;
}


/**************************************************************************************************************
6. In, Search and Check does the same thing. Checks for a particular value in the Array.
**************************************************************************************************************/

function search(passedvalue, passedarray)
{
	var counter, flag;
	flag = false;
	for(counter=0; counter<passedarray.length; counter++)
	{
		if(trim(passedvalue).length > 0)
		{	
			if(passedarray[counter] == passedvalue)
			{
				flag = true;
			}
		}
	}
	return flag;
}

function check(passedvalue, passedarray)
{
	var counter;
	for(counter=0; counter<passedarray.length; counter++)
	{
		if(passedarray[counter] == passedvalue)
		{
			return true;
		}
	}
}

// function for validating amount added on 03-sept-2002 by sunita
var clsName;
function fnCheckAmount(psdObj)
{
	
	var GetStr = psdObj.id;
	
	if(eval("document.all." + psdObj.id).className != "Error")
	{
		clsName = eval("document.all." + psdObj.id).className;
	}
	
	GetStr = GetStr.substr(3);
	if(!ValidateTextControl(psdObj,"Money",true))
	{
		alert("Please Enter " + GetStr + " in proper format.");
		eval("document.all." + psdObj.id).focus();
		return false;
	}
	else
	{
		
		eval("document.all." + psdObj.id).value = FormatAmount(eval("document.all." + psdObj.id).value);
		var StrAmt = new String(eval("document.all." + psdObj.id).value);
		var StrC;
		for(var i = 0; i < StrAmt.length;i++)
		{
			StrC = StrAmt.charAt(i);
			if(StrC == ".")
			{
				if(i > 15)
				{
					alert("You cannot specify such a large amount.");
					eval("document.all." + psdObj.id).className = clsName;
					eval("document.all." + psdObj.id).focus();
					return false;
				}
			}
		}
	}
	eval("document.all." + psdObj.id).className = clsName;
	eval("document.all." + psdObj.id).style.backgroundColor = "white";
	return true; 
}
