function findPosX(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;
}

function findPosY(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;
}

function getElementHeight(obj) 
{
    if (typeof obj.clip !== "undefined") 
    {
        return obj.clip.height;
    }
    else 
    {
        if (obj.style.pixelHeight) 
        {
            return obj.style.pixelHeight;
        }
        else
        {
            return obj.offsetHeight;
        }
    }
}

 function getElementWidth(obj) 
{
    if (typeof obj.clip !== "undefined") 
    {
        return obj.clip.width;
    }
    else 
    {
        if (obj.style.pixelWidth) 
        {
            return obj.style.pixelWidth;
        }
        else
        {
            return obj.offsetWidth;
        }
    }
}


function showJumpNavigation(iso){
	var myElement = document.getElementById('searchjump-' + iso);
	myElement.style.display = "block";
}
function hideJumpNavigation(iso){
	var myElement = document.getElementById('searchjump-' + iso);
	if(myElement){
		myElement.style.display = "none";
	}
}


function nw(url) {
	window.open(url, "popup", "width=1280,height=600,left=20,top=20, resizable=yes, scrollbars=yes");
}
function deleteBackground() {
	var myElement = document.getElementById("search");
	myElement.style.background = "transparent";
}
function showBackground() {
	var myElement = document.getElementById("search");
	myElement.style.background = "transparent";
}
function nv(url) {
	window.open(url, "popup", "width=600,height=400,left=20,top=20, resizable=yes, scrollbars=yes");
}
function popup(url) {
	window.open(url, "popup", "width=980,height=525,left=20,top=20, resizable=yes, scrollbars=yes");
}
function sb(box){
	var theBox = document.getElementById("specialbox" + box);
	if(theBox){
		theBox.style.display = "block";	
	}
}
function hb(box){
	var theBox = document.getElementById("specialbox" + box);
	if(theBox){
		theBox.style.display = "none";	
	}
}


function showPic(thePic){
	if(thePic == "pic1"){
		document.getElementById("pic4").style.display = "none";
		document.getElementById("pic3").style.display = "none";
		document.getElementById("pic2").style.display = "none";
		document.getElementById("pic1").style.display = "block";	
	}
	if(thePic == "pic2"){
		document.getElementById("pic4").style.display = "none";
		document.getElementById("pic3").style.display = "none";
		document.getElementById("pic1").style.display = "none";
		document.getElementById("pic2").style.display = "block";	
	}
	if(thePic == "pic3"){
		document.getElementById("pic1").style.display = "none";
		document.getElementById("pic2").style.display = "none";
		document.getElementById("pic4").style.display = "none";
		document.getElementById("pic3").style.display = "block";	
	}
	if(thePic == "pic4"){
		document.getElementById("pic1").style.display = "none";
		document.getElementById("pic3").style.display = "none";
		document.getElementById("pic2").style.display = "none";
		document.getElementById("pic4").style.display = "block";	
	}
}
function rzCC(s){
   for(var exp=/-([a-z])/; 
       exp.test(s); 
       s=s.replace(exp,RegExp.$1.toUpperCase()));
   return s;
 }

 function _setStyle(element, declaration) {
   if (declaration.charAt(declaration.length-1)==';')
     declaration = declaration.slice(0, -1);
   var k, v;
   var splitted = declaration.split(';');
   for (var i=0, len=splitted.length; i<len; i++) {
      k = rzCC(splitted[i].split(':')[0]);
      v = splitted[i].split(':')[1];
      eval("element.style."+k+"='"+v+"'");
   }
 }

function isIE6(){
	if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){ 
 		var ieversion=new Number(RegExp.$1) 
		if (ieversion<=6){
			return true;
		}
	}
}

// Print with/without images
/*
window.addEvent("domready", function () {
	if($("printImages") != null){
	$("printImages").addEvents({"click":function () {
		
		if(this.checked){
			$$("#popup img").each(function(el) { 
				if(el != $("printIcon")){
					el.setStyle('display', 'none');
				}			 
			});
		}else{
			$$("#popup img").each(function(el) { 
				el.setStyle('display', 'block'); 
			});
			$("printIcon").setStyle('float', 'right');
		}
		 
	} 
	});
	}
});
*/

