<!--

function popUpWindow(url,popup_name,toolbar_,location_,directories_,status_,menubar_,scrollbars_,resizable_,width_,height_,page_name) {
	sealWin=window.open(url,popup_name,'toolbar=' + toolbar_ + ',location=' + location_ + ',directories=' + directories_ + ',status=' + status_ + ',menubar=' + menubar_ + ',scrollbars=' + scrollbars_ + ',resizable=' + resizable_ + ',width=' + width_ + ',height=' + height_ + '');
	self.name = page_name;
}

// here is the sample code to call the function:
// popUpWindow('index.php','give_your_popUp_a_name','0','0','0','0','0','0','0','359','225','give_your_page_where_you_are_putting_this_code_a_name')
// for the following: toolbar_,location_,directories_,status_,menubar_,scrollbars_,resizable_, the options are '0' or '1'

function checkCompetition(total_answers) {
	var str1, str2, str3
	var errFlag = false;
	var errCount = 0;
	var errMsg = "";
	var errExp = new RegExp(" ", "g");
	
	var isChecked = false;
	
	str1 = document.competition.name.value;
	str2 = document.competition.email.value;
	str3 = document.getElementById("agree");
	
	str1 = str1.replace(errExp, "")
	str2 = str2.replace(errExp, "")
		
	if (str1.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- your name\n";
		document.competition.name.focus();
	}
	
	if (str2.length == 0) {
		errCount += 1;
		errFlag = true;
		errMsg += "- your email address\n";
		document.competition.email.focus();
	} else {
		if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(str2)){
			//do nothing
		} else {
			errCount += 1;
			errFlag = true;
			errMsg += "- invalid format for your email address\n";
			document.competition.email.focus();
		}
	}
	
	for (i=0; i < total_answers; i++) {
		if (isChecked == false) {
			if (document.getElementById("answer_" + i).checked == true) {
				isChecked = true;
			}
		}
	}
	
	if (isChecked == false) {
		errCount += 1;
		errFlag = true;
		errMsg += "- answer\n";
	}

	if (errFlag == true) {
		if (errCount > 1){
			errMsg = "The following fields are required:\n" + errMsg;
		}
		else {	
			errMsg = "The following field is required:\n" + errMsg;
		}
		alert(errMsg);
		return false
	} 
	else {
		if (str3.checked == false) {
			errMsg += "Please agree to our Terms and Conditions.\n";
			alert(errMsg);
			return false;
		} else {
			return true;
		}
	}
}

function checkEnquiry() {
	var str1, str2, str3, str4, str5
	var errFlag = false;
	var errCount = 0;
	var errMsg = "";
	var errExp = new RegExp(" ", "g");
	
	str1 = document.enquiry.name.value;
	str2 = document.enquiry.email.value;
	str3 = document.enquiry.phone.value;
	str4 = document.enquiry.comments.value;
	
	str1 = str1.replace(errExp, "")
	str2 = str2.replace(errExp, "")
	str3 = str3.replace(errExp, "")
	str4 = str4.replace(errExp, "")
		
	if (str1.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- your name\n";
		document.enquiry.name.focus();
	}
	
	if (str2.length == 0) {
		errCount += 1;
		errFlag = true;
		errMsg += "- your email address\n";
		document.enquiry.email.focus();
	} else {
		if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(str2)){
			//do nothing
		} else {
			errCount += 1;
			errFlag = true;
			errMsg += "- invalid format for your email address\n";
			document.enquiry.email.focus();
		}
	}
	
	if (str4.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- your contact number\n";
		document.enquiry.phone.focus();
	}
	
	if (str4.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- query / comment\n";
		document.enquiry.comments.focus();
	}

	if (errFlag == true) {
		if (errCount > 1){
			errMsg = "The following fields are required:\n" + errMsg;
		}
		else {	
			errMsg = "The following field is required:\n" + errMsg;
		}
		alert(errMsg);
		return false
	} 
	else {
		return true;
	}
}

