// ==UserScript==
// @name Swefilmer
// @namespace http://use.i.E.your.homepage/
// @version 0.952000
// @description Wide player, and store layout to next time you change. Navigate faster to Next TV-Series or the previous one. Easy to see where you are. (colored)
// @match http://www.swefilmer.com/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js
// @run-at document-end
// @grant GM_getValue
// @grant GM_setValue
// @grant GM_deleteValue
// @grant GM_log
// @created 2014-04-01
// @released 2014-00-00
// @updated 2014-00-00
// @history @version v0.95200 2015-02-20 - Check maximum Screen width
// @history @version v0.95100 2015-02-12 - FullPlayer button added. XtraWide has been widen. Code update
// @history @version v0.95000 2014-11-21 - FullPlayer added. layout correction. Code reorderd and some redesign.
// @history @version v0.92421 2014-06-01
// @history @version v0.9242 2014-06-01
// @history @version v0.902 2014-04-14 - Added Description
// @history @version v0.901 2014-04-14
// @history @version v0.800 2014-04-04 - first official version
// @compatible Greasemonkey, Tampermonkey
// @license GNU GPL v3 (http://www.gnu.org/copyleft/gpl.html)
// @copyright 2014+, Magnus Fohlström
// ==/UserScript==
/*global $, jQuery*/
/*jshint -W014*/
// -W014, laxbreak, Bad line breaking before '+'
(function ($) {
$.fn.waitUntilExists = function (handler, shouldRunHandlerOnce, isChild) {
var found = 'found';
var $this = $(this.selector);
var $elements = $this.not(function () { return $(this).data(found); }).each(handler).data(found, true);
if (!isChild) {
(window.waitUntilExists_Intervals = window.waitUntilExists_Intervals || {})[this.selector] =
window.setInterval(function () { $this.waitUntilExists(handler, shouldRunHandlerOnce,
true); }, 500);
} else if (shouldRunHandlerOnce && $elements.length) {
window.clearInterval(window.waitUntilExists_Intervals[this.selector]);
}
return $this;
};
}(jQuery));
String.prototype.formatString = function(){
return this.toString()
.split(/\s+/g).join(' ')
.split('{').join('{\n\t')
.split('; ').join(';')
.split(';').join(';\n\t')
.split('*/').join('*/\n')
.split('}').join('}\n');
};
function l(name,fn){ console.log( name, fn !== undefined ? fn : '' ); }
$( '<style id="navMenue"></style>'
+ '<style id="widePlayer"></style>'
+ '<style id="XtraWidePlayer"></style>'
+ '<style id="fullplayer"></style>'
+ '<style id="lightning"></style>').appendTo('head');
function navMenue()
{
var newRule_navMenue = ' '
+ '.navMenue {'
+ 'border-color: rgb(117, 98, 69);'
+ 'border-radius: 10px;'
+ 'border-width: 2px;'
+ 'border-style: solid;'
+ 'background-color: rgb(146, 133, 117);'
+ 'color: #505050;'
+ 'padding: 3px 16px;'
+ 'margin-right: 6px;'
+ 'top: 1px;'
+ 'position: relative;'
+ 'z-index:1000;'
+ '}'
+ '#myConfigButton {'
+ 'float: left;'
+ 'font-size: 17px;'
+ 'margin-left: 2px;'
+ 'margin-top: 5px;'
+ '}'
+ '#myConfigButton img {'
+ 'margin-right: 5px;'
+ 'height: 29px;'
+ 'border-radius: 10px;'
+ '}'
+ '#lightHolder:hover, .navMenue:hover {'
+ 'cursor: pointer;'
+ '}'
+ 'a:focus, .navMenue:hover, a:active {'
+ 'text-decoration: none;'
+ 'color: aliceblue;'
+ '}'
+ '.navMenue .titles {'
+ 'display:none !important;'
+ 'margin: -50px 105px;'
+ 'padding: 0 30px;'
+ '}'
+ '.navMenue:hover .titles {'
+ 'display:table !important;'
+ 'z-index:200000;'
+ 'position: absolute;'
+ '}'
+ '#tabCtrl iframe {'
+ 'border-style: none;'
+ '}';
$("style#navMenue").empty().html( newRule_navMenue.formatString() );
var newHtml_navMenue =
'<span id="myConfigButton" style="float:left">'
+ '<span id="lightHolder"></span>'
+ '<span id="prevMenue" class="navMenue"> Previous <span class="titles"> </span> </span>'
+ '<span id="nextMenue" class="navMenue"> Next <span class="titles"> </span> </span>'
+ '<span id="fullMenue" class="navMenue sizeing"><span> FullBrowser </span></span>'
+ '<span id="XwideMenue" class="navMenue sizeing"><span> xtraWide </span></span>'
+ '<span id="wideMenue" class="navMenue sizeing"><span> Wide </span></span>'
+ '<span id="orginMenue" class="navMenue sizeing"><span> Orginal </span></span>'
//+ '<span id="playMenue" class="navMenue"><span href="#"> Play </span></span>'
+ '</span>';
$( newHtml_navMenue ).insertAfter( ".fsol" );
$( "#lightHolder" ).prepend( $( "#lightningOff" ) );
}
function widePlayer()
{
var newRule_widePlayer = ' '
+ '#content > div.filmborder {'
+ 'margin-left: 0px;'
+ 'width: 975px;'
+ '}'
+ '#content > div.filmborder > div.filmcontent {'
+ ' width: 975px;'
+ '}'
+ '.filmicerik object, .filmicerik embed, .filmicerik iframe, .filmicerik {'
+ 'width: 958px;'
+ '}'
+ '.filmcontent {'
+ 'width: 732px;'
+ '}'
+ '.filmicerik object, .filmicerik embed, .filmicerik iframe {'
+ 'height: 714px;'
+ '}';
$("style#widePlayer").empty().html( newRule_widePlayer.formatString() );
}
function XtraWidePlayer()
{
var TargetWidth = 1400,
screenW = window.screen.width,
Scorr = screenW < TargetWidth ? screenW - 40 : TargetWidth,
multi = Scorr/980,
newRule_XtraWidePlayer =
'body {'
+ 'background-size: calc(1818px*'+multi+');'
+ '}'
+ '#wrap, #content, #header, #topnavbar {'
+ 'width: calc(980px*'+multi+');'
+ '}'
+ '#navbarborder, #navbar {'
+ 'width: calc(976px*'+multi+');'
+ '}'
+ '.filmicerik object, .filmicerik embed, .filmicerik iframe, .filmicerik {'
+ 'width: calc(964px*'+multi+');'
+ '}'
+ '.filmicerik object, .filmicerik embed, .filmicerik iframe {'
+ 'height: calc(714px*'+multi+');'
+ '}'
+ 'div.leftC {'
+ 'width: calc(722px*'+multi+');'
+ '}'
+ 'div.filmborder, div.filmcontent {'
+ 'width: calc(975px*'+multi+') !important;'
+ '}'
+ '.leftC div.filmcontent {'
+ ' width: calc(100% - 323px) !important;'
+ '}'
+ 'div#fastdizidata {'
+ 'width: calc(720px*'+multi+');'
+ 'padding-left: 35px;'
+ '}'
+ 'div.alt {'
+ 'width: inherit;'
+ 'background-size: calc(138%);'
+ '}'
+ '.alt .fsag {'
+ 'margin: 5px 29px 0px 0px;'
+ '}'
+ 'div.filmalti {'
+ 'padding-left: 25px;'
+ '}'
+ 'div.filmaltiimg {'
+ 'padding-bottom: 21px;'
+ '}'
+ 'div#respond {'
+ 'padding-left: 25px;'
+ '}'
+ 'div.moviefilm {'
+ 'margin: 0 32px 25px 34px;'
+ '}'
+ '#sidebar {'
+ 'width: 317px;'
+ 'margin-top: -2px;'
+ '}'
+ '#content .sidebarborder {'
+ 'width: 315px !important;'
+ '}'
+ '#content .sidebar-right {'
+ 'width: 310px !important;'
+ '}'
+ '#content .sidebar-right h2 {'
+ 'width: 302px;'
+ 'background-size: cover;'
+ '}'
+ 'div.filmana {'
+ 'width: 99%;'
+ '}'
+ 'div.arama {'
+ 'margin-left: 175px;'
+ '}'
+ '#movies {'
+ 'margin-left: 0px !important;'
+ '}';
$("style#widePlayer").empty().html( newRule_XtraWidePlayer.formatString() );
}
function fullplayer(corr)
{
corr = corr !== undefined ? corr : 0;
var newWindowWidth = $( window ).width() - 18 + corr,
newRule_fullplayer =
'div#topnavbar, div#header, div#navbarborder, .clear.h10, .clear, '
+ '#wrap div[align=center], .leftC, div#sidebar, .footborder, div#footer, '
+ 'h1.yazitip, .fast_part, .fast_rating, .alt {'
+ 'display: none;'
+ '}'
+ 'div#wrap, div#content, div#movies, div.filmcontent, .filmicerik {'
+ 'width: 100% !important;'
+ '}'
+ '.filmicerik object, .filmicerik embed, .filmicerik iframe, .filmicerik {'
+ 'height: '+( $( window ).height() - 18 + corr )+'px !important;'
+ '}'
+ '.filmicerik object, .filmicerik embed, .filmicerik iframe, .filmicerik {'
+ 'width: '+newWindowWidth+'px !important;'
+ '}'
+ 'body {'
+ 'overflow: hidden;'
+ '}'
+ '#wrap {'
+ 'margin: 0;'
+ '}'
+ '#content {'
+ 'padding: 0px 0px 0px 0px !important;'
+ '}'
+ '#movies {'
+ 'margin-left: 0px !important;'
+ '}'
+ '.filmcontent, .filmicerik {'
+ 'padding-bottom: 10px;'
+ '}';
$("style#fullplayer").empty().html( newRule_fullplayer );
$(".filmcontent").css('cssText','width: calc(100% - 2px) !important;');
scrollIt(0);
}
$( window ).resize(function() {
if( $('html').hasClass('fullplayer') ) fullplayer();
});
function lightning()
{
var newRule_lightning = ' '
+ 'div#sidebar, .filmborder, .alt2, .alt .fsol, .facebok, .facepaylas, .alt .fsag, .center, .yazitip, .fast_part, .fast_rating, #topnavbar, #header, #navbarborder, .navMenue {'
+ 'opacity: 0.0;'
+ '}'
+ 'body, div.alt {'
+ 'background: #191919;'
+ '}'
+ 'body {'
+ 'background: rgb(18, 18, 18);'
+ '}';
$("style#lightning").empty().html( newRule_lightning.formatString() );
}
function ScrollZoomTune(selection,zomms,tune,ani)
{
var position = $( selection ).position();
$('body').css('zoom',zomms);
if( position == "undefined" )
{
console.log('is undis');
} else {
position = position.top;
position = position + tune;
if( ani == 1 ){
$('body').animate({ scrollTop: position * zomms });}
else{
$('body').scrollTop( position * zomms);
}
}
}
function Colorize(thisnode)
{
var nextText, prevText;
$('#nextMenue, #prevMenue').hide();
$(thisnode).prevAll().css('color','').attr('id','');
$(thisnode).prev().css('color','lightblue').attr('id','next');
prevText = $(thisnode).prev().text();
if( prevText.search('S') > 1 )
{
$('#nextMenue .titles').text( prevText );
$('#nextMenue').show();
}
$(thisnode).css('color','rgb(246, 120, 120)').attr('id','');
$(thisnode).nextAll().css('color','').attr('id','');
$(thisnode).next().css('color','rgb(146, 218, 146)').attr('id','prev');
nextText = $(thisnode).next().text();
if( nextText.search('S') > 1 )
{
$('#prevMenue .titles').text( nextText ).show();
$('#prevMenue').show();
}
}
$('#lightsoff').waitUntilExists(function()
{
$( "#lightsoff img" ).attr('id','lightningOff');
$('#lightning').addClass('on');
navMenue();
$('#prevMenue, #nextMenue, #OrginMenue, #wideMenue, #XwideMenue').hide();
//$('#' + GM_setValue( "swefiler_state" ) + 'Menue').show();
$('#content > div.leftC > div:nth-child(1)').attr('id','movies');
$( "#lightningOff" ).on('click',function(){
l('light',$('#lightning').hasClass('on'));
if( $('#lightning').hasClass('on') ) {
$('#lightning').removeClass('on');
lightning();
$('.yazitip').css('opacity','0.4');
$('#movies').css('opacity','1');
$('#lightHolder').css('opacity','0.5');
$('#fullMenue, #XwideMenue, #wideMenue, #orginMenue, #prevMenue, #nextMenue, #lightningOff').css('opacity','0.05');
$('#lightningOff').css('opacity','1');
$('#fullMenue, #XwideMenue, #wideMenue, #orginMenue, #prevMenue, #nextMenue, #lightningOff').on('mouseenter', function(){
$(this).css('opacity','0.75');
}).on('mouseleave', function(){
$(this).css('opacity','0.05');
});
$('#lightHolder').on('mouseenter', function(){
$(this).css('opacity','0.95');
}).on('mouseleave', function(){
$(this).css('opacity','0.5');
});
} else {
$('#lightning').addClass('on');
$("style#lightning").empty();
$('#fullMenue, #XwideMenue, #wideMenue, #orginMenue, #prevMenue, #nextMenue, #lightningOff, .yazitip, #lightHolder').css('opacity','1');
$('#fullMenue, #XwideMenue, #wideMenue, #orginMenue, #prevMenue, #nextMenue, #lightningOff, #lightHolder').on('mouseenter', function(){
$(this).css('opacity','1');
}).on('mouseleave', function(){
$(this).css('opacity','1');
});
}
});
function removeHeadplayerCss()
{
$("style#widePlayer").empty();
$("style#XtraWidePlayer").empty();
}
$('#fullMenue').on('click',function(){
if( $('html').hasClass('fullplayer') ) return false;
$('html').addClass('fullplayer');
$('#wideMenue').click();
fullplayer(15);
$("#lightningOff").click().css('opacity', $('#nextMenue').css('opacity') );
});
$('#XwideMenue').on('click',function(){
removeHeadplayerCss();
$( "#content" ).prepend( $( "#movies" ) );
widePlayer();
XtraWidePlayer();
$('.sizeing').hide();
$('#orginMenue').show();
$('#wideMenue').show();
$('#fullMenue').show();
GM_setValue( "swefiler_state", "Xwide" );
});
$('#wideMenue').on('click',function(){
removeHeadplayerCss();
$( "#content" ).prepend( $( "#movies" ) );
widePlayer();
$('.sizeing').hide();
$('#XwideMenue').show();
$('#orginMenue').show();
$('#fullMenue').show();
GM_setValue( "swefiler_state", "wide" );
});
$('#orginMenue').on('click',function(){
$( ".leftC" ).prepend( $( "#movies" ) );
removeHeadplayerCss();
$('.sizeing').hide();
$('#XwideMenue').show();
$('#wideMenue').show();
$('#fullMenue').show();
GM_setValue( "swefiler_state", "orgin" );
});
//GM_deleteValue( "swefiler_state" );
function state()
{
$('#' + GM_getValue( 'swefiler_state' ) + 'Menue' ).click().addClass('gotGM');
if( $('.gotGM').size() === 0 ) {
setTimeout(function() {
GM_setValue( "swefiler_state", "orgin" );
state();
}, 50);
}
}
state();
document.addEventListener('keydown', function(e) {
GM_log(e.keyCode);
if (e.keyCode == 27) { //esc
if( $('html').hasClass('fullplayer') === false ) return false;
$("style#fullplayer").empty();
$(".filmcontent, .filmcontent").css('cssText','');
$('html').removeClass('fullplayer');
$("#lightningOff").click().css('opacity', $('#nextMenue').css('opacity') );
}
if (e.keyCode == 109) { //-
$("#prev").click();
}
if (e.keyCode == 66) { //b
$('#fullMenue').click();
}
if (e.keyCode == 107) { //+
$("#next").click();
}
if (e.keyCode == 76) { //L
$("#lightningOff").click().css('opacity', $('#nextMenue').css('opacity') );
}
if (e.keyCode == 88) { //x
$('#XwideMenue').click();
}
if (e.keyCode == 87) { //w
$('#wideMenue').click();
}
if (e.keyCode == 79) { //O
$('#orginMenue').click();
}
}, false);
});
function clicking(x,y){
var ev = document.createEvent("MouseEvent");
var el = document.elementFromPoint(x,y);
ev.initMouseEvent(
"click",
true /* bubble */, true /* cancelable */,
window, null,
x, y, 0, 0, /* coordinates */
false, false, false, false, /* modifier keys */
0 /*left*/, null
);
el.dispatchEvent(ev);
}
function scrollIt(time)
{
setTimeout(function() {
if( $(window).height() <= 866 ){
ScrollZoomTune('#movies',1,100,1);
} else {
ScrollZoomTune('#movies',1,1,1);
}
}, time);
}
//while ( $('#fastdizidata > a:nth-child(1)').size() != 1 )
$('#fastdizidata > a:nth-child(1)').waitUntilExists(function()
{
$('#prevMenue, #nextMenue').show();
$('#fastdizidata > a:contains(' + $('#yazibasligi').text() + ')').each(function(){
Colorize(this);
});
$('#fastdizidata > a').on('click',function(){
Colorize(this);
scrollIt(500);
});
$('#prevMenue').on('click',function(){
$('#prev').click();
$('#movies').focus();
});
$('#nextMenue').on('click',function(){
$('#next').click();
$('#movies').focus();
});
$('.yazitip.cpointer').click();
});
$(document).ready(function(){
if( $('#header .headerleft a').size() > 0 && $('.yazitip.cpointer').size() > 0 )
{
$('.yazitip.cpointer').click();
}
$('#movies').focus();
scrollIt(1000);
$('body').on('click',function(e){
if( e.target == this && e.which == 1 ){
scrollIt(50);
//clicking(750,350);
}
});
function checkNumber( num, div )
{
return ( num % div === 0 ) ? true : false;
}
var div = 21, rof = div * 30;
for ( var i=1; i <= rof; i++ )
{
if( checkNumber( i, div ) === true )
{
console.info( i / div + ' * ' + div + ' = ' + i );
//console.log('check number:',i + ' if divided by: ' + div + ' is an interger: ' + checkNumber( i, div ) );
}
}
});