/*	Unobtrusive Flash Objects (UFO) v3.02 <http://www.bobbyvandersluis.com/ufo/>
	Copyright 2005, 2006 Bobby van der Sluis
	This software is licensed under the CC-GNU LGPL <http://creativecommons.org/licenses/LGPL/2.1/>
*/

var UFO = {
	requiredAttrParams: ["movie", "width", "height", "majorversion", "build"],
	optionalAttrEmb: ["name", "swliveconnect", "align"],
	optionalAttrObj: ["id", "align"],
	optionalAttrParams: ["play", "loop", "menu", "quality", "scale", "salign", "wmode", "bgcolor", "base", "flashvars", "devicefont", "allowscriptaccess"],
	ximovie: "ufo.swf",
	xiwidth: "215",
	xiheight: "138",
	
	is_w3cdom: (typeof document.getElementById != "undefined" && typeof document.getElementsByTagName != "undefined" && (typeof document.createElement != "undefined" || typeof document.createElementNS != "undefined")),
	is_ie: (navigator.userAgent.toLowerCase().indexOf("msie") != -1 && navigator.userAgent.toLowerCase().indexOf("opera") == -1),
	is_safari: (navigator.userAgent.toLowerCase().indexOf("safari") != -1),
	is_win: (navigator.userAgent.toLowerCase().indexOf("win") != -1),
	is_mac: (navigator.userAgent.toLowerCase().indexOf("mac") != -1),
	is_XML: (typeof document.contentType != "undefined" && document.contentType.indexOf("xml") > -1),
	
	foList: [],
		
	create: function(FO, id) {
		if (!UFO.is_w3cdom) return;
		UFO.foList[id] = UFO.updateFO(FO);
		UFO.createStyleRule("#" + id, "visibility:hidden;");
		UFO.domLoad(id);
	},

	updateFO: function(FO) {
		if (typeof FO.xi != "undefined" && FO.xi == "true") {
			if (typeof FO.ximovie == "undefined") FO.ximovie = UFO.ximovie;
			if (typeof FO.xiwidth == "undefined") FO.xiwidth = UFO.xiwidth;
			if (typeof FO.xiheight == "undefined") FO.xiheight = UFO.xiheight;
		}
		else {
			FO.xi = false;
		}
		FO.domLoaded = false;
		return FO;
	},

	domLoad: function(id) {
		var timer = setInterval(function() { // doesn't work in IE/Mac
			if((document.getElementsByTagName("body")[0] != null || document.body != null) &&  document.getElementById(id) != null) {
				UFO.main(id);
				clearInterval(timer);
			}
		}, 250);
		if (typeof document.addEventListener != "undefined") {
			document.addEventListener("DOMContentLoaded", function() { UFO.main(id); clearInterval(timer); } , null); // Mozilla only
		}
	},

	main: function(id) {
		var FO = UFO.foList[id];
		if (FO.domLoaded) return; // for Mozilla, only execute once
		UFO.foList[id].domLoaded = true;
		document.getElementById(id).style.visibility = "hidden";
		if (UFO.hasRequiredAttrParams(id)) {
			if (UFO.hasFlashVersion(FO.majorversion, FO.build)) {
				UFO.writeFlashObject(id);
			}
			else if (FO.xi && UFO.hasFlashVersion("6", "65")) {
				UFO.createModalDialog(id);
			}
		}
		document.getElementById(id).style.visibility = "visible";
	},
	
	createStyleRule: function(selector, declaration) {
		if (UFO.is_ie && UFO.is_mac) return; // bugs in IE/Mac
		var head = document.getElementsByTagName("head")[0]; 
		var style = UFO.createElement("style");
		if (!(UFO.is_ie && UFO.is_win)) {
			var styleRule = document.createTextNode(selector + " {" + declaration + "}");
			style.appendChild(styleRule); // bugs in IE/Win
		}
		style.setAttribute("type", "text/css");
		style.setAttribute("media", "screen"); 
		head.appendChild(style);
		if (UFO.is_safari && UFO.is_XML) { head.innerHTML += ""; } // force Safari repaint for MIME type application/xhtml+xml
		if (UFO.is_ie && UFO.is_win && document.styleSheets && document.styleSheets.length > 0) {
			var lastStyle = document.styleSheets[document.styleSheets.length - 1];
			if (typeof lastStyle.addRule == "object") {
				lastStyle.addRule(selector, declaration);
			}
		}
	},

	createElement: function(el) {
		return (typeof document.createElementNS != "undefined") ?  document.createElementNS("http://www.w3.org/1999/xhtml", el) : document.createElement(el);
	},

	hasRequiredAttrParams: function(id) {
		var FO = UFO.foList[id];
		for (var i = 0; i < UFO.requiredAttrParams.length; i++) {
			if (typeof FO[UFO.requiredAttrParams[i]] == "undefined") return false;
		}
		return true;
	},
	
	hasFlashVersion: function(majorVersion, buildVersion) {
		var reqVersion = parseFloat(majorVersion + "." + buildVersion);
		if (navigator.plugins && typeof navigator.plugins["Shockwave Flash"] == "object") {
			var desc = navigator.plugins["Shockwave Flash"].description;
			if (desc) {
				var versionStr = desc.replace(/^.*\s+(\S+\s+\S+$)/, "$1");
				var major = parseInt(versionStr.replace(/^(.*)\..*$/, "$1"));
				var build = parseInt(versionStr.replace(/^.*r(.*)$/, "$1"));
				var flashVersion = parseFloat(major + "." + build);
			}
		}
		else if (window.ActiveXObject) {
			try {
				var flashObj = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
				var desc = flashObj.GetVariable("$version");
				if (desc) {
					var versionArr = desc.replace(/^\S+\s+(.*)$/, "$1").split(",");
					var major = parseInt(versionArr[0]);
					var build = parseInt(versionArr[2]);
					var flashVersion = parseFloat(major + "." + build);
				}
			}
			catch(e) {}
		}
		if (typeof flashVersion != "undefined"){
			return (flashVersion >= reqVersion ? true : false); 
		}
		return false;
	},

	writeFlashObject: function(id) {
		var el = document.getElementById(id);
		if (typeof el.innerHTML == "undefined") return;
		var FO = UFO.foList[id];
		if (navigator.plugins && typeof navigator.plugins["Shockwave Flash"] == "object") {
			try	{ // older versions of Gecko only support innerHTML get and not set
				el.innerHTML = "ufo-test";
			}
			catch (e) {}
			if (el.innerHTML != "ufo-test") {
				while(el.hasChildNodes()) {
					el.removeChild(el.firstChild);
				}
				var embed = UFO.createElement("embed");
				embed.setAttribute("type", "application/x-shockwave-flash");
				embed.setAttribute("pluginspage", "http://www.macromedia.com/go/getflashplayer");
				embed.setAttribute("src", FO.movie);
				embed.setAttribute("width", FO.width);
				embed.setAttribute("height", FO.height);
				for (var i = 0; i < UFO.optionalAttrEmb.length; i++) {
					if (typeof FO[UFO.optionalAttrEmb[i]] != "undefined") {
						embed.setAttribute(UFO.optionalAttrEmb[i], FO[UFO.optionalAttrEmb[i]]);
					}
				}
				for (var i = 0; i < UFO.optionalAttrParams.length; i++) {
					if (typeof FO[UFO.optionalAttrParams[i]] != "undefined") {
						embed.setAttribute(UFO.optionalAttrParams[i], FO[UFO.optionalAttrParams[i]]);
					}
				}	
				el.appendChild(embed);
			}
			else {
				var embHTML = "";
				for (var i = 0; i < UFO.optionalAttrEmb.length; i++) {
					if (typeof FO[UFO.optionalAttrEmb[i]] != "undefined") {
						embHTML += ' ' + UFO.optionalAttrEmb[i] + '="' + FO[UFO.optionalAttrEmb[i]] + '"';
					}
				}
				for (var i = 0; i < UFO.optionalAttrParams.length; i++) {
					if (typeof FO[UFO.optionalAttrParams[i]] != "undefined") {
						embHTML += ' ' + UFO.optionalAttrParams[i] + '="' + FO[UFO.optionalAttrParams[i]] + '"';
					}
				}
				el.innerHTML = '<embed type="application/x-shockwave-flash" src="' + FO.movie + '" width="' + FO.width + '" height="' + FO.height + '" pluginspage="http://www.macromedia.com/go/getflashplayer"' + embHTML + '></embed>';
			}
		}
		else {
			var objAttrHTML = "";
			for (var i = 0; i < UFO.optionalAttrObj.length; i++) {
				if (typeof FO[UFO.optionalAttrObj[i]] != "undefined") {
					objAttrHTML += ' ' + UFO.optionalAttrObj[i] + '="' + FO[UFO.optionalAttrObj[i]] + '"';
				}
			}
			var objParamHTML = "";
			for (var i = 0; i < UFO.optionalAttrParams.length; i++) {
				if (typeof FO[UFO.optionalAttrParams[i]] != "undefined") {
					objParamHTML += '<param name="' + UFO.optionalAttrParams[i] + '" value="' + FO[UFO.optionalAttrParams[i]] + '" />';
				}
			}
			var protocol = (window.location.protocol == "https:" ? "https:" : "http:");
			el.innerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + objAttrHTML + ' width="' + FO.width + '" height="' + FO.height + '" codebase="' + protocol + '//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=' + FO.majorversion + ',0,' + FO.build + ',0"><param name="movie" value="' + FO.movie + '" />' + objParamHTML + '</object>';
		}
	},

	createModalDialog: function(id) {
		var FO = UFO.foList[id];
		UFO.createStyleRule("html", "height:100%; overflow:hidden;");
		UFO.createStyleRule("body", "height:100%; overflow:hidden;");
		UFO.createStyleRule("#xi-con", "position:absolute; left:0; top:0; z-index:1000; width:100%; height:100%; background-color:#333; filter:alpha(opacity:50); -khtml-opacity:0.5; -moz-opacity:0.5; opacity:0.5;");
		UFO.createStyleRule("#xi-mod", "position:absolute; left:50%; top:50%; margin-left: -" + (parseInt(FO.xiwidth)/2) + "px; margin-top: -" + (parseInt(FO.xiheight)/2) + "px; width:" + FO.xiwidth + "px; height:" + FO.xiheight + "px;");
		var body = document.getElementsByTagName("body")[0];
		var container = UFO.createElement("div");
		container.setAttribute("id", "xi-con");
		var dialog = UFO.createElement("div");
		dialog.setAttribute("id", "xi-mod");
		container.appendChild(dialog);
		body.appendChild(container);
		var MMredirectURL = window.location; // MM code
		document.title = document.title.slice(0, 47) + " - Flash Player Installation"; // MM code
		var MMdoctitle = document.title; // MM code
		if (UFO.is_ie && UFO.is_win) {
			var xiFO = { movie:FO.ximovie, width:FO.xiwidth, height:FO.xiheight, majorversion:"6", build:"65", flashvars:"MMredirectURL=" + MMredirectURL + "&amp;MMplayerType=ActiveX&amp;MMdoctitle=" + MMdoctitle };
		}
		else {
			var xiFO = { movie:FO.ximovie, width:FO.xiwidth, height:FO.xiheight, majorversion:"6", build:"65", flashvars:"MMredirectURL=" + MMredirectURL + "&amp;MMplayerType=PlugIn&amp;MMdoctitle=" + MMdoctitle };
		}
		UFO.foList["xi-mod"] = xiFO;
		UFO.writeFlashObject("xi-mod");
	},

	expressInstallCallback: function() {
		var body = document.getElementsByTagName("body")[0];
		var dialog = document.getElementById("xi-con");
	    body.removeChild(dialog);
		UFO.createStyleRule("body", "height:auto; overflow:auto;");
		UFO.createStyleRule("html", "height:auto; overflow:auto;");
	}

};



