// depends on rollover.js, frameset.js, context.js, client.js


function adoptNS4Links(layerName, session_name, session_value) {
         with (document.layers[layerName]) {
              for (var link in document.links) {
                  if (document.links[link].target == 'main') {
                      document.links[link].target = '_top';
                      document.links[link].href = getFramesetUrl(document.links[link].href);
                  }
                  href = new String(document.links[link].href);
                  if (href.indexOf('ecom') > -1) {

                      newHref = href;
                      if (href.indexOf('?') > -1) {
                          newHref = newHref + '&';
                      } else {
                          newHref = newHref + '?';
                      }

                       document.links[link].href = newHref + 'session_name=' + session_name
                                               + '&session_value=' + session_value;
                  }
              }
         }
}
function initHeaderPage() {
              lyNames = new Array("lyProducts", "lyFascination", "lyVirtualCenter", "lyServices");

              if (vcContextElements != null) {
                  request = getRequest();
                  session_name = request.getParameter('session_name');
                  session_value = request.getParameter('session_value');
                  showContextElementsOnParameterizedHeaderCall( vcContextElements );
                  if (client.isNS4) {

                      for (var lyName in lyNames) {
                           if (document.layers[lyNames[lyName]]) {
                               adoptNS4Links(lyNames[lyName], session_name, session_value);
                           }
                      }
                  } else {
                    for (var link in document.links) {
                         if (document.links[link].target == 'main') {
                             document.links[link].target = '_top';
                             document.links[link].href = getFramesetUrl(document.links[link].href);
                         }

                         href = new String(document.links[link].href);
                         if (href.indexOf('ecom') > -1) {
                             newHref = href;
                             if (href.indexOf('?') > -1) {
                                 newHref = newHref + '&';
                             } else {
                                 newHref = newHref + '?';
                             }

                             document.links[link].href = newHref + 'session_name=' + session_name
                                               + '&session_value=' + session_value;
                         }
                    }
                  }
              } else {

                showContextElements(top.contextElements);

              }
              alignMenu();


}

function hiHeaderImage(key) {
        document.images[menuDescriptions[key].imgName].src = menuDescriptions[key].imgHighlightSrc;
}

function loHeaderImage(key) {

        if (top.contextElements) {
                var naviSelection = null;
                for (var name in menuDescriptions) {
                        if (top.contextElements.directory.search(name) != -1) {
                                        naviSelection = name;
                        }
                }

                if (naviSelection == key) return;
        }
        document.images[menuDescriptions[key].imgName].src = menuDescriptions[key].imgSrc;

}

// closebutton highlight in sekundary-layer
function hiCloseButton(layerName, imgName) {
        changeImgSrc(imgHiClose.src, layerName, imgName);
}

// closebutton low in sekundary-layer
function loCloseButton(layerName, imgName) {
        changeImgSrc(imgClose.src, layerName, imgName);
}

// align primary navigation
function alignMenu() {
        var xPos = 0;
        for (var key in menuDescriptions) {
                if (menuDescriptions[key].layerName != null) {
                    switch (client.browser) {
                            case client.NS4:
                                 document.layers[menuDescriptions[key].layerName].left = xPos;
                                 break;
                            case client.NS6:
                                 document.getElementById(menuDescriptions[key].layerName).style.left = xPos;
                                 break;
                            default:
                                 document.all[menuDescriptions[key].layerName].style.left = xPos;
                    }
                }
                //if (client.isNS4) {
                    xPos += document.images[menuDescriptions[key].imgName].width;
                //} else {
                //    xPos += document.images[menuDescriptions[key].imgName].width;
                //}
        }
}


// select a primary navigation menu layer for display and
// hide all unselected menu layers
function selectMenu(layerName) {
        if (layerName == null) return;


        for (var key in menuDescriptions) {
                if (menuDescriptions[key].layerName == layerName) {
                    switch (client.browser) {
                            case client.NS4:
                                 document[layerName].visibility = "visible";
                                 break;
                            case client.NS6:
                                 document.getElementById(layerName).style.visibility = "visible";
                                 break;
                            default:
                                 document.all[layerName].style.visibility = "visible";
                    }
                } else {
                        switch (client.browser) {
                                case client.NS4:
                                     if (document[menuDescriptions[key].layerName]) {
                                        document[menuDescriptions[key].layerName].visibility = "hidden";
                                     }
                                     break;
                                case client.NS6:
                                     if (document.getElementById(menuDescriptions[key].layerName)) {
                                        document.getElementById(menuDescriptions[key].layerName).style.visibility = "hidden";
                                     }
                                     break;
                                default:
                                     if (document.all[menuDescriptions[key].layerName]) {
                                         document.all[menuDescriptions[key].layerName].style.visibility = "hidden";
                                     }
                        }
                }
        }
}