function checkProductEvent(total_packages,occupancy) {
	
	var isChecked = false;
	
	for (i=0; i < total_packages; i++) {
		if (isChecked == false) {
			if (document.getElementById("package_" + i).checked == true) {
				isChecked = true;
			}
		}
	}
	
	if (isChecked == false) {
		alert("Please select a package first! :-)");
		return false;
	} else {
		
		if (occupancy == 1) {
			var quantity = document.getElementById("price_quantity").value;
			
			if (quantity == 0) {
				alert("Please select the quantity of packages you would like to purchase!");
				document.getElementById("price_quantity").focus();
				return false;
			} else {
				return true;
			}
		} else {
			return true;
		}
		
	}
	
}

function updateProductEventQuantity(price_supplement) {
	
	var price = document.getElementById('price_total').innerHTML;
	price = parseFloat(price);
	
	var quantity = document.getElementById("price_quantity").value;
	quantity = parseFloat(quantity);
	
	var price_total = price * quantity;	
	var remainder = quantity % 2;
	
	if (remainder == 1) {
		price_total = price_total + price_supplement;
	}
	
	price_total = price_total.toFixed(2);
	
	document.getElementById('price_packages_total').innerHTML = "&nbsp;= &euro;&nbsp;" + price_total;
	
}

function updateProductEvent(id,price) {
	
	var price_total = document.getElementById('price_total').innerHTML;
	price_total = parseFloat(price_total);
	
	var extra = document.getElementById("extra_" + id);
	
	if (extra.checked == true) {
		price_total = price_total + price;
	} else {
		price_total = price_total - price;
	}
	
	price_total = price_total.toFixed(2);
	
	document.getElementById('price_total').innerHTML = price_total;
	document.getElementById('price_quantity').value ="";
	document.getElementById('price_packages_total').innerHTML = "";
	
}

function checkGreatDeal(product_total) {
	
	total_selected = document.getElementById('total_selected').value;
	total_remaining = product_total - total_selected;
	
	if (total_selected == product_total) {
		return true;
	} else if (total_selected > product_total) {
		alert('Oops!\n\nYou have chosen too many products. Only ' + product_total + ' products can be selected.');
		return false;
	} else {
		if (total_remaining == 1) {
			text_product = "product";
		} else {
			text_product = "products";
		}
		alert('Oops!\n\nYou still have to choose ' + total_remaining + ' more ' + text_product + ' before you can add this great deal to your cart.');
		return false;
	}
}

function updateGreatDeal(product_id, product_total) {
	
	var total_selected = document.getElementById('total_selected').value;
	var text_product = "";
	var total_remaining = 0;
	
	if (document.getElementById(product_id).checked == true) {
		if (total_selected >= product_total) {
			alert('Cannot add more - only ' + product_total + ' products are allowed!');
			document.getElementById(product_id).checked = false;
			return;
		} else {
			total_selected++;
			document.getElementById('total_selected').value = total_selected;
		}
	} else {
		total_selected--;
		document.getElementById('total_selected').value = total_selected;
	}
	
	if (total_selected >= product_total) {
		alert(product_total + ' products have been selected!\n\nClick on "ADD TO CART" at the bottom of the page when you\'re ready :-)');
	} else {
		/*
		if (total_selected == 1) {
			text_product = "product has";
		} else {
			text_product = "products have";
		}
		total_remaining = product_total - total_selected;
		alert(total_selected + ' ' + text_product + ' been selected. You can still choose another ' + total_remaining + '!');
		*/
	}
	
}

function checkNewsletter() {
	var str1, str2
	var errFlag = false;
	var errCount = 0;
	var errMsg = "";
	var errExp = new RegExp(" ", "g");
	
	str1 = document.newsletter.name.value;
	str2 = document.newsletter.email.value;
	
	str1 = str1.replace(errExp, "")
	str2 = str2.replace(errExp, "")
		
	if (str1.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- your name\n";
		document.newsletter.name.focus();
	} else if (str1 == "yourname"){
		errCount += 1;
		errFlag = true;
		errMsg += "- your name\n";
		document.newsletter.name.focus();
	}
	
	if (str2.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- email address\n";
		document.newsletter.email.focus();
	} else if (str2 == "emailaddress"){
		errCount += 1;
		errFlag = true;
		errMsg += "- email address\n";
		document.newsletter.email.focus();
	}
	
	if (errFlag == true) {
		if (errCount > 1){
			errMsg = "The following fields are required:\n" + errMsg;
		}
		else {	
			errMsg = "The following field is required:\n" + errMsg;
		}
		alert(errMsg);
		return false
	} 
	else {
		return validateEmail('newsletter');
	}
}

