/* SITE-ONLY
   ---------------------------------------------- */
	var servertime = new Date(serverTime); // Required

	// Mailto href (to help hide from crawlers)
	function autoMailto(name, domain) {
		if (!domain) { var domain = "971thefan.com"; }
		window.location = "mailto:"+name+"@"+domain;	
	}	
	
	// Fanword redirect
	function goFanword(menuObj, forceNew) {
		var link = menuObj.value;
                pageTracker._trackPageview('/click/fanword/'+link);
		if ((link.indexOf("http") < 0) && !forceNew) { document.location = link; } else { window.open(link, "fanword"); }
	}	

	// Popup for arcade
	function launchArcade(game) {
		//newPopup("/live/content/promotions/gameplayer_wait.html?game="+game, "gameroom", "min", 770, 550); // Stop ad
		newPopup("/live/content/promotions/gameplayer.html?game="+game, "gameroom", "min", 770, 550); // Quick load
		return false;
	}

	
		
	function launchWebBlitzPlayer(url) {
		 launchPaidPlayer(url);
	}

	function launchPaidPlayer(url) {
             if (!url) { alert('This link is only available on game days') } else { newPopup(url,'osuplayer','min',960,640); }
	}



	
	function launchRadioPlayer(item) {
              jsplayer.launchReplay(item);
	}

	function replayCbj(selectId) {
		var asx = document.getElementById(selectId).value;
		if (asx) {
		    jsplayer.launchReplay(asx);
		}
		
		return;
	}
	
	function newSlideshow(selectObj) {
		document.getElementById("flickrslideshow").src = selectObj.value;
	}

	function changeVideo(selectObj) {
		var swfUrl = "http://www.youtube.com/v/"+selectObj.value+"&rel=1&autoplay=1";
		var newVid = { movie:swfUrl, width:"400", height:"330", majorversion:"8", build:"0", wmode:"transparent" };
		UFO.create(newVid, "vidHolder");	
	}


function footerFunctions() {

// OSU tiptop ad
   var gameDateOn  = new Date("09/26/2009 00:00:00");
   var gameDateOff = new Date("09/27/2009 18:30:00");
   if ((servertime >= gameDateOn ) && (servertime <= gameDateOff)) {
      $("header").addClassName("penciltop"); // Adds margin to header
      $("pencilad").removeClassName("hide"); // Unhides tiptop
   }

}



