﻿String.implement({//simple regex doesn't work in ie.
    entityDecode: function(){
        var replacements = new Hash({'lt':'<','gt':'>','amp':'&','quot':'"','#039':"'"});
        return ( this.replace(
            new RegExp('&('+replacements.getKeys().join('|')+');', "gi"),
            function(replaceStr){return replacements[replaceStr.replace('&', '').replace(';', '')];}
        ));
    }
});

window.addEvent('domready', function(){
/*FFx2 fix for navigation*/
if((function x(){})[-6]=='x'){
var box = $('box_navTop');
var ul = box.getElement('ul').setStyle('float', 'left');
var ulW = 668-(ul.getDimensions().width);
ul.setStyle('margin-left', ulW);
}

/*last contxt margin*/
var lastCtxt = $$('.box_contxt div.space_b20');
if(lastCtxt && lastCtxt.length > 0)
    lastCtxt[lastCtxt.length-1].setStyle('margin-bottom', 0);
/*
ACCORDIONs
*/
        
    
    
    $$('.box_cnt_accordion').each(function(element){
        if(element.id != undefined) {
        var id = element.id;
        var myAccordion = '';

        //check for id in a[name] in toggler...
        var show = 0;
        if(window.location.hash.replace('#','').toInt()){
            var el = $$('#'+id+' .cnt_accordion_toggle a').filter(function(link){
                    return link.get('name')==window.location.hash.replace('#','');
                })[0];
            if(el){
                var ev = el.getParent();
                var show = ev.getAllPrevious('.cnt_accordion_toggle').length;
                //console.log(ev, show);
            }
        }


        var myAccordion = new Accordion($$('#'+id+' .cnt_accordion_toggle'), $$('#'+id+' .cnt_accordion_content'), {'show':show, 'opacity':false});
        
        var numAccordionToggle = 0;
        $$('#'+id+' .cnt_accordion_toggle').each(function(element){
            if(numAccordionToggle == 0) {
                element.addClass('on');
            }
            else {
                element.addClass('off');
            }
            numAccordionToggle++;
        });
        myAccordion.addEvent('active', function(toggler, element){
            toggler.removeClass('off');
            toggler.addClass('on');    
                toggler.setStyles({
                    'margin-bottom': '1px',
                    'border-bottom': '1px solid #ccc'
                });
        });
        myAccordion.addEvent('background', function(toggler, element){
            toggler.addClass('off');
            toggler.removeClass('on');
                toggler.setStyles({
                    'margin-bottom': 0,
                    'border-bottom': 0
                });
        });
        }
        
        if(element.getChildren().length != 0){
                element.getLast('.cnt_accordion_toggle').setStyles({
                    'margin-bottom': 0,
                    'border-bottom': 0
                });
        }
    });
        //.cnt_tabcontainer_panel (not exclusively)
        $$('ul.cnt_more_info_list li:last-child').setStyles({
            'margin-bottom': 0,
            'border-bottom': 0
            });
    
    
    
    
/*
TABSWAPPER
*/
    $$('.cnt_tabcontainer_tabset').setStyle('visibility', 'visible');
    $$('.cnt_tabcontainer_panelheading').setStyle('display', 'none');
    $$('.box_cnt_tabcontainer').each(function(element){
        if(element.id != undefined) {
            var id= element.id;
            
            new TabSwapper({
                selectedClass: 'on',
                deselectedClass: 'off',
                tabs: $$('#'+id+' li.tab'),
                clickers: $$('#'+id+' li.tab a'),
                sections: $$('#'+id+' div.cnt_tabcontainer_panelset div.cnt_tabcontainer_panel'),
                /*use transitions to fade across*/
                smooth: false,
                smoothSize: false//,
                //cookieName: 'tabPosition'+id
            });
        
        }
    });
    
    
    
    
    /*more_info_list*/
    $$('ul.cnt_more_info_list li').each(function(element){
        if (!$$('ul.cnt_more_info_list').hasClass('cnt_article_list')) {
        if(!element.hasClass('heading') && !element.hasClass('padding') && element.getElement('div.descr') != null && element.getElement('div.strong') != null){
            element.addEvent('mouseenter', function(event){
                element.addClass('hover');
            });
            element.addEvent('mouseleave', function(event){
                element.removeClass('hover');
            });
        }
        }
    });

    $$('ul.cnt_more_info_list li.padding').each(function(element){
        
        element.addEvent('mouseenter', function(event){
            element.addClass('hover');
        });
        element.addEvent('mouseleave', function(event){
            element.removeClass('hover');
        });
        element.addEvent('click', function(event){
            url = element.getElement('a').href;
            if(typeof element.getElement('a').onclick == 'function'){element.getElement('a').onclick();}
            event.stop();
            event.stopPropagation();
            if(element.getElement('a').hasClass('popup')){
                element.getElement('a').addEvent('click', function(ev){ev.stop();});
                popGeneric(url);
            }
            else {
                
                if(element.getElement('a').get('target') == '_blank'){
                    popNewWin(url);
                    return;
                } else {
                window.location = url;
                
                //element.getElement('a').fireEvent('click', {'target': element.getElement('a')});
                }
          }
        });
    });


    /*little helper*/
    $$('.box_cnt_glossar .box_cnt_accordion div.on').each(function(element){
        element.addEvent('mouseenter', function(event){element.addClass('hover');});
        element.addEvent('mouseleave', function(event){element.removeClass('hover');});
    });


    $$('#frame_cnt a.popup').addEvent('click', function(ev){
        ev.stop();
        if(this.hasClass('scroll')){
            popGenericScroll(ev.target.href);
            return;
        }
        popGeneric(ev.target.href);
    });


    /*END DOMREADY*/
});




