function isEmail(str) {
  // are regular expressions supported?
  var supported = 0;
  if (window.RegExp) {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
  }
  if (!supported)
    return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
  return (!r1.test(str) && r2.test(str));
}

function save() {
	var form = window.document.manage;
	form.outputshop_action.value= 'done';
	if (validateShop()) form.submit();
}

function validateObject(control) {
	control.style.backgroundColor = '#ffffff';
	if (control.value == '') {
		control.style.backgroundColor = '#ce7b6b';
		control.focus();
		confirm("Please fill in all mandatory fields, which are highlighted in red.");
		return false;
	}
    return true;
}

function outpostValidateCustomer(action) {

	var form = window.document.manage;
	if (!validateObject(form.frm_firstname)) return false;
	if (!validateObject(form.frm_surname)) return false;
	if (!validateObject(form.frm_delivery_address_1)) return false;
	if (!validateObject(form.frm_delivery_postcode)) return false;
	if (!validateObject(form.frm_home_phone)) return false;
	form.frm_email.style.backgroundColor = '#ffffff';
	if (!validateObject(form.frm_email) || !isEmail(form.frm_email.value)) {
		form.frm_email.style.backgroundColor = '#ce7b6b';
		form.frm_email.focus();
		confirm("Please enter a valid email address.");
		return false;
	}

	var voucher_no = "";
	var voucher_value = 0;
	if (form.frm_voucher_no.value > 0) {
		for (i =0 ; i < form.frm_voucher_no.value; i++) {
			voucher_no = form.elements["frm_voucher_no_" + i].value;
			voucher_value = form.elements["frm_voucher_value_" + i].value;
			form.elements["frm_voucher_no_" + i].style.backgroundColor = '#ffffff';
			if (voucher_no == "") {
				form.elements["frm_voucher_no_" + i].style.backgroundColor = '#ce7b6b';
				form.elements["frm_voucher_no_" + i].focus();
				confirm("Please enter a valid voucher number.");
				return false;
			}
			form.elements["frm_voucher_value_" + i].style.backgroundColor = '#ffffff';
			if (isNaN(voucher_value) || isNaN(parseInt(voucher_value))) {
				form.elements["frm_voucher_value_" + i].style.backgroundColor = '#ce7b6b';
				form.elements["frm_voucher_value_" + i].focus();
				confirm("Please enter a valid voucher value.");
				return false;
			}
		}
	}
	return true;
}