/* JAVASCRIPT AUDIO PLAYER
------------------------------------------------- */
var jsplayer = {

   /* Onclick Player Handling (non-paid)
   ---------------------------------------------- */

	// Live stream launch - Always void
	launchLive:function() { // Normal player
		newPopup("http://www.971thefan.com/live/content/tools/player/skin_liveplayer.html?oas=fanplayer&pos=Position2","player","min",750,525);
                return false;
	},

	launchLive_chat:function() { // Chat player
		newPopup("http://www.971thefan.com/live/content/tools/player/skin_chatplayer.html?oas=fanplayer&pos=Position2","player","min",800,560);
                return false;
	},

	launchReplay:function(item,skin) {

if (!skin) { var skin = "skin_replay.html"; }

		newPopup("http://www.971thefan.com/live/content/tools/player/"+skin+"?item="+item,"player","min",750,500);
                return false;
	},

        launchMemorial:function() { 
		newPopup("http://www.971thefan.com/live/content/tools/player/skin_memorial.html?oas=fanplayer&pos=Position2","player","min",750,380);
                return false;
	},
	
	
	/* Audio Item Loading */
	loadAudioItem:function(audio_oas, audio_pos, audio_item, preroll_oas, preroll_pos, preroll_wait) {
//var preroll_wait = this.prerollTime;
		if (isNotNull(preroll_oas)) {
			this.changeFrame(preroll_oas,preroll_pos); // Preroll video
   			setTimeout("jsplayer.changeFrame('"+audio_oas+"','"+audio_pos+"','"+audio_item+"')",(preroll_wait*1000)); // Live stream + banner
   		} else {
   			this.changeFrame(audio_oas,audio_pos,audio_item);
   		}
	},



   /* Live Streaming Handling
   ---------------------------------------------- */
   
    // Preroll video handling and stream launch
	loadLivePlayer:function() {
		if (readCookie("jsplayer_zipcode")) {
   			this.changeFrame("fanplayer","x03"); // Preroll video
   			setTimeout("jsplayer.changeFrame('fanplayer','Position2','"+this.getLiveStreamAsx()+"')",(jsplayer.prerollTime*1000)); // Live stream + banner
   		}
   		// Else show default static banner as defined in launchLive()
	},
	
	// Returns stream ASX URL based on saved prefs (speed+zip)
	getLiveStreamAsx:function() {
		var streamUrl = "http://streamdata.dispatchbroadcast.com/1460TheFanLiveHigh.asx";
	
		if (in_array(readCookie("jsplayer_zipcode"), this.a_validZipcodes) > 0) {
			// In-market streams
			switch (readCookie("jsplayer_speed")) {
				case "low":
					streamUrl = "http://streamdata.dispatchbroadcast.com/1460TheFanLiveHighClean.asx"; // clean
					break;				
						
				case "med":
				default:
					streamUrl = "http://streamdata.dispatchbroadcast.com/1460TheFanLiveHighClean.asx"; // clean
					break;
						
				case "high":
					streamUrl = "http://streamdata.dispatchbroadcast.com/1460TheFanLiveHighClean.asx"; // clean
					break;					
			}
		} else {
			// Out-of-market streams
			switch (readCookie("jsplayer_speed")) {
				case "low":
					streamUrl = "http://streamdata.dispatchbroadcast.com/1460TheFanLiveHigh.asx";
					break;				
					
				case "med":
				default:
					streamUrl= "http://streamdata.dispatchbroadcast.com/1460TheFanLiveHigh.asx";
					break;
						
				case "high":
					streamUrl = "http://streamdata.dispatchbroadcast.com/1460TheFanLiveHigh.asx";
					break;					
			}
		}
		
		return(streamUrl);
	},	
	
	// Write prefs to cookie
	savePrefs:function() {
		var speed = "high";
		/*
		for (i = 0; i < 3; i++){
			if (document.forms[0].connectspeed[i].checked == true) {
				speed = document.forms[0].connectspeed[i].value;
			}
		}	
                */
		
		createCookie("jsplayer_zipcode",$F("zipcode"),7);
		createCookie("jsplayer_speed",speed,7);	
		
		Element.hide("prefsform");
		Element.show("activelistener");		
		
		this.loadLivePlayer();	
	},
	
	// Clears cookies
	changePrefs:function() { 
		eraseCookie("jsplayer_zipcode");
		eraseCookie("jsplayer_speed");
		
		Element.show("prefsform");
		Element.hide("activelistener");
	},

	// Looks for cookies and changes HTML accoringly
	checkPrefs:function() {
		if (readCookie("jsplayer_zipcode")) {
			Element.hide("prefsform");
			Element.show("activelistener");
			this.loadLivePlayer();
		}		
	},


        /* Support Functions */
	// Refreshes iframe with new URL
	changeFrame:function(oas,pos,item) {
		var url = "http://www.971thefan.com/live/content/tools/player/iframeplayer.html?oas="+oas+"&pos="+pos+"&item="+item;
		document.getElementById("playerframe").src = url;
	},

	// Write WMP object to page. Accepts full path or DAD# as play item
	loadWmpPlayer:function(item) {
		if (isNotNull(item) && (item != "false")) {
			if (item.indexOf("http") < 0) {
				var item = "http://streamdata.dispatchbroadcast.com/"+item+".asx";
			}
			
			document.write('<OBJECT id="MPlayer" type="application/x-oleobject" standby="Loading Microsoft Windows Media Player components..." classid="CLSID:6bf52a52-394a-11d3-b153-00c04f79faa6" width="300" height="63"><PARAM name="URL" value="'+item+'"></PARAM><PARAM name="fileName" value="'+item+'"></PARAM><PARAM name="AutoSize" value="0"></PARAM><PARAM name="autoStart" value="1"></PARAM><PARAM name="ShowStatusBar" value="1"></PARAM><PARAM name="ShowDisplay" value="0"></PARAM><embed pluginspage="http://microsoft.com/windows/mediaplayer/en/download/" src="'+item+'" fileName="'+item+'" name="MPlayer" autoSize="0" AutoStart="1" ShowStatusBar="1" ShowDisplay="0"width="300" height="60" ShowPositionControls="0"></embed></OBJECT>');
		}		
	},   

	// Writes iframe element with parameters
	insertIframePlayer:function() {
		document.write('<div><iframe id="playerframe" src="http://www.971thefan.com/live/content/tools/player/waiting.html" width="300" height="316" frameborder="0" border="0"></iframe></div>');
		if (isNotNull(jsplayer.getvars["oas"]) && isNotNull(jsplayer.getvars["pos"])) {
			document.getElementById("playerframe").src = "http://www.971thefan.com/live/content/tools/player/iframeplayer.html?pos="+jsplayer.getvars["pos"]+"&oas="+jsplayer.getvars["oas"]+"&item="+jsplayer.getvars["item"];
		}	
	}	


}; // END jsplayer class

