CLICKEDCOLOR = "#c63010";
OPENMENU = "url(Azupharma GmbH - Novartis_de-Dateien/arrow_blue_menu.gif)";
CLOSEDMENU = "url(Azupharma GmbH - Novartis_de-Dateien/arrow_blue_menu.gif)";
COLOR = "#FFFFBF";
EXTRADELAY = 1000;
LEFTPOS = 200;
TOPPOS = -6;
TOPPOSNS = 6;
EXTRADIST = 151;
SHOWSUBLAYERTILLDEPTH = 3;
SHOWEXTRALAYERFROMDEPTH = 1;

switchOff =0;
lastClicked=0;
lastClickedParentLayerId=0;
lastOpenSubLayerId='0_sub';
lastClickedMainParentLayerId=0;

isSubLayerOpen = -1;

info = new Array;
function setNewClicked(layer){
         posInStack = 0;
         if (info.length)posInStack = info.length;
        info[posInStack]=layer.id;
}

function getLastClicked(){
        if (info[info.length-1]){
           return document.getElementById(info[info.length-1]);
        }
        else return false;
}

function infoContains(layer){
      idToCheck = layer.id;
        contains = false;
        for (ii=0;ii<info.length;ii++){
            if (info[ii]==idToCheck){
               contains = true;
               break;
            }
        }
        return contains;
}

function isLastClicked(layer){
        if (layer.id == info[info.length-1]) return true;
        else return false;
}

function deleteLastOutOfInfo(){
         delete info[info.length-1];
         info.length = info.length-1;
}

function getParentLayer(layer){
         //parentLayerId = document.getElementById(layerId).parentNode.getAttribute("id");
         if (layer.parentNode && layer.parentNode.nodeName == "DIV"){
            //Wenn der Parentlayer der oberste ist:
            if (layer.parentNode.getAttribute("id").indexOf('_sub')==-1){
               this.id = 0;
               return false;
            }
            else{parentLayerId = layer.parentNode.getAttribute("id").split("_sub")[0];
                 parentLayer = document.getElementById(parentLayerId);
                 this.id = parentLayerId;
                 return parentLayer;
            }
         }
         else return false;
}

function getDepth (layer){
         //alert('layer.id = '+layer.id);
         if (layer.id.indexOf('extra-')!=-1){
            newId = layer.id.substring(6,layer.id.length);
            layer = document.getElementById(newId);
            layer.id = newId;
         }
         depth=1;
         while (getParentLayer(layer)){
               depth +=1;
               layer = getParentLayer(layer);
         }
         return depth;
}

function getSubLayer(layer){
       if (layer.nextSibling!=null){
                 subLayer = layer.nextSibling;
                 if (subLayer.nodeName != "DIV") subLayer = subLayer.nextSibling;
                 if (subLayer==null) return false;
                 if (subLayer.getAttribute('id').indexOf('_sub')!=-1){
                    this.id = subLayer.getAttribute('id');
                    return subLayer;
                 }
                 else return false;
       }
       else return false;
}

function getParentSubLayer(layer){
         if (layer.parentNode.nodeName == "div"){
                 parentSubLayerId = layer.parentNode.getAttribute("id");
                 parentSubLayer = document.getElementById(parentSubLayerId);
                 if (parentSubLayerId == 0) return false;
                 this.id = parentSubLayerId;
                 return parentSubLayer;
         }
         else return false;
}

function isMainLayer(layer){
         if (layer.parentNode.nodeName == "DIV"  &&  layer.parentNode.getAttribute("id")==0)
         return true;
         else return false;
}


function getLayer(layerId){
         layer = document.getElementById(layerId);
         this.id = layerId;
         return layer;
}


function preOpener(layerIds){
         toOpen = layerIds.split(",");
         for (n=toOpen.length-1;n>-1;n--){
             highLightLeft(toOpen[n]);
         }
}

function preOpenChecker(layer){
         layerToCheck = layer;
         layerIds = layerToCheck.id;
         while (!infoContains(layerToCheck) && getParentLayer(layerToCheck)){
               layerToCheck = getParentLayer(layerToCheck);
               layerIds += ",";
               layerIds += layerToCheck.id;
         }
         if (layerIds!=''){
            preOpener(layerIds);
         }
}

