function validLimit(formElement) {
	
	//declare variables
	var msg = '';
	var error = false;
	var numbersOnlyExpression = /^[0-9]+$/;
	
	if(numbersOnlyExpression.test(document.getElementById(formElement).value)) {
		
		var qty = parseInt(document.getElementById(formElement).value);
		var limit = parseInt(document.getElementById('limit_'+formElement).value);
		
		if (qty > limit) {
			document.getElementById(formElement).value = limit;
			msg += 'You can not exceed item limit\n';
			error = true;
		}	
			
	} else {
		document.getElementById(formElement).value = 0;
		msg += 'You must enter an integer in the quantity field';
		error = true;	
	}
	
	//return results to browser
	if (error) {
		alert(msg);
	}	
}

function get_all() {

  var cart_all = 'buy_all=true';
  for (i = 0; i < document.forms.length; i++) {
	  var id = '&qty[]=';
	  for (j = 0; j < document.forms[i].length - 2; j++) { 
		  if (document.forms[i].elements[j].value == 0) {
			  j++; //end iteration
		  } else {

  				  cart_all = cart_all + id + document.forms[i].elements[j].value;
				  if (id == '&qty[]=') {
					  id = '&stock[]=';
				  } else {
					  id = '&qty=[]';
				  }
		  }
	  }
  }
  //alert(cart_all);
  location.href="/show_cart.php?" + cart_all;


}

function validate() {
	
	//declare variables
	var msg = '';
	var error = false;
	var zip_pattern = /^\d{5}([\-]\d{4})?$/;
	var noNumbersExpression = /^[a-zA-Z\s]+$/;
	var emailExpression = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
	var telephoneExpression = /^[2-9]\d{2}-\d{3}-\d{4}$/;

	//next check for valid name format
	if (!noNumbersExpression.test(trim(document.getElementById('fname').value))) {
		msg += 'Name fields can only contain letters\n';
		error = true;
	}

	//next check for valid email format
	if (!emailExpression.test(trim(document.getElementById('email').value))) {
		msg += 'Email does not appear to be valid\n';
		error = true;
	}

	if (!telephoneExpression.test(trim(document.getElementById('telephone').value))) {
		msg += 'Telephone must be entered as xxx-xxx-xxxx\n';
		error = true;
	}
	
	//check for valid zip format
	if (document.getElementById('zip') != null) {
		if (!zip_pattern.test(document.getElementById('zip').value)) {
			msg += 'Zip Code must be a 5 digit integer\n';
			error = true;
		}
	}

	//return results to browser
	if (error) {
		alert(msg);
		return false;
	}
	else
		return true;
	
}

function validateZip() {
	//declare variables
	var msg = '';
	var error = false;	
	var zip_pattern = /^\d{5}([\-]\d{4})?$/;		
	
	//check for valid zip format
	if (!zip_pattern.test(document.getElementById('zipcode').value)) {
		msg += 'Zip Code must be a 5 digit integer';
		error = true;
	}
	
	//return results to browser
	if (error) {
		alert(msg);
		return false;
	}
	else
		return true;	
}


//used with checkout form
function validateCheckout() {
	
	//declare variables
	var msg = '';
	var error = false;
	var zip_pattern = /^\d{5}([\-]\d{4})?$/;
	var noNumbersExpression = /^[a-zA-Z\s]+$/;
	var emailExpression = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
	var telephoneExpression = /^[2-9]\d{2}-\d{3}-\d{4}$/;
	
	//next check for valid name format
	if (!noNumbersExpression.test(trim(document.getElementById('fname').value)) || !noNumbersExpression.test(trim(document.getElementById('lname').value))) {
		msg += 'Name fields can only contain letters\n';
		error = true;
	}

	//next check for valid email format
	if (!emailExpression.test(trim(document.getElementById('email').value))) {
		msg += 'Email does not appear to be valid.\n';
		error = true;
	}

	if (!telephoneExpression.test(trim(document.getElementById('dayphone').value))) {
		msg += 'Primary Telephone must be entered as xxx-xxx-xxxx\n';
		error = true;
	}

	if (document.getElementById('mobilephone').value != "") {
		if (!telephoneExpression.test(trim(document.getElementById('mobilephone').value))) {
			msg += 'Alternate Telephone must be entered as xxx-xxx-xxxx\n';
			error = true;
		}	
	}
	
	//check for valid zip format
	if (document.getElementById('billingzip') != null) {
		if (!zip_pattern.test(trim(document.getElementById('billingzip').value))) {
			msg += 'Zip Code must be a 5 digit integer\n';
			error = true;
		}
	}

	//return results to browser
	if (error) {
		alert(msg);
		return false;
	}
	else
		return true;
	
}

function trim(myString) {
	return myString.replace(/^s+/g,'').replace(/s+$/g,'')
}

function getOfferCode(theCode) {
	document.getElementById('code').value = theCode;
}

function validOfferCode() {
	var error = false;
	var code_pattern = /^[a-zA-Z][-](\d{4})/;
	var msg = '';
	
	//check for valid zip format
	if (!code_pattern.test(document.getElementById('code').value)) {
		msg = 'Offer Code must be formated as: F-1001\n';
		error = true;
	}
	
	//return results to browser
	if (error) {
		alert(msg);
		return false;
	}
	else
		return true;	
}
