var Cookies = {
	init: function () {
		var allCookies = document.cookie.split('; ');
		for (var i=0;i<allCookies.length;i++) {
			var cookiePair = allCookies[i].split('=');
			this[cookiePair[0]] = cookiePair[1];
		}
	},
	create: function (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=/";
		this[name] = value;
	},
	erase: function (name) {
		this.create(name,'',-1);
		this[name] = undefined;
	}
};

function readIt(name) {
	alert('The value of the cookie is ' + Cookies[name]);
}

function getIt(name) {
	return(Cookies[name]);
}

function find_DOM(object_id,incl_style) {
    // IE 5+ || Netscape 6+
    if (document.getElementById) {
        found_object = document.getElementById(object_id);
    }
    //  IE 4+
    else if (document.all) {
        found_object = document.all[object_id];
    }
    // Netscape 4
    else {
        browser_version = parseInt(navigator.appVersion);
        if ((navigator.appName.indexOf('Netscape') != 1 && browser_version == 4)) {
            found_object = document.layers[object_id];
            var nav4 = true;
        }
    }

    // Return object
    if (incl_style == 1 && !nav4) {
        return found_object.style;
    } else {
        return found_object;
    }
}

function preload_images() {
    if (document.images) {
        var args = preload_images.arguments;
        document.imageArray = new Array(args.length);

        for(var i=0; i<args.length; i++) {
            document.imageArray[i] = new Image;
            document.imageArray[i].src = args[i];
        }
    }
}

// Start stylesheet changer
function set_stylesheet(ssTitle) {

	var ss = document.getElementsByTagName("link");
	var spans = document.getElementsByTagName("span");
	// var ssCookie = "";
	var span_id = "";
	var span_found = 0;
	
//CHECK TO SEE IF ONE OF THE SPANS IS FOUND
	for (i = 0; i < spans.length; i++) {
		span_id = spans[i].id;
		if (span_id == "decrtxton" || span_id == "incrtxton" || span_id == "decrtxtoff" || span_id == "incrtxtoff") {
			span_found = 1;
		}
	}

	//IF NO TITLE IS FOUND, TRY TO EXTRACT FROM THE COOKIE
	if (ssTitle == "") {
		ssCookie = getIt("defaultCSS");
		//IF A COOKIE WAS FOUND, SET IT TO THE TITLE
		if (ssCookie) {
			ssTitle = Cookies["defaultCSS"];
		}
	}

	//IF A TITLE IS FOUND, RUN THE PROCESS TO ENABLE THE CORRECT STYLESHEET LINK
	//OTHERWISE CHOOSE THE DEFAULT SS
	if (ssTitle != "") {
		for (i = 0; i < ss.length; i++) {
			if (ss[i].rel == "stylesheet" && ss[i].id.indexOf("ssText") != -1) {
				if (ss[i].title == ssTitle) {
					ss[i].disabled = false;
					Cookies.create("defaultCSS",ssTitle,1825);
				} else {
					ss[i].disabled = true;
				}
			}
		}
	} else {
		for (i = 0; i < ss.length; i++) {
			if (ss[i].rel == "stylesheet" && ss[i].id.indexOf("ssText") != -1) {
				if (ss[i].title == "smalltext") {
					ss[i].disabled = false;
					Cookies.create("defaultCSS","smalltext",1825);
				} else {
					ss[i].disabled = true;
				}
			}
		}
	}

	//ONLY RENDER THIS SECTION AT LEAST ONE OF THE SPANS IS FOUND
	//SWAPS ICONS
	if (span_found) {
		var smaller_on = find_DOM("decrtxton",1);
		var smaller_off = find_DOM("decrtxtoff",1);		
		var bigger_on = find_DOM("incrtxton",1);
		var bigger_off = find_DOM("incrtxtoff",1);
		
		if (ssTitle == "smalltext") {
			smaller_on.display = "none";
			smaller_off.display = "inline";		
			bigger_on.display = "inline";
			bigger_off.display = "none";			
		}
		else if (ssTitle == "largetext")  {
			smaller_on.display = "inline";
			smaller_off.display = "none";	
			bigger_on.display = "none";
			bigger_off.display = "inline";
		}
		else { // mediumtext
			smaller_on.display = "inline";
			smaller_off.display = "none";	
			bigger_on.display = "inline";
			bigger_off.display = "none";
		}
	}
}

// Increase and decrease text size function
function change_style(txtChng) {
var currentSS = "";
sslinks = document.getElementsByTagName("link");

// Get current stylesheet setting from cookie
ssCookie = getIt("defaultCSS");

// IF A COOKIE WAS FOUND, SET IT TO THE TITLE
	if (ssCookie) {
		currentSS = Cookies["defaultCSS"];
	} else {
		// IF NO COOKIE FOUND CHECK disabled state of stylesheets
		for (i = 0; i < sslinks.length; i++) {
			if (sslinks[i].rel == "stylesheet" && sslinks[i].id.indexOf("ssText") != -1) {
				if (sslinks[i].title == "smalltext" && sslinks[i].disabled == false) {
					currentSS = "smalltext";
				} else if (sslinks[i].title == "mediumtext" && sslinks[i].disabled == false) {
					currentSS = "mediumtext";
				} else if (sslinks[i].title == "largetext" && sslinks[i].disabled == false) {
					currentSS = "largetext";
				}
			}
		}
		if (currentSS == "") {
			currentSS = "smalltext"; 
		}
	}
	
	// Increase text size
	if (txtChng == 1) {
		if (currentSS == "smalltext") {
			set_stylesheet("mediumtext");
		}
		if (currentSS == "mediumtext") {
			set_stylesheet("largetext");	
		}
		if (currentSS == "largetext") {
			set_stylesheet("largetext");	
		}
	}
	// Decrease text size
	else {
		if (currentSS == "smalltext") {
			set_stylesheet("smalltext");			
		}
		if (currentSS == "mediumtext") {
			set_stylesheet("smalltext");		
		}
		if (currentSS == "largetext") {
			set_stylesheet("mediumtext");	
		}	
	}
	
}

// Onload function
function styleInit() {
Cookies.init();

// Check for defaultCSS cookie
var ssCookie = Cookies["defaultCSS"];

// If defaultCSS cookie found, send value to style change function
	if (ssCookie) {
		set_stylesheet(Cookies["defaultCSS"]);
	}
	else {
		set_stylesheet("smalltext");
	}
}