/*quicksearch*/
var cachedQuickFinder = null;
function loadQuickFinder(ulelement){


    var jsonUrl = 'http://www.bbraun.com/cps/rde/xchg/bbraun-com/hs.xsl/productqf.json.txt';    



    if(cachedQuickFinder == null)
var jsonRequest = new Request.JSON({url: jsonUrl, onComplete: function(result){
            cachedQuickFinder = result;
            fillQuickFinder(ulelement, result);
        }}).get();
    else{
        //fillQuickFinder(ulelement, cachedQuickFinder);
    }
}
function fillQuickFinder(ulelement, result){
    var resSize = result.length;
    ulelement = $(ulelement);
    
    var mainEls = ulelement.getChildren();
    for(var i=0; i < resSize; i++){
        var numSubRes = result[i].sub;
        mainEls[i].adopt(createQuickFinderlist(result[i].sub));
    }
    
    quickFinderEvents(ulelement);
    
}
function createQuickFinderlist(productList){
    var numItems = productList.length;
    var ulEl = new Element('ul');
    var liEls = [];



    var linkBase = 'http://www.bbraun.com/cps/rde/xchg/bbraun-com/hs.xsl/';    



    for (var i = 0;i < numItems;i++){
        liEls[i] = new Element('li').adopt(new Element('a', {'href':linkBase+productList[i].url, 'html': productList[i].name+'&nbsp;'}));
        if(productList[i].sub.length > 0){
            liEls[i].adopt(createQuickFinderlist(productList[i].sub))
        }
        ulEl.adopt(liEls[i]);
    }
    
    
    return ulEl;
}
function quickFinderEvents(ulelement){
    ulelement.getElements('li').each(function(el) {
        if(el.getElements('ul').length > 0) {
            el.addEvent('mouseenter', function(ev){
                el.store('mouseentered', true);
                //el.getElement('a').setStyle('font-weight', 'bold');#C2284E
                el.getElement('a').setStyle('color', '#C2284E');
                var ul = el.getElement('ul');
                ul.setStyle('display', 'block');
                ul.setStyle('z-index', '1000');
                ul.setStyle('height', 'auto');
                    //console.log(ul.getSize().y, (element.getSize().y)-1);
                    //console.log(element);
                if((ul.getSize().y -2) > (ulelement.getSize().y)-1) {
                    //element.setStyle('height', ul.getSize().y+1);
                    ulelement.getParent().getElements('ul').setStyle('height', ul.getSize().y-2);
                }else {
                    ul.setStyle('height', (ulelement.getSize().y)-1);
                }
                
                ie6QuickFinderFrame(ulelement, ul);
                if(el.getParent().getParent().tagName == 'DIV'&& !Browser.Engine.trident)//only first sublevel
                    el.getElement('ul').setStyle('opacity', 0.9);
            });
            el.addEvent('mouseleave', function(ev){
                el.store('mouseentered', false);
                var mouseLeaveFunc = function(el) {
                    if(this.retrieve('mouseentered')) {
                        return;
                    }
                    this.getElement('ul').setStyle('display', 'none');
                    ie6QuickFinderFrame(ulelement, this.getElement('ul'));
                    
                    if(this.getParent().getParent().tagName == 'DIV' && !Browser.Engine.trident) //only first sublevel
                        this.getElement('ul').setStyle('opacity', 1);
            }
            mouseLeaveFunc.delay(500, el);
            
                el.getElement('a').setStyle('color', '#666');
                el.getElement('ul').setStyle('z-index', '1');
            });
        }
    });
    
}


