/**
 * last edit 2009-03-6
 */

var fontSizeSelector='.content iframe, .content p, .content table, .content h1, .content h2, .content h3, .content h4, .content li';var iframeFontSizeSelector=new Array('p','h1','h2','h3','label','table','span','td');var minFontSz=10;var maxFontSz=20;var fontSizeCookie=null;var fontSizeMode=null;var realFontSizeInc=0;function reduceFontSize(inc){if(null==inc){inc=2;}
fontSizeMode=fontSizeCookie.get('font-size-mode');if('reduceOnce'!=fontSizeMode){i=0-realFontSizeInc-inc;fontSizeCookie.put('font-size-mode','reduceOnce');changeFontSize(i);}}
function incrementFontSize(inc){if(null==inc){inc=2;}
fontSizeMode=fontSizeCookie.get('font-size-mode');if('incrementOnce'!=fontSizeMode){i=0-realFontSizeInc+inc;fontSizeCookie.put('font-size-mode','incrementOnce');changeFontSize(i);}}
function resetFontSize(){changeFontSize();fontSizeCookie.remove('font-size-mode');fontSizeCookie.remove('font-size-inc');}
function changeFontSize(inc){if(inc){realFontSizeInc=realFontSizeInc+inc;}
else{realFontSizeInc=0;}
fontSizeCookie.put('font-size-inc',realFontSizeInc);$$(fontSizeSelector).each(function(el){if(el.nodeName=='IFRAME'){if(inc){changeIFrameFontSize(el,inc);}else{resetIFrameFontSize(el);}}else{if(inc){try{incFontSizeOfElement(el,inc);}catch(e){};try{incLineHeightOfElement(el,inc);}catch(e){};}else{el.style.fontSize="";el.style.lineHeight="";}}});}
function changeIFrameFontSize(iframe,inc){var iframeWindow=(iframe.contentWindow||(null!=iframe.contentDocument&&iframe.contentDocument.defaultView));var iframeDocument=iframe.contentDocument||iframe.document;if(iframeWindow){iframeDocument=iframeWindow.document;}
iframeFontSizeSelector.each(function(tagName){var paras=iframeDocument.getElementsByTagName(tagName);for(i=0;i<paras.length;i++){var el=$(paras[i]);try{incFontSizeOfElement(el,inc);}catch(e){alert(e+" "+el+" "+el.nodeName)};try{incLineHeightOfElement(el,inc);}catch(e){};};});}
function resetIFrameFontSize(iframe){var iframeWindow=(iframe.contentWindow||iframe.contentDocument.defaultView);iframeFontSizeSelector.each(function(tagName){var paras=iframeWindow.document.getElementsByTagName(tagName);for(i=0;i<paras.length;i++){var el=$(paras[i]);el.style.fontSize="";el.style.lineHeight="";};});}
function initFontSize(){fontSizeCookie=new CookieJar({expires:3600,path:'/'});fontSizeMode=fontSizeCookie.get('font-size-mode');if(null==fontSizeMode){fontSizeMode='dynamic';}
var fontSizeInc=fontSizeCookie.get('font-size-inc');if(fontSizeInc){realFontSizeInc=parseInt(fontSizeInc);$$(fontSizeSelector).each(function(el){if(el.nodeName=='IFRAME'){changeIFrameFontSize(el,realFontSizeInc);Event.observe(el,'load',function(){changeIFrameFontSize(el,realFontSizeInc);});}else{try{incFontSizeOfElement(el,realFontSizeInc);}catch(e){};try{incLineHeightOfElement(el,realFontSizeInc);}catch(e){};}});}}
function incFontSizeOfElement(el,inc){var fontSize=Element.getStyle(el,'font-size');var size=12;if(fontSize){if(fontSize.indexOf('pt')>-1){size=parseInt(fontSize.replace("pt",""))+3;}else{size=parseInt(fontSize.replace("px",""));}}
newFontSz=size+inc;if(newFontSz>=minFontSz&&newFontSz<=maxFontSz){el.style.fontSize=newFontSz+'px';}}
function incLineHeightOfElement(el,inc){var lineHeight=el.getStyle('line-height');var size=12;if(lineHeight){if(lineHeight.indexOf('pt')>-1){size=parseInt(lineHeight.replace("pt",""))+3;}else{size=parseInt(lineHeight.replace("px",""));}}
newFontSz=size+inc;if(newFontSz>=minFontSz&&newFontSz<=maxFontSz)
el.style.lineHeight=newFontSz+'px';}
Event.observe(window,'load',initFontSize);