//window.onload = init;
var lang = 'en'; //defaultlang

if (location.href.toLowerCase().indexOf('/sv/')!=-1) lang = 'sv';	
var readmode = (document.cookie.indexOf('viewmode=read') >= 0); 
var switchmode = "read";
if (readmode)
	switchmode = "text";


/* 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
	//##>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>##
	tmpstr = location.href;
	tmpindex = tmpstr.lastIndexOf('/') - 1;
	tmpindex = tmpstr.lastIndexOf('/', tmpindex) - 2;
	//lang = tmpstr.substring(tmpindex, tmpindex + 2);

	loadDictionary();

//	if (!readmode) {
		initDynamicStyleSheet();		
		initmenu();
		initpopups();
		addEvent(document, 'keydown', keyboard);
//	}
		
	initGraphicTableBars();
	initcomments();
	initLoadFlash();
	initExcelExporter();
	initTools();
	if (location.href.indexOf('28.') > -1) {
		document.getElementById('popups').style.left = '240px';	
		document.getElementById('breadcrumbs').style.top = '-8px';
	}
	
	if(document.getElementById('tablecontent')){	
		tablelayout();
		document.getElementById('tablecontent').className = 'compressed';
	}else { // if (!readmode){
		initColumnLayout();
	}
	initIE6fix();
	setBreadcrumbs();
	DisableHorizontalScrollbar();


	
	
	
	//##>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>##
};


if(document.addEventListener){document.addEventListener("DOMContentLoaded",onDOMload,false)};
/*@cc_on @*/
/*@if (@_win32)
  document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
  var script=document.getElementById("__ie_onload");
  script.onreadystatechange=function(){if(this.readyState == "complete"){onDOMload()}};
/*@end @*/
if(/WebKit/i.test(navigator.userAgent)){var _timer=setInterval(function(){if(/loaded|complete/.test(document.readyState)){onDOMload()}},10)}
window.onload=onDOMload;

var initTools = function() {
	/*var links = document.getElementsByTagName('a');
	
	for (i=0; i<links.length; i++) {
		var link = links[i];
	}*/
	
	var btnComment = document.getElementById('btn-comment');
	
//	addEvent(btnComment, 'mouseover', tooltip.Show);
//	addEvent(btnComment, 'mouseout', tooltip.Hide);
}


var initExcelExporter=function(){
	var e = document.getElementById('excel');
	if (!e) return;
	var url = e.href;
	var currPage=location.href;
	
	if(currPage.indexOf('Rakningarochnoter/Resultatrakning.')!==-1 || currPage.indexOf('Accountsandnotes/Incomestatement.')!==-1)
		url += "#resultatrakning";	
	else if(currPage.indexOf('Rakningarochnoter/Resultatrakning-moderbolaget.')!==-1 || currPage.indexOf('Accountsandnotes/Incomestatement-Parentcompany.')!==-1)
		url += "#moderresultat";
	else if(currPage.indexOf('Rakningarochnoter/Forandringariegetkapital.')!==-1 || currPage.indexOf('Accountsandnotes/Changesinequity.')!==-1)
		url += "#egetkapital";
	else if(currPage.indexOf('Rakningarochnoter/Forandringariegetkapital-moderbolaget.')!==-1 || currPage.indexOf('Accountsandnotes/Changesinequity-parentcompany.')!==-1)
		url += "#moderegetkapital";
	else if(currPage.indexOf('Rakningarochnoter/Balansrakning.')!==-1 || currPage.indexOf('Accountsandnotes/Accountsandnotes/Balancesheet.')!==-1)
		url += "#balansrakning";
	else if(currPage.indexOf('Rakningarochnoter/Balansrakning-moderbolaget.')!==-1 || currPage.indexOf('Accountsandnotes/Balancesheet-parentcompany.')!==-1)
		url += "#moderbalans";
	else if(currPage.indexOf('Rakningarochnoter/Kassaflodesanalys.')!==-1 || currPage.indexOf('Accountsandnotes/Cashflowstatement.')!==-1)
		url += "#kassaflode";
	else if(currPage.indexOf('Rakningarochnoter/Kassaflodesanalys-moderbolaget.')!==-1 || currPage.indexOf('Accountsandnotes/Cashflowstatement-parentcompany.')!==-1)
		url += "#moderkassaflode";
	else if(currPage.indexOf('Rakningarochnoter/Nyckeltal.')!==-1 || currPage.indexOf('Accountsandnotes/Keydataandratios.')!==-1)
		url += "#nyckeltal";
	
	if (lang=='en')
		e.innerHTML = '<span>Data in excel</span>';
	else 
		e.innerHTML = '<span>Exportera till excel</span>';
	e.href = url;
	e.target = '_blank';
}

