var spacerTop = 134;
var menuOffset = 30;
var indexPage = false;
var mouse = {};
window.onresize = resizeContent;
if (!document.all)
{
    document.onmousemove=mpos;
}

/*
function initBanner()
{
    switchBanner(true);
    setInterval("switchBanner()",30000);

}*/

function ajustAll()
{
    resizeContent();
    adjustCenterFold();
}


function adjustCenterFold()
{
    var centerFold = document.getElementById('centerFold');
    var contentArea = document.getElementById('contentArea');
    if (!contentArea)
    {
        contentArea = document.getElementById('contentAreastartpage');
    }
    centerFold.style.marginTop = ((contentArea.offsetHeight - centerFold.offsetHeight) /2)+'px';
    centerFold.style.marginLeft = ((contentArea.offsetWidth - centerFold.offsetWidth - 50) /2)+'px';
    centerFold.style.visibility="visible";

}


function resizeContent()
{
    var contentArea = document.getElementById('contentArea');
    if (!contentArea)
    {
        contentArea = document.getElementById('contentAreastartpage');
    }
    contentArea.style.height= (getWindowHeight()-159)+'px';
    if (indexPage)
    {
        adjustCenterFold();
    }
}

function extendBreadCrump(title,url)
{
    //url = url.replace(/&amp;/g,'&');
    var separator = document.createTextNode(' > ');
    var link = document.createElement('a');
    link.href = url;
    var linkText = document.createTextNode(title);
    link.appendChild(linkText);
    document.getElementById('breadCrump').appendChild(separator);
    document.getElementById('breadCrump').appendChild(link);

}




function toggleSubMenu(item)
{
    for (var i =0; i<= submenus;i++)
    {
        if (document.getElementById('subMenu_'+i))
        {
            if (item == 'subMenu_'+i)
            {
                var submenu = document.getElementById('subMenu_'+i);
                if (submenu.offsetHeight + (menuOffset*i) + spacerTop  > getWindowHeight())
                {
                    submenu.style.top = (menuOffset*i + spacerTop + menuOffset + 3 - submenu.offsetHeight) + 'px';
                }
                else
                {
                    submenu.style.top = (menuOffset*i + spacerTop) + 'px';
                }
                submenu.style.visibility = 'visible';
            }
            else
            {
                document.getElementById('subMenu_'+i).style.visibility = 'hidden';
                document.getElementById('subMenu_'+i).style.top = 0;
            }
        }
    }
}

function toggleImage(dir)
{
    switch (dir)
    {
        case 'init':
            currentImg = 0;
            break;
        case 'fw':
            if (currentImg < imgs.length - 1)
            {
                currentImg++;
            }
            break;
        case 'bw':
            if (currentImg > 0)
            {
                currentImg--;
            }
            break;

    }
    var newCaption = document.createTextNode(imgs[currentImg].title);
    var newNavCount = document.createTextNode('Slide '+(currentImg+1)+'/'+imgs.length);
    var captarea = document.getElementById('captarea');
    var imgarea = document.getElementById('imgarea');
    if (dir == 'init')
    {
        captarea.appendChild(newCaption);
        imgarea.appendChild(imgs[currentImg]);
    }
    else
    {
        captarea.replaceChild(newCaption,captarea.firstChild);
        imgarea.replaceChild(imgs[currentImg],imgarea.firstChild);
    }
    if (document.getElementById('navCount'))
    {
        var navCount = document.getElementById('navCount');
        if (dir == 'init')
        {
            navCount.appendChild(newNavCount);
        }
        else
        {
            navCount.replaceChild(newNavCount,navCount.firstChild);
        }
        document.getElementById('bw').src = currentImg == 0?bw_gray.src:bw.src;
        document.getElementById('bw').style.cursor = currentImg == 0?'default':'pointer';
        document.getElementById('fw').src = currentImg == imgs.length - 1?fw_gray.src:fw.src;
        document.getElementById('fw').style.cursor = currentImg == imgs.length - 1?'default':'pointer';
    }
}

function externalLinks()
{
    if (!document.getElementsByTagName)
    {
        return;
    }
    var anchors = document.getElementsByTagName("a");
    for (var i=0; i<anchors.length; i++)
    {
        var anchor = anchors[i];
        if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external")
        {
            anchor.target = "_blank";
        }
    }
}

function getWindowHeight()
{
    if (window.innerHeight)
    {
        return window.innerHeight;
    }
    else if (document.documentElement && document.documentElement.clientHeight)
    {
        return document.documentElement.clientHeight;
    }
    else return 0;
}