// Print with/without images
window.addEvent("domready", function () {
	if($("printNoImages") != null){
		$("printNoImages").addEvents({"click":function () {
			$$("#popup img").each(function(el) { 
				if(el != $("printIcon")){
					if(el != $("printIcon2")){
						el.setStyle('display', 'none');
					}
				}			 
			});
			window.print();
		} 
		});
	}
	if($("printAllImages") != null){
		$("printAllImages").addEvents({"click":function () {
			$$("#popup img").each(function(el) { 
				if(el != $("printIcon")){
					if(el != $("printIcon2")){
						el.setStyle('display', 'inline-block');
					}
				}			 
			});
			window.print();
		} 
		});
	}
});

//here are our functions to change the styles
var showFunction = function() {
	$$('.hidden').setStyle('display', 'none'); 
	this.setStyle('display', 'block');
}
 
var hideFunction = function() {
	this.setStyle('display', 'none');
}

window.addEvent('domready', function() {
	if($("contentpdf") != null){
		$('contentpdf').addClass('hidden');
		$('contentxls').addClass('hidden');
		$('contentimages').addClass('hidden');
		$('contentgraphics').addClass('hidden');
		$('contentpdf').setStyle('display', 'block');
		$('pdf').addClass('current'); 
		
		// Hilfe-Absatz
		$$('#txt .xls-help').setStyle('display', 'none');
		$$('#txt .graphics-help').setStyle('display', 'none');
		$$('#txt .images-help').setStyle('display', 'none');
		
		// Anker deaktivieren
		$('pdf').set('href', 'javascript:void(0);');
		$('xls').set('href', 'javascript:void(0);');
		$('graphics').set('href', 'javascript:void(0);');
		$('images').set('href', 'javascript:void(0);');

		
		$('pdf').addEvent('click', showFunction.bind($('contentpdf')));
		$('xls').addEvent('click', showFunction.bind($('contentxls')));
		$('graphics').addEvent('click', showFunction.bind($('contentgraphics')));
		$('images').addEvent('click', showFunction.bind($('contentimages')));
		
	}
});
window.addEvent("domready", function () {
	if($("contentpdf") != null){
		
		$("pdf").addEvents({"click":function () {
			this.addClass('current'); 
			$('xls').removeClass('current'); 
			$('images').removeClass('current');
			$('graphics').removeClass('current');
			//$('graphics').setStyle('left', '-5px');

			$$('#txt .pdf-help').setStyle('display', 'block');
			$$('#txt .xls-help').setStyle('display', 'none');
			$$('#txt .graphics-help').setStyle('display', 'none');
			$$('#txt .images-help').setStyle('display', 'none');
			
		} 
		});
		$("xls").addEvents({"click":function () {
			this.addClass('current'); 
			$('pdf').removeClass('current'); 
			$('images').removeClass('current');
			$('graphics').removeClass('current');
			//$('graphics').setStyle('left', '-5px');
			$$('#txt .pdf-help').setStyle('display', 'none');
			$$('#txt .graphics-help').setStyle('display', 'none');
			$$('#txt .images-help').setStyle('display', 'none');
			$$('#txt .xls-help').setStyle('display', 'block');

			
		} 
		});
		$("images").addEvents({"click":function () {
			this.addClass('current'); 
			$('xls').removeClass('current'); 
			$('pdf').removeClass('current');
			$('graphics').removeClass('current');
			//$('graphics').setStyle('left', '-8px'); 
			$$('#txt .pdf-help').setStyle('display', 'none');
			$$('#txt .xls-help').setStyle('display', 'none');
			$$('#txt .graphics-help').setStyle('display', 'none');
			$$('#txt .images-help').setStyle('display', 'block');
		} 
		});
		$("graphics").addEvents({"click":function () {
			this.addClass('current'); 
			$('xls').removeClass('current'); 
			$('pdf').removeClass('current');
			$('images').removeClass('current');
			//$('graphics').setStyle('left', '-5px');
			$$('#txt .pdf-help').setStyle('display', 'none');
			$$('#txt .xls-help').setStyle('display', 'none');
			$$('#txt .images-help').setStyle('display', 'none');	
			$$('#txt .graphics-help').setStyle('display', 'block');
			
		} 
		});

	}


	// Search & Jump
	if($("search-de")){
		$("search-de").addEvents({
			"keydown":function () {
				hideJumpNavigation('de'); 
			} 
		});
		$("search-form").addEvents({
			"mouseover":function () {
				showJumpNavigation('de'); 
			},
			"mouseleave":function () {
				hideJumpNavigation('de'); 
			}
		});	
		$("searchjump-de").addEvents({
			"mouseover":function () {
				showJumpNavigation('de'); 
			}
		});	
		$("searchjump-de").addEvents({
			"mouseleave":function () {
				hideJumpNavigation('de');
			}
		});	
		
	}
	if($("search-en")){
		$("search-en").addEvents({
			"mouseover":function () {
				showJumpNavigation('en'); 
			},
			"keydown":function () {
				hideJumpNavigation('en'); 
			} 
		});
		$("search-form").addEvents({
			"mouseover":function () {
				showJumpNavigation('en'); 
			},
			"mouseleave":function () {
				hideJumpNavigation('en'); 
			}
		});	
		$("searchjump-en").addEvents({
			"mouseover":function () {
				showJumpNavigation('en'); 
			},
			"mouseleave":function () {
				hideJumpNavigation('en'); 
			}
		});	

	}
	
	var filename = GetFilename(document.URL);
	var relfix = '';
	//if('index' != filename){relfix = '../../';}else{relfix = '../';}
	
	// Hover-Effekte bei Schrift-Icons
	if($("fontMinus")){
		$("fontMinus").addEvents({
			"mouseover":function () {
				this.setProperty('src', relfix + 'files/images/page_service/layout_icon_minus_hover.png');
			},
			"mouseout":function () {
				this.setProperty('src', relfix + 'files/images/page_service/layout_icon_minus.png');
			} 
		});
	}
	if($("fontReset")){
		$("fontReset").addEvents({
			"mouseover":function () {
				this.setProperty('src', relfix + 'files/images/page_service/layout_icon_reset_hover.png');
			},
			"mouseout":function () {
				this.setProperty('src', relfix + 'files/images/page_service/layout_icon_reset.png');
			} 
		});
	}
	if($("fontPlus")){
		$("fontPlus").addEvents({
			"mouseover":function () {
				this.setProperty('src', relfix + 'files/images/page_service/layout_icon_plus_hover.png');
			},
			"mouseout":function () {
				this.setProperty('src', relfix + 'files/images/page_service/layout_icon_plus.png');
			} 
		});
	}
	
	// Enable javascript links
	if($("personal_report")){
		$("personal_report").setStyle('display', 'block');
	}
	if($("key_figures")){
		$("key_figures").setStyle('display', 'block');
	}
	if($("fontsizer_minus")){
		$("fontsizer_minus").setStyle('display', 'block');
	}
	if($("fontsizer_reset")){
		$("fontsizer_reset").setStyle('display', 'block');
	}
	if($("fontsizer_plus")){
		$("fontsizer_plus").setStyle('display', 'block');
	}
	if($("search-form")){
		$("search-form").setStyle('display', 'block');
	}
	if($("add_site")){
		$("add_site").setStyle('display', 'block');
	}
	if($("recommend_page")){
		$("recommend_page").setStyle('display', 'block');
	}

	Shadowbox.init();               
});