/* DISABLE HORIZONTAL SCROLLBAR
----------------------------------------------------*/
var DisableHorizontalScrollbar=function(){
	document.getElementsByTagName('html')[0].style.overflowX='hidden';
	document.getElementsByTagName('body')[0].style.overflowX='hidden';
	document.getElementsByTagName('body')[0].style.overflowY='hidden';
};


/* EVENTHANDLER FOR ADDING EVENTS TO OBJECTS
----------------------------------------------------*/
function addEvent(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;
			};
		}
	};
}();



/* SET BREADCRUMBS
----------------------------------------------------*/
var setBreadcrumbs=function(){
    var text = document.getElementsByTagName('h1')[0];        
    var placeHolder = document.getElementById('breadcrumbs');
    var breadcrumb = "";
    if(text) {
		breadcrumb = text.innerHTML;
//		breadcrumb = breadcrumb.replace ('</span>', '</span><em class="ISI_IGNORE">');				
///		breadcrumb += "</em>";
		placeHolder.innerHTML = "<h2>" + breadcrumb + "</h2>";
	}
};


/* SHORTCUT FOR GET ELEMENY BY ID
----------------------------------------------------*/
var $=function(elm){return document.getElementById(elm);}


/* LOAD FLASH IF AVALIBLE
----------------------------------------------------*/
var initLoadFlash=function(){	
	if(typeof SWFObjectPath!=='string') return;
	if(SWFObjectPath){
	
		if(typeof deconcept=="undefined"){var deconcept=new Object();}if(typeof deconcept.util=="undefined"){deconcept.util=new Object();}if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();}deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a){if(!document.getElementById){return;}this.DETECT_KEY=_a?_a:"detectflash";this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);this.params=new Object();this.variables=new Object();this.attributes=new Array();if(_1){this.setAttribute("swf",_1);}if(id){this.setAttribute("id",id);}if(w){this.setAttribute("width",w);}if(h){this.setAttribute("height",h);}if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));}this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();if(!window.opera&&document.all&&this.installedVer.major>7){deconcept.SWFObject.doPrepUnload=true;}if(c){this.addParam("bgcolor",c);}var q=_7?_7:"high";this.addParam("quality",q);this.setAttribute("useExpressInstall",false);this.setAttribute("doExpressInstall",false);var _c=(_8)?_8:window.location;this.setAttribute("xiRedirectUrl",_c);this.setAttribute("redirectUrl","");if(_9){this.setAttribute("redirectUrl",_9);}};deconcept.SWFObject.prototype={useExpressInstall:function(_d){this.xiSWFPath=!_d?"expressinstall.swf":_d;this.setAttribute("useExpressInstall",true);},setAttribute:function(_e,_f){this.attributes[_e]=_f;},getAttribute:function(_10){return this.attributes[_10];},addParam:function(_11,_12){this.params[_11]=_12;},getParams:function(){return this.params;},addVariable:function(_13,_14){this.variables[_13]=_14;},getVariable:function(_15){return this.variables[_15];},getVariables:function(){return this.variables;},getVariablePairs:function(){var _16=new Array();var key;var _18=this.getVariables();for(key in _18){_16[_16.length]=key+"="+_18[key];}return _16;},getSWFHTML:function(){var _19="";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");this.setAttribute("swf",this.xiSWFPath);}_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\"";_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" ";var _1a=this.getParams();for(var key in _1a){_19+=[key]+"=\""+_1a[key]+"\" ";}var _1c=this.getVariablePairs().join("&");if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";}_19+="/>";}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");this.setAttribute("swf",this.xiSWFPath);}_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\">";_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />";var _1d=this.getParams();for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";}var _1f=this.getVariablePairs().join("&");if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";}_19+="</object>";}return _19;},write:function(_20){if(this.getAttribute("useExpressInstall")){var _21=new deconcept.PlayerVersion([6,0,65]);if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){this.setAttribute("doExpressInstall",true);this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));document.title=document.title.slice(0,47)+" - Flash Player Installation";this.addVariable("MMdoctitle",document.title);}}if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){var n=(typeof _20=="string")?document.getElementById(_20):_20;n.innerHTML=this.getSWFHTML();return true;}else{if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}}return false;}};deconcept.SWFObjectUtil.getPlayerVersion=function(){var _23=new deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeTypes.length){var x=navigator.plugins["Shockwave Flash"];if(x&&x.description){_23=new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}}else{if(navigator.userAgent&&navigator.userAgent.indexOf("Windows CE")>=0){var axo=1;var _26=3;while(axo){try{_26++;axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+_26);_23=new deconcept.PlayerVersion([_26,0,0]);}catch(e){axo=null;}}}else{try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");_23=new deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess="always";}catch(e){if(_23.major==6){return _23;}}try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(e){}}if(axo!=null){_23=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}}}return _23;};deconcept.PlayerVersion=function(_29){this.major=_29[0]!=null?parseInt(_29[0]):0;this.minor=_29[1]!=null?parseInt(_29[1]):0;this.rev=_29[2]!=null?parseInt(_29[2]):0;};deconcept.PlayerVersion.prototype.versionIsValid=function(fv){if(this.major<fv.major){return false;}if(this.major>fv.major){return true;}if(this.minor<fv.minor){return false;}if(this.minor>fv.minor){return true;}if(this.rev<fv.rev){return false;}return true;};deconcept.util={getRequestParameter:function(_2b){var q=document.location.search||document.location.hash;if(_2b==null){return q;}if(q){var _2d=q.substring(1).split("&");for(var i=0;i<_2d.length;i++){if(_2d[i].substring(0,_2d[i].indexOf("="))==_2b){return _2d[i].substring((_2d[i].indexOf("=")+1));}}}return "";}};deconcept.SWFObjectUtil.cleanupSWFs=function(){var _2f=document.getElementsByTagName("OBJECT");for(var i=_2f.length-1;i>=0;i--){_2f[i].style.display="none";for(var x in _2f[i]){if(typeof _2f[i][x]=="function"){_2f[i][x]=function(){};}}}};if(deconcept.SWFObject.doPrepUnload){if(!deconcept.unloadSet){deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};window.attachEvent("onunload",deconcept.SWFObjectUtil.cleanupSWFs);};window.attachEvent("onbeforeunload",deconcept.SWFObjectUtil.prepUnload);deconcept.unloadSet=true;}}if(!document.getElementById&&document.all){document.getElementById=function(id){return document.all[id];};}var getQueryParamValue=deconcept.util.getRequestParameter;var FlashObject=deconcept.SWFObject;var SWFObject=deconcept.SWFObject;
		
		if (location.href.indexOf('CEOsreport')!=-1)
			var so = new SWFObject(SWFObjectPath, 'flashcontent', '426', '264', '8', '', true);
		else
			var so = new SWFObject(SWFObjectPath, 'flashcontent', '100%', '100%', '8', '', true);
		so.addParam('flashVarText', 'this is passed in via FlashVars for example only');
		so.addParam('quality', 'high');
		so.addParam('menu', 'false');
		so.addParam('wmode','transparent');				
		so.addParam('type', 'application/x-shockwave-flash');
		so.write('flashcontent');

		var theObjects=document.getElementsByTagName("object");
		if(!theObjects) return;
		var n=theObjects.length;
		for(var i=0; i<n; i++){theObjects[i].outerHTML=theObjects[i].outerHTML;};

	}
};

	
/* CREATE THE DYNAMIC STYLESHEET
----------------------------------------------------*/
var initDynamicStyleSheet=function(){
	var cssNode = document.createElement('link');
	cssNode.setAttribute('rel', 'stylesheet');
	cssNode.setAttribute('type', 'text/css');
	cssNode.setAttribute('href', '../../styles/dynamic.css');
	document.getElementsByTagName('head')[0].appendChild(cssNode);
};


