
/**********************************************************************************************************************/
/*	Author : Ameet
	Script to Validate and Calculate EMI
*/

function checkEmpty(input)
{
	return input==""?true:false;
}

function showDiv(spanId)
{
	var spanObj  = document.getElementById(spanId);
	if (spanObj)
	{
  		spanObj.style.visibility = "visible";
		spanObj.style.display = "block";
	}
}

function hideDiv(spanId)
{
	var spanObj  = document.getElementById(spanId);
	if (spanObj)
	{
  		spanObj.style.visibility = "hidden";
		spanObj.style.display = "none";
	}
}

function validate_emiCalc()
{
	var principalAmount = document.getElementById("emiCalculator:principalAmount").value;
	var interestRate = document.getElementById("emiCalculator:interestRate").value;
	var duration = document.getElementById("emiCalculator:duration").value;
	var exp1=/^([0-9]+([.]?[0-9]+)?){1}$/;
	var exp2=/^([0-9]{1,2}([.]?[0-9]+)?){1}$/;
	var exp3=/^[0-9]+$/;

	if(checkEmpty(principalAmount))
	{
		showDiv("pAmount");
		document.getElementById("pAmount").innerHTML="Principal Amount required*";
		document.getElementById("emiCalculator:calculatedEmi").value="";
		return false;
	}
	else if(!exp1.test(principalAmount))
	{
		showDiv("pAmount");
		document.getElementById("pAmount").innerHTML="Enter valid principal amount*";
		document.getElementById("emiCalculator:calculatedEmi").value="";
		return false;
	}
	else if(checkEmpty(interestRate))
	{
		showDiv("pAmount");
		document.getElementById("pAmount").innerHTML="Interest Rate required*";
		document.getElementById("emiCalculator:calculatedEmi").value="";
		return false;
	}
	else if(!exp2.test(interestRate))
	{
		showDiv("pAmount");
		document.getElementById("pAmount").innerHTML="Enter valid interest rate*";
		document.getElementById("emiCalculator:calculatedEmi").value="";
		return false;
	}
	else if(checkEmpty(duration))
	{
		showDiv("pAmount");
		document.getElementById("pAmount").innerHTML="Duration / Time required*";
		document.getElementById("emiCalculator:calculatedEmi").value="";
		return false;
	}
	else if(!exp3.test(duration))
	{
		showDiv("pAmount");
		document.getElementById("pAmount").innerHTML="Enter valid duration / time*";
		document.getElementById("emiCalculator:calculatedEmi").value="";
		return false;
	}
	else
	{
		document.getElementById("pAmount").innerHTML="";
		hideDiv("pAmount");
		/*var rate = (interestRate/12)/100;
		var temp = Math.pow((1+rate),duration);
		var emi = (principalAmount*rate)*(temp/(temp-1));*/
		document.getElementById("emiCalculator:calculatedEmi").value = calc_emi(principalAmount,interestRate,duration);
		return true;
	}
}

function calc_emi(principalAmount,interestRate,duration)
{
	var rate = (interestRate/12)/100;
	var temp = Math.pow((1+rate),duration);
	var emi = (principalAmount*rate)*(temp/(temp-1));
	var result = roundResult(emi);
	return result;
	alert(result);
}

function roundResult(result)
{
	var temp1 = result * Math.pow(10,2);
	var temp2 = Math.round(temp1);
	result = temp2 / Math.pow(10,2);
	return result;
}

function emiCalcReset()
{
	document.getElementById("emiCalculator:interestRate").value="";
	document.getElementById("emiCalculator:duration").value="";
	document.getElementById("emiCalculator:principalAmount").value="";
	document.getElementById("emiCalculator:calculatedEmi").value="";
	document.getElementById("emiCalculator:principalAmount").focus();
	document.getElementById("pAmount").innerHTML="";
}


/*
	Author : Ameet
	Code for showing amortization schedule depending on the start date
*/

	var Year = new Array();
	Year[1] = "Jan";
	Year[2] = "Feb";
	Year[3] = "Mar";
	Year[4] = "Apr";
	Year[5] = "May";
	Year[6] = "Jun";
	Year[7] = "Jul";
	Year[8] = "Aug";
	Year[9] = "Sep";
	Year[10] = "Oct";
	Year[11] = "Nov";
	Year[12] = "Dec";
	

function showSchedule()
{
	var months = document.getElementById("amortization:d").value;
	var date = document.getElementById("amortization:startDate").value;
	var month = document.getElementById("amortization:startMonth").value;
	var year = document.getElementById("amortization:startYear").value;
	var spanObj  = document.getElementById("amortization:globalError");
	
	if(checkEmpty(date) || checkEmpty(month) || checkEmpty(year))
	{
		
		
		if (spanObj)
		{
  		spanObj.style.visibility = "visible";
		spanObj.style.display = "block";
		}
		//showDiv(document.getElementById("globalError"));
		document.getElementById("amortizationTable").innerHTML = "";
		document.getElementById("amortizationTable").style.display="none";
		document.getElementById("globalError").innerHTML="Please enter valid Start Date";
		return false;
	}
	else
	{

		if (spanObj)
	{
  		spanObj.style.visibility = "hidden";
		spanObj.style.display = "none";
	}
		document.getElementById("globalError").innerHTML="";
		var y = parseInt(year);
		var i=0;
		var principal= parseFloat(document.getElementById("amortization:p").value);
		var roi = parseFloat(document.getElementById("amortization:r").value);
		var duration = parseInt(document.getElementById("amortization:d").value);
		var emi = calc_emi(principal,roi,duration);
		var due = new Array();
		var principalamount = new Array();
		var balanceamount = new Array();
		var interestpay = new Array();
		var p = parseFloat(principal);
		var rate = parseFloat(roi);
		var r = rate/1200;

		for(i=1;i<=duration;i++)
		{
			due[i] = parseFloat(emi);
			if(i==1)
			{
				interestpay[i] = p*r;
				principalamount[i] = emi-interestpay[i];
				balanceamount[i] = p-principalamount[i];
			}
			else
			{
				if(i==duration)//last month
				{
					interestpay[i] = balanceamount[i-1]*r;
					principalamount[i] = emi-interestpay[i];
					balanceamount[i] = 0;
					due[i]=interestpay[i]+principalamount[i];
				}
				else
				{
					interestpay[i] = balanceamount[i-1]*r;
					principalamount[i] = emi-interestpay[i];
					balanceamount[i] = balanceamount[i-1]-principalamount[i];					
				}
			}
		}
		if(month<10)
		{
			month = month.charAt(1);
		}
		var totCount = months;
		m = parseInt(month);
		y1 = parseInt(year);
		for(k=1;k<totCount;k++)
		{
			m=m+1;
			if(m==13)
			{
				m=1;
				y1=y1+1;
			}
		}
		res1 = Year[m]+'-'+y1;	
		var Sno=1;
		var yearValue = parseInt(month);
		tab = '<table width="70% border="0" cellspacing="0" cellpadding="0" align="center">'+
				'<tr><td align="center"><br/>'+
				'<table width="50%">'+
					'<tr>'+
						'<td width="40%" class="form_text">EMI/Payment (Rs.)</td>'+
						'<td width="8%" class="form_text">:</td>'+
						'<td width="52%" class="form_text" align="left">'+roundResult(parseFloat(emi))+'</td>'+
					'</tr>'+
					'<tr>'+
						'<td width="40%" class="form_text">Total Payments (Rs.)</td>'+
						'<td width="8%" class="form_text">:</td>'+
						'<td width="52%" class="form_text">'+roundResult(parseFloat(emi)*months)+'</td>'+
					'</tr>'+
					'<tr>'+
						'<td width="40%" class="form_text">Total Interest (Rs.)</td>'+
						'<td width="8%" class="form_text">:</td>'+
						'<td width="52%" class="form_text">'+roundResult((parseFloat(emi)*months)-principal)+'</td>'+
					'</tr>'+
					'<tr>'+
						'<td width="40%" class="form_text">Pay off-Date</td>'+
						'<td width="8%" class="form_text">:</td>'+
						'<td width="52%" class="form_text">'+res1+'</td>'+
					'</tr>'+
				'</table>'+
				'</td></tr>'+
			'<tr><td class="tahoma_11_bold" align="center"><br/><br/>Amortization Schedule</td></tr>'+
			'<tr><td><br/>'+
			'<table width="70%" border="0" cellspacing="2" cellpadding="0" class="border_yellow" align="center">' +	
			'<tr >'+						
			'<td width="13%" height="30" align="center" class="companylist">No</td>' +
			'<td width="16%" class="companylist">Month/year</td>' +
			'<td width="17%" class="companylist">Payment Due (Rs.)</td>' +
			'<td width="19%" class="companylist">Interest (Rs.)</td>' +
			'<td width="16%" class="companylist">Principal (Rs.)</td>' +
			'<td width="19%" class="companylist">Balance (Rs.)</td>' +
			'</tr>' +
			'<tr><td colspan="5"><!--  --></td><td align="center" bgcolor="#FFFFFF" class="tahoma_11">'+principal+'</td></tr>';
			for(i=1;i<=totCount;i++)
			{ 
				tab+='<tr>';			
				tab+= '<td height="30" align="center" bgcolor="#FFFFFF" class="tahoma_11">'+Sno+'</td>' +
				'<td align="center" class="tahoma_11">'+Year[yearValue]+'-'+y+'</td>' +								
				'<td align="center" class="tahoma_11">'+roundResult(due[Sno])+'</td>' +
				'<td align="center" class="tahoma_11">'+roundResult(interestpay[Sno])+'</td>' +
				'<td align="center" class="tahoma_11">'+roundResult(principalamount[Sno])+'</td>' +
				'<td align="center" class="tahoma_11">'+roundResult(balanceamount[Sno])+'</td>';
				tab+='</tr>';
				yearValue++;
				if(yearValue>=13)
				{
					yearValue=1;	
					y=parseInt(y)+1; 
				}
				Sno++;	
			}
			tab+='</td></tr></table></tr></td></table>';
			document.getElementById("amortizationTable").innerHTML = tab;
			document.getElementById("amortizationTable").style.display="";
	}
}
// end of EMI Calculator


