/*
  Fontsizer based on Core.js from Sitepoint.
  Can handle 5 sizes you can control with CSS.
  Uses own cookie routines to remember what the user wants.
*/
var styleswitcher ={

  sizes: ['smallest','small','normal','large','largest'],

  scaleUp:function(event)
  {
    Core.preventDefault(event);
  
    var currentsize = styleswitcher.getCurrentSize();
    var nextsize = 0;
    for (var i=0;i<styleswitcher.sizes.length;i++)
    {
      if (styleswitcher.sizes[i] == currentsize)
      {
        nextsize = i+1;
      }
    }
    
    if (nextsize<styleswitcher.sizes.length)
    {
      Core.removeClass(styleswitcher.bodytag,currentsize);
      Core.addClass(styleswitcher.bodytag,styleswitcher.sizes[nextsize])

      // Remember what this user wants;
      styleswitcher.setmyCookie('t3fontsize',nextsize,'365');
    }
    //doe de class 1 ophoog als dat kan (index van sizes array max))
  },
  
  scaleDown:function(event)
  {
    Core.preventDefault(event);
  
    var currentsize = styleswitcher.getCurrentSize();
    var prevsize = 0;
    for (var i=0;i<styleswitcher.sizes.length;i++)
    {
      if (styleswitcher.sizes[i] == currentsize)
      {
        prevsize = i-1;
      }
    }
    
    if (prevsize>=0)
    {
      Core.removeClass(styleswitcher.bodytag,currentsize);
      Core.addClass(styleswitcher.bodytag,styleswitcher.sizes[prevsize])
    }
    //doe de class 1 omlaag als dat kan (index van sizes array min(0))

    // Remember what this user wants;
    styleswitcher.setmyCookie('t3fontsize',prevsize,'365');
  },
  
  reset:function(event)
  {
    Core.preventDefault(event);
  
    var currentsize = styleswitcher.getCurrentSize();
    Core.removeClass(styleswitcher.bodytag,currentsize);
    Core.addClass(styleswitcher.bodytag,styleswitcher.sizes[2]);

    // Remember what this user wants;
    styleswitcher.setmyCookie('t3fontsize',2,'365');
  },
  
  getCurrentSize:function()
  {
    var currentbodyclass = '';
    for (var i=0;i<styleswitcher.sizes.length;i++)
    {
      if (Core.hasClass(styleswitcher.bodytag, styleswitcher.sizes[i]))
      {
        currentbodyclass = styleswitcher.sizes[i];
      }
    }
    return currentbodyclass;
  },

  readmyCookie:function(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 2; // default array index
  },

  setmyCookie:function(name,value,days)
  {
  	if (days) {
	  	var date = new Date();
		  date.setTime(date.getTime()+(days*24*60*60*1000));
  		var expires = "; expires="+date.toGMTString();
	  }
	  else var expires = "";
	  document.cookie = name+"="+value+expires+"; path=/";
  },

  erasemyCookie:function(name) {
	  createCookie(name,"",-1);
  },


  init:function(){

    var size = styleswitcher.readmyCookie('t3fontsize');

    styleswitcher.bodytag = document.getElementsByTagName('body')[0];
    Core.addClass(styleswitcher.bodytag,styleswitcher.sizes[size]);
   
    var upscaler = document.getElementById('fontup');
   
    var downscaler = document.getElementById('fontdown');
    var reset = document.getElementById('fontreset');
    Core.addEventListener(upscaler,'click', styleswitcher.scaleUp);
    Core.addEventListener(downscaler,'click', styleswitcher.scaleDown);
    Core.addEventListener(reset,'click', styleswitcher.reset);

  }
}
Core.start(styleswitcher);
