'
}, dialog = this.dialog = new element('div#mini_cart_dialog.popup-container.mini-cart-dialog',{
'html': $('popup_template').get('html').substitute(options),
styles:{
display:'block',
zindex: maxzindex('div', 1)
}
}).inject(document.body);
this.title = dialog.getelement('.popup-header h2');
this.close = dialog.getelements('.popup-btn-close');
this.content = dialog.getelement('.popup-content');
this.dialog.addevent('click:relay(.popup-btn-close)',this.hide.bind(this));
var setsize = this.setsize = function(){
if(!dialog.isdisplayed()) return;
dialog.setstyles({
top:target.getposition().y+target.getsize().y,
left:target.getposition().x.limit(0,window.getsize().x-dialog.getsize().x) + window.getscroll().x
});
};
setsize();
window.addevent('resize',setsize);
},
'hide':function(){
try{
this.dialog.destroy();
window.removeevent('resize',this.setsize);
}catch(e){}
},
'load':function(options){
options = options || {};
options = object.merge({
method: 'post',
onrequest: function(){
minicart.show(options.target);
},
onsuccess: function(re){
if(re) {
this.title.innerhtml = '提醒';
this.content.innerhtml = re;
}
updatecartinfo();
if(document.getelement('.minicart_box')&&document.getelement('.minicart_box').get('show_gallery')){
document.getelement('.minicart_box').fireevent('_show'); //迷你购物车
}
options.callback && options.callback(re);
}.bind(this),
onfailure: function(xhr){
this.title.innerhtml = '提醒';
this.content.innerhtml = '';
}.bind(this)
},options||{});
if(!options.url) return false;
new request(options).send(options.data ? options.data.toquerystring() + '&mini_cart=true' : 'mini_cart=true');
},
init:function(target, url, data){
var linktocart;
if(typeof(target) == 'element') linktocart = target.getelements('[target=_dialog_minicart]');
else if(typeof(target) == 'elements') linktocart = target;
else linktocart = $$('a[target=_dialog_minicart], button[target=_dialog_minicart]');
if(linktocart.length){
linktocart.addevent('click',function(e){
e.preventdefault();
minicart.load({url: url || this.href, data: data || this.getparent('.goods-item') || this.getparent('li'), target: this});
});
}
}
};
formtocart = function(container,target) {
container = $(container || document.body);
target = target || '.action-addtocart';
if(!container) return;
var formtocart = container.getelement('form[target=_dialog_minicart]') || container.getfirst().getparent('form[target=_dialog_minicart]');
if(formtocart) {
formtocart.addevent('submit', function(e){
e.stop();
target = this.getelement(target) || this.getelement('*[type=submit]');
minicart.load({
url:this.action,
method:this.method,
data:this,
target: target,
callback: function() {
target.removeclass('disabled');
}.bind(this)
});
});
};
}
window.addevent('domready',function(){
minicart.init();
formtocart();
});
powered by