// text resize functions -------------------------------------------------
var currentTextSize = null;
var currentLineHeight = null;
// check for cookie
if (get_text_cookie("ihtfontsize")) {
    currentTextSize = parseInt(get_text_cookie("ihtfontsize"));
} else {
    currentTextSize = 13;
    createCookie("ihtfontsize",currentTextSize,1000);
}
currentLineHeight = currentTextSize + 5;

// creates a cookie with the given parameters
function createCookie(name,value,days){
        if (days){
                var date = new Date();
                date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
                var expires = "; expires=" + date.toGMTString();
        } else {
                var expires = "";
        }
        document.cookie = name + "=" + value + expires + "; path=/";
}

function textSize(dir) {
    if (dir == 'up') {
        if (currentTextSize <= 17) {
            currentTextSize += 2;
        }
    } else if (dir == 'down') {
        if (currentTextSize >= 11) {
            currentTextSize -= 2;
        }
    }
    currentLineHeight = currentTextSize + 5;
    var articleBody=document.getElementById('articleBody');
		setTextSize(articleBody, currentTextSize, currentLineHeight);
    // write/rewrite cookie
    createCookie("ihtfontsize",currentTextSize,1000);
}

function setTextSize(elem, pixels, lineHeight) {
	elem.style.fontSize=pixels + 'px';
	elem.style.lineHeight=lineHeight + 'px';
	for (var i=0; i<elem.childNodes.length; i++) {
		var node=elem.childNodes[i];
		if (node.id != 'articleSidebar') {
			if ((node.nodeName=='P' || node.nodeName=='SPAN' || node.nodeName=='DIV')) {
				node.style.fontSize=pixels + 'px';
				node.style.lineHeight=lineHeight + 'px';
			}
			if (node.childNodes.length > 0) {
				/*
				for (var j=0; j<node.childNodes.length; j++) {
					setTextSize(node.childNodes[j], pixels, lineHeight);
				}
				*/
			} 
		} 
	}
}

function get_text_cookie ( cookie_name )
{
  var results = document.cookie.match ( cookie_name + '=(.*?)(;|$)' );

  if ( results ) {
    return ( unescape ( results[1] ) );
  }
  else { return null; }
}
