/*	Common Functions
	ValidateFunds is For Funds Sanctioned Cannot Be More Than Funds Proposed
	And Accordlingly Fund Released Cannot Be More Than Limit of Advance Percentage Set
*/
function ValidateFunds( GrFundsProposed , GrFundsSanctioned  , GrFundsReleased , FundsPercent)
{

	var num = 0;
	
	if (!isNumeric(GrFundsProposed,"Only Numeric Value Should Be Entered For Funds Proposed")){
		return false;
	}	
	if (!isNumeric(GrFundsReleased,"Only Numeric Value Should Be Entered For Funds Released")){
		return false;
	}	
	
	GrFundsProposed.value = Round(GrFundsProposed.value,2) ;
	if (parseInt(GrFundsProposed.value) < parseInt(GrFundsSanctioned.value))
	{	
			
		alert('Funds Sanctioned Cannot be More Than Funds Proposed');
		
		GrFundsProposed.value = Round(GrFundsProposed.value,2) ;
		GrFundsSanctioned.value = Round(GrFundsProposed.value,2) ;
		//GrFundsSanctioned.value = Math.round(MaxFundReleased*Math.pow(10,2))/Math.pow(10,2)
		MaxFundReleased =  parseFloat(FundsPercent.value) * parseFloat(GrFundsSanctioned.value);
		//GrFundsReleased.value = Math.round(MaxFundReleased*Math.pow(10,2))/Math.pow(10,2);
		GrFundsReleased.value = Round(MaxFundReleased,2);
		
		
		if(Round(parseFloat(GrFundsReleased.value),2) >  Round(parseFloat(MaxFundReleased),2))
		{
			alert('Funds Released cannot Be Greater Than '+ Round(MaxFundReleased,2));
			
		}
		return false;
	}	
	

		MaxFundReleased =  parseFloat(FundsPercent.value) * parseFloat(GrFundsSanctioned.value);
		if(parseFloat(GrFundsReleased.value) >  parseFloat(MaxFundReleased))
		{
			alert('Funds Released cannot Be Greater Than '+ MaxFundReleased);
			GrFundsReleased.focus();
			return false;			
		}
	

	
}


function Check()
{
//alert(event.keyCode)
if(event.keyCode ==190 || event.keyCode == 110 || event.keyCode == 109 || event.keyCode == 189)
	{
	return false;
	}
}

/*
	Function Name:--isNumeric(element, Msg)
	Check For Only numeric are entered in textbox
*/
function isNumeric(elem, helperMsg){
	var numericExpression = /\d/;
	if(elem.value.match(numericExpression)){
		return true;
	}
	else{
		alert(helperMsg);
		elem.focus();
		return false;
	}
}


/*
	Function Name:--CheckSingleQoute()
	Create Date-27-Nov-2006
	Created By:-Sumit
	Check For Single Quote Cannot Be Entered In The Textbox
*/


function CheckSingleQoute()
{
//alert(event.keyCode)
if(event.keyCode == 222)
	{
	   return false;
	}
}

/*
	Function Name:--ValidateReimubursement()
	Checking For Exp. Admissble Cannot More Than Exp Incurred
	Create Date-27-Nov-2006
	Created By:-Sumit
	
	
*/

function FundSanctionReleased(GrMaxAmount , GrNoOfArtisian  , GrFundSantion , GrFundReleased , FundsPercent)
{

	/*if (!isNumeric(GrMaxAmount,"Only Numeric Value Should Be Entered For No Of Artisian")){
		return false;
	}*/	
	//alert('please Check');
	GrFundSantion.value = parseFloat(GrNoOfArtisian.value) * parseFloat(GrMaxAmount.value);
	MaxFundReleased =  parseFloat(FundsPercent.value) * parseFloat(GrFundSantion.value);
	//GrFundReleased.value = Math.round(MaxFundReleased*Math.pow(10,1))/Math.pow(10,1);	
	GrFundReleased.value = Round(MaxFundReleased,2);
}


/*function FILimit(GrMaxAmount , GrNoOfArtisian  , GrFundSantion , GrFundReleased , FundsPercent)
{

	var dMaxLmit = parseInt(GrNoOfArtisian.value) * parseInt(GrMaxAmount.value);
	if (parseFloat(GrFundSantion.value)> parseFloat(dMaxLmit))
	{
		alert(Fund Sanctioned Cannot Be Greater Than'+ dMaxLmit );
		return false;
	}*/

function Round(dValue  , dDecimalLngth){
	return Math.round(dValue*Math.pow(10,dDecimalLngth))/Math.pow(10,dDecimalLngth);
}



function MaxFundToBeSanction( MaxAmuontForComponent  ,  MaxAmuontForFI ,  GrProposedFund , GrFundTobeSanction , GrFundToBeReleased , GrAdvancePercent){

	//alert(GrProposedFund.value);
	if(GrProposedFund.value.length!=0){
	if (!isNumeric(GrProposedFund,"Only Numeric Value Should Be Entered For Funds Proposed")){
		return false;
	}	
	}
		
	GrFundTobeSanction.value = 	Round(MaxAmuontForComponent.value,2);
	if (parseFloat(GrFundTobeSanction.value) > parseFloat(GrProposedFund.value)){
		GrFundTobeSanction.value = Round(GrProposedFund.value,2);
	}
	GrFundToBeReleased.value = 	parseFloat(GrFundTobeSanction.value) * parseFloat(GrAdvancePercent.value);
	GrFundToBeReleased.value = Round(GrFundToBeReleased.value,2);
	
	if (GrFundToBeReleased.value == "NaN"){
		alert('Only Numeric Values Allowed');
		GrProposedFund.focus();
		return false;
	}
		
}





