
/* EVENTHANDLER FOR DOMONLOAD
----------------------------------------------------*/
var onDOMload=function(){
  if(arguments.callee.done) return;
  arguments.callee.done=true;
  if(_timer) clearInterval(_timer);
  //##>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>##
  //## ADD FUNCTIONS THAT SHOULD RUN ON DOM LOAD
  //##>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>##
  svgLinkFixer();

	printPage.init();
	initTooltips();
	//addEvent(window, 'scroll', updateShade);
	hideFocusBorders();
  //##>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>##
};
/*@cc_on
@if(@_win32 || @_win64)
if(document.getElementById){
	document.write("<script id=\"ieScriptLoad\" defer src=\"//:\"><\/script>");
	document.getElementById("ieScriptLoad").onreadystatechange=function(){if(this.readyState=="complete"){onDOMload()}};
}
@end @*/
if(document.addEventListener){document.addEventListener('DOMContentLoaded',onDOMload,false)};
if(/KHTML|WebKit|iCab/i.test(navigator.userAgent)){var _timer=setInterval(function(){if(/loaded|complete/.test(document.readyState)){onDOMload()}},10)}
window.onload = onDOMload;



jQuery(function ($) {
    $("a.diagram-bottom-toolbar-show-table").live("click", function (event) {
        event.preventDefault();

        var link = $(this);
        var toolbar = link.closest("div.diagram-bottom-toolbar");

        toolbar.next("div.diagram-data-table").slideDown();

        link
        .hide()
        .next().show();
    });

    $("a.diagram-bottom-toolbar-close-table").live("click", function (event) {
        event.preventDefault();

        var link = $(this);
        var toolbar = link.closest("div.diagram-bottom-toolbar");

        toolbar.next("div.diagram-data-table").slideUp();

        link
        .hide()
        .prev().show();
    });

    $("a.table-close").live("click", function (event) {
        event.preventDefault();

        var link = $(this);
        var tableContainer = link.closest("div.diagram-data-table").slideUp();

        var toolbar = tableContainer.prev("div.diagram-bottom-toolbar");

        toolbar.find("a.diagram-bottom-toolbar-close-table").hide();
        toolbar.find("a.diagram-bottom-toolbar-show-table").show();
    });
});


/* GET ID
----------------------------------------------------*/
var $=function(elm){return document.getElementById(elm);}


/*--------------- Skriv ut funktion -----------------*/

printPage = {
	init:function(e) {
	var ele = document.getElementById('print');
		if (ele) {
			//CancelEvent(e);
			ele.href='javascript:void(0);';
			addEvent(ele, 'click', function() {
			
			    window.print();
			});
			
			//alert("hello");
			/*
			ele.onclick = function() {
				window.print(); 
				return false;
			}*/
		}
		
	}
}

/*--------------------------------------------------*/

var getElmPosition={
	GetX : function(obj){
		var curleft=0;
		if(obj.offsetParent){while(1){curleft += obj.offsetLeft;if(!obj.offsetParent) break;obj=obj.offsetParent;};}
		else if(obj.x){curleft += obj.x;}
		return curleft;
	},
	GetY : function(obj){
		var curtop=0;
		if(obj.offsetParent){while(1){curtop += obj.offsetTop;if(!obj.offsetParent) break;obj=obj.offsetParent;};}
		else if(obj.y){curtop += obj.y;}
		return curtop;
	}
};
/* Get rid of the IE dotted border around the the flash object on the first page */

function hideFocusBorders(){
	var flashObject = document.getElementsByTagName("object");
	if (!flashObject){return;}
		for(var x=0;x!=flashObject.length;x++){
		flashObject[x].onfocus = function stopLinkFocus(){this.hideFocus=true;};
	}
}

/* CANCEL THE EVENT
----------------------------------------------------*/
var CancelEvent=function(e)
{
    if (e == null)
    {
        return;
    }
    if(e.stopPropagation)
    {
        e.stopPropagation();
        e.preventDefault();
    }
    else
    {
        e.cancelBubble=true;
        e.returnValue=false;
    }
};


/*--------------------------------------------------------------------------------*/
/* EVENTHANDLER FOR ADDING EVENTS TO OBJECTS
----------------------------------------------------*/
var addEvent=function(obj,type,fn){
	if(obj.addEventListener){
		obj.addEventListener(type,fn,false);
		EventCache.add(obj,type,fn)
	}
	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]);
			EventCache.add(obj,type,fn);
		}
		else{
			obj['on'+type]=obj['e'+type+fn]
		}
	}
	
var EventCache=function(){
	var listEvents=[];
	return{listEvents: listEvents,add: function(node,sEventName,fHandler){
		listEvents.push(arguments)},flush: function(){
			var i,item;
			for(i=listEvents.length - 1; i >= 0; i=i - 1){
				item=listEvents[i];
				if(item[0].removeEventListener){
					item[0].removeEventListener(item[1],item[2],item[3])
				}
				if(item[1].substring(0,2) != 'on'){
					item[1]='on'+item[1]};
					if(item[0].detachEvent){
						item[0].detachEvent(item[1],item[2])
					};item[0][item[1]]=null
				}
			}
		}
	}