function highLightLeft(layerId){
         if (switchOff!=0)close();
         clickedLayer = getLayer(layerId);
         if (isLastClicked(clickedLayer)) return;
         if (!document.getElementById(layerId)) return;
         parentLayer = getParentLayer(clickedLayer);
         if (parentLayer && !infoContains(parentLayer)){
              preOpenChecker(clickedLayer);
              return;
         }
        /* if (parentLayer){
                    if(!infoContains(parentLayer)){
                    highLightLeft (parentLayer.id);
                    }
         }*/

         closeSubLayers(clickedLayer);
         openSubLayer(clickedLayer);

}

function closeSubLayers(layer){
parentLayer = getParentLayer(layer);
if (!getLastClicked()) return;
    lastClickedLayer = getLastClicked();
    while((getParentLayer(layer) != lastClickedLayer)&&(layer!= lastClickedLayer)){
             if (getSubLayer(getLastClicked())){
                     subLayer = getSubLayer(getLastClicked());
                     subLayer.style.display='none';
             }
             removeOldStyle(getLastClicked());
             deleteLastOutOfInfo();
             lastClickedLayer = getLastClicked();
    }

}

function openSubLayer(layer){
        if (layer==getLastClicked()){
         return;
        }
         if (getSubLayer(layer)){
            subLayer = getSubLayer(layer);
                if (getDepth(layer)<SHOWSUBLAYERTILLDEPTH){
                   subLayer.style.display='block';
                }
         }
         getNewStyle(layer);
         setNewClicked(layer);
}

function removeOldStyle(layer){
         if (isMainLayer(layer)){
            layer.getElementsByTagName("a")[0].style.color='';
            layer.style.backgroundImage=CLOSEDMENU;
         }
         else {
            layer.getElementsByTagName("a")[0].style.color='';
         }
}

function getNewStyle(layer){
	 //CSS im Hauptmenuepunkt aendern
         if (isMainLayer(layer)){
            layer.getElementsByTagName("a")[0].style.color=CLICKEDCOLOR;
	    //wenn es keine Untermenuepunkte gibt, das Bild auf offen stellen
	    /*if (getSubLayer(layer)){	
              layer.style.backgroundImage=OPENMENU;
	    }*/
         }
	//CSS im untermenuepunkt aendern
         else {
             layer.getElementsByTagName("a")[0].style.color=CLICKEDCOLOR;
         }
}


function noShowExtra(clickedLink){

         switchOff = window.setTimeout("close()",EXTRADELAY);
}

function extraNoShowExtra(clickedExtraLink){
return;
}
function clearSwitchOff(){
         window.clearTimeout(switchOff);
}

function close(link){
         for(i=1;i<=3;i++){
                extraLayer = document.getElementById('extra_1');
                with(extraLayer.style) {
                        display="none";
                        visibility="hidden";
                }
         }
}

function viewExtra(topPos,extraLayer){
       with(extraLayer.style) {
                display="block";
                visibility="visible";
                position="absolute";
                left=170;
                top = topPos;
        }
}

function showExtra(link,e){
        layerId = link.parentNode.getAttribute('id');
        touchedLayer = document.getElementById(layerId);
        touchedLayer.id = layerId;
        touchedLayerDepth = getDepth(touchedLayer);
        touchedSublayer = document.getElementById(layerId+'_sub');
        if (touchedSublayer.style.display=='block') return;
        if (touchedLayerDepth<SHOWEXTRALAYERFROMDEPTH) return;
        if (touchedLayer.id.indexOf('extra-')!=-1)
 return;
        if (switchOff!=0)clearSwitchOff();
        text = touchedSublayer.innerHTML;
        extraLayer = getNewExtraLayer(touchedLayerDepth,touchedLayer);
        newText=replacer(text);
        extraLayer.innerHTML = newText;
        topPos = getPosition(e);
        viewExtra(topPos,extraLayer);
}

function getNewExtraLayer(layerDepth,touchedLayer){
         extraLayerId = "extra_1";
         extraLayer = document.getElementById(extraLayerId);
         if (touchedLayer.id.indexOf('extra-')==-1)
         extraLayer.leftPos = LEFTPOS;
         else
         extraLayer.leftPos = LEFTPOS + EXTRADIST*(layerDepth-2);
         return extraLayer;
}