function ie6QuickFinderFrame(ul, ulelement){
    if(!Browser.Engine.trident) {
        return;
    }
    var ieFrame = $$('#ie6PrQuIframe');
    if(ieFrame.length == 0) {
        var ieFrame = new Element('iframe',{'src':'about:blank', 'id':'ie6PrQuIframe'}).inject(ul, 'before');
    }
    var maxX = 0;
    $$('.box_QuickFinder ul').each(function(el){
        if(el.getPosition().x > maxX) {
            maxX = el.getPosition().x;
        }
    });
    var iHeight = ul.getSize().y;
    ieFrame.setStyle('width', maxX + 117).setStyle('height', iHeight);
}

window.addEvent('domready', function(){
    /*QUICKFINDER*/
    
    
    /* hide last border, first level */
    $$('ul.quicksearch_list > li:last-child').each(function(element){
        element.setStyle('border-bottom-width', '0px');
    });
    
    /*init quickfinder*/
    $$('.box_QuickFinder').each(function(element){
        
        var trigger = element.getElements('img.quicksearch_trigger')[0];
        var triggered = element.getElements('img.quicksearch_triggered')[0];
        if(trigger != null) {
            trigger.addEvent('click', function(event){
                var finderElement = event.target.getParent().getParent();
                //debug(finderElement);
                if(finderElement == null || finderElement.getElement('ul') == null){return;}
                finderElement.getElement('img.quicksearch_trigger').setStyle('display', 'none');
                finderElement.getElement('img.quicksearch_triggered').setStyle('display', 'block');
                finderElement.getElement('ul').setStyle('display', 'block');
                
                                
                var quickFinderMenu = finderElement.getElement('ul');
                loadQuickFinder(quickFinderMenu);
                quickFinderMenu.setStyle('display', 'block');
                
                var menuHeight = quickFinderMenu.getSize().y;
                //console.log(menuHeight);
                quickFinderMenu.getElements('ul').setStyle('height', menuHeight-1);
                
                //finderElement.getElements('ul li').setStyle('opacity', 1);
            });
            triggered.addEvent('click', function(event){
                var finderElement = event.target.getParent().getParent();
                finderElement.getElement('img.quicksearch_trigger').setStyle('display', 'block');
                finderElement.getElement('img.quicksearch_triggered').setStyle('display', 'none');
                //finderElement.getElements('ul li').setStyle('opacity', 0);
                finderElement.getElement('ul').setStyle('display', 'none');
            });
            
//            debug(element.getElements('li>ul'));
            if(element.hasClass('on')) {
                trigger.fireEvent('click', {'target':trigger});
                //element.getElement('img.quicksearch_trigger').setStyle('display', 'none');
                //element.getElement('img.quicksearch_triggered').setStyle('display', 'block');
                //element.getElement('ul').setStyle('display', 'block');
                //element.getElements('ul li').setStyle('opacity', 1);
            }
        }
    });
    
    
    
    
    
    
    
    
    
    
    /*END DOMREADY*/
});





