//************* Extending with zoom as cookie ******************//
// setting expiredate => 1 day

var d=document;
var zoomFactor=1;

var setZoom=1;
d.onkeyup = so_handleKeyEvent;

if(!document.all || window.opera) {
	//alert("This favelet was developed for Internet Explorer, which lacks this functionality. Your browser can probably already do this - check the documentation to see how.");
	so_cleanUp();
}

function LoadZoom () {
	zoomFactor = ( document.cookie ) ? Number( getCookie("zf") ): 1.0 ;
	zoomFactor = ( zoomFactor == 0 ) ? 1 : zoomFactor;
	set_zoom(zoomFactor);
}




function setCookie(name, wert, domain, expires , path, secured){
   cook = name+"="+unescape(wert);
   cook += (domain) ? "; domain="+ domain : "";
   cook += (expires) ? "; expires="+expires : "";
   cook += (path) ? "; path="+path : "";


   cook += (secured) ? "; secured="+secured : "";
   document.cookie = cook;

}

function getCookie(name){
   var i=0  //Suchposition im Cookie
   var suche = name+"="
   while (i<document.cookie.length){
      if (document.cookie.substring(i, i+suche.length)==suche){
         var ende = document.cookie.indexOf(";", i+suche.length)
         ende = (ende>-1) ? ende : document.cookie.length
         var cook = document.cookie.substring(i+suche.length, ende)
         return unescape(cook)
      }
      i++
   }
   return false;
}


function set_zoom(zf) {
	var expireDate = new Date();
	var deleteCookie  = expireDate.getTime() + (1 * 24 * 60 * 60 * 1000);
	expireDate.setTime(deleteCookie);

	zoomFactor= (zf  == undefined ) ? 1 : Number(zf);

	document.getElementsByTagName("body")[0].style.zoom= zoomFactor;

	setCookie("zf", zoomFactor, null, expireDate,'','' );
}


function so_handleKeyEvent(e) {
	keyCode = d.all?window.event.keyCode:e.keyCode;
	switch(keyCode) {
		case 107:
			if(zoomFactor<2)zoomFactor+=.1;
			break;
		case 109:
			if(zoomFactor>=0.2)zoomFactor-=.1;
			break;
		case 106:
			zoomFactor = 1;
			break;
	}
	set_zoom(zoomFactor);
}


function so_cleanUp() {
	d.onkeyup = null;
}
