function correctQty(qtyVal, minQtyVal) {
	var nonRoundedMultiplier = qtyVal / minQtyVal;
	var multiplier = Math.ceil(nonRoundedMultiplier);
	var sum = multiplier * minQtyVal;
	if (sum == 0) {
		sum = minQtyVal;
	}
	return sum;
}
function isInteger(str) {
	if (str.toString().search(/^-?[0-9]+$/) != -1) {
		return true;
	}
	return false;
}
function toInteger(str) {
	return str * 1;
}
$(document).ready(function(){
	$('.product-list.isolda .product h3 a').each(function(){       
       if($(this).text().length >=50){
		   $(this).wrapInner('<span class="full-text"></span>');           
			var trimmedText = $(this).children().text().substr(0,47) + '...';             
			$(this).append('<span class="trimmed-text">' + trimmedText + '</span>').hover(function(){
				$(this).children('.full-text').show().css("width","auto").css("cursor","pointer").css("padding-right","10px");
                           $(this).children('.trimmed-text').css("visibility","hidden");
			},function(){
				$(this).children('.full-text').hide();       
                           $(this).children('.trimmed-text').css("visibility","visible");
			});		
       }             
	});
	$('.primary .product-list .product h3 a').wrapInner('<span class="full-text"></span>').each(function(){
		var trimmedText = $(this).children().text().substr(0,22) + '...';
		$(this).append('<span class="trimmed-text">' + trimmedText + '</span>');
	}).hover(function(){
		$(this).children('.full-text').show().css("cursor","pointer");
	}, function(){
		$(this).children('.full-text').hide();
	});
	$('.product-list .product .info-area')
		.prepend('<img class="extra-product-info-toggler" src="'+ baseUrl + '/template-resources/images/plus-icon.png" alt="" />');		
		$('.product-list .extra-product-info-toggler').toggle(function(){
		var imgIcon = $(this);
		var productDiv = $(this).parents('.product');
		var productId  = productDiv.find("input[name^=cartItem][name$=.skuGuid]").val();  
     		if($.trim(productDiv.children('.secondary-info').html()).length >2){	
     		    imgIcon.attr('src',baseUrl + '/template-resources/images/minus-icon.png');
      			productDiv.addClass('open').children('.secondary-info').show();
      		}      	
		return false;
	}, function() {
		$(this).parents('.product').removeClass('open').children('.secondary-info').hide();
		$(this).attr('src',baseUrl + '/template-resources/images/plus-icon.png');
		return false;
	});	
			$('.product-list .extra-product-info-toggler').css('opacity','.5')
		.hover(function() {
		if($.trim($(this).parents('.product').children('.secondary-info').html()).length >2){
		 	$(this).fadeTo('normal',1); 
		 }
		 else {
		 	this.style.cursor='default';
		 }
		 }
		 , function() {
		 	 $(this).fadeTo('normal', '0.5'); 
		  });
	
	
	$('.product .quantity').click(function(){
		var minQtyVal = toInteger($(this).siblings('[name=minQty]').val());
		var qtyVal = toInteger($(this).val());
		if (qtyVal < minQtyVal && minQtyVal > 1) {
			var minQtyMsg = $(this).parent().parent().find('.min-qty');
			minQtyMsg.show();
			setTimeout(function(){ minQtyMsg.fadeOut("normal"); },2000);
		}
	});
	
	$('.interaction-area .add-to-cart.off').before('<div class="overlay"></div>');
	
	$('.product .add-to-cart, #product-details .add-to-cart').click(function(){
		var minQtyVal = $(this).siblings('[name=minQty]').val();
		var qty = $(this).siblings('input.quantity');
		var qtyVal = qty.val();
		if (!qtyVal) {
			qtyVal = 1;
		}
		var multiplier = qtyVal / minQtyVal;
		if (qtyVal != minQtyVal && !isInteger(multiplier)) {
			var correctedQty = correctQty(qtyVal, minQtyVal);
			var unitOfMeasure = $(this).siblings('.unit-of-measure').text();
			$(this).parent().prepend('<div class="inline-message warning">' + txtQtyHasChangedAccordingToMultiplier + ': ' + correctedQty + ' ' + unitOfMeasure.toLowerCase() + '</div>');
			setTimeout(function(){ $('.inline-message').fadeOut("slow").remove(); },2000);
		}
	});
	$('.overlay').mouseover(function(){
		if (!cartEmpty && cartSupplier != $(this).siblings('[name=supplier]').val()) {			
			//$(this).addClass('off').click(function(){ return false; });
			$(this).parent().prepend('<div class="inline-message warning">' + txtMultipleSuppliersNotAllowed + '</div>');
			setTimeout(function(){ $('.inline-message').fadeOut("slow").remove(); },2000);
		}
	});
});