var prefsLoaded = false;

var largestSize = 3;
var smallestSize = 1

var defaultSize = 1;
var size = defaultSize;



/*
 * Read the cookie is it exists
 * if it does not, load the default stylesheet
 * if it does, load the recorded stylesheet
 */
var readCookie = readCookie("fontSize");

if (readCookie != null)
{
 size = readCookie;
}
selectStyleSheet(size); 


/*
 * Change the stylesheet depending on 'incr'
 * 'incr' is -1 or 1 ie decrease or increase the font size
 */
function updateStyleSheet(incr)
{
 var li; //links of styles sheets

 //make sure we're under limit
 size = parseInt(size);
 incr = parseInt(incr);

 if (smallestSize <= size+incr && size+incr <= largestSize)
     {
    
     for(var i=0; li=document.getElementsByTagName("link")[i]; i++)
         {
         // get stylesheets
        // check if 1 - it's a stylesheet with a title, 2- if it is an article stylesheet, disable it
         if(li.getAttribute("rel").indexOf("style") != -1 && li.getAttribute("title"))
             {
             if(li.getAttribute("title").indexOf("size") != -1) li.disabled = true;
             
             // if it's the next in line, enable it
             if (li.getAttribute("title").indexOf(size+incr) > -1) li.disabled = false;
             }
         }
     //increment the size
     size=size+incr;
     saveSettings;
     }
} 

/*
 * Set the default stylesheet
 * ie load the default font size css (var defaultSize)
 */
function setPreferredStyleSheet()
{
    var li; //links of styles sheets
    for(var i=0; li=document.getElementsByTagName("link")[i]; i++)
     {

    // check if 1 - it's a stylesheet with a title, 2- if it is an article stylesheet, disable it
     if(li.getAttribute("rel").indexOf("style") != -1 && li.getAttribute("title"))
         {
         if(li.getAttribute("title").indexOf("size") != -1) li.disabled = true;
         
         // get the default (preferred) stylesheet
         if (li.getAttribute("title").indexOf(defaultSize) > -1) li.disabled = false;
         }
     }
    size=defaultSize;
    saveSettings;
}

/*
 * Another way to select a stylesheet:
 * by providing its number
 * smallestSize <= number <= largestSize
 */
function selectStyleSheet(number)
{
    var li; //links of styles sheets

     //make sure we're under limit
     number = parseInt(number);

     if (smallestSize <= number && number <= largestSize)
         {
        
         for(var i=0; li=document.getElementsByTagName("link")[i]; i++)
             {
             // get stylesheets
            // check if 1 - it's a stylesheet with a title, 2- if it is an article stylesheet, disable it
             if(li.getAttribute("rel").indexOf("style") != -1 && li.getAttribute("title"))
                 {
                 if(li.getAttribute("title").indexOf("size") != -1) li.disabled = true;
                 
                 // if it's the next in line, enable it
                 if (li.getAttribute("title").indexOf(number) > -1) li.disabled = false;
                 }
             }
        
         size = number;
         saveSettings;
         }
}


function saveSettings()
{
  createCookie("fontSize", size, 365);
};


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;
    };

window.onunload = saveSettings; 

//define config object
var dialogOpts = {
  modal: true,
hide: 'slide',
open: 'true',
show: 'slide'
};
function loadDialog(){
$("#myDialog").dialog(dialogOpts);
}
    