/**********************************************************************************************************************/

/*
	Author : Ameet
	Script to validate EmployeeTurnOverCostCalculator
*/		
		
//  Declaration of variables

	var exp = /^[0-9]*[.]?[0-9]{1,2}$/;
	var errorString;
	var notice_gmc_total=0;
	var notice_bmc_total=0;
	var vacancy_gmc_total=0;
	var vacancy_bmc_total=0;
	var notice_grandtotal=0;
	var others_grandtotal=0;
	var vacancy_grandtotal=0;


function displayErrorMsg(field)
{
	if(field == "")
		errorString = "*Field cannot be left empty";
	else
		errorString = "*Enter valid number upto 2 decimal places";

	return errorString;
}

function notice_gmc()
{
	var notice_gmc1 = document.getElementById('empTurnoverCost:notice_gmc1').value;
	var notice_gmc2 = document.getElementById('empTurnoverCost:notice_gmc2').value;
	var notice_gmc3 = document.getElementById('empTurnoverCost:notice_gmc3').value;

	var td_notice_bmc1 = document.getElementById('td_notice_bmc1');
	var td_notice_bmc2 = document.getElementById('td_notice_bmc2');
	var td_notice_bmc3 = document.getElementById('td_notice_bmc3');

	var td_notice_gmc1 = document.getElementById('td_notice_gmc1');
	var td_notice_gmc2 = document.getElementById('td_notice_gmc2');
	var td_notice_gmc3 = document.getElementById('td_notice_gmc3');
	
	if(!exp.test(notice_gmc1))
	{
		
		td_notice_bmc1.innerHTML = "";
		td_notice_bmc2.innerHTML = "";
		td_notice_bmc3.innerHTML = "";

		var error = displayErrorMsg(notice_gmc1);
			
		td_notice_gmc1.innerHTML = error;
		td_notice_gmc2.innerHTML = "";
		td_notice_gmc3.innerHTML = "";
		document.getElementById('empTurnoverCost:notice_gmc4').value = "";
		document.getElementById('empTurnoverCost:notice_gmc1').focus();
		return false;
	}
	else if(!exp.test(notice_gmc2))
	{
		
		td_notice_bmc1.innerHTML = "";
		td_notice_bmc2.innerHTML = "";
		td_notice_bmc3.innerHTML = "";

		var error = displayErrorMsg(notice_gmc2);
			
		td_notice_gmc2.innerHTML = error;
		td_notice_gmc1.innerHTML = "";
		td_notice_gmc3.innerHTML = "";
		document.getElementById('empTurnoverCost:notice_gmc4').value = "";
		document.getElementById('empTurnoverCost:notice_gmc2').focus();
		return false;
	}
	else if(!exp.test(notice_gmc3))
	{
		
		td_notice_bmc1.innerHTML = "";
		td_notice_bmc2.innerHTML = "";
		td_notice_bmc3.innerHTML = "";
		
		var error = displayErrorMsg(notice_gmc3);
			
		td_notice_gmc3.innerHTML = error;
		td_notice_gmc2.innerHTML = "";
		td_notice_gmc1.innerHTML = "";
		document.getElementById('empTurnoverCost:notice_gmc4').value = "";
		document.getElementById('empTurnoverCost:notice_gmc3').focus();
		return false;
	}
	else
	{
		td_notice_gmc1.innerHTML = "";
		td_notice_gmc2.innerHTML = "";
		td_notice_gmc3.innerHTML = "";
		td_notice_bmc1.innerHTML = "";
		td_notice_bmc2.innerHTML = "";
		td_notice_bmc3.innerHTML = "";

		notice_gmc_total = parseFloat(notice_gmc1)+parseFloat(notice_gmc2)+parseFloat(notice_gmc3);
		document.getElementById('empTurnoverCost:notice_gmc4').value = roundResult(notice_gmc_total);
		return true;
	}
}

function notice_bmc()
{
	var notice_bmc1 = document.getElementById('empTurnoverCost:notice_bmc1').value;
	var notice_bmc2 = document.getElementById('empTurnoverCost:notice_bmc2').value;
	var notice_bmc3 = document.getElementById('empTurnoverCost:notice_bmc3').value;

	var td_notice_bmc1 = document.getElementById('td_notice_bmc1');
	var td_notice_bmc2 = document.getElementById('td_notice_bmc2');
	var td_notice_bmc3 = document.getElementById('td_notice_bmc3');

	var td_notice_gmc1 = document.getElementById('td_notice_gmc1');
	var td_notice_gmc2 = document.getElementById('td_notice_gmc2');
	var td_notice_gmc3 = document.getElementById('td_notice_gmc3');

	var flag = notice_gmc();
	//alert(bmc_total);

	if(flag==true)
	{
		if(!exp.test(notice_bmc1))
		{

			td_notice_gmc1.innerHTML = "";
			td_notice_gmc2.innerHTML = "";
			td_notice_gmc3.innerHTML = "";
			
			var error = displayErrorMsg(notice_bmc1);
				
			td_notice_bmc1.innerHTML = error;
			td_notice_bmc2.innerHTML = "";
			td_notice_bmc3.innerHTML = "";
			document.getElementById('empTurnoverCost:notice_bmc4').value = "";
			document.getElementById('empTurnoverCost:notice_bmc1').focus();
			return false;
		}
		else if(!exp.test(notice_bmc2))
		{
			
			td_notice_gmc1.innerHTML = "";
			td_notice_gmc2.innerHTML = "";
			td_notice_gmc3.innerHTML = "";

			var error = displayErrorMsg(notice_bmc2);
				
			td_notice_bmc2.innerHTML = error;
			td_notice_bmc1.innerHTML = "";
			td_notice_bmc3.innerHTML = "";
			document.getElementById('empTurnoverCost:notice_bmc4').value = "";
			document.getElementById('empTurnoverCost:notice_bmc2').focus();
			return false;
		}
		else if(!exp.test(notice_bmc3))
		{
			
			td_notice_gmc1.innerHTML = "";
			td_notice_gmc2.innerHTML = "";
			td_notice_gmc3.innerHTML = "";

			var error = displayErrorMsg(notice_bmc3);
				
			td_notice_bmc3.innerHTML = error;
			td_notice_bmc2.innerHTML = "";
			td_notice_bmc1.innerHTML = "";
			document.getElementById('empTurnoverCost:notice_bmc4').value = "";
			document.getElementById('empTurnoverCost:notice_bmc3').focus();
			return false;
		}
		else
		{
			td_notice_gmc1.innerHTML = "";
			td_notice_gmc2.innerHTML = "";
			td_notice_gmc3.innerHTML = "";
			td_notice_bmc1.innerHTML = "";
			td_notice_bmc2.innerHTML = "";
			td_notice_bmc3.innerHTML = "";
			notice_bmc_total = parseFloat(notice_bmc1)+parseFloat(notice_bmc2)+parseFloat(notice_bmc3);
			document.getElementById('empTurnoverCost:notice_bmc4').value = roundResult(notice_bmc_total);
			return true;
		}
	}
}



