/* this code extends you pornhub experience ;-)
you need to apply it somehow on pornhub movie page
*/
function create4Frames()
{
$(document.head).find("style")
.append("\
ul.videos li div.wrap{\
width:140px;\
}\
ul.videos .img{\
width:140px;\
}\
li{\
display:inline-block;\
}\
.btn {width: 20px; height: 20px;\
border-radius:20px;\
background-color: red; \
position: absolute;\
top: 0px; left: 0px; \
z-index: 10000; \
border: 4px outset;\
cursor:pointer;\
box-shadow:rgba(0,0,0,1) 0 0 10px inset;\
-webkit-transition: background 0.5s;\
}\
.btn img{\
\
}\
\
.btn.up{\
border:4px inset;\
background: darkred;\
}\
\
.contFront, .contBack{\
position:absolute;\
top:0;\
left:0;\
-webkit-transition: opacity 1s;\
-webkit-backface-visibility:hidden;\
-webkit-transform: perspective(500px) rotateY(0deg);\
-webkit-perspective-origin: center;\
}\
.contBack{\
-webkit-transform: rotateY(180deg);\
opacity:0;\
}\
.contBack.rotated{\
-webkit-transform: perspective(500px) rotateY(0deg);\
opacity:1;\
}\
.contFront.rotated{\
-webkit-transform: perspective(500px) rotateY(-180deg);\
opacity:0;\
}\
.wrap{\
width:140px;\
}\
ul.videos .img{\
width:140px;\
}\
.abox{\
background:rgba(0,0,0,0.5);\
width:0px;\
height:0px;\
position:absolute;\
z-index:9001;\
}\
ul.related{\
font-size:11px;\
color:white;\
margin:10px 10px;\
}\
ul.related li{\
vertical-align:top;\
display:inline-block; \
position:relative; \
width:160px;\
heght:140px;\
margin:2px;\
color:rgba(255,255,255,0.5);\
-webkit-transition: color 0.5s;\
}\
ul.related li:hover{\
color:rgba(255,255,255,1); \
}\
ul.related a{\
display:block;\
position:relative; \
}\
ul.related div{\
background:rgba(0,0,0,0.5); \
z-index:9000;\
}\
ul.related .title{\
position:absolute;\
bottom:0px;\
width:100%;\
}\
ul.related .duration{\
position:absolute;\
top:0px;\
}\
ul.related .votes{\
position:absolute;\
top:0px;\
right:0px\
}\
ul.related .votes.red{\
color:darkred;\
}\
.downArrow, .upArrow{\
background:red;\
width:20px;\
height:20px;\
position:fixed;\
top:30px;\
right:0;\
}\
.upArrow{\
top:5px; \
}\
");
var h = $(window).height();
var w = $(window).width();
var vid = $("#video_1").val();//location.href.match(/viewkey=([^&]+)/)[1];
var $pl1 = $("#playerDiv_1").detach().attr("height",h/2-5).attr("width",w/2-5);
//var $relatedUL = getRelated(vid);//$("#tab-related").detach();
var $wrapper = $("<div id='phmwrapper'>").css({width:w,height:h,background:"rgba(0,0,0,0.5)",position:"absolute",top:0,left:0,});
var $frTmp = $("<div class='frm'>").css({"width":w/2-2,"height":h/2-2,"position":"absolute","border":"1px solid silver","overflow":"hidden",
"background":"rgba(50,0,0,0.5)","z-index":10000});
var $btn = $("<div class='btn'>");//.css({width:20,height:20,background:"red",position:"absolute",top:0,left:0,"z-index":10000});
$btn.toggle(
function(e){
$(this).toggleClass("up");//.siblings(".cont").animate({"margin-top":-h/2})
$(this).siblings(".contFront").toggleClass("rotated");
$(this).siblings(".contBack").toggleClass("rotated");
},
function(e){
$(this).toggleClass("up");//.siblings(".cont").animate({"margin-top":0})
$(this).siblings(".contFront").toggleClass("rotated");
$(this).siblings(".contBack").toggleClass("rotated");
}
);
$frTmp.append($btn);
var $fr1 = $frTmp.clone(true).attr("id","frm1").css({top:0,left:0});
var $fr2 = $frTmp.clone(true).attr("id","frm2").css({top:0,right:0});
var $fr3 = $frTmp.clone(true).attr("id","frm3").css({bottom:0,left:0});
var $fr4 = $frTmp.clone(true).attr("id","frm4").css({bottom:0,right:0});
$wrapper.append($fr1,$fr2,$fr3,$fr4);
$fr1.append($("<div class='contFront'>").append($pl1));
$fr1.append($("<div class='contBack'>"));
$fr2.append($("<div class='contFront'>"));
$fr2.append($("<div class='contBack'>"));
$fr2.children(".btn").triggerHandler("click");
$fr3.append($("<div class='contFront'>"));
$fr3.append($("<div class='contBack'>"));
$fr3.children(".btn").triggerHandler("click");
$fr4.append($("<div class='contFront'>"));
$fr4.append($("<div class='contBack'>"));
$fr4.children(".btn").triggerHandler("click");
getRelated(vid,function($rel){
$("#frm1").children(".contBack").append($rel);
});
getRelated(vid,function($rel){
$("#frm2").children(".contBack").append($rel);
})
getRelated(vid,function($rel){
$("#frm3").children(".contBack").append($rel);
})
getRelated(vid,function($rel){
$("#frm4").children(".contBack").append($rel);
})
//clean
//$(".section_wrapper, p.footer, #ph_net_bar").remove();
$(document.body).empty();
$(document.body).append($wrapper);
//updateLinks();
}
function getRelated(vid,callback)
{
$.ajax({"url":"http://www.pornhub.com/video_related.php?id="+vid+"/",
"dataType":"json"
})
.done(function(json){
var rels = json.related;
var $ul = $("<ul class='related'>");
for(var i=0;i<rels.length;i++){
var img = rels[i][0];
var title = rels[i][1];
var duration = rels[i][2];
var votes = rels[i][3];
var linkVid = rels[i][4];
var $li = $("<li><div class='title'>"+title+"</div><div class='duration'>"+duration+"</div><div class='votes "+(votes<50?"red":"")+"'>"+votes+"%</div></div></li>");
var $aimg = $("<a href='#"+linkVid+"'><img src='"+img+"' alt='' border=0/></a>");
$aimg.click(function(){
loadNewMovie("#"+$(this).parents(".frm").attr("id"),this.href.replace(/[^#]+/,"").substring(1));
return false;
});
$aimg.bind({
"mouseenter":function(){
var linkVid = this.href.replace(/[^#]+/,"").substring(1);
var $box1 = $("<div class='abox'></div>").click(function(){loadNewMovie("#frm1",linkVid);return false;});
var $box2 = $("<div class='abox'></div>").click(function(){loadNewMovie("#frm2",linkVid);return false;});
var $box3 = $("<div class='abox'></div>").click(function(){loadNewMovie("#frm3",linkVid);return false;});
var $box4 = $("<div class='abox'></div>").click(function(){loadNewMovie("#frm4",linkVid);return false;});
$(this).css({position:'relative'}).append($box1,$box2,$box3,$box4);
$box1.css({top:0,left:0});
$box2.css({top:0,right:0});
$box3.css({bottom:0,left:0});
$box4.css({bottom:0,right:0});
$(".abox").animate({width:50,height:40});
//startRo
rotatorObj = $(this).children("img");
startRotator();
},
"mouseleave":function(){
$(this).find(".abox").remove();
stopRotator();
}
});
$li.prepend($aimg);
$ul.append($li);
}
var $da = $("<div class=downArrow>").bind({
"click":function(){
$(this).siblings("ul").animate({"margin-top":"-="+($(this).parents(".frm").height()*0.8)});
}
});
var $du = $("<div class=upArrow>").bind({
"click":function(){
$(this).siblings("ul").animate({"margin-top":"+="+($(this).parents(".frm").height()*0.8)});
}
});
callback($("<div>").append($ul).append($da).append($du));
});
}
var rotatorObj=null;
var rotatorInt=null;
var rotatorInd=1;
function startRotator()
{
clearInterval(rotatorInt);
rotatorInt = setInterval(function(){
var ln = $(rotatorObj).attr("src");
$(rotatorObj).attr("src", ln.replace(/small\d*/,"small"+rotatorInd) );
rotatorInd=(rotatorInd)%16+1;
},700);
}
function stopRotator()
{
rotatorInd=1;
var ln = $(rotatorObj).attr("src");
$(rotatorObj).attr("src", ln.replace(/small\d*/,"small") );
clearInterval(rotatorInt);
rotatorObj=null;
}
function loadNewMovie(targ,vid)
{
$(targ+" .btn").append("<img src='http://kapka.pl/_gfx/loadingAnim.gif'>");
$.ajax({
url: vid,
cache: false
}).done(function( html ) {
var matches = html.match("var flashvars = ([^;]+)");
var fv = jQuery.parseJSON(matches[1]);
$p = $("#playerDiv_1").clone();
$p2 = $p.find("param[name=flashvars]");
$p.find("param[name=flashvars]").attr("value",
$p2.attr("value").replace(/video_url=[^&]+/,"video_url="+fv.video_url)
.replace("autoreplay=false","autoreplay=true"));
$(targ).children(".contFront, .contBack").empty();
$(targ + " .contFront").append($p);
getRelated($("#video_1",html).val(),function($rel){
$(targ + " .contBack").append($rel);
});
$(targ+" .btn").empty();
if($(targ+" .btn").hasClass("up"))
{
$(targ+" .btn").removeClass("up");//.siblings(".cont").animate({"margin-top":0})
$(targ).children(".contFront, .contBack").removeClass("rotated");
}
});
}
$(document.head).find("style")
.append("\
@-webkit-keyframes logozoom {\n\
\n\
0%,100% {\n\
left:0px;\n\
top: 0px;\n\
zoom: 1;\n\
}\n\
\n\
50% {\n\
left:-5px;\n\
top: -5px;\n\
zoom: 1.1;\n\
}\n\
\n\
}\
.logo-nf{\
display:block;\
width:200px;\
}\
.logo-nf{\n\
display:block;\
-webkit-animation: logozoom 1s infinite;\n\
}\n");
$(".logo-nf a img").unwrap().unbind("click").click(create4Frames);