
window.addEvent('load', function(){
	//loadSwifr();
	//sfHover();
	/*
	function sfHover() {
			var sfEls = document.getElementById("main-menu").getElementsByTagName("LI");
			var topLevelEls = document.getElementById("main-menu").childNodes;
			for (var i=0; i < sfEls.length; i++) {
				sfEls[i].onmouseover=function() {
					this.className+=" sfhover";
					for (var t=0; t < topLevelEls.length; ++t) {
						if (topLevelEls[t] != this) {
							topLevelEls[t].className = topLevelEls[t].className.replace(new RegExp(" sfhover\\b"), "");
							}
						}
					}
				sfEls[i].onmouseout=function() {
					this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
					}
				}
			}
	*/
	/////////////////////////////////////////////////////////
	// Set up the Latest News scroller on the home page /////
	/////////////////////////////////////////////////////////
	if ($("homepage-hot-topics")) {
		//alert($("latest-news-scroller").getFirst())
		slideShow = new SlideShow ($("homepage-hot-topics"), {
			delay : 10000, 
			duration : 1000, 
			onInitialize : function () {
				var c = this.getCount();
				
				$("slide-prev").addEvent("click", function(ev) {
						new Event(ev).stop();
						this.prev();
						}.bindWithEvent(this));
				$("slide-next").addEvent("click", function(ev) {
						new Event(ev).stop();
						this.next();
						}.bindWithEvent(this));
				
				this.start();
				},
			onStart : function () {
				$("slide-current").set("text", this.getPosition());
				},
			
			onMouseOver : function () {
				this.stop();
				},
			onMouseOut : function () {
				this.play();
				}
			}).play();
	


		}
	
	$$("a").each(
		function (e) {
			if (e.getElement("img")) {
				e.addClass("no-border");
				}
			}
		)
	
	if($("main-menu")) {
	
		$("main-menu").getElements("li").each(
			
			function (e) {
				e.addEvent("mouseover", function (me) {
					if (e.getParents("li").length) {
						e.getParents("li").each(
							function (l) {
								l.getElement("a").addClass("active");
								}
							);
						}
	
					e.getParent("ul").getChildren("li").each(
						function (c) {
							if (c != e) {
								c.getElement("a").removeClass("active");
								}
							}
						);	
					
					e.addClass("sfhover");
					});
					
				e.addEvent("mouseout", function (me) {
					if (e.getChildren("li").length) {
						e.getChildren("li").each(
							function (l) {
								//alert(l)
								l.getElement("a").removeClass("active");
								}
							);
						}
				
					if (e.getParent("ul").getParent("ul")) {
						
						if (e.getParent("ul").getParent("ul").get("id") == 	"main-menu") {
							//alert(e.getParent("ul").getParent("li").getElement("a"))
							e.getParent("ul").getParent("li").getElement("a").removeClass("sfhover");
							e.getParent("ul").getParent("li").getElement("a").removeClass("active");
							}
						}	
						e.removeClass("sfhover");
					});
				}
			
			);
		}
	
	
	if ($("font")) {
		
		if ($("sizes").style.display != "block") {
			$("sizes").setOpacity(0);
			$("sizes").setStyle("display", "block");
			}
		
		fontSizeCookie = Cookie.read("userFontSize");
		if (!fontSizeCookie) {
			Cookie.write("userFontSize", $$("body").getStyle("font-size").toString());
			fontSizeCookie = $$("body").getStyle("font-size").toString();
			}
			
		$("font").getElement("a").addEvent("click", function (ev) {
												//event = new Event(ev);
												//event.stop();
												var fx = new Fx.Morph($("sizes"), {
													duration: 100, 
													wait: true,
													onComplete : function () {
														
														$(document.body).addEvent("click", function() {
												
															var fx = new Fx.Morph($("sizes"), {
																duration: 100, 
																wait: true, 
																onComplete : function () {
																	$(document.body).removeEvents();
																	}
																}).start({"opacity" : 0});
															});
														}
													
													});
												this.s = {'opacity' : $("sizes").getStyle("opacity") == 0 ? 1 : 0};
												fx.start(this.s);	
												
												}
			);
			targetContainer = $("home-container") ? $("home-container") : $("content-container")
			for(var f = 11; f < 15; ++f) {
				//alert($("f"+f))
				$("f" + f).addEvent("click", function () {
													
													$("sizes").getElements("li").each (function (e) {e.removeClass("active");});
													this.addClass("active");
													var fx = new Fx.Morph($("sizes"), {duration: 100, wait: true, onComplete : function () {}}).start({"opacity" : 0});
													targetContainer.setStyle("font-size", this.id.replace("f", "") + "px");
													$("font").originalSize = $$("body").getStyle("font-size").toString();
													Cookie.write("userFontSize", this.id.replace("f", "")+"px");
													});
				$("f" + f).addEvent("mouseover", function () {
													$("sizes").getElements("li").each (function (e) {e.removeClass("active");});
													this.addClass("active");
													targetContainer.setStyle("font-size", this.id.replace("f", "")+"px");
													});
				$("f"+f).addEvent("mouseout", function () {
													$("sizes").getElements("li").each (function (e) {e.removeClass("active");});
													$("f" + $("font").originalSize.replace("px", "")).addClass("active");
													targetContainer.setStyle("font-size", $("font").originalSize);
													});
			
				}
			//alert(fontSizeCookie)
			$("f" + Math.floor(fontSizeCookie.replace("px", ""))).fireEvent("click");				
		}
	
	/////////////////////////////////////////////////////////
	// Set up the RSS feed scroller on the home page /////
	/////////////////////////////////////////////////////////
	if ($("rss-stream")) {
		new FeedRotator($("rss-stream").getElement("ul"), {
			delay:5000,
			duration:2000, 
			onMouseOver : function () {
				this.stop();
				//this.getItem().setStyle("background-color", "#FFFFD4");
				},
			onMouseOut : function () {
				this.play();
				//this.getItem().setStyle("background-color", "");
				}
			
			}).play();
		}
	
	
	
	
	
	//////////////////////////////////////////////////////////////////
	// Set footer menu links to open in mask /////////////////////////
	//////////////////////////////////////////////////////////////////
	if ($("footer-menu")) {
		$("footer-menu").getElements("a").each(
			function (el) {
				
				if(el.get("text") != "Sitemap" && el.get("text").indexOf("subscribe") == -1) {
					el.addEvent("click", function (ev){
						ev.stopPropagation();
						ev.stop();
						openContent(el)
						
						});
					}
				}
		
			);
		}
	
	
	//////////////////////////////////////////////////////////////////
	// Open specific links in mask ///////////////////////////////////
	//////////////////////////////////////////////////////////////////
	$$("a.ajax-content-window").each(
		function (el) {
			if(el.get("text") != "Sitemap") {
				if (!el.getProperty("title")) {
					el.setProperty("title", el.get("text").toLowerCase())	
					}
				el.addEvent("click", function (ev){
					ev.stopPropagation();
					ev.stop();
					openContent(el)
					
					});
				}
			}
		);
		
	//////////////////////////////////////////////////////////////////
	// Open content type windows /////////////////////////////////////
	//////////////////////////////////////////////////////////////////
	$$("a.related-content-type").each(
		function (el) {
			
			if (!el.getProperty("title")) {
				el.setProperty("title", el.get("text").toLowerCase())	
				}
			el.addEvent("click", function (ev){
				ev.stopPropagation();
				ev.stop();
				openRelatedContent(el)
				
				});
				
			}
		);
	
	//////////////////////////////////////////////////////////////////
	// Open specific links in mask ///////////////////////////////////
	//////////////////////////////////////////////////////////////////
	$$("a.ajax-related-link").each(
		function (el) {
			if(el.get("text") != "Sitemap") {
				el.removeProperty("onclick")
				if (!el.getProperty("title")) {
					el.setProperty("title", el.get("text").toLowerCase())	
					}
				el.addEvent("click", function (ev){
					ev.stopPropagation();
					ev.stop();
					openLink(el)
					
					});
				}
			}
		);
	

	styleTables();
	

	
	
	//////////////////////////////////////////////////////////////////////////////////
	// Page ranking (just call it here because we need to ba able to call it again ///
	//////////////////////////////////////////////////////////////////////////////////
	if ($("rank-form")) {
		setupRankForm();
		}
	
	//////////////////////////////////////////////////////////////////
	// Setup sitemap functions ///////////////////////////////////////
	//////////////////////////////////////////////////////////////////
	/*
	if ($("sitemap")) {
		$("sitemap").getElements("td").each(
			function (el) {
				el.addEvent("mouseover", function() {
					el.getParent().getElements("td").each(
						function (td) {
							//alert(td.get("html"))
							new Fx.Tween(td, {
									duration: 10000, 
									wait: true
									
									}).start({
										"background-color":"#c0c0c0"
										});
						
							}
						)
					
					})
				}
			);
		}
	*/
	
	

	////// End /////////////////////
	
	}); 