<!--
function cOn1(td){
if(document.getElementById||(document.all && !(document.getElementById))){
td.style.backgroundColor="#cccccc";
}
}

function cOut1(td){
if(document.getElementById||(document.all && !(document.getElementById))){
td.style.backgroundColor="#FFFFFF";
}
}
//-->

//** Drop Nav Centered on Site **//
// IE and Mozilla friendly way to get id's
function findId(id) {
	if (document.getElementById) {
		return document.getElementById(id);
	} else if (document.all) {
		return document.all.id;
	}
}

tdLastId = "";
tdCurrentId = "";
waiting = 0;
waitTime = 50;
timeoutId = "";

function navFlip(id, that, xOffset, yPos) {
	//alert(xOffset)
	if (!xOffset) xOffset = 0;
	if (!yPos) yPos = 0;
	if (waiting) {
		if (id != tdLastId) {
			clearTimeout(timeoutId);
			that_saved = that;
			timeoutId = setTimeout('clearWait(' + xOffset + ', ' + yPos + ')', waitTime);
		}
		tdLastId = id;
		return;
	}

	if (tdCurrentId != id) {
		if (id) {
			lyr = findId(id);
			if (lyr) {
				if (that) {
					lyr.style.left = findPosX(that) + xOffset;
					if (yPos) {
						lyr.style.top = yPos;
					}
				}
				lyr.style.visibility = "visible";
			}
			waiting = id;
		}

		if (tdCurrentId) {
			//alert('dis: ' + tdCurrentId + ' waiting:' + waiting);

			lyr = findId(tdCurrentId);

			lyr.style.visibility = "hidden";
		}
		tdCurrentId = id;
	}
	tdLastId = id;
}

