var savingitemid = 0;
var shippingoption = 0;
var messageoption = 0;
var productoption = 0;

function assignaddress(){
	//assign address from address book drop down and reload
	if (document.getElementById('firstname1')) {
		document.getElementById('firstname1').value = 'loading...';
	}
	if (document.getElementById('lastname1')){
		document.getElementById('lastname1').value = 'loading...';
	}
	if (document.getElementById('company1')){
		document.getElementById('company1').value = 'loading...';
	}
	if (document.getElementById('address1')){
		document.getElementById('address1').value = 'loading...';
	}
	if (document.getElementById('suburb1')){
		document.getElementById('suburb1').value = 'loading...';
	}
	if (document.getElementById('city1')){
		document.getElementById('city1').value = 'loading...';
	}
	if (document.getElementById('state1')){
		document.getElementById('state1').value = 'loading...';
	}
	if (document.getElementById('postcode1')){
		document.getElementById('postcode1').value = 'loading...';
	}
	callAJAX('/shop/loadaddress.asp','id='+document.getElementById('AddressID').value,'LoadAddress','loadaddressdetails');
}

function loadaddressdetails(){
	var d;
	d = document.getElementById('LoadAddress').innerHTML;
	var arrD = d.split("|");
	if (document.getElementById('firstname1')) {
		document.getElementById('firstname1').value = arrD[0];
	}
	if (document.getElementById('lastname1')){
		document.getElementById('lastname1').value = arrD[1];
	}
	if (document.getElementById('company1')){
		document.getElementById('company1').value = arrD[2];
	}
	if (document.getElementById('address1')){
		document.getElementById('address1').value = arrD[3];
	}
	if (document.getElementById('suburb1')){
		document.getElementById('suburb1').value = arrD[4];
	}
	if (document.getElementById('city1')){
		document.getElementById('city1').value = arrD[5];
	}
	if (document.getElementById('state1')){
		document.getElementById('state1').value = arrD[6];
	}
	if (document.getElementById('postcode1')){
		document.getElementById('postcode1').value = arrD[7];
	}
	if (document.getElementById('country1')){
		document.getElementById('country1').value = arrD[8];
	}
}

function assigndelivery(){
	//assign current delivery from drop down and reload
	callAJAX('/shop/save.asp','ada='+escape(document.getElementById('itemID').value)+'|'+escape(document.getElementById('deliveryOrder').value)+'|'+escape(document.getElementById('PartOrderID').value),'','savedassigneddelivery');
}

function savedassigneddelivery(){
	callAJAX('/shop/loadshippingoptions.asp','i='+document.getElementById('itemID').value+'&do='+document.getElementById('deliveryOrder').value,'shopitem_shipping'+document.getElementById('itemID').value,'reloadcartbottom');
}


function savedeliveryaddress(){
	var errors='';
	if (document.getElementById('firstname1').value==''){errors+='Please enter the first name!\n';}
	if (document.getElementById('lastname1').value==''){errors+='Please enter the last name!\n';}
	if (document.getElementById('address1').value==''){errors+='Please enter the delivery Address!\n';}
	if (document.getElementById('city1').value==''){errors+='Please enter the delivery City!\n';}
	if (document.getElementById('state1required').value=='yes'){
		if (document.getElementById('state1').value==''){errors+='Please enter the delivery State!\n';}
	}
	if (document.getElementById('postcode1required').value=='yes'){
		if (document.getElementById('postcode1').value==''){errors+='Please enter the delivery '+document.getElementById('postcode1label').value+'\n';}
	}
	if (document.getElementById('shop_cart_deliverydestination').value=='0'){errors+='Please enter the delivery destination to calculate shipping!\n';}
	if (document.getElementById('shop_cart_deliverymethod').value=='0'){errors+='Please enter the delivery method to calculate shipping!\n';}
	
	if (errors) {
		nicealert('The following error(s) occurred:\n\n'+errors+'\nPlease fill in the required fields and try again.');
	}
		else 
	{
		document.getElementById('shippingformsave').src = '/shop/images/button-saving.gif';
		callAJAX('/shop/save.asp','da='+escape(document.getElementById('itemID').value)+'|'+escape(document.getElementById('deliveryOrder').value)+'|'+escape(document.getElementById('PartOrderID').value)+'|'+escape(document.getElementById('RequestedDeliveryDate').value)+'|'+escape(document.getElementById('firstname1').value)+'|'+escape(document.getElementById('lastname1').value)+'|'+escape(document.getElementById('company1').value)+'|'+escape(document.getElementById('address1').value)+'|'+escape(document.getElementById('suburb1').value)+'|'+escape(document.getElementById('city1').value)+'|'+escape(document.getElementById('state1').value)+'|'+escape(document.getElementById('postcode1').value)+'|'+escape(document.getElementById('country1').value),'','saveddeliveryaddress');
	}
}