function GetFilename(url)
{
   if (url)
   {
      var m = url.toString().match(/.*\/(.+?)\./);
      if (m && m.length > 1)
      {
         return m[1];
      }
   }
   return "";
}
// Mainmenu und Teaser

window.addEvent("domready", function () {
	$$("#menulist_root li.mainlevel_active li").addEvents({
		"mouseover":function () {
			$$("#menulist_root li a.mainlevel_active").setStyle('border-bottom-color', '#e5e5e5');
		}
	});
	if($("teaser")){
		$("t1").addEvents({
			"mouseover":function () {
				$("mainmenu").setStyle('z-index', '1');
				$("i1").setStyle('display', 'block');
				$("i1").setStyle('z-index', '1000');
				
			},
			"mouseout":function () {
				$("i1").setStyle('display', 'none');
			} 
		});
	}

});

// Fontsizer
window.addEvent("domready", function () {
	if($("fontsizer")){
		$("fontsizer").setStyle('display', 'block');
	}
});
/** Zeilenumbruch bei langen Menütitel */
//item62
window.addEvent('domready', function() {
	if($$('html').get('lang') == 'de'){
		// Titel des linken Menüs
		if($("mainmenu")){
			if($('menulink_1').get('class') == 'mainlevel_active'){
				$('leftcol-title').setStyle('top', '175px');
			}
			if($('menulink_2').get('class') == 'mainlevel_active'){
				$('leftcol-title').setStyle('top', '175px');
			}
		}
		// Ende
		
		if($("menulink_3_2")){
			$('menulink_3_2').set('text', 'Gesamtergebnis-\nrechnung');
		}
		if($("menulink_3_5")){
			$('menulink_3_5').set('text', 'Eigenkapital-\nveränderungsrechnung');
		}
		if($('leftcol')){
			if($('leftcol').getElement('#active_menu .link_text')){
				if($('leftcol').getElement('#active_menu .link_text').get('text').search(/Eigenkapital/i) > -1){
					$('leftcol').getElement('#active_menu .link_text').set('text', 'Eigenkapital-\nveränderungsrechnung');
				}
			}
			if($('leftcol').getElement('#active_menu .link_text')){
				if($('leftcol').getElement('#active_menu .link_text').get('text').search(/16 Segmentberichterstattung/i) > -1){
					$('leftcol').getElement('#active_menu .link_text').set('text', '16 Segmentbericht-\nerstattung');
				}
			}		
			if($('leftcol').getElement('#active_menu .link_text')){
				if($('leftcol').getElement('#active_menu .link_text').get('text').search(/19 Eventualverbindlichkeiten/i) > -1){
					//$('leftcol').getElement('#active_menu .link_text').set('text', '19 Eventual-\nverbindlichkeiten');
				}
			}
		}			
		// if($("menulink_3_6")){
			// $('menulink_3_6').set('text', 'Segmentbericht-\nerstattung');
		// }
		// Fix for Mac
		if(Browser.Platform.mac){
			if($("menulink_2_4")){
				$('menulink_2_4').set('text', 'Unternehmens-\nbereiche');
			}
			if($("menulink_3_4")){
				$('menulink_3_4').set('text', 'Kapitalfluss-\nrechnung');
			}
			if($("menulink_3_5")){
				$('menulink_3_5').set('text', 'Eigenkapital-\nveränderungs-\nrechnung');
			}
		}
	}
	if($$('html').get('lang') == 'en'){
		// Titel des linken Menüs
		if($("mainmenu")){
			if($('menulink_1').get('class') == 'mainlevel_active'){
				$('leftcol-title').setStyle('top', '175px');
			}
		}
		// Ende
	}
});