function AmtReleased( MaxAmuontForComponent  ,  MaxAmuontForFI ,  GrProposedFund , GrFundTobeSanction , GrFundToBeReleased , GrAdvancePercent){

	var dRelAmt = 	parseFloat(GrFundTobeSanction.value) * parseFloat(GrAdvancePercent.value);
	if (Round(GrFundToBeReleased.value,2) > Round(dRelAmt,2)){
		GrFundToBeReleased.focus();
		alert('Amount Released Cannot Be Greater Than '+ Round(GrAdvancePercent.value * 100,2) +  '% Of Fund To Be Sanctioned i.e. ' + Round(dRelAmt,2));
		return false;
	}
}



/*
	--------------------------------------------------
	Maximum Fund Sanctioned Check FOr WageCompensation FI 2 Sub COmponent 3
	--------------------------------------------------
*/

function MaxFundToBeSanctionWageCompensation(RatePerArt  , NoOfArt  ,  NoOfDays  ,   MaxAmuontForFI ,  GrProposedFund , GrFundTobeSanction , GrFundToBeReleased , GrAdvancePercent){

	var MaxAmuontForComponent = parseInt(NoOfArt.value) * parseFloat(NoOfDays.value) * parseFloat(RatePerArt.value);

	if(NoOfArt.value.length==0){
		alert('Numeric Value Expected Or Cannot be Left Empty');
		NoOfArt.focus();
		return false;
	}

	//alert(MaxAmuontForComponent);
	//return false;
	//alert(GrProposedFund.value);
	if(GrProposedFund.value.length!=0){
	if (!isNumeric(GrProposedFund,"Only Numeric Value Should Be Entered For Funds Proposed")){
		return false;
	}	
	}
		
	GrFundTobeSanction.value = 	Round(MaxAmuontForComponent,2);
	if (parseFloat(GrFundTobeSanction.value) > parseFloat(GrProposedFund.value)){
		GrFundTobeSanction.value = Round(GrProposedFund.value,2);
	}
	GrFundToBeReleased.value = 	parseFloat(GrFundTobeSanction.value) * parseFloat(GrAdvancePercent.value);
	GrFundToBeReleased.value = Round(GrFundToBeReleased.value,2);
	
	if (GrFundToBeReleased.value == "NaN"){
		alert('Only Numeric Values Allowed');
		GrProposedFund.focus();
		return false;
	}
		
}
/*
	--------------------------------------------------
	Maximum Fund Sanctioned Check FOr WageCompensation
	--------------------------------------------------
*/




/*
	--------------------------------------------------
	Maximum Fund Sanctioned Check FOr WageCompensation FI 2 Sub COmponent 3
	--------------------------------------------------
*/