function styleTables () {
	$$("table.style").each(
		function (e) {
			var rows = e.getElements("tr");
			var count = 0;
			for (var i = 0; i < rows.length; ++i) {
				if (rows[i].getParent().tagName.toLowerCase() != "tfoot") {
					rows[i].removeClass("odd");
					rows[i].removeClass("even");
					if (rows[i].style.display != "none") {
						rows[i].addClass(rows[i].getElements("th").length > 0 ? "head" : (count % 2 == 0 ? "odd" : "even"));
						++count;
						}
					}
				}
			}
		);
	}

function verify(f) {
	
	mask = createMask("verify-download", "Verify File Download");

	mask.setOpacity(0);
	mask.injectInside($$("body")[0]);
	mask.addClass("info");
	$("cover").setOpacity(0.4);
	
	new Request.HTML({
		url: "viewmodes/documents/full-pds-download.cfm?link=" + f,
		update : $("site-mask").getElement("div[class=body]"),
		evalScripts : true,
		onComplete : function ( ) {
			
			
			var fx = new Fx.Morph(mask, {
							duration: 200, 
							wait: true,
							onComplete : function () {
								
								new Element("p").set("html", '<input type="button" id="close-mask" value="Cancel" /><input type="button" id="download" class="large" value="Download" />').injectInside($("site-mask").getElement("div[class=footer]"));
								
								$("download").addEvent("click", function () { 
									window.open(f);
									closeMask();
									})
								
								
								$("full-pds").replaces(new Element("input").injectAfter($("download")));
								$("full-pds").addEvent("click", function (ev) {
									ev.stop(); 
									window.open($("full-pds").title);
									closeMask();
									})
								
								
								if ($("close-mask")) {
									$("close-mask").addEvent("click", function () {
										//alert("");
										closeMask();
										});
									}
								}
							}).start({"opacity":1});
		
		
			}
		}).send();
	

	}


