﻿// JScript File

//FONT RESIZE

var min=7;
var norm=9;
var max=13;

function GetClassFontSize(className) 
{
    if (!className)
        return null;
        
    //just for "quote" :P
    if (className.indexOf('quote') != -1)
        return '12pt';

    var theRules = new Array();
    
    index = 3;//optimization purpuses only RWJH_public.css
    //for (index=0; index<document.styleSheets.length; index++)
    {
        if (document.styleSheets[index].cssRules) {
            theRules = document.styleSheets[index].cssRules;
        } else if (document.styleSheets[index].rules) {
            theRules = document.styleSheets[index].rules;
        }
        
        if (theRules)
        {
            for (j=0; j<theRules.length; j++)
            {
                if (theRules[j].selectorText == "."+className && theRules[j].style)
                    return theRules[j].style.fontSize;
            }
        }
    }
    
    return null;
}

function increaseFontSize(byIdent) 
{
    var parent = document.getElementById('tdMainContent');

    if (parent.style.fontSize) 
        var size = parseFloat(parent.style.fontSize.replace("pt",""));
    else 
        var size = norm;
    
    if (size < max)
    {
        if (!byIdent)
            set_FontIdent(get_FontIdent() + 1);
        size += 1;
    }
    else
    {
        if (!byIdent)
            set_FontIdent(0);
        size = -1;
    }
    
    parent.style.fontSize = (size != -1 ? size+"pt" : "");

    EnlargeFonts(parent.getElementsByTagName('p'), size);
    EnlargeFonts(parent.getElementsByTagName('span'), size);
    EnlargeFonts(parent.getElementsByTagName('div'), size);
    EnlargeFonts(parent.getElementsByTagName('td'), size);
    EnlargeFonts(parent.getElementsByTagName('a'), size);
}

function EnlargeFonts(elements, size)
{
    for (i=0; i<elements.length; i++) 
    {
        classFontSize = GetClassFontSize(elements[i].className);
        
        if (elements[i].style.fontSize)
            var s = parseFloat(elements[i].style.fontSize.replace("pt",""));
        else if (classFontSize)
            var s = parseFloat(classFontSize.replace("pt",""));
        else
            var s = norm;
        
        if (s.toString() == 'NaN')
            s = 12;

        if (s < max)
            s += 1;
            
        elements[i].style.fontSize = (size != -1 ? s+"pt" : "");
    }    
}
   
function bio(sURL)
{
	newwindow=open(sURL,"bio","scrollbars=yes,toolbar=no,directories=no,menubar=no,resizable=no,status=no,width=450,height=500,left=300,top=150");
}

function reloadFontSize()
{
    for (var i=0; i<get_FontIdent(); i++)
    {
        increaseFontSize(true);
    }
}

/*FONT IDENT*/
function set_FontIdent(ident)
{
    var exdate=new Date();
    exdate.setDate(exdate.getDate()+30);
    document.cookie = "FontIdent=" + escape(ident) + ";expires="+exdate.toGMTString();
}

function get_FontIdent()
{
    var cookieName = "FontIdent";
    if (document.cookie.length > 0) 
    { 
        begin = document.cookie.indexOf(cookieName+"="); 
        if (begin != -1)
        { 
            begin += cookieName.length+1; 
            end = document.cookie.indexOf(";", begin);
            if (end == -1) 
                end = document.cookie.length;
            return parseInt(unescape(document.cookie.substring(begin, end))); 
        } 
    }
    return 0; 
}
