initNavIE = function() {
	if (document.all && document.getElementById) {
		nav_root = document.getElementById("nav").firstChild;
		for (i = 0; i < nav_root.childNodes.length; i++) {
			node = nav_root.childNodes[i];
			if (node.id && node.id.indexOf("nav_") != -1) {
				node.onmouseover = function() {
					this.className += " over";
					// hack for IE6 and the page_top select
					if (this.id == "nav_about") if (pt = document.getElementById("page_top")) pt.style.visibility = "hidden";
				}
				node.onmouseout = function() {
					this.className = this.className.replace(" over", "");
					// hack for IE6 and the page_top select
					if (this.id == "nav_about") if (pt = document.getElementById("page_top")) pt.style.visibility = "visible";
				}
			}
		}
	}
}

// rollover event handlers
function rollover(e, args) { e.target.src = args.rimg.src; }
function rollout(e, args) { e.target.src = args.img.src; }

// add rollover handler for any img and input elements with the 'rollover' class
window.addEvent("domready", function() {
	var rollovers = $$("img.rollover, input.rollover");
	for (var x = 0; x < rollovers.length; x++) {
		if (rollovers[x].src.indexOf(".png") != -1) {
			var left = rollovers[x].src.substring(0, rollovers[x].src.indexOf(".png"));
			var right = rollovers[x].src.substring(rollovers[x].src.indexOf(".png"), rollovers[x].src.length);
			
			var img = new Image();
			img.src = rollovers[x].src;
			var rimg = new Image();
			rimg.src = left + "_over" + right;

			rollovers[x].addEvent("mouseenter", rollover.bindWithEvent(rollovers[x], { rimg: rimg }));
			rollovers[x].addEvent("mouseleave", rollout.bindWithEvent(rollovers[x], { img: img }));
		}
	}
});

//font size functions

function Set_Cookie( name, value, expires, path, domain, secure ) {
	// set time, it's in milliseconds
	var today = new Date();
	today.setTime( today.getTime() );
	
	/*
	if the expires variable is set, make the correct 
	expires time, the current script below will set 
	it for x number of days, to make it for hours, 
	delete * 24, for minutes, delete * 60 * 24
	*/
	if ( expires ) {
		expires = expires * 1000 * 60 * 60 * 24;
	}
	var expires_date = new Date( today.getTime() + (expires) );
	
	document.cookie = name + "=" +escape( value ) +
	( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + 
	( ( path ) ? ";path=" + path : "" ) + 
	( ( domain ) ? ";domain=" + domain : "" ) +
	( ( secure ) ? ";secure" : "" );
}

// this function gets the cookie, if it exists
function Get_Cookie( name ) {
	var start = document.cookie.indexOf( name + "=" );
	var len = start + name.length + 1;
	if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ) {
		return null;
	}
	if ( start == -1 ) return null;
	var end = document.cookie.indexOf( ";", len );
	if ( end == -1 ) end = document.cookie.length;
	return unescape( document.cookie.substring( len, end ) );
}

function CE_LoadPageFont() {
	if(Get_Cookie("font_size")) {
		fs = Get_Cookie("font_size");
		CE_SetPageFont(fs);
		//document.body.className = "body_" + fs;
		/*document.getElementById("supra_nav_links").className = fs;*/
		
		// IE6 hack
		if (document.all && !window.XMLHttpRequest) {
			CE_FixIE6(fs);
		}
	}
}

function CE_FixIE6(which) {
	document.getElementById("font_sel").style.cssText = "background-position:0px 0px";
	document.getElementById("font_sel_med").style.cssText = "background-position:0px 0px";
	document.getElementById("font_sel_large").style.cssText = "background-position:0px 0px";
	if (which == "") {
		document.getElementById("font_sel").style.cssText = "background-position:0px -13px";
	} else {
		document.getElementById("font_sel_" + which).style.cssText = "background-position:0px -13px";
	}
}

function CE_SetPageFont(which) {
	var c = "";
	var bc = document.body.className;
	if (bc != "") {
		var classes = bc.split(" ");
		for (var x = 0; x < classes.length; x++) {
			if (classes[x].indexOf("body_") == -1) {
				c += classes[x] + " ";
			}	
		}
	}
	
	if (which != "") {
		c += "body_" + which;
	}
	
	document.body.className = c;
	document.getElementById("text_size").className = which;
	document.getElementById("text_size").setAttribute("className", which);

	// IE6 hack
	if (document.all && !window.XMLHttpRequest) {
		CE_FixIE6(which);
	}
	
	var domain = site_webroot.substring(site_webroot.indexOf("http://") + 7, site_webroot.length - 1);
	Set_Cookie("font_size", which, 1, "/", domain, false);
}

// newsletter signup functions

function validateNewsletterEmail() {
	n = $("notice");
	n.style.display = "none";
	n.innerHTML = "";
	
	var e = document.getElementById("newsletter_email");

	if (e.value == "") {
		//alert("Please enter an email address in the field provided!");
		n.innerHTML = "Please enter an email address!";
		n.style.display = "block";
		return false;
	} else if (e.value.indexOf("@") == -1 || e.value.indexOf(".") == -1) {
		//alert("Please enter a valid email address in the field provided!");
		$("notice").innerHTML = "Please enter a valid email address!";
		n.style.display = "block";
		return false;
	} else {
		return true;
		/*
		e.disabled = true;
		$("sign_up").disabled = true;
		var s = $("signup_indicator");
		s.innerHTML = "Please wait...";
		s.style.display = "block";

		new Ajax(site_webroot + "cfc_extensions/com/creativengine/newsletter.cfc", {
			postBody: "method=signup&email=" + encodeURIComponent(e.value),
			onComplete: addedEmail,
			evalScripts: true
		}).request();
		*/
	}
	//return false;
}

function addedEmail(request) {
	$("signup_indicator").style.display = "none";
	$("newsletter_email").disabled = false;
	$("sign_up").disabled = false;
	
	$("confirmed_email").innerHTML = request;
	$("signup_text").style.display = "none";
	$("form_newsletter").style.display = "none";
	$("signup_confirmation").style.display = "block";
}

// misc window opening functions

//leaving the senate servers so we have to display this message:
function openWin(urlToOpen) {
	window.open("http://www.senate.gov/cgi-bin/exitmsg?url=" + urlToOpen);	
}

//leaving the current site, but staying on senate servers.
function openSenateWin(urlToOpen) {
	window.open(urlToOpen);	
}