//////////////////////////////////////////////////////////////////
// Position the footer at the bottom of the page dynamically /////
//////////////////////////////////////////////////////////////////
function setupRankForm() {

	$("rank-form").addEvent("submit", function(ev) {
		e = new Event(ev);
		e.stop();
		
		
		$("rank-form").getElement("input[type=submit]").getParent().set("html", "<p align=\"center\"><strong>Processing your request..</strong><br /><img src=\"css/images/ajax-loader.gif\" /></p>");
		
		this.set("send", {
			onComplete : function (responseText) {
				//alert(responseText)
				$("rank-form").set("html", responseText);
				setupRankForm();
				}
			 })
		this.send()
		
		
		
		});
	if ($("rank-form").getElement("textarea")) {
		$("rank-form").getElement("textarea").value = "";
		if ($("rank-form").getElement("input[checked]")) {
			$("rank-form").getElements("input[checked]")[0].checked = false;
			}
		var textareaLimit = $("rank-form").getElement("textarea").getParent().getElement("span").get("text")
		
		$("rank-form").getElement("textarea").addEvent("keydown", function (ev) {
			if (this.value.length >= textareaLimit && ev.key != "backspace" && ev.key != "delete") {
				return false;
				}
			});
		
		$("rank-form").getElement("textarea").addEvent("keyup", function () {
			this.getParent().getElement("span").set("text", Math.max(textareaLimit-this.value.length, 0));
			if (this.value.length > textareaLimit) {
				this.value = this.value.substring(0,textareaLimit)
				}
			});
		
		
		//alert($("rank-form").getElements("input[type=radio]"))
		$("rank-form").getElements("input[type=radio]").each(
			function (el) {
				var targetRank = new Element("img", {"src":"/css/images/blank.gif"});
				targetRank.injectAfter(el.getParent());
				el.getParent().setStyle("display", "none");
				
				targetRank.addEvent("click", function (ev){
					for (var i = 1; i <= this.getParent("li").getElement("input").value; ++i) {
						
						$("rank_" + i).getParent("li").addClass("active");
						$("rank_" + i).getParent("li").removeClass("on");
						$("rank_" + i).checked = true
						}
					});
				
				targetRank.addEvent("mouseover", function (ev){
					//alert(this.getParent("li").getElement("input").value)
					this.getParent("ul").getElements("input[type=radio]").each(
						function (el) {
							
							el.getParent("li").removeClass("on");
							el.getParent("li").removeClass("active");
							
							}
						);
					
					for (var i = 1; i <= this.getParent("li").getElement("input").value; ++i) {
						$("rank_" + i).getParent("li").removeClass("active");
						$("rank_" + i).getParent("li").addClass("on");
						
						}
					});
				
				targetRank.addEvent("mouseout", function (ev){
					var value = 0;
					//alert(this.getParent("ul").getElement("input[checked]"))
					if (this.getParent("ul").getElement("input[checked]")) {
						value = this.getParent("ul").getElements("input[checked]")[0].value;
						}
					this.getParent("ul").getElements("input[type=radio]").each(
						function (el) {
							
							el.getParent("li").removeClass("on");
							if (el.value <= value) {
								el.getParent("li").addClass("active");
								}
							}
						);
					
					});
				
				}
		
			);
		}
	}






