
	$.fn.centerInClient = function(options) {
	    /// <summary>Centers the selected items in the browser window. Takes into account scroll position.
	    /// Ideally the selected set should only match a single element.
	    /// </summary>    
	    /// <param name="fn" type="Function">Optional function called when centering is complete. Passed DOM element as parameter</param>    
	    /// <param name="forceAbsolute" type="Boolean">if true forces the element to be removed from the document flow 
	    ///  and attached to the body element to ensure proper absolute positioning. 
	    /// Be aware that this may cause ID hierachy for CSS styles to be affected.
	    /// </param>
	    /// <returns type="jQuery" />
	    var opt = { forceAbsolute: false,
	                container: window,    // selector of element to center in
	                completeHandler: null
	              };
	    $.extend(opt, options);

	    return this.each(function(i) {
	        var el = $(this);
	        var jWin = $(opt.container);
	        var isWin = opt.container == window;

	        // force to the top of document to ENSURE that 
	        // document absolute positioning is available
	        if (opt.forceAbsolute) {
	            if (isWin)
	                el.remove().appendTo("body");
	            else
	                el.remove().appendTo(jWin.get(0));
	        }

	        // have to make absolute
	        el.css("position", "absolute");

	        // height is off a bit so fudge it
	        var heightFudge = isWin ? 2.0 : 1.8;

	        var x = (isWin ? jWin.width() : jWin.outerWidth()) / 2 - el.outerWidth() / 2;
	        var y = (isWin ? jWin.height() : jWin.outerHeight()) / heightFudge - el.outerHeight() / 2;

	        el.css("left", x + jWin.scrollLeft());
	        el.css("top", y + jWin.scrollTop());

	        // if specified make callback and pass element
	        if (opt.completeHandler)
	            opt.completeHandler(this);
	    });
	}


$(document).ready(function(){
	

	$("div.middle").centerInClient();
	
	$(window).bind("load", function() { 

	       var footerHeight = 0,
	           footerTop = 0,
	           $footer = $("#footer");

	       positionFooter();

	       function positionFooter() {

	                footerHeight = $footer.height();
	                footerTop = ($(window).scrollTop()+$(window).height()-footerHeight)+"px";

	               if ( ($(document.body).height()+footerHeight) < $(window).height()) {
	                   $footer.css({
	                        position: "absolute"
	                   }).animate({
	                        top: footerTop
	                   })
	               } else {
	                   $footer.css({
	                        position: "static"
	                   })
	               }

	       }

	       $(window)
	               .scroll(positionFooter)
	               .resize(positionFooter)

			});
	
});