function emptyField(what) {
	document.getElementById(what).value = "";
}

function updateTotal(days,rate) {
	var final_total, final_total_us
	var str1 = document.getElementById('amount').value;
	
	if (isNaN(str1)) {
		// do nothing
	} else {
		final_total = str1 * days;
		document.getElementById('amount_total').innerHTML = final_total.toFixed(2);
		final_total_us = final_total / rate;
		document.getElementById('amount_total_us').innerHTML = final_total_us.toFixed(2);
	}
	
}




function redirectOrder() {
	try {
		if (document.getElementById('payment_2').checked) {
			document.checkout.action = "checkout_payment_nocc_action.php";
			document.checkout.submit();
			return true;
		}
	} catch(err) {
		if (document.getElementById('payment_2').checked) {
			document.checkout.action = "checkout_payment_nocc_action.php";
			document.checkout.submit();
			return true;
		}
	}
}

function checkCheckoutVoucher() {
	
	var str1
	var errFlag = false;
	var errMsg = "";
	var errExp = new RegExp(" ", "g");
	
	str1 = document.checkout.voucher_number.value;
	str1 = str1.replace(errExp, "")
		
	if (str1.length == 0) {
		errFlag = true;
		errMsg += "Please enter a voucher number.\n";
		document.checkout.voucher_number.focus();
	}
	
	if (errFlag == true) {
		alert(errMsg);
		return false
	} else {
		document.checkout.action = "checkout_voucher_action.php";
		document.checkout.submit();
		return true;
	}

}

function changeVoucherFields(what) {
	
	if (what == 0) {
		for (i=1; i <= 2; i++) {
			document.getElementById('giftvoucher_' + i).style.display = "none";
		}
	} else {
		for (i=1; i <= 2; i++) {
			document.getElementById('giftvoucher_' + i).style.display = "";
		}
	}
	
}

function checkCheckoutShipping() {
	document.checkout.action = "checkout_shipping_action.php";
	document.checkout.submit();
	return true;
}

function checkCheckoutDetails() {
	var str1, str2, str3, str4, str5, str6, str7, str8, str9, str10
	var str19, str20, str21, str22, str23
	var errFlag = false;
	var errCount = 0;
	var errMsg = "";
	var errExp = new RegExp(" ", "g");
	
	str1 = document.getElementById('gift_1');
	str2 = document.checkout.gift_name.value;
	str3 = document.checkout.gift_phone.value;
	str4 = document.checkout.gift_email.value;
	str5 = document.checkout.address_line1.value;
	str6 = document.checkout.city.value;
	str7 = document.checkout.province.value;
	str8 = document.checkout.country.value;
	str9 = document.checkout.postcode.value;
	str10 = document.getElementById('gift_wrapped_1');
	
	str2 = str2.replace(errExp, "")
	str3 = str3.replace(errExp, "")
	str4 = str4.replace(errExp, "")
	str5 = str5.replace(errExp, "")
	str6 = str6.replace(errExp, "")
	str7 = str7.replace(errExp, "")
	str8 = str8.replace(errExp, "")
	str9 = str9.replace(errExp, "")
	
	if (str1.checked) {
		
		if (str2.length == 0){
			errCount += 1;
			errFlag = true;
			errMsg += "- gift: person\'s name\n";
			document.checkout.gift_name.focus();
		}
		
		if (str3.length == 0){
			errCount += 1;
			errFlag = true;
			errMsg += "- gift: phone number\n";
			document.checkout.gift_phone.focus();
		}
		
		if (str4.length != 0){
			if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(str4)){
				//do nothing
			} else {
				errFlag = true;
				errMsg += "- gift: email address is not of a valid format\n";
				document.voucher.gift_email.focus();
			}
		}
		
	}
	
	if (str5.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- address line 1\n";
		document.checkout.address_line1.focus();
	}
	
	if (str6.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- city / town\n";
		document.checkout.city.focus();
	}
	
	if (str7.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- province / state\n";
		document.checkout.province.focus();
	}
	
	if (str8.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- country\n";
		document.checkout.country.focus();
	}
	
	if (str9.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- postal code\n";
		document.checkout.postcode.focus();
	}
	
	if (errFlag == true) {
		if (errCount > 1){
			errMsg = "The following fields are incorrect:\n" + errMsg;
		}
		else {	
			errMsg = "The following field is incorrect:\n" + errMsg;
		}
		alert(errMsg);
		return false
	} 
	else {
		return true;
	}
}

