// JavaScript Document
var items = new Array();
var isMember = false;
var taxrate = 0.095;
var totaltaxable = 0;
var totalnontaxable = 0;
var totalshipping = 0;
var grandtotal = 0;
var counter = 0;
var item;

var first = "";
var last = "";
var address1 = "";
var address2 = "";
var city = "";
var state = "";
var zip = "";
var country = "";
var areacode = "";
var prefix = "";
var number = "";
var email = "";
var errorstring = "";

function validateForm(print)
{
	isError = 0;
	errorstring = validateAddress(this.join);

	if(errorstring == "no error")
	{	
		first = this.join.first.value;
		last = this.join.last.value;
		address1 = this.join.address1.value;
		address2 = this.join.address2.value;
		city = this.join.city.value;
		state = this.join.state.value;
		zip = this.join.zip.value;
		country = this.join.country.value;
		areacode = this.join.areacode.value;
		prefix = this.join.prefix.value;
		number = this.join.number.value;
		email = this.join.email.value;
		
		showOrder();
		
	}
}

function createNewItem(id,  name,  memberprice, nonmemberprice,  shipping, taxable)
{
	items[counter] = new OrderItem(id, name, memberprice, nonmemberprice, shipping, taxable);
	
	counter++;
	
}

function OrderItem(id, name, memberprice, nonmemberprice, shipping, taxable)
{
	this.name = name;
	this.id = id;
	this.quantity = 0;
	this.memberprice = memberprice;
	this.nonmemberprice = nonmemberprice;
	this.shipping = shipping;
	this.taxable = taxable;
}

function viewItems()
{
	if(items.length == 0)
	{
		alert("no items");
	}
	else
	{
		for(var i = 0; i < items.length; i++)
		{
			name = items[i].name;
			id = items[i].id;
			
			document.write('item: ' + name + ' ' + id + '<br>');	
		}
	}
}


//var elements;

