KISSY.add("mui/lazytms",function(S,DOM){var readTms=function(t){if(!/^chn|rgn|market|act|app\//.test(t.tmsId)){t.tmsId="rgn/"+t.tmsId}t.tmsId=t.tmsId.replace(/.php/g,"");t.tmsUrl=t.tmsUrl?t.tmsUrl.replace(/.php/g,""):t.tmsId;var a=t.ts?t.ts:1,e=parseInt((new Date).getTime()/a),c="http://www.taobao.com/tms/read-tms3.php?id="+t.tmsUrl+"&t="+e;S.getScript(c,{success:function(){t.init(window.__rgn)}})},viewTms=function(cfg){cfg.init=function(data){var html=data&&data[cfg.tmsId];if(html){if(cfg.filterFun){var filterFun=cfg.callbackMod?eval(cfg.callbackMod+'["'+cfg.filterFun+'"]'):cfg.lazytms[cfg.filterFun];html=filterFun(html)}DOM.html(cfg.el,html);if(cfg.loadScripts){_runTmsJs(html,cfg)}if(S.isFunction(cfg.callback)){cfg.callback(html)}else if(cfg.callback){var callback=cfg.callbackMod?eval(cfg.callbackMod+'["'+cfg.callback+'"]'):cfg.lazytms[cfg.callback];callback&&callback(html)}}};readTms(cfg)},loadView=function(ele,onDatalazyload){var self=this,myDatalazyload=onDatalazyload?onDatalazyload:_onDatalazyload;S.each(DOM.query(ele),function(el){if(DOM.attr(el,"lazytms-cfg")&&!el._mdvLoader){el._mdvLoader=function(){var cfg=DOM.attr(el,"lazytms-cfg");try{cfg=cfg?eval("("+cfg+")"):{}}catch(err){cfg={};setTimeout(function(){throw err},0)}DOM.attr(el,"lazytms-cfg","");S.use(cfg.initMod,function(t,a){a.initView(el,cfg,self)})};myDatalazyload(function(t){t.addCallback(el,function(){el._mdvLoader()})})}})},_initView=function(t,a,e){viewTms(S.mix({el:t,lazytms:e},a))},_onDatalazyload=function(t){var a=S.version.substring(2,3)*1>=4?"gallery/datalazyload/1.0.1/":"datalazyload";S.use(a,function(a,e){var c=new e(document.body,{autoDestroy:false});t(c)})},_runTmsJs=function(html,cfg){var result=[],runScript,allScript;allScript=html.match(/.*?<\/script>/gi);if(!allScript)return;for(var index=0;index<\/script>/i)){reg=allScript[index].match(/<\/script>/i);o.type="async-src";o.text=reg[1]}else if(reg=allScript[index].match(/<\/script>/i)){o.type="src";o.text=reg[1]}else if(reg=allScript[index].match(/([\s\S]*)<\/script>/i)){o.type="inline";o.text=reg[1]}result.push(o)}runScript=function(index){var next=function(){if(index+10&&runScript(0)};return{readTms:readTms,viewTms:viewTms,loadView:loadView,initView:_initView}},{requires:["dom"]});