
function validate_quantities (alert_element_id)
{
	var validated = true;
	var error_message = 'The quantity you entered is not valid!';

	/* check we have at least one positive numeric quantity on fields classed with "quantity" */
    if(site_area ==  'inkjet-laser'){
        // we only want to validate checked quantities for blank products
        var check = $("input.quantity:checked").get();

    }else{
        var check = $("input.quantity").get();
    }
	

    //console.log(site_area);
    //console.log(check);alert('stop');
	if (check.length) {
		var one_valid = false;
		
		for (i = 0; i < check.length; i++) {
			var quantity = Number($(check[i]).val());
			var result = false;

			if (isNaN(quantity)) validated = false;
			else if (quantity > 0) {
				one_valid = true;
				result = true;
			}

			bg = result ? '#fff' : '#ff9';
			$(check[i]).css('background', bg);
		}

		// we need at least one valid quantity
		if (validated && !one_valid) validated = false;
	}else if(site_area=='inkjet-laser' && check.length==0){ // skip this for the cart page, just need it for the blank sheet product page
        // we need at least one valid quantity
        validated = false;
        error_message = 'Please choose a quantity.';
    }
    
	if (validated) { 

		/* now validate those with a minimum and step quantity */
		var check = $("input[class^=validate]").get();
        for (i = 0; i < check.length; i++) {
			var classes = $(check[i]).attr('class').split(' ');
			var parameters = classes[0].split('-');

			var minimum_qty = Number(parameters[1]);
			var jump_qty    = Number(parameters[2]);
			var quantity    = Number($(check[i]).val());

			// only validate if quantity is specified - allow 0 here for blank quantity on unwanted variations, i.e. 
			//var result = (quantity == 0 || (quantity >= minimum_qty && (quantity % jump_qty) == 0));
			
			var result = true;
			
			if(quantity != 0)
			{
				if(quantity < minimum_qty)
				{
					error_message = "Quantity must be greater than "+minimum_qty;
					result = false;
				
				}else if((quantity % jump_qty) != 0)
				{
					error_message = "This product must be purchased in increments of "+jump_qty;
					result = false;
				}
			}

			bg = result ? '#fff' : '#ff9';
			$(check[i]).css('background', bg);

			validated = (validated && result);
		}
	}

	if (!validated){
	 	if(alert_element_id){
	 		$(alert_element_id).html(error_message);
	 	}else{
	 		alert (error_message);
		}
	 }

	return validated;
}

$(document).ready(function() {

    $('#add-to-cart-form').submit(function () {
        //located in /js/validate_quantities.js
        //return validate_quantities();

    });

});