/* KEYBOARD EVENT SNIFFER
----------------------------------------------------*/
var keyboard=function(e){
	var key;
	if(!e) var e = event;

	if(e.altKey) return true;
	if(!e) return true;

	if(e.keyCode) key = e.keyCode;
	else if(e.which) key = e.which;

	switch(key){
		case 39: //## RIGHT ARROW
			ScrollNext();
			CancelEvent(e);
			break;
		
		case 37: //## LEFT ARROW
			ScrollPrevious();
			CancelEvent(e);
			break;
		
		case 33: //##PAGE UP
			location.href=previousUrl;
			break;
		
		case 34: //## PAGE DOWN
			location.href=nextUrl;
			break;

		case 35: //## END
			ScrollTo(countColumns - 1);
			break;

		case 36: //## HOME
			ScrollTo(0);
			break;

		default: //## NOTHING
			return true;
			break;

	}
};


/* CANCEL THE EVENT
----------------------------------------------------*/
var CancelEvent=function(e){
	if(e.stopPropagation){e.stopPropagation();e.preventDefault();}
	else{e.cancelBubble=true;e.returnValue=false;}
};


/* BROWSERSNIFFING - OBSOLETE?
----------------------------------------------------*/
var ie = (window.navigator.userAgent.indexOf('MSIE') > 0);


