var store_name = "Ward 57";
var account = "ward57@atmospheremanagement.com";
var paypal_rate = (0.029 * 1.029);
var paypal_flat = (0.30 * 1.029);
var donation_each = 10.00;

var items = new Array();

function Item( name, description, sizes, price, nofee, autoship, onsale, backordered, soldout, ship1, ship2, icon, fullsize, popup )
{
	this.name= name;
	this.description= description;
	this.sizes = new Array();
	this.price= price;
	this.nofee= nofee;
	this.autoship= autoship;
	this.onsale= onsale;
	this.backordered= backordered;
	this.soldout= soldout;
	this.ship1= ship1;
	this.ship2= ship2;
	this.icon = icon;
	this.fullsize = fullsize;
	this.popup = popup;

	if( sizes != "" )
	{
		var sizelist = sizes.split(";");
		for (var s=0; s < sizelist.length; s++)
		{
			sizedetails = sizelist[s].split("|");
			this.sizes[ this.sizes.length ] = new ItemSize( sizedetails[0], ( sizedetails.length > 1 ? sizedetails[1] : price ) );
		}
	}
}

function ItemSize( size, price )
{
	this.size = size;
	this.price = price;
}

function LoadOrderForm()
{
	//function AddItem(name, description, sizes, price, nofee, autoship, onsale, backordered, soldout, ship1, ship2, icon, fullsize, popup)

	AddItem("Cash Donation", "", "", 0.00, false, false, false, false, false, 0.00, 0.00, "order_cash_donation.jpg", "When you make a cash donation,\nYOUR shipping address will appear in your PayPal receipt");

	AddItem("50 x 60 Fleece Blanket for *a Patient*", "50 x 60 Fleece Blanket<br/>*** Donation: <span style='color:red;'>For a Patient</span> ***", "", 25.00, false, false, false, false, false, 0.00, 0.00, "order_blanket.jpg", "", "When you purchase a blanket for a patient,\nYOUR shipping address will appear in your PayPal receipt.\n\nHowever, the blanket will be delivered to Walter Reed Ward 57");
	AddItem("50 x 60 Fleece Blanket for *Me*", "50 x 60 Fleece Blanket<br/>*** Purchase: <span style='color:red;'>For Me</span> ***", "", 25.00, false, true, false, false, false, 0.00, 0.00, "order_blanket.jpg", "", "");

//	AddItem("MMA Shorts (Underwear Style)", "", "S;M;L;XL", 55.00, false, true, false, false, false, 0.00, 0.00, "icon_mma_shorts.jpg", "", "");

//	AddItem("Unisex Black Rashgaurd Heavyweight - 6 Color Snake Design", "", "S;M;L;XL;2XL", 65.00, false, true, false, false, false, 0.00, 0.00, "icon_rashgaurd_snake_heavyweight.jpg", "", "");
//	AddItem("Unisex Black Rashgaurd Lightweight - 6 Color Snake Design", "", "S;M;L;XL;2XL", 65.00, false, true, false, false, false, 0.00, 0.00, "icon_rashgaurd_snake_lightweight.jpg", "", "");

	AddItem("Mens Black Long Sleeve T-Shirt - 6 Color Snake Design", "Mens Black Long Sleeve T-Shirt<br/>6 Color Snake Design", "S;M;L;XL;2XL|28.00;3XL|28.00", 25.00, false, true, false, false, false, 0.00, 0.00, "order_t-shirt_snake_design.png", "", "");
	AddItem("Womens Black Long Sleeve T-Shirt - 6 Color Snake Design", "Womens Black Long Sleeve T-Shirt<br/>6 Color Snake Design", "S;M;L;XL", 25.00, false, true, false, false, false, 0.00, 0.00, "order_t-shirt_snake_design.png", "", "");

	AddItem("Mens Black Short Sleeve T-Shirt - Shield and 6 Color Snake Design", "Mens Black Short Sleeve T-Shirt<br/>Shield on Front and 6 Color Snake Design on Back", "S;M;L;XL;2XL", 20.00, false, true, false, false, false, 0.00, 0.00, "order_black_ss_t-shirt_shield_snake.png", "fullsize_black_ss_t-shirt_shield_snake.png", "");
	AddItem("Mens Ash Short Sleeve T-Shirt - Shield and 6 Color Snake Design", "Mens Ash Short Sleeve T-Shirt<br/>Shield on Front and 6 Color Snake Design on Back", "S;M;2XL;3XL", 20.00, false, true, false, false, false, 0.00, 0.00, "order_ash_ss_t-shirt_shield_snake.png", "fullsize_ash_ss_t-shirt_shield_snake.png", "");

// large backordered	AddItem("Mens Black T-Shirt", "", "S;M;L;XL;2XL|22.00;3XL|23.00;4XL|25.00;5XL|25.00", 20.00, false, true, false, false, false, 0.00, 0.00, "order_t-shirt_black_back.png", "", "");
	AddItem("Mens Black T-Shirt - Football Design", "Mens Black T-Shirt<br/>Football Design", "S;M;XL;2XL|22.00;3XL|23.00;4XL|25.00;5XL|25.00", 20.00, false, true, false, false, false, 0.00, 0.00, "order_t-shirt_black_back.png", "", "");
	AddItem("Womens Pink T-Shirt - Football Design", "Womens Pink T-Shirt<br/>Football Design", "S;M;L;XL;2XL|22.00", 20.00, false, true, false, false, false, 0.00, 0.00, "order_t-shirt_pink_back.png", "", "");
	AddItem("Youth Black T-Shirt - Football Design", "Youth Black T-Shirt<br/>Football Design", "S", 20.00, false, true, false, false, false, 0.00, 0.00, "order_t-shirt_black_back.png", "", "");
	AddItem("Youth Pink T-Shirt - Football Design", "Youth Pink T-Shirt<br/>Football Design", "S", 20.00, false, true, false, false, false, 0.00, 0.00, "order_t-shirt_pink_back.png", "", "");
	AddItem("Toddler Black T-Shirt - Football Design", "Toddler Black T-Shirt<br/>Football Design", "T4", 15.00, false, true, false, false, false, 0.00, 0.00, "order_t-shirt_black_back.png", "", "");
	AddItem("Toddler Pink T-Shirt - Football Design", "Toddler Pink T-Shirt<br/>Football Design", "T4", 15.00, false, true, false, false, false, 0.00, 0.00, "order_t-shirt_pink_back.png", "", "");

	AddItem("Black Small Hole Augusta Mesh Football Jersey", "Mesh, Small Hole Augusta Football Jersey", "XL;2XL|37.00;3XL|39.00", 35.00, false, true, false, false, false, 0.00, 0.00, "order_jersey_small-hole_back.png", "", "");
//	AddItem("Black Big Hole Mesh Football Jersey", "L/XL;2XL;3XL", 28.00, false, true, true, false, false, 0.00, 0.00, "icon_jersey.jpg", "", "");

	AddItem("Black Beanie", "", "", 12.00, false, false, false, false, false, 3.00, 0.00, "order_beanie-black.png", "fullsize_beanie-black.png", "");
	AddItem("Gray Beanie", "", "", 12.00, false, false, false, false, false, 3.00, 0.00, "order_beanie-gray.png", "fullsize_beanie-gray.png", "");

	AddItem("Strange Noize Tour 2008 Poster", "", "", 25.00, true, false, false, false, false, 10.00, 0.00, "order_strange_noize_tour_2008.jpg", "", "");
	AddItem("Strange Noize Tour Summer 2007 Poster", "", "", 25.00, true, false, false, false, false, 10.00, 0.00, "order_strange_noize_tour_2007.jpg", "", "");

	var placeholder = document.getElementById("order_form_placeholder");
	if (placeholder != null)
	{
		placeholder.style.display = "none";
	}
}

