192 lines
6.4 KiB
JavaScript
192 lines
6.4 KiB
JavaScript
(function( ly ) {
|
|
var d = document;
|
|
|
|
var sch="https";
|
|
|
|
ly.te = function() {
|
|
if (!rn) {
|
|
var rn=1;
|
|
lts = ly.getElementsByClassName("lyMe", "div");
|
|
|
|
for (var i = 0, lln = lts.length; i < lln; i += 1) {
|
|
p = lts[i];
|
|
vid = p.id.substring(4);
|
|
if (mOs === null) {
|
|
cN = p.className.replace(/lyMe/, "lyte")+ " lP";
|
|
p.className = cN;
|
|
sprite=(bU+"lytesprite.png");
|
|
ly.addCss(".lyte .ctrl, .lyte .Rctrl, .lyte .Lctrl, .lyte .play { background-image: url("+sprite+"); }");
|
|
if (cN.indexOf('audio') === -1) {
|
|
bgId="lyte_"+vid;
|
|
thumb=d.getElementById(bgId).getAttribute("data-src");
|
|
if (thumb !== "") {
|
|
bgCss="#"+bgId+" { background-image: url("+thumb+"); }";
|
|
ly.addCss(bgCss);
|
|
} else {
|
|
scr = d.createElement('script');
|
|
scr.src = sch+"://gdata.youtube.com/feeds/api/playlists/"+ vid +"?v=2&alt=json-in-script&callback=ly.parsePL&fields=id,entry";
|
|
scr.type = "text/javascript";
|
|
d.getElementsByTagName('head')[0].appendChild(scr);
|
|
}
|
|
}
|
|
p.onclick = ly.play;
|
|
} else {
|
|
ly.play(p.id);
|
|
}
|
|
}
|
|
}
|
|
var rn="";
|
|
}
|
|
|
|
ly.parsePL = function(r) {
|
|
thumb=r.feed.entry[0].media$group.media$thumbnail[1].url;
|
|
if ((sch=="https")&&(thumb.indexOf('https'==-1))) {thumb=thumb.replace("http://","https://");}
|
|
t_id=r.feed.id.$t.match(/:playlist:(PL[a-zA-Z0-9_]+)/);
|
|
id="lyte_"+t_id[1];
|
|
bgCss="#"+id+" { background-image: url("+thumb+"); }";
|
|
ly.addCss(bgCss);
|
|
}
|
|
|
|
ly.getQ = function(nD) {
|
|
qsa="";
|
|
if (rqs=nD.className.match(/qsa_(.*)\s/,"$1")) qsa=rqs[1].replace(/\\([\&\=\?])/g, "$1");
|
|
return qsa;
|
|
}
|
|
|
|
ly.play = function(id) {
|
|
if (typeof id === 'string') {
|
|
tH=d.getElementById(id);
|
|
aP=0;
|
|
} else {
|
|
tH=this;
|
|
tH.onclick="";
|
|
aP=1;
|
|
}
|
|
|
|
vid=tH.id.substring(4);
|
|
|
|
hidef=0;
|
|
if (tH.className.indexOf("hidef") !== -1) { hidef="1&vq=hd720" }
|
|
|
|
if (tH.className.indexOf("playlist") === -1) {
|
|
eU=sch+"://www.youtube-nocookie.com/embed/" + vid + "?"
|
|
} else {
|
|
eU=sch+"://www.youtube-nocookie.com/embed/videoseries?list=" + vid + "&"
|
|
}
|
|
|
|
qsa=ly.getQ(tH);
|
|
|
|
if ((tH.className.indexOf("audio") !== -1) && (aP == 1)) {
|
|
qsa+="&autohide=0";aHgh="438";aSt="position:relative;top:-400px;"
|
|
} else if ((tH.className.indexOf("audio") !== -1) && (aP == 0)) {
|
|
tH.parentNode.style.height="";
|
|
tH.style.height="";
|
|
aHgh=tH.clientHeight;
|
|
aSt="height:"+aHgh+"px !important;";
|
|
} else {
|
|
aHgh=tH.clientHeight;
|
|
aSt="";
|
|
}
|
|
|
|
tH.innerHTML="<iframe id=\"iF_" + vid + "\" width=\"" + tH.clientWidth*2 + "\" height=\"" + aHgh + "\" src=\""+eU+"autoplay="+aP+"&controls=1&wmode=opaque&rel=0&egm=0&iv_load_policy=3&hd="+hidef+qsa+"\" frameborder=\"0\" style=\"" + aSt + "\" allow="autoplay" allowfullscreen></iframe>"
|
|
|
|
if(typeof tH.firstChild.getAttribute('kabl')=="string") tH.innerHTML="Please check Karma Blocker's config.";
|
|
|
|
if (aP==0){window.addEventListener("orientationchange", function() {d.getElementById(id).width=d.getElementById(id).parentNode.clientWidth;}, false);}
|
|
}
|
|
|
|
ly.getElementsByClassName = function(className, tag, elm) {
|
|
if (d.getElementsByClassName) {
|
|
getElementsByClassName = function (className, tag, elm) {
|
|
elm = elm || d;
|
|
var elements = elm.getElementsByClassName(className),
|
|
nodeName = (tag) ? new RegExp("\\b" + tag + "\\b", "i") : null,
|
|
returnElements = [],
|
|
current;
|
|
for (var i = 0, il = elements.length; i < il; i += 1) {
|
|
current = elements[i];
|
|
if (!nodeName || nodeName.test(current.nodeName)) {
|
|
returnElements.push(current)
|
|
}
|
|
}
|
|
return returnElements
|
|
}
|
|
} else if (d.evaluate) {
|
|
getElementsByClassName = function (className, tag, elm) {
|
|
tag = tag || "*";
|
|
elm = elm || d;
|
|
var classes = className.split(" "),
|
|
classesToCheck = "",
|
|
xhtmlNamespace = "http://www.w3.org/1999/xhtml",
|
|
namespaceResolver = (d.documentElement.namespaceURI === xhtmlNamespace) ? xhtmlNamespace : null,
|
|
returnElements = [],
|
|
elements, node;
|
|
for (var j = 0, jl = classes.length; j < jl; j += 1) {
|
|
classesToCheck += "[contains(concat(' ', @class, ' '), ' " + classes[j] + " ')]"
|
|
}
|
|
try {
|
|
elements = d.evaluate(".//" + tag + classesToCheck, elm, namespaceResolver, 0, null)
|
|
} catch (e) {
|
|
elements = d.evaluate(".//" + tag + classesToCheck, elm, null, 0, null)
|
|
}
|
|
while ((node = elements.iterateNext())) {
|
|
returnElements.push(node)
|
|
}
|
|
return returnElements
|
|
}
|
|
} else {
|
|
getElementsByClassName = function (className, tag, elm) {
|
|
tag = tag || "*";
|
|
elm = elm || d;
|
|
var classes = className.split(" "),
|
|
classesToCheck = [],
|
|
elements = (tag === "*" && elm.all) ? elm.all : elm.getElementsByTagName(tag),
|
|
current, returnElements = [],
|
|
match;
|
|
for (var k = 0, kl = classes.length; k < kl; k += 1) {
|
|
classesToCheck.push(new RegExp("(^|\\s)" + classes[k] + "(\\s|$)"))
|
|
}
|
|
for (var l = 0, ll = elements.length; l < ll; l += 1) {
|
|
current = elements[l];
|
|
match = false;
|
|
for (var m = 0, ml = classesToCheck.length; m < ml; m += 1) {
|
|
match = classesToCheck[m].test(current.className);
|
|
if (!match) {
|
|
break
|
|
}
|
|
}
|
|
if (match) {
|
|
returnElements.push(current)
|
|
}
|
|
}
|
|
return returnElements
|
|
}
|
|
}
|
|
return getElementsByClassName(className, tag, elm)
|
|
};
|
|
|
|
ly.addCss = function(cssCode) {
|
|
var stEl = d.createElement("style");
|
|
stEl.type = "text/css";
|
|
if (stEl.styleSheet) {
|
|
stEl.styleSheet.cssText = cssCode;
|
|
} else {
|
|
stEl.appendChild(document.createTextNode(cssCode));
|
|
}
|
|
d.getElementsByTagName("head")[0].appendChild(stEl);
|
|
}
|
|
}
|
|
( window.ly = window.ly || {} ));
|
|
|
|
(function(){
|
|
var w = window;
|
|
var d = document;
|
|
|
|
if(w.addEventListener) {
|
|
w.addEventListener('load', ly.te, false);
|
|
d.addEventListener('DomContentLoaded', function(){setTimeout("ly.te()",750)}, false);
|
|
} else {
|
|
w.onload=ly.te;
|
|
setTimeout("ly.te()",1000);
|
|
}}())
|