//////////////////////////////////////////////////////////////////
// Position the footer at the bottom of the page dynamically /////
//////////////////////////////////////////////////////////////////
window.addEvent('resize', function(){
	//alert($("bottom-bar").getCoordinates().height)
	//alert((window.getScrollSize().y - $("bottom-bar").getCoordinates().height) + " > " + window.getCoordinates().height)
	//if (window.getScrollSize().y < window.getCoordinates().height) {
		//positionFooter();
	//	}
	});
window.addEvent('load', function(){
	positionFooter();
	});
window.addEvent('scroll', function(){
	//alert("")
	//positionFooter();
	});
function positionFooter() {
	
	if ($("bottom-bar") && !$("site-mask")) {
		//window.status = window.getScrollSize().y
		//alert(window.getCoordinates().height)
		var currPos = $("bottom-bar").getCoordinates().top
		//alert(currPos)
		$("bottom-bar").setStyle("display", "none");
		//alert(window.getCoordinates().height - ($("bottom-bar").getCoordinates().height-20))
		
		
		
		var fx = new Fx.Morph($("bottom-bar"), {
					duration: 100, 
					wait: true,
					
					onStart : function () {
						//alert($("bottom-bar").getCoordinates().height)
						// 
						//$("bottom-bar").setStyle("top", window.getCoordinates().height - 115);
						$("bottom-bar").setStyle("display", "block")
						
						},
					onComplete : function () {	
						//var show = function() {$("bottom-bar").setStyle("display", "block")}
						//show()
						}
					}).start({
						top : window.getScrollSize().y - 30 
						});
		
	
		}
		
	//setTimeout("positionFooter()", 500);
		
	}		