function changeGiftWrappingFields(what) {
	
	if (what == 0) {
		
		for (i=1; i <= 2; i++) {
			document.getElementById('giftwrappingrow_' + i).style.display = "none";
		}
		
	} else {
		for (i=1; i <= 10; i++) {
			document.getElementById('giftwrappingrow_' + i).style.display = "";
		}
	}
	
}

function changeGiftFields(what) {
	
	if (what == 0) {
		
		for (i=1; i <= 8; i++) {
			document.getElementById('giftrow_' + i).style.display = "none";
		}
		
		document.getElementById('gift_name').value = "";
		document.getElementById('gift_phone').value = "";
		document.getElementById('gift_email').value = "";
		document.getElementById('gift_message').value = "";
		
	} else {
		for (i=1; i <= 8; i++) {
			document.getElementById('giftrow_' + i).style.display = "";
		}
	}
	
}

function checkVoucher() {
	var str1, str2, str3, str4
	var errFlag = false;
	var errCount = 0;
	var errMsg = "";
	var errExp = new RegExp(" ", "g");
	
	str1 = document.voucher.amount.value;
	str2 = document.voucher.recipient_name.value;
	str3 = document.voucher.recipient_email.value;
	str4 = document.voucher.sender_email.value;
	
	str1 = str1.replace(errExp, "")
	str2 = str2.replace(errExp, "")
	str3 = str3.replace(errExp, "")
	str4 = str4.replace(errExp, "")
		
	if (str1.length == 0) {
		errCount += 1;
		errFlag = true;
		errMsg += "- amount is required\n";
		document.voucher.amount.focus();
	} else if (isNaN(str1)) {
		errCount += 1;
		errFlag = true;
		errMsg += "- amount must be a number\n";
		document.voucher.amount.focus();
	} else if (str1 < 10) {
		errCount += 1;
		errFlag = true;
		errMsg += "- amount must be €10 or more\n";
		document.voucher.amount.focus();
	}
	
	if (str2.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- recipient name\n";
		document.voucher.recipient_name.focus();
	}
	
	if (str3.length != 0){
		if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(str3)){
			//do nothing
		} else {
			errFlag = true;
			errMsg += "- recipient email address is not of a valid format\n";
			document.voucher.recipient_email.focus();
		}
	}
	
	if (str4.length != 0){
		if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(str4)){
			//do nothing
		} else {
			errFlag = true;
			errMsg += "- sender email address is not of a valid format\n";
			document.voucher.sender_email.focus();
		}
	}
	
	if (errFlag == true) {
		if (errCount > 1){
			errMsg = "The following fields are incorrect:\n" + errMsg;
		}
		else {	
			errMsg = "The following field is incorrect:\n" + errMsg;
		}
		alert(errMsg);
		return false
	} 
	else {
		return true;
	}
}

function checkDeleteDelivery(what,id) {
	var varDelete = confirm('Are you sure you want to remove the\ndelivery address: ' + what + '?')
	
	if (varDelete) {
		self.location.href = "profile-delivery-extra-delete_action.php?id=" + id;
	}
}

