/* this method taken from fashioncraft */
jQuery.validator.addMethod("negativeRange", function(value, element, params) {
    return this.optional(element) || !( value > params[0] && value < params[1] ); 
}, $.format("Quantity must be at least {1}, or 1 (for sample orders)"));

/* useage:
<script type="text/javascript">
	$(document).ready(function(){
		$("#addToCart").validate({
			ignore: ".noValidate"
		});
		$("#quantity").rules("add", {
			negativeRange: [1,12]
		});
	});
</script>
*/

jQuery.validator.addMethod("selectDepends", function(value, element, params) {
	/* check if this select element has the proper selection depending on the value
	* of another element 
	* params[0] = id of other element
	* params[1] = name of other element
	* params[2] = value (val) of other element that, if selected there, must also be selected here
	*/
	if ( $("#" + params[0] + " option:selected").val() == params[2] ) {
		if ( value != params[2] ) {
			return false;
		} else {
			return true;
		}
	} else {
		return true;
	}
}, $.format("If {2} is chosen for {1}, this must also be {2}"));


/* selectDepends useage:
<script type="text/javascript">
	$(document).ready(function(){
		$("#addToCart").validate({
			ignore: ".noValidate"
		});
		$("#quantity").rules("add", {
			selectDepends: [otherElementID,otherElementName,otherElementValue]
		});
	});
</script>
*/