	// MM_swapImgRestore ----------------------------------------------------------------
	function MM_swapImgRestore() { //v3.0 
	
	  var i,x,a=document.MM_sr; 
	  	for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) {
			x.src=x.oSrc;
		}	
	}
	
	// MM_preloadImages ----------------------------------------------------------------
	function MM_preloadImages() { //v3.0
	  var d=document; 
	  	if(d.images){ 
			if(!d.MM_p){ 
				d.MM_p=new Array();
				 var i,j=d.MM_p.length,a=MM_preloadImages.arguments; 
				 for(i=0; i<a.length; i++){
	    			if (a[i].indexOf("#")!=0){ 
						d.MM_p[j]=new Image; 
						d.MM_p[j++].src=a[i];
					}
				}
			}
		}
	}
	
	// MM_findObj ----------------------------------------------------------------
	function MM_findObj(n, d) { //v4.01
	 	var p,i,x;  
	 	if(!d){
			d=document; 
	  		if((p=n.indexOf("?"))>0&&parent.frames.length) {
	    		d=parent.frames[n.substring(p+1)].document; 
				n=n.substring(0,p);
			}
	  		if(!(x=d[n])&&d.all){
				x=d.all[n]; 
				for (i=0;!x&&i<d.forms.length;i++){ 
					x=d.forms[i][n];
	  				for(i=0;!x&&d.layers&&i<d.layers.length;i++){ 
						x=MM_findObj(n,d.layers[i].document);
	  					if(!x && d.getElementById){ 
							x=d.getElementById(n); 
							return x;
						}
					}
				}
			}
		}
	}
	
	// MM_swapImage ----------------------------------------------------------------
	function MM_swapImage(){ //v3.0
	  	var i,j=0,x,a=MM_swapImage.arguments; 
	  	document.MM_sr=new Array; 
		for(i=0;i<(a.length-2);i+=3){
			if ((x=MM_findObj(a[i]))!=null){
				document.MM_sr[j++]=x; 
				if(!x.oSrc){ 
					x.oSrc=x.src; 
					x.src=a[i+2];
				}
			}
		}
	}
	
	// alertSize ----------------------------------------------------------------
	function alertSize() {
	  var myWidth = 0, myHeight = 0;
	  if( typeof( window.innerWidth ) == 'number' ) {
	    //Non-IE
	    myWidth = window.innerWidth;
	    myHeight = window.innerHeight;
	  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
	    //IE 6+ in 'standards compliant mode'
	    myWidth = document.documentElement.clientWidth;
	    myHeight = document.documentElement.clientHeight;
	  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
	    //IE 4 compatible
	    myWidth = document.body.clientWidth;
	    myHeight = document.body.clientHeight;
	  }
	  window.alert( 'Width = ' + myWidth );
	  window.alert( 'Height = ' + myHeight );
	}
	
	// getDocHeight ----------------------------------------------------------------
	function getDocHeight() {
	    var D = document;
	    return Math.max(
	        Math.max(D.body.scrollHeight, D.documentElement.scrollHeight),
	        Math.max(D.body.offsetHeight, D.documentElement.offsetHeight),
	        Math.max(D.body.clientHeight, D.documentElement.clientHeight)
	    );
	}

	// getDocwidth ----------------------------------------------------------------
	function getDocwidth() {
	    var D = document;
	    return Math.max(
	        Math.max(D.body.scrollWidth, D.documentElement.scrollWidth),
	        Math.max(D.body.offsetWidth, D.documentElement.offsetWidth),
	        Math.max(D.body.clientWidth, D.documentElement.clientWidth)
	    );
	}
