<!--
//Copyright © 2002 - 2010 PracticeWEB Ltd
//-----------------------------------------------------------------------------------------------------------------
// Break Even Calculator
//-----------------------------------------------------------------------------------------------------------------


function v_number(number){
var digits="0123456789.£";
if (number=="£") {return false;}
if (number.length==0) {return false;}
for (var i=0;i<number.length;i++){if (digits.indexOf(number.substring(i,i+1))==-1 && number.substring(i,i+1)!="."){return false;}}
if (number<0) {return false;}
return true;
}

function formatCurrency(number){

var decimalPos;
var leftPart = number.toString();
var orgLeftPart = "";
var digitCount = 0;
var digitChar = "";
var decimalPart = "";

decimalPos = leftPart.indexOf(".");
if (decimalPos!==-1) {
decimalPart = leftPart.substring(decimalPos);
leftPart = leftPart.substring(0,decimalPos);
}

decimalPart = decimalPart.substring(0,3);

orgLeftPart = leftPart;
leftPart="";
for (var x=orgLeftPart.length-1;x!=-1;x--) {

digitCount = digitCount + 1;
digitChar = orgLeftPart.substring(x,x+1);
if (digitCount==3) {
digitCount=0;
digitChar = "," + digitChar;
}
leftPart = digitChar + leftPart;

}
if (leftPart.substring(0,1)==",") {leftPart=leftPart.substring(1);}

return("£" + leftPart + decimalPart);

}

function formatNumber(number){

var decimalPos;
var leftPart = number.toString();
var orgLeftPart = "";
var digitCount = 0;
var digitChar = "";
var decimalPart = "";

decimalPos = leftPart.indexOf(".");
if (decimalPos!==-1) {
decimalPart = leftPart.substring(decimalPos);
leftPart = leftPart.substring(0,decimalPos);
}

decimalPart = decimalPart.substring(0,3);

orgLeftPart = leftPart;
leftPart="";
for (var x=orgLeftPart.length-1;x!=-1;x--) {

digitCount = digitCount + 1;
digitChar = orgLeftPart.substring(x,x+1);
if (digitCount==3) {
digitCount=0;
digitChar = "," + digitChar;
}
leftPart = digitChar + leftPart;

}
if (leftPart.substring(0,1)==",") {leftPart=leftPart.substring(1);}

if (leftPart == "In,fin,ity") {leftPart = "No figure available";}

return(leftPart + decimalPart);

}

// ***************************************

function calculateBreakEven() {

var frm=document.forms.frmBreakEvenCalc;
var intA=frm.strInputA.value; // Sales
var intB=frm.strInputB.value; // Cost of Sales
var intF=frm.strInputF.value; // Fixed Expenditure

var errorMessage="";
if (!v_number(intA)) {errorMessage+="Sales,\n";}
if (!v_number(intB)) {errorMessage+="Cost of Sales,\n";}
if (errorMessage.length!=0) {alert("The following entries are incorrect:\n\n"+errorMessage+"\nPlease correct these entries and\ntry again.");return false;}
else if (!v_number(intF)) {alert("Please now enter a figure for Projected Fixed Expenditure.");return false;}

if (parseFloat(intA) < parseFloat(intB)) {alert("For the purposes of this calculator the Cost of Sales cannot be higher than the Sales figure.");return false;}

var intS=0; // Result - Sales Required

intS = (intF * (intA / (intA - intB)));

frm.strResultS.value=formatCurrency(intS);

return false;
}

function checkFields() {
var frm=document.forms.frmBreakEvenCalc;
var intA=frm.strInputA.value // Sales
var intB=frm.strInputB.value // Cost of Sales
var intC=frm.strInputC.value // Fixed Expenditure

var intD=0; // Result - net profit / loss

	if (parseFloat(intA) < parseFloat(intB)) 
	{
		alert("For the purposes of this calculator the Cost of Sales cannot be higher than the Sales figure.");
		frmBreakEvenCalc.strInputB.focus();
	}
	else
	{

		intD = (intA - intB - intC);
		frm.strResultD.value = formatCurrency(intD);
	}
}


//-->