document.getElementsByClassName = function(clsName){
    var retVal = new Array();
    var elements = document.getElementsByTagName("*");
    for(var i = 0;i < elements.length;i++){
        if(elements[i].className.indexOf(" ") >= 0){
            var classes = elements[i].className.split(" ");
            for(var j = 0;j < classes.length;j++){
                if(classes[j] == clsName)
                    retVal.push(elements[i]);
            }
        }
        else if(elements[i].className == clsName)
            retVal.push(elements[i]);
    }
    return retVal;
}




var initPopups=function(){

	//## POPUP CONTAINER
	div = document.createElement('div');
	div.id = 'popanim';
	div.className = 'popupanim';
	document.body.appendChild(div);
	currentpopup = document.createElement('div');
	currentpopup.className = 'popup';
	document.body.appendChild(currentpopup);

	//## PDF TOOLTIP CONTAINER
	var linkTooltip=document.createElement('DIV');
	var swedish = location.href.toLowerCase().indexOf('/en/')==-1;	
	linkTooltip.id='tooltip-pdf';	
	
	var pdftext_sv = '<span><strong>PDF länk</strong><em>Om du klickar på denna länk, öppnas ett PDF-dokument.</em></span>';
	var pdftext_en = '<span><strong>PDF link</strong><em>Click this link to open a PDF-document</em></span>';

	var extlink_sv = '<span><strong>Extern länk</strong><em>Om du klickar på denna länk, öppnas sidan i ett nytt fönster.</em></span>';	
	var extlink_en = '<span><strong>External link</strong><em>If you click this link, a new window will open</em></span>';	

	if(swedish)
		linkTooltip.innerHTML=pdftext_sv;
	else
		linkTooltip.innerHTML=pdftext_en;
		
	document.getElementsByTagName('BODY')[0].appendChild(linkTooltip);

	//## LINK TOOLTIP CONTAINER
	var linkTooltip=document.createElement('DIV');
	linkTooltip.id='tooltip-links';
	if(swedish)
		linkTooltip.innerHTML=extlink_sv;
	else
		linkTooltip.innerHTML=extlink_en;
	document.getElementsByTagName('BODY')[0].appendChild(linkTooltip);	
	
	
	//## ATTACH LINKACTIONS
	var allLinks=$('contents').getElementsByTagName('A'),x=0,oneLink=null;
	if(!allLinks) return;
	while(oneLink=allLinks[x++]){
		if(oneLink.href!=='#') attachLinkAction(oneLink);
	}
	if($('tablecontent')){
		var allLinks=$('tablecontent').getElementsByTagName('A'),x=0,oneLink=null;
		if(!allLinks) return;
		while(oneLink=allLinks[x++]){
			if(oneLink.href!=='#') attachLinkAction(oneLink);
		}
	}
	if($('popups')){
		var allLinks=$('popups').getElementsByTagName('AREA'),x=0,oneLink=null;
		if(!allLinks) return;
		while(oneLink=allLinks[x++]){
			if(oneLink.href!=='#') attachLinkAction(oneLink);
		}
	}

};



