var prefsLoaded = false;
var defaultFontSize = 100;
var currentFontSize = defaultFontSize;

function revertStyles() {
    currentFontSize = defaultFontSize;
    changeFontSize(0);
    els = getElementsByClassName();
    for(var k=0; k < els.length; k++)
	els[k].style.fontSize = '';
}

function toggleColors(){
    if(currentStyle == "White"){
	setColor("Black");
    }else{
	setColor("White");
    }
}

function getElementsByClassName(container) {
    container = container||document;
    var all = container.all||container.getElementsByTagName('*');
    var arr = [];
    for(var k=0;k<all.length;k++)
	if(all[k].className.substr(0, 4) == 'font'){
	    arr[arr.length] = all[k];}
    return arr;
}

function changeFontSize(sizeDifference){
    currentFontSize = parseInt(currentFontSize) + parseInt(sizeDifference * 5);

    createCookie("fontSize", currentFontSize, 365);
    setFontSize(currentFontSize, sizeDifference);
};

function setFontSize(fontSize, sDiff){
    var stObj = (document.getElementById) ? document.getElementById('content_area') : document.all('content_area');
    stObj = stObj ? stObj : document.body;
    stObj.style.fontSize = fontSize + '%';
    els = getElementsByClassName();
    for(var k=0; k < els.length; k++) {
	if (navigator.appName == "Microsoft Internet Explorer")
	    elStyle = els[k].currentStyle;
	else
	    elStyle = window.getComputedStyle(els[k], null);
	strS = elStyle.fontSize;
	elFSize = parseFloat(strS);
	elFNewSize = elFSize + (elFSize * parseInt(sDiff) *  0.05);
	qq = elFSize + '';
	meaz = strS.substr(qq.length, 2);
	els[k].style.fontSize = elFNewSize + meaz;
    }
};

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 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 setUserOptions(){
	if(!prefsLoaded){
	    cookie = readCookie("fontSize");
	    currentFontSize = cookie ? cookie : defaultFontSize;
	    fdiff = (parseInt(currentFontSize) - defaultFontSize) / 5;
	    setFontSize(currentFontSize, fdiff);
	    prefsLoaded = true;
	}
}
