﻿var COOKIE_NAME = "viva_font_size";
var COOKIE_EXPIRES = 7;

var font_sizes = new Array(13, 16);

(function()
{
  if (window.addEventListener)
  {
    window.addEventListener("load", setup_font_size, false);    
  }
  else
  {
    window.attachEvent("onload", setup_font_size);
  }
})();

function setup_font_size()
{	
  change_font_size('default');
  
  var font_size_links = document.getElementById("font_size").getElementsByTagName("a");
    
  for (var i = 0; i < font_size_links.length; i++)
  {	  	  
    setup_font_size_link(i);
  }    
}

function setup_font_size_link(i)
{	
  var link = document.getElementById("font_size_" + i);
 
  link.onclick = function(){change_font_size(font_sizes[i]);};
}

function get_cookie(cookie_name)
{
  //This function has been modified from an example at W3Schools
  if (document.cookie.length > 0)
  {
    start = document.cookie.indexOf(cookie_name);
  
    if (start != -1)
    { 
      start += cookie_name.length + 1; 
      end = document.cookie.indexOf(";", start);        
      if (end == -1)
      {
        end = document.cookie.length;  
      }
      
      var cookie_value = document.cookie.substring(start, end);        
      
      return unescape(cookie_value);
    } 
  }
  
  return null;
}

function set_cookie(cookie_name, cookie_value, expire_days)
{
  var str = cookie_name + "=" + escape(cookie_value) + "; ";
  
  var expire_date = new Date();
  expire_date.setDate(expire_date.getDate() + expire_days);
  
  str += "expires=" + expire_date.toGMTString() + "; path=/;";
  
  document.cookie = str;
}

function change_font_size(size)
{	  	  
  if (size == 'default')
  {		  		  
    //Get font size from the cookie if possible otherwise set the font size to the default value
    size = get_cookie(COOKIE_NAME);
    if (!size)
    {
      size = 13;
    }		  		  
  }
  	  
  //Change the font size
  document.getElementsByTagName("body")[0].style.fontSize = size + "px";
  
  //Store the font size value in a cookie
  set_cookie(COOKIE_NAME, size, COOKIE_EXPIRES);
}
