// JavaScript Document
function work(frame, bigger) {
	var doc = frame.document;
	var vLoop, vLink;
	
	for(vLoop=0; vLink = doc.getElementsByTagName("link")[vLoop]; vLoop++) {
		if(vLink.getAttribute("rel").indexOf("style") != -1) {
			if ( vLink.getAttribute("title") == "big" ) {
				vLink.disabled = true;
				vLink.disabled = ! bigger;
			}
		}
	}
}

function iterate(frame, bigger) {
	if ( frame == null ) frame = window.top;
	work(frame, bigger);
	for (var i=0; i<frame.frames.length; i++) {
		iterate(frame.frames[i], bigger);
	}
}

function changeIt(bigger) {
	//only for page with controls
	document.getElementById("bigger").style.display = bigger?"none":"inline";
	document.getElementById("normal").style.display = bigger?"inline":"none";
	
	saveCookie(bigger);
}
	
function saveCookie(bigger) {
	var expires = new Date();
	expires.setTime(expires.getTime() + 1000 * 60 * 60 * 24 * 7); //1 week
	document.cookie = "size=" + bigger + "; path=/; expires=" + expires.toGMTString() + ";";
}
	
function checkBrowser(msg) {
	if ( document.getElementById && document.getElementsByTagName ) {
		return true;
	}
	else {
		if ( msg ) {
			alert("Your browser does not support this.");
		}
	}
	return false;
}

function bigger() {
	if ( checkBrowser(true) ) {
		iterate(null, true);
		changeIt(true);
	}
}

function normal() {
	if ( checkBrowser(true) ) {
	 	iterate(null, false);
		changeIt(false);
	}
}

function remember() {
	rememberChange(false);
}

function rememberChange(change) {
	if ( ! checkBrowser(false) ) {
		return;
	}
	
	var size = getCookie("size");
	//typecast to boolean
	var bigger = (size=="true")?true:false;
	//alert("remember: " + bigger);
	work(window, bigger);
	
	if ( change ) {
		changeIt(bigger);
	}
}

function getCookie(name)
{
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1)
    {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    }
    else
    {
        begin += 2;
    }
    var end = document.cookie.indexOf(";", begin);
    if (end == -1)
    {
        end = dc.length;
    }
    return unescape(dc.substring(begin + prefix.length, end));
}

document.onload = remember();