// Setup obj vars (required)
jsplayer.getvars         = newGetObject();
jsplayer.a_validZipcodes = new Array("43001","43003","43004","43005","43006","43007","43008","43011","43013","43015","43016","43017","43018","43019","43021","43022","43023","43025","43026","43028","43031","43032","43035","43040","43045","43046","43050","43054","43055","43056","43061","43062","43064","43065","43066","43067","43068","43071","43074","43076","43080","43081","43082","43085","43086","43102","43103","43105","43107","43109","43110","43112","43113","43115","43116","43117","43119","43123","43125","43127","43128","43130","43137","43138","43140","43143","43145","43146","43147","43148","43149","43150","43154","43155","43156","43160","43162","43164","43201","43202","43203","43204","43205","43206","43207","43209","43210","43211","43212","43213","43214","43215","43216","43219","43220","43221","43222","43223","43224","43227","43228","43229","43230","43231","43232","43235","43240","43302","43314","43315","43317","43320","43326","43334","43338","43340","43341","43342","43344","43356","43358","43453","43723","43725","43730","43731","43739","43748","43755","43756","43758","43764","43766","43773","43777","43780","43783","43787","43811","43812","43822","43824","43830","43832","43845","44813","44818","44820","44822","44827","44833","44849","44854","44887","44904","45601","45612","45613","45628","45644","45648","45661","45681","45690","45715","45810","45843");
jsplayer.prerollTime     = 18;

	
/* GENERAL PURPOSE UTILITIES
   ---------------------------------------------- */