function checkProfileDelivery() {
	var str1, str2, str3, str4, str5
	var errFlag = false;
	var errCount = 0;
	var errMsg = "";
	var errExp = new RegExp(" ", "g");
	
	str1 = document.profile.address_line1_delivery.value;
	str2 = document.profile.city_delivery.value;
	str3 = document.profile.province_delivery.value;
	str4 = document.profile.country_delivery.value;
	str5 = document.profile.postcode_delivery.value;
	
	str1 = str1.replace(errExp, "")
	str2 = str2.replace(errExp, "")
	str3 = str3.replace(errExp, "")
	str4 = str4.replace(errExp, "")
	str5 = str5.replace(errExp, "")
	
	if (str1.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- address line 1\n";
		document.profile.address_line1_delivery.focus();
	}
	
	if (str2.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- city / town\n";
		document.profile.city_delivery.focus();
	}
	
	if (str3.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- province / state\n";
		document.profile.province_delivery.focus();
	}
	
	if (str4.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- country\n";
		document.profile.country_delivery.focus();
	}
	
	if (str5.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- postal code\n";
		document.profile.postcode_delivery.focus();
	}
	
	if (errFlag == true) {
		if (errCount > 1){
			errMsg = "The following fields are incorrect:\n" + errMsg;
		}
		else {	
			errMsg = "The following field is incorrect:\n" + errMsg;
		}
		alert(errMsg);
		return false
	} 
	else {
		return true
	}
}

function checkProfileDetails() {
	var str1, str2, str3, str4, str5, str6, str7, str8, str9, str10, str11, str12, str13
	var errFlag = false;
	var errCount = 0;
	var errMsg = "";
	var errExp = new RegExp(" ", "g");
	
	str1 = document.profile.name.value;
	str2 = document.profile.surname.value;
	str3 = document.profile.email.value;
	str4 = document.profile.telephone.value;
	str5 = document.profile.fax.value;
	str6 = document.profile.cellphone.value;
	str7 = document.profile.address_line1.value;
	str8 = document.profile.city.value;
	str9 = document.profile.province.value;
	str10 = document.profile.country.value;
	str11 = document.profile.postcode.value;
	str12 = document.profile.password.value;
	str13 = document.profile.password_confirm.value;
	
	str1 = str1.replace(errExp, "")
	str2 = str2.replace(errExp, "")
	str3 = str3.replace(errExp, "")
	str4 = str4.replace(errExp, "")
	str6 = str6.replace(errExp, "")
	str8 = str8.replace(errExp, "")
	str9 = str9.replace(errExp, "")
	str10 = str10.replace(errExp, "")
	str11 = str11.replace(errExp, "")
	str12 = str12.replace(errExp, "")
	str13 = str13.replace(errExp, "")
	
	if (str1.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- name\n";
		document.profile.name.focus();
	}
	
	if (str2.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- surname\n";
		document.profile.surname.focus();
	}
	
	if (str3.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- email address\n";
		document.profile.email.focus();
	} else {
		if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(str3)){
			//do nothing
		} else {
			errCount += 1;
			errFlag = true;
			errMsg += "- email address is an invalid format\n";
			document.profile.email.focus();
		}
	}
	
	if (str4.length == 0 && str5.length == 0 && str6.length == 0) {
		errCount += 1;
		errFlag = true;
		errMsg += "- at least one contact number\n   is required\n";
		document.profile.cellphone.focus();
	}
		
	if (str7.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- address line 1\n";
		document.profile.address_line1.focus();
	}
	
	if (str8.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- city / town\n";
		document.profile.city.focus();
	}
	
	if (str9.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- province / state\n";
		document.profile.province.focus();
	}
	
	if (str10.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- country\n";
		document.profile.country.focus();
	}
	
	if (str11.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- postal code\n";
		document.profile.postcode.focus();
	}
	
	if (str12.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- password\n";
		document.profile.password.focus();
	} else {
		if (str12.length < 6 || str12.length > 12){
			errCount += 1;
			errFlag = true;
			errMsg += "- password must be 6-12 characters,\n  with no spaces\n";
			document.profile.password.focus();
		}
		
		if (document.profile.password.value != str12) {
			errCount += 1;
			errFlag = true;
			errMsg += "- password must not contain any spaces\n";
			document.profile.password.focus();		
		}
	}
	
	if (str13.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- confirm password\n";
		document.profile.password_confirm.focus();
	}
	
	if (str12 != str13) {
		errCount += 1;
		errFlag = true;
		errMsg += "- password and confirm password\n  are not the same\n";
		document.profile.password_confirm.focus();
	}
	
	if (errFlag == true) {
		if (errCount > 1){
			errMsg = "The following fields are incorrect:\n" + errMsg;
		}
		else {	
			errMsg = "The following field is incorrect:\n" + errMsg;
		}
		alert(errMsg);
		return false
	} 
	else {
		return true;
	}
}

