var FontSizeControl=Class.create({aBtnSizeChange:[],aContainer:[],aRteContainer:[],iCookieJump:null,iMaxStep:0,iCurrentStep:0,sCurrentCssClass:"",initialize:function(B){var A=Object.extend({sCssBtnSizeChange:null,sCssContainer:null,aCssFontClass:[],sCssRteContainer:null,iSizeIncrement:2,sCookieName:"CGFontSize",sCssFixBottomPos:null},B||{});Object.extend(this,A);if(this.setObject()){if((sCookieValue=this.readCookie())!=null){var C=parseInt(sCookieValue,10);if(C>0&&C<=this.iMaxStep){this.iCurrentStep=C;this.iCookieJump=this.iCurrentStep*this.iSizeIncrement;this.changeFontSize();this.iCookieJump=null}}this.aBtnSizeChange.invoke("observe","click",function(D){Event.stop(D);this.iCurrentStep++;if(this.iCurrentStep>this.iMaxStep){this.iCurrentStep=0}this.changeFontSize()}.bind(this))}else{throw("Problem with initialization of CGFontSize")}},setObject:function(){var A=false;this.aBtnSizeChange=this.sCssBtnSizeChange?$$(this.sCssBtnSizeChange):[];this.aContainer=this.sCssContainer?$$(this.sCssContainer):[];this.aRteContainer=this.sCssRteContainer?$$(this.sCssRteContainer):[];this.iMaxStep=this.aCssFontClass.length;if(this.aBtnSizeChange.length>0&&this.aContainer.length>0&&this.iMaxStep>0){A=true}return A},changeFontSize:function(){if(this.aRteContainer.length>0){this.changeRteFontSize()}if(this.sCurrentCssClass!=""){this.aContainer.invoke("removeClassName",this.sCurrentCssClass)}if(this.iCurrentStep!=0){this.aContainer.invoke("addClassName",this.aCssFontClass[this.iCurrentStep-1]);this.sCurrentCssClass=this.aCssFontClass[this.iCurrentStep-1]}else{this.sCurrentCssClass=""}this.createCookie();if(this.sCssFixBottomPos){this.fixBottomPosition()}},changeRteFontSize:function(){this.aRteContainer.each(function(A){A.select('*[style*="font-size"]').each(function(C){var B=parseInt(C.getStyle("fontSize").replace("px",""),10);if(this.iCurrentStep==0){B-=(this.iSizeIncrement*this.iMaxStep)}else{if(this.iCookieJump!=null){B+=this.iCookieJump}else{B+=this.iSizeIncrement}}C.setStyle({fontSize:B+"px"})}.bind(this))}.bind(this))},createCookie:function(){var B=new Date();B.setTime(B.getTime()+(365*24*60*60*1000));var A="; expires="+B.toGMTString();document.cookie=this.sCookieName+"="+this.iCurrentStep+A+"; path=/"},readCookie:function(){var E=this.sCookieName+"=";var A=document.cookie.split(";");for(var D=0,B=A.length;D<B;D++){var C=A[D];while(C.charAt(0)==" "){C=C.substring(1,C.length)}if(C.indexOf(E)==0){return C.substring(E.length,C.length)}}return null},fixBottomPosition:function(){$$(this.sCssFixBottomPos).each(function(A){if(A.getStyle("bottom")){var B=A.getStyle("bottom");A.setStyle({bottom:""});A.setStyle({bottom:B})}})}});