/*
function saveScrollC() {
    var xposition;
    var yposition;

 xposition = document.body.scrollLeft:window.pageXOffset;
 yposition = document.body.scrollTop:window.pageYOffset;
} 
*/
	// getScrollPosition ----------------------------------------------------------------
	function getScrollPosition()
    {

        var x = 0;
        var y = 0;

        if( typeof( window.pageYOffset ) == 'number' )
        {
            x = window.pageXOffset;
            y = window.pageYOffset;
        }
        else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) )
        {
            x = document.documentElement.scrollLeft;
            y = document.documentElement.scrollTop;
        }
        else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) )
        {
            x = document.body.scrollLeft;
            y = document.body.scrollTop;
        }

        var position =
        {
            'x' : x,
            'y' : y
        }

        return position;

    }




	// openWidget ----------------------------------------------------------------
	function openWidget(event, id) {
		
		//var totalheight = document.height;
		document.getElementById("widgetWin").style.height = getDocHeight();
		//document.getElementById("widgetWin").style.width = getDocwidth();
		//document.getElementById("widgetWin").style.display = 'block';
		document.getElementById("widgetWin").style.display = 'block';
		document.getElementById("widgetWin").style.visibility = 'visible';

  		var el; 
		var x=0; 
		var y=0;
		var myWidth = 0;
		var myHeight = 0;

  		el = document.getElementById("widgetContaienr");
		var ContainerHeight = Math.floor(el.style.height.replace("px", ""));
		
		
  		if (window.event) {
			
			// IE

			if(Math.floor((window.event.clientY + document.documentElement.scrollTop + document.body.scrollTop + ContainerHeight)) > getDocHeight()){
				y = window.event.clientY + document.documentElement.scrollTop + document.body.scrollTop - 400;
  			}else{
				y = window.event.clientY + document.documentElement.scrollTop + document.body.scrollTop - 250;
			}
			
			// om widget hamnar ovanför toppen av fönstret  
			if(Math.floor(window.event.clientY - ContainerHeight) < 0){
				this.scrollTo(0,y-10);
			}
			// om widget hamnar utanför botten av fönstret 
			if(Math.floor(window.event.clientY + ContainerHeight) > window.event.clientHeight){
				this.scrollTo(0,(y+window.event.clientHeight-ContainerHeight));
			}			
			
  			el.style.top  = y + "px";
  			el.style.visibility = "visible";
			
			
  		}
  		else {
			// FireFox
			
			// 1. Placering av fönstret
			
			// om widget hamnar utanför botten av fönstret
			if(event.clientY + window.scrollY + ContainerHeight > document.height){
    			y = event.clientY + window.scrollY - ContainerHeight - 10;
  			}else{
				// om widget hamnar ovanför toppen av fönstret
				if(Math.floor((window.scrollY - ContainerHeight)) < 0){
    				y = 20;
  				}else{
					// om widget hamnar innanför av fönstret 
					y = event.clientY + window.scrollY - Math.floor(ContainerHeight)-10;

					
				}
			}
			
			// 2. scrollning till aktuella fönstret
			y -= 2;
			
			// scrolla ned
			if(y - window.scrollY < 0){
				this.scrollTo(0,y-10);
				//alert(getDocHeight());
			}else{
				// scrolla upp	
				var nyBerakning = Math.floor(event.clientY + ContainerHeight);
				alert("event.clientY: " + event.clientY + ", ContainerHeight:  "+ ContainerHeight + ", window.innerHeight: " + window.innerHeight +", beräkning: " + nyBerakning);
				if((event.clientY + ContainerHeight) > window.innerHeight){
					this.scrollTo(0, y - window.innerHeight + ContainerHeight  +  90);
				}else{
				
				
				}				
			}
			
			
  			//el.style.left = x + "px";
  			el.style.top  = y + "px";
  			el.style.visibility = "visible";
			//window.scrollY = y ;

			showStuff("widgetWin");
			//alertSize()			
			
			
		}

	}
	
	// hideWidget ----------------------------------------------------------------
	function hideWidget(id) {
		document.getElementById("widgetContaienr").style.visibility = 'hidden';
		document.getElementById("widgetWin").style.visibility = 'hidden';
		document.getElementById("widgetWin").style.display = 'block';
	}

	// showStuff ----------------------------------------------------------------
	function showStuff(id) {

		//var totalheight = document.body.offsetheight;
		var totalheight = document.height;
		document.getElementById(id).style.height = getDocHeight()	;	
			
		document.getElementById(id).style.display = 'block';
	}
	
	// hideStuff ----------------------------------------------------------------
	function hideStuff(id) {
		document.getElementById(id).style.display = 'none';
	}

