/* The PizzaMaker
 * Copyright 2008 Leo's Pizza, http://www.leospizzakc.com

 * This software is provided as-is, without express or implied warranty.  
 * Permission to use, copy, modify, distribute or sell this software, with or
 * without fee, for any purpose and by any individual or organization, is hereby
 * granted, provided that the above copyright notice and this paragraph appear 
 * in all copies. Distribution as a part of an application or binary must
 * include the above copyright notice in the documentation and/or other
 * materials provided with the application or distribution.
 
 * Read more about the above license here:
 * http://www.opensource.org/licenses/mit-license.php
 */

var visiblediv = "pizzas";

function displayhide (div) {
document.getElementById(visiblediv).style.display = "none";
document.getElementById(div).style.display = "block";
visiblediv = div;
}

function roundNumber(num, dec) {
	var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
	return result;
} 

function clearotherspec(type) {
if (type != "sco") {
	document.getElementById("sco").checked = false;
}
if (type != "sv") {
	document.getElementById("sv").checked = false;
}
if (type != "sm") {
	document.getElementById("sm").checked = false;
}
if (type != "sd") {
	document.getElementById("sd").checked = false;
}
}

function clearothersize(type) {
if (type != "pse") {
	document.getElementById("pse").checked = false;
}
if (type != "pss") {
	document.getElementById("pss").checked = false;
}
if (type != "psm") {
	document.getElementById("psm").checked = false;
}
if (type != "psl") {
	document.getElementById("psl").checked = false;
}
}

function enablecheck(item) {
if (document.getElementById(item).checked) {
	item = "x" + item;
	document.getElementById(item).disabled = false;
}
else {
	item = "x" + item;
	document.getElementById(item).checked = false;
	document.getElementById(item).disabled = true;
}
}

function initingred() {
document.getElementById("im").checked = false;
document.getElementById("xim").checked = false;
document.getElementById("xim").disabled = true;
document.getElementById("ibo").checked = false;
document.getElementById("xibo").checked = false;
document.getElementById("xibo").disabled = true;
document.getElementById("igo").checked = false;
document.getElementById("xigo").checked = false;
document.getElementById("xigo").disabled = true;
document.getElementById("io").checked = false;
document.getElementById("xio").checked = false;
document.getElementById("xio").disabled = true;
document.getElementById("igp").checked = false;
document.getElementById("xigp").checked = false;
document.getElementById("xigp").disabled = true;
document.getElementById("idt").checked = false;
document.getElementById("xidt").checked = false;
document.getElementById("xidt").disabled = true;
document.getElementById("ih").checked = false;
document.getElementById("xih").checked = false;
document.getElementById("xih").disabled = true;
document.getElementById("iis").checked = false;
document.getElementById("xiis").checked = false;
document.getElementById("xiis").disabled = true;
document.getElementById("icb").checked = false;
document.getElementById("xicb").checked = false;
document.getElementById("xicb").disabled = true;
document.getElementById("ib").checked = false;
document.getElementById("xib").checked = false;
document.getElementById("xib").disabled = true;
document.getElementById("ipep").checked = false;
document.getElementById("xipep").checked = false;
document.getElementById("xipep").disabled = true;
document.getElementById("ipin").checked = false;
document.getElementById("xipin").checked = false;
document.getElementById("xipin").disabled = true;
document.getElementById("iart").checked = false;
document.getElementById("xiart").checked = false;
document.getElementById("xiart").disabled = true;
document.getElementById("ij").checked = false;
document.getElementById("xij").checked = false;
document.getElementById("xij").disabled = true;
document.getElementById("ianch").checked = false;
document.getElementById("xianch").checked = false;
document.getElementById("xianch").disabled = true;
document.getElementById("is").checked = false;
document.getElementById("xis").checked = false;
document.getElementById("xis").disabled = true;
document.getElementById("imb").checked = false;
document.getElementById("ximb").checked = false;
document.getElementById("ximb").disabled = true;
}

function initspec() {
document.getElementById("sco").checked = false;
document.getElementById("sv").checked = false;
document.getElementById("sm").checked = false;
document.getElementById("sd").checked = false;
}