function saveddeliveryaddress(){
	if (document.getElementById('PartOrderID').value == 0) {
		//reload
		callAJAX('/shop/loadshippingoptions.asp','i='+document.getElementById('itemID').value+'&do='+document.getElementById('deliveryOrder').value,'shopitem_shipping'+document.getElementById('itemID').value,'');
	} else
	{
		document.getElementById('shippingformsave').src = '/shop/images/button-save.gif';
	}
	updating();
	reloadcartbottom();
}

function savedmessage(){
	document.getElementById('shop_cartoptionsinnermessagesave').style.display = 'none';
	document.getElementById('message'+savingitemid).disabled = false;
}

//-----//


function savedate(){
	callAJAX('/shop/savedate.asp','d='+document.getElementById('RequestedDeliveryDate2').value,'','');
}

function changedeliveryshippingmethod(itemid,order){//
	updating();
	callAJAX('/shop/changedeliverymethod.asp','methodid='+document.getElementById('shop_cart_deliverymethod').value+'&itemid='+itemid+'&order='+order,'','reloadcartbottom');
}
function changeshippingmethod(){//
	updating();
	callAJAX('/shop/changemethod.asp','methodid='+document.getElementById('shop_cart_method').value,'debugmethod','reloadcartbottom');
}
//-----//
function emptycart(){//
	if(confirm("Are you sure you want to empty your cart?")){
		togglecartoptions(false);
		callAJAX('/shop/emptycart.asp','','shop_cartitems','reloadcartitems');
	}
}
//-----//

function removefromcart(itemid){//
	if(confirm("Are you sure you want to remove this item from your cart?")){
		updating();
		document.getElementById('shopitem'+itemid).style.display = 'none';
		document.getElementById('shopitem'+itemid).innerHTML = '';
		var p = 0;
		if (document.getElementById('redeempoints')) {
			p = document.getElementById('redeempoints').value;
			if (p == '') {
				p = 0;
			}
		}
		callAJAX('/shop/reloadcartbottom.asp','points='+p+'&removeid='+itemid,'cartbottomdata','updatefromdata');
	}
}

//-----//	

function reloaddeliveryshippingmethods(itemid,order){//
	updating();
callAJAX('/shop/reloaddeliverymethods.asp','destid='+document.getElementById('shop_cart_deliverydestination').value+'&itemid='+itemid+'&order='+order,'shop_cartdeliveryshippingmethod','reloadcartbottom');
}
	
function reloadshippingmethods(){//
	updating();
callAJAX('/shop/reloadmethods.asp','destid='+document.getElementById('shop_cart_destination').value,'shop_cartshippingmethod','reloadcartitems');
}
	
//-----//		
function reloaditems(){//
	callAJAX('/shop/updateitems.asp','','shop_items','reloadcartitems');
}

//function reloadshippingoptionsset(){
//	callAJAX('/shop/loadshippingoptionsset.asp','','shippingoptionsset','');
//}


function reloadcartitems(){//
	//callAJAX('/shop/reloadcart.asp','','shop_cartitems','reloadcartbottom');
	callAJAX('/shop/reloadcart.asp','','shop_cartitems','reloadcartoptions');
}

function reloadcartoptions(){
	var arrItems = document.getElementsByTagName('div');
	for (i=0;i<arrItems.length;i++){
		if (arrItems[i].className == 'shop_cartitem_options'){
			var str = arrItems[i].id;
			//alert(str.substring(23));
			loadproductoptions(str.substring(23));
		}
	}
	reloadcartbottom();
}

//-----//

function changeqty(itemid){//
	nicealert('Cart updated');
	updating();
	if (document.getElementById('cartitem'+itemid+'price')){
		document.getElementById('cartitem'+itemid+'price').innerHTML = 'updating...';
	}
	if (!(shippingoption == 0)) {
		closeshippingoptions(shippingoption);
	}
	if (!(messageoption == 0)) {
		closemessages(messageoption);
	}
callAJAX('/shop/changeqty.asp','id='+itemid+'&qty='+document.getElementById('shop_cart_item_qty'+itemid).value,'cartitem'+itemid+'price','reloadcartbottom');
}