function MaxFundToBeSanctionRawMaterialFI5(RatePerArt  , NoOfArt  ,   MaxAmuontForFI ,  GrProposedFund , GrFundTobeSanction , GrFundToBeReleased , GrAdvancePercent){

	if(NoOfArt.value.length==0){
		alert('Numeric Value Expected Or Cannot be Left Empty');
		NoOfArt.focus();
		return false;
	}

	var MaxAmuontForComponent = parseInt(NoOfArt.value) *  parseFloat(RatePerArt.value);
	//alert(MaxAmuontForComponent);
	//return false;
	//alert(GrProposedFund.value);

	if(GrProposedFund.value.length!=0){
	if (!isNumeric(GrProposedFund,"Only Numeric Value Should Be Entered For Funds Proposed")){
		return false;
	}	
	}
		
	GrFundTobeSanction.value = 	Round(MaxAmuontForComponent,2);
	//alert(GrFundTobeSanction.value);
	if (parseFloat(GrFundTobeSanction.value) > parseFloat(GrProposedFund.value)){
		GrFundTobeSanction.value = Round(GrProposedFund.value,2);
	}
	GrFundToBeReleased.value = 	parseFloat(GrFundTobeSanction.value) * parseFloat(GrAdvancePercent.value);
	GrFundToBeReleased.value = Round(GrFundToBeReleased.value,2);
	
	if (GrFundToBeReleased.value == "NaN"){
		alert('Only Numeric Values Allowed');
		GrProposedFund.focus();
		return false;
	}
		
}
/*
	--------------------------------------------------
	Maximum Fund Sanctioned Check FOr WageCompensation
	--------------------------------------------------
*/

	function checkMaxValue(FinYear ,  Amount , IAShare , MaxCeil , NoOfInst , AdvPerc , Inst1 , Inst2 , Inst3 ,  Message)
			
		{		
				if (parseInt(FinYear.value)==0 )
				{	
					alert('Select financial year');
					return false;
				}
				
				if (parseInt(Amount.value)<=0 || Amount.value=="" )
				{	
					alert(Message+'Amount cannot be left empty or cannot <=0 ' );
					return false;
				}
				
				
				
				
				/*if (parseInt(Amount.value) >  parseInt(MaxCeil.value))
				{
					alert('Amount cannot be greater than maximum ceiling');
					return false;
				}*/		
			

				if (parseInt(IAShare.value)>100 || parseInt(IAShare.value)< 0)
				{
					alert('IA Share percentage should between 0 - 100');
					return false;
				}		

				
				if (parseInt(MaxCeil.value)<=0 || MaxCeil.value=="" )
				{
					alert(Message+'maximum ceiling cannot be left empty or cannot Be <= 0 ' );
					return false;
				}
			
				if (NoOfInst.value =="")
				{
					NoOfInst.value="0";
				}
			
			
				if (AdvPerc.value=="")
				{
				AdvPerc.value = "0";
				}
							
			
				if (parseInt(NoOfInst.value)==0 || parseInt(NoOfInst.value)< 1 || parseInt(NoOfInst.value)>4)
				{
					alert(Message+'No Of Instalment cannot be left empty and should not be greater than 4' );
					return false;
				}
				
				if (parseInt(AdvPerc.value)<=0 || AdvPerc.value == "" )
				{
					alert(Message + ' Advance Percentage cannot be left empty ');
					return false;
				}

				if (Inst1.value=="")
				{
					Inst1.value = "0";
				}

				if (Inst2.value=="")
				{
					Inst2.value ="0";
				}

				if (Inst3.value=="")
				{
					Inst3.value	 ="0";
				}
		
				
				//**********installment 1  **ALL HARI HARI ************************
				
				if(parseInt(NoOfInst.value)== 1) 
				{	
					Inst1.value = "0" 
					Inst2.value = "0" 
					Inst3.value = "0" 
										    
					if(parseInt(AdvPerc.value)<=0 )				
					{
						alert('When total installment is 1 then Advance canbe <=0 ');									  						
						return false;
					}
					
					if(parseInt(AdvPerc.value) != 100) 				
					{
					alert(Message +' Total no. of installment does not match with total percentage breakup ');									  					return false;
					return false;
					} 
				} 							
				
				//******Installment 2 ***********************************
				
				if(parseInt(NoOfInst.value)== 2) 
				{	
					Inst2.value = "0" 
					Inst3.value = "0" 
										    
					if(parseInt(AdvPerc.value)<=0 || parseInt(Inst1.value) <=0 )				
					{
						alert('When total instalments are 2 then amoung Advance and Inst.1 none of them canbe <=0 ');									  						
						return false;
					}
					
					if(parseInt(AdvPerc.value) + parseInt(Inst1.value) != 100) 				
					{
					alert(Message +' Total no. of installment does not match with total percentage breakup ');									  
					return false;					
					} 
				} 							
				
				//******Installment 3 ****All Hari Hari *******************************
				
				if(parseInt(NoOfInst.value)== 3) 
				{	
					Inst3.value = "0" 
										    
					if(parseInt(AdvPerc.value)<=0 || parseInt(Inst1.value) <=0 || parseInt(Inst2.value) <=0 )				
					{
						alert('When total installments are 3 then amoung Advance ,Inst.1 and Inst.2 none of them canbe <=0 ');									  						
						return false;
					}
					
					if(parseInt(AdvPerc.value) + parseInt(Inst1.value) + parseInt(Inst2.value) != 100) 				
					{
						alert(Message +' Total no. of installment does not match with total percentage breakup ');									  
						return false;					
					} 
				} 							
				
				//******Installment 4 ***********************************
				
				if(parseInt(NoOfInst.value)== 4) 
				{	
															    
					if(parseInt(AdvPerc.value)<=0 || parseInt(Inst1.value) <=0 || parseInt(Inst2.value) <=0 || parseInt(Inst3.value) <=0 )				
					{
						alert('When total installments are 4 then amoung Advance ,Inst.1 ,Inst.2 and Inst.3 none of them canbe <=0 ');									  						
						return false;
					}
					
					if(parseInt(AdvPerc.value) + parseInt(Inst1.value) + parseInt(Inst2.value) + parseInt(Inst3.value)  != 100) 				
					{
						alert(Message +' Total no. of installment does not match with total percentage breakup ');									  
						return false;					
					} 
				} 							
				
				
		
				/*if(parseInt(AdvPerc.value) + parseInt(Inst1.value) + parseInt(Inst2.value) + parseInt(Inst3.value) != 100)
				{
				  alert(Message +' Total Percentage Should Be Equal To 100');
				  return false;
				} */
							
			}

//Function Made After Changes Said By DCH in Presentation made on 05-Dec-2006
//===========================================================================

//Function Name:- ValidateProcessSheet
//Function Desc.:-Validates the fileno on th process Sheet Form 
//Created By :- Sumit
//Created On :- 13-Dec-2006
function ValidateProcessSheet(FileNo)
{
	if (FileNo.value.length == 0) {
		alert('File No Cannot Be Empty');
		FileNo.focus();
		return false;
	}
}