function openContent(linkEl) {
	
	mask = new Mask({
		elementClass	: "content-view",
		title	: linkEl.title,
		type 	: "panel",
		size 	: "large",
		url 	: "/viewmodes/content/raw-content.cfm?link=" + linkEl.href,
		buttons	: [{label:"Close",id: "close-mask"},{label:"Print",id:"print-mask"}],
		onComplete : function () {
			if (window.getScroll() > 30) {
				this.containerElement.setStyle("top", "20px")
				}
			}
		}).create();
	}
function openRelatedContent(linkEl) {
	
	mask = new Mask({
		elementClass	: "content-view",
		title	: linkEl.title,
		type 	: "panel",
		size 	: "large",
		url 	: linkEl.href,
		buttons	: [{label:"Close",id: "close-mask"},{label:"Print",id:"print-mask"}],
		onComplete : function () {
			if (window.getScroll() > 30) {
				this.containerElement.setStyle("top", "20px")
				}
			}
		}).create();
	}

function openLink(linkEl) {
		mask = new Mask({
		elementClass	: "content-view",
		title	: linkEl.title,
		type 	: "panel",
		size 	: "large",
		url 	: "/viewmodes/feature-articles/link-intro.cfm?link=" + linkEl.href,
		buttons	: [
					{
					label:"Close",
					id: "close-mask"
					},
					{
					label:"Coninute",
					id:"link-continue",
					onClick : function () {
						if (linkEl.href.indexOf(document.domain) != -1) {
							location.href = linkEl.href;
							}
						else {
							window.open(linkEl.href);
							}
						}
					}
					],
		onComplete : function () {
			if (window.getScroll() > 30) {
				this.containerElement.setStyle("top", "20px")
				}
			if (this.getBodyElement().get("text") == "This page is not available.") {
				this.maskElement.addClass("error");
				$("link-continue").dispose();
				}
			}
		}).create();
		
	}	

String.prototype.reverse = function () {
	var newString = "";
	for (var i = 0; i < this.length; ++i) {
		newString = this.substring(i,i+1) + newString;
		}
	return newString
	}




Number.prototype.dollarFormat = function () {
	var formatted = "";
	var tmp = new String(this);
	var parts = tmp.split(".");
	var whole = parts[0].reverse();
	for (var i = 0; i < whole.length; ++i) {
		//alert(i % 3) 
		if (i % 3 == 0 && i != 0) {
			formatted += ",";
			}
			formatted += whole.substring(i,i+1);
		}
	return "$" + formatted.reverse() + "." + (parts.length == 2 ? parts[1] : "00")
	
	}

	
	
		
	
function loadSwifr () {
	if(typeof sIFR == "function"){
		
		sIFR.replaceElement("#home-page", named({sFlashSrc: "/flash/sifr-optima-medium.swf", sColor: "#004770", sWmode:"opaque"}));
		
		sIFR.replaceElement("#center #home-features li h2", named({sFlashSrc: "/flash/sifr-optima-medium.swf", sColor: "#9CAC3B", sWmode:"opaque"}));
		
		sIFR.replaceElement("#center-content h1", named({sFlashSrc: "/flash/sifr-optima-medium.swf", sColor: "#9CAC3B", sWmode:"opaque"}));
		sIFR.replaceElement("#center-content h2", named({sFlashSrc: "/flash/sifr-optima-medium.swf", sColor: "#004770", sWmode:"opaque"}));
		
		sIFR.replaceElement("#associated-documents h2", named({sFlashSrc: "/flash/sifr-optima-medium.swf", sColor: "#004770", sWmode:"opaque"}));
		
		sIFR.replaceElement("#search-results h1", named({sFlashSrc: "/flash/sifr-optima-medium.swf", sColor: "#9CAC3B", sWmode:"opaque"}));
		
		};
	}
	


