document.write('<style type="text/css">.jsshow { display: block; } .jshide, .jshide .mSection, .jshide .ml { display: none; } .mTabs .jshide .mc { position: absolute; } .target { cursor: pointer; } .target:hover .readmore { text-decoration: none; } .mSection .target:hover .readmore { text-decoration: underline; }</style>');

// disable selection of text
$.extend($.fn.disableTextSelect = function() {
  return this.each(function(){
    if ($.browser.mozilla) {
      $(this).css('MozUserSelect', 'none');
    } else if ($.browser.msie) {
      $(this).bind('selectstart', function() { return false; });
    } else {
      $(this).mousedown(function() { return false; });
    }
  });
});

var ENGELBRECHTS = {
  utils: {
    browser: {},
    ie: 0,
    fancybox: {
    'overlayShow': true,
      'overlayOpacity': 0.1,
      'zoomSpeedIn': 300,
      'zoomSpeedOut': 200,
      'frameWidth': 640,
    'frameHeight': 360
    },
    loader: function(funcs) {
      for (var i = funcs.length; i--;) {
        if (typeof funcs[i] !== 'undefined') {
          funcs[i].init();
        }
      }
    }
  },
  init: function() {
    this.utils.browser = $.browser;
    if (this.utils.browser.msie) {
      this.utils.ie = parseInt(this.utils.browser.version, 10);
    }
    
    // fancybox
    $('a.fancybox').fancybox(ENGELBRECHTS.utils.fancybox);

    this.utils.loader([
      this.tabs,
      this.imagerotator,
      this.imagesvideo,
      this.references,
      this.targets,
      this.misc
    ]);
  },
  tabs: {
    init: function() {
      $('div.mTabs').each(function() {
        var $this = $(this),
            $linkContainer = $this.find('div.jsshow ul.links'),
            linkHeight = $linkContainer.height() + 20,
            $links = $linkContainer.find('a'),
            $content = $this.find('div.content:first'),
            $tabs = $content.find('div.mSection'),
            hash = $.query.get('t') ? '#'+ $.query.get('t') : document.location.hash;
            change = function($link) {
              var index = $links.index($link),
                  $tab = $tabs.hide().eq(index),
                  height = $tab.show().find('div.mc').height() + 5;
              
              $link.parent().addClass('active').siblings('li.active').removeClass('active');
              $content.dequeue().animate({
                height: height > linkHeight ? height : linkHeight
              }, 500, 'easeInOutQuad');
            };
        
        $links.mousedown(function() {
          var $link = $(this);
          if(!ENGELBRECHTS.utils.browser.safari) {
            document.location.replace($.query.SET('t', $link.attr('href').replace('#', '')).toString());
          }
          change($link);
        }).click(function() {
          return false;
        }).resize(function() {
          change($(this));
        });
        
        if($tabs.filter(hash).length > 0) {
          change($links.eq($tabs.index($tabs.filter(hash))));
        } else {
          change($links.eq(0));
        }
      });
    }
  },
  imagerotator: {
    init: function() {
      $('div.imagerotator:not(.bound)').each(function() {
        var $this = $(this).addClass('bound'),
            $lis = $this.find('li').filter(':not(.active)').css('opacity', 0).end(),
            $as = $this.find('p.moreimages a'),
            active = 0,
            z = 1;
                
        $as.mousedown(function() {
          var index = $as.index(this);
          $(this).addClass('active').siblings().removeClass('active');
          if(index !== active) {
            $($lis[index]).css({ zIndex: z++, opacity: 0, display: 'block' }).stop().animate({ opacity: 1 }, 400);
          }
          active = index;
        }).click(function() { return false; });
      });
    }
  },
  imagesvideo: {
    init: function() {
      $('div.mImagesVideo').each(function() {
        var $container = $(this),
            $tabs = $container.find('div.hd ul'),
            $bd = $container.find('div.bd');
        
        if ($($tabs).find('li').length > 1) {
        
          $tabs.find('li').mousedown(function(){
            var className = $(this).attr('class'), marginLeft = (className === 'video') ? 0 : -450;
            
            $tabs.removeClass('images video').addClass(className);
            if (ENGELBRECHTS.utils.ie > 0 && ENGELBRECHTS.utils.ie < 6) {
              if (className === 'video') {
                $bd.find('div.images').hide();
              }
              else {
                $bd.find('div.images').show();
              }
            }
            else {
              $bd.dequeue().animate({
                marginLeft: marginLeft
              }, 500, 'easeInOutQuad');
            }
          }).disableTextSelect();
        } else {
          $($tabs).find('li').css('cursor', 'default');
        }
      });
    }
  },
  references: {
    init: function() {
      $('div.mReference').each(function() {
        var $container = $(this),
            $tabs = $container.parents('div.mTabs').find('div.tabs li'),
            $prevnext = $container.find('div.hd span').disableTextSelect(),
            $select = $container.find('div.hd select'),
            lang = $select.attr('class'),
            $options = $select.find('option'),
            options = $options.length - 1,
            $content = $container.find('div.content'),
            active =  $options.index($options.filter(':selected')),
            rid = $.query.get('rid');
        
        $select.bind('change resize', function() {
          var val = $select.val();
          
          $select.blur();
          active = $options.index($options.filter(':selected'));
          if(!ENGELBRECHTS.utils.browser.safari) {
            document.location.replace($.query.SET('rid', val).toString());
          }
          
          $content.dequeue().animate({
            opacity: 0.001
          }, 150, function() {        
            $.get('/reference.php', 'referenceId='+ val +'&lang='+ lang, function(data) {
              if(typeof data !== 'undefined') {
                switch(data.status) {
                  case 'ok':
                    $content.html(data.html).find('a.fancybox').fancybox(ENGELBRECHTS.utils.fancybox).end().dequeue().animate({ opacity: 1 }, 500);
                    $tabs.filter('.active').find('a').resize();
                    ENGELBRECHTS.imagerotator.init();
                    break;
                  default:
                    $content.dequeue().animate({ opacity: 1 }, 300, 'easeInOutQuad');
                    break;
                }
              }
            }, 'json');
          });
        });
        
        $prevnext.mousedown(function() {
          var newActive = $(this).hasClass('prev') ? active - 1 : active + 1;
          
          if(newActive < 0) {
            newActive = options;
          } else if(newActive > options) {
            newActive = 0
          }
          
          $options.attr('selected', '').eq(newActive).attr('selected', 'selected');
          $select.resize();
        });
        
        if(rid && $options.filter('[value='+ rid +']').length > 0) {
          $options.attr('selected', '').filter('[value='+ rid +']').eq(0).attr('selected', 'selected');
          $select.resize();
        }
        
      });
    }
  },
  targets: {
    init: function() {
      $('.target').live('click', function(e) {
        if (e.button === 0) {
          var $link = $(this).find('a:first');
          if ($link.length > 0) {
            var href = $link.attr('href');
            if (href) {          
              if ($link.attr('target') === '_blank') {
                window.open(href);
              } else {
                document.location = href;
              }
            }
          }
        }
      });
    }
  },
  misc: {
    init: function() {
      // print
      $('#print').click(function() {
        window.print();
      }).disableTextSelect();

      $('#flashFront span').each(function() {
        var $this = $(this),
            lang = $(this).attr('class');
        $this.flash({
          swf: '/flash/slideshow.swf',
          width: 985,
          height: 500,
          flashvars: {
            xmlPath: '/frontpagexml.php?lang='+ lang
          }
        });
      });
      
      $('.orderChair').each(function() {
        var $w = $(window),
            container = $(this),
            select = $('#edit-chairtype'),
            toggle = container.position().top + 40,
            image = container.find('.image'),
            imageUl = image.find('ul'),
            imageWidth = 250,
            scrollTop,
            scroll = function() {
              scrollTop = $w.scrollTop();
              if(scrollTop > toggle) {
                image.addClass('sticked');
              } else {
                image.removeClass('sticked');
              }
            },
            change = function() {
              imageUl.css('marginLeft', -imageWidth * select.val());
            }
/*        
        if(!$.browser.msie || parseInt($.browser.version, 10) !== 6) {
          $w.bind('scroll', jQuery.throttle( 50, function() { scroll(); }));
          scroll();
        }*/
       
        $('#edit-chairtype').change(function() {
          change();
        });
        
        change();
      });
    }
  },
  video: function(obj) {
    if(typeof obj.target !== 'undefined' && typeof obj.flv !== 'undefined') {
      var flv = obj.flv,
          swf = obj.swf || '/flash/videoplayer.swf',
          width = obj.width || 450,
          height = obj.height || 300,
          videoWidth = 450,
          videoHeight = 253,
          img = obj.img || '/flash/stillimage.jpg';
      $(obj.target).flash({
        swf: swf,
        width: width,
        height: height,
        allowfullscreen: true,
        //wmode: 'transparent',
        flashvars: {
          streamPath: flv,
          streamImagePath: img,
          videoWidth: videoWidth,
          videoHeight: videoHeight,
          enableFullScreen: true
        }
      });
    }
  }
};

$(function() {
  ENGELBRECHTS.init();
});