/*quicksearch*/
window.addEvent('domreadybak', function(){
    /*QUICKFINDER*/
    
    
    /* hide last border, first level */
    $$('ul.quicksearch_list > li:last-child').each(function(element){
        element.setStyle('border-bottom-width', '0px');
    });
    
    /*init quickfinder*/
    $$('.box_QuickFinder').each(function(element){
        
        var trigger = element.getElements('img.quicksearch_trigger')[0];
        var triggered = element.getElements('img.quicksearch_triggered')[0];
        if(trigger != null) {
            trigger.addEvent('click', function(event){
                var finderElement = event.target.getParent().getParent();
                //debug(finderElement);
                
                finderElement.getElement('img.quicksearch_trigger').setStyle('display', 'none');
                finderElement.getElement('img.quicksearch_triggered').setStyle('display', 'block');
                finderElement.getElement('ul').setStyle('display', 'block');
                
                                
                var quickFinderMenu = finderElement.getElement('ul');
                quickFinderMenu.setStyle('display', 'block');
                
                var menuHeight = quickFinderMenu.getSize().y;
                //console.log(menuHeight);
                quickFinderMenu.getElements('ul').setStyle('height', menuHeight-1);
                
                //finderElement.getElements('ul li').setStyle('opacity', 1);
            });
            triggered.addEvent('click', function(event){
                var finderElement = event.target.getParent().getParent();
                finderElement.getElement('img.quicksearch_trigger').setStyle('display', 'block');
                finderElement.getElement('img.quicksearch_triggered').setStyle('display', 'none');
                //finderElement.getElements('ul li').setStyle('opacity', 0);
                finderElement.getElement('ul').setStyle('display', 'none');
            });
            
            element.getElements('li').each(function(el) {
                if(el.getElements('ul').length > 0) {
                    el.addEvent('mouseenter', function(ev){
                        el.getElement('a').setStyle('font-weight', 'bold');
                        el.getElement('ul').setStyle('display', 'block');
                        if(el.getParent().getParent().tagName == 'DIV')//only first sublevel
                            el.getElement('ul').setStyle('opacity', 0.9);
                    });
                    el.addEvent('mouseleave', function(ev){
                        el.getElement('a').setStyle('font-weight', 'normal');
                        el.getElement('ul').setStyle('display', 'none');
                        if(el.getParent().getParent().tagName == 'DIV') //only first sublevel
                            el.getElement('ul').setStyle('opacity', 1);
                    });
                }
            });
//            debug(element.getElements('li>ul'));
            if(element.hasClass('on')) {
                element.getElement('img.quicksearch_trigger').setStyle('display', 'none');
                element.getElement('img.quicksearch_triggered').setStyle('display', 'block');
                element.getElement('ul').setStyle('display', 'block');
                //element.getElements('ul li').setStyle('opacity', 1);
            }
        }
    });
    
    
    
    
    
    
    
    
    
    
    /*END DOMREADY*/
});
/* AUTOCOMPLETER*/
var cachedAutoCompleteString = '';
var cachedAutoCompleteResult = {};
window.addEvent('domready', function(){
    $$('input.search_input').each(function(element){
        element.store('orgvalue', element.value);
        element.addEvent('focus', function(event){
            if(event.target.value==event.target.retrieve('orgvalue'))
                event.target.value="";
        });
        element.addEvent('blur', function(event){
            if(event.target.value=="") {
                event.target.value=event.target.retrieve('orgvalue');
            }
        });
    });

    $$('#main_search').each(function(element){
        /*element.addEvent('focus', function(ev){
            if($('main_search').value == 'search')$('main_search').value = '';
        });*/
        element.addEvent('keydown', function(event){
            
            
            (function(){
            var search = event.target.value;
            if(search.length < 2) {
                bbraunAutocomplete({}, '');
                return;
            }

                bbraunAutocompleteSearch(search);
            }).delay(30)
            //bbraunAutocompleteSearch(search).delay(15);
            
        });
    });
});
function bbraunAutocompleteSearch(searchString) {
    if(cachedAutoCompleteString.length == 0 || searchString.match(cachedAutoCompleteString) == null) {
        //if($('main_search').value.length > searchString)
        
    var jsonUrl = 'http://www.bbraun.com/cps/rde/xchg/bbraun-com/hs.xsl/';    


        searchString = $('main_search').value;
        var jsonRequest = new Request({url: jsonUrl+"getSuggestions.txt", onComplete: function(resultText){
            if(!resultText.contains('{')){
                var result = {};
            } else {
                var result = JSON.decode(resultText);
            }
            cachedAutoCompleteString = searchString;
            cachedAutoCompleteResult = result;
            bbraunAutocomplete(result, '');
        }}).get({'q': searchString});
    } else {
        bbraunAutocomplete(cachedAutoCompleteResult, searchString);
    }
            
            
            
            
}
function bbraunAutocomplete(obj, filterStr) {
    //obj = $(obj);
    //debug(filterStr, obj);
    filterStr = $('main_search').value;
    $('box_search_autocomplete').empty();
    var newResult = new Element('ul');
    if(obj.length > 0) {
        var i = 0;
        obj.each(function(result){
            var docCheckVisible = ((result.doccheck && result.sessDocCheck) || !result.doccheck)
            if(filterStr != '') {
                //if(result.name.toLowerCase().match(filterStr.toLowerCase()) != null || result.teaser.toLowerCase().match(filterStr.toLowerCase()) != null || result.prid.toLowerCase().match(filterStr.toLowerCase()) != null) {
                if(result.name.toLowerCase().indexOf(filterStr.toLowerCase()) == 0) {
                    var newli = bbraunAutocompleteNewSection(result.name, result.teaser, result.img, result.prid, docCheckVisible );
                    //debug(newli);
                    //if(i == 0) {newli.addClass('first');}
                    newli.inject(newResult);
                    i++;
                }
            }
            else {
                    var newli = bbraunAutocompleteNewSection(result.name, result.teaser, result.img, result.prid, docCheckVisible );
                    //if(i == 0) {newli.addClass('first');}
                    newli.inject(newResult);
                    i++;
            }
            
        });
    }
    
    
    
    //debug(newResult.getChildren().length)
        var headlineLi = new Element('li', {
            'class': 'search_autocomplete_header',
            'html': '<span class="strong">Products</span>'
        });
        var viewAllLi = new Element('li', {
            'class': 'search_autocomplete_footer',
            'html': '<a href="#search" class="more">View all search results</a>'
        }).addEvent('click', function(ev){$(document.body).getElement('form').submit();});
    if(newResult.getChildren().length > 0) {
        
        headlineLi.inject(newResult, 'top');
        viewAllLi.inject(newResult, 'top');
        
        $('box_search_autocomplete').setStyle('display', 'block');
        $('box_search_autocomplete').setStyle('opacity', 0.9);
        
    }
    else {
        $('box_search_autocomplete').setStyle('display', 'none');

        /*
        //no-products-found-box. not needed yet.
        var noresLi= new Element('li', {
            'class': 'search_autocomplete_header',
            'html': 'No Products found'
        });
        headlineLi.inject(newResult, 'top');
        noresLi.inject(newResult);
        viewAllLi.inject(newResult);
        
        $('box_search_autocomplete').setStyle('display', 'block');
        $('box_search_autocomplete').setStyle('opacity', 0.9);
        */
    }
//    debug(newResult);
        if(filterStr.length < 2){
            $('box_search_autocomplete').setStyle('display', 'none');
        }
    newResult.inject($('box_search_autocomplete'));
}
function bbraunAutocompleteNewSection(name, teaser, image, url, docCheckVisible ){
    var imgStr = "";
        
    var jsonUrl = 'http://www.bbraun.com/cps/rde/xchg/bbraun-com/hs.xsl/';    

    if(image != ""){imgStr = '<img src="'+image+'?max=50" alt="'+name+'" />';}
    if(docCheckVisible){teaser = teaser.entityDecode();}else{teaser='This page is DocCheck-protected. DocCheck is an identification-service for medical professionals on the internet. Please login first in order to receive a password. After having received a passwort, you can login.';}
    return new Element('li', {
        'html': '<a href="'+jsonUrl+'products.html?prid='+url+'">'+imgStr+'<span class="strong">'+name.entityDecode()+'</span><span>'+teaser+'</span></a>'
    });
}