function getWindowWidth()
{
    if (window.innerWidth)
    {
        return window.innerWidth;
    }
    else if (document.documentElement && document.documentElement.clientWidth)
    {
        return document.documentElement.clientWidth;
    }
    else return 0;
}

function reAdjust()
{
    var contentArea = document.getElementById("contentArea");
    if (!contentArea)
    {
        contentArea = document.getElementById("contentAreastartpage");
    }
    var lastLine = document.getElementById("lastLine");
    lastLine.style.visibility = "hidden";
    if(document.all && navigator.userAgent.indexOf('Opera') == -1)
    {
        lastLine.style.position = "absolute";
    }
    else
    {
        lastLine.style.position = "fixed";
    }
    var addValue = (navigator.userAgent.indexOf('Opera') == -1?24:40);
    lastLine.style.top = (getWindowHeight()-(lastLine.offsetHeight+addValue))+"px";
    lastLine.style.visibility = "visible";
}

function openWindow(url,width,height)
{
    window.open(url,"_blank","width="+width+",height="+height);
}

function toggleTree(node)
{
    var icon = document.getElementById('icon_'+node);
    var treeNode = document.getElementById('node_'+node);
    var plusminus = document.getElementById('plusminus_'+node);
    treeNode.style.display = (treeNode.style.display == 'inline'?'none':'inline');
    icon.src = (icon.src == fd_closed.src?fd_open.src:fd_closed.src);
    icon.alt = (icon.src == fd_closed.src?'Ordner öffnen':'Ordner schließen');
    icon.title = (icon.src == fd_closed.src?'Ordner öffnen':'Ordner schließen');
    plusminus.src = (plusminus.src == plus.src?minus.src:plus.src);
    plusminus.alt = (plusminus.src == plus.src?'Ordner öffnen':'Ordner schließen');
    plusminus.title = (plusminus.src == plus.src?'Ordner öffnen':'Ordner schließen');
}

function displayToolTip(term)
{
    getMousePos();
    var newDiv = document.createElement('div');
    newDiv.className='tooltip';

    newDiv.style.left = (7 + mouse.x) +'px';
    newDiv.style.top = (15 + mouse.y) + 'px';
    newDiv.style.visibility = 'hidden';
    newDiv.id = 'tooltip';
    titleDiv = document.createElement('div');
    titleDiv.className='tooltiptitle';
    var newText = document.createTextNode(tooltips[term].title);
    titleDiv.appendChild(newText);
    newDiv.appendChild(titleDiv);
    descrDiv = document.createElement('div');
    descrDiv.className = 'tooltipdescr';
    var newText = document.createTextNode(tooltips[term].descr);
    descrDiv.appendChild(newText);
    newDiv.appendChild(descrDiv);
    document.body.appendChild(newDiv);
    var theTip = document.getElementById('tooltip');
    if (parseInt(theTip.style.top) + theTip.offsetHeight > getWindowHeight())
    {
        theTip.style.top = (mouse.y - 15 - theTip.offsetHeight) +'px';
    }

    if (parseInt(theTip.style.left) + theTip.offsetWidth > getWindowWidth())
    {
        theTip.style.left = (mouse.x - 7 - theTip.offsetWidth) +'px';
    }
    theTip.style.visibility = 'visible';
}

function hideToolTip(term)
{
    if (document.getElementById('tooltip'))
    {
        document.body.removeChild(document.getElementById('tooltip'));
    }
}

function getMousePos()
{
    if (document.all)
    {
        mouse.x = window.event.clientX;
        mouse.y = window.event.clientY;
    }
    else
    {
        document.onmousemove=mpos;
    }
}

