- /**
- * Created by Magnus on 2015-11-07.
- */
-
- //// ==UserScript==
- // @name thejigsawpuzzles.com
- // @namespace 4941ca1b-4ea1-42cd-817e-20476bfbae92
- // @version 0.25
- // @description enter something useful
-
- // @match http://thejigsawpuzzles.com/*
- // @require http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js
- // @require https://greatest.deepsurf.us/scripts/9160-my-function-library/code/My%20Function%20library.js?version=93168
-
- // @grant GM_getValue
- // @grant GM_setValue
- // @grant GM_deleteValue
-
- // @run-at document-start
-
- // @created 2015-10-24
- // @released 2015-12-10
- // @updated 2015-00-00
- // @history @version 0.25 - first version: @released - 2015-12-10
-
- // @compatible Greasemonkey, Tampermonkey
- // @license GNU GPL v3 (http://www.gnu.org/copyleft/gpl.html)
- // @copyright 2014+, Magnus Fohlstrom
- // ==/UserScript==
-
- /*global $, jQuery*/
-
- /*jshint -W014, -W030, -W082*/
- // -W014, laxbreak, Bad line breaking before '+'
- // -W030, Expected assignment or funtion call insted saw an expression
-
-
- (function($){
-
- var css = {
- main : function(){
- return ''
- + 'img.ImageFrame_solid {'
- + 'width: 100%;'
- + 'min-width: 130px;'
- + 'height: inherit;'
- + '}'
- + 'img.giThumbnailIce, td#microThumb {'
- + 'width: 130px;'
- + 'height: inherit;'
- + '}'
- + '#gallery > table {'
- + 'width: calc(100% - 100px);'
- + 'margin: 0 auto;'
- + '}'
- + '#ContentAlbum div.gbNavigator {'
- + 'width: 444px ;'
- + '}'
- + '#sidebar table a {'
- + 'font-size: 16px;'
- + '}'
- + '.popupMenuContainer, #gallery a {'
- + 'font-size: 15px !;'
- + '}'
- + '#gsImageView table {'
- + 'zoom:1.5;'
- + '}'
- + '.buttonAction {'
- + 'zoom: 0.3;'
- + '}'
- + '.buttonAction a {'
- + 'height: 60px !;'
- + 'width: 60px !;'
- + 'background-size: contain !;'
- + '}'
- + '#gsImageView .buttonAction {'
- + 'zoom: 0.6;'
- + '}'
- + '#gsImageView .buttonAction a {'
- + 'height: 12px !;'
- + 'width: 12px !;'
- + 'background-size: contain !;'
- + '}'
- + '#gbBlockDownloadEJ {'
- + 'background-size: cover !;'
- + 'margin: 0 auto;'
- + 'width: 222px !;'
- + 'height: 212px !;'
- + '}'
- + 'div#gbBlockDownloadEJ a {'
- + 'text-align: center !4;'
- + '}';
- },
- dyn : function(){
- return '';
- },
- style : function( id, var1, var2 ){
- var $id = $( 'head #' + id ), cssID = css[ id ]( var1, var2 ).formatString();
- $id.length ? $id.html( cssID ) : $( $( '<style/>',{ id: id, class:'mySuperStyles', html: cssID } ) ).appendTo('head');
- }
- },
- html = {
- puzzleImageLink : function(){
- var $href = location.origin + $('#pg param[name=flashvars]').attr('value').split('URL=').pop().split('%2F').join('\/'),
- $html = $( '<a/>',{ class:'gbAdminLink', target:'_blank', href:$href, text:'Link to Image' } );
-
- $( '<div/>',{ class:'gbBlock', html:$html } ).appendTo('#gsSidebar');
- }
- },
- fn = {
- reSizeImage : function(){
- var imgElem = $('body > img'), pageWidth = $w.width(), pageHeight = $w.height(), corr = 0.000,
- changeHeight = function(){
- imgElem.css('cssText','height:' +( pageHeight - ( pageHeight * corr ) )+ 'px; width: initial');
- },
- changeWidth = function(){
- imgElem.css('cssText','width:' + ( pageWidth - ( pageWidth * corr ) )+ 'px; height: initial');
- };
-
- imgElem.height() > imgElem.width() ? changeWidth() : changeHeight();
- },
- loadHref : function( dir ){
- var pager = $( '.button' + dir ).find( 'a' ).href();
- pager !== undefined && loadDoc( pager );
- },
- changeThumbLink : function(){
- var change = function( $e, find, change ){
- $e.attr('src', $e.attr('src').replace( find, change ) );
- refreshElement( $e , 'fast' );
- };
- $( 'img.ImageFrame_solid' ).each(function( i, e ){ change( $(e),'-130/','/' ); });
- $( 'img.giThumbnailIce' ).each(function( i, e ){ change( $(e),'-50/','-130' ); });
- }
- },
- listeners = {
- pageNav : function(){
- c.i('pageNav');
- $d.on( 'click', '.gbBlockNavTop, .gbBlockBottom, #gallery', function(e){
-
- var X_spot = e.clientX,
- ContentElem = $(this).hasId('gallery') ? $('#gallery > table') : $('#ContentAlbum div.gbNavigator table'),
- ContentLeft = ContentElem.offset().left,
- ContentRight = ContentLeft + ContentElem.width();
-
- filterClick( e, this ) && ( X_spot < ContentLeft || X_spot > ContentRight ) &&
- fn.loadHref( X_spot < ContentLeft ? 'Prev' : 'Next' );
- });
- //e.stopPropagation()
- //e.preventDefault()
- },
- keyNav : function(){
- d.addEventListener('keydown', function(e){
- if( $('input').is(':focus') || g.ms !== 0 ) return false; else g.timer(256);
-
- var key = e.keyCode; c.i('Key',key);
- switch( key ){
- case 39: fn.loadHref( 'Next' ); break; // arrow right
- case 37: fn.loadHref( 'Prev' ); break; // arrow left
- }
- }, false);
- },
- resize : function(){
- c.i('resize');
- $w.resize(function(){ $('#feedbackButton').length || fn.reSizeImage(); });
- }
- },
- render = {
- first : function(){
- c.i('render');
- css.style('main');
- }
- },
- observer = new MutationObserver( function( mutations ){
- mutations.forEach( function( mutation ){
- $( mutation.addedNodes ).each( function( i, e ){
- var $e = $(e), $p = $e.parent();
- $e.isTag('object') && $e.hasId('pg') && html.puzzleImageLink();
- });
- });
- });
-
- //noinspection JSCheckFunctionSignatures
- observer.observe( document, { subtree: true, childList: true });
-
- render.first();
-
- c.i('thejigsawpuzzles.com77');
-
- $d.ready(function(){
- $('#feedbackButton').length || ( fn.reSizeImage(), listeners.resize() );
- fn.changeThumbLink();
- listeners.pageNav();
- listeners.keyNav();
- setTimeout(function(){ $('.mySuperStyles').appendTo('head'); },2000 );
- });
-
- }(jQuery));