//Function Name:- IntegerOnlyWithoutDecimal
//Function Desc.:-Only Integer are Allowed with this function without decimal part
//Created By :- Sumit
//Created On :- 13-Dec-2006
function IntegerOnlyWithoutDecimal()
{
//alert(event.keyCode);
if( event.keyCode!=37  && event.keyCode!=38  && event.keyCode!=39  && event.keyCode!=40  && event.keyCode!=9 && event.keyCode!=46  && event.keyCode!=8  && (event.keyCode < 96 || event.keyCode > 105) && (event.keyCode < 48 || event.keyCode > 57))
	{
		return false;	
	}
}

function IntegerOnly()
{
//alert(event.keyCode)
if( event.keyCode!=37  && event.keyCode!=38  && event.keyCode!=39  && event.keyCode!=40  && event.keyCode!=9 && event.keyCode!=190  && event.keyCode!=110  && event.keyCode!=46  && event.keyCode!=8  && (event.keyCode < 96 || event.keyCode > 105) && (event.keyCode < 48 || event.keyCode > 57))
	{
	return false;
	
	}
}

function RoundField(Elem  , dDecimalLngth){
	Elem.value =  Math.round(Elem.value*Math.pow(10,dDecimalLngth))/Math.pow(10,dDecimalLngth);
}

function GetFundProposedWithTwoParam(paramType)
{
	
		
	var GrAmount = document.getElementById('PSGrant1:txt_Gr_Amt'); 
	var GrNoOfArt = document.getElementById('PSGrant1:txt_Gr_NoOfArtisian'); 
	var GrPercent = document.getElementById('PSGrant1:txtAdvPercent'); 
	var GrFundProposed  = document.getElementById('PSGrant1:txt_Gr_FundProposed'); 
	var GrFundSantion = document.getElementById('PSGrant1:txt_Gr_Sanctioned'); 
	var GrFundReleased = document.getElementById('PSGrant1:txt_Gr_Released'); 
	var GrSanctionDate = document.getElementById('PSGrant1:txtSanctionDate'); 
	var GrDisplayPercent = document.getElementById('PSGrant1:txtDisplayPercent'); 

	
	var vGrantAmount;
	var vGrRelAmount;
	
	GrDisplayPercent.value = "";
	if(paramType == 1){
	if (GrNoOfArt.value.length!=0)
	{
		GrFundProposed.value  = GrNoOfArt.value * GrAmount.value;
		GrFundSantion.value  = GrNoOfArt.value * GrAmount.value;
		GrFundReleased.value = Round((GrPercent.value * GrFundSantion.value)/100,2);
	}
	}

	if(paramType == 2){
	if (GrNoOfArt.value.length!=0)
	{

		if (parseFloat(GrFundProposed.value) < parseFloat(GrFundSantion.value)){
			GrFundSantion.value = GrFundProposed.value;
		}

		if (parseFloat(GrFundSantion.value) > parseFloat(GrNoOfArt.value * GrAmount.value)){
			vGrantAmount = Round(parseFloat(GrNoOfArt.value * GrAmount.value),2);
			alert('Fund Sanctioned Cannot Be Greater Than Amount Granted i.e '+vGrantAmount);
			GrFundSantion.value = parseFloat(GrNoOfArt.value * GrAmount.value);
			GrFundReleased.value = Round((GrPercent.value * GrFundSantion.value)/100,2);
			return false;
		}	
		GrFundReleased.value = Round((GrPercent.value * GrFundSantion.value)/100,2);
		
	}
	}
	
	if(paramType == 3){
		vGrRelAmount = Round((GrPercent.value * GrFundSantion.value)/100,2);
		//alert(vGrRelAmount);
		if (parseFloat(GrFundReleased.value) > parseFloat(vGrRelAmount)){
			alert('Released Amount Cannot Be Greater Than  '+ GrPercent.value+'% Of Fund Sanctioned i.e '+ vGrRelAmount);
			GrFundReleased.value = vGrRelAmount;
			return false;
		}
	}
	
}