function initialize() {
initingred();
initspec();
document.getElementById("pse").checked = false;
document.getElementById("pss").checked = false;
document.getElementById("psm").checked = false;
document.getElementById("psl").checked = false;
document.getElementById("xchz").checked = false;
document.getElementById("xs").checked = false;
document.getElementById("xcrisp").checked = false;

document.getElementById("issand").value = 0;
document.getElementById("issando").checked = false;
document.getElementById("issandao").checked = false;
document.getElementById("ssand").value = 0;
document.getElementById("ssando").checked = false;
document.getElementById("ssandao").checked = false;
document.getElementById("msand").value = 0;
document.getElementById("msando").checked = false;
document.getElementById("msandao").checked = false;

document.getElementById("ss").value = 0;
document.getElementById("ssxc").checked = false;
document.getElementById("sssh").checked = false;
document.getElementById("ls").value = 0;
document.getElementById("lsxc").checked = false;
document.getElementById("lssh").checked = false;

document.getElementById("fr").value = 0;
document.getElementById("fl").value = 0;
document.getElementById("fp").value = 0;
document.getElementById("rr").value = 0;
document.getElementById("rl").value = 0;
document.getElementById("cpr").value = 0;
document.getElementById("cp6").value = 0;
document.getElementById("bpwr").value = 0;
document.getElementById("bpw6").value = 0;
document.getElementById("bpr").value = 0;
document.getElementById("bp6").value = 0;
document.getElementById("wine").value = 0;
document.getElementById("dome").value = 0;
document.getElementById("dom6").value = 0;
document.getElementById("impe").value = 0;
document.getElementById("imp6").value = 0;
document.getElementById("bse").value = 0;
document.getElementById("bs6").value = 0;
document.getElementById("bbe").value = 0;
document.getElementById("bb6").value = 0;
document.getElementById("heine").value = 0;
document.getElementById("hein6").value = 0;

document.getElementById("pg").value = 0;
document.getElementById("pb").value = 0;
document.getElementById("pc").value = 0;
document.getElementById("rb").value = 0;
document.getElementById("dp").value = 0;
document.getElementById("dq").value = 0;
document.getElementById("dc").value = 0;

document.getElementById("total").value = "$0.00";
}