function mpos(ev)
{
    mouse.x = ev.pageX;
    mouse.y = ev.pageY;
}
function toggleColtProjects()
{
    showAll = !showAll
    var toggler= document.getElementById('coltProjectToggler');
    toggler.src = (showAll?main_projects.src:all_projects.src);
    toggler.title = (showAll?'Nur Hauptprojekte anzeigen':'Alle Projekte anzeigen');
    toggler.alt = (showAll?'Nur Hauptprojekte anzeigen':'Alle Projekte anzeigen');
    var coltProjectList = document.getElementById('colt_projects');
    var newTable = document.createElement('table');
    newTable.cellPadding = 0;
    newTable.cellSpacing = 0;
    newTable.className = 'contentarea';
    newTable.id = 'colt_projects';
    yearLast = 0;
    for (var i in coltProjectEntries)
    {
        if (showAll || coltProjectEntries[i].type == 'main')
        {
            var year = coltProjectEntries[i].startdate.split('/')[0];
            if (year > yearLast)
            {
                var newRow = newTable.insertRow(newTable.rows.length);
                var newCell = newRow.insertCell(newRow.cells.length);
                newCell.className = 'headline';
                newCell.colSpan = 2;
                var newText = document.createTextNode('Projekte im Jahr  '+year);
                newCell.appendChild(newText);

            }
            var newRow = newTable.insertRow(newTable.rows.length);
            var newCell = newRow.insertCell(newRow.cells.length)
            newCell.className = "cvLeft";
            var startDate = coltProjectEntries[i].startdate.split('/')[1]+'/'+ coltProjectEntries[i].startdate.split('/')[0]
            if (coltProjectEntries[i].enddate != '' &&  coltProjectEntries[i].enddate > coltProjectEntries[i].startdate)
            {
                var endDate = coltProjectEntries[i].enddate.split('/')[1]+'/'+ coltProjectEntries[i].enddate.split('/')[0]
                var dateString = startDate + ' - ' + endDate;
            }
            else
            {
                var dateString = startDate;
            }
            var newText = document.createTextNode(dateString);
            newCell.appendChild(newText);
            var newCell = newRow.insertCell(newRow.cells.length);
            newCell.className = (coltProjectEntries[i].type == 'main'?'mainProject':'sideProject');
            if (coltProjectEntries[i].url != '')
            {
                var newLink = document.createElement('a');
                newLink.href = coltProjectEntries[i].url;
                var newText = document.createTextNode(coltProjectEntries[i].title)
                newLink.appendChild(newText);
                newCell.appendChild(newLink);
            }
            else
            {
                var newText = document.createTextNode(coltProjectEntries[i].title);
                newCell.appendChild(newText);
            }
            yearLast = year;

        }
    }
    document.getElementById('contentDiv').replaceChild(newTable,coltProjectList);
    document.cookie = "showAll=" + showAll;
}

function openPrintChoice()
{
    var winWidth = 250;
    var winHeight = 150;
    var winLeft = (screen.availWidth - winWidth) / 2;
    var winTop  = (screen.availHeight - winHeight) / 2;
    window.open("print_choice.php","printChoice","width="+winWidth+",height=" +winHeight+",left="+winLeft+",top="+winTop+";");
}

function printActPage()
{
    opener.print();
    self.close();
}

function printAllPages()
{
    window.location.replace("print_all.php");
}

function switchBanner(rnd)
{
    if (rnd) {
        if (document.cookie) {
            cookies = new Array();
            cookieArr = document.cookie.split('; ');
            for (var i in cookieArr) {
                tmp =  cookieArr[i].split('=');
                cookies[tmp[0]] = tmp[1];
            }
        }
        if (bannerItems.length == 1) {
            bannerStart = 0;
        } else if (typeof cookies != 'undefined' && cookies.banner) {
            bannerStart = cookies.banner;
            while (bannerStart == cookies.banner) {
                bannerStart = Math.floor(Math.random() * bannerItems.length);
            }
        } else {
            bannerStart = Math.floor(Math.random() * bannerItems.length);
        }
    }
    var banner = document.getElementById('banner');
    var newLink = document.createElement('a');
    newLink.target = '_blank';
    newLink.href = bannerItems[bannerStart].url;
    newLink.title = bannerItems[bannerStart].title;
    var newImg = document.createElement('img');
    newImg.src = bannerItems[bannerStart].img.src;
    newImg.height = bannerItems[bannerStart].img.height;
    newImg.width = bannerItems[bannerStart].img.width;
    newImg.alt = bannerItems[bannerStart].title;
    newLink.appendChild(newImg);
    if (banner.childNodes.length > 0) {
        banner.replaceChild(newLink,banner.firstChild);
    } else {
        banner.appendChild(newLink);
    }
    document.cookie = 'banner='+bannerStart;
    bannerStart++;
    bannerStart = (bannerStart < bannerItems.length?bannerStart:0);
}



function mapActivate(place,active)
{
    var divs = document.getElementsByTagName('div');
    for (var i = 0; i < divs.length;i++)
    {
        if (divs[i].id == place || divs[i].id.indexOf(place) != -1)
        {
            divs[i].style.backgroundColor = (active?'#c1c1c1':'white');
        }
    }
    //document.getElementById(place).style.backgroundColor = (active?'#c1c1c1':'white');

}

function toggleSubMap(active)
{
    document.getElementById('mapSubFrame').style.display=(active?'block':'none');
}

function toggleMenu(id,className)
{
    document.getElementById('cell_'+id).className = className;
    document.getElementById('link_'+id).className = className;
}

function rel2target()
{
    var links = document.getElementsByTagName('a');
    for (var i = 0;i< links.length;i++)
    {
        if (links[i].rel && links[i].rel != '')
        {
            links[i].target = links[i].rel;
        }
    }

}
