jQuery(document).ready(function() 
{      
    var jforms = jQuery("#add_to_cart form");    
    jforms.each(function(i)
    {

    jQuery(this).bind('submit', onSubmit);
    });
    		
    function onSubmit(e)
    {
    	e.preventDefault();
 
        var form = jQuery(this);  
        var img = jQuery(this).find('img.img-drop');  

        var options = {
        	url : form.attr('action'),	
            type : form.attr('method'),
        	dataType : 'json',
            data : form.serialize(),
            success : function(data){onAddSuccess(data, img);},
            failure : onAddFailure
        };

        jQuery.ajax(options);
    }
    
    var jdivs = jQuery("#topselling > div, #new > div, #featured > div, #tpl_search > div, #associated > div, #alternative > div");   
    
    jdivs.each(function(i)
    {
	    var div = jQuery(this);
	    var link = jQuery('#' + div.attr('id') + " a.button");
	
	    link.bind('click', onClick);
    });
    		
    function onClick(e)
    {
    	e.preventDefault();

        var img = jQuery(this).parent('dd').find('img.img-drop');  
        var url = jQuery(this).attr('href'); 

        var options = {
        	url : url,	
        	dataType : 'json',
            success : function(data){onAddSuccess(data, img);},
            failure : onAddFailure
        };

        jQuery.ajax(options);
    }
    
      
    

    function onAddSuccess (data, image)
    {
      	var imageOffset = image.offset(); 
      	var position = image.position();
		var cart  = jQuery('#module_cart').offset();
		var items = jQuery('#module_cart tr.items td.bold_text');
		var shipping = jQuery('#module_cart tr.shipping td.bold_text');
		var total = jQuery('#module_cart tr.total td.bold_text span');

		//image.before('<img src="' + image.attr('src') + '" id="temp" style="position: absolute; top: ' + position.top + 'px; left: ' + position.left + 'px; z-index: 1001" />');
		jQuery('#wrapper').after('<img src="' + image.attr('src') + '" id="temp" style="position: absolute; top: ' + imageOffset.top + 'px; left: ' + imageOffset.left + 'px; z-index: 1001" />');
		
		params = {
			top : cart.top + 'px',
			left : cart.left + 'px',
			opacity : 0.0,
			width : jQuery('#module_cart').width(),  
			height : jQuery('#module_cart').height()
		};		
	
		jQuery('#temp').animate(params, 'slow', false, function () {
			jQuery('#temp').remove();
		});
	
		// update cart total
		items.text(data.TotalItems + ' Item(s)');
		shipping.text("\u00A3" + parseFloat(data.TotalPostage).toFixed(2));
		total.text("\u00A3" + parseFloat(data.Totals).toFixed(2));
		
		if ( jQuery('form').attr('name') == 'basket' )
		{
			setTimeout("location.href = '/basket/';", 300);
		}
		
    }


    function onAddFailure (transport)
    {
    	alert('Error adding product to cart');
    }
    
 });



