try {

    var pageTracker = _gat._getTracker("UA-7973063-1");

    pageTracker._trackPageview();

} catch (err) {
}


var togglerClosedBG; //= '#CBC7B9'
var sidebarAccordionOpenItemIndex = 0;
var headerHeight = 110;
var footerHeight = 32;
var contentPaddingBottom = 40;
var rootPageID = 201;
//var pageUID;

window.addEvent('domready', function() {

    setLogoLink();
    
    if (togglerClosedBG == null) togglerClosedBG = '#CBC7B9';

    var myAccordion = new Accordion($('sideAccordion'), 'h3.accordionToggler', 'div.accordionElement', {
        start: 'out',
        alwaysHide: true,
        opacity: false,

        onComplete: function() {
            //this.display.delay(2500, this, (this.previous + 1) % this.togglers.length); //TEASER
            for (var i = 0; i < this.togglers.length; i++) {
                var el = $(this.togglers[i]);
                var contEl = $(this.elements[i]);
                if (contEl.offsetHeight == 0) {
                    el.setStyle('background-color', togglerClosedBG);
                    el.addClass('togglerClosed');
                }
            }

        },
        onActive: function(toggler, element) {
            toggler.setStyle('background-color', '#E4E2DB');
            toggler.removeClass('togglerClosed');

        },
        onBackground: function(toggler, element) {
            //toggler.setStyle('background-color', '#CBC7B9');
            //toggler.addClass('togglerClosed');
        }

    });

    var sideAccDiv = document.getElementById('sideAccordion');
    sideAccDiv.style.visibility = 'visible';
    ///////ERSTES ELEMENT beim start ausgeklappt (ohne slide animation)
    if (myAccordion.elements.length > 0) {
        var openItemEl = getElementsByClassName('openSidebarItem', null);
        if (openItemEl.length > 0) {
            var newIndex = openItemEl[0].innerHTML;
            if (newIndex != "") {
                sidebarAccordionOpenItemIndex = newIndex;
            }
        }

        var firstEl = myAccordion.elements[sidebarAccordionOpenItemIndex];
        if (!firstEl) {
            sidebarAccordionOpenItemIndex = 0;
            firstEl = myAccordion.elements[sidebarAccordionOpenItemIndex];
        }

        if (firstEl) {

            firstEl.setStyle('visibility', 'visible');
            firstEl.setStyle('height', 'auto');
            firstEl.setStyle('height', firstEl.offsetHeight + 'px');

            var firstToggler = myAccordion.togglers[sidebarAccordionOpenItemIndex];
            firstToggler.setStyle('background-color', '#E4E2DB');
            firstToggler.removeClass('togglerClosed');
            myAccordion.previous = sidebarAccordionOpenItemIndex;
            //myAccordion.display(0);
        }
    }

    BrowserDetect.init();
    setContentHeight();

    //alert(BrowserDetect.browser);
});

function setContentHeight() {
    //alert("setContentHeight");        
    
    var main = document.getElementById('main');
    var contentContainer = document.getElementById('contentContainer');
    var content = document.getElementById('content');
   
    var pos = findPos(content);

    var newHeight = main.offsetHeight - pos[1] - footerHeight - contentPaddingBottom;
    //alert("newHeight: " + newHeight + " content.offsetHeight: " + content.offsetHeight + " main.offsetHeight: " + main.offsetHeight);

    if ((content.offsetHeight - contentPaddingBottom) <= (newHeight + 1)) {
       // alert("kleiner: " + content.offsetHeight);
        content.style.height = newHeight + 'px';
    } else {
    //alert("footerOverflow");
    //return;
        var footer = document.getElementById('footer');
        
        if (BrowserDetect.browser == "Explorer" && BrowserDetect.version == 8) {
            footer.className = 'footerOverflow footerOverflowIE8';
        } else {
            footer.className = 'footerOverflow';
        }
        //alert(BrowserDetect.browser + " " + BrowserDetect.version);
        //alert(main.offsetHeight + " " + contentContainer.offsetHeight);

        if (contentContainer != undefined) {        
            if (BrowserDetect.browser == "Explorer" && BrowserDetect.version == 6) {

            } else {
            //alert(main.offsetHeight + " " + (document.documentElement.clientHeight - footerHeight));

            if (main.offsetHeight > (contentContainer.offsetHeight + headerHeight)) {
                    main.className = 'mainContainerBug';

                    //var _pos = findPos(content);
                    //alert((document.documentElement.clientHeight - footerHeight - _pos[1] - contentPaddingBottom));
                    //content.style.height = document.documentElement.clientHeight - footerHeight - _pos[1] - contentPaddingBottom + 'px';

                    //alert("mere");
                    //main.style.height = document.documentElement.clientHeight - 32 + 'px';

                    //alert(contentContainer.offsetHeight + "  " +  headerHeight);
                    main.style.height = contentContainer.offsetHeight + headerHeight + 'px';
                    //main.style.overflow = 'hidden';
                }
            }
        }
    }

}