// Highligh footer
window.addEvent("domready", function () {
	if($('txt')){
		$('txt').getElements('table sup').each(function(el){
			el.getParent('tr').addEvents({
				"mouseover":function () {
					var text_table = String.split(el.get('text'), ')');
					el2 = el.getParent('table').getNext('table');
					/*el2.getElements('td.number').each(function(el3){
						text_table.each(function(foo){
							
							if(foo.trim() > 0){
								if(el3.get('text').test(foo.trim())){
									el3.setStyle('color', '#FF0000');
								}
							}
						});
					});*/
					el2.getElements('tr').each(function(el3){
						var el5 = el3.getElement('td');
						text_table.each(function(foo){
							if(foo.trim() > 0){
								if(el5.get('text').test(foo.trim())){
									//el5.setStyle('color', '#FF0000');
									el5.setStyle('background', '#ffeeae');
									el5.setStyle('font-size', '1.0em');
									
									
									//el5.getNext('td').setStyle('color', '#FF0000');
									el5.getNext('td').setStyle('background', '#ffeeae');
									el5.getNext('td').setStyle('font-size', '1.0em');
									//alert(el5.getNext('td').getStyle('font-size'));
								}
							}
						});
					});
					
				}
				,
				"mouseout":function () {
					$$('.footer tr td').setStyle('color', '#666');
					$$('.footer tr td').setStyle('background', 'none');
					$$('.footer tr td').setStyle('font-size', '0.9em');
				} 
			});
		});
	}
});
// 2010-0728 Download-Center

