/* 
fontsizer.js
Font sizer code developed for nyee.edu by desktop solutions
based on public domain code found at http://brennan.offwhite.net/fontsizer/
*/
/****************************/
function defaultOptions()    //call in OnBody()
/****************************/
{
    // set values to what's stored in the cookies for the default (before increase or decrease or contrast is chosen)
    setClassNames(getFontSize());
    /* FTI 4/30/09  to avoid flashing */
    document.body.style.visibility="visible";

    // these lines manually set the height of the sidebars to the height of the content rectangle
    /*
    var h=document.getElementById("userfile-body").clientHeight+10;
    var test=document.getElementById("userfile-sidebar");
    if (test) {
        document.getElementById("userfile-sidebar").style.height=h;
    }
    var test=document.getElementById("related-section");
    if (test) {
        document.getElementById("related-section").style.height=h;
    }
    */
}
/****************************/
function increaseFontSize() 
/****************************/
{
    var FontSize = getFontSize(); 
    if ('small' == FontSize) {
        setClassNames('normal');
    }
    else if ('normal' == FontSize) {
        setClassNames('large');
    }
    saveOptions();
}
/****************************/
function decreaseFontSize() 
/****************************/
{
    var FontSize = getFontSize();
    if ('normal' == FontSize) {
        setClassNames('small');
    }
    else if ('large' == FontSize) {
        setClassNames('normal');
    }
    saveOptions();
}
/****************************/
function saveOptions() //added by Desktop Solutions to allow selection to persist pages...
/****************************/
{
    fontsize=document.getElementById('sizable').className;
    setCookie('fontsize',fontsize,360);
}
/****************************/
function getFontSize() 
/****************************/
{
    fontsize=getCookie('fontsize');
    if (fontsize==null || fontsize=='') {
        fontsize='small';
    }
    return fontsize;
}
/****************************/
function setCookie(c_name,value,expiredays)
/****************************/
{
    var exdate=new Date();
    exdate.setDate(exdate.getDate()+expiredays);
    document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}
/****************************/
function getCookie(c_name)
/****************************/
{
    if (document.cookie.length>0) {
        c_start=document.cookie.indexOf(c_name + "=");
        if (c_start!=-1) { 
            c_start=c_start + c_name.length+1; 
            c_end=document.cookie.indexOf(";",c_start);
            if (c_end==-1) c_end=document.cookie.length; {
                return unescape(document.cookie.substring(c_start,c_end));
            }
        } 
    }
    return "";
}
/*****************************/
function setClassNames(size)
/****************************/
{
    var elements = getElementsById('sizable');
    var length = elements.length;
    for(var i=0; i<length; i++){
        current = elements[i];
        current.className=size;
    }
    
}
/*****************************/
function getElementsById(className, tag, elm)
/*****************************/
{
    var tag = tag || "*";
    var elm = elm || document;
    var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
    var returnElements = [];
    var current;
    var length = elements.length;
    for(var i=0; i<length; i++){
        current = elements[i];
        if(current.id == className){
            returnElements.push(current);
        }
    }
    return returnElements;
}
