(function(a){a.ScrollToFixed=function(c,f){var i=this;i.$el=a(c);i.el=c;i.$el.data("ScrollToFixed",i);var b=false;var t=i.$el;var s=0;var l=0;var g=-1;var d=-1;var m=null;function n(){h();d=-1;s=t.offset().top;l=t.offset().left;if(g==-1){orginalOffsetLeft=l}b=true;if(i.options.bottom!=-1){p()}}function k(){return t.css("position")=="fixed"}function q(){return t.css("position")=="absolute"}function e(){return !(k()||q())}function p(){if(!k()){m.css({display:t.css("display"),width:t.outerWidth(true),height:t.outerHeight(true),"float":t.css("float")});t.css({width:t.width(),position:"fixed",top:i.options.bottom==-1?i.options.marginTop:"",bottom:i.options.bottom==-1?"":i.options.bottom,})}}function h(){if(!e()){d=-1;m.css("display","none");t.css({width:"",position:"",left:"",top:""})}}function o(u){if(u!=d){t.css("left",l-u);d=u}}function r(){if(!b){n()}var u=a(window).scrollLeft();var v=a(window).scrollTop();if(i.options.bottom==-1){if(i.options.limit>0&&v>=i.options.limit-i.options.marginTop){if(!q()){j();if(i.options.preAbsolute){i.options.preAbsolute(t)}t.css({width:t.width(),position:"absolute",top:i.options.limit,left:l})}}else{if(v>=s-i.options.marginTop){if(!k()){j();if(i.options.preFixed){i.options.preFixed(t)}p();d=-1}o(u)}else{if(k()){j();if(i.options.preUnfixed){i.options.preUnfixed(t)}h()}}}}else{if(i.options.limit>0){if(v+a(window).height()-t.outerHeight()>=i.options.limit-i.options.marginTop){if(k()){j();if(i.options.preUnfixed){i.options.preUnfixed(t)}h()}}else{if(!k()){j();if(i.options.preFixed){i.options.preFixed(t)}p()}o(u)}}else{o(u)}}}function j(){var u=t.css("position");if(u=="absolute"){if(i.options.postAbsolute){i.options.postAbsolute(t)}}else{if(u=="fixed"){if(i.options.postFixed){i.options.postFixed(t)}}else{if(i.options.postUnfixed){i.options.postUnfixed(t)}}}}i.init=function(){i.options=a.extend({},a.ScrollToFixed.defaultOptions,f);if(navigator.platform=="iPad"||navigator.platform=="iPhone"||navigator.platform=="iPod"){return}i.$el.css("z-index",i.options.zIndex);m=a("<div/>");i.$el.after(m);a(window).bind("resize",function(u){n();r()});a(window).bind("scroll",function(u){r()});if(i.options.bottom!=-1){if(!k()){j();if(i.options.preFixed){i.options.preFixed(t)}p()}}};i.init()};a.ScrollToFixed.defaultOptions={marginTop:0,limit:0,bottom:-1,zIndex:1000};a.fn.scrollToFixed=function(b){return this.each(function(){(new a.ScrollToFixed(this,b))})}})(jQuery);
