// Browser detection
var bName = navigator.appName;
var bVer = parseInt(navigator.appVersion);
var NS4 = (bName == "Netscape" && bVer == 4);
var MOZ = (bName == "Netscape" && bVer >= 5);
var IE4 = (bName == "Microsoft Internet Explorer" && bVer >= 4);


// Um JS-Fehler zu vermeiden
function markSelection ( area ) {
  return;
}

function show_logout() {
    var animation_time      = 800;
    var action_bar          = jQuery('div#actionbar_ontop');  
    var action_bar_overlay  = jQuery('div#actionbar_overlay');
  
    toggle_visibility_objects(1);
    
    action_bar_overlay.show(); 

    //Insert Dummy Element 
    var actionbar_height= action_bar.height();
    action_bar.before('<div id="actionbar_dummy" />');    
    jQuery('#actionbar_dummy').css('height',actionbar_height);   
    
    action_bar.css({
             position  : 'fixed',
              zIndex    : '1000',
              display   : 'none',
              top       : '0pt',
              left      : 'auto',
         backgroundColor: '#F1F0F0'               
    });

    action_bar.slideDown(animation_time);
}

function hide_login(){
    $('actionbar_box_language').hide(); 

    var action_bar                = jQuery('div#actionbar_ontop');  
    var action_bar_overlay        = jQuery('div#actionbar_overlay');
    var login_content   = jQuery('div#actionbar_ontop').find('div#actionbar_box_login');  
    action_bar_overlay.css( {
        display: "none"
        }
    );

    jQuery('#actionbar_dummy').remove();

    if (login_content.length == 0) {
        return false;
    }   
    toggle_visibility_objects();
    action_bar.css({
          position  : '' ,
    backgroundColor : ''
    });
    
    login_content.css({
        display   : 'none',
        position  : 'relative',
        zIndex   :  '1000'
    });
}

function toggle_visibility_objects(status){
    if ( status == "1" ){
        jQuery("iframe").css({"visibility":"hidden"});
        jQuery("object").css({"visibility":"hidden"});
    }
    else{
        jQuery("iframe").css({"visibility":""});
        jQuery("object").css({"visibility":""});
    }

    return;
}

 
 

//Overflow Login Menu
//Achtung: funktioniert nur, wenn in der Konfiguration 
//loginformular_in_actionbar gesetzt wurde!
function show_login(){
    var animation_time            = 1000;
    var action_bar                = jQuery('div#actionbar_ontop');  
    var action_bar_overlay        = jQuery('div#actionbar_overlay');
    var login_content             = jQuery('div#actionbar_ontop').find('div#actionbar_box_login');  

    if (login_content.length == 0) {
        return false;
    }  
    toggle_visibility_objects(1);
    $('actionbar_box_language').hide(); 
    action_bar_overlay.show(); 

    //Insert Dummy Element 
    var actionbar_height= action_bar.height();
    action_bar.before('<div id="actionbar_dummy" />');    
    jQuery('#actionbar_dummy').css('height',actionbar_height);   
    
    action_bar.css({
          //    marginTop : '0px',
              position  : 'fixed',
              zIndex    : '1000',
              display   : 'none',
              top       : '0pt',
              left      : 'auto',
         backgroundColor: '#F1F0F0'               
    });

    
    login_content.css({
         //    marginTop : '0px',
            position  : 'relative',
            zIndex    : '1000',
            display   : 'none'
    });

    
    action_bar.show();
    login_content.slideDown(animation_time);
}

// Druckfunktion
function printing( url ) {
  fenster = window.open( url, 'printing',
	   'width=660,height=440,scrollbars=yes,menubar=yes,toolbar=yes,location=no,statusbar=no,resizable=yes');
  fenster.focus();
  return false;
}

function showTicker() {
  var ticker = document.getElementById("newsticker");
  if (ticker) {
    ticker.style.display = 'block';
  }
}

// Son of suckerfish Menu
sfHover = function() {
  var sf = document.getElementById("navigation");
  if (!sf) {
    return;
  }

  var sfEls = sf.getElementsByTagName("LI");
  for (var i=0; i<sfEls.length; i++) {
	  sfEls[i].onmouseover=function() {
		  this.className+=" sfhover";
	  }
	  sfEls[i].onmouseout=function() {
		  this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
	  }
  }

  var headnav = document.getElementById("suckerf");
  if (!headnav) return;
  var sfEls = headnav.getElementsByTagName("LI");
  if (!sfEls) return;
  for (var i=0; i<sfEls.length; i++) {
	  sfEls[i].onmouseover=function() {
		  this.className+=" sfhover";
	  }
	  sfEls[i].onmouseout=function() {
		  this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
	  }
  }
}
if (window.attachEvent) window.attachEvent("onload", sfHover);

function CheckMail(s) {
  var a = false;
  var res = false;
  if(typeof(RegExp) == 'function') {
    var b = new RegExp('abc');
    if(b.test('abc') == true){a = true;}
  }

  if(a == true) {
//    reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)(\\@)([a-zA-Z0-9\\-\\.]+)(\\.)([a-zA-Z]{2,4})$');
    var reg = new RegExp('^[^\\@]+\\@[^\\@\\.]+(?:\\.[^\\@\\.]+)+$');
    res = (reg.test(s));
  }
  else {
    res = (s.search('@') >= 1 &&
    s.lastIndexOf('.') > s.search('@') &&
    s.lastIndexOf('.') >= s.length-5)
  }
  if (s.indexOf(" ") > 0) {
    res = 0;
  }
  
  return(res);
} 

