﻿var Resizer=function(){this.BASE_W=945;this.BASE_H=797;this.MIN_WIDTH=1020;this.MIN_HEIGHT=614;this.SCROLL_SIZE;this.container;this.fit;this.isInit=false;this.browser=this.getBrowserType();this.history=[];this.isLoopResize=false;this.delayTimer;this.interval;this.count=0;if(!this.browser.isOpera)this.SCROLL_SIZE=17;else this.SCROLL_SIZE=18;};Resizer.prototype={initalize:function(){this.initFit("fit");this.container=$("#content");this.fit=$("#fit");},initFit:function(id){$("body").prepend("<div id=\""+id+"\"></div>");$("#"+id).css({"width":"100%","height":"100%","position":"absolute","top":0,"left":0});},initDebugConsole:function(id){$("body").prepend("<div id=\""+id+"\">"+id+"</div>");$("#"+id).css({"position":"absolute","top":0,"left":0,"z-index":2});},start:function(){if(!this.isInit){this.initalize();this.isInit=true;}else{$("#fit").css({"width":"100%","height":"100%"});}this.delayTimer=setTimeout($.delegate(this,function(){this.resize();this.interval=setInterval($.delegate(this,function(){this.resize();}),100);}),0);},stop:function(){if(!this.isInit){this.initalize();this.isInit=true;}clearTimeout(this.delayTimer);clearInterval(this.interval);$("#fit").css({"width":"0","height":"0"});},resize:function(){var screenW=$("#fit").width();var screenH=$("#fit").height();var scaleW;var scaleH;var resizeW=-1;var resizeH=-1;var time=new Date().getTime();if(this.history.length==0||this.history[this.history.length-1].width!=screenW||this.history[this.history.length-1].height!=screenH){if(this.inHistorySizeNum(screenW,screenH)>=1){if(time-this.history[0].time<800)this.isLoopResize=true;}else this.isLoopResize=false;if(this.history.length>=3)this.history.shift();this.history[this.history.length]={time:time,width:screenW,height:screenH};}if(!this.isLoopResize){scaleW=(Math.max(screenW,this.MIN_WIDTH)-335)/this.BASE_W;scaleH=(Math.max(screenH,this.MIN_HEIGHT)-34)/this.BASE_H;if(scaleW>scaleH){resizeH=scaleW*this.BASE_H;resizeW=resizeH/this.BASE_H*this.BASE_W;}else if(scaleW<scaleH){resizeW=scaleH*this.BASE_W;resizeH=resizeW/this.BASE_W*this.BASE_H;}resizeW=Math.floor(resizeW);resizeH=Math.floor(resizeH);resizeW+=335;resizeH+=34;this.container.css({width:resizeW+"px",height:resizeH+"px"});}else{this.container.css({width:"100%",height:"100%"});}},inHistoryNum:function(prop,value){var count=0;for(var i=this.history.length-1;0<=i;i--){if(this.history[i][prop]==value)count++;}return count;},inHistorySizeNum:function(w,h){var count=0;for(var i=this.history.length-1;0<=i;i--){if(this.history[i].width==w&&this.history[i].height==h)count++;}return count;},getBrowserType:function(){var agent=String(navigator.userAgent);var result={isIE:false,isFirefox:false,isSafari:false,isChrome:false,isOpera:false};if(agent.match(/opera/ig))result.isOpera=true;else if(agent.match(/msie/ig))result.isIE=true;else if(agent.match(/chrome/ig))result.isChrome=true;else if(agent.match(/safari/ig))result.isSafari=true;else if(agent.match(/firefox/ig))result.isFirefox=true;return result;}};jQuery.delegate=function(target,func){return function(){func.apply(target,arguments);}};