/*TOOLTIPS*/
//remove the flipping behaviour
Tips.implement(
    {
        position: function(event){
            var size = window.getSize(), scroll = window.getScroll();
            var tip = {x: this.tip.offsetWidth, y: this.tip.offsetHeight};
            var props = {x: 'left', y: 'top'};
            for (var z in props){
                var pos = event.page[z] + this.options.offsets[z];
                //if ((pos + tip[z] - scroll[z]) > size[z]) pos = event.page[z] - this.options.offsets[z] - tip[z];
                this.tip.setStyle(props[z], pos);
            }
        }
    }
);
//init
window.addEvent('domready', function(){
    var myTips = new Tips('a.tooltipArea', {className:'toolTipContainer'});
    $$('a.tooltipArea').each(function(el){
        el.store('tip:text', el.getAttribute('rel')+'&nbsp;'); //add nonbreaking space -> opacity on firefox sometimes renders last char incorrectly
    });
    myTips.addEvent('show', function(tip){
        tip.setStyles({'visibility':'visible', 'opacity': 0.9});
    });
    
    //small ones ('websites'-page)
    var myTipsSmall = new Tips('a.tooltipAreaSmall', {className:'toolTipContainerSmall'});
    $$('a.tooltipAreaSmall').each(function(el){
        el.store('tip:text', el.getAttribute('rel')+'&nbsp;');
    });
    myTipsSmall.addEvent('show', function(tip){
        tip.setStyles({'visibility':'visible', 'opacity': 0.9});
    });
    
});
/*
CHOOSE LOCATION
*/
window.addEvent('domready', function(){
    $$('.box_imgMap .continent_chooser a, .box_imgMap map area').each(function(el){
        el.addEvent('click', function(ev){
            $$('.box_imgMap .continent_chooser a').setStyle('font-weight', 'normal');
            ev.target.setStyle('font-weight', 'bold');
            var searchFor = ev.target.getAttribute('rel');
            $$('.box_imgMap .choose_location')[0].getChildren().setStyle('display', 'none');
            $$('.box_imgMap .choose_location .continent')[0].setStyle('display', 'inline');
                
                var contRequest = new Request({method: 'get', url: searchFor, onSuccess: function(responseText, responseXML){
                        responseText = this.response.text;
                        responseXML = this.response.xml;
                        $$('.box_imgMap .choose_location .continent')[0].innerHTML = responseText;
                        //get links in continent
                        $$('.box_imgMap .choose_location .continent')[0].getElements('a').addEvent('click', function(event){
                            
                            $$('.box_imgMap .choose_location .continent a').setStyle('font-weight', 'normal');
                            event.target.setStyle('font-weight', 'bold');
                            //console.log(event.target);
                            var searchFor = event.target.getAttribute('rel');
                            $$('.choose_location .country, .choose_location .location').setStyle('display', 'none');
                            $$('.choose_location .country')[0].setStyle('display', 'inline');
                                
                            var countrRequest = new Request({method: 'get', url: searchFor, onSuccess: function(responseText, responseXML){
                                responseText = this.response.text;
                                responseXML = this.response.xml;
                                $$('.box_imgMap .choose_location .country')[0].innerHTML = responseText;
                                //get links in continent
                                $$('.box_imgMap .choose_location .country')[0].getElements('a').addEvent('click', function(event){
                                
                                    $$('.box_imgMap .choose_location .country a').setStyle('font-weight', 'normal');
                                    event.target.setStyle('font-weight', 'bold');
                                    //console.log(event.target);
                                    var searchFor = event.target.getAttribute('rel');
                                    
                                    $$('.choose_location .location')[0].setStyle('display', 'inline');
                                        //.load('location.php?q='+searchFor+'&what=location');
                                        
                                        var locRequest = new Request({method: 'get', url: searchFor, onSuccess: function(responseText, responseXML){
                                            responseText = this.response.text;
                                            responseXML = this.response.xml;
                                            $$('.box_imgMap .choose_location .location')[0].innerHTML = responseText;
                                        }}).send();
                                        
                                    event.stop();
                                });
                            }}).send();
                            
                            
                            event.stop();
                        });
                    }}).send();
            ev.stop();
        });
    });
    
    
    
    
    
    $$('#box_imgMap_map').each(function(el){
        el.store('oldsrc', el.getProperty('src'));
    });
    
    $$('.continent_chooser a, .box_imgMap map area').each(function(el){
        el.addEvent('mouseout', function(){
            //console.log($$('img#box_imgMap_map'));
            $('box_imgMap_map').setProperty('src', $('box_imgMap_map').retrieve('oldsrc'));
        });
        
        
        el.addEvent('mouseover', function(ev){
            //console.log('img/img_map'+el.getAllPrevious().length+'.jpg')
                
           $$('#box_imgMap_map').setProperty('src', alternateImages[el.getAllPrevious().length]);
        });
        el.addEvent('click', function(ev){
            $$('#box_imgMap_map').store('oldsrc', $('box_imgMap_map').getProperty('src'));
        });
    });
    $$('.box_imgMap map area').each(function(el){
        el.addEvent('click', function(ev){
            var elNum = el.getAllPrevious().length;
            $$('.box_imgMap .continent_chooser a')[elNum].setStyle('font-weight', 'bold');
        });
    });
   
    
});