function pizzatotal() {
var total = 0;
var size;

/* get pizza size */
if (document.getElementById("pse").checked == true) {
	size = 0;
}
else if (document.getElementById("pss").checked == true) {
	size = 1;
}
else if (document.getElementById("psm").checked == true) {
	size = 2;
}
else if (document.getElementById("psl").checked == true) {
	size = 3;
}
else {
	return 0;
}

/* figure out what's on it, and apply the price */
if (document.getElementById("sco").checked == true) {
	if (size == 0) {
		total += 3.35;
	}
	else if (size == 1) {
		total += 8.40;
	}
	else if (size == 2) {
		total += 11.50;
	}
	else {
		total += 14.50;
	}
}
else if (document.getElementById("sv").checked == true) {
	if (size == 0) {
		total += 5.90;
	}
	else if (size == 1) {
		total += 13.75;
	}
	else if (size == 2) {
		total += 17.45;
	}
	else {
		total += 21.60;
	}
}
else if (document.getElementById("sm").checked == true) {
	if (size == 0) {
		total += 7.60;
	}
	else if (size == 1) {
		total += 15.30;
	}
	else if (size == 2) {
		total += 19.25;
	}
	else {
		total += 24.20;
	}
}
else if (document.getElementById("sd").checked == true) {
	if (size == 0) {
		total += 6.40;
	}
	else if (size == 1) {
		total += 13.60;
	}
	else if (size == 2) {
		total += 18.10;
	}
	else {
		total += 21.95;
	}
}
else {
	var ingcount = 0;
	
	/* check for normal priced ingredients ingredients */
	if (document.getElementById("im").checked == true) { ingcount++; }
	if (document.getElementById("xim").checked == true) { ingcount++; }
	if (document.getElementById("ibo").checked == true) { ingcount++; }
	if (document.getElementById("xibo").checked == true) { ingcount++; }
	if (document.getElementById("igo").checked == true) { ingcount++; }
	if (document.getElementById("xigo").checked == true) { ingcount++; }
	if (document.getElementById("idt").checked == true) { ingcount++; }
	if (document.getElementById("xidt").checked == true) { ingcount++; }
	if (document.getElementById("ih").checked == true) { ingcount++; }
	if (document.getElementById("xih").checked == true) { ingcount++; }
	if (document.getElementById("iis").checked == true) { ingcount++; }
	if (document.getElementById("xiis").checked == true) { ingcount++; }
	if (document.getElementById("icb").checked == true) { ingcount++; }
	if (document.getElementById("xicb").checked == true) { ingcount++; }
	if (document.getElementById("ib").checked == true) { ingcount++; }
	if (document.getElementById("xib").checked == true) { ingcount++; }
	if (document.getElementById("ipep").checked == true) { ingcount++; }
	if (document.getElementById("xipep").checked == true) { ingcount++; }
	if (document.getElementById("ipin").checked == true) { ingcount++; }
	if (document.getElementById("xipin").checked == true) { ingcount++; }
	if (document.getElementById("ianch").checked == true) { ingcount++; }
	if (document.getElementById("xianch").checked == true) { ingcount++; }

	if (size == 0) {
		total += 3.35;
		total += ingcount * 0.85;
	}
	else if (size == 1) {
		total += 8.40;
		total += ingcount * 1.75;
	}
	else if (size == 2) {
		total += 11.50;
		total += ingcount * 2.05;
	}
	else {
		total += 14.50;
		total += ingcount * 2.35;
	}
	
	if (document.getElementById("io").checked == true) {
		if (size == 0) {
			total += 0.35;
		}
		else if (size == 1) {
			total += 0.80;
		}
		else if (size == 2) {
			total += 1.00;
		}
		else {
			total += 1.15;
		}
	}
	if (document.getElementById("xio").checked == true) {
		if (size == 0) {
			total += 0.35;
		}
		else if (size == 1) {
			total += 0.80;
		}
		else if (size == 2) {
			total += 1.00;
		}
		else {
			total += 1.15;
		}
	}
	if (document.getElementById("igp").checked == true) {
		if (size == 0) {
			total += 0.40;
		}
		else if (size == 1) {
			total += 1.05;
		}
		else if (size == 2) {
			total += 1.25;
		}
		else {
			total += 1.50;
		}
	}
	if (document.getElementById("xigp").checked == true) {
		if (size == 0) {
			total += 0.40;
		}
		else if (size == 1) {
			total += 1.05;
		}
		else if (size == 2) {
			total += 1.25;
		}
		else {
			total += 1.50;
		}
	}
	if (document.getElementById("ij").checked == true) {
		if (size == 0) {
			total += 0.40;
		}
		else if (size == 1) {
			total += 1.05;
		}
		else if (size == 2) {
			total += 1.25;
		}
		else {
			total += 1.50;
		}
	}
	if (document.getElementById("xij").checked == true) {
		if (size == 0) {
			total += 0.40;
		}
		else if (size == 1) {
			total += 1.05;
		}
		else if (size == 2) {
			total += 1.25;
		}
		else {
			total += 1.50;
		}
	}
	if (document.getElementById("is").checked == true) {
		if (size == 0) {
			total += 1.75;
		}
		else if (size == 1) {
			total += 3.30;
		}
		else if (size == 2) {
			total += 4.35;
		}
		else {
			total += 5.25;
		}
	}
	if (document.getElementById("xis").checked == true) {
		if (size == 0) {
			total += 1.75;
		}
		else if (size == 1) {
			total += 3.30;
		}
		else if (size == 2) {
			total += 4.35;
		}
		else {
			total += 5.25;
		}
	}
	if (document.getElementById("imb").checked == true) {
		if (size == 0) {
			total += 1.75;
		}
		else if (size == 1) {
			total += 3.30;
		}
		else if (size == 2) {
			total += 4.35;
		}
		else {
			total += 5.25;
		}
	}
	if (document.getElementById("ximb").checked == true) {
		if (size == 0) {
			total += 1.75;
		}
		else if (size == 1) {
			total += 3.30;
		}
		else if (size == 2) {
			total += 4.35;
		}
		else {
			total += 5.25;
		}
	}
	if (document.getElementById("iart").checked == true) {
		if (size == 0) {
			total += 1.65;
		}
		else if (size == 1) {
			total += 3.30;
		}
		else if (size == 2) {
			total += 3.30;
		}
		else {
			total += 3.30;
		}
	}
	if (document.getElementById("xiart").checked == true) {
		if (size == 0) {
			total += 1.65;
		}
		else if (size == 1) {
			total += 3.30;
		}
		else if (size == 2) {
			total += 3.30;
		}
		else {
			total += 3.30;
		}
	}
}

if (document.getElementById("xchz").checked == true) {
	if (size == 0) {
		total += 0.35;
	}
	else if (size == 1) {
		total += 0.50;
	}
	else if (size == 2) {
		total += 0.75;
	}
	else {
		total += 0.90;
	}
}

return total;
}

