/*
 **************************************************************************************************************
 */

 function clearTextFields(){
	 document.frm_gratuity.txt_years_served.value = "" ; 
	 //document.frm_gratuity.cmb_months_served.value = "" ;
	 document.frm_gratuity.txt_da.value = "" ;
	 document.frm_gratuity.txt_basic_pay.value="" ; 
	 document.frm_gratuity.txt_com_sal.value="" ;
	 document.frm_gratuity.rd_cvd_under_gratuity[0].checked=true;
	 document.getElementById("result").innerHTML=""; 
	 document.getElementById("showText").innerHTML="<input type='text' id='txt_com_sal' name='txt_com_sal' value='' class='small_textfield' readonly/>";
 }
 
 function showField(){
	 //alert(""+document.frm_gratuity.rd_cvd_under_gratuity.value);
	if(document.frm_gratuity.rd_cvd_under_gratuity[0].checked){
		document.getElementById("showText").innerHTML="<input type='text' id='txt_com_sal' name='txt_com_sal' value='' class='small_textfield' readonly/>";
	}else{
		document.getElementById("showText").innerHTML="<input type='text' id='txt_com_sal' name='txt_com_sal' value='' class='small_textfield' />";
	}	 
 }
	 	 
 function calculateGratuity(){
	 if(validFormFields()){
		var basicPay=parseFloat(document.frm_gratuity.txt_basic_pay.value);
		var da=parseFloat(document.frm_gratuity.txt_da.value);
		var noOfYears=parseInt(document.frm_gratuity.txt_years_served.value);
		var noOfMonths=parseInt(document.frm_gratuity.cmb_months_served.value);
		var comission=parseFloat(document.frm_gratuity.txt_com_sal.value);
		var isCoveredUnderGratuity=isCoveredUnderGratuityFunc();
		var totalGratuity;
		var salary;
		if(noOfYears<5){
			totalGratuity=0;	
		}else{
			salary=basicPay+da;
			if(isCoveredUnderGratuity){
				if(noOfMonths >= 6){
					noOfYears=noOfYears+1;
				}
				totalGratuity=((salary*15)/26)*noOfYears;
			}else{
				salary=salary+comission;
				totalgratuity=((salary*1)/2)*noOfYears;
			}
		}
		totalGratuity=decimal2Points(totalGratuity);
		document.getElementById("result").innerHTML="Total Gratuity=&nbsp;&nbsp;&nbsp;&nbsp;"+totalGratuity;	
	}
}


function isCoveredUnderGratuityFunc(){
	if(document.frm_gratuity.rd_cvd_under_gratuity[0].checked)
		return true ; 
	else
		return false ; 
}

function validFormFields(){
	var errorMsg="";
	var isValid=true;
	var basicPay=document.frm_gratuity.txt_basic_pay.value;
	var da=document.frm_gratuity.txt_da.value;
	var noOfYears=document.frm_gratuity.txt_years_served.value;
	var comission=document.frm_gratuity.txt_com_sal.value;
	var isCoveredUnderGratuity=isCoveredUnderGratuityFunc();
	if(basicPay==""){
		errorMsg=errorMsg+"Please enter basic pay.\n";
		isValid=false;
	}else{
		if(!isNumeric(basicPay)){
			errorMsg=errorMsg+"Please enter numeric basic pay.\n";
			isValid=false;
		}
	}
	if(da==""){
		errorMsg=errorMsg+"Please enter dearness allownces.\n";
		isValid=false;
	}else{
		if(!isNumeric(da)){
			errorMsg=errorMsg+"Please enter numeric dearness allownces.\n";
			isValid=false;
		}
	}
	if(noOfYears==""){
		errorMsg=errorMsg+"Please enter number of years served.\n";
		isValid=false;
	}else{
		if(!isNumericWithoutDot(noOfYears)){
			errorMsg=errorMsg+"Please enter numeric number of years served.\n";
			isValid=false;
		}
	}
	if(!isCoveredUnderGratuity){
		if(comission==""){
			errorMsg=errorMsg+"Please enter comission on salary.\n";
			isValid=false;
		}else{
			if(!isNumeric(comission)){
				errorMsg=errorMsg+"Please enter numeric comission on salary.\n";
				isValid=false;
			}
		}
	}
	if(!isValid){
		alert(errorMsg);
	}
	return isValid;
}


function isNumeric(num){
	var valueI=num;
	var countDot=0;
	for(i=0;i<(valueI.length);i++){
		if((valueI.substring(i,i+1)>=0 && valueI.substring(i,i+1)<=9) || (valueI.substring(i,i+1)=='.' && countDot < 1) ){
			if(valueI.substring(i,i+1)=='.'){
				countDot=countDot+1;
			}
		}else{
			return false; 
		}
	}
	return true ; 
}

function isNumericWithoutDot(num){
	var valueI=num;
	for(i=0;i<(valueI.length);i++){
		if((valueI.substring(i,i+1)>=0 && valueI.substring(i,i+1)<=9)){
			
		}else{
			return false; 
		}
	}
	return true ; 
}

function decimal2Points(number){
	var i=0;
	var strNum = number.toString() ; 
	var len=strNum .length;
	for(i=0;i<len; i++){
		if(strNum.substring(i,i+1)=="."){
			break;
		}
	}
	var result1=strNum.substring(0,i+1);
	var result2=strNum.substring(i+1,i+3);
	return result1+result2;
	
}