function submitenter(myfield,e) {
  var keycode;
  if (window.event) keycode = window.event.keyCode;
  else if (e) keycode = e.which;
  else return true;

  if (keycode == 13) {
     jsplayer.savePrefs();
     return false;
  } else {
     return true;
  }
}

 
	function checkEmail(strMail) { if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(strMail)){ return true; } else { return false; } }
	function ajax_nocache_pars(pars) { var cache = parseInt(Math.random()*99999999) + new Date().valueOf(); if (!pars) { var newpars = "?cache="+cache; } else { var newpars = pars+"&cache="+cache; } return(newpars); }
	function isNotNull(thisvar) { if (thisvar && (thisvar != "undefined") && (thisvar!=null)) { return(thisvar); } else { return false; }	}
	function array_shuffle(o){ for(var j, x, i = o.length; i; j = parseInt(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x); return o; }
    function in_array(element, ary){ for(var i=0; i<ary.length; i++) { if(ary[i] == element) { return i; } } return(-1); }
	function autoMailto(name, domain) { window.location = "mailto:"+name+"@"+domain; return false; }   

	// OAS setup - Use when need custom positions. Use outside of wrap.
	function oasSetup(site,oas,poslist) {
	    OAS_url      = "http://adsrv.dispatch.com/RealMedia/ads/";
		OAS_sitepage = site+"/"+oas;
	    OAS_listpos  = poslist;
	    OAS_query    = "";
	    OAS_target   = "sponsor";
	      
		document.write('<scr' + 'ipt language="javascript1.1" src="http://www.dispatch.com/shared/js/oasMJXcode.js"><\/scr'+'ipt>');
	}

	// Pop-up window with flag options
	function newPopup(url, name, style, width, height) {
		if (!width)  { width  = 640; }
		if (!height) { height = 480; }
		if (!name)   { name   = "popup"; }		
		if (!style)  { style  = "normal"; }	
		
		if (url) {
			switch (style) {
				case "normal":
					window.open(url,name,"width="+width+",height="+height+",toolbar=0,location=0,status=1,menu=1,resizable=1,scrollbars=auto");	
					break;
				
				case "full":
					window.open(url,name,"width="+width+",height="+height);	
					break;
					
				case "min":
					window.open(url,name,"width="+width+",height="+height+",toolbar=0,location=0,status=0,menu=0,resizable=0,scollbars=auto");	
					break;
			}
		}
		
		return false;
	}
	
	
	// Webmonkey GET Parsing Module - http://www.hotwired.com/webmonkey/javascript/code_library/
	function newGetObject() {
	  FORM_DATA = new Object();
	  separator = ',';
	  query     = '' + this.location;
	  query     = query.substring((query.indexOf('?')) + 1);
	  
	  if (query.length < 1) { return false; }  // Perhaps we got some bad data?
	  
	  keypairs = new Object();
	  numKP    = 1;
	    
	  while (query.indexOf('&') > -1) {
	    keypairs[numKP] = query.substring(0,query.indexOf('&'));
	    query = query.substring((query.indexOf('&')) + 1);
	    numKP++;
	  }
	
	  keypairs[numKP] = query;
	  
	  for (i in keypairs) {
	    keyName  = keypairs[i].substring(0,keypairs[i].indexOf('='));
	    keyValue = keypairs[i].substring((keypairs[i].indexOf('=')) + 1);
	    while (keyValue.indexOf('+') > -1) {
	      keyValue = keyValue.substring(0,keyValue.indexOf('+')) + ' ' + keyValue.substring(keyValue.indexOf('+') + 1);
	    }
	    
	    keyValue = unescape(keyValue);
	      
	    if (FORM_DATA[keyName]) {
	      FORM_DATA[keyName] = FORM_DATA[keyName] + separator + keyValue;
	    } else {
	      FORM_DATA[keyName] = keyValue;
	    }
	  }
	  return FORM_DATA;
	}	
	

	/* Cookie utilities - http://www.quirksmode.org/js/cookies.html */
	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 var 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 eraseCookie(name) {
		createCookie(name,"",-1);
	}	
	
	
	
	// Validate form and check for required fields.
	function verifyForm(thisform) {
		var reqmatch  = "req_";
		var message   = "All marked(*) or colored fields are required.\nPlease double check the form and try again."
		var offenders = new Array;

		if (!thisform.elements) {
			thisform.elements = thisform;
		}

		for(i=0; i < thisform.elements.length; i++) {
			var field = thisform.elements[i];

			if (field.name) {
				var isReq = (field.name.substr(0,reqmatch.length)==reqmatch) ? true : false
				var pos   = offenders.length;
			} else {
				isReq = false;
			}

			if (pos <= 0) { pos = 0; }

			if(isReq) {
				if((field.type=="text" || field.type=="textarea" || field.type=="password" || field.type=="file")) { // && field.value==""
					var fieldValue = field.value;
					if (!field.value.match(/\w/)) {
						offenders[pos]  = field;
						field.className = "requiredField";
					}
				} else if(field.type=="select-one" && field.selectedIndex == 0){
					offenders[pos]  = field;
					field.className = "requiredField";
				} else if(field.type=="select-multiple"){
					Sel=0
					for(o=0; o<field.options.length; o++){
						if(field.options[o].selected){
							Sel++
							break
						}
					}

					if(Sel == 0){
						offenders[pos]  = field;
						field.className = "requiredField";
					}
				} else if(field.type=="radio" || field.type=="checkbox"){
					var startingIndex = i
					var Checked = 0
					var rLength=1
					while(field.name == thisform.elements[i+1].name){
						rLength++
						i++
					}

					for(g = startingIndex; g < rLength+startingIndex; g++){
						if(thisform.elements[g].checked){
							Checked++
							break
						}
					}
					if(Checked == 0){
						offenders[pos]  = field;
						field.className = "requiredField";
					}
				}
			}
		}

		if (offenders.length > 0) {
			alert(message);
			return false;
		} else {
			return true;
		}
	}		
	
	// Date Utility Functions - (c)2005-2007 Matt Kruse (javascripttoolbox.com)
	eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('8.$2m=1.2n;8.Q=u(x){e(x<0||x>9?"":"0")+x};8.1g=B R(\'2o\',\'2p\',\'2l\',\'2k\',\'1z\',\'2g\',\'2h\',\'2i\',\'2j\',\'2q\',\'2r\',\'2y\');8.14=B R(\'2z\',\'2A\',\'2x\',\'2w\',\'1z\',\'2s\',\'2t\',\'2u\',\'2v\',\'2f\',\'2b\',\'1R\');8.1d=B R(\'1W\',\'1Z\',\'1Y\',\'1V\',\'1U\',\'1S\',\'1T\');8.1f=B R(\'1X\',\'2e\',\'20\',\'2c\',\'2d\',\'2a\',\'27\');8.1s=1L;3(!8.C.1c){8.C.1c=u(){b S=7.1y();e(S<16?S+16:S)}}8.1q=u(r,t){3(1e(t)=="1a"||t==f||t==""){b 1D=B R(\'y-M-d\',\'G d, y\',\'G d,y\',\'y-G-d\',\'d-G-y\',\'G d\',\'G-d\',\'d-G\');b 1v=B R(\'M/d/y\',\'M-d-y\',\'M.d.y\',\'M/d\',\'M-d\');b 1t=B R(\'d/M/y\',\'d-M-y\',\'d.M.y\',\'d/M\',\'d-M\');b 1u=B R(1D,8.1s?1v:1t,8.1s?1t:1v);Z(b i=0;i<1u.g;i++){b l=1u[i];Z(b j=0;j<l.g;j++){b d=8.1q(r,l[j]);3(d!=f){e d}}}e f};7.1I=u(r){Z(b i=0;i<r.g;i++){3("26".2C(r.U(i))==-1){e 13}}e 1L};7.O=u(1E,i,1i,1C){Z(b x=1C;x>=1i;x--){b 5=1E.T(i,i+x);3(5.g<1i){e f}3(7.1I(5)){e 5}}e f};r=r+"";t=t+"";b o=0;b D=0;b c="";b 5="";b 2T="";b x,y;b A=B 8().1c();b v=1;b I=1;b p=0;b J=0;b L=0;b 10="";W(D<t.g){c=t.U(D);5="";W((t.U(D)==c)&&(D<t.g)){5+=t.U(D++)}3(5=="19"||5=="S"||5=="y"){3(5=="19"){x=4;y=4}3(5=="S"){x=2;y=2}3(5=="y"){x=2;y=4}A=7.O(r,o,x,y);3(A==f){e f}o+=A.g;3(A.g==2){3(A>2V){A=16+(A-0)}q{A=2R+(A-0)}}}q 3(5=="G"||5=="1P"){v=0;b Y=(5=="G"?(8.1g.2O(8.14)):8.14);Z(b i=0;i<Y.g;i++){b 1h=Y[i];3(r.T(o,o+1h.g).V()==1h.V()){v=(i%12)+1;o+=1h.g;1A}}3((v<1)||(v>12)){e f}}q 3(5=="1r"||5=="E"){b Y=(5=="1r"?8.1d:8.1f);Z(b i=0;i<Y.g;i++){b 18=Y[i];3(r.T(o,o+18.g).V()==18.V()){o+=18.g;1A}}}q 3(5=="1o"||5=="M"){v=7.O(r,o,5.g,2);3(v==f||(v<1)||(v>12)){e f}o+=v.g}q 3(5=="1m"||5=="d"){I=7.O(r,o,5.g,2);3(I==f||(I<1)||(I>2E)){e f}o+=I.g}q 3(5=="p"||5=="h"){p=7.O(r,o,5.g,2);3(p==f||(p<1)||(p>12)){e f}o+=p.g}q 3(5=="1k"||5=="H"){p=7.O(r,o,5.g,2);3(p==f||(p<0)||(p>23)){e f}o+=p.g}q 3(5=="1l"||5=="K"){p=7.O(r,o,5.g,2);3(p==f||(p<0)||(p>11)){e f}o+=p.g;p++}q 3(5=="1j"||5=="k"){p=7.O(r,o,5.g,2);3(p==f||(p<1)||(p>24)){e f}o+=p.g;p--}q 3(5=="J"||5=="m"){J=7.O(r,o,5.g,2);3(J==f||(J<0)||(J>1K)){e f}o+=J.g}q 3(5=="L"||5=="s"){L=7.O(r,o,5.g,2);3(L==f||(L<0)||(L>1K)){e f}o+=L.g}q 3(5=="a"){3(r.T(o,o+2).V()=="2J"){10="1w"}q 3(r.T(o,o+2).V()=="2N"){10="1x"}q{e f}o+=2}q{3(r.T(o,o+5.g)!=5){e f}q{o+=5.g}}}3(o!=r.g){e f}3(v==2){3(((A%4==0)&&(A%2M!=0))||(A%2L==0)){3(I>29){e f}}q{3(I>28){e f}}}3((v==4)||(v==6)||(v==9)||(v==11)){3(I>2K){e f}}3(p<12&&10=="1x"){p=p-0+12}q 3(p>11&&10=="1w"){p-=12}e B 8(A,v-1,I,p,J,L)};8.2I=u(r,t){e(8.1q(r,t)!=f)};8.C.2D=u(F){3(F==f){e 13}e(7.P()<F.P())};8.C.2F=u(F){3(F==f){e 13}e(7.P()>F.P())};8.C.2G=u(F){3(F==f){e 13}e(7.P()==F.P())};8.C.2W=u(F){3(F==f){e 13}b 1J=B 8(7.P()).1p();b 1F=B 8(F.P()).1p();e(1J.P()==1F.P())};8.C.t=u(t){t=t+"";b X="";b D=0;b c="";b 5="";b y=7.1y()+"";b M=7.1b()+1;b d=7.1Q();b E=7.15();b H=7.1N();b m=7.1G();b s=7.1H();b 19,S,G,1o,1m,p,h,J,L,10,1k,H,1l,K,1j,k;b n=B 2B();3(y.g<4){y=""+(+y+16)}n["y"]=""+y;n["19"]=y;n["S"]=y.T(2,4);n["M"]=M;n["1o"]=8.Q(M);n["G"]=8.1g[M-1];n["1P"]=8.14[M-1];n["d"]=d;n["1m"]=8.Q(d);n["E"]=8.1f[E];n["1r"]=8.1d[E];n["H"]=H;n["1k"]=8.Q(H);3(H==0){n["h"]=12}q 3(H>12){n["h"]=H-12}q{n["h"]=H}n["p"]=8.Q(n["h"]);n["K"]=n["h"]-1;n["k"]=n["H"]+1;n["1l"]=8.Q(n["K"]);n["1j"]=8.Q(n["k"]);3(H>11){n["a"]="1x"}q{n["a"]="1w"}n["m"]=m;n["J"]=8.Q(m);n["s"]=s;n["L"]=8.Q(s);W(D<t.g){c=t.U(D);5="";W((t.U(D)==c)&&(D<t.g)){5+=t.U(D++)}3(1e(n[5])!="1a"){X=X+n[5]}q{X=X+5}}e X};8.C.2P=u(){e 8.1d[7.15()]};8.C.2H=u(){e 8.1f[7.15()]};8.C.2U=u(){e 8.1g[7.1b()]};8.C.2Q=u(){e 8.14[7.1b()]};8.C.1p=u(){7.1O(0);7.1B(0);7.1M(0);7.2S(0);e 7};8.C.1n=u(N,z){3(1e(N)=="1a"||N==f||1e(z)=="1a"||z==f){e 7}z=+z;3(N==\'y\'){7.25(7.1c()+z)}q 3(N==\'M\'){7.22(7.1b()+z)}q 3(N==\'d\'){7.21(7.1Q()+z)}q 3(N==\'w\'){b 17=(z>0)?1:-1;W(z!=0){7.1n(\'d\',17);W(7.15()==0||7.15()==6){7.1n(\'d\',17)}z-=17}}q 3(N==\'h\'){7.1O(7.1N()+z)}q 3(N==\'m\'){7.1B(7.1G()+z)}q 3(N==\'s\'){7.1M(7.1H()+z)}e 7};',62,183,'|||if||token||this|Date|||var|||return|null|length|||||||value|i_val|hh|else|val||format|function|month||||number|year|new|prototype|i_format||date2|MMM||date|mm||ss||interval|getInt|getTime|LZ|Array|yy|substring|charAt|toLowerCase|while|result|names|for|ampm|||false|monthAbbreviations|getDay|1900|step|day_name|yyyy|undefined|getMonth|getFullYear|dayNames|typeof|dayAbbreviations|monthNames|month_name|minlength|kk|HH|KK|dd|add|MM|clearTime|parseString|EE|preferAmericanFormat|dateFirst|checkList|monthFirst|AM|PM|getYear|May|break|setMinutes|maxlength|generalFormats|str|d2|getMinutes|getSeconds|isInteger|d1|59|true|setSeconds|getHours|setHours|NNN|getDate|Dec|Friday|Saturday|Thursday|Wednesday|Sunday|Sun|Tuesday|Monday|Tue|setDate|setMonth|||setFullYear|1234567890|Sat|||Fri|Nov|Wed|Thu|Mon|Oct|June|July|August|September|April|March|VERSION|02|January|February|October|November|Jun|Jul|Aug|Sep|Apr|Mar|December|Jan|Feb|Object|indexOf|isBefore|31|isAfter|equals|getDayAbbreviation|isValid|am|30|400|100|pm|concat|getDayName|getMonthAbbreviation|2000|setMilliseconds|token2|getMonthName|70|equalsIgnoreTime'.split('|'),0,{}))

		// Date/time checking
		// *Requires Date Utility Functions (above)
		// *Requires global servertime variable be defined and contain date object
		function activeByDate(dt_start, dt_end, days) {
		
			if (isNotNull(dt_start) && isNotNull(dt_end) && isNotNull(servertime)) {
				dt_start = new Date(dt_start);
				dt_end   = new Date(dt_end);
			
				if ((servertime >= dt_start) && (servertime < dt_end)) {
					if (isNotNull(days)) {
						days          = String(days);
						var b_inarray = true;

						if (days.length > 0) {
							b_inarray       = false;
							var a_days      = days.split(","); 
							var s_todayName = servertime.format("EE");
							
							for (var i=0; i < a_days.length; i++) {
								if (s_todayName == a_days[i]) {
									b_inarray = true;
								}
							};
						}
						
						return(b_inarray);
					} else {
						return true;
					}
				} else {
					return false;
				}
			} else {
				return true;
			}
		}
		
		// Check to see if start/end times are within current time
		// *Requires global servertime variable be defined and contain date object
		function activeByTime(tm_start, tm_end) {
			if (isNotNull(tm_start) && isNotNull(tm_end) && isNotNull(servertime)) {
				var datePrefix  = servertime.format("E NNN dd yyyy");
				var dt_start    = datePrefix+" "+tm_start;
				var dt_end      = datePrefix+" "+tm_end;
				
				dt_start = new Date(dt_start);
				dt_end   = new Date(dt_end);
			
				if ((servertime >= dt_start) && (servertime <= dt_end)) {
					return true;
				} else {
					return false;
				}
			} else {
				return true;
			}
		}
		
		// Looks for start/expire attributes and shows/hide accordingly
		// *Requires global servertime variable be defined and contain date object
		function hideElementsByDateRange(containerId, tagName, searchBy, action) {
			if (!action) { var action = "remove"; }
			var containerObj = $(containerId);
			
			switch (searchBy) {
				case "tag":   a_list = $A(containerObj.getElementsByTagName(tagName)); break;
				case "class": a_list = $A(containerObj.getElementsByClassName(tagName)); break;
				default:      a_list = $A(containerObj.getElementsByTagName(tagName)); break;					
			}

			a_list.each(function(node) {
				var dt_start  = node.getAttribute("start");
				var dt_expire = node.getAttribute("expire");
				
				if (!isNotNull(dt_start) && isNotNull(dt_expire)) {
					dt_expire    = new Date(dt_expire);
					
					if (dt_expire < servertime) {
						if (action == "hide") { Element.hide(node); } else { Element.remove(node); }
					}
				} else {
					if (!activeByDate(dt_start, dt_expire)) {
						if (action == "hide") { Element.hide(node); } else { Element.remove(node); }
					}
				}
			});				
		}		
