var min= -4;
var max= 6;
var changes = 0;
var em2px = 12;
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 var 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 eraseCookie(name) {
        createCookie(name,"",-1);
}
function cookieExist(name) {
                if (readCookie(name) != null) {
                                return true;
                } else {
                                return false;
                }
}
function increaseFontSize() {

	if(changes < max) {
		increaseFontSizeBy(1);
   		changes += 1;
   		createCookie('fontSize', changes);
	}
}
function decreaseFontSize() {
	if(changes > min) { 
		increaseFontSizeBy(-1);
   		changes -= 1;
   		createCookie('fontSize', changes);
	}
}
function increaseFontSizeBy(gap) {
	if($('content') == null) {
		var p = $('content_home').descendants();
	} else {
		var p = $('content').descendants();
	}
   for(i=0; i <  p.length; i++) {
      	if(p[i].getStyle('font-size')) {
      	  var retri = p[i].getStyle('font-size');
      	  if(/em/.test(retri)) {
      	  	var s = parseInt(retri.replace('em', '')) * em2px;
      	  } else if(/px/.test(retri)) {
      	  	var s = parseInt(retri.replace('px', ''));
      	  } else {
			var s = 12;
			}
      	} else {
      	   var s = 12;
      	}
      	s += gap;
      	p[i].style.fontSize = s+"px"
   }

	if($('news_column') != null) {
   	 	var p = $('news_column').descendants();
   		for(i=0;i<p.length;i++) {
   		   if(p[i].getStyle('font-size')) {
   		      var retri = p[i].getStyle('font-size');
   		 	if(/em/.test(retri)) {
   		 		var s = parseInt(retri.replace('em', '')) * em2px;
   		 	} else {
   		 		var s = parseInt(retri.replace('px', ''));
   		 	}
   		   } else {
   		      var s = 12;
   		   }
   		   if(changes < max) {
   		      s += gap;
   		   }
   		   p[i].style.fontSize = s+"px"
   		}
	}


}
function measureEm() {
	var elem = document.getElementById('emSize');
	em2px = elem.offsetLeft;
}

function updateFontSizeOnLoad() {
        if(cookieExist('fontSize')) {
			measureEm();
            tempChanges = parseInt(readCookie('fontSize'));
			if(tempChanges > 0) {
				i = 0;
				while(i < tempChanges) {
					increaseFontSize();
					i++;
				}
			} else if (0 > tempChanges) {
				i = 0;
				while(i > tempChanges) {
					decreaseFontSize();
					i--;
				}
			}
            return true;
        }
}
Event.observe(window, 'load', updateFontSizeOnLoad, false);