function checkRegister() {
	var str1, str2, str3, str4, str5, str6, str7, str8, str9, str10, str11, str12, str13, str14, str15, str16, str17, str18, str19, str20, str21
	var errFlag = false;
	var errCount = 0;
	var errMsg = "";
	var errExp = new RegExp(" ", "g");
	
	str1 = document.register.name.value;
	str2 = document.register.surname.value;
	str3 = document.register.email.value;
	str4 = document.register.telephone.value;
	str5 = document.register.fax.value;
	str6 = document.register.cellphone.value;
	str7 = document.register.address_line1.value;
	str8 = document.register.city.value;
	str9 = document.register.province.value;
	str10 = document.register.country.value;
	str11 = document.register.postcode.value;
	str12 = document.register.address_line1_delivery.value;
	str13 = document.register.city_delivery.value;
	str14 = document.register.province_delivery.value;
	str15 = document.register.country_delivery.value;
	str16 = document.register.postcode_delivery.value;
	str17 = document.register.password.value;
	str18 = document.register.password_confirm.value;
	str19 = document.getElementById("comm_terms");
	str20 = document.register.heard.value;
	str21 = document.register.heard_detail.value;
	
	str1 = str1.replace(errExp, "")
	str2 = str2.replace(errExp, "")
	str3 = str3.replace(errExp, "")
	str4 = str4.replace(errExp, "")
	str5 = str5.replace(errExp, "")
	str6 = str6.replace(errExp, "")
	str7 = str7.replace(errExp, "")
	str8 = str8.replace(errExp, "")
	str9 = str9.replace(errExp, "")
	str10 = str10.replace(errExp, "")
	str11 = str11.replace(errExp, "")
	str12 = str12.replace(errExp, "")
	str13 = str13.replace(errExp, "")
	str14 = str14.replace(errExp, "")
	str15 = str15.replace(errExp, "")
	str16 = str16.replace(errExp, "")
	str17 = str17.replace(errExp, "")
	str18 = str18.replace(errExp, "")
	str20 = str20.replace(errExp, "")
	str21 = str21.replace(errExp, "")
	
	if (str1.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- name\n";
		document.register.name.focus();
	}
	
	if (str2.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- surname\n";
		document.register.surname.focus();
	}
	
	if (str3.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- email address\n";
		document.register.email.focus();
	} else {
		if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(str3)){
			//do nothing
		} else {
			errCount += 1;
			errFlag = true;
			errMsg += "- email address is an invalid format\n";
			document.register.email.focus();
		}
	}
	
	if (str4.length == 0 && str5.length == 0 && str6.length == 0) {
		errCount += 1;
		errFlag = true;
		errMsg += "- at least one contact number\n   is required\n";
		document.register.cellphone.focus();
	}
		
	if (str7.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- address line 1\n";
		document.register.address_line1.focus();
	}
	
	if (str8.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- city / town\n";
		document.register.city.focus();
	}
	
	if (str9.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- province / state\n";
		document.register.province.focus();
	}
	
	if (str10.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- country\n";
		document.register.country.focus();
	}
	
	if (str11.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- postal code\n";
		document.register.postcode.focus();
	}
	
	if (str12.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- address line 1 - delivery\n";
		document.register.address_line1_delivery.focus();
	}
	
	if (str13.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- city / town - delivery\n";
		document.register.city_delivery.focus();
	}
	
	if (str14.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- province / state - delivery\n";
		document.register.province_delivery.focus();
	}
	
	if (str15.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- country - delivery\n";
		document.register.country_delivery.focus();
	}
	
	if (str16.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- postal code - delivery\n";
		document.register.postcode_delivery.focus();
	}

	if (str17.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- password\n";
		document.register.password.focus();
	} else {
		if (str17.length < 6 || str17.length > 12){
			errCount += 1;
			errFlag = true;
			errMsg += "- password must be 6-12 characters,\n  with no spaces\n";
			document.register.password.focus();
		}
		
		if (document.register.password.value != str17) {
			errCount += 1;
			errFlag = true;
			errMsg += "- password must not contain any spaces\n";
			document.register.password.focus();		
		}
	}
	
	if (str18.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- confirm password\n";
		document.register.password_confirm.focus();
	}
	
	if (str17 != str18) {
		errCount += 1;
		errFlag = true;
		errMsg += "- password and confirm password\n  are not the same\n";
		document.register.password_confirm.focus();
	}
	
	if (str20.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- how did you hear about us?\n";
		document.register.heard.focus();
	}
	
	if (str20.length != 0){
		if (str21.length == 0 && str20 == "Somewhereelse"){
			errCount += 1;
			errFlag = true;
			errMsg += "- how did you hear - please specify\n";
			document.register.heard_detail.focus();
		}
	}
		
	if (errFlag == true) {
		if (errCount > 1){
			errMsg = "The following fields are incorrect:\n" + errMsg;
		}
		else {	
			errMsg = "The following field is incorrect:\n" + errMsg;
		}
		alert(errMsg);
		return false
	} 
	else {
		
		if (str19.checked == false) {
			errMsg += "Please agree to our Terms and Conditions.\n";
			alert(errMsg);
			return false;
		} else {
			return true;
		}
		
	}
}

