var timeouts = {};

jQuery(document).ready(function(){
	var verifyStock = function(ev){

		ev.stopPropagation();
	
		var form = jQuery(this).closest('form');
		var id = form.find('*[name=product_id]').val();
		var qty = form.find('.qtyBox').val();
		var stock = eval('product_stock_level.p_'+id);

		if(qty>stock){
			ev.stopImmediatePropagation();
			var targetQty = form.find('#qty_'+id+', .qtyBox');
			targetQty.validationEngine('showPrompt', 'There is not enough stock to fulfil your request.', 'error', true);
			
			var master_product_id = form.find('*[name=master_product_id]').val();
			
			var timeout_id = eval('timeouts.id_'+master_product_id);
			
			clearTimeout(timeout_id);
			
			var timeout_id = setTimeout(function(){
				form.find('.qtyBox').validationEngine('hide');
			},2500);
			
			eval('timeouts.id_'+master_product_id+' = '+timeout_id);
			
			return false;
		
		}
			else form.find('.qtyBox').validationEngine('hide');
		return true;

	};

	jQuery('.qtyBox').change(verifyStock);
	jQuery('.price + form, #pdSidebar form').submit(verifyStock);

});