function setBoxHeight(classname) {
    var coElements = getElementsByClassName(classname, null);
    var maxHeight = 0;
    for (var i = 0; i < coElements.length; i++) {
        if (coElements[i].offsetHeight > maxHeight) maxHeight = coElements[i].offsetHeight;
        //alert(coElements[i].offsetHeight);
    }
    for (var i = 0; i < coElements.length; i++) {
        coElements[i].style.height = maxHeight + 'px';
    }
}

function buildTopNavi() {
    var container = document.getElementById('topNavi');

    var lang = getLang();

    if (lang == 0) {
        container.innerHTML = "<ul>" +
							"<li><a id='langLinkTopNavi' onmouseover='overChangeLang();' class='sprache topNaviInActive'>Sprache</a></li>" +
							"<li><a id='kontaktLinkTopNavi' href='de/kontakt.html' class='topNavi_borderLeft topNaviInActive'>Kontakt</a></li>" +
							"<li><a id='impressumLinkTopNavi' href='de/impressum.html' class='topNavi_borderLeft topNaviInActive'>Impressum</a></li>" +
							"<li><a onclick='gpsPrint();' class='topNavi_borderLeft drucken topNaviInActive'>Drucken</a></li>" +
						    "</ul>";
    } else if (lang == 1) {
        container.innerHTML = "<ul>" +
							"<li><a id='langLinkTopNavi' onmouseover='overChangeLang();' class='language topNaviInActive'>Languages</a></li>" +
							"<li><a id='kontaktLinkTopNavi' href='en/contact.html' class='topNavi_borderLeft topNaviInActive'>Contact GP+S</a></li>" +
							"<li><a id='impressumLinkTopNavi' href='en/impressum.html' class='topNavi_borderLeft topNaviInActive'>Legal Notice</a></li>" +
							"<li><a onclick='gpsPrint();' class='topNavi_borderLeft print topNaviInActive'>Print</a></li>" +
						    "</ul>";
    }
    
    //container.innerHTML = 'phipo' + getLang();
}

function setLogoLink() {
    if (getLang() == 1) {
        var logoLink = document.getElementById('logoLink');
        logoLink.href = "en.html";
    }
}

function getLang() {

    var params = document.URL;
    var indDe = params.indexOf("/de/");
    var indEn = params.indexOf("/en/");
    if (indDe != -1) return 0;
    if (indEn != -1) return 1;

    if (indDe == -1 && indEn == -1) {
        var htmlDe = params.indexOf("de.html");
        var htmlEn = params.indexOf("en.html");
        if (htmlDe == -1 && htmlEn == -1) {
            return 0;
        }
        if (htmlDe != -1) {
            return 0;
        }
        if (htmlEn != -1) {
            return 1;
        }
    }    
    return 0;    
}

function overChangeLang() {
    var langLinkTopNavi = document.getElementById('langLinkTopNavi');
    var lang = getLang();    
     
    var langSelectContainer = document.getElementById('langSelectContainer');
    var topNaviContainer = document.getElementById('topNavi');
    var pos = findPos(topNaviContainer);
   

    var langURL = getLangURL();
    if (lang == 0) {
        langLinkTopNavi.className = 'sprache topNaviActive';
        langSelectContainer.innerHTML = "<a href='" + langURL + "' onmouseover='overLangLink(this);' class='langLink langLinkDE'>English</a>";
    } else if (lang == 1) {
        langLinkTopNavi.className = 'language topNaviActive';
        langSelectContainer.innerHTML = "<a href='" + langURL + "' onmouseover='overLangLink(this);' class='langLink langLinkEN'>Deutsch</a>";
    }
    
    langSelectContainer.style.left = pos[0] + 'px';
    langSelectContainer.style.visibility = 'visible';
}

function getLangURL() {   
    
    var enURLdiv = document.getElementById('langen');
    var deURLdiv = document.getElementById('langde');

    for (var j = 0; j < enURLdiv.childNodes.length; j++) {
        var el = enURLdiv.childNodes[j];
        if (el.tagName.toLowerCase() == "a") {
            var enHref = el.href;
        }
    }

    for (var j = 0; j < deURLdiv.childNodes.length; j++) {
        var el = deURLdiv.childNodes[j];
        if (el.tagName.toLowerCase() == "a") {
            var deHref = el.href;
        }
    }

    //var pageUID = parseInt(document.getElementById('pageUID').innerHTML);            
        
    var params = document.URL;
    var indDe = params.indexOf("/de/");
    var indEn = params.indexOf("/en/");

    if (indDe == -1 && indEn == -1) {
        var htmlDe = params.indexOf("de.html");
        var htmlEn = params.indexOf("en.html");
        if (htmlDe == -1 && htmlEn == -1) {
            return "en.html";
        }
        if (htmlDe != -1) {
            return "en.html";
        }
        if (htmlEn != -1) {
            return "";
        }
    }
    
    if (indDe != -1) {        
        return enHref;
    }
    if (indEn != -1) {
        return deHref;
    }
    
/*
    var params = document.URL;
    var indDe = params.indexOf("/de/");
    var indEn = params.indexOf("/en/");
        
    if (indDe != -1) {
        return params.substring(0, indDe) + "/en/" + params.substring((indDe + 4), params.length);
    }
    if (indEn != -1) {
        return params.substring(0, indEn) + "/de/" + params.substring((indEn + 4), params.length);
    }
*/    
}