function noticeGrandTotal()
{
	var flag = notice_bmc();
	if(flag == true)
	{
		notice_grandtotal = parseFloat(notice_gmc_total)+parseFloat(notice_bmc_total);
		document.getElementById('empTurnoverCost:notice_grandtotal').value = roundResult(notice_grandtotal);
		return true;
	}
	else
	{
		document.getElementById('empTurnoverCost:notice_grandtotal').value = "";
		return false;
	}
}



function otherGrandTotal()
{
	var other_bmc1 = document.getElementById('empTurnoverCost:other_bmc1').value;
	var other_bmc2 = document.getElementById('empTurnoverCost:other_bmc2').value;
	var other_bmc3 = document.getElementById('empTurnoverCost:other_bmc3').value;
	var other_bmc4 = document.getElementById('empTurnoverCost:other_bmc4').value;
	var other_bmc5 = document.getElementById('empTurnoverCost:other_bmc5').value;
	var other_bmc6 = document.getElementById('empTurnoverCost:other_bmc6').value;
	var other_bmc7 = document.getElementById('empTurnoverCost:other_bmc7').value;

	var td_other_bmc1 = document.getElementById('td_other_bmc1');
	var td_other_bmc2 = document.getElementById('td_other_bmc2');
	var td_other_bmc3 = document.getElementById('td_other_bmc3');
	var td_other_bmc4 = document.getElementById('td_other_bmc4');
	var td_other_bmc5 = document.getElementById('td_other_bmc5');
	var td_other_bmc6 = document.getElementById('td_other_bmc6');
	var td_other_bmc7 = document.getElementById('td_other_bmc7');

	var flag = noticeGrandTotal();

	if(flag==true)
	{
		if(!exp.test(other_bmc1))
		{
			var error = displayErrorMsg(other_bmc1);
				
			td_other_bmc1.innerHTML = error;
			td_other_bmc2.innerHTML = "";
			td_other_bmc3.innerHTML = "";
			td_other_bmc4.innerHTML = "";
			td_other_bmc5.innerHTML = "";
			td_other_bmc6.innerHTML = "";
			td_other_bmc7.innerHTML = "";
			document.getElementById('empTurnoverCost:other_grandtotal').value = "";
			document.getElementById('empTurnoverCost:other_bmc1').focus();
			return false;
		}

		else if(!exp.test(other_bmc2))
		{
			var error = displayErrorMsg(other_bmc2);
				
			td_other_bmc2.innerHTML = error;
			td_other_bmc1.innerHTML = "";
			td_other_bmc3.innerHTML = "";
			td_other_bmc4.innerHTML = "";
			td_other_bmc5.innerHTML = "";
			td_other_bmc6.innerHTML = "";
			td_other_bmc7.innerHTML = "";
			document.getElementById('empTurnoverCost:other_grandtotal').value = "";
			document.getElementById('empTurnoverCost:other_bmc2').focus();
			return false;
		}

		else if(!exp.test(other_bmc3))
		{
			var error = displayErrorMsg(other_bmc3);
				
			td_other_bmc3.innerHTML = error;
			td_other_bmc1.innerHTML = "";
			td_other_bmc2.innerHTML = "";
			td_other_bmc4.innerHTML = "";
			td_other_bmc5.innerHTML = "";
			td_other_bmc6.innerHTML = "";
			td_other_bmc7.innerHTML = "";
			document.getElementById('empTurnoverCost:other_grandtotal').value = "";
			document.getElementById('empTurnoverCost:other_bmc3').focus();
			return false;
		}

		else if(!exp.test(other_bmc4))
		{
			var error = displayErrorMsg(other_bmc4);
				
			td_other_bmc4.innerHTML = error;
			td_other_bmc1.innerHTML = "";
			td_other_bmc3.innerHTML = "";
			td_other_bmc2.innerHTML = "";
			td_other_bmc5.innerHTML = "";
			td_other_bmc6.innerHTML = "";
			td_other_bmc7.innerHTML = "";
			document.getElementById('empTurnoverCost:other_grandtotal').value = "";
			document.getElementById('empTurnoverCost:other_bmc4').focus();
			return false;
		}

		else if(!exp.test(other_bmc5))
		{
			var error = displayErrorMsg(other_bmc5);
				
			td_other_bmc5.innerHTML = error;
			td_other_bmc1.innerHTML = "";
			td_other_bmc3.innerHTML = "";
			td_other_bmc4.innerHTML = "";
			td_other_bmc2.innerHTML = "";
			td_other_bmc6.innerHTML = "";
			td_other_bmc7.innerHTML = "";
			document.getElementById('empTurnoverCost:other_grandtotal').value = "";
			document.getElementById('empTurnoverCost:other_bmc5').focus();
			return false;
		}

		else if(!exp.test(other_bmc6))
		{
			var error = displayErrorMsg(other_bmc6);
				
			td_other_bmc6.innerHTML = error;
			td_other_bmc1.innerHTML = "";
			td_other_bmc3.innerHTML = "";
			td_other_bmc4.innerHTML = "";
			td_other_bmc5.innerHTML = "";
			td_other_bmc2.innerHTML = "";
			td_other_bmc7.innerHTML = "";
			document.getElementById('empTurnoverCost:other_grandtotal').value = "";
			document.getElementById('empTurnoverCost:other_bmc6').focus();
			return false;
		}

		else if(!exp.test(other_bmc7))
		{
			var error = displayErrorMsg(other_bmc7);
				
			td_other_bmc7.innerHTML = error;
			td_other_bmc1.innerHTML = "";
			td_other_bmc3.innerHTML = "";
			td_other_bmc4.innerHTML = "";
			td_other_bmc5.innerHTML = "";
			td_other_bmc6.innerHTML = "";
			td_other_bmc2.innerHTML = "";
			document.getElementById('empTurnoverCost:other_grandtotal').value = "";
			document.getElementById('empTurnoverCost:other_bmc7').focus();
			return false;
		}

		else
		{
			td_other_bmc1.innerHTML = "";
			td_other_bmc2.innerHTML = "";
			td_other_bmc3.innerHTML = "";
			td_other_bmc4.innerHTML = "";
			td_other_bmc5.innerHTML = "";
			td_other_bmc6.innerHTML = "";
			td_other_bmc7.innerHTML = "";

			other_grandtotal = parseFloat(other_bmc1)+parseFloat(other_bmc2)+parseFloat(other_bmc3)+parseFloat(other_bmc4)+parseFloat(other_bmc5)+parseFloat(other_bmc6)+parseFloat(other_bmc7);
			document.getElementById('empTurnoverCost:other_grandtotal').value = roundResult(other_grandtotal);
			return true;
		}
	}
}


