function play(id){window.location.href="/play/"+id;}
function openEditor(id){window.open("/edit?id="+(id||""),"lt_editor"+(id||""),"directories=no,location=no,menubar=no,resizable=no,scrollbars=no,status=no,titlebar=yes,toolbar=no,width=560px,height=665px");}
function openTermsOfUse(){window.open("terms_of_use.html","lt_legal","width=560px,height=665px");}
function openPrivacy(){window.open("privacy.html","lt_legal","width=560px,height=665px");}
var searchBar={langs:[],changeListeners:[],init:function(){this.readCookie();this.updateBarLangs();if(this.checkAdvChanges()>0){this.highlightAdvSearchButton();}},readCookie:function(){this.clearSelectedLangs();var v=readCookie("langs");if(v&&v.length>0){var l0=v.split(","),l1;for(var i=0;i<l0.length;i++){l1=l0[i].split("|");this.addSelectedLang(l1[0],l1[1]);}}},writeCookie:function(){var v="";for(var i=0;i<this.langs.length;i++){if(i>0){v+=",";}
v+=this.langs[i].lang;if(this.langs[i].level){v+="|"+this.langs[i].level;}}
createCookie("langs",v,120);},updateLangs:function(){var self=this;this.clearSelectedLangs();$("#lt-lang-select-form input[name=lang]:checked").each(function(){var lang=$(this).val();var level=parseLevelImageURL($(this).prev().find("img.level").attr("src"));self.addSelectedLang(lang,(level=="all")?null:level);});this.writeCookie();this.updateBarLangs();},addSelectedLang:function(lang,level){var obj=this.findSelectedLang(lang);if(obj){obj.level=level;}else{this.langs[this.langs.length]=obj={"lang":lang};if(level){obj.level=level;}}
return obj;},findSelectedLang:function(lang){for(var i=0;i<this.langs.length;i++){if(this.langs[i].lang==lang){return this.langs[i];}}
return null;},clearSelectedLangs:function(){this.langs.length=0;},updateBarLangs:function(){var N=2;var out="";if(this.langs.length>0){for(var i=0;i<this.langs.length&&i<N;i++){if(i>0){out+=",&nbsp;";}
out+="<img class='flag' src='/images/flags/"+this.langs[i].lang+".png' />"+
LANGUAGES[this.langs[i].lang];if(this.langs[i].level){out+="<img class='level' src='"+formatLevelImageURL(this.langs[i].level)+"' />";}}
if(this.langs.length>N){out+=",&nbsp;<b>...</b>";}}else{out+="All Languages";}
$("#lt-search-langs span:first-child").html(out);},showLangSelectBox:function(){var self=this;$("#lt-lang-select-form input[name=lang]:checkbox").each(function(){var lang=self.findSelectedLang($(this).val());if(lang==null){$(this).attr("checked",false);$(this).parent().removeClass("selected");$(this).prev().hide().find("img.level").attr("src",formatLevelImageURL(null));}else{$(this).attr('checked',true);$(this).parent().addClass("selected");$(this).prev().show().find("img.level").attr("src",formatLevelImageURL(lang.level));}});$("#lt-lang-select-box").show("blind",{direction:"vertical"},100);$("#lt-search-langs").addClass("on");},hideLangSelectBox:function(){this.updateLangs();$("#lt-lang-select-box").hide("blind",{direction:"vertical"},100);$("#lt-search-langs").removeClass("on");if(this.changes){this.notifyChanges();this.changes=false;}},toggleLangSelectBox:function(){if($("#lt-lang-select-box").is(":visible")){this.hideLangSelectBox();}else{this.showLangSelectBox();}},checkLangItem:function(item){if($(item).hasClass("selected")){$(item).removeClass("selected");$(item).find("input[name=lang]").attr("checked",false);$(item).find("div.level").hide();}else{$(item).addClass("selected");$(item).find("input[name=lang]").attr("checked",true);$(item).find("div.level").show();}
this.updateLangs();this.changes=true;},changeLangLevel:function(e){var level=parseLevelImageURL($(e).find("img.level").attr("src"));if(level){var li=LEVELS.indexOf(level);if(li!=-1){li=(li+1)%LEVELS.length;$(e).find("img.level").attr("src",formatLevelImageURL(LEVELS[li]));}}
this.updateLangs();this.changes=true;},showAdvancedSearchBox:function(){$("#lt-advanced-search-box").show("blind",{direction:"vertical"},200);$("#lt-advanced-search-button").addClass("on");},hideAdvancedSearchBox:function(){$("#lt-advanced-search-box").hide("blind",{direction:"vertical"},200);$("#lt-advanced-search-button").removeClass("on");},toggleAdvancedSearchBox:function(){if($("#lt-advanced-search-box").is(":visible")){this.hideAdvancedSearchBox();}else{this.showAdvancedSearchBox();}},checkGenreItem:function(item){if($(item).hasClass("selected")){$(item).removeClass("selected");$(item).find("input[name=genre]").attr("checked",false);}else{$(item).addClass("selected");$(item).find("input[name=genre]").attr("checked",true);}},checkAllGenres:function(){$("#lt-advanced-search-form input[name=genre]").each(function(){$(this).attr("checked",true);$(this).parent().addClass("selected");});},checkNoneGenres:function(){$("#lt-advanced-search-form input[name=genre]").each(function(){$(this).attr("checked",false);$(this).parent().removeClass("selected");});},checkMyLyrics:function(check){var form=$("#lt-advanced-search-form");if(check){check=$(check);}else{check=form.find("input[name='my-lyrics']");check.attr("checked",!check.is(':checked'));}
var checked=check.is(':checked');form.find("input[name='user']").attr("disabled",checked);var role=form.find("input[name='user_role']").val();var p=$("#lt-advanced-search-status-row");var c1=p.find("select[name='status']");var c2=p.find("span.status-inc");if(role=="admin"||checked){c1.show();c2.hide();}else{c1.hide();c2.show();}},highlightAdvSearchButton:function(){$("#lt-advanced-search-button").show("pulsate",{times:3},750);},search:function(query){if(typeof(query)=="undefined"){if($("#lt-advanced-search-box").is(":visible")){this.searchAdv();return;}
query="qry="+encodeURIComponent($('#lt-search-text').val());}
window.location.href="/search?"+query;},searchAdv:function(){var query="time="+new Date().getTime();var text=$("#lt-search-text").val();if(text.length>0){query+="&qry="+encodeURIComponent(text);}
var form=$("#lt-advanced-search-form");var title=form.find("input[name='title']").val();if(title.length>0){query+="&title="+encodeURIComponent(title);}
var artist=form.find("input[name='artist']").val();if(artist.length>0){query+="&artist="+encodeURIComponent(artist);}
var album=form.find("input[name='album']").val();if(album.length>0){query+="&album="+encodeURIComponent(album);}
var genres="";form.find("input[name='genre']:checked").each(function(){if(genres.length>0){genres+=",";}
genres+=$(this).val();});if(genres.length>0){query+="&genres="+encodeURIComponent(genres);}
var my=form.find("input[name='my-lyrics']").is(":checked");var user=form.find("input[name='user']").val();if(my){query+="&my=1";}else if(user.length>0){query+="&user="+encodeURIComponent(user);}
var status=form.find("select[name='status']");if(status.css("display")!="none"){query+="&status="+encodeURIComponent(status.val());}else{if(form.find("input[value='include_pending']:checked").length>0){query+="&pending=1";}}
window.location.href="/search?"+query;},checkAdvChanges:function(){var changes=0;var form=$("#lt-advanced-search-form");var title=form.find("input[name='title']").val();if(title.length>0){changes++;}
var artist=form.find("input[name='artist']").val();if(artist.length>0){changes++;}
var album=form.find("input[name='album']").val();if(album.length>0){changes++;}
var genres="";form.find("input[name='genre']:checked").each(function(){if(genres.length>0){genres+=",";}
genres+=$(this).val();});if(genres.length>0){changes++;}
var my=form.find("input[name='my-lyrics']").is(":checked");var user=form.find("input[name='user']").val();if(my){changes++;}else if(user.length>0){changes++;}
var status=form.find("select[name='status']");if(status.css("display")!="none"){if(status.val()!="published"){changes++;}}else{if(form.find("input[value='include_pending']:checked").length>0){changes++;}}
return changes;},includePendingReview:function(){var form=$("#lt-advanced-search-form");var status=form.find("select[name='status']");if(status.css("display")!="none"){status.val("any");}else{form.find("input[value='include_pending']").attr("checked",true);}
this.searchAdv();},notifyChanges:function(){if(this.changeListeners.length>0){for(var i=0;i<this.changeListeners.length;i++){if(typeof(this.changeListeners[i])=="function"){this.changeListeners[i].call();}else if(typeof(this.changeListeners[i])=="string"){eval(this.changeListeners[i]);}}}},addChangeListener:function(listener){this.changeListeners[this.changeListeners.length]=listener;}};var YT_THUMBNAILS_URL="http://img.youtube.com/vi/";var LANGUAGES={"en":"English","en-au":"English/Australia","en-ca":"English/Canada","en-ie":"English/Ireland","en-nz":"English/New Zealand","en-uk":"English/United Kingdom","en-us":"English/United States","es":"Spanish","es-ar":"Spanish/Argentina","es-cl":"Spanish/Chile","es-co":"Spanish/Colombia","es-cu":"Spanish/Cuba","es-ec":"Spanish/Ecuador","es-mx":"Spanish/Mexico","es-pe":"Spanish/Peru","es-pr":"Spanish/Puerto Rico","es-es":"Spanish/Spain","es-uy":"Spanish/Uruguay","es-ve":"Spanish/Venezuela","pt":"Portuguese","pt-br":"Portuguese/Brazil","pt-pt":"Portuguese/Portugal","fr":"French","it":"Italian","de":"German","nl":"Dutch",};var COUNTRY_LIST={"af":"Afghanistan","ax":"Aland Islands","al":"Albania","dz":"Algeria","as":"American Samoa","ad":"Andorra","ao":"Angola","ai":"Anguilla","aq":"Antarctica","ag":"Antigua and Barbuda","ar":"Argentina","am":"Armenia","aw":"Aruba","au":"Australia","at":"Austria","az":"Azerbaijan","bs":"Bahamas","bh":"Bahrain","bd":"Bangladesh","bb":"Barbados","by":"Belarus","be":"Belgium","bz":"Belize","bj":"Benin","bm":"Bermuda","bt":"Bhutan","bo":"Bolivia","ba":"Bosnia and Herzegovina","bw":"Botswana","bv":"Bouvet Island","br":"Brazil","io":"British Indian Ocean Territory","vg":"British Virgin Islands","bn":"Brunei","bg":"Bulgaria","bf":"Burkina Faso","bi":"Burundi","kh":"Cambodia","cm":"Cameroon","ca":"Canada","cv":"Cape Verde","ky":"Cayman Islands","cf":"Central African Republic","td":"Chad","cl":"Chile","cn":"China","cx":"Christmas Island","cc":"Cocos (Keeling) Islands","co":"Colombia","km":"Comoros","cg":"Congo","ck":"Cook Islands","cr":"Costa Rica","hr":"Croatia","cu":"Cuba","cy":"Cyprus","cz":"Czech Republic","cd":"Democratic Republic of Congo","dk":"Denmark","xx":"Disputed Territory","dj":"Djibouti","dm":"Dominica","do":"Dominican Republic","tl":"East Timor","ec":"Ecuador","eg":"Egypt","sv":"El Salvador","gq":"Equatorial Guinea","er":"Eritrea","ee":"Estonia","et":"Ethiopia","fk":"Falkland Islands","fo":"Faroe Islands","fm":"Federated States of Micronesia","fj":"Fiji","fi":"Finland","fr":"France","gf":"French Guyana","pf":"French Polynesia","tf":"French Southern Territories","ga":"Gabon","gm":"Gambia","ge":"Georgia","de":"Germany","gh":"Ghana","gi":"Gibraltar","gr":"Greece","gl":"Greenland","gd":"Grenada","gp":"Guadeloupe","gu":"Guam","gt":"Guatemala","gn":"Guinea","gw":"Guinea-Bissau","gy":"Guyana","ht":"Haiti","hm":"Heard Island and Mcdonald Islands","hn":"Honduras","hk":"Hong Kong","hu":"Hungary","is":"Iceland","in":"India","id":"Indonesia","ir":"Iran","iq":"Iraq","xe":"Iraq-Saudi Arabia Neutral Zone","ie":"Ireland","il":"Israel","it":"Italy","ci":"Ivory Coast","jm":"Jamaica","jp":"Japan","jo":"Jordan","kz":"Kazakhstan","ke":"Kenya","ki":"Kiribati","kw":"Kuwait","kg":"Kyrgyzstan","la":"Laos","lv":"Latvia","lb":"Lebanon","ls":"Lesotho","lr":"Liberia","ly":"Libya","li":"Liechtenstein","lt":"Lithuania","lu":"Luxembourg","mo":"Macau","mk":"Macedonia","mg":"Madagascar","mw":"Malawi","my":"Malaysia","mv":"Maldives","ml":"Mali","mt":"Malta","mh":"Marshall Islands","mq":"Martinique","mr":"Mauritania","mu":"Mauritius","yt":"Mayotte","mx":"Mexico","md":"Moldova","mc":"Monaco","mn":"Mongolia","me":"Montenegro","ms":"Montserrat","ma":"Morocco","mz":"Mozambique","mm":"Myanmar","na":"Namibia","nr":"Nauru","np":"Nepal","an":"Netherlands Antilles","nl":"Netherlands","nc":"New Caledonia","nz":"New Zealand","ni":"Nicaragua","ne":"Niger","ng":"Nigeria","nu":"Niue","nf":"Norfolk Island","kp":"North Korea","mp":"Northern Mariana Islands","no":"Norway","om":"Oman","pk":"Pakistan","pw":"Palau","ps":"Palestinian Occupied Territories","pa":"Panama","pg":"Papua New Guinea","py":"Paraguay","pe":"Peru","ph":"Philippines","pn":"Pitcairn Islands","pl":"Poland","pt":"Portugal","pr":"Puerto Rico","qa":"Qatar","re":"Reunion","ro":"Romania","ru":"Russia","rw":"Rwanda","sh":"Saint Helena and Dependencies","kn":"Saint Kitts and Nevis","lc":"Saint Lucia","pm":"Saint Pierre and Miquelon","vc":"Saint Vincent and the Grenadines","ws":"Samoa","sm":"San Marino","st":"Sao Tome and Principe","sa":"Saudi Arabia","sn":"Senegal","rs":"Serbia","sc":"Seychelles","sl":"Sierra Leone","sg":"Singapore","sk":"Slovakia","si":"Slovenia","sb":"Solomon Islands","so":"Somalia","za":"South Africa","gs":"South Georgia and South Sandwich Islands","kr":"South Korea","es":"Spain","pi":"Spratly Islands","lk":"Sri Lanka","sd":"Sudan","sr":"Suriname","sj":"Svalbard and Jan Mayen","sz":"Swaziland","se":"Sweden","ch":"Switzerland","sy":"Syria","tw":"Taiwan","tj":"Tajikistan","tz":"Tanzania","th":"Thailand","tg":"Togo","tk":"Tokelau","to":"Tonga","tt":"Trinidad and Tobago","tn":"Tunisia","tr":"Turkey","tm":"Turkmenistan","tc":"Turks And Caicos Islands","tv":"Tuvalu","vi":"US Virgin Islands","ug":"Uganda","ua":"Ukraine","ae":"United Arab Emirates","uk":"United Kingdom","xd":"United Nations Neutral Zone","um":"United States Minor Outlying Islands","us":"United States","uy":"Uruguay","uz":"Uzbekistan","vu":"Vanuatu","va":"Vatican City","ve":"Venezuela","vn":"Vietnam","wf":"Wallis and Futuna","eh":"Western Sahara","ye":"Yemen","zm":"Zambia","zw":"Zimbabwe",};var LATIN_ALPHABET_EX="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþẞÿŸĀāĊċĒēĠġĪīŌōŐőŒœŠšŪūŰűŴŵŶŷŽžḂḃḊḋḞḟṀṁṠṡṪṫ";var NORMALIZE_CHARSET=["ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöøùúûüýÿŸĀāĊċĒēĠġĪīŌōŐőŠšŪūŰűŴŵŶŷŽžḂḃḊḋḞḟṀṁṠṡṪṫ","AAAAAACEEEEIIIIDNOOOOOOUUUUYaaaaaaceeeeiiiinoooooouuuuyyYAaCcEeGgIiOoOoSsUuUuWwYyZzBbDdFfMmSsTt"];function isAlpha(c){return(LATIN_ALPHABET_EX.indexOf(c)!=-1);}
function normalizeChar(c){var i=NORMALIZE_CHARSET[0].indexOf(c);return(i!=-1)?NORMALIZE_CHARSET[1][i]:c;}
function formatLang(code,short){var str="";if(LANGUAGES[code]){var name=LANGUAGES[code];var names=name.split("/");str+=names[0];if(!short&&names.length>1){str+="/"+names[1];}
var codes=code.split("-");str+="<img class=\"flag\" src=\"/images/flags/"+((codes.length>1)?codes[1]:codes[0])+".png\" />";}
return str;}
var LEVELS=["all","easy","medium","hard"];LEVEL_IMG_PRE="/images/level_";LEVEL_IMG_EXT=".png";function parseLevelImageURL(src){var level=null;var i0,i1;if((i0=src.indexOf(LEVEL_IMG_PRE))!=-1&&(i1=src.indexOf(LEVEL_IMG_EXT,(i0=i0+LEVEL_IMG_PRE.length)))!=-1){level=src.substring(i0,i1);}
return level;}
function formatLevelImageURL(level){return(LEVEL_IMG_PRE+(level?level:"all")+LEVEL_IMG_EXT);}
var STATES={"draft":"Draft","pending_review":"Pending Review","published":"Published","rejected":"Rejected","video_removed":"Video Removed","deleted":"Deleted",};var GENRES={"pop":"Pop","rock":"Rock","hard_rock":"Hard Rock","heavy_metal":"Heavy Metal","punk":"Punk","electronica":"Electronica","dance":"Dance","disco":"Disco","house":"House","techno":"Techno","blues":"Blues","r&b":"Rhythm & Blues","rap":"Hip Hop/Rap","funk":"Funk","soul":"Soul","jazz":"Jazz","folk":"Folk","country":"Country","reggae":"Reggae","latin":"Latin","indie":"Indie","newage":"New Age","classic":"Classical","opera":"Opera","children":"Children's Music","tv_show":"TV Show","movie_scene":"Movie Scene","soundtrack":"Soundtrack","other":"Other",};var GAME_MODES={"blanks1":"Beginner","blanks2":"Intermediate","full":"Expert","karaoke":"Karaoke",};var GAME_MODES_TEXT={"blanks1":"Beginner Mode","blanks2":"Intermediate Mode","full":"Expert Mode","karaoke":"Karaoke Mode",};function getXMLHttpRequest(){return(window.XMLHttpRequest)?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP");}
function bindObject(obj){if(!window.__next_obj_id_){window.__next_obj_id_=1;}
var idx="__obj"+(window.__next_obj_id_++)+"_";window[idx]=obj;obj.idx=idx;return idx;}
function addEventHandler(element,type,listener,useCapture){if(element.addEventListener){element.addEventListener(type,listener,useCapture);return true;}else if(element.attachEvent){return element.attachEvent("on"+type,listener);}else{element["on"+type]=listener;}}
function getMouseX(event){if(event.pageX){return event.pageX;}else if(event.clientX){return event.clientX
+(document.documentElement.scrollLeft||document.body.scrollLeft)
-document.documentElement.clientLeft;}
return null;}
function getMouseY(event){if(event.pageY){return event.pageY;}else if(event.clientY){return event.clientY
+(document.documentElement.scrollTop||document.body.scrollTop)
-document.documentElement.clientTop;}
return null;}
function createCookie(name,value,days){var expires;if(days){var date=new Date();date.setTime(date.getTime()+(days*24*60*60*1000));expires="; expires="+date.toGMTString();}else{expires="";}
document.cookie=name+"="+value+expires+"; path=/";}
function readCookie(name){var nameEQ=name+"=";var ca=document.cookie.split(";");for(var i=0;i<ca.length;i++){var c=ca[i];while(c.charAt(0)==" "){c=c.substring(1,c.length);}
if(c.indexOf(nameEQ)==0){return c.substring(nameEQ.length,c.length);}}
return null;}
function eraseCookie(name){createCookie(name,"",-1);}
function showDialog(props){var overlay;if(overlay=document.getElementById("lt-dialog-overlay")){closeDialog();}
var BW=10*2;var width=(props.width||640);var height=(props.height||480);var closable=(typeof(props.closable)=="undefined")?true:props.closable;var out="<table class='dialog-table' cellpadding='0' cellspacing='0' "+"style='margin-top: -"+(parseInt((height+BW)/2))+"px; margin-left: -"+(parseInt((width+BW)/2))+"px;'>"+"<tr>"+"<td class='tl'></td>"+"<td class='mb'></td>"+"<td class='tr'></td>"+"</tr>"+"<tr>"+"<td class='mb'></td>"+"<td class='center' style='width: "+width+"px; height: "+height+"px;'>";if(props.title){out+="<div class='header'>"+props.title;if(closable){out+="<div class='bt-close' onclick='closeDialog();'></div>";}
out+="</div>";}
out+="<div id='lt-dialog-content' class='content'";if(props.contentStyle){out+=" style='"+props.contentStyle+"'";}
out+=">";if(props.contentHTML){out+=props.contentHTML;}else if(props.contentURL){}
out+="</div>"+"</td>"+"<td class='mb'></td>"+"</tr>"+"<tr>"+"<td class='bl'></td>"+"<td class='mb'></td>"+"<td class='br'></td>"+"</tr>"+"</table>"+"</div>";var overlay=document.createElement("div");overlay.id="lt-dialog-overlay";overlay.className="dialog-overlay";overlay.innerHTML=out;var parent=document.body;if(props.parentElementId){parent=document.getElementById(props.parentElementId);if(!parent){parent=document.body;}}
parent.appendChild(overlay);if(props.contentElementId){var content=document.getElementById(props.contentElementId);var contentParent=document.getElementById("lt-dialog-content");content.__parentNode_=content.parentNode;contentParent.appendChild(content);content.style.display="block";}}
function closeDialog(){var contentParent=document.getElementById("lt-dialog-content");if(contentParent){var content=contentParent.lastChild;if(content.__parentNode_){content.__parentNode_.appendChild(content);content.style.display="none";}
var overlay=document.getElementById("lt-dialog-overlay");overlay.parentNode.removeChild(overlay);}}
function LTButton(id,actions,disabled,style){this.id=id;this.actions=actions;this.disabled=disabled||false;this.style=style;this.over=false;bindObject(this);}
LTButton.prototype={setDisabled:function(disabled){this.disabled=disabled;var elem=document.getElementById(this.id);if(elem){elem.className=(this.disabled)?"disabled":"";}},onMouseOver:function(){if(this.disabled){return;}
this.over=true;var elem=document.getElementById(this.id);if(elem){elem.className="over";}},onMouseOut:function(){if(this.disabled){return;}
this.over=false;var elem=document.getElementById(this.id);if(elem){elem.className="";}},onMouseDown:function(){if(this.disabled){return;}
var elem=document.getElementById(this.id);if(elem){elem.className="down";}},onMouseUp:function(){if(this.disabled){return;}
var elem=document.getElementById(this.id);if(elem){elem.className=(this.over)?"over":"";}},onClick:function(){if(this.disabled){return;}
eval(this.actions);},show:function(){var elem=document.getElementById(this.id);if(elem){elem.style.display="block";}},hide:function(){var elem=document.getElementById(this.id);if(elem){elem.style.display="none";}},isVisible:function(){var elem=document.getElementById(this.id);if(elem){return(elem.style.display=="block");}
return false;},press:function(t){var elem=document.getElementById(this.id);if(elem){elem.className="down";setTimeout(this.idx+".onClick();"+this.idx+".onMouseOut();",t);}},render:function(){var out="<"+"div id='"+this.id+"'";if(this.disabled){out+=" class='disabled'";}
if(this.style){out+=" style='"+this.style+"'";}
out+="onMouseOver='"+this.idx+".onMouseOver();'";out+="onMouseOut='"+this.idx+".onMouseOut();'";out+="onMouseDown='"+this.idx+".onMouseDown();'";out+="onMouseUp='"+this.idx+".onMouseUp();'";out+="onClick='"+this.idx+".onClick();'";out+="><"+"/div>";return out;},include:function(){document.write(this.render());}};function formatTime(t){var m,s;return(((m=parseInt(t/60))<10?("0"+m):m)+":"+((s=parseInt(t%60))<10?("0"+s):s));}
function formatTimeLine(t){if(t<0)t=0;var min=parseInt(t/60000);var sec=parseInt(t%60000/1000);var cen=parseInt(t%60000%1000/10);return((min<10)?("0"+min):min)
+":"+((sec<10)?("0"+sec):sec)
+"."+((cen<10)?("0"+cen):cen);}
function getVideoIdFromURL(url){var id;var i0=url.indexOf("?v="),i1;if(i0>0){i0+=3;i1=url.indexOf("&",i0);id=url.substring(i0,i1);}
return id;}
function sleep(time){var start=new Date().getTime();while(((new Date().getTime())-start)<time);}
function getMouseCoords(event){if(event.pageX||event.pageY){return{x:event.pageX,y:event.pageY};}
return{x:(event.clientX+document.body.scrollLeft-document.body.clientLeft),y:(event.clientY+document.body.scrollTop-document.body.clientTop)};}
function getElementPosition(elem){var left=0,top=0;while(elem.offsetParent){left+=elem.offsetLeft;top+=elem.offsetTop;elem=elem.offsetParent;}
left+=elem.offsetLeft;top+=elem.offsetTop;return{x:left,y:top};}
String.prototype.endsWith=function(str){return(this.match(str+"$")==str);};String.prototype.startsWith=function(str){return(this.match("^"+str)==str);};String.prototype.trim=function(){return(this.replace(/^\s\s*/,'').replace(/\s\s*$/,''));};String.prototype.format=function(){var str=this;for(var i=0;i<arguments.length;i++){str=str.replace("{"+i+"}",arguments[i]);}
return str;};function capFirst(str){return str.replace(/^(.)/g,function(m,p1){return p1.toUpperCase();});}
function capWords(str){return str.replace(/(^|\s)(.)/g,function(m,p1,p2){return(p1+p2.toUpperCase());});}
if(!Array.prototype.indexOf){Array.prototype.indexOf=function(v){for(var i=0;i<this.length;i++){if(this[i]==v){return i;}}
return-1;}}
function getKeyCode(event){return(event||window.event).keyCode;}
function getCharCode(event){if(!event)event=window.event;return(event.charCode||event.keyCode);}
function stopBubbling(event){if(!event){event=window.event;}
event.cancelBubble=true;if(event.stopPropagation){event.stopPropagation();}}
if(!Array.indexOf){Array.prototype.indexOf=function(obj){for(var i=0;i<this.length;i++){if(this[i]==obj){return i;}}
return-1;};}
function trace(msg){var out=document.getElementById("logger-out");if(out){out.innerHTML+=msg+"<br/>";out.scrollTop=out.scrollHeight;}}
function includeLogger(){document.write("<div id='logger-out' style='position: absolute; width: 400px; height: 100%; top: 0px; right: 0px; background-color: #E0E0E0; overflow: auto;'></div>");}
