jQuery.noConflict();
jQuery(function($) {
				
	// ===== SELECT: Add events to update product total(s) =====
	nUnitPrice = $('#unitprice em').text();
	$('#quantity').keyup(function(){						  
		this.value = this.value.replace(/\D/g,'');
		var type = $(this).attr("name");
		if(!isNaN(this.value) & this.value > 0){
			ProductOrderTotal(type,this.value);
		}
	}).blur(function(){
		if(isNaN(this.value) || this.value < 1)
			this.value = 1;
			var type = $(this).attr("name");
			ProductOrderTotal(type,this.value);
	});
	$('#shipping').change(function(){
		var type = $(this).attr("name");
		var value = $(this).find("option:selected").val();
		ProductOrderTotal(type,value);
	});
	
	/*
	// ===== SELECT: Update State/Province dropdown based on Country selected =====
	$('#country,#country2').change(function(){
		var country = $(this).find("option:selected").val();
		var sLocation = "";
		var aList = [];
		if(country == 'usa'){
			aList = aUSA_States;
			sLocation = "State"
		} else if(country == 'canada'){
			aList = aCanada_Provinces;
			sLocation = "Province";
		} else if(country == 'other' || country == null){
			$('#state'+nStateSelect).empty();
			aList = [];
		};
		
		// ===== Which List? First or Second =====
		var bSecondStateList = (Number($(this).attr('name').replace(/\D/g,'')) > 0 )? true : false;
		var nStateSelect = (bSecondStateList)? '2' : '';
		
		if(aList.length){
			var options = '<option value="">Select a ' + sLocation + '</option>';
			for (var a=0, al=aList.length; a<al; a++) {
				options += '<option value="' + aList[a].abbr + '">' + aList[a].name + '</option>';
			}
			$('#state'+nStateSelect).empty().html(options);
			$('#state'+nStateSelect+' option:first').attr('selected', 'selected');
			$('.stateSelect'+nStateSelect).css('display','inline');
			$('.stateTextfield'+nStateSelect).css('display','none');
			// === Add Sales Tax for California and Arizona =====
			if(country == 'usa'){
				$('#state').change(function(){
					var state = $(this).find("option:selected").val();
					switch(state){
						case 'AZ': nSalesTax = $('#tax-AZ').val() / 100; break;
						case 'CA': nSalesTax = $('#tax-CA').val() / 100; break;
						default: nSalesTax = 0; break;
					}
					console.log('sales tax: '+nSalesTax);
					ProductOrderTotal('salestax',nSalesTax);
				});
			};
		} else {
			$('#state'+nStateSelect).html('<option value="">&nbsp;</option>');
			$('.stateSelect'+nStateSelect).css('display','none');
			$('.stateTextfield'+nStateSelect).css('display','inline');
		}
	});
	*/
	
	// ===== SELECT: Shipping To - Show additional address if different from billing address =====
	$('#shippingTo').change(function(){
		var showOtherAddress = ($(this).find("option:selected").val() == 'other-address')? true : false;
		if(showOtherAddress){
			$('div.other-address').css('display','block');
		} else {
			$('div.other-address').css('display','none');
		};
	});
	
	// ===== THANK YOU PAGE: pass information to finish "Become a Phil Fan form" =====
	/*$('#thankyou a.philfan').click(function(){
		$("form:first").submit();
		return false;								
	});*/
});

// ===== Product Order Information =====
var nQuantity = 1;
var nShipping = 0;
var nUnitPrice = 0;
var nSalesTax = 0;
function ProductOrderTotal(type,item){
    nUnitPrice = jQuery('#unitprice em').text();
	if(type == 'quantity') nQuantity = parseFloat(item);
	if(type == 'shipping') nShipping = parseFloat(item);
	if(type == 'salestax') nSalesTax = parseFloat(item);
	if(nSalesTax > 0){
		var nSum = nShipping + parseFloat(nQuantity * nUnitPrice);
		nSum += (nSum * nSalesTax);
	} else {
		var nSum = nShipping + parseFloat(nQuantity * nUnitPrice);
	};
	// ===== SubTotal =====
	jQuery('#subtotal em:first').text(nQuantity);
	jQuery('#subtotal em:first').next().text('$'+parseFloat(nQuantity * nUnitPrice).toFixed(2));
	// ===== Total =====
	jQuery('#total em').text('$'+nSum.toFixed(2));
	jQuery('#orderTotal').val(nSum.toFixed(2));
};

