/*
 * dynamic ScrollArea
 * von Olaf Bosch http://olaf-bosch.de
 * Demo: http://olaf-bosch.de/bugs/jquery/scroll_area/
 * Copyright (c) 2007 Olaf Bosch
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 * $Date: 2007-11-02
 * $Rev: 1.0
 **************** Example ****************************
 * Your Document Structur, the rest is automatic
    <div id="main">
      <div id="header">
      </div>
      <div id="scroller">
      </div>
      <div id="footer">
      </div>
    </div>
 */
$(document).ready(function(){
  function setheight() {
    var min_h = '500'; // Mindesthoehe des Viewport, ab dann greift das Script
    var pagesize = TB_getPageSize();
    var win_w = pagesize[0];
    var win_h = pagesize[1];
    var main_w = $("#main").width();
    var main_w1 = ( main_w + 1 );
    if (win_w >= main_w1 ){
      if (win_h >= min_h){
        if ($.browser.msie){
          if ($.browser.version <= 6){
            $("html").css({ "overflow":"hidden" , height : win_h });
            $("body").css({ "overflow":"hidden", height : win_h });
          }
          if ($.browser.version > 6){
            $("html").css({ "overflow":"auto" , height : win_h });
          }
        } else {
          $("html").css({ height : win_h, "overflow" : "hidden" });
        }
        var header_h = $("#header").height();
        var footer_h = $("#footer").height();
        var sum_h = (header_h + footer_h);
        if ($.browser.msie && $.browser.version <= 6){
          var scroll_h = ((win_h - sum_h) + 16);
        } else {
          var scroll_h = (win_h - sum_h);
        }
        var margin_w = '-'+(main_w/2)+'px';
        $("#scroller").css({ height: scroll_h+"px" });
      }
    }
  }; // setheight

  function change() {
    if ($.browser.msie){
      if ($.browser.version <= 6){
        $("html").css({ "overflow":"scroll", height : "auto" });
        $("body").css({ "overflow":"scroll", height : "auto" });
        } else {
        $("body").css({ "overflow":"visible", height : "auto" });
      }
    } else {
      $("html").css({ "overflow":"scroll", height : "auto" });
      $("body").css({ "overflow":"visible", height : "auto" });

    }
    $("#scroller").css({ height: "auto" });
    setheight();
    return false;
  }; // change

  function TB_getPageSize(){
    var de = document.documentElement;
    var w = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
    var h = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight;
    arrayPageSize = new Array(w,h);
    return arrayPageSize;
  }; // TB_getPageSize

/**
 * @projectDescription Monitor Font Size Changes with jQuery
 * @version 1.0
 * @author Dave Cardwell
 * jQuery-Em - $Revision$ ($Date$)
 * http://davecardwell.co.uk/javascript/jquery/plugins/jquery-em/
 * Copyright ©2007 Dave Cardwell <http://davecardwell.co.uk/>
 * Released under the MIT licence:
 * http://www.opensource.org/licenses/mit-license.php
 */
jQuery(function($) {
    var eventName = 'emchange';
    $.em = $.extend({
        version: '1.0',
        delay: 200,
        element: $('<div />').css({ left:     '-100em',
                                    position: 'absolute',
                                    width:    '100em' })
                             .prependTo('body')[0],
        action: function() {
            var currentWidth = $.em.element.offsetWidth / 100;
            if ( currentWidth != $.em.current ) {
                $.em.previous = $.em.current;
                $.em.current = currentWidth;
                $.event.trigger(eventName, [$.em.current, $.em.previous]);
            }
        }
    }, $.em );
    $.fn[eventName] = function(fn) { return fn ? this.bind(eventName, fn)
                                               : this.trigger(eventName); };
    $.em.current = $.em.element.offsetWidth / 100;
    $.em.iid = setInterval( $.em.action, $.em.delay );
}); // jQuery-Em

  setheight();

  $(window).bind('resize', function() {
    change();
  }).trigger('resize');

  $("body").emchange( function() {
  if (!$.browser.msie){
    change();
  }
  });

}); // ready