// JavaScript Document

nextfield = "Product1"; // name of first box on page
netscape = "";
ver = navigator.appVersion; len = ver.length;
for(iln = 0; iln < len; iln++) if (ver.charAt(iln) == "(") break;
netscape = (ver.charAt(iln+1).toUpperCase() != "C");

function keyDown(DnEvents) { // handles keypress
// determines whether Netscape or Internet Explorer
k = (netscape) ? DnEvents.which : window.event.keyCode;
if (k == 13) { // enter key pressed
if (nextfield == 'done') return true; // submit, we finished all fields
else { // we're not done yet, send focus to next box
eval('document.ProfitMarginMarkupForm.' + nextfield + '.focus()');
return false;
      }
   }
}
document.onkeydown = keyDown; // work together to analyze keystrokes
if (netscape) document.captureEvents(Event.KEYDOWN|Event.KEYUP);


function SelectFieldOnFocus(thisfield) { 
	eval('document.ProfitMarginMarkupForm.' + thisfield + '.select()');
	return false;
}


function calculatePMM(form){
	
  var i=0;
  var wTotalQuantity = 0;
  var wTotalSellingVal = 0;
  var wTotalProfit = 0;
  var wTotalPurchVal = 0;
  var wAvgPP = 0;
  var wAvgSP = 0;
  var wAvgMP = 0;
  var wAvgPM = 0;
  var wTitleAvg = "";
  
  
  wProd1 = form.Product1.value;
  wQ1 = (form.Quantity1.value != '') ? eval(form.Quantity1.value) : 0;
  wPP1 = (form.PurchasePrice1.value != '') ? eval(form.PurchasePrice1.value) : 0;
  wPM1 = (form.ProfitMargin1.value != '') ? eval(form.ProfitMargin1.value) : 0;  
  
  wSP1 = (wPP1/(1 - (wPM1/100)));
  wP1 = (wSP1 - wPP1)*wQ1;
  wMP1 = ((wSP1 - wPP1)*100)/wPP1;
  
  
  
  if ((wPP1 > 0) && (wSP1 > 0))
  	{
		
	document.getElementById('Profit1').innerHTML = "$ " + formatNumber(wP1,0,',','','','','-','');
	document.getElementById('MarkupPercent1').innerHTML = formatNumber(wMP1,1,',','.','','','-','') + " %";
	document.getElementById('SellingPrice1').innerHTML = "$ " + formatNumber(wSP1,2,',','.','','','-','');
	
	i = i+1;
	wTotalProfit = wTotalProfit + wP1;
	wTotalQuantity = wTotalQuantity + wQ1;
	wTotalPurchVal = wTotalPurchVal + (wPP1*wQ1);
	wTotalSellingVal = wTotalSellingVal + (wSP1*wQ1);

	}
  else
  	{
	document.getElementById('Profit1').innerHTML = "$ 0";
	document.getElementById('MarkupPercent1').innerHTML = "0.0 %";
	document.getElementById('SellingPrice1').innerHTML = "$ 0.00";
	}
	
  
  wProd2 = form.Product2.value;
  wQ2 = (form.Quantity2.value != '') ? eval(form.Quantity2.value) : 0;
  wPP2 = (form.PurchasePrice2.value != '') ? eval(form.PurchasePrice2.value) : 0;
  wPM2 = (form.ProfitMargin2.value != '') ? eval(form.ProfitMargin2.value) : 0;  
  
  wSP2 = (wPP2/(1 - (wPM2/100)));
  wP2 = (wSP2 - wPP2)*wQ2;
  wMP2 = ((wSP2 - wPP2)*100)/wPP2;
  
  if ((wPP2 > 0) && (wSP2 > 0))
  	{
	document.getElementById('Profit2').innerHTML = "$ " + formatNumber(wP2,0,',','','','','-','');
	document.getElementById('MarkupPercent2').innerHTML = formatNumber(wMP2,1,',','.','','','-','') + " %";
	document.getElementById('SellingPrice2').innerHTML = "$ " + formatNumber(wSP2,2,',','.','','','-','');
	
	i = i+1;
	wTotalProfit = wTotalProfit + wP2;
	wTotalQuantity = wTotalQuantity + wQ2;
	wTotalPurchVal = wTotalPurchVal + (wPP2*wQ2);
	wTotalSellingVal = wTotalSellingVal + (wSP2*wQ2);

	}
  else
  	{
	document.getElementById('Profit2').innerHTML = "$ 0";
	document.getElementById('MarkupPercent2').innerHTML = "0.0 %";
	document.getElementById('SellingPrice2').innerHTML = "$ 0.00";
	}
	
  
  wProd3 = form.Product3.value;
  wQ3 = (form.Quantity3.value != '') ? eval(form.Quantity3.value) : 0;
  wPP3 = (form.PurchasePrice3.value != '') ? eval(form.PurchasePrice3.value) : 0;
  wPM3 = (form.ProfitMargin3.value != '') ? eval(form.ProfitMargin3.value) : 0;  
  
  wSP3 = (wPP3/(1 - (wPM3/100)));
  wP3 = (wSP3 - wPP3)*wQ3;
  wMP3 = ((wSP3 - wPP3)*100)/wPP3;
  
  
  if ((wPP3 > 0) && (wSP3 > 0))
  	{
		
	document.getElementById('Profit3').innerHTML = "$ " + formatNumber(wP3,0,',','','','','-','');
	document.getElementById('MarkupPercent3').innerHTML = formatNumber(wMP3,1,',','.','','','-','') + " %";
	document.getElementById('SellingPrice3').innerHTML = "$ " + formatNumber(wSP3,2,',','.','','','-','');
	
	i = i+1;
	wTotalProfit = wTotalProfit + wP3;
	wTotalQuantity = wTotalQuantity + wQ3;
	wTotalPurchVal = wTotalPurchVal + (wPP3*wQ3);
	wTotalSellingVal = wTotalSellingVal + (wSP3*wQ3);

	}
  else
  	{
	document.getElementById('Profit3').innerHTML = "$ 0";
	document.getElementById('MarkupPercent3').innerHTML = "0.0 %";
	document.getElementById('SellingPrice3').innerHTML = "$ 0.00";
	}
  
  
  wProd4 = form.Product4.value;
  wQ4 = (form.Quantity4.value != '') ? eval(form.Quantity4.value) : 0;
  wPP4 = (form.PurchasePrice4.value != '') ? eval(form.PurchasePrice4.value) : 0;
  wPM4 = (form.ProfitMargin4.value != '') ? eval(form.ProfitMargin4.value) : 0;  
  
  wSP4 = (wPP4/(1 - (wPM4/100)));
  wP4 = (wSP4 - wPP4)*wQ4;
  wMP4 = ((wSP4 - wPP4)*100)/wPP4;
  
  
  if ((wPP4 > 0) && (wSP4 > 0))
  	{
		
	document.getElementById('Profit4').innerHTML = "$ " + formatNumber(wP4,0,',','','','','-','');
	document.getElementById('MarkupPercent4').innerHTML = formatNumber(wMP4,1,',','.','','','-','') + " %";
	document.getElementById('SellingPrice4').innerHTML = "$ " + formatNumber(wSP4,2,',','.','','','-','');
	
	i = i+1;
	wTotalProfit = wTotalProfit + wP4;
	wTotalQuantity = wTotalQuantity + wQ4;
	wTotalPurchVal = wTotalPurchVal + (wPP4*wQ4);
	wTotalSellingVal = wTotalSellingVal + (wSP4*wQ4);

	}
  else
  	{
	document.getElementById('Profit4').innerHTML = "$ 0";
	document.getElementById('MarkupPercent4').innerHTML = "0.0 %";
	document.getElementById('SellingPrice4').innerHTML = "$ 0.00";
	}
	
  
  wProd5 = form.Product5.value;
  wQ5 = (form.Quantity5.value != '') ? eval(form.Quantity5.value) : 0;
  wPP5 = (form.PurchasePrice5.value != '') ? eval(form.PurchasePrice5.value) : 0;
  wPM5 = (form.ProfitMargin5.value != '') ? eval(form.ProfitMargin5.value) : 0;  
  
  wSP5 = (wPP5/(1 - (wPM5/100)));
  wP5 = (wSP5 - wPP5)*wQ5;
  wMP5 = ((wSP5 - wPP5)*100)/wPP5;
  
  
  if ((wPP5 > 0) && (wSP5 > 0))
  	{
		
	document.getElementById('Profit5').innerHTML = "$ " + formatNumber(wP5,0,',','','','','-','');
	document.getElementById('MarkupPercent5').innerHTML = formatNumber(wMP5,1,',','.','','','-','') + " %";
	document.getElementById('SellingPrice5').innerHTML = "$ " + formatNumber(wSP5,2,',','.','','','-','');
	
	i = i+1;
	wTotalProfit = wTotalProfit + wP5;
	wTotalQuantity = wTotalQuantity + wQ5;
	wTotalPurchVal = wTotalPurchVal + (wPP5*wQ5);
	wTotalSellingVal = wTotalSellingVal + (wSP5*wQ5);

	}
  else
  	{
	document.getElementById('Profit5').innerHTML = "$ 0";
	document.getElementById('MarkupPercent5').innerHTML = "0.0 %";
	document.getElementById('SellingPrice5').innerHTML = "$ 0.00";
	}
	
  
  wProd6 = form.Product6.value;
  wQ6 = (form.Quantity6.value != '') ? eval(form.Quantity6.value) : 0;
  wPP6 = (form.PurchasePrice6.value != '') ? eval(form.PurchasePrice6.value) : 0;
  wPM6 = (form.ProfitMargin6.value != '') ? eval(form.ProfitMargin6.value) : 0;  
  
  wSP6 = (wPP6/(1 - (wPM6/100)));
  wP6 = (wSP6 - wPP6)*wQ6;
  wMP6 = ((wSP6 - wPP6)*100)/wPP6;
  
  
  if ((wPP6 > 0) && (wSP6 > 0))
  	{
		
	document.getElementById('Profit6').innerHTML = "$ " + formatNumber(wP6,0,',','','','','-','');
	document.getElementById('MarkupPercent6').innerHTML = formatNumber(wMP6,1,',','.','','','-','') + " %";
	document.getElementById('SellingPrice6').innerHTML = "$ " + formatNumber(wSP6,2,',','.','','','-','');
	
	i = i+1;
	wTotalProfit = wTotalProfit + wP6;
	wTotalQuantity = wTotalQuantity + wQ6;
	wTotalPurchVal = wTotalPurchVal + (wPP6*wQ6);
	wTotalSellingVal = wTotalSellingVal + (wSP6*wQ6);

	}
  else
  	{
	document.getElementById('Profit6').innerHTML = "$ 0";
	document.getElementById('MarkupPercent6').innerHTML = "0.0 %";
	document.getElementById('SellingPrice6').innerHTML = "$ 0.00";
	}
	
  
  wProd7 = form.Product7.value;
  wQ7 = (form.Quantity7.value != '') ? eval(form.Quantity7.value) : 0;
  wPP7 = (form.PurchasePrice7.value != '') ? eval(form.PurchasePrice7.value) : 0;
  wPM7 = (form.ProfitMargin7.value != '') ? eval(form.ProfitMargin7.value) : 0;  
  
  wSP7 = (wPP7/(1 - (wPM7/100)));
  wP7 = (wSP7 - wPP7)*wQ7;
  wMP7 = ((wSP7 - wPP7)*100)/wPP7;
  
  
  if ((wPP7 > 0) && (wSP7 > 0))
  	{
		
	document.getElementById('Profit7').innerHTML = "$ " + formatNumber(wP7,0,',','','','','-','');
	document.getElementById('MarkupPercent7').innerHTML = formatNumber(wMP7,1,',','.','','','-','') + " %";
	document.getElementById('SellingPrice7').innerHTML = "$ " + formatNumber(wSP7,2,',','.','','','-','');
	
	i = i+1;
	wTotalProfit = wTotalProfit + wP7;
	wTotalQuantity = wTotalQuantity + wQ7;
	wTotalPurchVal = wTotalPurchVal + (wPP7*wQ7);
	wTotalSellingVal = wTotalSellingVal + (wSP7*wQ7);

	}
  else
  	{
	document.getElementById('Profit7').innerHTML = "$ 0";
	document.getElementById('MarkupPercent7').innerHTML = "0.0 %";
	document.getElementById('SellingPrice7').innerHTML = "$ 0.00";
	}
	
  
  wProd8 = form.Product8.value;
  wQ8 = (form.Quantity8.value != '') ? eval(form.Quantity8.value) : 0;
  wPP8 = (form.PurchasePrice8.value != '') ? eval(form.PurchasePrice8.value) : 0;
  wPM8 = (form.ProfitMargin8.value != '') ? eval(form.ProfitMargin8.value) : 0;  
  
  wSP8 = (wPP8/(1 - (wPM8/100)));
  wP8 = (wSP8 - wPP8)*wQ8;
  wMP8 = ((wSP8 - wPP8)*100)/wPP8;
  
  
  if ((wPP8 > 0) && (wSP8 > 0))
  	{
		
	document.getElementById('Profit8').innerHTML = "$ " + formatNumber(wP8,0,',','','','','-','');
	document.getElementById('MarkupPercent8').innerHTML = formatNumber(wMP8,1,',','.','','','-','') + " %";
	document.getElementById('SellingPrice8').innerHTML = "$ " + formatNumber(wSP8,2,',','.','','','-','');
	
	i = i+1;
	wTotalProfit = wTotalProfit + wP8;
	wTotalQuantity = wTotalQuantity + wQ8;
	wTotalPurchVal = wTotalPurchVal + (wPP8*wQ8);
	wTotalSellingVal = wTotalSellingVal + (wSP8*wQ8);

	}
  else
  	{
	document.getElementById('Profit8').innerHTML = "$ 0";
	document.getElementById('MarkupPercent8').innerHTML = "0.0 %";
	document.getElementById('SellingPrice8').innerHTML = "$ 0.00";
	}
	
  
  wProd9 = form.Product9.value;
  wQ9 = (form.Quantity9.value != '') ? eval(form.Quantity9.value) : 0;
  wPP9 = (form.PurchasePrice9.value != '') ? eval(form.PurchasePrice9.value) : 0;
  wPM9 = (form.ProfitMargin9.value != '') ? eval(form.ProfitMargin9.value) : 0;  
  
  wSP9 = (wPP9/(1 - (wPM9/100)));
  wP9 = (wSP9 - wPP9)*wQ9;
  wMP9 = ((wSP9 - wPP9)*100)/wPP9;
  
  
  if ((wPP9 > 0) && (wSP9 > 0))
  	{
		
	document.getElementById('Profit9').innerHTML = "$ " + formatNumber(wP9,0,',','','','','-','');
	document.getElementById('MarkupPercent9').innerHTML = formatNumber(wMP9,1,',','.','','','-','') + " %";
	document.getElementById('SellingPrice9').innerHTML = "$ " + formatNumber(wSP9,2,',','.','','','-','');
	
	i = i+1;
	wTotalProfit = wTotalProfit + wP9;
	wTotalQuantity = wTotalQuantity + wQ9;
	wTotalPurchVal = wTotalPurchVal + (wPP9*wQ9);
	wTotalSellingVal = wTotalSellingVal + (wSP9*wQ9);

	}
  else
  	{
	document.getElementById('Profit9').innerHTML = "$ 0";
	document.getElementById('MarkupPercent9').innerHTML = "0.0 %";
	document.getElementById('SellingPrice9').innerHTML = "$ 0.00";
	}
	
  
  wProd10 = form.Product10.value;
  wQ10 = (form.Quantity10.value != '') ? eval(form.Quantity10.value) : 0;
  wPP10 = (form.PurchasePrice10.value != '') ? eval(form.PurchasePrice10.value) : 0;
  wPM10 = (form.ProfitMargin10.value != '') ? eval(form.ProfitMargin10.value) : 0;  
  
  wSP10 = (wPP10/(1 - (wPM10/100)));
  wP10 = (wSP10 - wPP10)*wQ10;
  wMP10 = ((wSP10 - wPP10)*100)/wPP10;
  
  
  if ((wPP10 > 0) && (wSP10 > 0))
  	{
		
	document.getElementById('Profit10').innerHTML = "$ " + formatNumber(wP10,0,',','','','','-','');
	document.getElementById('MarkupPercent10').innerHTML = formatNumber(wMP10,1,',','.','','','-','') + " %";
	document.getElementById('SellingPrice10').innerHTML = "$ " + formatNumber(wSP10,2,',','.','','','-','');
	
	i = i+1;
	wTotalProfit = wTotalProfit + wP10;
	wTotalQuantity = wTotalQuantity + wQ10;
	wTotalPurchVal = wTotalPurchVal + (wPP10*wQ10);
	wTotalSellingVal = wTotalSellingVal + (wSP10*wQ10);

	}
  else
  	{
	document.getElementById('Profit10').innerHTML = "$ 0";
	document.getElementById('MarkupPercent10').innerHTML = "0.0 %";
	document.getElementById('SellingPrice10').innerHTML = "$ 0.00";
	}
	


  if (wTotalQuantity > 0)
  	{
	wAvgPP = wTotalPurchVal/wTotalQuantity;
	wAvgSP = wTotalSellingVal/wTotalQuantity;
  	wAvgMP = ((wAvgSP-wAvgPP)*100)/wAvgPP;
  	wAvgPM = ((wAvgSP-wAvgPP)*100)/wAvgSP;
	}
  
  
  if ((wAvgPP > 0) && (wAvgSP > 0))
  	{
  	
	if (i==1)
		{
			wTitleAvg = "Average (1 product):";
		}
	else
		{
			wTitleAvg = "Averages (" + i + " products):";
		}
  	
	document.getElementById('AvgProdNo').innerHTML = wTitleAvg;

	document.getElementById('PurchasePriceAvg').innerHTML = "$ " + formatNumber(wAvgPP,2,',','.','','','-','');
	document.getElementById('SellingPriceAvg').innerHTML = "$ " + formatNumber(wAvgSP,2,',','.','','','-','');

	document.getElementById('MarkupPercentAvg').innerHTML = formatNumber(wAvgMP,1,',','.','','','-','') + " %";
	document.getElementById('ProfitMarginAvg').innerHTML = formatNumber(wAvgPM,1,',','.','','','-','') + " %";

	document.getElementById('TotalProfit').innerHTML = "$ " + formatNumber(wTotalProfit,0,',','','','','-','');

	}
  else
  	{
  
  	document.getElementById('AvgProdNo').innerHTML = "Averages (0 products):";
		
	document.getElementById('PurchasePriceAvg').innerHTML = "$ 0.00";
	document.getElementById('SellingPriceAvg').innerHTML = "$ 0.00";
	document.getElementById('MarkupPercentAvg').innerHTML = "0.0 %";
	document.getElementById('ProfitMarginAvg').innerHTML =  "0.0 %";
	document.getElementById('TotalProfit').innerHTML = "$ 0";
	
	}


}



