

function productadd2cart(trigger, addtocarturl){

show_updating(trigger);
if(addtocarturl.indexOf('/checkout/cart/add/') > 0){
    new Ajax.Request(addtocarturl, {
      method: 'get',
      
      onSuccess: function(transport) {
        var messages = transport.responseText.evalJSON(); 
       
       if(!messages.error){
        
        new Ajax.Updater($('top_cart_container'), '/checkout/cart/top', {evalScripts:true, onComplete:function(){new hide_updating(trigger); expand_cart(messages,trigger)} });
        
        
        } else { alert(messages.message);  }
        
      }
    });
}else{
    setLocation(addtocarturl);
}


}

function productdadd2form(trigger, form){

var validation = new Validation('product_addtocart_form');
if(validation && validation.validate()){
           
        

show_updating(trigger);
 var action_url = form.action;


 /* new Ajax.Updater($('top_cart_container'), action_url, {
                parameters:form.serialize()
            });
 */
new Ajax.Request(action_url, {
  method: 'post',
  parameters: form.serialize(),
  onSuccess: function(transport) {
    var messages = transport.responseText.evalJSON(); 
   
   if(!messages.error){
    
    new Ajax.Updater($('top_cart_container'), '/checkout/cart/top', {evalScripts:true, onComplete:function(){new hide_updating(trigger); expand_cart(messages,trigger) } });
    
    
    } else { alert(messages.message);  hide_updating(trigger); }
    
  }
});

}

}

function show_updating(trigger){

$(trigger).hide();
$(trigger).insert({after:'<span class="ajax_updater" id="ajax_updater"></span>'});

}

function hide_updating(trigger){
trigger.show();
$('ajax_updater').remove();
}  



function expand_cart(messages, trigger) {
    new Effect.Highlight('top_cart_container' ,{ startcolor: '#fac5c6',
endcolor: '#ffffff'});

   // if(!withinviewport($('top_cart_container'))){
       /* alert(messages.message);*/
       Effect.ScrollTo('top_cart_container', { duration:'0.2', offset:-40 });
  //  }
}

function reset_cart(){

    if(!$('top_cart_details').hasClassName('hovered')){
        Effect.SlideUp('top_cart_details', { duration: 0.5 });
        Effect.BlindDown('tc_btn_details', {duration:0.6});
        $('top_cart_details').removeClassName('hovered');
    }

}


function withinviewport(el) {
        var elOffset = el.cumulativeOffset(),
             vpOffset = document.viewport.getScrollOffsets(),
             elDim = el.getDimensions(),
             vpDim = document.viewport.getDimensions();
        if (elOffset[1] + elDim.height < vpOffset[1] || elOffset[1] > vpOffset[1] + vpDim.height ||
        elOffset[0] + elDim.width < vpOffset[0]  || elOffset[0] > vpOffset[0] + vpDim.width) {
            return false;
            }
        return true;
}
 


function show_cart_details(trigger){

Effect.SlideDown('top_cart_details', { duration: 0.5 });
$(trigger).hide();

}

function hide_cart_details(){
Effect.SlideUp('top_cart_details', { duration: 0.5 });
Effect.BlindDown('tc_btn_details', {duration:0.6});
}