//Function For Listed FIValues
/*
	1.FIValue=2 SubFIValue:-1
	2.FIValue=2 SubFIValue:-2
	3.FIValue=2 SubFIValue:-4
	4.FIValue=2 SubFIValue:-5
*/
function GetFundProposedWithOneParam(paramType)
{
	var GrAmount = document.getElementById('PSGrant1:txt_Gr_Amt'); 
	var GrPercent = document.getElementById('PSGrant1:txtAdvPercent'); 
	var GrFundProposed  = document.getElementById('PSGrant1:txt_Gr_FundProposed'); 
	var GrFundSantion = document.getElementById('PSGrant1:txt_Gr_Sanctioned'); 
	var GrFundReleased = document.getElementById('PSGrant1:txt_Gr_Released'); 
	var GrSanctionDate = document.getElementById('PSGrant1:txtSanctionDate'); 
	var GrDisplayPercent = document.getElementById('PSGrant1:txtDisplayPercent'); 
	
	
	var vMaxLimit;
	var vGrRelAmount;
	GrDisplayPercent.value = "";
	
	if(paramType==1){
		GrFundSantion.value = GrFundProposed.value
		if (parseFloat(GrFundSantion.value)>parseFloat(GrAmount.value)){
			GrFundSantion.value = GrAmount.value
		}
		GrFundReleased.value = Round((parseFloat(GrFundSantion.value) * parseFloat(GrPercent.value))/100,2)
	}	
	if(paramType==2)
	{
		if(parseFloat(GrAmount.value)<parseFloat(GrFundSantion.value)){
			alert('Sanctioned Amount Cannot Be Greater Than '+ GrAmount.value );
			GrFundSantion.focus();
			return false;
		}
		if (parseFloat(GrFundSantion.value) > parseFloat(GrFundProposed.value)){
		 GrFundSantion.value = GrFundProposed.value
		 alert('Fund Sanctioned Cannot Be Greater Than Fund Proposed i.e '+ GrFundProposed.value);
         GrFundReleased.value = Round((parseFloat(GrFundSantion.value) * parseFloat(GrPercent.value))/100,2)
		 return false;
		 }

		GrFundReleased.value = Round((parseFloat(GrFundSantion.value) * parseFloat(GrPercent.value))/100,2)
	}		

	if(paramType == 3){
		vGrRelAmount = Round((GrPercent.value * GrFundSantion.value)/100,2);
		//alert(vGrRelAmount);
		if (parseFloat(GrFundReleased.value) > parseFloat(vGrRelAmount)){
			alert('Released Amount Cannot Be Greater Than  '+ GrPercent.value+'% Of Fund Sanctioned i.e '+ vGrRelAmount);
			GrFundReleased.value = vGrRelAmount;
			return false;
		}
	}
	
	if(paramType == 4){
		if (parseFloat(GrFundSantion.value) > parseFloat(GrAmount.value)){
		 GrFundSantion.value = GrAmount.value
		 alert('Fund Sanctioned Cannot Be Greater Than Amount Granted i.e '+GrAmount.value);
         GrFundReleased.value = Round((parseFloat(GrFundSantion.value) * parseFloat(GrPercent.value))/100,2)
		 return false;
		 }
	}
	
}



//Function For Listed FIValues
/*
	1.FIValue=2 SubFIValue:-3
*/



function GetFundProposedWithThreeParam(paramType)
{
	var GrAmount = document.getElementById('PSGrant1:txt_GR_RatePerArtisian'); 
	var GrNoOfArt = document.getElementById('PSGrant1:txt_Gr_NoOfArtisian'); 
	var GrNoDays = document.getElementById('PSGrant1:txt_GR_NoOfDays'); 
	var GrPercent = document.getElementById('PSGrant1:txtAdvPercent'); 
	var GrFundProposed  = document.getElementById('PSGrant1:txt_Gr_FundProposed'); 
	var GrFundSantion = document.getElementById('PSGrant1:txt_Gr_Sanctioned'); 
	var GrFundReleased = document.getElementById('PSGrant1:txt_Gr_Released'); 
	var GrSanctionDate = document.getElementById('PSGrant1:txtSanctionDate'); 
	var GrDisplayPercent = document.getElementById('PSGrant1:txtDisplayPercent'); 
	var vGrantAmount;
	var vGrRelAmount;
	
	GrDisplayPercent.value = "";
	if(paramType == 1){
	if (GrNoOfArt.value.length!=0 && GrNoDays.value.length!=0 )
	{
		GrFundProposed.value  = GrNoOfArt.value * GrAmount.value*GrNoDays.value;
		GrFundSantion.value  = GrNoOfArt.value * GrAmount.value*GrNoDays.value ;
		GrFundReleased.value = Round((GrPercent.value * GrFundSantion.value)/100,2);
	}
	}
	
	if(paramType == 2){

		if (GrNoOfArt.value.length!=0)
		{

			if (parseFloat(GrFundProposed.value) < parseFloat(GrFundSantion.value)){
				GrFundSantion.value = GrFundProposed.value;
			}

			if (parseFloat(GrFundSantion.value) > parseFloat(GrNoOfArt.value * GrAmount.value*GrNoDays.value)){
				vGrantAmount = Round(parseFloat(GrNoOfArt.value * GrAmount.value*GrNoDays.value),2);
				alert('Fund Sanctioned Cannot Be Greater Than Amount Granted i.e '+vGrantAmount);
				GrFundSantion.value = parseFloat(GrNoOfArt.value * GrAmount.value*GrNoDays.value);
				GrFundReleased.value = Round((GrPercent.value * GrFundSantion.value)/100,2);
				return false;
			}	
			GrFundReleased.value = Round((GrPercent.value * GrFundSantion.value)/100,2);
	
		 }
	}
	
	if(paramType == 3){
		vGrRelAmount = Round((GrPercent.value * GrFundSantion.value)/100,2);
		//alert(vGrRelAmount);
		if (parseFloat(GrFundReleased.value) > parseFloat(vGrRelAmount)){
			alert('Released Amount Cannot Be Greater Than  '+ GrPercent.value+'% Of Fund Sanctioned i.e '+ vGrRelAmount);
			GrFundReleased.value = vGrRelAmount;
			return false;
		}
	}

}