window.addEvent("domready", function () {
	updateMain();
});
function updateMain(){
		if($('tabs')){
		$$('.check').each(function(el){
			if(el.getNext('input').checked == 0){
				el.setStyle('display', 'block');
			}else{
				el.setStyle('display', 'none');
			}
			el.getElement('a').addEvents({
				"click":function () {
					//var checkbox = el.getParent('td').getElement('input');
					var checkbox = el.getNext('input');
					checkbox.checked = 1;
					el.setStyle('display', 'none');
					//el.getParent('td').getElement('.uncheck').setStyle('display', 'block');
					el.getNext('.uncheck').setStyle('display', 'block');
					
					updateCart();
					updateOverview();
					
				}
			});
		});
		$$('.uncheck').each(function(el){
			if(el.getNext('input').checked == 1){
				el.setStyle('display', 'block');
			}else{
				el.setStyle('display', 'none');
			}
			el.getElement('a').addEvents({
				"click":function () {
					//var checkbox = el.getParent('td').getElement('input');
					var checkbox = el.getNext('input');
					checkbox.checked = 0;
					el.setStyle('display', 'none');
					//el.getParent('td').getElement('.check').setStyle('display', 'block');
					el.getPrevious('.check').setStyle('display', 'block');
					
					
					updateCart();
					updateOverview();
				}
			});
		});		
		$$('input.checkbox').each(function(el){
			el.setStyle('display', 'none');
			el.setStyle('visibility', 'hidden');
		});	
		$('download-cart').getElement('table').setStyle('display', 'block');
		
		updateOverview();

	}
}

var num_files = 0;
var num_files_size = 0;

// ZIP-Sammlung	
if($$('html').get('lang') == 'de'){
	var cart_file = 'Datei';
	var cart_files = 'Dateien';
	var removeFile = 'aus Zip-Archiv entfernen';
	var addFile = 'zu Zip-Archiv hinzufügen';
	var createZip = 'Zip-Archiv erstellen';
	var zipHeadline = 'Zip-Archiv';
	var back = 'Zurück zu Downloads';
}else{
	var cart_file = 'File';
	var cart_files = 'Files';
	var removeFile = 'remove from ZIP archive';
	var addFile = 'Add to Zip';
	var createZip = 'Create ZIP archive';
	var back = 'Back to Downloads';
	var zipHeadline = 'Zip';
}

function updateCart(){
	var foo = 0;
	var foo_num_files_size = 0;

	$$('.checkbox').each(function(el){
		if(el.checked == 1){
			foo++;
			if(el.get('value').search(/.tif/i) != -1){
				foo_num_files_size = Number(foo_num_files_size) + Number(el.getParent('td').getPrevious('.size').getElement('p.r2 span').get('text'));
			}else{
				foo_num_files_size = Number(foo_num_files_size) + Number(el.getParent('td').getPrevious('.size').getElement('span').get('text'));
			}					
			
		}
		$('num_files').set('text', foo);
		if(foo == 1){
			$('num_files_title').set('text', cart_file);
		}else{
			$('num_files_title').set('text', cart_files);
		}
		$('num_files_size').set('text', foo_num_files_size);

	});	
}