function vacancy_gmc()
{
	var vacancy_gmc1 = document.getElementById('empTurnoverCost:vacancy_gmc1').value;
	var vacancy_gmc2 = document.getElementById('empTurnoverCost:vacancy_gmc2').value;
	var vacancy_gmc3 = document.getElementById('empTurnoverCost:vacancy_gmc3').value;
	var vacancy_gmc4 = document.getElementById('empTurnoverCost:vacancy_gmc4').value;
	var vacancy_gmc5 = document.getElementById('empTurnoverCost:vacancy_gmc5').value;
	var vacancy_gmc6 = document.getElementById('empTurnoverCost:vacancy_gmc6').value;
	var vacancy_gmc7 = document.getElementById('empTurnoverCost:vacancy_gmc7').value;
	var vacancy_gmc8 = document.getElementById('empTurnoverCost:vacancy_gmc8').value;
	var vacancy_gmc9 = document.getElementById('empTurnoverCost:vacancy_gmc9').value;


	var td_vacancy_bmc1 = document.getElementById('td_vacancy_bmc1');
	var td_vacancy_bmc2 = document.getElementById('td_vacancy_bmc2');
	var td_vacancy_bmc3 = document.getElementById('td_vacancy_bmc3');
	var td_vacancy_bmc4 = document.getElementById('td_vacancy_bmc4');
	var td_vacancy_bmc5 = document.getElementById('td_vacancy_bmc5');
	var td_vacancy_bmc6 = document.getElementById('td_vacancy_bmc6');

	var td_vacancy_gmc1 = document.getElementById('td_vacancy_gmc1');
	var td_vacancy_gmc2 = document.getElementById('td_vacancy_gmc2');
	var td_vacancy_gmc3 = document.getElementById('td_vacancy_gmc3');
	var td_vacancy_gmc4 = document.getElementById('td_vacancy_gmc4');
	var td_vacancy_gmc5 = document.getElementById('td_vacancy_gmc5');
	var td_vacancy_gmc6 = document.getElementById('td_vacancy_gmc6');
	var td_vacancy_gmc7 = document.getElementById('td_vacancy_gmc7');
	var td_vacancy_gmc8 = document.getElementById('td_vacancy_gmc8');
	var td_vacancy_gmc9 = document.getElementById('td_vacancy_gmc9');
	

	var flag = otherGrandTotal();
	if(flag==true)
	{
		if(!exp.test(vacancy_gmc1))
		{
			
			td_vacancy_bmc1.innerHTML = "";
			td_vacancy_bmc2.innerHTML = "";
			td_vacancy_bmc3.innerHTML = "";
			td_vacancy_bmc4.innerHTML = "";
			td_vacancy_bmc5.innerHTML = "";
			td_vacancy_bmc6.innerHTML = "";

			var error = displayErrorMsg(vacancy_gmc1);
				
			td_vacancy_gmc1.innerHTML = error;
			td_vacancy_gmc2.innerHTML = "";
			td_vacancy_gmc3.innerHTML = "";
			td_vacancy_gmc4.innerHTML = "";
			td_vacancy_gmc5.innerHTML = "";
			td_vacancy_gmc6.innerHTML = "";
			td_vacancy_gmc7.innerHTML = "";
			td_vacancy_gmc8.innerHTML = "";
			td_vacancy_gmc9.innerHTML = "";
			document.getElementById('empTurnoverCost:vacancy_gmc10').value = "";
			document.getElementById('empTurnoverCost:vacancy_gmc1').focus();
			return false;
		}
		else if(!exp.test(vacancy_gmc2))
		{
			
			td_vacancy_bmc1.innerHTML = "";
			td_vacancy_bmc2.innerHTML = "";
			td_vacancy_bmc3.innerHTML = "";
			td_vacancy_bmc4.innerHTML = "";
			td_vacancy_bmc5.innerHTML = "";
			td_vacancy_bmc6.innerHTML = "";

			var error = displayErrorMsg(vacancy_gmc2);
				
			td_vacancy_gmc2.innerHTML = error;
			td_vacancy_gmc1.innerHTML = "";
			td_vacancy_gmc3.innerHTML = "";
			td_vacancy_gmc4.innerHTML = "";
			td_vacancy_gmc5.innerHTML = "";
			td_vacancy_gmc6.innerHTML = "";
			td_vacancy_gmc7.innerHTML = "";
			td_vacancy_gmc8.innerHTML = "";
			td_vacancy_gmc9.innerHTML = "";
			document.getElementById('empTurnoverCost:vacancy_gmc10').value = "";
			document.getElementById('empTurnoverCost:vacancy_gmc2').focus();
			return false;
		}
		else if(!exp.test(vacancy_gmc3))
		{
			
			td_vacancy_bmc1.innerHTML = "";
			td_vacancy_bmc2.innerHTML = "";
			td_vacancy_bmc3.innerHTML = "";
			td_vacancy_bmc4.innerHTML = "";
			td_vacancy_bmc5.innerHTML = "";
			td_vacancy_bmc6.innerHTML = "";

			var error = displayErrorMsg(vacancy_gmc3);
				
			td_vacancy_gmc3.innerHTML = error;
			td_vacancy_gmc1.innerHTML = "";
			td_vacancy_gmc2.innerHTML = "";
			td_vacancy_gmc4.innerHTML = "";
			td_vacancy_gmc5.innerHTML = "";
			td_vacancy_gmc6.innerHTML = "";
			td_vacancy_gmc7.innerHTML = "";
			td_vacancy_gmc8.innerHTML = "";
			td_vacancy_gmc9.innerHTML = "";
			document.getElementById('empTurnoverCost:vacancy_gmc10').value = "";
			document.getElementById('empTurnoverCost:vacancy_gmc3').focus();
			return false;
		}
		else if(!exp.test(vacancy_gmc4))
		{
			
			td_vacancy_bmc1.innerHTML = "";
			td_vacancy_bmc2.innerHTML = "";
			td_vacancy_bmc3.innerHTML = "";
			td_vacancy_bmc4.innerHTML = "";
			td_vacancy_bmc5.innerHTML = "";
			td_vacancy_bmc6.innerHTML = "";

			var error = displayErrorMsg(vacancy_gmc4);
				
			td_vacancy_gmc4.innerHTML = error;
			td_vacancy_gmc1.innerHTML = "";
			td_vacancy_gmc3.innerHTML = "";
			td_vacancy_gmc2.innerHTML = "";
			td_vacancy_gmc5.innerHTML = "";
			td_vacancy_gmc6.innerHTML = "";
			td_vacancy_gmc7.innerHTML = "";
			td_vacancy_gmc8.innerHTML = "";
			td_vacancy_gmc9.innerHTML = "";
			document.getElementById('empTurnoverCost:vacancy_gmc10').value = "";
			document.getElementById('empTurnoverCost:vacancy_gmc4').focus();
			return false;
		}
		else if(!exp.test(vacancy_gmc5))
		{
			
			td_vacancy_bmc1.innerHTML = "";
			td_vacancy_bmc2.innerHTML = "";
			td_vacancy_bmc3.innerHTML = "";
			td_vacancy_bmc4.innerHTML = "";
			td_vacancy_bmc5.innerHTML = "";
			td_vacancy_bmc6.innerHTML = "";

			var error = displayErrorMsg(vacancy_gmc5);
				
			td_vacancy_gmc5.innerHTML = error;
			td_vacancy_gmc1.innerHTML = "";
			td_vacancy_gmc3.innerHTML = "";
			td_vacancy_gmc4.innerHTML = "";
			td_vacancy_gmc2.innerHTML = "";
			td_vacancy_gmc6.innerHTML = "";
			td_vacancy_gmc7.innerHTML = "";
			td_vacancy_gmc8.innerHTML = "";
			td_vacancy_gmc9.innerHTML = "";
			document.getElementById('empTurnoverCost:vacancy_gmc10').value = "";
			document.getElementById('empTurnoverCost:vacancy_gmc5').focus();
			return false;
		}
		else if(!exp.test(vacancy_gmc6))
		{
			
			td_vacancy_bmc1.innerHTML = "";
			td_vacancy_bmc2.innerHTML = "";
			td_vacancy_bmc3.innerHTML = "";
			td_vacancy_bmc4.innerHTML = "";
			td_vacancy_bmc5.innerHTML = "";
			td_vacancy_bmc6.innerHTML = "";

			var error = displayErrorMsg(vacancy_gmc6);
				
			td_vacancy_gmc6.innerHTML = error;
			td_vacancy_gmc1.innerHTML = "";
			td_vacancy_gmc3.innerHTML = "";
			td_vacancy_gmc4.innerHTML = "";
			td_vacancy_gmc5.innerHTML = "";
			td_vacancy_gmc2.innerHTML = "";
			td_vacancy_gmc7.innerHTML = "";
			td_vacancy_gmc8.innerHTML = "";
			td_vacancy_gmc9.innerHTML = "";
			document.getElementById('empTurnoverCost:vacancy_gmc10').value = "";
			document.getElementById('empTurnoverCost:vacancy_gmc6').focus();
			return false;
		}
		else if(!exp.test(vacancy_gmc7))
		{
			
			td_vacancy_bmc1.innerHTML = "";
			td_vacancy_bmc2.innerHTML = "";
			td_vacancy_bmc3.innerHTML = "";
			td_vacancy_bmc4.innerHTML = "";
			td_vacancy_bmc5.innerHTML = "";
			td_vacancy_bmc6.innerHTML = "";

			var error = displayErrorMsg(vacancy_gmc7);
				
			td_vacancy_gmc7.innerHTML = error;
			td_vacancy_gmc1.innerHTML = "";
			td_vacancy_gmc3.innerHTML = "";
			td_vacancy_gmc4.innerHTML = "";
			td_vacancy_gmc5.innerHTML = "";
			td_vacancy_gmc6.innerHTML = "";
			td_vacancy_gmc2.innerHTML = "";
			td_vacancy_gmc8.innerHTML = "";
			td_vacancy_gmc9.innerHTML = "";
			document.getElementById('empTurnoverCost:vacancy_gmc10').value = "";
			document.getElementById('empTurnoverCost:vacancy_gmc7').focus();
			return false;
		}
		else if(!exp.test(vacancy_gmc8))
		{
			
			td_vacancy_bmc1.innerHTML = "";
			td_vacancy_bmc2.innerHTML = "";
			td_vacancy_bmc3.innerHTML = "";
			td_vacancy_bmc4.innerHTML = "";
			td_vacancy_bmc5.innerHTML = "";
			td_vacancy_bmc6.innerHTML = "";

			var error = displayErrorMsg(vacancy_gmc8);
				
			td_vacancy_gmc8.innerHTML = error;
			td_vacancy_gmc1.innerHTML = "";
			td_vacancy_gmc3.innerHTML = "";
			td_vacancy_gmc4.innerHTML = "";
			td_vacancy_gmc5.innerHTML = "";
			td_vacancy_gmc6.innerHTML = "";
			td_vacancy_gmc7.innerHTML = "";
			td_vacancy_gmc2.innerHTML = "";
			td_vacancy_gmc9.innerHTML = "";
			document.getElementById('empTurnoverCost:vacancy_gmc10').value = "";
			document.getElementById('empTurnoverCost:vacancy_gmc8').focus();
			return false;
		}
		else if(!exp.test(vacancy_gmc9))
		{
			
			td_vacancy_bmc1.innerHTML = "";
			td_vacancy_bmc2.innerHTML = "";
			td_vacancy_bmc3.innerHTML = "";
			td_vacancy_bmc4.innerHTML = "";
			td_vacancy_bmc5.innerHTML = "";
			td_vacancy_bmc6.innerHTML = "";

			var error = displayErrorMsg(vacancy_gmc9);
				
			td_vacancy_gmc9.innerHTML = error;
			td_vacancy_gmc1.innerHTML = "";
			td_vacancy_gmc3.innerHTML = "";
			td_vacancy_gmc4.innerHTML = "";
			td_vacancy_gmc5.innerHTML = "";
			td_vacancy_gmc6.innerHTML = "";
			td_vacancy_gmc7.innerHTML = "";
			td_vacancy_gmc8.innerHTML = "";
			td_vacancy_gmc2.innerHTML = "";
			document.getElementById('empTurnoverCost:vacancy_gmc10').value = "";
			document.getElementById('empTurnoverCost:vacancy_gmc9').focus();
			return false;
		}
		else
		{
			td_vacancy_bmc1.innerHTML = "";
			td_vacancy_bmc2.innerHTML = "";
			td_vacancy_bmc3.innerHTML = "";
			td_vacancy_bmc4.innerHTML = "";
			td_vacancy_bmc5.innerHTML = "";
			td_vacancy_bmc6.innerHTML = "";

			td_vacancy_gmc1.innerHTML = "";
			td_vacancy_gmc2.innerHTML = "";
			td_vacancy_gmc3.innerHTML = "";
			td_vacancy_gmc4.innerHTML = "";
			td_vacancy_gmc5.innerHTML = "";
			td_vacancy_gmc6.innerHTML = "";
			td_vacancy_gmc7.innerHTML = "";
			td_vacancy_gmc8.innerHTML = "";
			td_vacancy_gmc9.innerHTML = "";

			vacancy_gmc_total = parseFloat(vacancy_gmc1)+parseFloat(vacancy_gmc2)+parseFloat(vacancy_gmc3)+parseFloat(vacancy_gmc4)+parseFloat(vacancy_gmc5)+parseFloat(vacancy_gmc6)+parseFloat(vacancy_gmc7)+parseFloat(vacancy_gmc8)+parseFloat(vacancy_gmc9);
			document.getElementById('empTurnoverCost:vacancy_gmc10').value = roundResult(vacancy_gmc_total);
			return true;
		}
	}
}