function OnCash()
{
	OnUpdateItem( 0 );
}

function OnUpdateItem( row )
{
	if( row == 0 )
	{
		var price = Math.round( document.getElementById("cash_price").value * 100 ) / 100;
		UpdateItem( row, "", price/*, PayPalFee(price, false) */);
	}
	else
	{
		var table = document.getElementById("order");
		var tablefields = table.rows[ ( row * 2 ) + 2 ].getElementsByTagName("td");
		var selectfields = tablefields[0].getElementsByTagName("select");
		if( selectfields != null && selectfields.length > 0 )
		{
			UpdateItem( row, items[ row ].sizes[ selectfields[0].selectedIndex ].size, items[ row ].sizes[ selectfields[0].selectedIndex ].price );
		}
	}
}

function UpdateItem( row, size, price )
{
	var buybutton = null;
	var amountfield = null;

	var table = document.getElementById("order");
	var tablefields1 = table.rows[ ( row * 2 ) + 1 ].getElementsByTagName("td");
	var tablefields2 = table.rows[ ( row * 2 ) + 2 ].getElementsByTagName("td");
	var form = tablefields1[3].getElementsByTagName("form")[0];
	var formfields = form.getElementsByTagName("input");

	for( ff = 0; ff < formfields.length; ff++ )
	{
		if( formfields[ff].name == "submit" )
		{
			buybutton = formfields[ff];
		}
		if( formfields[ff].name == "amount" )
		{
			amountfield = formfields[ff];
		}
	}

	if( price == 0 )
	{
		price = items[ row ].price;
	}
	
	var fee = PayPalFee( new Number( price ) + ShippingCost( new Number( price ), items[ row ].autoship ), items[ row ].nofee );
	var cost = new Number( new Number( price ) + new Number( fee ) );
	var itemname = store_name + " - " + items[ row ].name;
	if( size != "" )
	{
		itemname += " [" + size + "]";
	}

	for( ff = 0; ff < formfields.length; ff++ )
	{
		if( formfields[ff].name == "item_name" )
		{
			formfields[ff].value = itemname;
		}
	}

	if( row == 0 )
	{
		document.getElementById("cash_price").value = FormatDollars(price);
	}
	else
	{
		tablefields2[1].innerHTML = "$" + FormatDollars(price);
	}
	tablefields2[2].innerHTML = "$" + FormatDollars(fee);
	tablefields2[3].innerHTML = "$" + FormatDollars(cost);
	amountfield.value = FormatDollars(cost);
	buybutton.alt = itemname + " - $" + FormatDollars(cost);
	buybutton.title = "Add to cart: " + itemname + " - $" + FormatDollars(cost);
}