function changeDelivery() {
	
	if (document.getElementById('delivery').checked == true) {
		document.register.address_line1_delivery.value = document.register.address_line1.value;
		document.register.address_line2_delivery.value = document.register.address_line2.value;
		document.register.city_delivery.value = document.register.city.value;
		document.register.province_delivery.value = document.register.province.value;
		document.register.country_delivery.value = document.register.country.value;
		document.register.postcode_delivery.value = document.register.postcode.value;
	} else {
		document.register.address_line1_delivery.value = "";
		document.register.address_line2_delivery.value = "";
		document.register.city_delivery.value = "";
		document.register.province_delivery.value = "";
		document.register.country_delivery.value = "";
		document.register.postcode_delivery.value = "";
	}
	
}

function checkForgot() {
	var str1
	var errFlag = false;
	var errMsg = "";
	var errExp = new RegExp(" ", "g");
	
	str1 = document.forgot.email.value;
	str1 = str1.replace(errExp, "")
		
	if (str1.length == 0) {
		errFlag = true;
		errMsg += "- email address\n";
		document.forgot.email.focus();
	} else {
		if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(str1)){
			//do nothing
		} else {
			errFlag = true;
			errMsg += "- email address is an invalid format\n";
			document.forgot.email.focus();
		}
	}
	
	if (errFlag == true) {
		
		errMsg = "The following field is invalid:\n" + errMsg;
		alert(errMsg);
		return false
		
	} else {
		return true
	}
}

function checkLogin() {
	var str1, str2
	var errFlag = false;
	var errCount = 0;
	var errMsg = "";
	var errExp = new RegExp(" ", "g");
	
	str1 = document.login.email.value;
	str2 = document.login.password.value;
	
	str1 = str1.replace(errExp, "")
	str2 = str2.replace(errExp, "")
		
	if (str1.length == 0) {
		errCount += 1;
		errFlag = true;
		errMsg += "- email address\n";
		document.login.email.focus();
	} else {
		if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(str1)){
			//do nothing
		} else {
			errCount += 1;
			errFlag = true;
			errMsg += "- email address is an invalid format\n";
			document.login.email.focus();
		}
	}
	
	if (str2.length == 0) {
		errCount += 1;
		errFlag = true;
		errMsg += "- password\n";
		document.login.password.focus();
	}
	
	if (errFlag == true) {
		
		if (errCount > 1) {
			errMsg = "The following fields are required:\n" + errMsg;
		} else {	
			errMsg = "The following field is required:\n" + errMsg;
		}
		alert(errMsg);
		return false
		
	} else {
		
		return true
	}
}

function checkDeleteCart(id) {
	var varDelete = confirm('Are you sure you want\nto delete this product?')
	
	if (varDelete) {
		self.location.href = "shopping-list-delete.php?id=" + id;
	}
}

