Files
wordpress-preseed/wp-content/plugins/wp-youtube-lyte/lyte/lyte.js
2019-09-11 19:08:46 +02:00

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&amp;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+="&amp;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+"&amp;controls=1&amp;wmode=opaque&amp;rel=0&amp;egm=0&amp;iv_load_policy=3&amp;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);
}}())