// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// cookie creating functions
// http://www.quirksmode.org/js/cookies.html
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}
function eraseCookie(name) {
	createCookie(name,"",-1);
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* font sizes */
/* mine! */

// essentially gonna swap the css out to change the body font size

// an array of all the font size css
var fontSizeArray = new Array();
	fontSizeArray[0]="<link rel='stylesheet' type='text/css' href='/css/font-size-43.css' media='screen' />\n";
	fontSizeArray[1]="<link rel='stylesheet' type='text/css' href='/css/font-size-53.css' media='screen' />\n";
	fontSizeArray[2]="<link rel='stylesheet' type='text/css' href='/css/font-size-63.css' media='screen' />\n";
	fontSizeArray[3]="<link rel='stylesheet' type='text/css' href='/css/font-size-73.css' media='screen' />\n";
	fontSizeArray[4]="<link rel='stylesheet' type='text/css' href='/css/font-size-83.css' media='screen' />\n";
	
	// fontSizeArray[5]="<link rel='stylesheet' type='text/css' href='/css/font-size-93.css' media='screen' />\n";
	// fontSizeArray[6]="<link rel='stylesheet' type='text/css' href='/css/font-size-103.css' media='screen' />\n";

var defaultFontSize = 2;
var maxFontSize = fontSizeArray.length - 1;
var minFontSize = 0;
var currentFontSize;
var currentStyleSheetState;

function checkCurrentSize() {
	currentFontSize = readCookie('currentFontSize');
	currentStyleSheetState = readCookie('styleSheetState');
	if (currentStyleSheetState == 1) {
		removeStyle();
	}	
	if (currentFontSize == null) {
		currentFontSize = defaultFontSize;
	}

	return currentFontSize;
}

checkCurrentSize();
//document.write(fontSizeArray[currentFontSize]);
document.writeln(fontSizeArray[currentFontSize]);

var whichSSsize = "Size: "+currentFontSize+", which uses:\n"+fontSizeArray[currentFontSize];

function increaseFontSize() {
	checkCurrentSize();
	if (currentFontSize==maxFontSize) {
		return null;
	} else {
		currentFontSize = parseInt(currentFontSize)+1;
		createCookie('currentFontSize',currentFontSize,14)
		window.location.reload();
	}
}

function decreaseFontSize() {
	checkCurrentSize();
	if (currentFontSize==minFontSize) {
		return null;
	} else {
		currentFontSize = parseInt(currentFontSize)-1;
		createCookie('currentFontSize',currentFontSize,14)
		window.location.reload();
	}
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

function resetStyles() {
	// reset main style sheet
	var expdate = new Date();  
	expdate.setTime(expdate.getTime() + (1000*3600*24*365)); 
	newstyle = 1;
	document.cookie = 'style=' + newstyle + '; expires=' + expdate.toGMTString() + '; path=/';  
	
	// reset font size
	createCookie('currentFontSize',defaultFontSize,14);
	eraseCookie('styleSheetState',-1);
	
	// reload page
	window.location.reload();
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

function removeStyle(){
	createCookie('styleSheetState',1,14);
	
	for(i=0;i<document.styleSheets.length;i++) {
		void(document.styleSheets.item(i).disabled=true);
	}
	el = document.getElementsByTagName('*');
	for ( i=0; i<el.length; i++) {
		void(el[i].style.cssText = '');
	}
}