function vacancy_bmc()
{
	var vacancy_bmc1 = document.getElementById('empTurnoverCost:vacancy_bmc1').value;
	var vacancy_bmc2 = document.getElementById('empTurnoverCost:vacancy_bmc2').value;
	var vacancy_bmc3 = document.getElementById('empTurnoverCost:vacancy_bmc3').value;
	var vacancy_bmc4 = document.getElementById('empTurnoverCost:vacancy_bmc4').value;
	var vacancy_bmc5 = document.getElementById('empTurnoverCost:vacancy_bmc5').value;
	var vacancy_bmc6 = document.getElementById('empTurnoverCost:vacancy_bmc6').value;

	var td_vacancy_gmc1 = document.getElementById('td_vacancy_gmc1');
	var td_vacancy_gmc2 = document.getElementById('td_vacancy_gmc2');
	var td_vacancy_gmc3 = document.getElementById('td_vacancy_gmc3');
	var td_vacancy_gmc4 = document.getElementById('td_vacancy_gmc4');
	var td_vacancy_gmc5 = document.getElementById('td_vacancy_gmc5');
	var td_vacancy_gmc6 = document.getElementById('td_vacancy_gmc6');
	var td_vacancy_gmc7 = document.getElementById('td_vacancy_gmc7');
	var td_vacancy_gmc8 = document.getElementById('td_vacancy_gmc8');
	var td_vacancy_gmc9 = document.getElementById('td_vacancy_gmc9');

	var td_vacancy_bmc1 = document.getElementById('td_vacancy_bmc1');
	var td_vacancy_bmc2 = document.getElementById('td_vacancy_bmc2');
	var td_vacancy_bmc3 = document.getElementById('td_vacancy_bmc3');
	var td_vacancy_bmc4 = document.getElementById('td_vacancy_bmc4');
	var td_vacancy_bmc5 = document.getElementById('td_vacancy_bmc5');
	var td_vacancy_bmc6 = document.getElementById('td_vacancy_bmc6');

	var flag = vacancy_gmc();
	
	if(flag == true)
	{
		if(!exp.test(vacancy_bmc1))
		{
			
			td_vacancy_gmc1.innerHTML = "";
			td_vacancy_gmc2.innerHTML = "";
			td_vacancy_gmc3.innerHTML = "";
			td_vacancy_gmc4.innerHTML = "";
			td_vacancy_gmc5.innerHTML = "";
			td_vacancy_gmc6.innerHTML = "";
			td_vacancy_gmc7.innerHTML = "";
			td_vacancy_gmc8.innerHTML = "";
			td_vacancy_gmc9.innerHTML = "";

			var error = displayErrorMsg(vacancy_bmc1);
				
			td_vacancy_bmc1.innerHTML = error;
			td_vacancy_bmc2.innerHTML = "";
			td_vacancy_bmc3.innerHTML = "";
			td_vacancy_bmc4.innerHTML = "";
			td_vacancy_bmc5.innerHTML = "";
			td_vacancy_bmc6.innerHTML = "";
			document.getElementById('empTurnoverCost:vacancy_bmc7').value = "";
			document.getElementById('empTurnoverCost:vacancy_bmc1').focus();
			return false;
		}

		else if(!exp.test(vacancy_bmc2))
		{
			
			td_vacancy_gmc1.innerHTML = "";
			td_vacancy_gmc2.innerHTML = "";
			td_vacancy_gmc3.innerHTML = "";
			td_vacancy_gmc4.innerHTML = "";
			td_vacancy_gmc5.innerHTML = "";
			td_vacancy_gmc6.innerHTML = "";
			td_vacancy_gmc7.innerHTML = "";
			td_vacancy_gmc8.innerHTML = "";
			td_vacancy_gmc9.innerHTML = "";

			var error = displayErrorMsg(vacancy_bmc2);
				
			td_vacancy_bmc2.innerHTML = error;
			td_vacancy_bmc1.innerHTML = "";
			td_vacancy_bmc3.innerHTML = "";
			td_vacancy_bmc4.innerHTML = "";
			td_vacancy_bmc5.innerHTML = "";
			td_vacancy_bmc6.innerHTML = "";
			document.getElementById('empTurnoverCost:vacancy_bmc7').value = "";
			document.getElementById('empTurnoverCost:vacancy_bmc2').focus();
			return false;
		}

		else if(!exp.test(vacancy_bmc3))
		{
			
			td_vacancy_gmc1.innerHTML = "";
			td_vacancy_gmc2.innerHTML = "";
			td_vacancy_gmc3.innerHTML = "";
			td_vacancy_gmc4.innerHTML = "";
			td_vacancy_gmc5.innerHTML = "";
			td_vacancy_gmc6.innerHTML = "";
			td_vacancy_gmc7.innerHTML = "";
			td_vacancy_gmc8.innerHTML = "";
			td_vacancy_gmc9.innerHTML = "";

			var error = displayErrorMsg(vacancy_bmc3);
				
			td_vacancy_bmc3.innerHTML = error;
			td_vacancy_bmc1.innerHTML = "";
			td_vacancy_bmc2.innerHTML = "";
			td_vacancy_bmc4.innerHTML = "";
			td_vacancy_bmc5.innerHTML = "";
			td_vacancy_bmc6.innerHTML = "";
			document.getElementById('empTurnoverCost:vacancy_bmc7').value = "";
			document.getElementById('empTurnoverCost:vacancy_bmc3').focus();
			return false;
		}

		else if(!exp.test(vacancy_bmc4))
		{
			
			td_vacancy_gmc1.innerHTML = "";
			td_vacancy_gmc2.innerHTML = "";
			td_vacancy_gmc3.innerHTML = "";
			td_vacancy_gmc4.innerHTML = "";
			td_vacancy_gmc5.innerHTML = "";
			td_vacancy_gmc6.innerHTML = "";
			td_vacancy_gmc7.innerHTML = "";
			td_vacancy_gmc8.innerHTML = "";
			td_vacancy_gmc9.innerHTML = "";

			var error = displayErrorMsg(vacancy_bmc4);
				
			td_vacancy_bmc4.innerHTML = error;
			td_vacancy_bmc1.innerHTML = "";
			td_vacancy_bmc2.innerHTML = "";
			td_vacancy_bmc3.innerHTML = "";
			td_vacancy_bmc5.innerHTML = "";
			td_vacancy_bmc6.innerHTML = "";
			document.getElementById('empTurnoverCost:vacancy_bmc7').value = "";
			document.getElementById('empTurnoverCost:vacancy_bmc4').focus();
			return false;
		}

		else if(!exp.test(vacancy_bmc5))
		{
			
			td_vacancy_gmc1.innerHTML = "";
			td_vacancy_gmc2.innerHTML = "";
			td_vacancy_gmc3.innerHTML = "";
			td_vacancy_gmc4.innerHTML = "";
			td_vacancy_gmc5.innerHTML = "";
			td_vacancy_gmc6.innerHTML = "";
			td_vacancy_gmc7.innerHTML = "";
			td_vacancy_gmc8.innerHTML = "";
			td_vacancy_gmc9.innerHTML = "";

			var error = displayErrorMsg(vacancy_bmc5);
				
			td_vacancy_bmc5.innerHTML = error;
			td_vacancy_bmc1.innerHTML = "";
			td_vacancy_bmc2.innerHTML = "";
			td_vacancy_bmc3.innerHTML = "";
			td_vacancy_bmc4.innerHTML = "";
			td_vacancy_bmc6.innerHTML = "";
			document.getElementById('empTurnoverCost:vacancy_bmc7').value = "";
			document.getElementById('empTurnoverCost:vacancy_bmc5').focus();
			return false;
		}

		else if(!exp.test(vacancy_bmc6))
		{
			
			td_vacancy_gmc1.innerHTML = "";
			td_vacancy_gmc2.innerHTML = "";
			td_vacancy_gmc3.innerHTML = "";
			td_vacancy_gmc4.innerHTML = "";
			td_vacancy_gmc5.innerHTML = "";
			td_vacancy_gmc6.innerHTML = "";
			td_vacancy_gmc7.innerHTML = "";
			td_vacancy_gmc8.innerHTML = "";
			td_vacancy_gmc9.innerHTML = "";

			var error = displayErrorMsg(vacancy_bmc6);
				
			td_vacancy_bmc6.innerHTML = error;
			td_vacancy_bmc1.innerHTML = "";
			td_vacancy_bmc2.innerHTML = "";
			td_vacancy_bmc3.innerHTML = "";
			td_vacancy_bmc4.innerHTML = "";
			td_vacancy_bmc5.innerHTML = "";
			document.getElementById('empTurnoverCost:vacancy_bmc7').value = "";
			document.getElementById('empTurnoverCost:vacancy_bmc6').focus();
			return false;
		}

		else
		{
			td_vacancy_bmc1.innerHTML = "";
			td_vacancy_bmc2.innerHTML = "";
			td_vacancy_bmc3.innerHTML = "";
			td_vacancy_bmc4.innerHTML = "";
			td_vacancy_bmc5.innerHTML = "";
			td_vacancy_bmc6.innerHTML = "";

			td_vacancy_gmc1.innerHTML = "";
			td_vacancy_gmc2.innerHTML = "";
			td_vacancy_gmc3.innerHTML = "";
			td_vacancy_gmc4.innerHTML = "";
			td_vacancy_gmc5.innerHTML = "";
			td_vacancy_gmc6.innerHTML = "";
			td_vacancy_gmc7.innerHTML = "";
			td_vacancy_gmc8.innerHTML = "";
			td_vacancy_gmc9.innerHTML = "";

			vacancy_bmc_total = parseFloat(vacancy_bmc1)+parseFloat(vacancy_bmc2)+parseFloat(vacancy_bmc3)+parseFloat(vacancy_bmc4)+parseFloat(vacancy_bmc5)+parseFloat(vacancy_bmc6);
			document.getElementById('empTurnoverCost:vacancy_bmc7').value = roundResult(vacancy_bmc_total);
			return true;
		}
	}
}


