﻿// Zeit: Donnerstag, 14. Juni 2007 16:09
//--------------------------------------------------------------------------------
// Oeffnet Fenster (popup) und plaziert dieses in der Bildschirmmitte
//--------------------------------------------------------------------------------
function openPopup(url, winName, w, h){
var parameter = 'width='+w+',height='+h+',left='+eval((screen.width-w)/2)+',top=50,scrollbars=yes,resizable=yes,location=no,menubar=no,toolbar=no';
    a = window.open(url,winName,parameter);
    a.focus();
    return false;
}

/**
* Wrapperfunktion zum Öffnen der Newsletter, verhindert Linkersetzung
* 
*/
function openNewsletter(url,winName,w,h){
    openPopup(url, winName, w, h);
}


//--------------------------------------------------------------------------------
// Oeffnet Seite-Empfehlen
//--------------------------------------------------------------------------------
function recommendPage(URL,w,h) {

var projectname = "viega";
if (URL.indexOf("viega2") > 0) {
  projectname = "viega2";
}

popupRecommmend = "/cps/rde/xchg/" + projectname + "/hs.xsl/" +  "/form_recommend_page.html" + "?recommendedPage=" + URL;

r = openPopup(popupRecommmend, "Empfehlen", w, h);

}


//--------------------------------------------------------------------------------
// Aendert Seite im Hauptfenster bei Aufruf im Popup
//--------------------------------------------------------------------------------
function changeOpener(URL)
{      
   window.opener.location.href=URL;
   
}



//--------------------------------------------------------------------------------
// Initialisierungsfunktionen
//--------------------------------------------------------------------------------

//--------------------------------------------------------------------------------
// setzt rote Schrift fehlerhaft ausgefuellter Inputfelder onfocus auf schwarz
//--------------------------------------------------------------------------------
function initErrorInputBehavior () {
    myErrorFields = document.getElementsByTagName('input');
    for(i=0; i<myErrorFields.length; i++) {
        if (myErrorFields[i].parentNode.className.indexOf('error')>-1) {
            myErrorFields[i].onfocus = function () {
                this.style.color = '#000000';
            }
        }
    }
}


//--------------------------------------------------------------------------------
// oeffnet Zweit- und Drittlevel-Boxen unter Main-Navigation
//--------------------------------------------------------------------------------
function initMainnav () {
    var myMainnav;
    var myMainnavChildren;
    try {
        myMainnav = document.getElementById('Mainnavi');
        myMainnavChildren = myMainnav.getElementsByTagName('UL')[0].childNodes;
        for (i = 0; i < myMainnavChildren.length; i++) {
            if (myMainnavChildren[i].nodeType == 1) {
                myMainnavChildren[i].defaultClass = myMainnavChildren[i].className;
                myMainnavChildren[i].onmouseover = function () {
                    this.className += " show";
                }
                myMainnavChildren[i].onmouseout = function () {
                    this.className = this.defaultClass;
                }
            }
        }
    } catch (e) {
    }
}
/**
*  setzt Navigation zurueck
*/
function resetMainNav () {
    var myMainnav;
    var myMainnavChildren;
  try {
    myMainnav = document.getElementById('Mainnavi');
    myMainnavChildren = myMainnav.getElementsByTagName('UL')[0].childNodes;
    for (i = 0; i < myMainnavChildren.length; i++) {
        if (myMainnavChildren[i].nodeType == 1) {
            if (myMainnavChildren[i].className.indexOf("show") != -1) {
                var theClass = myMainnavChildren[i].className;
                theClass = theClass.replace(/(\s)(show)|(show)/, "");
                myMainnavChildren[i].className = theClass;
            }
        }
    }
  } catch (e){
      
  }
}


//--------------------------------------------------------------------------------
// Dynamisches auf- und Zuklappen einzelner Seitenbereiche
//--------------------------------------------------------------------------------
function toggle (obj) {
if(obj) {   
    if (obj.nodeName == "DIV") {
          myDynSection = obj;
       } else {
          myDynSection = obj.parentNode.parentNode;
       }
        if (myDynSection.className == 'impanded') {
          myDynSection.className = 'expanded';
          window.location.hash = myDynSection.id;
        } else {
          myDynSection.className = 'impanded';
          window.location.hash = 'null'
        }
        return false; 
}
   }
var allDynSections = new Array(); /* neu, um ggf. erste Klappbox bei fehlendem Hash zu erkennen */



//--------------------------------------------------------------------------------
// Zuweisung der EventHandler bei dynamisch aufklappbaren Bereichen
//--------------------------------------------------------------------------------
var allDynSections = new Array();
function initToggles () {
    var allDivs = document.getElementsByTagName('DIV');
    var curr = 0;
    for (i=0; i<allDivs.length; i++) {
        if((allDivs[i].className == 'impanded') || (allDivs[i].className == 'expanded')) {
            allDynSections[curr] = allDivs[i];
            allDivs[i].getElementsByTagName('h4')[0].getElementsByTagName('span')[0].onmouseover = function () {
                this.style.textDecoration = 'underline';
                this.style.cursor = 'pointer';
                this.style.cursor = 'hand';
            }
            allDivs[i].getElementsByTagName('h4')[0].getElementsByTagName('span')[0].onmouseout = function () {
                this.style.textDecoration = '';
                this.style.cursor = '';
            }
            allDivs[i].getElementsByTagName('h4')[0].getElementsByTagName('span')[0].onclick = function () {
                toggle(this, true);
            }
            curr++;
        }
    }
    openAnchor();
}

//--------------------------------------------------------------------------------
// Aufklappen eines ueber Anker angesprungenen Bereichs
//--------------------------------------------------------------------------------
function openAnchor () {
    if(window.location.hash) {
        hsh = window.location.hash.substring(1, window.location.hash.length);
        if(hsh) {
          toggle(document.getElementById(hsh));
}
    } else {
      toggle(allDynSections[0]);
    }
} 

//--------------------------------------------------------------------------------
// Suche im Produktkatalog
//--------------------------------------------------------------------------------
function searchCatalog(){
    var form = document.forms['search'];
    form.searchCatalog.value = 'true';
    form.toolbarSearch.value = 'false';
    return form.submit();
}


//--------------------------------------------------------------------------------
// Klassenzuweisung bei Sitemap
//--------------------------------------------------------------------------------
function initializeSitemap() {
    var mySmapLists = document.getElementById('SiteMap').getElementsByTagName('UL');
    try {
        for (i=0; i < mySmapLists.length; i++) {
            mySmapListsItems = mySmapLists[i].getElementsByTagName('LI');
            for(j=0; j<mySmapListsItems.length; j++) {
                mySmapListsItems[j].className = 'lastChild';
                var myPreviousSibling = mySmapListsItems[j].previousSibling;
                    while(myPreviousSibling && myPreviousSibling.nodeType != 1) 
                        myPreviousSibling = myPreviousSibling.previousSibling;
                        if(myPreviousSibling)
                            myPreviousSibling.className = '';
                        if(!mySmapListsItems[j].getElementsByTagName('LI').length)
                            mySmapListsItems[j].getElementsByTagName('A')[0].className = 'noListSibling';
                    }
                }
    } catch (e){}
}






//--------------------------------------------------------------------------------
// Initialisierung
//--------------------------------------------------------------------------------
window.onload = function () {
    resetMainNav();
    initErrorInputBehavior ();
    /* openAnchor(); stattdessen:*/
    initToggles();
    if(window.siteMapInit) siteMapInit();
}