function clearWait(xOffset, yPos) {
	//alert('clearing: ' + waiting);
	waiting = 0;
	navFlip(tdLastId, that_saved, xOffset, yPos);
}

// Functions to find positions of static images
function findPosX(obj) {
	var curleft = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	} else if (obj.x) {
		curleft += obj.x;
	}

	return curleft;
}

function findPosY(obj) {
	var curtop = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	} else if (obj.y) {
		curtop += obj.y;
	}

	return curtop;
}


<!--
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->

browser = navigator.appName;
ie = "Microsoft Internet Explorer";
netscape = "Netscape";

/*These will be the variables holding the info of which browser the user is using*/
	var isNew = 0;
	var isNS4 = 0;
	var isIE4 = 0;
	
	/*This sets the above browser variables*/
	var brows=((navigator.appName)+(parseInt(navigator.appVersion)));
	if(parseInt(navigator.appVersion)>=5) 
		isNew=1;
	else if (brows=="Netscape4") 
		isNS4=1;
	else if (brows=="Microsoft Internet Explorer4") 
		isIE4=1;

// mouseover script
<!--
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); 
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
	eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
	if (restore) selObj.selectedIndex=0;
}
//-->

//popup window
<!-- Begin
function NewWindow(mypage, myname, w, h, scroll) {
var winl = (screen.width - w) / 2;
var wint = (screen.height - h) / 2;
winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable'
win = window.open(mypage, myname, winprops)
if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}
//  End -->

