/*
Grant Graham
Modified August 26, 2005
Modified September 22, 2005 - Lionel Cai
Modified December 19, 2006 OCO
 */
 
 function setCookie(name, value, expires, path){
	document.cookie= name + "=" + escape(value) +
  	((expires) ? "; expires=" + expires.toGMTString() : "") +
    ("; path=/" );
}

function getCookie(name){
	var dc = document.cookie;
	var prefix = name + "=";
	var begin = dc.indexOf("; " + prefix);
	if (begin == -1){
		begin = dc.indexOf(prefix);
		if (begin != 0) return null;
	}else{
		begin += 2;
	}
	var end = document.cookie.indexOf(";", begin);
	if (end == -1){
		end = dc.length;
	}
  return unescape(dc.substring(begin + prefix.length, end));
}


// Begin Changes Made by FWen 
// available set of font sizes for global (wrapper) adjustment
var cstArrySizeNms = new Array("0.52em", "0.58em", "0.65em", "0.715em", "0.78em");
// available set of font sizes by ID for adjustment separately
var cstArrySizeByIDs = new Object();
// index of cstArrySizeByIDs (such as "content") corresponds to the element ID to be adjusted
cstArrySizeByIDs["header"] = new Array("0.94em","0.97em","1em","1.03em","1.06em");
cstArrySizeByIDs["content"] = new Array("0.5em","0.8em","1.1em","1.4em","1.7em");

// plus minus toggle image name and ID
var cstArrySizerImgs = new Object();
// Array member declared as (<normal_img_name>,<grey_img_name>,<anchor_tag_id>)
cstArrySizerImgs["plus"] = new Array("g_plus.gif","b_plus.gif","sizer_plus");
cstArrySizerImgs["minus"] = new Array("g_minus.gif","b_minus.gif","sizer_minus");

var cstArryTagNms = new Array("BODY");

function ChangeFontSize(intDelta){
	var cstStrCookieNm = "SiteBaseFontSize";
    
	if(!document.getElementsByTagName || !document.getElementById) return;
	document.getElementById("sizer").style.display="block";
    // set current font size
    var intCurrSize = parseInt(getCookie(cstStrCookieNm));
    if( isNaN(intCurrSize) ) {
        // If cookie is invalid and delta is 0, no change needed
        if(intDelta == 0) return;
        intCurrSize =  Math.floor(cstArrySizeNms.length/2);
    }
    // set target font size
    intCurrSize += intDelta;
    intCurrSize = Math.max(0, Math.min(cstArrySizeNms.length-1,intCurrSize));
    if (intCurrSize == Math.floor(cstArrySizeNms.length/2)){
        intCurrSize = Number.NaN;
    }
    var tagNm, tagEle;
    
    // set target font size by tag name
    var strCurrSize = (isNaN(intCurrSize)?null:cstArrySizeNms[intCurrSize]);
    for(var i=0; i<cstArryTagNms.length;i++){
        var collEles = document.getElementsByTagName(cstArryTagNms[i]);
        for(var j=0;j<collEles.length;j++){
            collEles[j].style.fontSize = strCurrSize;
        }
    }
    
    // set target font size by ID
    for(var eleNm in cstArrySizeByIDs){
        var ele = document.getElementById(eleNm);
        if(ele == null) continue;
        ele.style.fontSize = (isNaN(intCurrSize)?null:cstArrySizeByIDs[eleNm][intCurrSize]);
    }
    
    // grey out image if necessary
    if(intCurrSize == cstArrySizeNms.length-1){
        // grey out plus img
        DoGreyOut("plus",0);
        
    }
    else if(intCurrSize == 0){
        // grey out minus img
        DoGreyOut("minus",0);
    }
    else{
        DoGreyOut("plus",1);
        DoGreyOut("minus",1);
    }
    
    // set cookie
    setCookie(cstStrCookieNm,(isNaN(intCurrSize)?null:intCurrSize));
}

function DoGreyOut(PlusOrMinus, isReset){
    var sizerEle = document.getElementById(cstArrySizerImgs[PlusOrMinus][2]);
    if(sizerEle == null) return;
    sizerEle.style.cursor = (isReset)?"":"default";
    if(sizerEle.getElementsByTagName("IMG").length == 0) return;
    var strSrc = sizerEle.getElementsByTagName("IMG")[0].src;
    strSrc = strSrc.substring(0,strSrc.lastIndexOf("/")+1)+cstArrySizerImgs[PlusOrMinus][isReset];
    sizerEle.getElementsByTagName("IMG")[0].src = strSrc;
}
// End Changes Made by FWen

//-->