		
	
		
	
	/***************************************************************
	*  Copyright notice
	*
	*  (c) 2007 Reto Kernen <2kk@gmx.ch>
	*  All rights reserved
	*
	*  This script is part of the SSIP project. The SSIP project is
	*  free software; you can redistribute it and/or modify
	*  it under the terms of the GNU General Public License as published by
	*  the Free Software Foundation; either version 2 of the License, or
	*  (at your option) any later version.
	*
	*  The GNU General Public License can be found at
	*  http://www.gnu.org/copyleft/gpl.html.
    *    
	*  !!!!  Important GNU License Exeptions  !!!!!
    *  SSIP musten't be used under the following cases :  
    *  1. If your  Organisation got any Military propose.  
    *  2. If your Organisation violate the human rights.  What is included you
    *  can  read here:
    *  en.wikipedia.org/wiki/European_Convention_on_Human_Rights
	*
	*  This script is distributed in the hope that it will be useful,
	*  but WITHOUT ANY WARRANTY; without even the implied warranty of
	*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	*  GNU General Public License for more details.
	*
	*  This copyright notice MUST APPEAR in all copies of the script!
	***************************************************************/
	
	/* Globals */
	
	
	var cookiedomain= "www.swiix.ch";
	var cookiepath  = "/";
	var ssipFLE     = new Array();					 // SSIP Funlib Element Array
	
	document.cookie = "domain="+cookiedomain+";";
	document.cookie = "path="+cookiepath+";";
	
	/*********************    SNAPNAVIGATOR     ****************************/
	

	
	function snapNavigator (scaleRange,snapnavigator,snapnavbutton,widthmessure,heigthmesure,atWindow){
		
		FLEid = getFLElement(scaleRange);
		
		ssipFLE[FLEid]["snapNavigator"] = snapnavigator;
		ssipFLE[FLEid]["snapnavButton"] = snapnavbutton;
		ssipFLE[FLEid]["widthmessure"]  = widthmessure;
		ssipFLE[FLEid]["heigthmesure"]  = heigthmesure;
		ssipFLE[FLEid]["snapMoveLayer"] = "ml"+scaleRange;
		if(atWindow != "div"){
			ssipFLE[FLEid]["appendToWindow"]  = true;
		}else{

			ssipFLE[FLEid]["appendToWindow"]  = false;
		}

		if(!ssipFLE[FLEid]["appendToWindow"]){
			$(scaleRange).style.position = "absolute";
			$(scaleRange).style.top = "0";
			$(scaleRange).style.left = "0";	
		}
		
		addListener(ssipFLE[FLEid]["snapnavButton"],'onclick',"initSnapnavigator('"+ssipFLE[FLEid]["name"]+"');");
	}
	

	function initSnapnavigator(scaleRange){
		
		FLEid = getFLElement(scaleRange);
		
		snapNavigator       = $(ssipFLE[FLEid]["snapNavigator"]);
		widthMesureElement  = $(ssipFLE[FLEid]["widthmessure"]);
		heigthMesureElement = $(ssipFLE[FLEid]["heigthmesure"]); 
		
		
		if(ssipFLE[FLEid]["appendToWindow"]){
			viewport = getViewport();
			offsetWidth = viewport[0]/widthMesureElement.offsetWidth ;
			offsetHeight = (viewport[1]-150)/heigthMesureElement.offsetHeight ;
	

		}else{
			offsetWidth = widthMesureElement.parentNode.offsetWidth/widthMesureElement.offsetWidth ;
			offsetHeight = heigthMesureElement.parentNode.offsetHeight/heigthMesureElement.offsetHeight ;
		}
		
		if(offsetWidth<1){
			offsetWidth = offsetWidth*100;
		}else{
			offsetWidth = 98;
		}
		
		if(offsetHeight<1){
			offsetHeight = offsetHeight*100;
		}else{
			offsetHeight = 98;
		}
		
		if(snapNavigator.innerHTML != ""){
			snapNavigator.innerHTML = "";
			snapNavigator.style.display = "none";
		}else{
			
			baseWidth = widthMesureElement.offsetWidth;
			if($(scaleRange+"_wm")){
				$(scaleRange+"_wm").style.display = "block";
			}else{
				backgroundDiv = '<div id="'+scaleRange+'_wm" style="height:10em;width:10em;overflow:hidden;position:absolute;left:0;top:0;"></div>';
			}
			$(scaleRange).innerHTML = $(scaleRange).innerHTML+backgroundDiv;
			
			fontFactor = $(scaleRange+"_wm").offsetWidth/160;
			
			verhaltniss = (parseFloat(snapNavigator.style.width)/baseWidth)*fontFactor;
			$(scaleRange+"_wm").style.display = "none";
			
			snapNavigator.style.fontSize = verhaltniss+"em";
			
			
			snapNavigator.innerHTML  = $(scaleRange).innerHTML;
			
			if(ssipFLE[FLEid]["appendToWindow"]){
				if(window.pageYOffset){
					y = window.pageYOffset;
					x = window.pageXOffset;
					
				}else if (document.documentElement && document.documentElement.scrollTop)
					// Explorer 6 Strict
				{
					x = document.documentElement.scrollLeft;
					y = document.documentElement.scrollTop;
				}
				else if (document.body) // all other Explorers
				{
					x = document.body.scrollLeft;
					y = document.body.scrollTop;
				}
			}else{
					x = (parseFloat(widthMesureElement.style.left))*-1;
					y = (parseFloat(heigthMesureElement.style.top))*-1;
			}
			
			initTopPos = (100/heigthMesureElement.offsetHeight) * y;
			initLeftPos = (100/widthMesureElement.offsetWidth) * x;

			snapNavigator.innerHTML  += "<div id=\"ml"+ssipFLE[FLEid]["name"]+"\" onMouseDown=\"initCaptureMove('"+ssipFLE[FLEid]["name"]+"');\"  style=\"position:absolute;width:"+offsetWidth+"%;height:"+offsetHeight+"%;border:2px solid #FF0000;top:"+initTopPos+"%;left:"+initLeftPos+"%;cursor:move;\"></div>";
											 
			snapNavigator.style.display = "block";
		}

	}


	function initCaptureMove(scaleRange){
		
		FLEid = getFLElement(scaleRange);	
		addListener('body','onmousemove', "captureMouseMove('"+ssipFLE[FLEid]["snapMoveLayer"]+"',event.clientX,event.clientY,'"+ssipFLE[FLEid]["name"]+"');");
		addListener('body','onmouseup',"stopCaptureMove('"+ssipFLE[FLEid]["name"]+"');");
		ssipFLE[FLEid]["capturemove"] = true;
	}
	
	
	function stopCaptureMove(scaleRange){
		
		FLEid = getFLElement(scaleRange);
		ssipFLE[FLEid]["capturemove"] = false;
	}
	
	
	function captureMouseMove(fadenkreuz,moveX,moveY,scaleRange){
		FLEid = getFLElement(scaleRange);
		if(ssipFLE[FLEid]["capturemove"]){
			window.setTimeout("mesureMove('"+fadenkreuz+"',"+moveX+","+moveY+",'"+ssipFLE[FLEid]["name"]+"')",1);
		}else{
			return;
		}
	}
	
	
	function mesureMove(fadenkreuzid,moveX,moveY,scaleRange) {
		
		FLEid = getFLElement(scaleRange);

		fadenkreuz    = $(fadenkreuzid);
		snapNavigator = $(fadenkreuz.parentNode.id);
		
		snapNavigatorWidth  = snapNavigator.offsetWidth;
		snapNavigatorHeight = snapNavigator.offsetHeight;
		
		fadenkreuzWidth     = fadenkreuz.offsetWidth;
		fadenkreuzHeight    = fadenkreuz.offsetHeight;
		
		quaderDiffW = snapNavigatorWidth  - fadenkreuzWidth;
		quaderDiffH = snapNavigatorHeight - fadenkreuzHeight;
		
		scrollFaktor = $(ssipFLE[FLEid]["widthmessure"]).offsetHeight/snapNavigatorHeight;
		
		objektX = moveX - ssipFLE[FLEid]["mouseAltX"];
		objektY = moveY - ssipFLE[FLEid]["mouseAltY"];
		
		ssipFLE[FLEid]["mouseAltX"] = moveX;
		ssipFLE[FLEid]["mouseAltY"] = moveY;
		
		if(!isNaN(moveX)){
			newPosX = parseFloat(fadenkreuz.style.left) + objektX;
			newPosY = parseFloat(fadenkreuz.style.top) + objektY;
			
			if(newPosX > -0.1 && newPosX < quaderDiffW ){
				
			}
			
			if(ssipFLE[FLEid]["appendToWindow"]){
				if(newPosX > -0.1 && newPosX < quaderDiffW ){
					fadenkreuz.style.left = newPosX + "px";
					window.scrollBy(objektX*scrollFaktor,0);
				}
				if(newPosY > -0.1 && newPosY < quaderDiffH){
					fadenkreuz.style.top  = newPosY + "px";
					window.scrollBy(0,objektY*scrollFaktor);
				}
			}else{
				if(newPosX > -0.1){
					if(newPosX < quaderDiffW ){
						fadenkreuz.style.left = newPosX + "px";
						newsnapperposx = -1*objektX*scrollFaktor+parseFloat($(scaleRange).style.left)
						if(newsnapperposx < 0 ){
							$(scaleRange).style.left = newsnapperposx+"px";
						}
					}
				}else{
					fadenkreuz.style.left = 0 + "px";
					$(scaleRange).style.left = 0+"px";
				}
				if(newPosY > -0.1){
					if(newPosY < quaderDiffH){
						fadenkreuz.style.top  = newPosY + "px";
						newsnapperposy  = -1*objektY*scrollFaktor+parseFloat($(scaleRange).style.top)
						if(newsnapperposy < 0){
							$(scaleRange).style.top = newsnapperposy+"px";
						}
					}
				}else{
					fadenkreuz.style.top = 0 + "px";
					$(scaleRange).style.top= 0+"px";
				}
			}
		}
	}
	

	
	
	/**************          SCALEBAR          *****************/
	

	function scaleBar(elementName, bar, zoomOutput, bardirection, initPercent, scaleMin, scaleMax, scaleRange){
		
		FLEid = getFLElement(scaleRange);
		
		ssipFLE[FLEid]["barHandler"]   = elementName;
		ssipFLE[FLEid]["barName"]      = bar;
		ssipFLE[FLEid]["zoomOutput"]   = zoomOutput;
		ssipFLE[FLEid]["barDirection"] = bardirection;
		ssipFLE[FLEid]["initPercent"]  = initPercent;
		ssipFLE[FLEid]["barScaleMin"]  = scaleMin;
		ssipFLE[FLEid]["barScaleMax"]  = scaleMax;
		ssipFLE[FLEid]["barRange"]     = scaleMax-scaleMin;
		ssipFLE[FLEid]["doCapture"]    = false;
		
		ssipCrumbs = getSsipCrumbs();
		
		if(ssipCrumbs){
			for(c=0;c<ssipCrumbs.length;c++){
				if(ssipCrumbs[c]["name"]==scaleRange){
					ssipFLE[FLEid]["initPercent"] = parseInt(ssipCrumbs[c]["value"]);
					$(ssipFLE[FLEid]["zoomOutput"]).innerHTML = parseInt(ssipCrumbs[c]["value"]) +"%";
				}
			}
		}
	
		barHandler = $(ssipFLE[FLEid]["barHandler"]);
		bar = $(ssipFLE[FLEid]["barName"]);
		
		if(ssipFLE[FLEid]["barDirection"] == "v"){	
			barHandler.style.top  = parseInt((bar.offsetHeigth/ssipFLE[FLEid]["barRange"])*(ssipFLE[FLEid]["initPercent"]-ssipFLE[FLEid]["barScaleMin"])) + "px";
		}else{
			barHandler.style.left = parseInt((bar.offsetWidth/ssipFLE[FLEid]["barRange"])*(ssipFLE[FLEid]["initPercent"]-ssipFLE[FLEid]["barScaleMin"])) + "px";
		}
		
		initCaptureParam = "initCapture('"+ssipFLE[FLEid]["name"]+"');";
		addListener(ssipFLE[FLEid]["barHandler"],'onmousedown',initCaptureParam);
	}
	
	
	function initCapture(scaleRange){	
	
		FLEid = getFLElement(scaleRange);

		ssipFLE[FLEid]["doCapture"]=true;
		captureMoveParam = "captureMove('"+ssipFLE[FLEid]["name"]+"',event.clientX,event.clientY);";
		addListener('body','onmousemove', captureMoveParam);
		addListener('body','onmouseup',"stopCapture('"+ssipFLE[FLEid]["name"]+"');");
	}
	
		

	function captureMove(scaleRange,mouseX,mouseY){

		FLEid = getFLElement(scaleRange);
		
		if(ssipFLE[FLEid]["doCapture"]){
			if(ssipFLE[FLEid]["barDirection"] = "h"){
				mousePos = mouseX;
			}else{
				mousePos = mouseY;
			}
			setTimeout("divMouseMove('"+ssipFLE[FLEid]["name"]+"',"+mousePos+")",1);
		}
	}
	

	function divMouseMove(scaleRange,mousePos){
		
		FLEid   = getFLElement(scaleRange);
		
		element = $(ssipFLE[FLEid]["barHandler"]);
		bar     = $(ssipFLE[FLEid]["barName"]);
		
		if(ssipFLE[FLEid]["barDirection"] == "v"){
			posMax = parseInt(bar.style.height);
		}else{
			posMax = parseInt(bar.style.width);
		}
		moveHandle = mousePos - ssipFLE[FLEid]["oldMousePos"];
		if(!isNaN(moveHandle)){	   
		   if(direction = 'h'){
				newpos = parseInt(element.style.left) + moveHandle;
				if(newpos <= posMax && newpos >= 0){
					element.style.left = newpos  + "px";
				}
			}else{
				newpos = parseInt(element.style.top) + moveHandle;
				if(newpos <= posMax && newpos >= 0){
					element.style.top = + "px";
				}
		   }
		}	
		ssipFLE[FLEid]["oldMousePos"] = mousePos;
	}
	
	
	function stopCapture(scaleRange){
		
		FLEid   = getFLElement(scaleRange);
		
		ssipFLE[FLEid]["doCapture"]=false;
		removeListener('body','onmousemove');
		removeListener('body','onmouseup');
		
		barRange   = parseInt(ssipFLE[FLEid]["barRange"]);
		scaleMin   = parseInt(ssipFLE[FLEid]["barScaleMin"]);

		bar        = $(ssipFLE[FLEid]["barName"]);
		barHandler = $(ssipFLE[FLEid]["barHandler"]);
		
		if(ssipFLE[FLEid]["barDirection"] == "h"){
			output = 0;
			output = (barRange/bar.offsetWidth)*parseInt(barHandler.style.left);
			output += scaleMin;
		}else{
			output = 0;
			output = (barRange/bar.offsetHeight)*parseInt(barHandler.style.top);
			output += scaleMin;
		}

		output = parseInt(output);
	
		if(output > ssipFLE[FLEid]["barScaleMax"]){
			output =  ssipFLE[FLEid]["barScaleMax"];
		}
		
		
		
		if(output < ssipFLE[FLEid]["barScaleMin"]){
			output = ssipFLE[FLEid]["barScaleMin"];
		}
		
		updatePageSize(scaleRange,output);
		
		$(ssipFLE[FLEid]["zoomOutput"]).innerHTML = output+"%";
	}
	

	
	/* Lock to Page */
	
	function lockToWindow(scaleRange,lockbutton,designedFor,origimg,setimg,beginFloatSize,defaultLTW){
		

		FLEid = getFLElement(scaleRange);
		
		ssipFLE[FLEid]["lockButton"]     = lockbutton;
		ssipFLE[FLEid]["designedFor"]    = designedFor;
		ssipFLE[FLEid]["origImg"]        = origimg;
		ssipFLE[FLEid]["setimg"]         = setimg;
		ssipFLE[FLEid]["beginFloatSize"] = beginFloatSize;
		if(defaultLTW){
			ssipFLE[FLEid]["lockToWindow"]   = defaultLTW;
			
		}else{
			ssipFLE[FLEid]["lockToWindow"]   = false;
		}
		
		if(!beginFloatSize){
			beginFloatSize = 0;
		}
		addListener('body','onresize','');
		addListener(ssipFLE[FLEid]["lockButton"],"onclick","lockToWindowInit('"+ssipFLE[FLEid]["name"]+"');");

	}
	
	
	function lockToWindowInit(scaleRange){
		
		getFLElement(scaleRange);
		if(ssipFLE[FLEid]["lockToWindow"]==false){
			addListener	("body","onresize","fixWindow('"+ssipFLE[FLEid]["name"]+"')");
			ssipFLE[FLEid]["lockToWindow"] = true;
		}else{
			removeListener('body','onresize');	
			ssipFLE[FLEid]["lockToWindow"] = false;
		}
		
		if($(ssipFLE[FLEid]["lockButton"]).src == ssipFLE[FLEid]["origImg"]){
			
			$(ssipFLE[FLEid]["lockButton"]).src = ssipFLE[FLEid]["setimg"];
		}else{
			$(ssipFLE[FLEid]["lockButton"]).src = ssipFLE[FLEid]["origImg"];
		}	
	}
	
	
	function fixWindow (scaleRange){
		
		getFLElement(scaleRange);
		
		viewport = getViewport();
		zoomDegree = (viewport[0]/ssipFLE[FLEid]["designedFor"])*100;
		
		if(viewport[0]>ssipFLE[FLEid]["beginFloatSize"]){
			updatePageSize(scaleRange,zoomDegree);
		}
	}
	
	
	/* Font size Bar*/
	
	function fontSizeBar(scaleRange,fontsmalerbtn,fontnormalbtn,fontbigerbtn,zoomSteps){
		
		FLEid = getFLElement(scaleRange);
		
		ssipFLE[FLEid]["fontSmalerBtn"]  = fontsmalerbtn;
		ssipFLE[FLEid]["fontNormalBtn"]  = fontnormalbtn;
		ssipFLE[FLEid]["fontBigerBtn"]   = fontbigerbtn;
		ssipFLE[FLEid]["zoomSteps"]      = zoomSteps;
		
		addListener(fontsmalerbtn,'onclick',"fontResizer('"+scaleRange+"','decrease');");
		addListener(fontnormalbtn,'onclick',"fontResizer('"+scaleRange+"','reset');");
		addListener(fontbigerbtn,'onclick',"fontResizer('"+scaleRange+"','increase');");
	}
	
	
	function fontResizer(scaleRange,action){
		FLEid = getFLElement(scaleRange);
		
		if(!$(ssipFLE[FLEid]["name"]).style.fontSize){
			$(ssipFLE[FLEid]["name"]).style.fontSize = "1em";
		}
		
		switch (action){
			case 'decrease':
				zoomDegree = parseFloat($(ssipFLE[FLEid]["name"]).style.fontSize)-ssipFLE[FLEid]["zoomSteps"] ;
				break;
			case 'reset':
				zoomDegree = 1;
				break;
			case 'increase':
				zoomDegree = parseFloat($(ssipFLE[FLEid]["name"]).style.fontSize)+ssipFLE[FLEid]["zoomSteps"] ;
				break;
		}
		
		zoomDegree = zoomDegree *100;
		updatePageSize(scaleRange,zoomDegree);
	}
	
	
	/* Scroll Hand */
	
	function scrollHand(scaleRange,scrollBtn,scrollBtnImg,scrollBtnImgActive,cursorSrc,atWindow){
		FLEid = getFLElement(scaleRange);

		ssipFLE[FLEid]["doScrollCapture"]     = false;
		ssipFLE[FLEid]["scrollBtn"]           = scrollBtn;
		ssipFLE[FLEid]["scrollBtnImg"]        = scrollBtnImg;
		ssipFLE[FLEid]["scrollBtnImgActive"]  = scrollBtnImgActive;
		ssipFLE[FLEid]["cursorSrc"]  		  = cursorSrc;
		ssipFLE[FLEid]["scrollActivatet"]     = false;
		if(atWindow != "div"){
			ssipFLE[FLEid]["appendToWindow"]  = true;
		}else{

			ssipFLE[FLEid]["appendToWindow"]  = false;
		}
		
		addListener(scrollBtn,'onclick',"activateScrollCaptureClick('"+scaleRange+"');");
	}
	
	
	function activateScrollCaptureClick(scaleRange){
		FLEid = getFLElement(scaleRange);

		if(ssipFLE[FLEid]["scrollActivatet"] == false){
			addListener(scaleRange ,'onmousedown',"initScrollCapture('"+scaleRange+"');");
			addListener(scaleRange ,'onmouseup',"stopScrollCapture('"+scaleRange+"');");
			$(ssipFLE[FLEid]["scrollBtn"]).src = ssipFLE[FLEid]["scrollBtnImgActive"];
			ssipFLE[FLEid]["scrollActivatet"]  = true;
		}else{
			removeListener(scaleRange ,'onmousedown');
			removeListener(scaleRange ,'onmouseup')
			$(ssipFLE[FLEid]["scrollBtn"]).src =  ssipFLE[FLEid]["scrollBtnImg"];
			ssipFLE[FLEid]["scrollActivatet"]  = false;
		}	
	}
	
	
	function initScrollCapture(scaleRange){
		FLEid = getFLElement(scaleRange);
		
		ssipFLE[FLEid]["doScrollCapture"]  = true;
		ssipFLE[FLEid]["mouseMoveAltX"] = "NaN";
		ssipFLE[FLEid]["mouseMoveAltY"] = "NaN";
		
		$(ssipFLE[FLEid]["name"]).style.cursor = 'url('+ssipFLE[FLEid]["cursorSrc"]+'), move';
		addListener(scaleRange,'onmousemove',"captureScrollMove(event.clientX,event.clientY,'"+ssipFLE[FLEid]["name"]+"');");
	}
	
	function stopScrollCapture(scaleRange){
		FLEid = getFLElement(scaleRange);
		
		ssipFLE[FLEid]["doScrollCapture"]  = false;
		$(ssipFLE[FLEid]["name"]).style.cursor = 'auto';
		removeListener(scaleRange,'onmousemove');
	}
	
	
	function captureScrollMove(moveX,moveY,scaleRange){
		FLEid = getFLElement(scaleRange);
		
		if(ssipFLE[FLEid]["doScrollCapture"]){
			setTimeout("doScroll('"+ssipFLE[FLEid]["name"]+"',"+moveX+","+moveY+")",1);
		}
	}
	

	function doScroll(scaleRange,mouseX,mouseY){
		
		FLEid   = getFLElement(scaleRange);
		divX = mouseX-ssipFLE[FLEid]["mouseMoveAltX"];
		divY = mouseY-ssipFLE[FLEid]["mouseMoveAltY"];	
		
		
		if(!isNaN(divX) && !isNaN(divY)){
			/*if(navigator.appName.indexOf("Explorer") == -1){
				mouseX = window.pageXOffset+mouseX;
				mouseY = window.pageYOffset+mouseY;
			}*/
			if(ssipFLE[FLEid]["appendToWindow"]){
				window.scrollBy(divX,divY);
			}else{
				
				$(scaleRange).style.left = (-1*divX)+parseFloat($(scaleRange).style.left) + "px";
				$(scaleRange).style.top = (-1*divY)+parseFloat($(scaleRange).style.top) + "px";
			}

		}
		ssipFLE[FLEid]["mouseMoveAltX"] = mouseX;
		ssipFLE[FLEid]["mouseMoveAltY"] = mouseY;
	}
	
	
	
	/*General needed Functions*/
	
	function addListener(element,type,expression){
		element = getListenerElement(element);
		if (navigator.appName.indexOf("Explorer") != -1){
			expression = new Function(expression);
		}
		element.setAttribute(type, expression);	
	}
	

	function removeListener(element,type){
		element = getListenerElement(element);
		element.setAttribute(type, '');	
	}
	
	
	function getListenerElement(wichelement){
		if(wichelement == 'body'){
			element = document.getElementsByTagName("body")[0];
		}else{
			element = $(wichelement);
		}
		return element;
	}
	
	
	function $(element) {
	  if (typeof element == 'string'){
		element = document.getElementById(element);
		return element;
	  }
	}
	
			
	function getViewport(){	
		viewport = new Array()
	    if (self.innerHeight) // all except Explorer
		{
			viewport[0] = self.innerWidth;
			viewport[1] = self.innerHeight;
		}
		else if (document.documentElement && document.documentElement.clientHeight)
			// Explorer 6 Strict Mode
		{
			viewport[0] = document.documentElement.clientWidth;
			viewport[1] = document.documentElement.clientHeight;
		}
		else if (document.body) // other Explorers
		{
			viewport[0] = document.body.clientWidth;
			viewport[1] = document.body.clientHeight;
		} 
		
		return viewport;
	}
	
	
	function updatePageSize(scaleRange,zoomDegree){
		
		FLEid = getFLElement(scaleRange);
		
		ssipFLE[FLEid]["actualScale"] = zoomDegree;
		writeNewScaleSetup();

		$(scaleRange).style.fontSize=(zoomDegree/100)+"em";	
		if(!ssipFLE[FLEid]["appendToWindow"]){

			
			if(parseFloat($(scaleRange).style.top) < -1*($(scaleRange).offsetHeight)){
				$(scaleRange).style.top = -1*($(scaleRange).offsetHeight-$(scaleRange).parentNode.offsetHeight)+"px";
			}
			if(parseFloat($(scaleRange).style.left) < -1*($(scaleRange).offsetWidth)){
				$(scaleRange).style.left = -1*($(scaleRange).offsetWidth-$(scaleRange).parentNode.offsetWidth)+"px";
			}
		}
		
		
		updateSSIP();

		
		
		
		if(ssipFLE[FLEid]["snapNavigator"]){
			if($(ssipFLE[FLEid]["snapNavigator"]).style.display == "block"){
				$(ssipFLE[FLEid]["snapNavigator"]).innerHTML = "";
				initSnapnavigator(scaleRange);
			}	
			
		}

		/*if(zoomDegree>100){
			$("fadenkreuz").style.width = 100-(zoomDegree-100) +"%";
			$("fadenkreuz").style.height = 100-(zoomDegree-100)+"%";
		}*/
	}
	
	
	
	/* SSIP Funlib Element Functions */
	
	function getFLElement (name){
		identifier = checkExistofFLElement(name);
		if(identifier == "dosnotexsist"){
			identifier = addFLElement(name);
		}
		return identifier;
	}
	
	
	function checkExistofFLElement (name){
		for (var i = 0; i < ssipFLE.length; i++) {
			if(ssipFLE[i]["name"] == name){
				return i;	
			}	
		}
		return "dosnotexsist";
	}
	
	
	function addFLElement (name){
		if(ssipFLE.length){
			nextID = ssipFLE.length;
		}else{
			nextID = 0;
		}

		ssipFLE[nextID] = new Object();
		ssipFLE[nextID]["name"] = name;
		return nextID;
	}
	
	
	function setFLEAttribute(FLEid,aname,value){
		ssipFLE[FLEid][aname][value];
	}
	
	function writeNewScaleSetup(){
		
		ssipCrumbs = getSsipCrumbs();
		
		if(!ssipCrumbs){
			ssipCrumbs = new Array();	
		}

		for(d=0;d<ssipFLE.length;d++){
			notFound = true;

			if(ssipCrumbs){
				for(var c=0;c<ssipCrumbs.length;c++){
					if(ssipCrumbs[c]["name"]==ssipFLE[d]["name"]){
						ssipCrumbs[c]["value"]=ssipFLE[d]["actualScale"];
						notFound = false;
					}
				}
			}
			if(notFound){
				newValue = new Object();
				newValue["name"]  = ssipFLE[d]["name"];
				newValue["value"] = ssipFLE[d]["actualScale"];
				ssipCrumbs.push(newValue);
			}
		}
		
		ssipConfigString = "";
		
		for(var c=0;c<ssipCrumbs.length;c++){
			if(ssipCrumbs[c]["value"]){
				
				ssipConfigString += ssipCrumbs[c]["name"]+":"+ssipCrumbs[c]["value"]+"&";
				
			}
		}
		//document.cookie = "domain="+cookiedomain+";path="+cookiepath+";expires=Thu, 01-Jan-70 00:00:01 GMT";
		document.cookie="ssipconfig="+ssipConfigString+"; path=/;";
	}
	
	function getSsipCrumbs(){

		ssipConfig = false;
		cookieArray = document.cookie.split(";");
		
		for(c=0;c<cookieArray.length;c++){
			cookiePair     = cookieArray[c].split("=");
			cookiePair[0]  = cookiePair[0].replace(/\s/g,"");
			if(cookiePair[0]=="ssipconfig"){
				ssipConfig =  cookiePair[1];
			}
 		}

		if(ssipConfig){
			ssipCrumbsArray = ssipConfig.split("&");
			ssipCrumbs      = new Array();
			for(c=0;c<ssipCrumbsArray.length-1;c++){
				ssipConfigPair = ssipCrumbsArray[c].split(":");
				ssipCrumbs[c] = new Object();
				ssipCrumbs[c]["name"]=ssipConfigPair[0];
				ssipCrumbs[c]["value"]=ssipConfigPair[1];
			}
			
			return ssipCrumbs;
		}else{
			return false;	
		}
		
	}
	
	/*if ( document.addEventListener ){ // for Firefox
		   window.addEventListener("load" , initFuntools, false);
	} else if (document.attachEvent){ // IE hack
		   window.attachEvent("onload" , initFuntools);
	}  	*/
	