var ScrollSidebar = new Class({
	
	Implements: [Options],
	
	options: {
		offsets: { x:0, y:0 },
		mode: 'vertical',
		positionVertical: 'top',
		positionHorizontal: 'right',
		speed: 400
	},
	
	initialize: function(menu,options) {
		// initial options 
		this.setOptions(options);
		this.menu = $(menu);
		this.move = this.options.mode == 'vertical' ? 'y' : 'x';
		this.property = this.move == 'y' ? 'positionVertical' : 'positionHorizontal';
		// ensure a few things 
		var css = { position: 'absolute', display:'block' };
		
		css[this.options.positionVertical] = this.options.offsets.y;
		css[this.options.positionHorizontal] = this.options.offsets.x;
		
		this.menu.setStyles(css).set('tween',{ duration: this.options.speed });
		
		$('download-cart').setStyle('top', "570px");
		$('download-cart').setStyle('left', (findPosX($('txt')) + 0) + "px");
		
		// start listening 
		this.startListeners();
	},
	
	startListeners: function() {
		var action = function() {
			this.setPosition($(document.body).getScroll()[this.move] + this.options.offsets[this.move]);
		}.bind(this);
		window.addEvent('scroll',action);
		window.addEvent('load',action);
	},
	
	setPosition: function(move) {
		if(move > 570){
			this.menu.tween(this.options[this.property],move);
		}
		return this;
	}
});


window.addEvent('domready',function() {
	if($('tabs')){
		$('download-cart').set('opacity',0.8); //opacity effect for fun
		var sidebar = new ScrollSidebar('download-cart',{
			offsets: {
				x: 20,
				y: 20
			}
		});
	}
});


function updateOverview(){
	$('sammlung').set('html', '');
	var headline =  new Element ( 'h3', {'html' : zipHeadline} );
	headline.injectInside($('sammlung'));
	
	var table =  new Element ( 'table');
	var tbody = new Element('tbody');
    tbody.inject(table);
	
	if($('tabs')){
		$$('.checkbox').each(function(el){
			if(el.checked == 1){
				var tr = new Element ( 'tr'); 
				tr.injectInside(tbody);
				
				var td = new Element ( 'td', { 'style' : 'width: 300px', 'html' :  el.getParent('td').getPrevious('td.subitem').getElement('img').get('title') }); 
				td.injectInside(tr);
				
				if(el.get('value').search(/.tif/i) != -1 || el.get('value').search(/.png/i) != -1){
					if(el.get('value').search(/.tif/i) != -1){
						td = new Element ( 'td', { 'html' :  el.getParent('td').getPrevious('td.size').getElement('p.r2').get('html') }); 
					}
					if(el.get('value').search(/.png/i) != -1){
						td = new Element ( 'td', { 'html' :  el.getParent('td').getPrevious('td.size').getElement('p.r1').get('html') }); 
					}
				}
				else{
					td = new Element ( 'td', { 'html' :  el.getParent('td').getPrevious('td.size').get('html') }); 
					
				}
				td.injectInside(tr);
				
				var span = new Element('span', {'class' : 'removeFile', 'html' : '&nbsp;'});
				
				var link = new Element ('a', {'href' : 'javascript:void(0);', 'text' : removeFile});
				link.addEvents({
					"click":function () {
						el.checked = 0;
						updateOverview();
						updateMain();
						updateCart();

						
					}
				});
				td = new Element ( 'td'); 
				span.injectInside(td);
				link.injectInside(td);
				td.injectInside(tr);
			}
		});	
	
		table.injectInside($('sammlung'));
		
		var submenu = new Element('div');
		var link_createZip = new Element ('a', {'href' : 'javascript: submitZipform()', 'text' : createZip});
		var link_back = new Element ('a', { 'class' : 'link_back', 'href' : 'javascript:void(0);', 'text' : back});
		link_back.addEvents({
			"click":function () {
				$('sammlung').setStyle('display', 'none');
				$('m').setStyle('display', 'block');
			}
		});
		var span_download = new Element('span', {'class' : 'span_download', 'html' : '&nbsp;'});
		var span_arrow = new Element('span', {'class' : 'span_arrow', 'html' : '&nbsp;'});
		var span_spacer = new Element('span', {'html' : '&nbsp;&nbsp;'});
		
		span_download.injectInside(submenu);
		link_createZip.injectInside(submenu);
		span_spacer.injectInside(submenu);
		span_arrow.injectInside(submenu);
		link_back.injectInside(submenu);
		submenu.injectInside($('sammlung'));
		
		$('sammlung_anzeigen').addEvents({
			"click":function () {
				$('m').setStyle('display', 'none');
				$('sammlung').setStyle('display', 'block');
			}
		});
	}
}


function submitZipform()
{
 document.forms["zipform"].submit(); 

}


