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 options = {
        	url : form.attr('action'),	
            type : form.attr('method'),
        	dataType : 'json',
            data : form.serialize(),
            success : function(data){onAddSuccess(data, form);},
            failure : onAddFailure
        };

        jQuery.ajax(options);
    }
    
    var jdivs = jQuery("#topselling div, #new div, #featured div, #tpl_search 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 div = jQuery(this).parents('div'); 
      
        //var url = jQuery('#' + div.attr('id') + " a").attr('href'); 
        var url = jQuery(this).attr('href'); 

        var options = {
        	url : url,	
        	dataType : 'json',
            success : function(data){onAddSuccess(data, div);},
            failure : onAddFailure
        };

        jQuery.ajax(options);
    }   
    

    function onAddSuccess (data, element)
    {
       	var image = jQuery('#' + element.attr('id') + " img.img-drop"); 
      	var imageOffset = image.offset(); 
      	//var top = image.css('top');
      	//var right = image.css('right');
      	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));
    }


    function onAddFailure (transport)
    {
    	alert('Error adding product to cart');
    }
    
 });



