
// Script made by Pascal Vyncke for the Belgian
// website for seniors: http://www.seniorennet.be 
// You can use this script for free.
// Please do NOT remove this credit


// These are the variables; you can change these if you want

// How many days to remember the setting
var expDays = 9999;

// This is the number of your standard style sheet.
// this will be used when the user did not do anything.
var standardStyle = '1';

// This is the name of the cookie that is used.  
var nameOfCookie = 'switchstyle';

// This is the URL to your directory where your .css files are placed on your site.
// For example: http://www.seniorennet.be/URL_TO_STYLESHEET_DIRECTORY_OF_YOUR_SITE/
var urlToCSSDirectory = '/template/';

// Now you can set here the names of your different .css files; exactly the name as set on your website
var ScreenCSS_1 = 'main.css';
var ScreenCSS_2 = 'high_contrast.css';

// If you use different .css files for printing a document, you can set these.  If you don't even know what this is, name then everything exactly the same as above.
// So: make then PrintCSS_1 the same as ScreenCSS_1, for example "screen_1.css".
var PrintCSS_1 = 'main.css';
var PrintCSS_2 = 'high_contrast.css';

var buttonImages = {
    '1': '-black.png',
    '2': '-white.png'
};


/***********************************************************************************************
	
	DO NOT CHANGE ANYTHING UNDER THIS LINE, UNLESS YOU KNOW WHAT YOU ARE DOING
	
***********************************************************************************************/

// This is the main function that does all the work
function switchStyleOfUser(){
	var the_style = GetCookie(nameOfCookie);
	if (the_style == null) {
		the_style = standardStyle;
	}
	
	if (the_style == "1") { document.write('<link rel="stylesheet" type"text/css" href="' + urlToCSSDirectory + ScreenCSS_1 + '" media="screen">'); }
	if (the_style == "2") { document.write('<link rel="stylesheet" type"text/css" href="' + urlToCSSDirectory + ScreenCSS_2 + '" media="screen">'); }
	
	if (the_style == "1") { document.write('<link rel="stylesheet" type"text/css" href="' + urlToCSSDirectory + PrintCSS_1 + '" media="print">'); }
	if (the_style == "2") { document.write('<link rel="stylesheet" type"text/css" href="' + urlToCSSDirectory + PrintCSS_2 + '" media="print">'); }

	var the_style = "";
	return the_style;
}

var exp = new Date(); 
exp.setTime(exp.getTime() + (expDays*24*60*60*1000));

// Function to get the settings of the user
function getCookieVal (offset) {  
	var endstr = document.cookie.indexOf (";", offset);  
	if (endstr == -1)    
	endstr = document.cookie.length;  
	return unescape(document.cookie.substring(offset, endstr));
}
	
// Function to get the settings of the user
function GetCookie (name) {  
	var arg = name + "=";  
	var alen = arg.length;  
	var clen = document.cookie.length;  
	var i = 0;  
	while (i < clen) {    
		var j = i + alen;    
		if (document.cookie.substring(i, j) == arg)      
		return getCookieVal (j);    
		i = document.cookie.indexOf(" ", i) + 1;    
		if (i == 0) break;   
	}  
	return null;
}

// Function to remember the settings
function SetCookie (name, value) {
	var argv = SetCookie.arguments;  
	var argc = SetCookie.arguments.length;  
	var expires = (argc > 2) ? argv[2] : null;  
	var path = (argc > 3) ? argv[3] : null;  
	var domain = (argc > 4) ? argv[4] : null;  
	var secure = (argc > 5) ? argv[5] : false;  
	document.cookie = name + "=" + escape (value) + 
	    ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + 
    	((path == null) ? "" : ("; path=" + path)) +  
    	((domain == null) ? "" : ("; domain=" + domain)) +    
    	((secure == true) ? "; secure" : "");
}

// Function to remove the settings
function DeleteCookie (name) {  
	var exp = new Date();  
	exp.setTime (exp.getTime() - 1);  
	var cval = GetCookie (name);  
	document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}

// This function is used when the user gives his selection
function doRefresh(){
	location.reload();
}

function doToggle() {
	var the_style = GetCookie(nameOfCookie);
	if (the_style == null) {
		the_style = standardStyle;
	}
    SetCookie(nameOfCookie, the_style == "1" ? "2" : "1", exp);
    doRefresh();
}

/* FONT SIZE STUFF */
var fmin=8;
var fmax=36;
function textUp() {
   var s = getFontSize();
   if (s != fmax) {
       s += 1;
       setFontSize(s);
   }
}
function textDown() {
   var s = getFontSize();
   if (s != fmin) {
       s -= 1;
       setFontSize(s);
   }
}

function getFontSize() {
   var p = document.getElementById('main_border');
   if(p.style.fontSize) {
       var s = parseInt(p.style.fontSize.replace("px",""));
   } else {
       var s = 16;
   }
   return s;
}
function setFontSize(s) {
   var p = document.getElementById('main_border');
   p.style.fontSize = s+"px";
   SetCookie('font_size', s);
}

function setButtonImages() {
    var the_style = GetCookie(nameOfCookie);
    if (the_style == null) {
        the_style = standardStyle;
    }
    document.getElementById('textup_button'  ).src = '/template/images/textup'   + buttonImages[the_style];
    document.getElementById('textdown_button').src = '/template/images/textdown' + buttonImages[the_style];
}

function onBodyLoad() {
    // setButtonImages();
    setFontSize(getFontSize());
}

// This will call the main function.  Do not remove this, because otherwise this script will do nothing...
document.write(switchStyleOfUser());