function vacancyGrandTotal()
{
	var flag = vacancy_bmc();
	if(flag == true)
	{
		vacancy_grandtotal = parseFloat(vacancy_gmc_total)+parseFloat(vacancy_bmc_total);
		document.getElementById('empTurnoverCost:vacancy_grandtotal').value = roundResult(vacancy_grandtotal);
		return true;
	}
	else
	{
		document.getElementById('empTurnoverCost:vacancy_grandtotal').value = "";
		return false;
	}
}


function final()
{
	var flag1 = noticeGrandTotal();
	var flag2 = otherGrandTotal();
	var flag3 = vacancyGrandTotal();
	if(flag1==true && flag2==true && flag3==true)
	{
		var grandtotal = notice_grandtotal + other_grandtotal + vacancy_grandtotal;
		document.getElementById('empTurnoverCost:grandtotal').value = roundResult(grandtotal);
	}
} 

function empTurnoverReset()
{
	document.getElementById('empTurnoverCost').reset();
	document.getElementById('empTurnoverCost:notice_gmc1').focus();

	document.getElementById('td_notice_bmc1').innerHTML="";
	document.getElementById('td_notice_bmc2').innerHTML="";
	document.getElementById('td_notice_bmc3').innerHTML="";

	document.getElementById('td_notice_gmc1').innerHTML="";
	document.getElementById('td_notice_gmc2').innerHTML="";
	document.getElementById('td_notice_gmc3').innerHTML="";

	document.getElementById('td_other_bmc1').innerHTML="";
	document.getElementById('td_other_bmc2').innerHTML="";
	document.getElementById('td_other_bmc3').innerHTML="";
	document.getElementById('td_other_bmc4').innerHTML="";
	document.getElementById('td_other_bmc5').innerHTML="";
	document.getElementById('td_other_bmc6').innerHTML="";
	document.getElementById('td_other_bmc7').innerHTML="";

	document.getElementById('td_vacancy_gmc1').innerHTML="";
	document.getElementById('td_vacancy_gmc2').innerHTML="";
	document.getElementById('td_vacancy_gmc3').innerHTML="";
	document.getElementById('td_vacancy_gmc4').innerHTML="";
	document.getElementById('td_vacancy_gmc5').innerHTML="";
	document.getElementById('td_vacancy_gmc6').innerHTML="";
	document.getElementById('td_vacancy_gmc7').innerHTML="";
	document.getElementById('td_vacancy_gmc8').innerHTML="";
	document.getElementById('td_vacancy_gmc9').innerHTML="";

	document.getElementById('td_vacancy_bmc1').innerHTML="";
	document.getElementById('td_vacancy_bmc2').innerHTML="";
	document.getElementById('td_vacancy_bmc3').innerHTML="";
	document.getElementById('td_vacancy_bmc4').innerHTML="";
	document.getElementById('td_vacancy_bmc5').innerHTML="";
	document.getElementById('td_vacancy_bmc6').innerHTML="";
}
// end of EmployeeTurnOverCostCalculator


/**********************************************************************************************************************/

/*
	Author : Ameet
	Script to validate Currency Converter
*/