();

var removeEvent=function(obj,type,fn){
	if(obj.removeEventListener){
		obj.removeEventListener(type,fn,false)
	}
	else if(obj.detachEvent){
		obj.detachEvent('on'+type,obj[type+fn]);
		obj[type+fn]=null;obj['e'+type+fn]=null
	}
}

/* GET ELEMENTS BY CLASSNAME
----------------------------------------------------*/
var getElementsByClassName=function(oElm, strTagName, strClassName){
	var arrElements=(strTagName=='*' && oElm.all)?oElm.all:oElm.getElementsByTagName(strTagName);
	var arrReturnElements=new Array();
	strClassName=strClassName.replace(/\-/g, "\\-");
	var oRegExp=new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	var oElement;
	for(var i=0;i<arrElements.length;i++){
		oElement=arrElements[i];
		if(oRegExp.test(oElement.className)){
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements);
}

/* INIT MODAL BACKPLATE
----------------------------------------------------*/
var initModalBackPlate=function(){
	var a=$('fade');
	if(!a){
		a=document.createElement('DIV');
		a.id='fade';a.className='fade';
		a.style.background='#000000';
		a.style.position='absolute';
		a.style.zIndex=0;
		a.style.width='100%';
		var wrapperHeight = getElementsByClassName(document,'div','wrapper')[0];
		a.style.height= wrapperHeight.clientHeight+400+'px';
		Fade.setOpacity(a,50);
		document.getElementsByTagName('BODY')[0].appendChild(a)
	}
	else{
		a.style.display='block'
	}

	hideFlash();
	addEvent($('fade'), 'click', closePopupWithFade);

};

/* OPACITY FADE
----------------------------------------------------*/
var Fade={
	In: function(uid,opacity){
		var obj=$(uid);
		if(!obj) return;
		if(obj.style.display=='none') obj.style.display='block';
		if(opacity <= 100){
			Fade.setOpacity(obj,opacity);
			opacity+= 20;
			fadeTimer=window.setTimeout('Fade.In("'+uid+'",'+opacity+')',40);
		}
		else{
			Fade.setOpacity(obj,100);
			window.clearTimeout(fadeTimer)
		}
	},
	Out: function(uid,opacity){
		var obj=$(uid);
		if(!obj) return;
		if(opacity >= 5){
			Fade.setOpacity(obj,opacity);
			opacity -= 20;
			fadeTimer=window.setTimeout('Fade.Out("'+uid+'",'+opacity+')',2)
		}
		else{
			Fade.setOpacity(obj,0);
			window.clearTimeout(fadeTimer)
		}
	},
	setOpacity: function(obj,opacity){
		if(!obj) return;
		obj.style.filter='alpha(style=0,opacity:'+opacity+')';
		obj.style.KHTMLOpacity=(opacity/100);
		obj.style.MozOpacity=(opacity/100);
		obj.style.opacity=(opacity/100)
	}
};

/* HIDE FLASH WHEN POPUP ACTIVE
----------------------------------------------------*/
var hideFlash=function(){
	var objects=document.getElementsByTagName('OBJECT');
	for(var i=0,n=objects.length, object=null; i<n; i++){
		object=objects[i];
		object.style.visibility='hidden';
	}
};

/* SHOW FLASH WHEN POPUP CLOSE
----------------------------------------------------*/
var showFlash=function(){
	var objects=document.getElementsByTagName('OBJECT');
	for(var i=0,n=objects.length, object=null; i<n; i++){
		object=objects[i];
		if(object.style.visibility=='hidden') object.style.visibility='visible';
	}
};

/* CLOSE EVENT TO FADE DIV
----------------------------------------------------*/
var closePopupWithFade = function() {
	var arrFadeElems=getElementsByClassName(document, 'div', 'fade');
	var intElems=arrFadeElems.length;
	for(var i=0; i<intElems; i++){
		var FadeElm=arrFadeElems[i];
		FadeElm.style.display = 'none';
		RemoveElement(FadeElm);
	}
	HidePopupAndFade();
	
    var popupDestinationDiv = document.getElementById('popupContent');
    if (popupDestinationDiv != null)
    {
        popupDestinationDiv.innerHTML = '';
    } 
    
    // Just for subscribe popup
    var subscribePopupDiv = document.getElementById('popupWrapper2');
    if (subscribePopupDiv != null)
    {
        subscribePopupDiv.style.display = 'none';
    }
    

}

function svgLinkFixer() {
    if (! document.URL.match(/^http:\/\/[^\/]*(local|halvarsson).*[?&]format=svg/))
        return;
    var a = document.getElementsByTagName("A");
    for (var i=0; a && i<a.length; i++)
        if (a[i].href && ! a[i].href.match(/[?&]format=svg/))
            a[i].href += (a[i].href.match(/\?/) ? "&" : "?") + "format=svg";
}

