var prefsLoaded = false;
var fontsize = 0;  // default-value
var minsize = 8;
var maxsize = 30;
var cookiefontsize = 0;

function start_setfont() {

    var cookie = readCookie("fontSize");
    if ( cookie ) { 
        cookiefontsize = cookie;
    } 
	
	setsize(cookiefontsize,true);
    if ( cookie ) { 
        cookiefontsize = cookie; 
    } else { 

        cookiefontsize = 0; 
    }
    saveCookie(cookiefontsize);
}

function textSize(dec) {
    setsize(dec);
}

function setsize(dec,cookie){

    var headsize = parseInt(fontsize)+2;
    /*var elementList = document.getElementsByClassName("textsize");*/
    var elementList = $$("#fontsize_helper");
    for (var i = 0; i < elementList.length; i++){
        if( window.getComputedStyle ) 
		{
			var style = document.defaultView.getComputedStyle(elementList[i], null).getPropertyValue("font-size");
        } else 
		{
            var style= Element.getStyle(elementList[i], 'font-size');
        }
		
		format =style.slice(style.length-2,style.length);
	
		if(format == 'em'){
			var fontgroesse = style.split("em");
			
			if(dec == 1 || dec == -1)
			{
				if (dec > 0) 
				{
					var newsize = parseFloat(fontgroesse[0]) * (dec * 1.1);
				}else
				{
					var newsize = parseFloat(fontgroesse[0]) * (dec / -1.1);
				}
				elementList[i].style.fontSize=String(newsize) +"em";
			
			cookiefontsize = newsize;
			}
			else if (cookie && dec != 0)
			{
				var newsize = parseFloat(fontgroesse[0] *dec);
				elementList[i].style.fontSize=String(newsize) +"em";
			
			cookiefontsize = newsize;
			}

		}
		else if(format == 'px'){
			var fontgroesse = style.split("px");
			var newsize = parseInt(fontgroesse[0]) + parseInt(dec);
			elementList[i].style.fontSize=String(newsize)+"px";
			cookiefontsize = parseInt(cookiefontsize) + parseInt(dec);
		}
            if (newsize < minsize) {newsize=minsize}
            if (newsize > maxsize) {newsize=maxsize}
    }
   

    saveCookie(cookiefontsize);
}

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 saveCookie(sizeForCookie){
    createCookie("fontSize", sizeForCookie, 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 deleteCookie() {
    saveCookie(0);
    location.reload();
}