function ValidateControls(paramType){

	var GrAmount = document.getElementById('PSGrant1:txt_GR_RatePerArtisian'); 
	var GrNoOfArt = document.getElementById('PSGrant1:txt_Gr_NoOfArtisian'); 
	var GrNoDays = document.getElementById('PSGrant1:txt_GR_NoOfDays'); 
	var GrPercent = document.getElementById('PSGrant1:txtAdvPercent'); 
	var GrFundProposed  = document.getElementById('PSGrant1:txt_Gr_FundProposed'); 
	var GrFundSantion = document.getElementById('PSGrant1:txt_Gr_Sanctioned'); 
	var GrFundReleased = document.getElementById('PSGrant1:txt_Gr_Released'); 
	var GrSanctionDate = document.getElementById('PSGrant1:txtSanctionDate'); 
	var GrReleasedDate = document.getElementById('PSGrant1:txtReleasedDate'); 
	var GrStartDate = document.getElementById('FileSelectionHeader1:txtStartDate'); 
	
	var vGrantAmount;
	var vGrRelAmount;
	var vSanctionDate;
	var vReleasedDate;
	var vStartDate;
	
	//alert(GrStartDate.value);
	
	vSanctionDate = GrSanctionDate.value.substr(6,4)+GrSanctionDate.value.substr(3,2)+GrSanctionDate.value.substr(0,2);
	vReleasedDate  = GrReleasedDate.value.substr(6,4)+GrReleasedDate.value.substr(3,2)+GrReleasedDate.value.substr(0,2);
	vStartDate = GrStartDate.value.substr(6,4)+GrStartDate.value.substr(3,2)+GrStartDate.value.substr(0,2);

	if (parseInt(vStartDate) > parseInt(vSanctionDate))
	{
		alert('Sanction Date Cannot Be Less Than Start Date');
		return false;
	}

	
	if (parseInt(vSanctionDate) > parseInt(vReleasedDate))
	{
		alert('Released Date Cannot Be Less Than Sanctioned Date');
		return false;
	}
	
	if (paramType==1){
		if (GrNoOfArt.value.length==0 || GrNoOfArt.value==0  ){
			alert('Days/Months/No. Of Artisian/Looms Cannot Be Left Empty');
			GrNoOfArt.focus();
			return false;
		}
		if (GrNoDays.value.length==0 || GrNoDays.value==0  ){
			alert('Days/Months/Qantity Cannot Be Left Empty');
			GrNoDays.focus();
			return false;
		}
	}
	

	if (paramType==3){
		if (GrNoOfArt.value.length==0 || GrNoOfArt.value==0  ){
			alert('Days/Months/No Of Artisian Cannot Be Left Empty');
			GrNoOfArt.focus();
			return false;
		}
	
		
	}
	
		if (GrFundProposed.value.length==0 || GrFundProposed.value==0  ){
			alert('Fund Proposed Cannot Be Left Empty');
			GrFundProposed.focus();
			return false;
		}

		if (GrFundSantion.value.length==0 || GrFundSantion.value==0  ){
			alert('Fund Sanctioned Cannot Be Left Empty');
			GrFundSantion.focus();
			return false;
		}

		if (GrFundReleased.value.length==0 || GrFundReleased.value==0  ){
			alert('Fund Released Cannot Be Left Empty');
			GrFundReleased.focus();
			return false;
		}
}


/*
	Function For Validating Reimbursement
*/
function CheckInstalment()
{
	var GrInst1 = document.getElementById('PSGrant1:txtInst1'); 
	var GrInst2 = document.getElementById('PSGrant1:txtInst2'); 
	var GrInst3 = document.getElementById('PSGrant1:txtInst3'); 
	var InstPaid = document.getElementById('PSGrant1:txtNoOfInstPaid'); 
		 if(InstPaid.value ==1 && GrInst2.value ==0)
			{
				alert('Cannot Perform Action No More instalments');
				return false;
			}	
	  if(InstPaid.value ==2 && GrInst3.value ==0)
		{
			alert('Cannot Perform Action No More instalments');
			return false;
		}	  

	  if(InstPaid.value ==2 && GrInst3.value ==0)
		{
			alert('Cannot Perform Action No More instalments');
			return false;
		}	  

}


