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 deleteCookie(name) {
	document.cookie = name+"=; expires=Thu, 01-Jan-1970 00:00:01 GMT"+"; path=/";
}


function switch_style(title) {
	
	// Find links
	var i;
	elements = document.getElementsByTagName("link");
	
	// Switch Style
	for(i=0; i < elements.length; i++) {
		if(elements[i].rel.indexOf("stylesheet") != -1 && elements[i].title) {
			elements[i].disabled = true;
			if(elements[i].title == title) elements[i].disabled = false;
		}
	}
	
	$("div#fader").fadeOut("slow");
}


// Style switching
function theme(title) {
	var auto;
	var saved;
	var transition = false;
	
	// Default Theme
	var d = new Date();
	var hour = d.getHours();

	if (hour >= 7 && hour < 15) {
		auto = 'Daylight';
	} else if (hour >= 15 && hour < 19) {
		auto = 'Sunset';
	} else {
		auto = 'Night';
	}

	// Selected
	if (title) {
		
		transition = true;
		if (title == "Auto") {
			deleteCookie("preferred_style");
			title = auto;
		} else {
			createCookie("preferred_style",title,"365");
		}
	
	// Cookie
	} else if (saved = readCookie("preferred_style")) {
		title = saved;
	
	// Default
	} else {
		title = auto;
	}

	// Transition to theme
	if (transition) {
		// Resize Hidden Div
		document.getElementById('fader').style.height = document.getElementById('site_container').offsetHeight+"px";
		$("div#fader").fadeIn("slow", function(){ switch_style(title); });
	
	// Direct change
	} else {
		switch_style(title);
	}
	return true;
}

// Font Size
function font_size(change) {
	var size;
	var saved;
	
	// Get Size
	if (!document.body.style.fontSize) size = 13;
	else size = (document.body.style.fontSize.replace("px",'') - 0);
	
	// Change Size
	if (change == "increase") size++;						// Increase
	else if (change == "decrease") size--;					// Decrease
	else if (saved = readCookie("font_size")) size = saved;	// Read from Cookie
	
	// Set Size
	if (size > 6 && size < 30 ) {
		document.body.style.fontSize = size+"px";
		createCookie("font_size",size,"365");
	}
}