/*
    PRINT
*/
window.addEvent('domready', function(e){
    $$('a.print').each(function(el){
        el.addEvent('click', function(ev){
            ev.stop(); //do not follow href...
            ev.stopPropagation();
            //var printWindow = window.open(el.href, "bbraun_print", 'status=0,toolbar=0,location=0,menubar=0,directories=0,scrollbars=1,height=689,width=488');
            if(el.hasClass('print2')){  //press release: more width
                var printWindow = window.open(el.href, "bbraun_print2", 'status=0,toolbar=0,location=0,menubar=0,directories=0,scrollbars=1,height=689,width=666');
            }
            else {
                var printWindow = window.open(el.href, "bbraun_print", 'status=0,toolbar=0,location=0,menubar=0,directories=0,scrollbars=1,height=689,width=488');
            }
                printWindow.onload = function(){
                if (window.focus) {printWindow.focus();}
                //printWindow.print();
                
            };
        });
    });

    if(!$(document.body).hasClass('pdf') && typeof $('box_navTop') == 'object')if($$('#box_navTop')[0] && $$('#box_navTop')[0].getStyle('display')=='none'){
        $$('.box_contxt').each(function(el){
            if($$('.box_cnt')[1]){
                el.inject($$('.box_cnt')[1], 'top').setStyle('display', 'block');
            }
        });
        $$('.cnt_accordion_content').each(function(element){element.setStyle('height', 'auto');});
    }
});