function ValidateReimbursement(ParamType){
	
	var GrFundSanctioned = document.getElementById('PSGrant1:txtFundSanctioned'); 
	var GrExpIncurred = document.getElementById('PSGrant1:txtExpenditureIncurred'); 
	var GrExpAdmissble = document.getElementById('PSGrant1:txtExpenditureAdmissible'); 
	var GrAmtToBeReleased = document.getElementById('PSGrant1:txtAmtReleased'); 
	var GrAmtReleasedEarlier = document.getElementById('PSGrant1:txtFundReleasedEarlier'); 
	var GrInst1 = document.getElementById('PSGrant1:txtInst1'); 
	var GrInst2 = document.getElementById('PSGrant1:txtInst2'); 
	var GrInst3 = document.getElementById('PSGrant1:txtInst3'); 
	var InstPaid = document.getElementById('PSGrant1:txtNoOfInstPaid'); 
	var ReleasedDate = document.getElementById('PSGrant1:txtRiembReleasedDate'); 
	var GrSanctionDate = document.getElementById('PSGrant1:txtSanctionDate'); 
	var MaxReimbusementLimit;
	var MaxAmountToBeReleased;
	var vSanctionDate;
	var vReleasedDate;
	
	
	vSanctionDate = GrSanctionDate.value.substr(6,4)+GrSanctionDate.value.substr(3,2)+GrSanctionDate.value.substr(0,2);
	vReleasedDate  = ReleasedDate.value.substr(6,4)+ReleasedDate.value.substr(3,2)+ReleasedDate.value.substr(0,2);
	
	
	if (parseInt(vSanctionDate) > parseInt(vReleasedDate))
	{
		alert('Released Date Cannot Be Less Than Sanctioned Date');
		return false;
	}


	
		if(GrExpIncurred.value.length==0){
			GrAmtToBeReleased.value =0;
		}
		
		
		
	if(ParamType==1){
		if(GrFundSanctioned.value.length!=0){
			//GrExpAdmissble.value = GrExpIncurred.value;
			if(parseFloat(GrExpIncurred.value)>parseFloat(GrFundSanctioned.value)){
				alert('Expenditure Cannot Be Greater Than Fund Sanctioned');
				GrExpIncurred.focus();
				return false;
			}
			if(parseFloat(GrExpIncurred.value)< parseFloat(GrAmtReleasedEarlier.value)){
				alert('Expenditure Cannot Be Less Than Amount Released Earilier');
				GrExpIncurred.focus();
				return false;
			}
	 		GrAmtToBeReleased.value = Round(parseFloat(GrExpIncurred.value) -  parseFloat(GrAmtReleasedEarlier.value),2)
		}
	}		

	if(ParamType==2)
	{
		return CalcInstalment()
	}
		
			
	if(ParamType==3){
	
				
	   if(ReleasedDate.value.length==0)
	   {
		alert('Released Date Cannot Be Left Empty');
		return false;
	   }

	   if(GrFundSanctioned.value.length==0 || GrFundSanctioned.value==0 || GrFundSanctioned.value < 0 )
	   {
		alert('Invalid Or Fund Sanctioned Cannot Be Left Empty');
		GrFundSanctioned.focus();
		return false;
	   }

	   if(GrExpIncurred.value.length==0 || GrExpIncurred.value==0 || GrExpIncurred.value<0)
	   {
		alert('Invalid Or Expenditure Incurred Cannot Be Left Empty');
		GrExpIncurred.focus();
		return false;
	   }
	
	   if(GrExpAdmissble.value.length==0 || GrExpAdmissble.value==0 || GrExpAdmissble.value<0)
	   {
		alert('Invalid Or Expenditure Admissible Cannot Be Left Empty');
		GrExpAdmissble.focus();
		return false;
	   }

	   if(GrAmtToBeReleased.value.length==0 || GrAmtToBeReleased.value==0 || GrAmtToBeReleased.value<0 )
	   {
		alert('Invalid Or Amount To Be Released Cannot Be Left Empty');
		GrAmtToBeReleased.focus();
		return false;
	   }
	   
	 	if(InstPaid.value ==1 && GrInst2.value ==0)
		{
			alert('Cannot Save No More instalments');
			return false;
		}	
	  if(InstPaid.value ==2 && GrInst3.value ==0)
		{
			alert('Cannot Save No More instalments');
			return false;
		}	  

	return CalcInstalment()
			
	}		
}


