Customized OneManga

By knaces Last update Aug 31, 2009 — Installed 1,368 times.

There are 6 previous versions of this script.

// ==UserScript==
// @name           Customized OneManga
// @namespace      Knace
// @description    Improves your onemanga.com reading experience with configurable features: Prefetching, Image Stretching, etc...
// @version        0.4
// @include        http://www.onemanga.com/*/*
// @exclude        http://www.onemanga.com/directory/*
// @exclude        http://www.onemanga.com/recent/*
// @exclude        http://www.onemanga.com/chat/*
// @exclude        http://www.onemanga.com/supportus/*
// @exclude        http://www.onemanga.com/shop/*
// @exclude        http://www.onemanga.com/contactus/*
// ==/UserScript==
///////////////////////////////////////////////////////////////////////////////////
//{ Config Section
//  --------------
	var autoupdate = true;
		var update_timer = 3;

	var prefetch = true;

	var background = true;
		var bg_color = '#00000f';
		var font_color = '#CCCCCC';

	var stretch = true;

	var reduce_mode = true;
		var info_bar = 'bottom';

	var remove_navbar_top = false;

	var remove_navbar_bottom = true;

//}
///////////////////////////////////////////////////////////////////////////////////
if( top == self )
{


	//======================================================
	//{ Load variables
	//
		prefetch = GM_getValue('prefetch', prefetch);
		background = GM_getValue('background', background);
			bg_color = GM_getValue('bg_color', bg_color);
		stretch = GM_getValue('stretch', stretch);
		reduce_mode = GM_getValue('reduce_mode', reduce_mode);
			info_bar = GM_getValue('info_bar', info_bar);
		remove_navbar_top = GM_getValue('remove_navbar_top', remove_navbar_top);
		remove_navbar_bottom = GM_getValue('remove_navbar_bottom', remove_navbar_bottom);
	//}
	//======================================================



	//======================================================
	//{ Store document data for modifying and rearranging
	//
		var divs = document.getElementsByTagName('div');
			var header_div = document.getElementById('header');
			var footer_div = document.getElementById('footer');
			var infobar_div = document.getElementsByTagName('h1')[0];
			var image_div = divs[10];
				var image = document.getElementsByTagName('img')[0];
			var tip_div = divs[12];
			var navbartop_div = divs[9];
			var navbarbottom_div = divs[11];
		var body_div = document.getElementById('content');
		var next_page = document.getElementsByTagName('a')[6].href;
	//}
	//======================================================



/////////////////////////////////////////////////////////////////////////////////



	//======================================================
	//{ Prefetching
	//     TODO: add prefetching between chapters
		window.runPrefetch = function() {
			if( prefetch == true ) {
				iframe = document.createElement('iframe');
					iframe.setAttribute('src', next_page);
					iframe.style.visibility = 'hidden';
				document.body.appendChild(iframe);
			}
		}
		window.togglePrefetch = function() {
			if( prefetch == true ) {
				prefetch = false;
				alert('Prefetching: Turned Off');
			} else {
				prefetch = true;
				alert('Prefetching: Turned On');
			}
			GM_setValue('prefetch', prefetch);
		}
	//}
	//======================================================


	//======================================================
	//{ Image Stretching
	//
		window.runStretch = function() {
			if( stretch ) { image.setAttribute('width', '100%'); }
		}
		window.toggleStretch = function() {
			if( stretch == true ) {
				stretch = false;
				image.setAttribute('width', '');
			} else {
				stretch = true;
				runStretch();
			}
			GM_setValue('stretch', stretch);
		}
	//}
	//======================================================


	//======================================================
	//{ reduce_mode
	//
		var moved_infolink = false;
		window.runReduceMode = function() {
			if( reduce_mode == true ) {
				header_div.style.display = 'none';
				footer_div.style.display = 'none';
				tip_div.style.display = 'none';
				if( info_bar == 'top' ) {
					//Do Nothing
				} else if( info_bar == 'bottom' ) {
					moved_infolink = true;
					image_div.parentNode.insertBefore( infobar_div, image_div.nextSibling );
				} else {
					moved_infolink = true;
					infobar_div.style.display = 'none';
				}
			}
		}
		window.toggleReduceMode = function() {
			if( reduce_mode == true ) {
				reduce_mode = false;
				header_div.style.display = 'block';
				footer_div.style.display = 'block';
				tip_div.style.display = 'block';
				if( info_bar != 'top' && info_bar != 'bottom' && moved_infolink == false ) { infobar_div.style.display = 'block'; }
			} else {
				reduce_mode = true;
				if( confirm('Move Manga Information Link to Top of Image?') ) {
					info_bar = 'top';
				} else {
					if( confirm('Move Manga Information Link to Bottom of Image?') ) {
						info_bar = 'bottom';
					} else {
						info_bar = ''; 
					}
				}
				GM_setValue('info_bar', info_bar);
				runReduceMode();
			}
			GM_setValue('reduce_mode', reduce_mode);
		}
	//}
	//======================================================




	//======================================================
	//{ remove_navbar_top
	//
		window.runNavbarTop = function() {
			if( remove_navbar_top == true ) {
				navbartop_div.style.display = 'none';
			}
		}
		window.toggleNavbarTop = function() {
			if( remove_navbar_top == true ) {
				remove_navbar_top = false;
				navbartop_div.style.display = 'block';
			} else {
				remove_navbar_top = true;
				runNavbarTop();
			}
			GM_setValue('remove_navbar_top', remove_navbar_top);
		}
		
	//}
	//======================================================



	//======================================================
	//{ remove_navbar_bottom
	//
		window.runNavbarBottom = function() {
			if( remove_navbar_bottom == true ) {
				navbarbottom_div.style.display = 'none';
			}
		}
		window.toggleNavbarBottom = function() {
			if( remove_navbar_bottom == true ) {
				remove_navbar_bottom = false;
				navbarbottom_div.style.display = 'block';
			} else {
				remove_navbar_bottom = true;
				runNavbarBottom();
			}
			GM_setValue('remove_navbar_bottom', remove_navbar_bottom);
		}
		
	//}
	//======================================================



/////////////////////////////////////////////////////////////////////////////////



	//======================================================
	//{ Call and register Commands
	//
		window.addEventListener( 'load', runPrefetch, false ); GM_registerMenuCommand( 'Toggle Prefetching', togglePrefetch );
		runStretch(); GM_registerMenuCommand( 'Toggle Image Stretching', toggleStretch );
		runReduceMode(); GM_registerMenuCommand( 'Toggle "Reduced" Mode', toggleReduceMode );
		runNavbarTop(); GM_registerMenuCommand( 'Toggle Top NavigationBar', toggleNavbarTop );
		runNavbarBottom(); GM_registerMenuCommand( 'Toggle Bottom NavigationBar', toggleNavbarBottom );
	//}
	//======================================================



}