window.addEvent('domready', function(e){
    if(Browser.Engine.trident) {
        $$('.box_cnt_glossar .box_cnt_accordion div.cnt_accordion_toggle').each(function(element){
            element.addEvent('mouseenter', function(event){element.addClass('hover');});
            element.addEvent('mouseleave', function(event){element.removeClass('hover');});
        });
    }
});


/*    Pop-Up GoogleMaps
*/
function popGoogleMaps(url) {
    newwindow=window.open(url,'GoogleMapsWin',"width=500,height=300,location=no,menubar=no,resizable=yes,status=yes,toolbar=no,top="+((screen.height-300)/2)+",left="+((screen.width-500)/2));
    if (window.focus) {newwindow.focus()}
    return false;
}

function popNewWin(url) {
    newwindow=window.open(url,'','');
    if (window.focus) {newwindow.focus()}
    return false;
}

function popGeneric(url) {
    newwindow=window.open(url,'BBraunWin',"width=800,height=600,location=no,menubar=no,resizable=yes,status=yes,toolbar=no,top="+((screen.height-300)/2)+",left="+((screen.width-500)/2));
    if (window.focus) {newwindow.focus()}
    return false;
}
function popGenericScroll(url) {
    newwindow=window.open(url,'BBraunWin',"width=800,height=600,location=no,menubar=no,resizable=yes,status=yes,scrollbars=1,toolbar=no,top="+((screen.height-300)/2)+",left="+((screen.width-500)/2));
    if (window.focus) {newwindow.focus()}
    return false;
}

/*
NEWS+PHOTO AUTOSUBMIT
*/
window.addEvent('domready', function(e){
    $$('.cnt_pressphoto_select select').addEvent('change', function(ev){
        var el = ev.target;
        if(!el.hasClass('noauto')){
            el.getParent('form').submit();
        }
    });
}); 
/*lightbox loc*/
var bbr_lb_img = 'Image';
var bbr_lb_of = 'of';
/*sitemap*/
window.addEvent('domready', function(){
    
    
    
    
    
    
    $$('.box_sitemap').each(function(el){
                var siteAccordion = new Accordion(el.getElements('h4'), el.getElements('.box_sitemap_cnt'), {'show':0, 'opacity':false, 'alwaysHide':true, 'show': -1});
        
        el.getElements('h4').addEvent('click', function(ev){
            ev.stop(); //do not follow href...
            ev.stopPropagation();
        });
        siteAccordion.addEvent('active', function(toggler, element){
            element.getParent().addClass('box_sitemap_active').setStyle('margin-bottom', '25px');
        });
        siteAccordion.addEvent('background', function(toggler, element){
            element.getParent().removeClass('box_sitemap_active').setStyle('margin-bottom', '0');;
        });
        
    });
    
    
});