function checkout(){//
	validateForm();
	if (document.MM_returnValue) {
		document.getElementById('frmCart').submit();
	}
}

function validateForm(){//
	var errors='';
	
	if (document.getElementById('shop_cartisempty').innerHTML == 'yes') {
		errors+='Your cart is currently empty!\n';
		if (errors) nicealert(errors);
	} else 
	{
		if (document.getElementById('shippingoptionsset').innerHTML == 'na'){
			if (document.forms['frmCart'].shop_cart_destination.value == '0') {errors+='Please select a shipping destination!\n';}
			if (document.forms['frmCart'].shop_cart_method.value == '0') {errors+='Please select a shipping method!\n';}
		} else
		{
			if (document.getElementById('shippingoptionsset').innerHTML == 'no'){errors+='Please select shipping options including name and address for all deliveries by clicking Shipping Options for each item in your cart!\n';}
		}
		if (document.getElementById('messageoptionsset').innerHTML == 'na'){
		} else
		{
			if (document.getElementById('messageoptionsset').innerHTML == 'no1'){errors+='Please save your message!\n';}
			if (document.getElementById('messageoptionsset').innerHTML == 'no2'){errors+='Please save your messages for all deliveries by clicking Messages for each item in your cart!\n';}
		}
		if (errors) nicealert('The following error(s) occurred:\n\n'+errors+'\nPlease fix the above error(s) and try again.');
	}
	
	document.MM_returnValue = (errors == '');
}
function savepromocode(){//
	callAJAX('/shop/savepromocode.asp','promo='+document.getElementById('promocode').value,'','');
}		

function savepromocodev2(){// version 2 - not compatible with 'points & promo code' functionality
	callAJAX('/shop/savepromocode.asp','promo='+document.getElementById('promocodev2').value,'','reloadcartbottom');
}		

function reloadcartbottom(){
	updating();
	var p = 0;
	if (document.getElementById('redeempoints')) {
		p = document.getElementById('redeempoints').value;
		if (p == '') {
			p = 0;
		}
	}
	callAJAX('/shop/reloadcartbottom.asp','points='+p,'cartbottomdata','updatefromdata');
}

function updating(){
	if (document.getElementById('shippingoptionsset')){
		document.getElementById('shippingoptionsset').innerHTML = 'updating...';
	}
	
	if (document.getElementById('shop_cartsubtotal')){
		document.getElementById('shop_cartsubtotal').innerHTML = 'updating...';
	}
	
	if (document.getElementById('shop_carttax')){
		document.getElementById('shop_carttax').innerHTML = 'updating...';
	}
	
	if (document.getElementById('shop_cartshippingtotal')){
		document.getElementById('shop_cartshippingtotal').innerHTML = 'updating...';
	}
	
	if (document.getElementById('shop_carttotal')){
		document.getElementById('shop_carttotal').innerHTML = 'updating...';
	}
	
	if (document.getElementById('shop_cartdiscounttotal')){
		document.getElementById('shop_cartdiscounttotal').innerHTML = 'updating...';
	}
	
	if (document.getElementById('shop_carttotaldefault')){
		document.getElementById('shop_carttotaldefault').innerHTML = 'updating...';
	}
}

