/*
	Website JS Functions 
	(c) Copyright Kerve Creative
	
	SHOPPING CART FUNCTIONS 
*/

/* Remove Item */
function cartRemove(unit_item,size) {
	if(confirm('Are you sure you want to remove this item?')) {
		document.location = '/cart/index.html?action=remove&id='+unit_item;
	}
}

function isArray(obj) {
   if (obj.constructor.toString().indexOf("Array") == -1)
      return false;
   else
      return true;
}

/* Add item to cart */
function cartAdd(item) {
	var item_id = 'add_form_' + item;
	
	if(document.getElementById('option_0')) {
		if(readForm(item_id) == true) {
			eval("document."+item_id+".submit();");
		} else {
			alert('Please make sure you have selected all items.');
		}
	} else {
		/*document.location = '/cart/index.html?action=add&id='+item;*/
		document.getElementById(item_id).submit();
	}
}

function readForm(theForm) {
	var elems = document.getElementById(theForm).elements;
	var status = '';
	for (var ix=0; ix < elems.length; ix++) {
		var elem = elems[ix];
		if(elem.value == '') {
			status = '1';
		}
	}
	
	if(status == '1') {
		return false;
	} else {
		return true;
	}
}

/* Update item in cart */
function cartUpdate(unit_item) {
	var filter  = /^([a-zA-Z0\.\-\+\=\_\|\?\/\>\<\,\!\"\£\$\%\^\&\*\(\)])+$/;
	var filter2  = /^(\-[1-9])+$/;
	var filter3  = /^([0-9]+\.[0-9]+)+$/;
	var filter4  = /^(\-[0-9]+\.[0-9]+)+$/;
	var maxquantityitems = 999;
	
	if(
	   (!filter.test(document.getElementById(unit_item).quantity.value)) && 
	   (!filter2.test(document.getElementById(unit_item).quantity.value)) && 
	   (!filter3.test(document.getElementById(unit_item).quantity.value)) && 
	   (!filter4.test(document.getElementById(unit_item).quantity.value)) && 
	   (document.getElementById(unit_item).quantity.value < maxquantityitems) && 
	   (document.getElementById(unit_item).quantity.value != '')
	) {
		var quant = eval("document." + unit_item + ".quantity.value");
		
		document.location = '/cart/index.html?action=update&id='+unit_item+"&quantity="+quant;
	} else {
		if(document.getElementById(unit_item).quantity.value == '0') {
			cartRemove(unit_item);
		} else {
			alert('Invalid entry');
		}
	}
}

function changeAddress() {
	if(document.address_form.delivery_address_check.checked == true) {
		document.address_form.delivery_address_firstname.disabled = true;
		document.address_form.delivery_address_lastname.disabled = true;
		document.address_form.delivery_address_country.disabled = true;
		document.address_form.delivery_address_postcode.disabled = true;
		document.address_form.delivery_address_telephone.disabled = true;
		document.address_form.delivery_address_address1.disabled = true;
		document.address_form.delivery_address_address2.disabled = true;
		document.address_form.delivery_address_city.disabled = true;
	} else {
		document.address_form.delivery_address_firstname.disabled = false;
		document.address_form.delivery_address_lastname.disabled = false;
		document.address_form.delivery_address_country.disabled = false;
		document.address_form.delivery_address_postcode.disabled = false;
		document.address_form.delivery_address_telephone.disabled = false;
		document.address_form.delivery_address_address1.disabled = false;
		document.address_form.delivery_address_address2.disabled = false;
		document.address_form.delivery_address_city.disabled = false;
	}
}

function valbutton(formvar) {
	// place any other field validations that you require here
	// validate myradiobuttons
	myOption = -1;
	for (i=formvar.length-1; i > -1; i--) {
		if (formvar[i].checked) {
			myOption = i; i = -1;
		}
	}
	if (myOption == -1) {
		return false;
	} else {
		return true;
	}
}


/* Confirm order, then send user to ProTX credit card pages */
function cartCheckout() {
	var errormessage = 'Please ensure that you have completed the following:\n';
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	var delivery_address_status = true;
	
	var lists = valbutton(document.address_form.mlist_list_newsletter);
	//var lists = true
	
	if(document.address_form.delivery_address_check.checked == false) {
		if (
			(document.address_form.delivery_address_firstname.value != '') &&
			(document.address_form.delivery_address_lastname.value != '') &&
			(document.address_form.delivery_address_country.value != '') &&
			(document.address_form.delivery_address_postcode.value != '') &&
			(document.address_form.delivery_address_telephone.value != '') &&
			(document.address_form.delivery_address_address1.value != '') &&
			(document.address_form.delivery_address_city.value != '')
		) {
			delivery_address_status = true;
		} else {
			delivery_address_status = false;
		}
	}
	
	if (
		(document.address_form.billing_address_firstname.value != '') &&
		(document.address_form.billing_address_lastname.value != '') &&
		(document.address_form.billing_address_address1.value != '') &&
		(document.address_form.billing_address_city.value != '') &&
		(document.address_form.billing_address_postcode.value != '') &&
		(document.address_form.billing_address_telephone.value != '') &&
		(document.address_form.billing_address_country.value != '') &&
		
		(delivery_address_status == true) &&
		
		(document.address_form.other_address_email.value != '') &&
		(filter.test(document.address_form.other_address_email.value)) &&
		
		(lists == true)
	) {
		document.address_form.submit();
	} else {
		if(lists == false) {
			errormessage += "  > Newsletter mailing list \n";
		}
		if(document.address_form.other_address_email.value == '') {
			errormessage += "  > Email address\n";
		} else {
			if((filter.test(document.address_form.other_address_email.value)) == false) {
				errormessage += "  > You must enter a valid email address\n";
			}
		}
		
		if(delivery_address_status == false) {
			if(document.address_form.delivery_address_firstname.value == '') {
				errormessage += "  > Your delivery first name\n";
			}
			if(document.address_form.delivery_address_lastname.value == '') {
				errormessage += "  > Your delivery last name\n";
			}
			if(document.address_form.delivery_address_address1.value == '') {
				errormessage += "  > Your delivery address line 1\n";
			}
			if(document.address_form.delivery_address_city.value == '') {
				errormessage += "  > Your delivery city\n";
			}
			if(document.address_form.delivery_address_postcode.value == '') {
				errormessage += "  > Your delivery postcode\n";
			}
			if(document.address_form.delivery_address_country.value == '') {
				errormessage += "  > Your delivery country\n";
			}
			if(document.address_form.delivery_address_telephone.value == '') {
				errormessage += "  > Your delivery telephone\n";
			}
		}
		
		if(document.address_form.billing_address_firstname.value == '') {
			errormessage += "  > Your billing first name\n";
		}
		if(document.address_form.billing_address_lastname.value == '') {
			errormessage += "  > Your billing last name\n";
		}
		if(document.address_form.billing_address_address1.value == '') {
			errormessage += "  > Your billing address line 1\n";
		}
		if(document.address_form.billing_address_city.value == '') {
			errormessage += "  > Your billing city\n";
		}
		if(document.address_form.billing_address_postcode.value == '') {
			errormessage += "  > Your billing postcode\n";
		}
		if(document.address_form.billing_address_country.value == '') {
			errormessage += "  > Your billing country\n";
		}
		if(document.address_form.billing_address_telephone.value == '') {
			errormessage += "  > Your billing telephone\n";
		}
		alert(errormessage);
	}
}


/* Place order */
function cartCheckoutConfirm() {
	document.cart_confirm.submit();
}