function overLangLink(obj) {
    var langSelectContainer = document.getElementById('langSelectContainer');
    langSelectContainer.style.visibility = 'visible';    
}

function outChangeLang() {

    var langLinkTopNavi = document.getElementById('langLinkTopNavi');
    var lang = getLang();
    if (lang == 0) {
        langLinkTopNavi.className = 'sprache topNaviInActive';     
    } else if (lang == 1) {
        langLinkTopNavi.className = 'language topNaviInActive';        
    }    
    
    var langSelectContainer = document.getElementById('langSelectContainer');
    langSelectContainer.style.visibility = 'hidden';
}

function getElementsByClassName(classname, node) {
    if (!node) node = document.getElementsByTagName("body")[0];
    var a = [];
    var re = new RegExp('\\b' + classname + '\\b');
    var els = node.getElementsByTagName("*");
    for (var i = 0, j = els.length; i < j; i++)
        if (re.test(els[i].className)) a.push(els[i]);
    return a;
}

function findPos(obj) {

    var curleft = curtop = 0;
    if (obj.offsetParent) {
        curleft = obj.offsetLeft
        curtop = obj.offsetTop
        while (obj = obj.offsetParent) {
            curleft += obj.offsetLeft
            curtop += obj.offsetTop
        }
    }
    return [curleft, curtop];
}

function refenzenBackClick(obj) {
    var backBtnLink = document.getElementById('backBtnLink');
    
    var refEl = document.getElementById('openRefElement').innerHTML;
    window.location = backBtnLink.href + "?ref=" + refEl;
    //alert(obj.href);
}


function gpsPrint() {
    window.print();
    return false;
}

var BrowserDetect = {
    init: function() {
        this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
        this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
        this.OS = this.searchString(this.dataOS) || "an unknown OS";
    },
    searchString: function(data) {
        for (var i = 0; i < data.length; i++) {
            var dataString = data[i].string;
            var dataProp = data[i].prop;
            this.versionSearchString = data[i].versionSearch || data[i].identity;
            if (dataString) {
                if (dataString.indexOf(data[i].subString) != -1)
                    return data[i].identity;
            }
            else if (dataProp)
                return data[i].identity;
        }
    },
    searchVersion: function(dataString) {
        var index = dataString.indexOf(this.versionSearchString);
        if (index == -1) return;
        return parseFloat(dataString.substring(index + this.versionSearchString.length + 1));
    },
    dataBrowser: [
		{
		    string: navigator.userAgent,
		    subString: "Chrome",
		    identity: "Chrome"
		},
		{ string: navigator.userAgent,
		    subString: "OmniWeb",
		    versionSearch: "OmniWeb/",
		    identity: "OmniWeb"
		},
		{
		    string: navigator.vendor,
		    subString: "Apple",
		    identity: "Safari",
		    versionSearch: "Version"
		},
		{
		    prop: window.opera,
		    identity: "Opera"
		},
		{
		    string: navigator.vendor,
		    subString: "iCab",
		    identity: "iCab"
		},
		{
		    string: navigator.vendor,
		    subString: "KDE",
		    identity: "Konqueror"
		},
		{
		    string: navigator.userAgent,
		    subString: "Firefox",
		    identity: "Firefox"
		},
		{
		    string: navigator.vendor,
		    subString: "Camino",
		    identity: "Camino"
		},
		{		// for newer Netscapes (6+)
		    string: navigator.userAgent,
		    subString: "Netscape",
		    identity: "Netscape"
		},
		{
		    string: navigator.userAgent,
		    subString: "MSIE",
		    identity: "Explorer",
		    versionSearch: "MSIE"
		},
		{
		    string: navigator.userAgent,
		    subString: "Gecko",
		    identity: "Mozilla",
		    versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
		    string: navigator.userAgent,
		    subString: "Mozilla",
		    identity: "Netscape",
		    versionSearch: "Mozilla"
		}
	],
    dataOS: [
		{
		    string: navigator.platform,
		    subString: "Win",
		    identity: "Windows"
		},
		{
		    string: navigator.platform,
		    subString: "Mac",
		    identity: "Mac"
		},
		{
		    string: navigator.userAgent,
		    subString: "iPhone",
		    identity: "iPhone/iPod"
		},
		{
		    string: navigator.platform,
		    subString: "Linux",
		    identity: "Linux"
		}
	]

};