function updatefromdata(){
	if (document.getElementById('messageoptionsset')){
		document.getElementById('messageoptionsset').innerHTML = document.getElementById('messagescomplete').innerHTML;
	}
	if (document.getElementById('shippingoptionsset')){
		document.getElementById('shippingoptionsset').innerHTML = document.getElementById('shippingcomplete').innerHTML;
	}
	
	if (document.getElementById('redeempoints')){
		if (document.getElementById('redeempoints').value != document.getElementById('pointsredeemed').innerHTML) {
			document.getElementById('redeempoints').value = document.getElementById('pointsredeemed').innerHTML;
		}
		if (document.getElementById('pointsredeemed').innerHTML == '0'){
			document.getElementById('redeempoints').value = '';
		}
	}
	
	if (document.getElementById('shop_cartsubtotal')){
		document.getElementById('shop_cartsubtotal').innerHTML = document.getElementById('subtotal').innerHTML;
	}
	
	if (document.getElementById('shop_carttax')){
		document.getElementById('shop_carttax').innerHTML = document.getElementById('tax').innerHTML;
	}
	
	if (document.getElementById('shop_cartshippingtotal')){
		document.getElementById('shop_cartshippingtotal').innerHTML = document.getElementById('shipping').innerHTML;
	}
	
	if (document.getElementById('shop_cartdiscounttotal')){
		document.getElementById('shop_cartdiscounttotal').innerHTML = document.getElementById('discount').innerHTML;
	}
	
	if (document.getElementById('shop_carttotal')){
		document.getElementById('shop_carttotal').innerHTML = document.getElementById('total').innerHTML;
	}
	
	if (document.getElementById('shop_carttotaldefault')){
		document.getElementById('shop_carttotaldefault').innerHTML = document.getElementById('totaldefault').innerHTML;
		if (document.getElementById('totaldefault').innerHTML != ''){
			if (document.getElementById('shop_carttotalactual')){
				document.getElementById('shop_carttotalactual').style.display = 'inline';
			}
			
			if (document.getElementById('shop_carttotaldefault')){
				document.getElementById('shop_carttotaldefault').style.display = 'inline';
			}
		}
		else {
			if (document.getElementById('shop_carttotalactual')){
				document.getElementById('shop_carttotalactual').style.display = 'none';
			}
			
			if (document.getElementById('shop_carttotaldefault')){
				document.getElementById('shop_carttotaldefault').style.display = 'none';
			}

		}
		
		
	}
	
	if (document.getElementById('shop_cartisempty')){
		document.getElementById('shop_cartisempty').innerHTML = document.getElementById('empty').innerHTML;
		if (document.getElementById('shop_cartisempty').innerHTML == 'yes'){
			togglecartoptions(false);
		}
	}
	
	if (document.getElementById('shop_cartpointsearned')){
		document.getElementById('shop_cartpointsearned').innerHTML = document.getElementById('pointsearned').innerHTML;
	}
	
	if (document.getElementById('shop_items')){
		document.getElementById('shop_items').innerHTML = document.getElementById('items').innerHTML;
	}
	
	if (document.getElementById('cartnumitems')){
		document.getElementById('cartnumitems').innerHTML = document.getElementById('items').innerHTML;
	}
}		
	
function togglesendgifts(){
	if (document.getElementById('sendgifts').checked) {
		document.getElementById('shop_cartoptionsinner').style.display = 'block';
		
		//if (document.getElementById('sendgiftsdeliver').value == '2'){
			document.getElementById('shop_cartshipping').style.display = 'none';
			document.getElementById('shop_cartshippingmultiple').style.display = 'block';
			document.getElementById('shop_cartdeliverydate').style.display = 'none';
		//}
		//if (document.getElementById('sendgiftsdeliver').value == '1'){
		//	document.getElementById('shop_cartshipping').style.display = 'block';
		//	document.getElementById('shop_cartshippingmultiple').style.display = 'none';
		//	document.getElementById('shop_cartdeliverydate').style.display = 'block';
		//}
		
		
	}
	else
	{
		document.getElementById('shop_cartoptionsinner').style.display = 'none';
		document.getElementById('shop_cartshipping').style.display = 'block';
		document.getElementById('shop_cartshippingmultiple').style.display = 'none';
		document.getElementById('shop_cartdeliverydate').style.display = 'none';
	}
	callAJAX('/shop/save.asp','g='+document.getElementById('sendgifts').checked,'','reloadcartitems');
}

//function toggledeliver(){
//	if (document.getElementById('sendgiftsdeliver').value == '1') {
//		document.getElementById('sendgiftsdeliver1').style.display = 'block';
//		document.getElementById('sendgiftsdeliver2').style.display = 'none';
//		document.getElementById('shop_cartshipping').style.display = 'block';	
//		document.getElementById('shop_cartshippingmultiple').style.display = 'none';
//		document.getElementById('shop_cartdeliverydate').style.display = 'block';
//		document.getElementById('shippingoptionsset').innerHTML = 'na';		
//	}
//	else
//	{
//		document.getElementById('sendgiftsdeliver2').style.display = 'block';
//		document.getElementById('sendgiftsdeliver1').style.display = 'none';
//		document.getElementById('shop_cartshipping').style.display = 'none';
//		document.getElementById('shop_cartshippingmultiple').style.display = 'block';
//		document.getElementById('shop_cartdeliverydate').style.display = 'none';
//		document.getElementById('shippingoptionsset').innerHTML = 'no';	
//	}
//	callAJAX('/shop/save.asp','d='+document.getElementById('sendgiftsdeliver').value,'','reloadcartitems');
//}