//show hide layer for 105th Boston Marathon Page (105thMarathon.asp)
<!--
function MM_showHideLayers() { //v3.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
    obj.visibility=v; }
}
//-->

//SLIDESHOW **************************
var photos=new Array()
var photoscaption=new Array()
var which=0

//define images. You can have as many as you want. Images MUST be of the same dimensions (for NS's sake)
//IMAGES ARE DEFINED WITHIN THE ACTUAL PAGE
function keeptrack(){
window.status="Image "+(which+1)+" of "+photos.length
}

function backward(){
	if (which>0){
		which--
		//applyeffect()
		document.images.photoslider.src=photos[which]
		//document.slide.photoscaption.value=photos[which]
		//playeffect()
		keeptrack()
	}
}

function forward(){
	if (which<photos.length-1){
		which++
		//applyeffect()
		document.images.photoslider.src=photos[which]
		//document.slide.photoscaption.value=photos[which]
		//playeffect()
		keeptrack()
	}
}
//END SLIDESHOW **************************


function CheckAll(mycheckbox)
{
	for (var i=0;i<document.PageForm.elements.length;i++)
	{
		var e = document.PageForm.elements[i];
		str=e.name.substring(0,13);
		if ((e.name != 'allbox1') && (e.name != 'ReceiveEmails') && (str != 'ResultsDelete') && (e.type=='checkbox'))
		e.checked = document.PageForm.allbox1.checked;
	}
}

function CheckCheckAll()
{
	var TotalBoxes = 0;
	var TotalOn = 0;
	for (var i=0;i<document.PageForm.elements.length;i++)
	{
		var e = document.PageForm.elements[i];
		str=e.name.substring(0,13);
		if ((e.name != 'allbox1') && (e.name != 'ReceiveEmails') && (str != 'ResultsDelete') && (e.type=='checkbox'))
		{
			TotalBoxes++;
		if (e.checked)
		{
			TotalOn++;
		}
		}
	}
	if (TotalBoxes==TotalOn)
	{
	document.PageForm.allbox1.checked=true;
	}
	else
	{
	document.PageForm.allbox1.checked=false;
	}
}



function SetFormValue(formStr,field,value) {
	
	form=(MM_findObj(formStr))
	
	if (form) {
		if (null != (form.elements[field])) {
			if ((browser == netscape)&&(form.elements[field].type=='select-one')){
				sellength=form.elements[field].length;
				for (i=0; i< sellength; i++) {
					if (form.elements[field].options[i].value==value)
						form.elements[field].options[i].selected=true;
				}
			} 
			else 
				form.elements[field].value=value;
		}		
	}
}

function SubmitForm(formStr) {
	form=(MM_findObj(formStr))
	if(form) form.submit();
}