function getPosition (e){
 if (document.all){
         posToWindow = window.event.clientY;
         posToElement = window.event.offsetY;
         posAbsolute = posToWindow-posToElement+document.body.scrollTop-TOPPOS;
 }

 if (!document.all){
         posToWindow = e.pageY;
         posToElement = e.layerY;
         posAbsolute = posToWindow-TOPPOSNS;
 }
 return posAbsolute;
}


function replacer(text){
       temp = new Array;
       temp[0] = /id=/;
       temp[1]= /id=extra-"/;
       temp[2]= /class=sub-link /;
       temp[3]= /class=sub-link-extra "/;
       temp[4]= /class="sub-link"/;
       temp[5] =/noShowExtra/;
       //temp[2]= /%/;


      tempReplacer = new Array;
       tempReplacer[0] ='id=extra-';
       tempReplacer[1]= 'id="extra-';
       tempReplacer[2] ='class=sub-link-extra ';
       tempReplacer[3]= 'class="sub-link-extra';
       tempReplacer[4]= 'class="sub-link-extra"';
       tempReplacer[5]= 'extraNoShowExtra';
        for (i=0;i<temp.length;i++){
            textTempArray = text.split(temp[i]);
            newText = textTempArray[0];
            for (ii=1;ii<textTempArray.length;ii++){
                    textTempArray[ii].slice(1);
                    newText += tempReplacer[i]+textTempArray[ii];
            }
            text = newText;
        }
return newText;
}


function getParamAndHighLight(){
        if (self.location.href.indexOf('highLightLeft=')!=-1){
             theUrlParams = self.location.href.split('?')[1].split('&');
             for (i=0;i<theUrlParams.length;i++){
                 if (theUrlParams[i].indexOf('highLightLeft=')!=-1) {
                    layerId = theUrlParams[i].split('highLightLeft=')[1];
                    highLightLeft(layerId);
                    break;
                 }
             }
        }
}

function jump(theUrl,layerId){
         self.location.href=theUrl+'?highLightLeft='+layerId;
}

function jumpOnly(theUrl){
         self.location.href=theUrl;
}

/* for wpd rollover */
	
	function showExtra_wpd(link,e){
        layerId = link.parentNode.getAttribute('id');
        touchedLayer = document.getElementById(layerId);
        touchedLayer.id = layerId;
        touchedLayerDepth = getDepth(touchedLayer);
        touchedSublayer = document.getElementById(layerId+'_sub');
        if (touchedSublayer.style.display=='block') return;
        if (touchedLayerDepth<SHOWEXTRALAYERFROMDEPTH) return;
        if (touchedLayer.id.indexOf('extra-')!=-1)
 return;
        if (switchOff!=0)clearSwitchOff();
        text = touchedSublayer.innerHTML;
        extraLayer = getNewExtraLayer(touchedLayerDepth,touchedLayer);
        newText=replacer(text);
        extraLayer.innerHTML = newText;
        topPos = getPosition(e);
        viewExtra_wpd(topPos,extraLayer);
}

function viewExtra_wpd(topPos,extraLayer){
       with(extraLayer.style) {
                display="block";
                visibility="visible";
                position="absolute";
                left=275;
                top = topPos;
        }
}

function noShowExtra_wpd(clickedLink){

         switchOff = window.setTimeout("close()",EXTRADELAY);
}

	function showExtra_wpd_pro(link,e){
        layerId = link.parentNode.getAttribute('id');
        touchedLayer = document.getElementById(layerId);
        touchedLayer.id = layerId;
        touchedLayerDepth = getDepth(touchedLayer);
        touchedSublayer = document.getElementById(layerId+'_sub');
        if (touchedSublayer.style.display=='block') return;
        if (touchedLayerDepth<SHOWEXTRALAYERFROMDEPTH) return;
        if (touchedLayer.id.indexOf('extra-')!=-1)
 return;
        if (switchOff!=0)clearSwitchOff();
        text = touchedSublayer.innerHTML;
        extraLayer = getNewExtraLayer(touchedLayerDepth,touchedLayer);
        newText=replacer(text);
        extraLayer.innerHTML = newText;
        topPos = getPosition(e)+30;
        viewExtra_wpd_pro(topPos,extraLayer);
}
function viewExtra_wpd_pro(topPos,extraLayer){
       with(extraLayer.style) {
                display="block";
                visibility="visible";
                position="absolute";
                left=274;
                top = topPos;
        }
}
function noShowExtra_wpd_pro(clickedLink){

         switchOff = window.setTimeout("close()",EXTRADELAY);
}

		