/*
collect.js 收藏
by sunhw 2014-8-21
收藏接口:
http://api.fun.tv/ajax/favorite/add/$id
http://api.fun.tv/ajax/favorite/cancel/$id
*/
;
(function() {
function Collect( option ) {
this.option = T.object.extend( {
root : '',
collectBtn : ''
}, option || {} );
this.map = {
noadd : '收藏',
added : '已收藏',
addedTit : '取消收藏',
addedClassName : 'collected'
};
this.init();
}
Collect.prototype.bind = function() {
var me = this;
var btn = T.get( me.option.collectBtn );
var vid = T.getAttr( T.get( me.option.root ), 'data-videoid' );
var isCollected = T.dom.hasClass( btn, me.map.addedClassName );
var type = isCollected ? 'cancel' : 'add';
var url = F.config.api + '/ajax/favorite/' + type + '/' + vid;
if ( F.tool.user.userid ) {
F.get( url, function( json ) {
if ( !json ) {return;}
if ( json.status == 200 ) {
if ( isCollected ) {
T.dom.removeClass( btn, me.map.addedClassName );
T.q( 'txt', btn )[ 0 ].innerHTML = me.map.noadd;
T.setAttr( btn, 'title', me.map.noadd );
} else {
T.dom.addClass( btn, me.map.addedClassName );
T.q( 'txt', btn )[ 0 ].innerHTML = me.map.added;
T.setAttr( btn, 'title', me.map.addedTit );
}
}
} );
} else {
F.tool.ajaxLogin.panel();
}
}
Collect.prototype.init = function() {
var me = this;
var btn = T.get( me.option.collectBtn );
if ( !btn ) {
return;
}
T.on( btn, 'click', function( e ) {
T.event.stop( T.event.get( e ) );
me.bind();
} );
}
T.dom.ready( function() {
var collect = new Collect( {
root : '_digglist',
collectBtn : 'favorite'
} );
} );
})();