(function(c){var b=function(e,d){var f=e.css("overflow-"+d);if(f=="scroll"){return true}if(f=="hidden"){return false}if(f=="auto"||e[0].tagName=="HTML"){var g=(d=="y"?"Height":"Width");return e[0]["client"+g]<e[0]["scroll"+g]}return false};var a=function(f){var f=c(f),e=f[0];for(var d in e){(function(g){if(c.isFunction(e[g])){f[g]=(/^get[^a-z]/.test(g))?function(){return e[g].apply(e,arguments)}:function(){var h=arguments;f.each(function(i){var j=f[i];j[g].apply(j,h)});return f}}})(d)}return f};c.ex=c.ex||{};c.ex.fitFrame=function(d,e,f){var g=this,h=g.config=c.extend({},c.ex.fitFrame.defaults,f);h.targets=e;h.target=h.targets.eq(d);h.index=d;h.size={};h.target.css(h.css||{})[0].frameborder="0";if(g.getContents()){g.fit()}!h.loadFit||g.loadFit();!h.watchFit||g.watchFit()};c.extend(c.ex.fitFrame.prototype,{_initBox:function(h,d){var f=this,g=f.config;var e=h.find("html");e.css("overflow-"+(d=="height"?"y":"x"),"hidden");e.css("border","none").find("body").css("margin",0);return f},_fit:function(e,h){var i=this,k=i.config;var j=i.getContents();if(!j){return i}var g=i.getContainer(e);if(!g){return i}var d=k.target[e]();var f=g[e]();if(e=="height"&&b(j.find("html"),"x")){f+=16}if(d==f){h||i._initBox(j,e);return i}i._initBox(j,e);k.target[e](f);k.size[e]=g[e]();return i},fit:function(){var d=this,e=d.config;!e.widthFit||d.widthFit();!e.heightFit||d.heightFit();return d},widthFit:function(){return this._fit("width")},heightFit:function(){return this._fit("height")},loadFit:function(){var d=this,e=d.config;e.target.unbind("load.ex-fit-frame").bind("load.ex-fit-frame",function(){d.fit();!e.load||e.load.apply(this,[d])});return d},watchFit:function(d){var e=this,f=e.config;d=d||f.watchFit;if(f.watch){clearTimeout(f.watch)}f.watch=setTimeout(function(){try{e.fit()}finally{e.watchFit(d)}},d);return e},getContents:function(){var d=this,f=d.config;var e=f.target.contents();if(!e.find("body").size()||!e.find("body")[0].tagName){return undefined}return e},getContainer:function(d){var e=this,g=e.config;var f=e.getContents();return(!f||d=="width")?f:f.find("body")},getTargets:function(){return this.config.targets},getTarget:function(){return this.config.target}});c.ex.fitFrame.defaults={widthFit:true,heightFit:true,loadFit:true,watchFit:300,css:null,load:null};c.fn.exFitFrame=function(f){var d=this,e=[];d.each(function(g){var i=d.eq(g);var h=i.data("ex-fitFrame")||new c.ex.fitFrame(g,d,f);e.push(h);i.data("ex-fitFrame",h)});return f&&f.api?a(e):d}})(jQuery);