function validate_currency()
{
	var currencyFrom = document.getElementById("currencyConverter:currencyFrom").value;
	var currencyTo = document.getElementById("currencyConverter:currencyTo").value;
	var amount = document.getElementById("currencyConverter:amount").value;
	var exp1 = /^([0-9]*\.[0-9]{1,2}|[0-9]+)$/;
	
	if(currencyFrom=="" || currencyTo=="")
	{
		showDiv(document.getElementById("tr_cErrorMsg"));
		document.getElementById("td_cErrorMsg").innerHTML="*Please select Currency"
		document.getElementById("currencyConverter:calculatedAmount").value="";
		return false;
	}
	else if(currencyFrom==currencyTo && currencyFrom!="" && currencyTo!="")
	{
		showDiv(document.getElementById("tr_cErrorMsg"));
		document.getElementById("td_cErrorMsg").innerHTML="*Select different currencies"
		document.getElementById("currencyConverter:calculatedAmount").value="";
		return false;
	}
	else if(checkEmpty(amount))
	{
		showDiv(document.getElementById("tr_cErrorMsg"));
		document.getElementById("td_cErrorMsg").innerHTML="*Amount required";
		document.getElementById("currencyConverter:calculatedAmount").value="";
		return false;
	}	

	else if(!exp1.test(amount))
	{
		showDiv(document.getElementById("tr_cErrorMsg"));
		document.getElementById("td_cErrorMsg").innerHTML="*Enter valid amount";
		document.getElementById("currencyConverter:calculatedAmount").value="";
		return false;
	}
	else
	{
		hideDiv(document.getElementById("tr_cErrorMsg"));
		document.getElementById("td_cErrorMsg").innerHTML="";
		return true;
	}
}

function currency_Reset()
{
	document.getElementById("currencyConverter:amount").value="";
	document.getElementById("currencyConverter:calculatedAmount").value="";
	document.getElementById("currencyConverter:currencyFrom").value="";
	document.getElementById("currencyConverter:currencyTo").value="";
	hideDiv(document.getElementById("tr_cErrorMsg"));
	document.getElementById("td_cErrorMsg").innerHTML=""
	document.getElementById("currencyConverter:currencyFrom").focus();
}
// end of Currency Converter

/**********************************************************************************************************************/




/*====================================================================================================================
									Auther Nikhil Patil
									Script file for measurementCalculator.jsp
====================================================================================================================*/
//this function compute result of measurement conversion
function calculateMeasurement()
{
	var factor = document.getElementById('measurementCalculator:factor').value;
	var inputdata = document.getElementById('measurementCalculator:inputdata').value;
	var from= document.getElementById('measurementCalculator:inputFieldFrom').value;

	var to= document.getElementById('measurementCalculator:inputFieldTo').value;

	var result = inputdata*factor ;
	
	/*=============Code which round result to 2 digits============*/
	var decimals = 2; // The number of decimal places to round to
	var resultOne = result * Math.pow(10, decimals);
    var resultTwo = Math.round(resultOne);
    var resultThree = resultTwo / Math.pow(10, decimals);
    result = resultThree ;
	/*===============================*/
	
	if(result != 0)
	{
		document.getElementById('measurementCalculator:result').value = result;

		var obj = document.getElementById('measurementCalculator:resulttext')
			obj.innerHTML = "Conversion : " + inputdata + " " + from + " = " + result + " " + to;
	}
	else
	{
		result = 0;
		document.getElementById('measurementCalculator:result').value = result;
	}
	
}

//this function check for fraction number upto 2 digits and only numbers
function onlyNumber()
{
	var exp = /^[0-9]*[.]?[0-9]{1,2}$/;
	var factor = document.getElementById('measurementCalculator:factor').value;
	var inputdata = document.getElementById('measurementCalculator:inputdata').value;
	
	var booleanFactor=exp.test(factor);
	var booleanInputData=exp.test(inputdata);
	
	var errorObj = document.getElementById('errormsg');
	var errorString ;
	
	/*if(!booleanFactor)
	{	
		if(factor == "")
			errorString = "Factor Field should not be Empty";
		else
			errorString = "Enter Valid Number upto 2 decimal places";
	
		errorObj.innerHTML = errorString;
		document.getElementById('measurementCalculator:result').value="";
		document.getElementById("measurementCalculator:factor").focus();
		return false;
	}*/
	if(!booleanInputData)
	{
		if(inputdata == "")
			errorString = "Input Data Field should not be Empty";
		else
			errorString = "Enter Valid Number upto 2 decimal places";
		
		errorObj.innerHTML = errorString;
		document.getElementById('measurementCalculator:result').value="";
		document.getElementById('measurementCalculator:inputdata').focus();
		return false;
	}
	else
	{
		errorObj.innerHTML = "";
		calculateMeasurement();
		return true;
	}
}

//Reset all fields of form measurementCalculator
function resetMeasurementCalculator()
{
	document.getElementById('measurementCalculator:factor').value = "";
	document.getElementById('measurementCalculator:result').value= "";
	document.getElementById('measurementCalculator:inputdata').value = "";
	
	var divErrorObj = document.getElementById('errormsg');
	divErrorObj.innerHTML = "";
}



/*==================================================================================================================
									Ajax used for measurementCalculator.jsp
==================================================================================================================*/

/*url is the url-pattern name of servlet*/
function getConversionFactor(contextPath)
{
	
	//var listValue = document.getElementById('measurementCalculator:measurement').value;
	var listValueFrom = document.getElementById('measurementCalculator:measurementfrom').value;
	var listValueTo = document.getElementById('measurementCalculator:measurementto').value;


	var divObj = document.getElementById('conversionId');
	divObj.innerHTML = listValueFrom+"-"+listValueTo;
	
	var factorObj = document.getElementById('measurementCalculator:factor');

	//var url = contextPath+"/faces/getfactor?listValue="+listValue;
	var urlFromTo = contextPath+"/faces/getfactor?valueFromTo="+listValueFrom+"-"+listValueTo;

	//invokeMesFactor(url,"measurementCalculator:factor");	
	invokeMesFactor(urlFromTo,"measurementCalculator:factor");	
	
}

function getSelectList(contextPath)
{

		var f = document.forms['measurementCalculator'];
	
		var unitRadioValue = null;

		for(var i=0;i<2;i++)
		{
			if(f.elements['measurementCalculator:unitradio'][i].checked==true)
			{ 
				var value = f.elements['measurementCalculator:unitradio'][i].value;
				unitRadioValue=value;
			
			}
		}
		
		

			var url = contextPath+"/faces/getMeasurementList?unitRadioValue="+unitRadioValue;

			var http = getHTTPObject(); 
				http.open("GET",url,true);
				// set "Request-Ajax" header for purpose of url rewriting to identify whether its a ajax request or normal request.
				http.setRequestHeader("Request-Ajax", "XMLHttpRequest");     
				http.onreadystatechange = handleHttpResponse;   
				http.send(null);

			function getHTTPObject() 
			{
			  var xmlHttp;
			  try
			  {
				  // Firefox, Opera 8.0+, Safari
					  xmlHttp=new XMLHttpRequest();
			   }
			 catch (e)
				{
				  // Internet Explorer
				  try
					  {
						xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
					  }

				  catch (e)
					   {
					   try
						{
							  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
						}
					  catch (e)
						{
							  alert("Your browser does not support AJAX!");
							  xmlHttp=false;
						}
					 }
				}

			 return xmlHttp;

			}

			function handleHttpResponse() {

				if (http.readyState == 4) {
					   results = http.responseText;

					   var fromObj = document.getElementById('measurementCalculator:measurementfrom');
					   var toObj = document.getElementById('measurementCalculator:measurementto');
					  
							   if(unitRadioValue=="L")
								{
							   
							   
								   fromObj.value=results;

								}
								else{
								if(unitRadioValue="W")
									{
									  
									toObj.value=results;
									 
								}
						}
							processComponentResponse(results,fromObj);
							processComponentResponse(results,toObj);
					}
				}

}


// Invoke
function invokeMesFactor()
{
	   
    if(!arguments[0])
	return;

	if(!arguments[1])
	return;
		var ajax = new ajaxObject();
	ajax.url(arguments[0]+"&div_id="+arguments[1])
	
	ajax.callbackHandler("callbackFactor")
	ajax.execute();
}

function invokeMesFactorNew(url)
{
	alert(url);
	   
if(!arguments[0])
	return;

	if(!arguments[1])
	return;
		var ajax = new ajaxObject();
	ajax.url(arguments[0]+"&div_id="+arguments[1])
	ajax.url(url);
	ajax.callbackHandler("callbackFactor")
	ajax.execute();
}

function callbackFactor(res,headers)
{
	
	
	 res = unescape(res);
	
	 //we must have to trim the id as server append some extra spaces while generating response
	 var factorId = trim(ajax.responseHeader(headers).get("factorHeader"));
	 if(!factorId)
	{
	 factorId=trim(ajax.responseHeader(headers).get("Factorheader"));
	 }
	 var mesureFrom = trim(ajax.responseHeader(headers).get("mesureFrom"));
	 if(!mesureFrom)
	{
	 mesureFrom = trim(ajax.responseHeader(headers).get("Mesurefrom"));
	 }
	 var mesureTo = trim(ajax.responseHeader(headers).get("mesureTo"));
	if(!mesureTo)
	{
	mesureTo = trim(ajax.responseHeader(headers).get("Mesureto"));
	}
	
	try
	{
		// var factorObject= document.getElementById('measurementCalculator:factor');
		var factorObject = document.getElementById(factorId);
		var inputFieldFrom = document.getElementById('measurementCalculator:inputFieldFrom');
		var inputFieldTo = document.getElementById('measurementCalculator:inputFieldTo');

	    if(inputFieldFrom != null)
	    {
	         inputFieldFrom.value = mesureFrom;
	    }
	    
	    if(inputFieldTo != null)
	    {
	         inputFieldTo.value = mesureTo;
	    }
	    
	    if( factorObject != null ){
			  factorObject.value = res;
		 }
	}
	catch(Exception)
	{
		alert(Exception);
	}
}