function resetPMM(form){

  form.Product1.value = "";
  form.Quantity1.value = 1;
  form.PurchasePrice1.value = "";
  form.ProfitMargin1.value = "";
  
  document.getElementById('MarkupPercent1').innerHTML = "0.0 %";
  document.getElementById('Profit1').innerHTML = "$ 0";  
  document.getElementById('SellingPrice1').innerHTML = "$ 0.00";

  form.Product2.value = "";
  form.Quantity2.value = 1;
  form.PurchasePrice2.value = "";
  form.ProfitMargin2.value = "";
  
  document.getElementById('MarkupPercent2').innerHTML = "0.0 %";
  document.getElementById('Profit2').innerHTML = "$ 0";  
  document.getElementById('SellingPrice2').innerHTML = "$ 0.00";

  form.Product3.value = "";
  form.Quantity3.value = 1;
  form.PurchasePrice3.value = "";
  form.ProfitMargin3.value = "";
  
  document.getElementById('MarkupPercent3').innerHTML = "0.0 %";
  document.getElementById('Profit3').innerHTML = "$ 0";  
  document.getElementById('SellingPrice3').innerHTML = "$ 0.00";

  form.Product4.value = "";
  form.Quantity4.value = 1;
  form.PurchasePrice4.value = "";
  form.ProfitMargin4.value = "";
  
  document.getElementById('MarkupPercent4').innerHTML = "0.0 %";
  document.getElementById('Profit4').innerHTML = "$ 0";  
  document.getElementById('SellingPrice4').innerHTML = "$ 0.00";

  form.Product5.value = "";
  form.Quantity5.value = 1;
  form.PurchasePrice5.value = "";
  form.ProfitMargin5.value = "";
  
  document.getElementById('MarkupPercent5').innerHTML = "0.0 %";
  document.getElementById('Profit5').innerHTML = "$ 0";  
  document.getElementById('SellingPrice5').innerHTML = "$ 0.00";

  form.Product6.value = "";
  form.Quantity6.value = 1;
  form.PurchasePrice6.value = "";
  form.ProfitMargin6.value = "";
  
  document.getElementById('MarkupPercent6').innerHTML = "0.0 %";
  document.getElementById('Profit6').innerHTML = "$ 0";  
  document.getElementById('SellingPrice6').innerHTML = "$ 0.00";

  form.Product7.value = "";
  form.Quantity7.value = 1;
  form.PurchasePrice7.value = "";
  form.ProfitMargin7.value = "";
  
  document.getElementById('MarkupPercent7').innerHTML = "0.0 %";
  document.getElementById('Profit7').innerHTML = "$ 0";  
  document.getElementById('SellingPrice7').innerHTML = "$ 0.00";

  form.Product8.value = "";
  form.Quantity8.value = 1;
  form.PurchasePrice8.value = "";
  form.ProfitMargin8.value = "";
  
  document.getElementById('MarkupPercent8').innerHTML = "0.0 %";
  document.getElementById('Profit8').innerHTML = "$ 0";  
  document.getElementById('SellingPrice8').innerHTML = "$ 0.00";

  form.Product9.value = "";
  form.Quantity9.value = 1;
  form.PurchasePrice9.value = "";
  form.ProfitMargin9.value = "";
  
  document.getElementById('MarkupPercent9').innerHTML = "0.0 %";
  document.getElementById('Profit9').innerHTML = "$ 0";  
  document.getElementById('SellingPrice9').innerHTML = "$ 0.00";

  form.Product10.value = "";
  form.Quantity10.value = 1;
  form.PurchasePrice10.value = "";
  form.ProfitMargin10.value = "";
  
  document.getElementById('MarkupPercent10').innerHTML = "0.0 %";
  document.getElementById('Profit10').innerHTML = "$ 0";  
  document.getElementById('SellingPrice10').innerHTML = "$ 0.00";

  
  document.getElementById('AvgProdNo').innerHTML = "Averages (0 products):";
  document.getElementById('PurchasePriceAvg').innerHTML = "$ 0.00";
  document.getElementById('SellingPriceAvg').innerHTML = "$ 0.00";  
  
  document.getElementById('MarkupPercentAvg').innerHTML = "0.0 %";
  document.getElementById('TotalProfit').innerHTML = "$ 0";  
  document.getElementById('ProfitMarginAvg').innerHTML = "0.0 %";
  

}


// number formatting function
// copyright Stephen Chapman 24th March 2006, 22nd August 2008
// permission to use this function is granted provided
// that this copyright notice is retained intact
// num=number; dec=nr of decimals; thou=thousand separator; pnt=decimal separator; curr=currency; n1,n2=the symbols to place around the number when the value is negative.

function formatNumber(num,dec,thou,pnt,curr1,curr2,n1,n2) {
	var x = Math.round(num * Math.pow(10,dec));
	if (x >= 0) n1=n2='';
	var y = (''+Math.abs(x)).split('');
	var z = y.length - dec; 
	
	if (z<0) z--; 
	for(var i = z; i < 0; i++) y.unshift('0'); 
	if (z<0) z = 1; 
	y.splice(z, 0, pnt); 
	if(y[0] == pnt) y.unshift('0'); 
	while (z > 3) {z-=3; y.splice(z,0,thou);}
	var r = curr1+n1+y.join('')+n2+curr2;return r;}