/*
lists, floated images and IE
*/
window.addEvent('domready', function(){
    
if(Browser.Engine.trident) {
    $$('.cnt_img_text').each(function(el){
        if( el.getElement('div.img_lt') != null && el.getElement('ul') != null ){
            var imgwidth = el.getElement('img').getSize.x + 10;
            el.getElements('ul').setStyle('margin-left', imgwidth);
        }
    });
    $$('div.prodNav_4levels').each(function(el){
    if(el.getChildren().length == 1) {
        el.getElement('.lvl1').setStyle('clear', 'left');
    }
    else {
        $$('div.lvl4').each(function(el){
            el.getParent().setStyle('width', '732px').setStyle('margin-right', '-20px');
        });    
    }
    });
  /*  $$('div.lvl2').each(function(el){
        el.getParent().setStyle('width', '357px');
    });
    $$('div.lvl3').each(function(el){
        el.getParent().setStyle('width', '543px');
    });*/
    
 }
});

/* email replace*/
window.addEvent('domready', function(){
    $$('span.mailreplace').each(function(el){
        var mail = el.get('text').replace(/ \[dot\] /g, '.').replace(' [at] ', '@')
        new Element('a',{
            'href': 'mailto:'+mail,
            'text': mail,
            'class': 'more'
        }).replaces(el);
    });
    });
 /*
BMI Calculator
*/
var BmiCalc = new Class({
    Implements: [Events, Options],
    options: {
        container: $(document.body),
        strings: {

            weight: '',
            height: '',
            send:    '',
            cancel:  '',
            yourBmi: '',
            comment: '',
            results: [
                '',
                '',
                '',
                '',
                '',
                ''
            ]

        }
    },
    initialize: function(options){
        this.setOptions(options);
        this.buildForm();
    },
    calc: function(options) {
        if(!options.height || !options.weight){
            return;
        }
        var m = options.height / 100;
        return (options.weight/(m*m)).round(2);
    },
    calcOutput: function(options) {
        var bmi = this.calc(options);
        if(!bmi){
            $('bmi_output').setStyle('display', 'none'); return;
        }
        
        var comment = '';
        
        if (bmi >= 40.00) {                      comment = this.options.strings.results[0];}
        else if (bmi >=35.00 && bmi < 40) {comment = this.options.strings.results[1];}
        else if (bmi >=30.00 && bmi < 35) {comment = this.options.strings.results[2];}
        else if (bmi >=25.00 && bmi < 30) {comment = this.options.strings.results[3];}
        else if (bmi >=18.50 && bmi < 25) {comment = this.options.strings.results[4];}
        else if (bmi < 18.50) {               comment = this.options.strings.results[5];}
        
        
        $('bmi_output').setStyle('display', 'block');
        $('bmi_result').set('text', bmi);
        $('bmi_comment').set('html', comment);
        
        
    },
    buildForm: function(options){
        this.form = new Element('form', {html:'<h4>BMI</h4><label>'+this.options.strings.weight+'</label><input id="bmi_weight" value="" maxlength="64" type="text">'
            +'<label>'+this.options.strings.height+'</label><input id="bmi_height" value="" maxlength="64" type="text">'
            +'<div class="clr"></div><label>&nbsp;</label><input id="bmi_cancel" value="'+this.options.strings.cancel+'" title="'+this.options.strings.cancel+'" class="submit" type="reset">'
            +'<input value="'+this.options.strings.send+'" id="bmi_send" title="'+this.options.strings.send+'" class="submit" type="submit"><div class="clr"></div>'
            +'<div id="bmi_output" style="display:none"><label>'+this.options.strings.yourBmi+'&nbsp;</label><span id="bmi_result"></span><br /><label class="clr">'+this.options.strings.comment+'&nbsp;</label> <span id="bmi_comment"></span><br /></div>'
        }).inject(new Element('div', {id:'frame_formbuilder'}));
        this.form.getParent().inject(this.options.container);
            
        this.form.addEvent('submit', function(ev){
            ev.stop();
            this.calcOutput({height:$('bmi_height').get('value'), weight:$('bmi_weight').get('value')});
        }.bind(this));
        $('bmi_cancel').addEvent('click', function(){$('bmi_output').setStyle('display', 'none');});
    }
});
var bmi = null;

window.addEvent('domready', function(ev){
if($('bmi_calc')){
    bmi = new BmiCalc({container:$('bmi_calc')});
    }
});