/*====================================================================================================================
									Auther Nikhil Patil
									Script file for netSalaryCalculation.jsp
====================================================================================================================*/

//This function check for input field sould be number and must not be empty
//and fraction upto 2 digits are allowed
var roudedsalary ;
var roudedDeduction;
function grossTotal()
{
	var exp = /^[0-9]*[.]?[0-9]{1,2}$/;
	
	 /***fields for gross total calculation***/
	 
	var basic = document.getElementById('netSalaryCalculator:basic').value;
	var hra = document.getElementById('netSalaryCalculator:hra').value;
	//var firstvalue = document.getElementById('firstvalue').value;
	var firstbasicpercent = document.getElementById('firstbasic').checked;
	var convenience = document.getElementById('netSalaryCalculator:convenience').value;
	var medical = document.getElementById('netSalaryCalculator:medical').value;
	var firstothers = document.getElementById('netSalaryCalculator:firstothers').value;
	
	/*to display error using innerhtml*/
	var errorObj = document.getElementById('errormsg');
	var errorString ;
	
	if(!exp.test(basic))
	{
		if(basic == "")
			errorString = "Basic value should not be empty";
		else
			errorString = "Basic value should be valid number upto 2 decimal places";
			
		errorObj.innerHTML = errorString;
		document.getElementById('netSalaryCalculator:grosstotal').value = 0;
		document.getElementById('netSalaryCalculator:basic').focus();
		return false;
	}
	else if(!exp.test(hra))
	{
		if(hra == "")
			errorString = "HRA value should not be empty";
		else
			errorString = "HRA value should be valid number upto 2 decimal places";
		
		errorObj.innerHTML = errorString;
		document.getElementById('netSalaryCalculator:grosstotal').value = 0;
		document.getElementById('netSalaryCalculator:hra').focus();
		return false;
	}
	else if(!exp.test(convenience))
	{
		if(convenience == "")
			errorString = "Convenience value should not be empty";
		else
			errorString = "Convenience value should be valid number upto 2 decimal places";
			
		errorObj.innerHTML = errorString;
		document.getElementById('netSalaryCalculator:grosstotal').value = 0;
		document.getElementById('netSalaryCalculator:convenience').focus();
		return false;
	}
	else if(!exp.test(medical))
	{
		if(medical == "")
			errorString = "Medical value should not be empty";
		else
			errorString = "Medical value should be valid number upto 2 decimal places";
			
		errorObj.innerHTML = errorString;
		document.getElementById('netSalaryCalculator:grosstotal').value = 0;
		document.getElementById('netSalaryCalculator:medical').focus();
		return false;
	}
	else if(!exp.test(firstothers))
	{
		if(firstothers == "")
			errorString = "Others value in salary should not be empty";
		else
			errorString = "Others value should be valid number upto 2 decimal places";
			
		errorObj.innerHTML = errorString;
		document.getElementById('netSalaryCalculator:grosstotal').value = 0;
		document.getElementById('netSalaryCalculator:firstothers').focus();
		return false;
	}
	else
	{	
		errorString = "";
		errorObj.innerHTML = errorString;
		if(firstbasicpercent)	
		{
				hra = basic * (hra/100);
		}
		salary = parseFloat(basic)+parseFloat(hra)+parseFloat(convenience)+parseFloat(medical)+parseFloat(firstothers);
		roudedsalary = roundFloatValue(salary);
		document.getElementById('netSalaryCalculator:grosstotal').value = roudedsalary;
		return true;
		/*IMP ==== instead of 'return true' call totalDeduction()*/
		//totalDeduction();
	}	
	
		
}

//for calculation of gross salary
function totalDeduction()
{	
	var exp = /^[0-9]*[.]?[0-9]{1,2}$/;
	/***fields for deduction calculation***/ 
	
	var basic = document.getElementById('netSalaryCalculator:basic').value;
	var tds = document.getElementById('netSalaryCalculator:tds').value;
	//var secondvalue = document.getElementById('secondvalue').value;
	var secondbasicpercent = document.getElementById('secondbasic').checked;
	var advance = document.getElementById('netSalaryCalculator:advance').value;
	var secondothers = document.getElementById('netSalaryCalculator:secondothers').value;
	var totaldeduction;
	/*to display error*/
	var errorObj = document.getElementById('errormsg');
	var errorString ;
	
	
	if(!exp.test(tds))
	{
		if(tds == "")
			errorString = "TDS value should not be empty";
		else
			errorString = "TDS value should be valid number upto 2 decimal places";
			
		errorObj.innerHTML = errorString;
		document.getElementById('netSalaryCalculator:totaldeduction').value = 0;
		document.getElementById('netSalaryCalculator:tds').focus();
		return false;
	}
	else if(!exp.test(advance))
	{
		if(advance == "")
			errorString = "Advanced value should not be empty";
		else
			errorString = "Advanced value should be valid number upto 2 decimal places";
			
		errorObj.innerHTML = errorString;
		document.getElementById('netSalaryCalculator:totaldeduction').value = 0;
		document.getElementById('netSalaryCalculator:advance').focus();
		return false;
	}
	else if(!exp.test(secondothers))
	{
		if(secondothers == "")
			errorString = "Others value in deduction should not be empty";
		else
			errorString = "Others value in deduction should be valid number upto 2 decimal places";
			
		errorObj.innerHTML = errorString;
		document.getElementById('netSalaryCalculator:totaldeduction').value = 0;
		document.getElementById('netSalaryCalculator:secondothers').focus();
		return false;
	}	
	else
	{	
		errorString = "";
		errorObj.innerHTML = errorString;
		if(secondbasicpercent)	
		{
				tds = basic * (tds/100);
		}
		totaldeduction = parseFloat(tds)+parseFloat(advance)+parseFloat(secondothers);
		roudedDeduction = roundFloatValue(totaldeduction);
		document.getElementById('netSalaryCalculator:totaldeduction').value = roudedDeduction;
		return true;
		/*IMP ==== instead of 'return true' call netSalary()*/
		//netSalary();
	}	
}


//function to calculate net salary
function netSalary()
{ 
	var check = grossTotal();
	
	if(check)
	{
		var deducCheck = totalDeduction();
		if(deducCheck)
		{
			var netSal =  roudedsalary - roudedDeduction ;
			//roundNetSalary = roundFloatValue(netSalary)
		
			document.getElementById('netSalaryCalculator:netsal').value = netSal;
			document.getElementById('netSalaryCalculator:basic').focus();	
		}
	}
}

//Function to round the double value in 2 desimal float
function roundFloatValue(result)
{
	var decimals = 2; // The number of decimal places to round to
	var resultOne = result * Math.pow(10, decimals);
    var resultTwo = Math.round(resultOne);
    var resultThree = resultTwo / Math.pow(10, decimals);
	return  resultThree ;
}

function resetAll()
{
	document.getElementById('netSalaryCalculator:basic').value = "";
	document.getElementById('netSalaryCalculator:hra').value = "";
	document.getElementById('netSalaryCalculator:convenience').value = "";
	document.getElementById('netSalaryCalculator:medical').value = "";
	document.getElementById('netSalaryCalculator:firstothers').value ="";
	
	var errObj = document.getElementById('errormsg');
	errObj.innerHTML = "";
	
	document.getElementById('netSalaryCalculator:tds').value = "";
	document.getElementById('netSalaryCalculator:advance').value = "";
	document.getElementById('netSalaryCalculator:secondothers').value = "";
	
	document.getElementById('netSalaryCalculator:grosstotal').value = "";
	document.getElementById('netSalaryCalculator:totaldeduction').value = "" ;
	document.getElementById('netSalaryCalculator:netsal').value = "";
}


	  function NumberKeyOnly(evt)
{

  var charCode = (evt.which) ? evt.which : evt.keyCode
  if ((charCode > 31) && (charCode < 46 || charCode > 57))
	{
	  	alert("Please enter numeric value only");
	  	
  		return false;
	}
  return true;

}

