function updateCart() {
	if (document.cart.onsubmit()) {
		document.cart.submit();
	}
}


function validateQty(theForm) {
	for (var i=0;i<theForm.length;i++) {
		if (!valRequired(theForm.elements[i],"quantities for each item")) {
			return false;
		} else {
			if (!isNumber(theForm.elements[i],"The quantities must be a number"))
				return false;
		}
	}
	return true;
}


function submitDetails() {
	if (document.details.onsubmit()) {
		document.details.submit();
	}
}


function submitOrder() {
	document.order.submit();
}


function valRequired(formField, fieldLabel) {
  var result = true;
  if (formField.value.search(/[a-zA-Z0-9]/)) {
    alert('Please enter ' + fieldLabel);
    formField.focus();
    result = false;
  }
  return result;
}


function isEmailAddr(email) {
  var result = false;
  var e = new String(email.value);
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	result = (filter.test(e)) ;
  if (!result) {
    alert('Please enter a valid email address');
    email.focus();
  }
  return result;
}


function isPhone(formField, required) {
  var ValidChars = "0123456789()-+ ";
  var IsNumber=true;
  var Char;
  var sText = formField.value;

  if (!required && sText.length ==0)
    return true;

  if (sText.length == 0) {
  	alert('Please enter a phone number');
    formField.focus();
    return false;
  } else if (sText.length < 7) {
    alert('Your phone number must be at least 7 digits long');  	
    formField.focus();
    return false;
  }
    
  for (i = 0; i < sText.length && IsNumber == true; i++) { 
    Char = sText.charAt(i); 
    if (ValidChars.indexOf(Char) == -1) {
      IsNumber = false;
    }
  }
  if (!IsNumber)
    alert('Please enter a valid phone number');
    formField.focus();
  return IsNumber;
}


function isNumber(field, msg) {
  if (field.value.search(/[0-9]/)) {
     alert(msg);
     field.focus();  
     return false;
  }
  return true;
}


function validateContact(theForm) {
  if (!valRequired(theForm.lastname,"your last name"))
     return false;
  if (!valRequired(theForm.firstname,"your first name"))
     return false;
  if (!valRequired(theForm.road,"your delivery road"))
     return false;
  if (!valRequired(theForm.rd,"your rural delivery")) {
     return false;
  } else {
	 if (!isNumber(theForm.rd,"Your rural delivery must be just a number"))
		return false;
  }
  if (!valRequired(theForm.town,"your closest town"))
     return false;
  if (!valRequired(theForm.phone,"your phone number")) {
     return false;
  } else {
     if (!isPhone(theForm.phone, false))
       return false;
  }
  if (!valRequired(theForm.email,"your email address")) {
     return false;
  } else {
     if (!isEmailAddr(theForm.email))
      return false;
  }
  return true;
}


function externalLinks() { 
  if (!document.getElementsByTagName) return; 
  var anchors = document.getElementsByTagName("a"); 
  for (var i=0; i<anchors.length; i++) { 
    var anchor = anchors[i]; 
    if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external") 
      anchor.target = "_blank"; 
  } 
}


window.onload = externalLinks;