function showOrder()
{	
	var totaltaxable = 0;
	var totalnontaxable = 0;
	var totalshipping = 0;
	var grandtotal = 0;
	var isMember = false;
	var foreign = false;
	var showTax = false;
	var length;
	var temp;
	
	if(orderform.memberCheckBox.checked)
	{
		isMember = true;
	}
	
	
	document.write('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">');
	document.write('<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Order Form To Print - San Francisco Traditional Jazz Foundation</title></head>');
	document.write('<body background=#ffffff>');
	document.write('Be assured that the address and payment information you enter below will <b>not</b><br />leave your computer. It is used for only printing the form and it allows us to more easily read the information.<br />');
	document.write('<br /><h2>Your order:</h2>');
	
	if(isMember)
	{
		document.write('You are a member. Member prices have been applied.');
	}
	else
	{
		var index = getItemById("Membership");
		if(index != -1)
		{
			if(items[index].quantity > 0)
			{
				document.write('You are paying for a membership with this order. Member prrices have been applied.');
				isMember = true;
			}
			else
			{
				document.write('You are not a member. Non-member prices have been applied.');
			}
		}
		else
		{
			document.write('You are not a member. Non-member prices have been applied.');
		}
	}
	
	if(country == "United States" ||
	   country == "Canada" ||
	   country == "Mexico")
	{
		document.write('<br /><br />');
	}
	else
	{
		foreign = true;
		document.write('Your shipping charge includes an additional $5 foreign order surcharge.<br /><br />');	
	}
	
	if(country == "United States" && state=="CA")
	{
		showTax == true;	
	}
			
	document.write('<table width="850" cellpadding="2"');
	
	//elements = form.elements;
	var itemname;
	var value; 
	var i;
	var length = items.length;
	for(i = 0; i < items.length; i++)
	{
		item = items[i];
		itemname = item.name;
		quant = items[i].quantity;
	
		if(quant > 0)
		{	 
			 if(isMember == true)
			 {
				  price = Number(item.memberprice); 
			 }
			 else
			 {
				  price = Number(item.nonmemberprice); 
			 }
			 
			 var itemprice = price * quant;
			 
			 taxable = item.taxable;
			 if(taxable && state=="CA" && country=="United States")
			 {
				 totaltaxable = totaltaxable + itemprice; 
			 }
			 else 
			 {
				 totalnontaxable = totalnontaxable + itemprice;
			 }
			 
			 shipping = Number(item.shipping);
			 
			 if(shipping != 0)
			 {
				 var ordershipping = (shipping * quant);
				 totalshipping += shipping; 
			 } 
			 if(item.id != "Donation")
			 {
				 document.write('<tr><td align="left" width="50">' + quant + '</td>');
				 document.write('<td width="200">' + item.id + '</td>');
				 document.write('<td width="400">' + item.name + '</td>');
				 document.write('<td width="100">@ $' + price + '</td>');
				 temp = quant * price;
				 document.write('<td align="right" width="100">$' + temp.toFixed(2) + '</td></tr>');
			 }
			 else
			 {
				document.write('<tr><td width="50">1</td>');
				document.write('<td width="200">' + item.id + '</td>');
				document.write('<td width="400">' + item.name + '</td>');
				document.write('<td width="100">&nbsp;</td>');
				temp = quant * price;
				document.write('<td width="100" align="right">$' + temp.toFixed(2) + '</td></tr>');
				 
			 }
		}
	}
	document.write('</table><table width="850" cellpadding="2">');
	document.write('<tr><td width="750">&nbsp;</td><td align="right">_______</td></tr>');
	if(totaltaxable > 0)
	{	
		var displayTax = taxrate * 100;
		temp = totaltaxable;
		document.write('<tr><td >Taxable Total:</td><td align="right">$' + temp.toFixed(2) + '</td></tr>');
		temp = totaltaxable * taxrate;
		document.write('<tr><td >California Sales Tax: (9.5%)</td><td align="right">$' + temp.toFixed(2) + '</td></tr>');
		
	}
	if(totalnontaxable > 0)
	{
		document.write('<tr><td >Non-taxable Total:</td><td align="right">$' + totalnontaxable.toFixed(2) + '</td></tr>');	
	}
	if(totalshipping > 0)
	{
		if(foreign)
		{
			totalshipping += 5;
		}
		document.write('<tr><td >Shipping:</td><td align="right">$' + totalshipping.toFixed(2) + '</td></tr>');		
	}
	
	document.write('<tr><td >&nbsp;</td><td align="right">_______</td></tr>');
	
	temp = totaltaxable + totalnontaxable + totalshipping + (totaltaxable * taxrate);
	grandtotal = temp.toFixed(2);
	
	document.write('<tr><td >Total:</td><td align="right">$' + grandtotal + '</td></tr></table>');
	
	document.write('<h2>Shipping:</h2>');
	
	// Address and payment info
	document.write(' <table width="850">');
	document.write(' <tr><td width="35%"><div align="left">First/Last Name:</div></td><td align="left">' + first + '&nbsp;' + last + '</td></tr>');
	document.write(' <tr><td><div align="left">Address1:</div></td><td align="left">' + address1 + '</td></tr>');
	document.write('	<tr><td><div align="left">Address2:</div></td><td align="left">' + address2 + '</td></tr>');
	document.write('	<tr><td><div align="left">City, State ZIP:</div></td><td align="left">' + city + ', ' + state + ' ' + zip + '</td></tr>');
	document.write('	<tr><td><div align="left">Country:</div></td><td align="left">' + country + '</td></tr>');
	document.write('	<tr><td><div align="left">Phone:</div></td><td align="left">(' + areacode + ') ' + prefix + '-' + number + '</td></tr>');
	document.write('	<tr><td><div align="left">email:</div></td><td align="left">' + email + '</td></tr>');
	document.write('	<tr><td>&nbsp</td><td>&nbsp;</td></tr>');
	document.write('<tr><td align="left" colspan="3"><h2>Payment:</h2></td></tr>');
	document.write('<tr><td align="left" colspan="3">If paying by check, make it payable to: <b>San Francisco Traditional Jazz Foundation</b><br /><br /></td></tr>');
	document.write('<tr> <td colspan="3" >If paying with a credit card, please fill out all the following credit card information and sign below:<br /><br /></td></tr>');
	document.write('	<tr><td><div align="left">Credit Card Type:</div></td><td><div align="left">');
	document.write('	  <select name="cctype">');
	document.write('	    <option>VISA</option>');
	document.write('	    <option>MasterCard</option>');
	document.write('	    <option>American Express</option>');
	document.write('  	    </select>');
	document.write('  	  </div></td></tr>');
	document.write('	<tr><td><div align="left">Name (as it appears on card):</div></td><td><div align="left">');
	document.write('	  <input type="text" size="60" />');
	document.write('  	  </div></td></tr>');
	document.write('	<tr><td><div align="left">Credit Card Number:</div></td><td><div align="left">');
	document.write('	  <input type="text" size="40" />');
	document.write('  	  </div></td></tr>');
	document.write(' <tr><td><div align="left">Expiration Date (MM/YYYY):</div></td><td><div align="left">');
	document.write('   <input type="text" size="3" />');
	document.write('   &nbsp;/&nbsp;');
	document.write('   <input type="text" size="6" />');
	document.write(' </div></td></tr>');
	document.write(' <tr><td>&nbsp;</td><td>&nbsp;</td></tr>');
	document.write(' <tr><td>&nbsp;</td><td>&nbsp;</td></tr>');
	document.write(' <tr><td>&nbsp;</td><td>&nbsp;</td></tr>');
	document.write('  <tr><td>&nbsp;</td><td>&nbsp;</td></tr>');
	document.write(' <tr><td colspan="2">______________________________________________________</td></tr>');
	document.write('<tr><td align="left" colspan="3">Sign here</h2></td></tr>');
	document.write(' </table>');
	document.write(' <table width="850">');
	document.write(' <tr><td align="left">');
	document.write('<center>Print and send this form and your payment to:<br /><br />');
	document.write(' <h2>San Francisco Traditional Jazz Foundation</h2>');
	document.write(' <h3>41 Sutter Street, PMB 1870<br>');
	document.write(' San Francisco, CA 94104</h3><br /><p>');
	document.write('</center></td></tr>');
	document.write(' </table>');
	document.write(' </body></html>');
	
}



function setQuantity(name, value)
{
	//alert('in setQuantity name = ' + name + ' with value of ' + value );
	var i;
	for(i = 0; i < items.length; i++)
	{
		if(items[i].name == name)
		{
			items[i].quantity = Number(value);
			break;
		}
	}
}

function getItemByName(name)
{
	var i;
	for(i = 0; i < items.length; i++)
	{
		if(items[i].name == name)
		{
			break;
		}
		
	}
	return i;
}
function getItemById(id)
{
	var i;
	for(i = 0; i < items.length; i++)
	{
		if(items[i].id == id)
		{
			return i;
		}
		
	}
	return -1;
}

