function $t(term){
  document.write(Baglietto.getTerm(term));
}

var Baglietto = {
  locale: '',
  _animation: { menu: false },
  MAIN_MENU: 0,
  SUB_MENU: 1,
  PAGE_MENU: 2,
  MENU_TIMEOUT: 1000,
  currentMenuPanel: 0,
  _defaultMenuPanel: 0,
  _menuPanelTimeout: null,
  _smallScreen: false,
  _activeSubMenu: -1,
  cubic: function(pos) {
    pos /= 0.5; return pos<1 ? 0.5*pos*pos*pos : 0.5*((pos-2)*(pos-2)*(pos-2)+2);
  },
  _open: { 'menu-left':false, 'menu-right':false },
  projectedWidths: function(){
    var width = Position.getPageSize().window.width-65;
    var contentWidth = $A($('content').cleanWhitespace().childNodes).inject(0,function(memo,node){ return memo+(node.offsetWidth || 0) });
    var fillingWidth = width-contentWidth-(236*2+65);
    return [fillingWidth, contentWidth, width];
  },
  redraw: function(){
    var scrollLeft = Position.scrollX();
    var height     = Position.getPageSize().window.height;
  
   /* $('logo').setStyle({ top: ((height-504)/2)+(Baglietto._smallScreen ? 400 : 520)+'px' });
    if($('layout').offsetLeft > 0) $('logo').setStyle({
      marginLeft: $('layout').offsetLeft-68-22+'px'
    });*/
    if($('thumbs-icon'))
      $('thumbs-icon').setStyle({ top: ((height-504)/2)+520+'px' });
   
    var t = (height-504)/2;
    $('layout').setStyle({top:(t<0?0:t)+'px'});
    
    if($('filling')){
      if(Baglietto.beforeFillingEvent) Baglietto.beforeFillingEvent();
      var widths = Baglietto.projectedWidths();
      var width = widths[2], contentWidth = widths[1], fillingWidth = widths[0];
      
      if(fillingWidth>0){
        $('filling').show().setStyle({width: width-contentWidth-(236*2+65)+'px'});
        $('wrapper').setStyle({width: width+'px'});
        $('layout').setStyle({width: width+'px'});
      } else {
        $('filling').hide();
        $('wrapper').setStyle({width: contentWidth+(236*2+65)+'px'});
        $('layout').setStyle({width: contentWidth+(236*2+65)+'px'});
      }
    }
  },
  enableIESupport: function(){
    Baglietto.redraw = function(){
      var scrollLeft = Position.scrollX();
      var height     = Position.getPageSize().window.height;
      
   /*   if($('layout').offsetLeft > 0) $('logo').setStyle({
        marginLeft: $('layout').offsetLeft+'px'
      });
      
      $('logo').setStyle({
        top:  ((Position.getPageSize().window.height-504)/2)+(Baglietto._smallScreen ? 400 : 520)+'px',
        left: (Position.scrollX()+36)+'px'
      });*/
      
      /*if($('thumbs-icon')) $('thumbs-icon').setStyle({ 
        top: ((height-504)/2)+520+'px'
      });*/
      
      if($('filling')){
        if(Baglietto.beforeFillingEvent) Baglietto.beforeFillingEvent();
        var widths = Baglietto.projectedWidths();
        var width = widths[2], contentWidth = widths[1], fillingWidth = widths[0];
        
        if(fillingWidth>0){
          $('filling').show().setStyle({width: width-contentWidth-(236*2+65)+'px'});
          $('wrapper').setStyle({width: width+'px'});
          $('layout').setStyle({width: width+'px'});
        } else {
          $('filling').hide();
          $('wrapper').setStyle({width: contentWidth+(236*2+65)+'px'});
          $('layout').setStyle({width: contentWidth+(236*2+65)+'px'});
        }
      }
      
      var t = (height-504)/2;
      $('layout').setStyle({top:(t<0?0:t)+'px'});
    }
    $('page-body').addClassName('ie6');
    Event.observe(window,'scroll',function(){
   /*   $('logo').setStyle({
        top:  ((Position.getPageSize().window.height-504)/2)+(Baglietto._smallScreen ? 400 : 520)+'px',
        left: (Position.scrollX()+36)+'px'
      });*/
    });
  },
  initialize: function(id){
    Baglietto.id     = id;
    Baglietto.locale = 'de';
    Baglietto.parseMenu();
    if(Engine.isMSIE) Baglietto.enableIESupport();
    Event.observe(window,'resize',Baglietto.redraw);
    Baglietto.redraw();
    
    if(arguments[1]) {
      this._defaultMenuPanel = arguments[1];
      if(Baglietto._activeSubMenu>-1 && this._defaultMenuPanel==this.SUB_MENU) {
        Baglietto.openSubmenu(Baglietto._activeSubMenu,{animation:false});
      } else {
        this.showMenuPanel(arguments[1],{animation:false});
      }
    }
    
    if(Baglietto._activeSubMenu>-1) Baglietto._renderSubMenu(Baglietto._activeSubMenu);
    
    ['menu-left','menu-right'].each(function(side){
      if($(side)){
        Event.observe(side,'mouseout',this.startMenuPanelTimeout.bindAsEventListener(this));
        Event.observe(side,'mousemove',this.clearMenuPanelTimeout.bindAsEventListener(this));
      }
    }.bind(this));
    
  /*  if($('logo') && !$('logo').hasClassName('noscroll'))
           Event.observe('logo','click',function(){
            // oog - copied from getCookie in localize.js
    
          	var dc = document.cookie;
          	var prefix = "site=";
          	var begin = dc.indexOf("; " + prefix);      
          	if (begin == -1) {
          	  begin = dc.indexOf(prefix);
          	  if (begin != 0) return;
          	}
          	else {
          	  begin += 2;
          	}
          	var end = document.cookie.indexOf(";", begin);
          	if (end == -1) {
          	  end = dc.length;
          	}
          	var page = '/' + unescape(dc.substring(begin + prefix.length, end))
              + '/index2.html';
          	prefix = "";
          	var durl = document.URL;
          	begin = durl.indexOf('://');
          	if(begin != -1) {
          	  begin += 3;
          	  end = durl.indexOf('/', begin);
          	  if(end != -1) {
          	    prefix = 'http://' + unescape(durl.substring(begin, end));
          	  }
          	}
    	Baglietto.hbxHit('logo');
            document.location = prefix + page;
      });*/
    
    $$('div.spacer-column').each(function(s,i){
      Event.observe(s,'click',function(event){
        Baglietto.spacerEvent ? Baglietto.spacerEvent(i, Event.localPointer(event)[0]<33 ? 1 : -1) : 
          new Effect.HScroll(Event.localPointer(event)[0]<33 ? 821 : -821);
      });
      Event.observe(s,'mousemove',function(event){
        var d = Event.localPointer(event)[0]<33 ? '-65' : '-130';
        s.style.backgroundPosition = d + 'px 0px';
      });
      Event.observe(s,'mouseout',function(event){
        s.style.backgroundPosition = '0px 0px';
      });
    });
    
    if(Engine.isMSIE) $$('a').each(function(n){ n.hidefocus = 'hidefocus' })
  },
  
  setSpacerEvent: function(callback){
    Baglietto.spacerEvent = callback;
  },
  
  setOnBeforeFilling: function(callback){
    Baglietto.beforeFillingEvent = callback;
  },
  
  setCustomTimeoutMenuEvent: function(e){
    this._customTimeoutMenuEvent = e;
  },
  
  startMenuPanelTimeout: function(event){
    if($('menu-left')) {
      var p = Event.localPointer(event,'menu-left');
      if(p[0]>0 && p[0]<236 && p[1]>0 && p[1]<504) return;
    }
    if($('menu-right')) {
      var p = Event.localPointer(event,'menu-right');
      if(p[0]>0 && p[0]<236 && p[1]>0 && p[1]<504) return;
    }
    this.clearMenuPanelTimeout();
    this._menuPanelTimeout = setTimeout(function(){
      if(Baglietto._customTimeoutMenuEvent) {
        Baglietto._customTimeoutMenuEvent();
        return;
      }
      Baglietto.showMenuPanel(Baglietto._defaultMenuPanel,{restore:true}) 
    }, Baglietto.MENU_TIMEOUT);
  },
  clearMenuPanelTimeout: function(){
    if(this._menuPanelTimeout) {
      clearTimeout(this._menuPanelTimeout);
      this._menuPanelTimeout = null
    }
  },
  getTerm: function(term) {
    return Baglietto._menu ? (Baglietto._menu.term[term] || '!('+term+')') : '!(menu?)';
  },
  getScaledLayoutFactor: function(delta) {
    var curWidth = $('wrapper').offsetWidth;
    return ((curWidth+delta)/curWidth)*100;
  },
  scaleLayout: function(delta) {
    var pct      = this.getScaledLayoutFactor(delta);
    return [
      new Effect.Scale('wrapper',pct, {scaleY:false,scaleContent:false,sync:true}),
      new Effect.Scale('layout', pct, {scaleY:false,scaleContent:false,sync:true})
    ]
  },
  setMenu: function(menu){
    Baglietto._menu = menu;
  },
  parseMenu: function(){
    function _renderItem(item){
      var cl = (Baglietto.id == item.id) ? ['active'] : [];
      if(item.klass) cl.push(item.klass);
      var c = '';
      var url = "http://" + location.host + item.url;
      if(item.secure) {
        url = "https://" + location.host + item.url;
      } 
      if(cl.length>0) c = ' class="'+cl.join(' ')+'"';
      
      Baglietto._menuPanel += '<p><a href="'+url+'"'+c+'>'+item.name.gsub(/\n/,'<br/>').gsub(/\s/,'&nbsp;')+'</a></p>';
    }
    function _renderSubmenuItem(item){
      if(Baglietto.id == item.id){
        Baglietto._activeSubMenu = currentSubmenu;
      }
      var cl = (Baglietto.id == item.id) ? ['active'] : [];
      if(item.klass) cl.push(item.klass);
      var c = '';
      if(cl.length>0) c = ' class="'+cl.join(' ')+'"';
      
      Baglietto._subMenus[currentSubmenu] += '<p><a href="http://' + location.host + item.url+'"'+c+'>'+item.name.gsub(/\n/,'<br/>').gsub(/\s/,'&nbsp;')+'</a></p>';
    }
    function _renderSubmenu(submenu){
      currentSubmenu++;
      Baglietto._subMenus.push('');
      
      var cl = ['submenu'];
      if(submenu.klass) cl.push(submenu.klass);
      
      Baglietto._menuPanel += '<p><a class="'+cl.join(' ')+'" href="#" onclick="Baglietto.openSubmenu('+currentSubmenu+'); return false">'+submenu.name.gsub(/\s/,'&nbsp;')+'</a></p>';
      if(submenu.item) submenu.item.each(_renderSubmenuItem);
    }
    function _renderList(list){
      if(list.item) list.item.each(_renderItem);
      if(list.submenu) list.submenu.each(_renderSubmenu);
    }
    function _renderBlock(block){
      if(block.item) block.item.each(_renderItem);
      if(block.list) block.list.each(_renderList);
      Baglietto._menuPanel += '<br/>';
    }
    var currentSubmenu = -1;
    
    Baglietto._menuPanel = '';
    Baglietto._subMenus  = [];
    Baglietto._menu.block.each(_renderBlock);
    
    ['menu-left','menu-right'].each(function(side){
      if($(side+'-main')) $(side+'-main').update(Baglietto._menuPanel);
    });
  },
  _renderSubMenu: function(submenu, custom){
    submenu = custom ? custom : Baglietto._subMenus[submenu];
    if($('menu-left-submenu')) $('menu-left-submenu').update(submenu+
      '<p class="level-up"><a href="#" onclick="Baglietto.showMenuPanel(Baglietto.MAIN_MENU);return false">' +
      Baglietto._menu.term.main +
      '</a></p>'
    );
    if($('menu-right-submenu')) $('menu-right-submenu').update(submenu+
      '<p class="level-up"><a href="#" onclick="Baglietto.showMenuPanel(Baglietto.MAIN_MENU);return false">' +
      Baglietto._menu.term.main +
      '</a></p>'
    );
  },
  showMenuPanel: function(panel){
    if(Baglietto._animation.menu) return;
    
    var options =  Object.extend({
      animation: true,
      restore:   false,
      custom:    false
    }, arguments[1] || {});
    
    if(options.restore && Baglietto._activeSubMenu>-1){
      Baglietto._renderSubMenu(Baglietto._activeSubMenu, options.custom);
    }
    
    if(!options.animation){
      if($('menu-left-scroll')) {
        $('menu-left-scroll').style.left = -$('menu-left').offsetWidth * panel + 'px';
        $('menu-left-background').style.left = -$('menu-left').offsetWidth * panel + 'px';
      }
      if($('menu-right-scroll')) {
        $('menu-right-scroll').style.left = -$('menu-right').offsetWidth * (2-panel) + 'px';
        $('menu-right-background').style.left = -$('menu-right').offsetWidth * (2-panel) + 'px';
      }
      Baglietto.currentMenuPanel = panel;
      return;
    }
    
    Baglietto._animation.menu = true;
    if($('menu-left-scroll')) new Effect.Move('menu-left-scroll',{ 
      x: -(panel-Baglietto.currentMenuPanel)*$('menu-left').offsetWidth,
      transition: Baglietto.cubic, 
      duration: 0.6,
      afterUpdate: function(){
        $('menu-left-background').style.left = $('menu-left-scroll').style.left;
      },
      afterFinish: function(){
        Baglietto.currentMenuPanel = panel;
        Baglietto._animation.menu = false;
      }
    });
    if($('menu-right-scroll')) new Effect.Move('menu-right-scroll',{ 
      x: (panel-Baglietto.currentMenuPanel)*$('menu-right').offsetWidth,
      transition: Baglietto.cubic, 
      duration: 0.6,
      afterUpdate: function(){
        $('menu-right-background').style.left = $('menu-right-scroll').style.left;
      },
      afterFinish: function(){
        Baglietto.currentMenuPanel = panel;
        Baglietto._animation.menu = false;
      }
    });
  },
  openSubmenu: function(submenu){
    if(Baglietto._animation.menu) return;
    if($('menu-left-submenu')) $('menu-left-submenu').update(Baglietto._subMenus[submenu]+
      '<p class="level-up"><a href="#" onclick="Baglietto.showMenuPanel(Baglietto.MAIN_MENU);return false">' +
      Baglietto._menu.term.main +
      '</a></p>'
    );
    if($('menu-right-submenu')) $('menu-right-submenu').update(Baglietto._subMenus[submenu]+
      '<p class="level-up"><a href="#" onclick="Baglietto.showMenuPanel(Baglietto.MAIN_MENU);return false">' +
      Baglietto._menu.term.main +
      '</a></p>'
    );
    
    Baglietto.showMenuPanel(Baglietto.SUB_MENU,arguments[1]||null);
  },
  getPageFragmentIdentifier: function(){
    return location.href.split('#').inGroupsOf(2).flatten()[1];
  },
  setPageFragmentIdentifier: function(id){
    var url = location.href.split('#');
    location.href = url[0] + '#' + id;
  },  
  openPopup: function(url) {
    var w = window.open(url,'Baglietto','height=450,width=395,directories=no,location=no,menubar=no,scrollbars=yes,status=no,toolbar=no,resizable=no');
    w.focus();
  },
  _scrollPanels: {},
  scrollPanel: function(panel, handle, track, scrollHeight) {
    if(panel.scrollHeight > (scrollHeight || 372)) {
      panel.addClassName('with-scrollbar');
      $(track).style.display = 'block';
      this._scrollPanels[panel] = new Control.Slider( handle, track, { 
        axis: 'vertical',
        onSlide:function(v) { 
          var height = panel.scrollHeight;
          panel.scrollTop = (v*(height-(scrollHeight || 372)));
        },
        onChange:function(v) {
          var height = panel.scrollHeight;
          panel.scrollTop = (v*(height-(scrollHeight || 372)));
        }
      });
      wheelCallback = function(delta){
        var factor = Engine.isKHTML ? 0.03 : 0.07;
        Baglietto._scrollPanels[panel].setValueBy(delta > 0 ? -factor : factor);
      }
    }
    if (panel.id == 'summary') { //only for checkout's summary scrollbar
      track.style.display = (panel.offsetHeight < (scrollHeight || 350)) ? 'none' : 'block';
    }
  },
  centerPanel: function(panel, width){
    panel = $(panel);
    width = width || panel.offsetWidth;
    Position.prepare();
    var w = Position.getPageSize().window.width;
    var p = Position.cumulativeOffset(panel)[0];
    var d = (p - (w - width)/2) - Position.scrollX();
    if(d == 0) return false;    
    new Effect.HScroll(d,Object.extend({
      duration: (Math.log(Math.abs(d*d))/10),
      transition: Baglietto.cubic
    }, arguments[2] || {}));
  },
  hbxHit: function(pageName){
       	if(typeof hbx != 'undefined') {
    	  var site = siteStuff.getSiteFromCookie();
    	  var t = siteStuff.getSiteData(site);
    	  if(t == null) {
    		t = {};
    		t.hbxRegion = "unknown";
    		t.region = "unknown";
    		t.language = "unknown";
    	  }
    	
    	  _hbSet('cpv.cacct',hbxCommerce);
          _hbSet('cpv.bd','Baglietto');	
    	  var mlc2 ='/'+t.hbxRegion+'/'+t.region+'/'+t.language+'/'+pageName;
          _hbPageView(pageName,mlc2);
        }
  }
}

if(typeof localizedMenu != "undefined") document.write('<script type="text/javascript" src="'+localizedMenu+'"></script>');