// Video abspielen
function playMovie(file,w,h, autostart) 
{
  if (!autostart) {
    autostart = false;
  }
  var FO = {
	  movie:"http://video.messe-duesseldorf.de/player/flash_flv_player/flvplayer.swf", 
	  width:w+"px",
	  height:h+"px", 
	  majorversion:"7", 
	  build:"0", 
	  bgcolor:"#000000",
	  allowfullscreen:"true",
	  flashvars:"file="+file+"&showdigits=false&autostart="+autostart+"&repeat=false&fullscreenpage=http%3A%2F%2Fvideo.messe-duesseldorf.de%2Fplayer%2Ffullscreen.html&fsreturnpage="+escape(document.URL)+"&linkfromdisplay=false"
  };
  UFO.create(FO, 'player');
}

function DIMplaySound(file,w,h,autostart) 
{
var FO={};
  if (!autostart) {
    autostart = false;
  }
  var FO = {
	  movie:"http://video.messe-duesseldorf.de/player/flash_mp3_player/mp3player.swf",
	  width:w+"px",
	  height:h+"px", 
	  majorversion:"7",
	  build:"0",
	  bgcolor:"#000000",
	  flashvars:"file="+file+"&title=&repeat=false&lightcolor=0x6CCCCCC&autostart="+autostart
  };
  
  UFO.create(FO, 'player');
}	

// Menu Ende


// ------------------ Intentiv Javascript Code ---------------------
/*********************************************************/
/* ToggleDropDown                                                                                */
/* Nur benötigt, falls general::redesign2010, aber nicht
/* general::redesign2010_actionbar_above_header gesetzt ist.
/*********************************************************/
function toggleLanguageDropDown() {
        
        $('drop-down-lang').toggle();   

        var dropDownList = $('drop-down-list');
    if (dropDownList.hasClassName('drop-down-list-maximized'))
    {
        dropDownList.removeClassName('drop-down-list-maximized');
            dropDownList.addClassName('drop-down-list-minimized');      
        }
        else
        {
        dropDownList.removeClassName('drop-down-list-minimized');
            dropDownList.addClassName('drop-down-list-maximized');      
        }                               
}


/* Setzt bei mouseover über einem Listenpunkt der Top-Reiter-Navigation
   die Klasse "mouseover".
   Dies hier initialisiert die onmouseover/out-Handler */
function setMouseOverClassOnNaviItemHandler(menu)
{
    menu.select('li').each(function(li){
        li.observe('mouseover', 
            setMouseOverClassOnNaviItem.bind(this,li,'over',menu)
        );
        li.observe('mouseout', 
            setMouseOverClassOnNaviItem.bind(this,li,'out',menu)
        );

//        li.observe('mouseover', function(event){
//            setMouseOverClassOnNaviItem.bind(this,'over',menu);
//        });
//        li.observe('mouseout', function(event){
//            setMouseOverClassOnNaviItem.bind(this,'out',menu);
//        });
    });
}

/* Dies Funktion wird aufgerufen bei mouseover/out eines li-Punktes */
function setMouseOverClassOnNaviItem(li,mouse, menu)
{
    li      = $(li);
    menu    = $(menu);
    var markName = 'mouseover'

    setMouseOutClassOnNaviItemStopTimer();
    
    if ( mouse == 'over' ) {
        menu.select('li.'+markName).each(function(e){e.removeClassName(markName)});
        var node = li;
        while ( node && node !== menu ) {
            if ( node.nodeName == 'LI' ) {
                node.addClassName(markName);
            }
            node = node.parent;
        }
    } else if ( mouse == 'out' ) {
        setMouseOutClassOnNaviItemStartTimer();
    }
}

/* Dies Funktion setzt einen Timer, der nach Ablauf dann die mouseover-Klasse 
   wegnimmt */
window.mouseOutClassOnNaviItemTimer;
function setMouseOutClassOnNaviItemStartTimer() {
    setMouseOutClassOnNaviItemStopTimer();
    window.mouseOutClassOnNaviItemTimer = window.setTimeout(setMouseOutClassOnNaviItem, 1000);
}
/* Diese Funktion stoppt den MouseOut-Time wieder */
function setMouseOutClassOnNaviItemStopTimer() {
     window.clearTimeout(window.mouseOutClassOnNaviItemTimer);
}
/* Bei abelaufenem MouseOutTimer wird diese Funktion aufgerufen, die
   die mouseover-Klasse überall wegnimmt. */
function setMouseOutClassOnNaviItem() {
    var menu = $('mainNavigationList');
    var markName = 'mouseover'

    if ( menu ) {
        menu.select('li.'+markName).each(function(e){e.removeClassName(markName)});
    }
}

/* Initialisiert die mouseover-Klassen-Funktionalität bei
    onload */
Event.observe(window, 'load', function() {
    var menu = $('mainNavigationList');
    if ( menu ) {
        setMouseOverClassOnNaviItemHandler(menu);
    }
});