function togglemessage(){
	if (document.getElementById('sendgiftsmessages').value == '0') {
		document.getElementById('shop_cartoptionsinnermessage').style.display = 'none';
		document.getElementById('shop_cartoptionsinnermessage2').style.display = 'none';
	}
	if (document.getElementById('sendgiftsmessages').value == '1') {
		document.getElementById('shop_cartoptionsinnermessage').style.display = 'block';
		document.getElementById('shop_cartoptionsinnermessage2').style.display = 'none';
	}
	if (document.getElementById('sendgiftsmessages').value == '2') {
		document.getElementById('shop_cartoptionsinnermessage').style.display = 'none';
		document.getElementById('shop_cartoptionsinnermessage2').style.display = 'block';
	}
	callAJAX('/shop/save.asp','m='+document.getElementById('sendgiftsmessages').value,'','reloadcartitems');
}

function togglecartoptions(showDiv){
	if (showDiv){
		document.getElementById('shop_cartoptions').style.display = 'block';
	}
	else
	{
		document.getElementById('shop_cartoptions').style.display = 'none';
	}
}

function savemessage(itemid,mo){
	savingitemid = itemid;
	var savemsg = escape(document.getElementById('message'+savingitemid).value);
	if (savemsg == ''){
		savemsg = 'NULL';
	}
	document.getElementById('message'+savingitemid).disabled = true;
	//document.getElementById('shop_cartoptionsinnermessagesave').style.display = 'block';
	
	document.getElementById('messageformsave').src = '/shop/images/button-saving.gif';
	callAJAX('/shop/save.asp','i='+savingitemid+'&mo='+mo+'&msg='+savemsg,'','savedmessage');
}

function savedmessage(){
	//document.getElementById('shop_cartoptionsinnermessagesave').style.display = 'none';
	document.getElementById('messageformsave').src = '/shop/images/button-save.gif';
	document.getElementById('message'+savingitemid).disabled = false;
	reloadcartbottom();
}

function loadproductoptions(itemid){
	//if (document.getElementById('shopitem_productoptions'+productoption)){
	//	closeproductoptions(productoption);
	//	productoption = 0;
	//}
	if (document.getElementById('shopitem_productoptions'+itemid)) {
		//productoption = itemid;
		document.getElementById('shopitem_productoptions'+itemid).innerHTML = 'loading...';
		callAJAX('/shop/loadproductoptions.asp','i='+itemid,'shopitem_productoptions'+itemid,'');
	}
}



function loadshippingoptions(itemid){
	if (document.getElementById('shopitem_shipping'+shippingoption)){
		closeshippingoptions(shippingoption);
		shippingoption = 0;
	}
	if (document.getElementById('shopitem_shipping'+itemid)) {
		shippingoption = itemid;
		document.getElementById('shopitem_shipping'+itemid).innerHTML = 'loading...';
		callAJAX('/shop/loadshippingoptions.asp','i='+itemid,'shopitem_shipping'+itemid,'');
	}
}

function loadmessages(itemid){
	if (document.getElementById('shopitem_message'+messageoption)){
		closemessages(messageoption);
		messageoption = 0;
	}
	if (document.getElementById('shopitem_message'+itemid)) {
		messageoption = itemid;
		document.getElementById('shopitem_message'+itemid).innerHTML = 'loading...';
		callAJAX('/shop/loadmessages.asp','i='+itemid,'shopitem_message'+itemid,'');
	}
}

function closemessages(itemid){
	if (document.getElementById('shopitem_message'+itemid)){
		document.getElementById('shopitem_message'+itemid).innerHTML = '<a href="javascript:loadmessages('+itemid+');">Message(s)</a>';
	}
}

function closeshippingoptions(itemid){
	if (document.getElementById('shopitem_shipping'+itemid)) {
		document.getElementById('shopitem_shipping'+itemid).innerHTML = '<a href="javascript:loadshippingoptions('+itemid+');">Shipping</a>';
	}
}

function closeproductoptions(itemid){
	if (document.getElementById('shopitem_productoptions'+itemid)) {
		document.getElementById('shopitem_productoptions'+itemid).innerHTML = '<a href="javascript:loadproductoptions('+itemid+');">Product Options</a>';
	}
}