function totalup() {
var runningtotal = 0;
var itemtotal = 0;

/* Get pizza total */
runningtotal = pizzatotal();

/* Steak Sandwiches */
itemtotal = 4.95;
if (document.getElementById("issandao").checked == true) {
	itemtotal += 0.50;
}
runningtotal += document.getElementById("issand").value * roundNumber(itemtotal, 2);

/* Sausage Sandwiches */
itemtotal = 4.95;
if (document.getElementById("ssandao").checked == true) {
	itemtotal += 0.50;
}
runningtotal += document.getElementById("ssand").value * roundNumber(itemtotal, 2);

/* Meatball Sandwiches */
itemtotal = 4.95;
if (document.getElementById("msandao").checked == true) {
	itemtotal += 0.50;
}
runningtotal += document.getElementById("msand").value * roundNumber(itemtotal, 2);

/* Small Salads */
itemtotal = 3.55;
if (document.getElementById("ssxc").checked == true) {
	itemtotal += 0.40;
}
if (document.getElementById("sssh").checked == true) {
	itemtotal += 1.10;
}
runningtotal += document.getElementById("ss").value * roundNumber(itemtotal, 2);

/* Large Salads */
itemtotal = 4.95;
if (document.getElementById("lsxc").checked == true) {
	itemtotal += 0.50;
}
if (document.getElementById("lssh").checked == true) {
	itemtotal += 1.05;
}
runningtotal += document.getElementById("ls").value * roundNumber(itemtotal, 2);

/* Drinks */
runningtotal += document.getElementById("fr").value * 0.75;
runningtotal += document.getElementById("fl").value * 1.25;
runningtotal += document.getElementById("fp").value * 3.25;
runningtotal += document.getElementById("rr").value * 0.50;
runningtotal += document.getElementById("rl").value * 0.75;
runningtotal += document.getElementById("cpr").value * 0.65;
runningtotal += document.getElementById("cp6").value * 3.90;
runningtotal += document.getElementById("bpwr").value * 1.00;
runningtotal += document.getElementById("bpw6").value * 4.50;
runningtotal += document.getElementById("bpr").value * 1.25;
runningtotal += document.getElementById("bp6").value * 7.50;
runningtotal += document.getElementById("wine").value * 4.00;
runningtotal += document.getElementById("dome").value * 2.50;
runningtotal += document.getElementById("dom6").value * 8.00;
runningtotal += document.getElementById("impe").value * 3.00;
runningtotal += document.getElementById("imp6").value * 9.00;
runningtotal += document.getElementById("bse").value * 2.50;
runningtotal += document.getElementById("bs6").value * 8.00;
runningtotal += document.getElementById("bbe").value * 3.00;
runningtotal += document.getElementById("bb6").value * 9.00;
runningtotal += document.getElementById("heine").value * 3.00;
runningtotal += document.getElementById("hein6").value * 9.00;
runningtotal += document.getElementById("pg").value * 5.00;
runningtotal += document.getElementById("pb").value * 20.00;
runningtotal += document.getElementById("pc").value * 90.00;
runningtotal += document.getElementById("rb").value * 20.00;
runningtotal += document.getElementById("dp").value * 2.50;
runningtotal += document.getElementById("dq").value * 4.75;
runningtotal += document.getElementById("dc").value * 0.45;

/* Place & Format Total */
runningtotal = roundNumber(runningtotal, 2);
var cents = runningtotal % 1;
/* Fix calculator to show total correctly ($28.50 instead of $28.5) */
cents = roundNumber(cents, 2);
if (cents == 0) {
	runningtotal += ".00";
}
else if ((((cents*10)%1) == 0) && (runningtotal != 0)) {
	runningtotal += "0";
}
document.getElementById("total").value = "$" + runningtotal;
}