function CalcInstalment(){
	var GrFundSanctioned = document.getElementById('PSGrant1:txtFundSanctioned'); 
	var GrExpIncurred = document.getElementById('PSGrant1:txtExpenditureIncurred'); 
	var GrExpAdmissble = document.getElementById('PSGrant1:txtExpenditureAdmissible'); 
	var GrAmtToBeReleased = document.getElementById('PSGrant1:txtAmtReleased'); 
	var GrAmtReleasedEarlier = document.getElementById('PSGrant1:txtFundReleasedEarlier'); 
	var GrInst1 = document.getElementById('PSGrant1:txtInst1'); 
	var GrInst2 = document.getElementById('PSGrant1:txtInst2'); 
	var GrInst3 = document.getElementById('PSGrant1:txtInst3'); 
	var InstPaid = document.getElementById('PSGrant1:txtNoOfInstPaid'); 
	var MaxReimbusementLimit;
	var MaxAmountToBeReleased;
	
	
		if (GrInst1.value==0) {
			alert('Please Check FI Master For instalments.Cannot Perform Action');
			return false;
		}
	
			if (InstPaid.value==0)
		{
			MaxReimbusementLimit = Round(parseFloat((GrFundSanctioned.value * GrInst1.value)/100),2) 
			MaxAmountToBeReleased = parseFloat(GrExpIncurred.value) -  parseFloat(GrAmtReleasedEarlier.value)
			//alert(MaxReimbusementLimit);
			if(MaxAmountToBeReleased > MaxReimbusementLimit)
			{
				if(parseFloat(GrAmtToBeReleased.value) > MaxReimbusementLimit)
				{
					alert('Maximum Amount Can Be Released Cannot Be Greater Than First Instalment Amount '+MaxReimbusementLimit);
					GrAmtToBeReleased.value = MaxReimbusementLimit
					GrAmtToBeReleased.focus();
					return false;
				} 
			}
			if(parseFloat(GrAmtToBeReleased.value) > parseFloat(MaxAmountToBeReleased))
			{
				alert('Maximum Amount Can Be Released Cannot Be Greater Than Amount Left for Releasation '+MaxAmountToBeReleased);
				GrAmtToBeReleased.focus();
				return false;
			} 	
		}	//if (InstPaid.value==0)For First Instalment Validations
		
		
		 
		
		
		
		
		if(InstPaid.value==1){
			MaxReimbusementLimit = Round(parseFloat((GrFundSanctioned.value * GrInst2.value)/100),2) 
			MaxAmountToBeReleased = parseFloat(GrExpIncurred.value) -  parseFloat(GrAmtReleasedEarlier.value)
		
		if(MaxAmountToBeReleased > MaxReimbusementLimit)
			{
				if(parseFloat(GrAmtToBeReleased.value) > MaxReimbusementLimit)
				{
					alert('Maximum Amount Can Be Released Cannot Be Greater Than First Instalment Amount '+MaxReimbusementLimit);
					GrAmtToBeReleased.value = MaxReimbusementLimit
					GrAmtToBeReleased.focus();
					return false;
				} 
			}
			if(parseFloat(GrAmtToBeReleased.value) > parseFloat(MaxAmountToBeReleased))
			{
				alert('Maximum Amount Can Be Released Cannot Be Greater Than Amount Left for Releasation '+MaxAmountToBeReleased);
				GrAmtToBeReleased.focus();
				return false;
			} 	

		}			
		
		if(InstPaid.value==2){
		
		
			MaxReimbusementLimit = Round(parseFloat((GrFundSanctioned.value * GrInst2.value)/100),2) 
			MaxAmountToBeReleased = parseFloat(GrExpIncurred.value) -  parseFloat(GrAmtReleasedEarlier.value)
		
		if(MaxAmountToBeReleased > MaxReimbusementLimit)
			{
				if(parseFloat(GrAmtToBeReleased.value) > MaxReimbusementLimit)
				{
					alert('Maximum Amount Can Be Released Cannot Be Greater Than First Instalment Amount '+MaxReimbusementLimit);
					GrAmtToBeReleased.value = MaxReimbusementLimit
					GrAmtToBeReleased.focus();
					return false;
				} 
			}
			if(parseFloat(GrAmtToBeReleased.value) > parseFloat(MaxAmountToBeReleased))
			{
				//alert('sumit');
				alert('Maximum Amount Can Be Released Cannot Be Greater Than Amount Left for Releasation '+MaxAmountToBeReleased);
				GrAmtToBeReleased.focus();
				return false;
			} 	

		}			
}




function DisplayPercent(){
	var GrPercent = document.getElementById('PSGrant1:txtAdvPercent'); 
	var GrFundProposed  = document.getElementById('PSGrant1:txt_Gr_FundProposed'); 
	var GrFundSantion = document.getElementById('PSGrant1:txt_Gr_Sanctioned'); 
	var GrFundReleased = document.getElementById('PSGrant1:txt_Gr_Released');
	var GrDisplayPercent = document.getElementById('PSGrant1:txtDisplayPercent');
	GrDisplayPercent.value = "Amount Released is "+GrPercent.value+"% Of Fund Sanctioned";
	
}




function ValidateDates(sBseLineSurDate,stxtDateofComp)
{
	
	

	
	/*var GrReleasedDate = document.getElementById('PSGrant1:txtReleasedDate'); 
	var GrReleasedDate = document.getElementById('PSGrant1:txtReleasedDate'); */
	var GrStartDate = document.getElementById('FileSelectionHeader1:txtStartDate'); 
	var BaseLine; 
	
	
	var vStartDate;
	//var vReleasedDate;*/
	
	if(sBseLineSurDate.value == "")
	{
		alert('BseLine Survey Date Cannot Be Left Blank');
		return false;
	}
	
	
	BaseLine = sBseLineSurDate.value.substr(6,4)+sBseLineSurDate.value.substr(3,2)+sBseLineSurDate.value.substr(0,2);
	vStartDate = GrStartDate.value.substr(6,4)+GrStartDate.value.substr(3,2)+GrStartDate.value.substr(0,2);
	
	if(praseInt(BaseLine) < parseInt(vStartDate))
	{
		alert('Basline date Cannot Be Less Than Start Date .....');
		return false;
	}
	
	/*vReleasedDate  = GrReleasedDate.value.substr(6,4)+GrReleasedDate.value.substr(3,2)+GrReleasedDate.value.substr(0,2);
	vStartDate = GrStartDate.value.substr(6,4)+GrStartDate.value.substr(3,2)+GrStartDate.value.substr(0,2);*/

	/*if (parseInt(vStartDate) > parseInt(vSanctionDate))
	{
		alert('Sanction Date Cannot Be Less Than Start Date');
		return false;
	}*/
	
	//return true;
	
	
}