var prefsLoaded = false;
var str_current_fontsize = '100%';
var int_stylerule_count = 0;

function createStyleRule(selector, declaration) {

	if (!document.getElementsByTagName || !(document.createElement || document.createElementNS)) return;
	var agt = navigator.userAgent.toLowerCase();
	var is_ie = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
	var is_iewin = (is_ie && (agt.indexOf("win") != -1));
	var is_iemac = (is_ie && (agt.indexOf("mac") != -1));
	if (is_iemac) return;
	var head = document.getElementsByTagName("head")[0]; 
	var style = (typeof document.createElementNS != "undefined") ?  document.createElementNS("http://www.w3.org/1999/xhtml", "style") : document.createElement("style");
	if (!is_iewin) {
		var styleRule = document.createTextNode(selector + " {" + declaration + "}");
		style.appendChild(styleRule);
	}
	style.setAttribute("type", "text/css");
	style.setAttribute("media", "screen"); 
	head.appendChild(style);
	if (is_iewin && document.styleSheets && document.styleSheets.length > 0) {
		var lastStyle = document.styleSheets[document.styleSheets.length - 1];
		if (typeof lastStyle.addRule == "object") { 
			lastStyle.addRule(selector, declaration);
		}
	}
	int_stylerule_count = int_stylerule_count + 1;
}


function saveSettings()
{
  createCookie("fontsize", str_current_fontsize, 365);
}


function setStylesheet(title) {
	var i, cacheobj
	for(i=0; (cacheobj=document.getElementsByTagName("link")[i]); i++) {
		if(cacheobj.getAttribute("rel") && cacheobj.getAttribute("rel").indexOf("style") != -1 && cacheobj.getAttribute("title")) {
		cacheobj.disabled = true
		if(cacheobj.getAttribute("title") == title)
			cacheobj.disabled = false 
		}
	}
}


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 expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}


function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}


function crossObject(str_element) {
    var obj_element = (document.getElementById) ? document.getElementById(str_element) : document.all(str_element);
    return obj_element;
}


function set_fontsize(str_fontsize) {
    obj_container = crossObject('container');
    obj_container.style.fontSize = str_fontsize;
    str_current_fontsize = str_fontsize;
    crossObject('sizemedium').style.textDecoration = "none";
    crossObject('sizelarge').style.textDecoration = "none";
    crossObject('sizexlarge').style.textDecoration = "none";

    if (str_fontsize == '100%') {
        crossObject('sizemedium').style.textDecoration = "underline";
    }
    else if (str_fontsize == '120%') {
        crossObject('sizelarge').style.textDecoration = "underline";
    }
    else if (str_fontsize == '140%') {
        crossObject('sizexlarge').style.textDecoration = "underline";
    }
    return false;
}


function setUserOptions(){

	if(!prefsLoaded){
		cookie = readCookie("fontsize");
		str_current_fontsize = cookie ? cookie : '100%';
		set_fontsize(str_current_fontsize);
	
		prefsLoaded = true;
	} 
	
	createStyleRule("#container", "visibility:visible;");
}


function citesErrorHandler() {
	if (int_stylerule_count < 2) {
		createStyleRule("#container", "visibility:visible;");
	}
}

createStyleRule("#container", "visibility:hidden;");
window.onload = setUserOptions;
window.onunload = saveSettings;
window.onerror = citesErrorHandler;