// ===== LIST: United States =====
var aUSA_States = [
{'abbr':'AL','name':'Alabama'},
{'abbr':'AK','name':'Alaska'},
{'abbr':'AZ','name':'Arizona'},
{'abbr':'AR','name':'Arkansas'},
{'abbr':'CA','name':'California'},
{'abbr':'CO','name':'Colorado'},
{'abbr':'CT','name':'Connecticut'},
{'abbr':'DE','name':'Delaware'},
{'abbr':'DC','name':'District of Columbia'},
{'abbr':'FL','name':'Florida'},
{'abbr':'GA','name':'Georgia'},
{'abbr':'GU','name':'Guam'},
{'abbr':'HI','name':'Hawaii'},
{'abbr':'ID','name':'Idaho'},
{'abbr':'IL','name':'Illinois'},
{'abbr':'IN','name':'Indiana'},
{'abbr':'IA','name':'Iowa'},
{'abbr':'KS','name':'Kansas'},
{'abbr':'KY','name':'Kentucky'},
{'abbr':'LA','name':'Louisiana'},
{'abbr':'ME','name':'Maine'},
{'abbr':'MD','name':'Maryland'},
{'abbr':'MA','name':'Massachusetts'},
{'abbr':'MI','name':'Michigan'},
{'abbr':'MN','name':'Minnesota'},
{'abbr':'MS','name':'Mississippi'},
{'abbr':'MO','name':'Missouri'},
{'abbr':'MT','name':'Montana'},
{'abbr':'NE','name':'Nebraska'},
{'abbr':'NV','name':'Nevada'},
{'abbr':'NH','name':'New Hampshire'},
{'abbr':'NJ','name':'New Jersey'},
{'abbr':'NM','name':'New Mexico'},
{'abbr':'NY','name':'New York'},
{'abbr':'NC','name':'North Carolina'},
{'abbr':'ND','name':'North Dakota'},
{'abbr':'OH','name':'Ohio'},
{'abbr':'OK','name':'Oklahoma'},
{'abbr':'OR','name':'Oregon'},
{'abbr':'PA','name':'Pennsylvania'},
{'abbr':'PU','name':'Puerto Rico'},
{'abbr':'RI','name':'Rhode Island'},
{'abbr':'SC','name':'South Carolina'},
{'abbr':'SD','name':'South Dakota'},
{'abbr':'TN','name':'Tennessee'},
{'abbr':'TX','name':'Texas'},
{'abbr':'USVI','name':'US Virgin Islands'},
{'abbr':'UT','name':'Utah'},
{'abbr':'VT','name':'Vermont'},
{'abbr':'VA','name':'Virginia'},
{'abbr':'WA','name':'Washington'},
{'abbr':'WV','name':'West Virginia'},
{'abbr':'WI','name':'Wisconsin'},
{'abbr':'WY','name':'Wyoming'}				   
];

// ===== LIST: Canadian Provinces =====
var aCanada_Provinces = [
{'abbr':'AB','name':'Alberta'},
{'abbr':'BC','name':'British Columbia'},
{'abbr':'MB','name':'Manitoba'},
{'abbr':'NB','name':'New Brunswick'},
{'abbr':'NF','name':'Newfoundland'},
{'abbr':'NT','name':'Northwest Territories'},
{'abbr':'NS','name':'Nova Scotia'},
{'abbr':'NU','name':'Nunavut'},
{'abbr':'ON','name':'Ontario'},
{'abbr':'PE','name':'Prince Edward Island'},
{'abbr':'QC','name':'Quebec'},
{'abbr':'SK','name':'Saskatchewan'},
{'abbr':'YT','name':'Yukon Territory'}
];

