var cookie_name = "font_size";
var font_clicks = 0;
var initialized = false;

function init_prefs() {
// initialize user preferences
var fontscaler = document.getElementById('fontscaler');
if (fontscaler) 
  { fontscaler.style.visibility='visible'; 

  var cookie = getCookie(cookie_name);
  var teller = 0;
  _font_clicks = 0;
  if (cookie != null) {
     font_cookie = unescape(cookie);
     cookie_elements = font_cookie.split(",");
     for (teller=0; teller<cookie_elements.length; teller++) {
        cookie_element = cookie_elements[teller].split(":");
        if (cookie_element[0] == "fontclicks") 
         {
         _font_clicks = cookie_element[1] -1 +1;
     	 var fontscaler = document.getElementById("fontscaler");
     	 if (fontscaler) { fontscaler.style.display = 'block'; }
         }
     }
     changeFontSize(_font_clicks);
  }
  }
}

function make_cookie() {
// save the new values for the user preferences
   var nextyear=new Date();

   nextyear.setFullYear(nextyear.getFullYear()+1);
   var font_cookie = escape("fontclicks:"+font_clicks);
   setCookie(cookie_name,font_cookie,60*24*14);


}

function changeFontSize(increment) {
var body=document.body;

  if (increment==0)
   {
   increment = -font_clicks;
   font_clicks = 0;
   }
  else
   {
   font_clicks = font_clicks + increment;
   if (font_clicks<-1) { increment = 0; font_clicks=-1;}
   if (font_clicks>5) { increment = 0; font_clicks=5;}
   }
  
  if (increment!=0)
   {
   var fs= (body.currentStyle||(window.getComputedStyle&&getComputedStyle(body,null))||body.style).fontSize;
   fontSz = fs.substr(0, fs.length-2);
   fontSz = fontSz - 1 + 1 + increment*2;
   fontSzStr = fontSz+"px";
   document.body.style.fontSize = fontSzStr;
   }

   if (initialized) 
   {
      make_cookie();
   } else {
      initialized = true;
   }
}

function resetFontSize() {
   changeFontSize(0);
}

