var defaultSize		= 75;
var defaultPx 		= Math.round(16*(defaultSize/100));
var maxSize 		= 200;
var minSize 		= 55;
var massId 			= "metermass"
var step			= 5;		
var cName			= "myFontSize"		
var resizeId		= "reSize";
var switchToBigStep = 24;
// 100% sollen standardmässig 16px entsprechen
// voreinstellung, wird evtl. per coookie ueberschrieben
var faktor = 75;
var basis = 1
// cookie setzen?
var usecookie = true;

function StartFontsize(){
	try{
		document.write('<div id='+massId+' style="position:absolute;top:-9000px;visibility:hidden;line-height:1em;font-size:1em;">&nbsp;<\/div>')
		if(setfaktor())faktor = setfaktor();
		var hoehe = document.getElementById(massId).offsetHeight;
		// falls schriftgröße default nicht 16px, safari?
		if (hoehe < defaultPx) basis = defaultPx/hoehe;
		document.body.style.fontSize = Math.round( faktor * basis ) + '%';
	}catch(e){
		//console.log(e)
	}
}
	
	
function setFontSize(dir){	
	// alert(dir)
	faktor = (dir) ? faktor + (dir * step) : defaulSize;
	// wert setzen und in cookie speichern?
	// alert(Math.round(faktor*basis))
	if(usecookie)writeCookie( cName , faktor )		
	document.body.style.fontSize = Math.round( faktor * basis ) + '%';
	//console.log(document.body.style.fontSize)
}


function setfaktor() {
	var s = readCookie(cName)
	if (s) return parseInt(s);
	else return false;
}

/* helpers*/	
function addEvent( obj, type, fn ){
   if (obj.addEventListener) {
      obj.addEventListener( type, fn, false );
   } else if (obj.attachEvent) {
      obj["e"+type+fn] = fn;
      obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
      obj.attachEvent( "on"+type, obj[type+fn] );
   }
}

		
// Cookies lesen
function readCookie(name) {
	var cookieValue = "";
	var search = name + "=";
	if(document.cookie.length > 0) { 
	    offset = document.cookie.indexOf(search);
	    if (offset != -1) { 
	      offset += search.length;
	      end = document.cookie.indexOf(";", offset);
	      if (end == -1) end = document.cookie.length;
	      cookieValue = unescape(document.cookie.substring(offset, end))
	    }
	}
	return cookieValue;
}

// Example:
// writeCookie("myCookie", "my name", 24);
// speicher cookie: writeCookie("myCookie", "my name");
// Stores the string "my name" in the cookie "myCookie" which expires after 24 hours.
function writeCookie(name, value, hours) {
	var expire = "";
	if(hours != null)	{
		expire = new Date((new Date()).getTime() + hours * 3600000);
		expire = "; expires=" + expire.toGMTString();
	}
	document.cookie = name + "=" + escape(value) + expire;
}