function checkContact() {
	var str1, str2, str3, str4, str5
	var errFlag = false;
	var errCount = 0;
	var errMsg = "";
	var errExp = new RegExp(" ", "g");
	
	str1 = document.contact.name.value;
	str2 = document.contact.email.value;
	str3 = document.contact.comments.value;
	str4 = document.contact.heard.value;
	str5 = document.contact.heard_detail.value;
	
	str1 = str1.replace(errExp, "")
	str2 = str2.replace(errExp, "")
	str3 = str3.replace(errExp, "")
	str4 = str4.replace(errExp, "")
	str5 = str5.replace(errExp, "")
		
	if (str1.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- your name\n";
		document.contact.name.focus();
	}
	
	if (str2.length == 0) {
		errCount += 1;
		errFlag = true;
		errMsg += "- your email address\n";
		document.contact.email.focus();
	} else {
		if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(str2)){
			//do nothing
		} else {
			errCount += 1;
			errFlag = true;
			errMsg += "- invalid format for your email address\n";
			document.contact.email.focus();
		}
	}
	
	if (str3.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- comments\n";
		document.contact.comments.focus();
	}
	
	if (str4.length == 0){
		errCount += 1;
		errFlag = true;
		errMsg += "- how did you hear about us?\n";
		document.contact.heard.focus();
	}
	
	if (str4.length != 0){
		if (str5.length == 0 && str4 == "Somewhereelse"){
			errCount += 1;
			errFlag = true;
			errMsg += "- how did you hear - please specify\n";
			document.contact.heard_detail.focus();
		}
	}

	if (errFlag == true) {
		if (errCount > 1){
			errMsg = "The following fields are required:\n" + errMsg;
		}
		else {	
			errMsg = "The following field is required:\n" + errMsg;
		}
		alert(errMsg);
		return false
	} 
	else {
		return true;
	}
}

function checkReferFriend() {
	var str1, str2, str3, str4
	var errFlag = false;
	var errCount = 0;
	var errMsg = "";
	var errExp = new RegExp(" ", "g");
	
	str1 = document.friend.name.value;
	str2 = document.friend.email.value;
	str3 = document.friend.name_friend.value;
	str4 = document.friend.email_friend.value;
	
	str1 = str1.replace(errExp, "")
	str2 = str2.replace(errExp, "")
	str3 = str3.replace(errExp, "")
		
	if (str1.length == 0) {
		errCount += 1;
		errFlag = true;
		errMsg += "- your name\n";
		document.friend.name.focus();
	}
	
	if (str2.length == 0) {
		errCount += 1;
		errFlag = true;
		errMsg += "- your email address\n";
		document.friend.email.focus();
	} else {
		if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(str2)){
			//do nothing
		} else {
			errCount += 1;
			errFlag = true;
			errMsg += "- invalid format for your email address\n";
			document.friend.email.focus();
		}
	}
	
	if (str3.length == 0) {
		errCount += 1;
		errFlag = true;
		errMsg += "- your friend\'s name\n";
		document.friend.name_friend.focus();
	}
	
	if (str4.length == 0) {
		errCount += 1;
		errFlag = true;
		errMsg += "- your friend\'s email address\n";
		document.friend.email_friend.focus();
	} else {
		if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(str4)){
			//do nothing
		} else {
			errCount += 1;
			errFlag = true;
			errMsg += "- invalid format for your friend\'s email address\n";
			document.friend.email_friend.focus();
		}
	}
	
	if (errFlag == true) {
		
		if (errCount > 1) {
			errMsg = "The following fields are empty:\n" + errMsg;
		} else {	
			errMsg = "The following field is empty:\n" + errMsg;
		}
		alert(errMsg);
		return false
		
	} else {
		return true;
	}
}
	
function validateEmail(what) {
	var str1
	var errFlag = false;
	var errCount = 0;
	var errMsg = "";
	var errExp = new RegExp(" ", "g")
	
	str1 = document.getElementById(what).email.value;
		
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(str1)){
		//do nothing
	} else {
		errFlag = true;
		errMsg += "- email address\n";
		document.getElementById(what).email.focus();
	}
	
	if (errFlag == true) {
		errMsg = "The following field is not valid:\n" + errMsg;
		alert(errMsg);
		return false
	} else {
		return true
	}
}

// -->