var initIE6fix=function(){
	if(typeof document.body.style.maxHeight=='undefined'){

		var oPageNumbers=$('pagenumbers');
		var currPage=location.href;
		var oColumns=$('columns');

	}
};

var HideSiblingColumn=function(node){
	if(node.nextSibling){
		node.nextSibling.style.position='absolute';
		node.nextSibling.style.top='-50000px';
	}
};

/* INITGRAPHICTABLEBARS
----------------------------------------------------*/
var initGraphicTableBars=function(){

	if(location.href.indexOf('Balansrakning')==-1 && location.href.indexOf('Five-yearsummary')==-1) return;

	if(!$('graph-parent')) return;
	$('graph-parent').style.position='relative';

	var graphImage=$('graph-holder-master');
	if(!graphImage) return;
	graphImage.innerHTML='<img src="../../images/diagramicon.gif" alt="" /><input type="radio" name="radio-graph-input" checked="checked" class="radio-graph"/>';
	addEvent($('graph-holder-master').getElementsByTagName('INPUT')[0], 'click', removeGrapgbars);

	var radios = getElementsByClassName($('graph-parent'),'div','graph-holder')
	var n=radios.length;
	for(var i=0; i<n; i++){
		var radio=radios[i];
		radio.innerHTML='<input type="radio" name="radio-graph-input" class="radio-graph"/>';
		radio.childNodes[0].id='graph'+ i;
		addEvent(radio.childNodes[0], 'click', initGraphBars);
		addEvent(radio.childNodes[0], 'mousedown', attachUnderline);
		addEvent(radio.childNodes[0], 'blur', detachUnderline);
	}
}
var initGraphBars=function(){	
	var graphId='div-'+ this.id;
	removeGrapgbars();
	if($(graphId)){
		$(graphId).style.display='block';
	}else{
		var graphRow=this.parentNode.parentNode.parentNode;
		var graphCells=graphRow.cells;
		
		
		var graphCellPos=0;
		
		graphRow.style.textDecoration='underline';
		
		var graphHolder=document.createElement('DIV');
		graphHolder.id=graphId;
		graphHolder.zIndex=1000;
		graphHolder.className='graph-content';

		var firstCell=graphCells[2];
		if(!firstCell) return;

		var tmpstr = location.href;
		var tmpindex = tmpstr.lastIndexOf('/') - 1;
		tmpindex = tmpstr.lastIndexOf('/', tmpindex) - 2;
		var lang = tmpstr.substring(tmpindex, tmpindex + 2);

		var firstCellY=parseInt(firstCell.offsetTop);
		var firstCellX=parseInt(firstCell.offsetLeft);

		graphHolder.style.top=firstCellY +'px';
		graphHolder.style.left=firstCellX +'px';

		var cellvalue = new Array();
		var max = -1000000;
		var min = 1000000;
		var scale=1;

		var n=graphCells.length;
		

		for(var i=2; i<n; i++){
			var graphCell=graphCells[i];
			var graphValue=graphCell.innerHTML.strip();
			
			if (lang == 'en'){
				graphValue = graphValue.replace(',', '');					
			}else{					
				graphValue = graphValue.replace(' ', '').replace(',', '.');
			}					
			
			if(graphValue!=='br'){
				cellvalue[i]=graphValue.num();
				
				cellvalue[i] = parseFloat(cellvalue[i]);				
				if(cellvalue[i] < min) min = cellvalue[i];				
				if(cellvalue[i] > max) max = cellvalue[i];
				
			}
		}
		
		if(Math.abs(min) > max){scale=-min}
		else{scale=max}

		for(var i=2; i<n; i++){
			var graphCell=graphCells[i];
			var graphValue=graphCell.innerHTML.strip();
			if(graphValue!=='br'){
				if(isNaN(cellvalue[i])) cellvalue[i]=0;
				
				

				height = parseInt((Math.abs(cellvalue[i]) / scale) * 100);
			
				if(isNaN(height)) height=0;

				var cellX=parseInt(graphCell.offsetLeft);
				var graph=document.createElement('DIV');

				if(i==2){graph.style.left=(graphCellPos-5) +'px'}
				else{graph.style.left=(graphCellPos+4) +'px'};
				graph.innerHTML='&nbsp;';				
				graph.style.width=graphCell.offsetWidth + 1 +'px';
				graph.style.height=height +'px';
				graphCellPos+=parseInt(graphCell.offsetWidth);
				graph.style.bottom='4px';

				if (cellvalue[i] < 0)  {
					graph.className='graph negative';
					graph.style.top='15px';
				}else{
					graph.className='graph';
				}

				graphHolder.appendChild(graph);
			}
		}
		$('graph-parent').appendChild(graphHolder);
	}
};
var removeGrapgbars=function(){
	var graphs=getElementsByClassName(document,'div','graph-content');
	var n=graphs.length;
	for(var i=0; i<n; i++){
		var graph=graphs[i];
		if(graph) graph.style.display='none';
	}
};
var attachUnderline=function(){
	var graphRow=this.parentNode.parentNode.parentNode;
	var ts=graphRow.cells,i=0,cell=null;
	while(cell=ts[i++]){
		if(cell.tagName=='TD'){
			cell.style.textDecoration='underline';
		}
	}
};
var detachUnderline=function(){
	var graphRow=this.parentNode.parentNode.parentNode;
	var ts=graphRow.cells,i=0,cell=null;
	while(cell=ts[i++]){
		cell.style.textDecoration='none';
	}
};
var lockTableHeaders=function(){
	var Parent=getElementsByClassName(document,'div','tablescrollpanel')[0];
	if(!Parent) return;
	var tableData=getElementsByClassName(Parent,'table','datatable')[0];
	if(!tableData) return;
	
	var tableClone=tableData.parentNode.cloneNode(true);
	if(!tableClone) return;

	var cloneContainer=document.createElement('DIV');
	cloneContainer.id='cloned-table-header';
	cloneContainer.style.position='absolute';
	cloneContainer.style.backgroundColor='#ffffff';
	cloneContainer.style.height='42px';
	cloneContainer.style.overflow='hidden';
	cloneContainer.style.top='0';
	cloneContainer.xIndex=1000;
	var ReplacedContent=tableClone.innerHTML;
	ReplacedContent=ReplacedContent.replace('graph-holder-master','graph-holder-master-2');
	cloneContainer.innerHTML=ReplacedContent;
	$('graph-parent').appendChild(cloneContainer);
	$('graph-holder-master-2').innerHTML='<img src="../../images/diagramicon.gif" alt="" /><input type="radio" name="radio-graph-master-2" checked="checked" onclick="location.reload()" class="radio-graph"/>';
	addEvent($('graph-parent'),'scroll',updateCloneContainer);
	addEvent($('graph-parent'),'focus',updateCloneContainer);
	addEvent($('graph-parent'),'blur',updateCloneContainer);
	addEvent($('graph-parent'),'BeforeScroll',updateCloneContainer);
	addEvent($('graph-parent'),'drag',updateCloneContainer);
};

var updateCloneContainer=function(){
	$('cloned-table-header').style.top=$('graph-parent').scrollTop +'px';
};

String.prototype.strip=function(){
	return this.replace(/[<>]/g,function(s){return (s=='<')?'':''}).toLowerCase();
}

String.prototype.num=function(){
	return this.replace(/^\s+|\s+$/g,'').replace(',','.');
}

function viewmode(mode) {
	document.cookie = 'viewmode=' + mode + ';path=/';	
	document.location.reload();
}