function ShippingCost(amount, autoship)
{
	var shipping = 0.00;

	if( autoship )
	{
		shipping = 5.00;
	}

	return( shipping );
}

function PayPalFee(amount, nofee)
{
	var fee = 0.00;
	
	if( !nofee)
	{
		fee = ( Math.round( amount * paypal_rate * 100 ) / 100 ) + paypal_flat;
	}

	return( fee );
}

function AddItem(name, description, sizes, price, nofee, autoship, onsale, backordered, soldout, ship1, ship2, icon, fullsize, popup)
{
	if ( description == "" )
	{
		description = name;
	}
	items[ items.length ] = new Item ( name, description, sizes, price, nofee, autoship, onsale, backordered, soldout, ship1, ship2, icon, fullsize, popup );

	var table = document.getElementById("order");
	var row1 = table.insertRow(-1);
	var row2 = table.insertRow(-1);
	var cell_item = null;
	var itemhtml = "";
	var cell_size = null;
	var sizehtml = "&nbsp;";
	if (window.location.search == "?noship")
	{
		autoship = false;
	}

	var fee = PayPalFee( price + ShippingCost( price, autoship), nofee );
	var cost = new Number( new Number( price ) + new Number( fee ) );
	var cost_text = FormatDollars( cost );


	var cash_donation = (price == "0.00");

	var cell_icon = row1.insertCell(-1);
	if (fullsize != "")
	{
		cell_icon.innerHTML = "<a target=\"_blank\" href=\"images/" + fullsize + "\" title=\"" + description + "\"><img border=0 src=\"images/" + icon + "\" alt=\"" + description + "\" /></a>";
	}
	else
	{
		cell_icon.innerHTML = "<img src=\"images/" + icon + "\" alt=\"" + description + "\" />";
	}
	cell_icon.rowSpan = 2;
	cell_icon.height = 96;
	cell_size = row2.insertCell(-1);
	
	cell_item = row1.insertCell(-1);
	cell_item.colSpan = 4;
	cell_item.height = 58;
	cell_item.style.borderBottom = 0;
	itemhtml = "<td style=\"font-size:11pt; font-weight:bold; padding-left:0;\">" + description + "</td>";

	if (cash_donation)
	{
		var cash = document.createElement("INPUT");
		cash.type = "text";
		cash.name = "cash";
		cash.id = "cash_price";
		cash.size = "5";
		cash.value = donation_each;
		cash.onblur = OnCash;

		row2.insertCell(-1).insertBefore(cash, null);
		row2.insertCell(-1);
		row2.insertCell(-1);
	}
	else
	{
		itemhtml += ( backordered ? "<td style=\"font-size:x-small; font-weight:bold; font-style:italic; color:blue; text-align:center;\">back<br/>ordered</td>" : "" );
//		itemhtml += ( soldout ? "<td style=\"font-size:x-small; font-weight:bold; font-style:italic; color:blue; text-align:center;\">sold<br/>out</td>" : "" );
		itemhtml += ( onsale ? "<td style=\"font-weight:bold; font-style:italic; color:red; text-align:center;\">SALE</td>" : "" );
		if( items[ ( table.rows.length - 3 ) / 2 ].sizes.length > 0 )
		{
			sizehtml = "";
			for (var s=0; s < items[ ( table.rows.length - 3 ) / 2 ].sizes.length; s++)
			{
				sizehtml += "<option value='" + FormatDollars( new Number( items[ ( table.rows.length - 3 ) / 2 ].sizes[ s ].price ) ) + "'>" + items[ ( table.rows.length - 3 ) / 2 ].sizes[ s ].size + "</option>";
			}
			sizehtml = "<select onchange='OnUpdateItem(" + ( ( table.rows.length - 3 ) / 2 ).toString() + ")'>" + sizehtml + "</select>";
		}
		row2.insertCell(-1).innerHTML = "$" + FormatDollars(price);
		if( nofee )
		{
			row2.insertCell(-1).innerHTML = "Included";
		}
		else
		{
			row2.insertCell(-1).innerHTML = "$" + FormatDollars( fee );
		}
		row2.insertCell(-1).innerHTML = "$" + cost_text;
	}

	var form = document.createElement("FORM");
	form.name = "_xclick";
	form.target = "paypal";
	form.action = "https://www.paypal.com";
	form.method = "post";
	form.style.margin = "0px";
	form.style.padding = "0px";
	
	var cmd = document.createElement("INPUT");
	cmd.type = "hidden";
	cmd.name = "cmd";
	cmd.value = "_cart";
	form.insertBefore(cmd, null);

	var business = document.createElement("INPUT");
	business.type = "hidden";
	business.name = "business";
	business.value = account;
	form.insertBefore(business, null);

	var currency_code = document.createElement("INPUT");
	currency_code.type = "hidden";
	currency_code.name = "currency_code";
	currency_code.value = "USD";
	form.insertBefore(currency_code, null);

	var encrypted = document.createElement("INPUT");
	encrypted.type = "hidden";
	encrypted.name = "encrypted ";
	encrypted.value = "-----BEGIN PKCS7-----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-----END PKCS7-----";
	form.insertBefore(encrypted , null);

	var item_name = document.createElement("INPUT");
	item_name.type = "hidden";
	item_name.name = "item_name";
	item_name.value = store_name + " - " + name;
	form.insertBefore(item_name, null);

	var amount = document.createElement("INPUT");
	amount.type = "hidden";
	amount.name = "amount";
	amount.value = cost_text;
	form.insertBefore(amount, null);

	var add = document.createElement("INPUT");
	add.type = "hidden";
	add.name = "add";
	add.value = "1";
	form.insertBefore(add, null);

	if (!autoship)
	{
		var add = document.createElement("INPUT");
		add.type = "hidden";
		add.name = "shipping";
		add.value = ship1;
		form.insertBefore(add, null);
	
		var add = document.createElement("INPUT");
		add.type = "hidden";
		add.name = "shipping2";
		add.value = ship2;
		form.insertBefore(add, null);
	}

	var buynow = document.createElement("INPUT");
	buynow.type = "image";
	buynow.name = "submit";
	buynow.disabled = soldout;
	buynow.src = (!soldout ? "images/add_to_cart.gif" : "images/add_to_cart_soldout.gif");
//	buynow.alt = store_name + " - " + name + " - $" + cost_text;
	buynow.title = "Add to cart: " + store_name + " - " + name + " - $" + cost_text;
	buynow.style.border = "0";
	if (popup != "")
	{
		buynow.onclick = function() { alert(popup); };
	}
	form.insertBefore(buynow, null);

	var cell_buynow = row1.insertCell(-1);
	cell_buynow.rowSpan = 2;
	cell_buynow.insertBefore(form, null);

	// icon
	row1.getElementsByTagName("td")[0].style.textAlign = "center";
	row1.getElementsByTagName("td")[0].style.backgroundColor = "white";

	// item
	row1.getElementsByTagName("td")[1].style.textAlign = "left";
	row1.getElementsByTagName("td")[1].style.backgroundColor = "white";

	// size
	row2.getElementsByTagName("td")[0].style.textAlign = "left";
	row2.getElementsByTagName("td")[0].style.backgroundColor = "white";
	
	// price
	row2.getElementsByTagName("td")[1].style.textAlign = "center";
	row2.getElementsByTagName("td")[1].style.backgroundColor = "#eeeeee";
	
	// fee
	row2.getElementsByTagName("td")[2].style.textAlign = "center";
	row2.getElementsByTagName("td")[2].style.backgroundColor = "white";
	
	// total
	row2.getElementsByTagName("td")[3].style.textAlign = "center";
	row2.getElementsByTagName("td")[3].style.backgroundColor = "#eeeeee";
	
	// buy button
	row1.getElementsByTagName("td")[2].style.textAlign = "center";
	row1.getElementsByTagName("td")[2].style.backgroundColor = "white";

	cell_item.innerHTML = "<table><tr>" + itemhtml + "</tr></table>";

	cell_size.innerHTML = sizehtml;

	OnUpdateItem ( ( table.rows.length - 3 ) / 2 );
}

function FormatDollars(amount)
{
	var whole = Math.floor( Math.round( amount * 100 ) / 100 );
	var fraction = Math.round( amount * 100 ) - ( whole * 100 );
	var text = whole.toString();
	text += ".";
	text += Math.floor( fraction / 10 ).toString();
	text += ( fraction - ( Math.floor( fraction / 10 ) * 10 ) ).toString();

	return(text);
}
