
/*
 * UOL Mais Quicklist & UOL Mais IO Lib
 * by Irae
 * Copyright (c) 2008 UOL
 * 
 * Version: 1.3.2
 * 
 */
(function(){window.tvu=function(){};var tvu=window.tvu;var extend=function extend(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(typeof target==="boolean"){deep=target;target=arguments[1]||{};i=2}if(typeof target!=="object"&&typeof target!=="function"){target={}}for(;i<length;i++){if((options=arguments[i])!==null){for(var name in options){if(options.hasOwnProperty(name)){var src=target[name],copy=options[name];if(target===copy){continue}if(deep&&copy&&typeof copy==="object"&&!copy.nodeType){target[name]=extend(deep,src||(copy.length!==null?[]:{}),copy)}else{if(copy!==undefined){target[name]=copy}}}}}}return target};var domManip=function(elem,html,callback){if(elem&&elem.nodeType){var fragment=(elem.ownerDocument||elem).createDocumentFragment(),div=(elem.ownerDocument||elem||document).createElement("div");div.innerHTML=html;while(div.childNodes.length>0){fragment.appendChild(div.childNodes[0])}callback.call(elem,fragment)}};var getElem=function(elem){if(elem.nodeType){return elem}else{try{return document.getElementById(elem.replace(/^#/,""))}catch(e){}}};var htmlAppend=function(elem,html){elem=getElem(elem);domManip(elem,html,function(fragment){this.appendChild(fragment)})};var htmlBefore=function(elem,html){elem=getElem(elem);domManip(elem,html,function(fragment){this.parentNode.insertBefore(fragment,this)})};var htmlAfter=function(elem,html){elem=getElem(elem);domManip(elem,html,function(fragment){this.parentNode.insertBefore(fragment,this.nextSibling)})};var htmlInner=function(elem,html){elem=getElem(elem);elem.innerHTML="";htmlAppend(elem,html)};var dieMsg=function(msg){throw new Error("UOL Mais I/O: "+msg)};var simpleParser=function(data,cfg){htmlInner(cfg.outputs,cfg.markup.call(data))};var listParser=function(data,cfg){if(cfg.paging){if(!cfg.paging.obj.sort){cfg.paging.obj.sort=cfg.sort;cfg.paging.obj.sort=cfg.paging.obj.sort.replace("mostViews","mostPopular")}if(cfg.paging&&cfg.paging.markup&&typeof cfg.paging.markup==="function"){var p=cfg.paging,beforeHtml=p.before?p.markup.call(cfg.paging.obj,"before",cfg):null,afterHtml=p.after?p.markup.call(cfg.paging.obj,"after",cfg):null;
htmlBefore(cfg.wrapper,beforeHtml);htmlAfter(cfg.wrapper,afterHtml)}}var html="",total=data.list&&data.list.length;total=total>=cfg.pageSize?cfg.pageSize:total;for(var i=0;i<total;i++){var item=data.list[i];if(!item){continue}if(cfg.type==="videoListSearch"){item.adultContent=false}if(item.author){item.author=item.author.replace(/@.+/,"")}if(item.fulldescription&&item.fulldescription!==""){item.description=item.fulldescription}if(item.title&&(/</).test(item.title)){item.title=item.title.replace(/<[^ >][^>]*>/g,"")}if(item.id){var hash=item.id.replace(/.*-/,"");if(cfg.customMap&&typeof cfg.customMap[hash]!="undefined"){var customMedia=cfg.customMap[hash];for(var prop in customMedia){if(customMedia.hasOwnProperty(prop)&&(""+customMedia[prop])){item[prop]=customMedia[prop]}}}}html+=cfg.markup.call(item,i,total,cfg)}htmlInner(cfg.outputs,html)};var ignoreParser=function(){};var parsers={postComment:simpleParser,postFavorite:simpleParser,postVote:simpleParser,commentList:listParser,videoList:listParser,tagList:listParser,arbitrary:listParser,videoDetails:function(data,cfg){htmlInner(cfg.outputs,cfg.markup.call(data.media,cfg))},remoteError:function(){dieMsg("UOL Mais didn't gave us an nice response or no response at all.")}};var dataReceiver=function(data,oldCfg){var cfg=extend({},oldCfg);oldCfg=null;if(data.response.code!=200){if(typeof cfg.error==="function"){cfg.error(data,cfg)}return}if(cfg.paging&&cfg.paging.obj){cfg.paging.obj.cachedList=extend({},data.list);extend(cfg.paging.obj,data.paging)}else{if(cfg.type.match("videoDetails")){tvu.cachedMedia=extend({},data.media);tvu.cachedMediaRelated={id:cfg.videoId,list:{}};extend(tvu.cachedMediaRelated.list,data.list)}}cfg.parser(data,cfg);if(typeof cfg.callback==="function"){cfg.callback(data,cfg)}};var genericPageReqType={useCache:true,customFunction:function(data){this.paging.obj.currentPage=this.goToPage}};extend(tvu,{reqTypes:{postFavorite:{url:"http://mais.uol.com.br/apiuol/addFavorite.js",customFunction:function(data){data["media.id"]=this.mediaId;
data["media.indVisibility"]=this.visibleTo}},postComment:{url:"http://mais.uol.com.br/apiuol/mediaComment.js",customFunction:function(data){data.mediaId=this.mediaId;data["comment.desComment"]=this.commentText},fixedParams:{action:"addComment"}},postVote:{url:"http://mais.uol.com.br/apiuol/vote.js",customFunction:function(data){data["media.id"]=this.mediaId;data.vote=this.voteNote}},arbitraryMedias:{url:"http://mais.uol.com.br/apiuol/chooseContents.js",customFunction:function(data){data.ids=this.ids},fixedParams:{show:"list"}},videoDetails:{url:"http://mais.uol.com.br/apiuol/media.js",customFunction:function(data){data["media.id"]=this.videoId}},commentList:{url:"http://mais.uol.com.br/apiuol/mediaComment.js",customFunction:function(data){data.mediaId=this.mediaId},fixedParams:{action:"loadComment"},mapedParams:{"index.currentPage":"currentPage"}},videoListFriendGroupTag:{url:"http://mais.uol.com.br/apiuol/friendsZeitgeists.js",customFunction:function(data){data.codProfile=this.codProfile;if(this.qryTag){data.qryTag=this.qryTag}if(this.group){data.group=this.group}if(this.tags){data.tagIds=this.tags}},mapedParams:{"index.currentPage":"currentPage","index.itemsPerPage":"pageSize",show:"sort"}},videoListSearch:{url:"http://mais.busca.uol.com.br/apiuol/index.js",customFunction:function(data){delete this.paging.obj.tags;data.q=this.q;data.start=((this.paging.obj.currentPage-1)*this.paging.obj.pageSize+1);if(this.sort!="mostRelevance"){this.sort=(data.sort=(this.sort&&this.sort.replace("mostPopular","mostViews"))||"mostRecent")}else{data.order="0"}if(typeof this.edFilter=="undefined"){this.edFilter="all"}data.edFilter=this.edFilter},mapedParams:{num:"pageSize"}},videoListUser:{url:"http://mais.uol.com.br/apiuol/mediasList.js",customFunction:function(data){data.codProfile=this.codProfile;delete this.paging.obj.tags},fixedParams:{action:"contentsFromAuthor"},mapedParams:{show:"sort","index.orderBy":"sort","index.currentPage":"currentPage","index.itemsPerPage":"pageSize"}},videoListUserTag:{url:"http://mais.uol.com.br/apiuol/mediasList.js",customFunction:function(data){data.codProfile=this.codProfile;
this.paging.obj.tags=this.tags.split(",");data.tagIds=this.tags},fixedParams:{by:"tagList",useProfile:1},mapedParams:{"index.orderBy":"sort","medias.currentPage":"currentPage","index.itemsPerPage":"pageSize"}},videoListGlobalModeratedTag:{url:"http://mais.uol.com.br/apiuol/mediasByModerationGroup.js",customFunction:function(data){data.tagIds=this.tags;if(typeof this.editor!="undefined"){data.editor=this.editor}if(typeof this.edFilter!="undefined"){data.edFilter=this.edFilter}},mapedParams:{"index.orderBy":"sort","index.currentPage":"currentPage","index.itemsPerPage":"pageSize"}},videoListGlobalTag:{url:"http://mais.uol.com.br/apiuol/mediasList.js",customFunction:function(data){data.tagIds=this.tags;if(typeof this.editor!="undefined"){data.editor=this.editor}if(typeof this.qryTag!="undefined"){data.qryTag=this.qryTag}if(typeof this.moderationGroup!="undefined"){data.moderationGroup=this.moderationGroup}if(typeof this.edFilter!="undefined"){data.edFilter=this.edFilter}},mapedParams:{"index.orderBy":"sort","index.currentPage":"currentPage","index.itemsPerPage":"pageSize"}},videoListGlobal:{url:"http://mais.uol.com.br/apiuol/public/zeitgeists.js",customFunction:function(data){if(typeof this.editor!="undefined"){data.editor=this.editor;data.edFilter=(this.edFilter="editorial")}else{data.edFilter=this.edFilter||"all"}},mapedParams:{show:"sort","index.currentPage":"currentPage","index.itemsPerPage":"pageSize"}},videoListSort:{useCache:true,customFunction:function(data){this.paging.obj.sort=this.sort;this.paging.obj.currentPage=1}},videoListFilter:{useCache:true,customFunction:function(data){this.paging.obj.edFilter=this.edFilter;this.paging.obj.currentPage=1}},videoListPage:genericPageReqType,commentListPage:genericPageReqType}});extend(tvu,{videoListPaging:{currentPage:1,totalPages:null,totalItems:null,pageSize:6,previousPage:null,nextPage:null,sort:"mostRecent"},commentListPaging:{currentPage:1,totalPages:null,totalItems:null,pageSize:6,previousPage:null,nextPage:null,sort:"empty"},tagListPaging:{currentPage:1,totalPages:null,totalItems:null,pageSize:20,previousPage:null,nextPage:null,sort:"empty"}});
extend(tvu,{base64encode:function(s){this.c64="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");var b=0,c,i,l=0,r="";for(i=0;i<s.length;i++){c=s.charCodeAt(i)%256;b=(b<<8)+c;l+=8;while(l>=6){r+=this.c64[(b>>(l-=6))%64]}}if(l>0){r+=this.c64[((b%16)<<(6-l))%64]}if(l!==0){while(l<6){r+="=";l+=2}}return r},newRequest:function(type,extraCfg){if(typeof type!=="string"){extraCfg=type;type=extraCfg.type}if(!type||!tvu.reqTypes[type]){dieMsg("Wrong newRequest call")}if(!tvu.config&&defaultListConfig){tvu.config=defaultListConfig}var reModes=new RegExp("(arbitrary|videoList|tagList|commentList|videoDetails|postVote|postComment|postFavorite|"+type+")"),ajaxOpts={},localCfg={},req=tvu.reqTypes[type],usingCache=req.useCache||false,c=tvu.config;extraCfg=extraCfg||{};try{var mode=type.match(reModes)[1]}catch(e){dieMsg("Invalid newRequest mode")}localCfg.type=""+type;localCfg.mode=""+mode;if(!c[mode]){dieMsg('Missing config for "'+mode+'".')}var init=function(){extend(localCfg,c[mode]);localCfg.parser=c[mode].customParser||parsers[mode];if(!localCfg.paging){if(tvu[localCfg.mode+"Paging"]){localCfg.paging=tvu[localCfg.mode+"Paging"]}else{return}}localCfg.paging.obj=tvu[mode+"Paging"]||{};if(!usingCache){localCfg.paging.obj.pageSize=extraCfg.pageSize||localCfg.paging.obj.pageSize||6;localCfg.paging.obj.currentPage=extraCfg.page||1;localCfg.paging.obj.sort=extraCfg.sort||localCfg.paging.obj.sort||"mostRecent"}else{localCfg.paging=tvu[mode+"LastRequestConfig"].paging}};init();extend(localCfg,extraCfg);ajaxOpts.data={};if(extraCfg.logmsg){ajaxOpts.data.logmsg=extraCfg.logmsg}localCfg.time=(ajaxOpts.data.time=(localCfg.time&&localCfg.time!=="")?localCfg.time:type==="videoListSearch"?"all":"year");ajaxOpts.data.types=localCfg.types||"V";var populateData=function(){if(req.customFunction&&typeof req.customFunction==="function"){req.customFunction.call(localCfg,ajaxOpts.data,usingCache,ajaxOpts)}extend(ajaxOpts.data,req.fixedParams||{});var obj=req.mapedParams||{};for(name in obj){if(obj.hasOwnProperty(name)){if(obj[name]=="pageSize"){var confPage=localCfg.paging.obj.pageSize;
ajaxOpts.data[name]=confPage<=6?6:12}else{ajaxOpts.data[name]=localCfg.paging.obj[req.mapedParams[name]]}}}};populateData();if(usingCache&&localCfg.type.match(/list/i)){type=tvu[mode+"LastRequestConfig"].type;localCfg.type=type;req=tvu.reqTypes[type];localCfg=tvu[mode+"LastRequestConfig"];extend(localCfg,extraCfg);init();populateData()}if(!localCfg.sort){localCfg.sort=ajaxOpts.data.sort||ajaxOpts.data["index.orderBy"]||"mostRecent"}if(localCfg.sort==="mostRecent"&&(/(week|month)/).test(ajaxOpts.data.time)){ajaxOpts.data.time=type=="videoListSearch"?"all":"year"}if(ajaxOpts.data.sort){localCfg.sort=ajaxOpts.data.sort}tvu[mode+"LastRequestConfig"]=extend({},localCfg);var unique="io"+(+new Date())+""+parseInt(Math.random()*100,10);ajaxOpts.data.callback=unique;window[unique]=function(tmp){var data=tmp;dataReceiver(data,localCfg);window[unique]=undefined;try{delete window[unique]}catch(e){}if(head&&script){setTimeout(function(){head.removeChild(script)},1000)}};ajaxOpts.url=req.url;var a=[];for(name in ajaxOpts.data){if(ajaxOpts.data.hasOwnProperty(name)){if(tvu.base64params&&$.inArray(name,tvu.base64params)>=0){if($.inArray("reqEncoding=base64",a)==-1){a.push("reqEncoding=base64")}a.push(name+"="+tvu.base64encode(ajaxOpts.data[name]))}else{if(tvu.isoParams&&$.inArray(name,tvu.isoParams)>=0){if($.inArray("reqEncoding=iso",a)==-1){a.push("reqEncoding=iso")}a.push(name+"="+escape(""+ajaxOpts.data[name]))}else{a.push(name+"="+encodeURIComponent(""+ajaxOpts.data[name]))}}}}var jscript_version
/*@cc_on=@_jscript_version@*/
;var jscript_build
/*@cc_on=@_jscript_build@*/
;if(jscript_version&&ajaxOpts.data.action&&ajaxOpts.data.action==="addComment"){a.push("jscript_version="+jscript_version);a.push("jscript_build="+jscript_build)}ajaxOpts.url=ajaxOpts.url+"?"+a.join("&").replace(/%20/g,"+");ajaxOpts.data=null;var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=ajaxOpts.url;script.charset="utf-8";head.insertBefore(script,head.firstChild)
}});extend(tvu,{tvuolPermalink:function(params){var reqVars={videoListUser:["codProfile"],videoListUserTag:["codProfile","tags"],videoListGlobalTag:["tags"],videoListGlobal:["edFilter"],videoListSearch:["q"],videoListFriendGroupTag:["codProfile","tags","qryTag","group"]};var urlReqMap={user:"videoListUser",tagUser:"videoListUserTag",group:"videoListFriendGroupTag",search:"videoListSearch",tags:"videoListGlobalTag",all:"videoListGlobal"};var cfg=params.cfg,media=params.media,t,sort,url="";if(media&&media.id){url="http://tvuol.uol.com.br/permalink/?view/id="+media.id+"/user="+media.codProfile+"/date="+media.publishedAt.replace(/ .*$/,"")+"&&"}else{url+="http://tvuol.uol.com.br/permalink/?"}url+="list/type=";for(t in urlReqMap){if(urlReqMap[t]==cfg.type){url+=t}}var pars=reqVars[cfg.type]||[];for(var i=0;i<pars.length;i++){var par=pars[i];if(par&&cfg[par]){url+="/"+par+"="+cfg[par]}}url+="/";if(cfg.paging){var p=cfg.paging.obj;sort=params.sort||p.sort||"mostRecent";if(sort!="mostRecent"||url.match("type=all")){url+="sort="+sort+"/"}}return url},conteudoLink:function(cfg){var url=cfg.linkTo+"?hashId="+this.id+"&mediaId="+this.mediaId;var myDate=new Date(this.publishedAt.replace(/-/g,"/"));if(configVideosEstacao&&configVideosEstacao.lastDate&&configVideosEstacao.firstDate&&myDate<configVideosEstacao.lastDate&&myDate>configVideosEstacao.firstDate&&configVideosEstacao.listConfig.codProfile==this.codProfile){url=cfg.linkTo+this.publishedAt.replace(/.*([0-9]{4})-([0-9]{2})-([0-9]{2}).+([0-9]{2}):([0-9]{2}):([0-9]{2}).*/,"$1/$2/$3")+"/"+this.id.replace(/.*-/g,"")+".jhtm?"+this.id}return url},mediaLink:function(cfg){if(cfg.customMap&&typeof cfg.customMap[this.id.replace(/.*-/,"")]!="undefined"){return this.url}switch(cfg.linkTo){case"tvuol":return tvu.tvuolPermalink({media:this,cfg:cfg});case"uolmais":return this.url;default:if((/http:\/\/[^.]*\.uol\.com\.br/).test(cfg.linkTo)){return tvu.conteudoLink.call(this,cfg)}return"#"}},tagLink:function(cfg){switch(cfg.linkTo){case"tvuol":return"http://tvuol.uol.com.br/permalink/?list/type=tags/tags="+this.id;
case"uolmais":return"http://mais.uol.com.br/mediasByTags.html?types=V&index.currentPage=1&index.orderBy=mostRecent&tagIds="+this.id;default:return"#"}},userLink:function(cfg){switch(cfg.linkTo){case"tvuol":return"http://tvuol.uol.com.br/permalink/?list/type=user/codProfile="+this.codProfile;case"uolmais":return this.authorPage;default:return"#"}}});window.uolmais={};window.uolmais.player={};tvu.dateString=function(d){if(d.constructor==Date){return'<span class="mediaOnlyDate">'+d.getYear()+"/"+d.getMonth()+"/"+d.getDate()+'</span> <span class="mediaOnlyTime">'+d.getHours()+"h"+d.getMinutes()+"</span>"}else{return d.replace(/.*([0-9]{4})-([0-9]{2})-([0-9]{2}).+([0-9]{2}):([0-9]{2}):([0-9]{2}).*/,'<span class="mediaOnlyDate">$3/$2/$1</span> <span class="mediaOnlyTime">$4h$5</span>')}};tvu.countersMarkup=function(index,total,cfg){var voteTit=(this.votes||0)+" votos, média "+this.rating;return'<p class="rating"><img  class="rateimg" src="http://t.i.uol.com.br/2008/small-'+(""+(Math.round(this.rating*2)/2)).replace(".","")+'.gif" alt="'+voteTit+'" title="'+voteTit+'" /></p><ul class="counters"><li class="views">Visitas: '+this.views+'</li><li class="comments">Comentários: '+this.comments+"</li></ul>"};tvu.tvuolMarkup=function(index,total,cfg){var url=tvu.mediaLink.call(this,cfg),tit=this.title,img=this.thumbnail;img+=(/(gif|png|jpg)/).test(img)?"":"-medium.jpg";img=(this.adultContent?"http://mais.uol.com.br/images/media_hot_medium.jpg":img);var html='<dl class="item clearfix"><dt class="imagem"><a href="'+url+'"><img src="'+img+'" /></a></dt><dd class="user">Por: <a href="'+tvu.userLink.call(this,cfg)+'" title="Ver vídeos de '+this.author+'" class="userLink">'+this.author+'</a></dd><dt class="title"><a href="'+url+'"><strong>'+tit+'</strong></a></dt><dd class="more"><p class="datetime"><span class="mediaDate">'+tvu.dateString(this.publishedAt)+'</span> <span class="mediaDuration">('+this.duration.replace(":","min")+"s)</span></p>";var cusFunc=cfg.counters||tvu.countersMarkup;
html+=cusFunc.call(this,index,total,cfg);html+="</dd></dl>";return html};tvu.tvuolMarkup=function(index,total,cfg){var url=tvu.mediaLink.call(this,cfg),tit=this.title,img=this.thumbnail;img+=(/(gif|png|jpg)/).test(img)?"":"-medium.jpg";img=(this.adultContent?"http://mais.uol.com.br/images/media_hot_medium.jpg":img);var html='<dl class="item clearfix"><dt class="imagem"><a href="'+url+'"><img src="'+img+'" /></a></dt><dd class="user">Por: <a href="'+tvu.userLink.call(this,cfg)+'" title="Ver vídeos de '+this.author+'" class="userLink">'+this.author+'</a></dd><dt class="title"><a href="'+url+'"><strong>'+tit+'</strong></a></dt><dd class="more"><p class="datetime"><span class="mediaDate">'+tvu.dateString(this.publishedAt)+'</span> <span class="mediaDuration">('+this.duration.replace(":","min")+"s)</span></p>";var cusFunc=cfg.counters||tvu.countersMarkup;html+=cusFunc.call(this,index,total,cfg);html+="</dd></dl>";return html};tvu.linkOrPlayer=function(player){var par=this.parentNode,media;if(!(/DT/i).test(par.nodeName)){return(/BODY/i).test(par.nodeName)?true:tvu.linkToPlayer.call(par,player)}media=tvu[par.id];if(player){tvu.oldMediaEmbedHtml=par.innerHTML;htmlInner(par,tvu.mediaEmbed.call(media));(function(){var playerNode=""+par.id;window.uolmais.player.onEnd=function(){tvu.linkOrPlayer.call(document.getElementById(playerNode).firstChild,false)}})()}else{htmlInner(par,tvu.oldMediaEmbedHtml)}return false};tvu.playerMarkup=function(index,total,cfg){var url=tvu.mediaLink.call(this,cfg),tit=this.title,img=this.thumbnail;img+=(/(gif|png|jpg)/).test(img)?"":"-large.jpg";img=(this.adultContent?"http://mais.uol.com.br/images/media_hot_medium.jpg":img);tvu.playersUsed=tvu.playersUsed||0;tvu.playersUsed++;tvu["playerUsed"+tvu.playersUsed]=this;var html='<dl class="playerItem clearfix"><dt class="player" id="playerUsed'+tvu.playersUsed+'"><a onclick="return tvu.linkOrPlayer.call(this,true)" href="'+url+'"><span class="p1">&nbsp;</span><span class="p2">&nbsp;</span><span class="p3">&nbsp;</span><img src="'+img+'" /></a></dt><dt class="title"><a href="'+url+'"><strong>'+tit+'</strong></a></dt><dd class="more"><p class="datetime"><span class="mediaDate">'+tvu.dateString(this.publishedAt)+'</span> <span class="mediaDuration">('+this.duration.replace(":","min")+"s)</span></p>";
var cusFunc=cfg.counters||tvu.countersMarkup;html+=cusFunc.call(this,index,total,cfg);html+="</dd></dl>";return html};tvu.mediaEmbed=function(){var embedHtml="",src=this.player+"?p=homesuol&amp;mediaId="+this.mediaId,ag=navigator.userAgent.toLowerCase();if(/msie/.test(ag)&&!/opera/.test(ag)){embedHtml+='<object width="280" height="236" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,15,0"><param name="movie" value="'+src+'"></param><param name="allowfullscreen" value="true"></param><param name="allowscriptaccess" value="always"></param><param name="wmode" value="transparent"></param><param name="bgcolor" value="#000000"></param><param name="quality" value="autolow"></param></object>'}else{embedHtml+='<embed width="280" height="236" bgcolor="#000000" allowscriptaccess="always" allowfullscreen="true" wmode="transparent" quality="autolow" src="'+src+'" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed>'}return embedHtml};var quickListCfg={linkTo:"tvuol",outputs:"#videoList",wrapper:"#videoList",markup:tvu.tvuolMarkup};var defaultListConfig={videoList:quickListCfg,arbitrary:quickListCfg}})();
