var $a=new Date();
var FirstMonth=GetFullYear($a)*100+1;
var LastMonth=FirstMonth+11;
var $b=new Array;
var $z="|";
var $d=0;
var $e=false;
var $f=new Array;
var $g=new Array;

function Event($h,$i,$j,$k,$l,$m,$n,$o,$p){
	this.description=$h;
	if($k)this.link=$k;
	if($l){this.image=$l;
		if($m)this.width=$m;
		if($n)this.height=$n;
		if($o)this.align=$o;
		if($p)this.alt=$p;
	}
	this.layer=($i?$i:"default");
	if($j){if(CheckFormat($j))this.format=$j;}
}

function DefineEvent(Date,$q,$r,Image,$s,$t){AddEvent(Date,$q,"","",$r,Image,$s,$t,"","");}

function AddEvent(Date,$q,Layer,$u,$r,Image,$s,$t,$v,$w){var i;if(Date<1000)Date=Date.toString(8);if(!$g[Date])$g[Date]=new Array;i=$g[Date].length;$g[Date][i]=new Event($q,Layer,$u,$r,Image,$s,$t,$v,$w);if(Date>1000){$x=Math.floor(Date/100);if($x<FirstMonth)FirstMonth=$x;if($x>LastMonth)LastMonth=$x;}if(Layer&&!$b[Layer])DefineLayer(Layer);}

function Layer($j,$y){if($j){if($j.indexOf("|")>0){this.format=$j;}else{alert("Invalid Calendar Format String: "+$j);}}else{this.format=DefaultLayerFormat;}this.show=($y=="false"?"false":"true");}

function DefineLayer($z,$A,$B){$b[$z]=new Layer($A,$B);$d++;}

function arr(){for(var n=0;n<arr.arguments.length;n++){this[n+1]=arr.arguments[n];}}var $Z=new arr("January","February","March","April","May","June","July","August","September","October","November","December");var cookieName="layerCalendar";var $D,$E,$x,$F,$G,$H;var $I=new Array(3);

function Calendar(){
	var $J,$K,yr,mo,dy,$L,yearmonth,$M,$N,$O;
	var $P=new arr("Sun","Mon","Tue","Wed","Thu","Fri","Sat");
	var thispage=window.location.pathname;
	var $Q="Put this FREE calendar script on your own site; see <a href=http://calendar.pikesys.com>calendar.pikesys.com</a>.<p>";				    
	AddMsgBox(0,defaultMsgBox);
	AddMsgBox(200704,"December message number 3");
	//AddMsgBox(0,$Q);
	$J=$a.getDate();
	$K=$a.getMonth()+1;
	initCal($K);
	mo=$F;
	yr=$G;
	yearmonth=$H;
	getLayersVisible();
	$M=new Date($Z[mo]+" 1,"+yr);
	$L=$M.getDay();
	$N=NumDaysIn(mo,yr);
	$R=1+($L+$N-1)%7;
	$S=$T="&nbsp;";
	if(showNav){
		if(yearmonth>FirstMonth)$S='<a class="navlink" href="'+thispage+'?'+PrevYearMonth(yearmonth)+'">Previous Month</a>';
		if(yearmonth<LastMonth)$T+='<a class="navlink" href="'+thispage+'?'+NextYearMonth(yearmonth)+'">Next Month</a>';
	}
	parseFormat(MonthFormat);
	document.write("<TABLE BORDER=0 CLASS=events-header><TR>");
	MiniMonth(PrevYearMonth(yearmonth));
	document.write("<TD HEIGHT=80 ALIGN=CENTER COLSPAN=2>"+$D+$Z[mo]+" "+yr+$E+"</TD>");
	MiniMonth(NextYearMonth(yearmonth));
	document.write("</TR><TR><TD WIDTH=21% ALIGN=CENTER BGCOLOR="+navColor+" >"+$S+"</TD><TD WIDTH=21% ALIGN=CENTER BGCOLOR="+navColor+">"+$T+"</TD></TR></TABLE>");

	
	document.write("<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 CLASS=events-calendar WIDTH=100%><TR CLASS=header>");
	for(var i=1;i<=7;i++){document.write("<TD ALIGN=CENTER WIDTH=14%>"+$P[i]+"</TD>");}
	dy=1;
	document.write("</TR><TR>");
	while(dy<=$N){for(var i=1;i<=7;i++){
		if(dy==1&&i<=$L){
			if(i==1){
				document.write("<TD>&nbsp;");
			}
			else if(showMsgBox&&i==2){
				$V=$L-1;
				document.write("<TD COLSPAN="+$V+">&nbsp;");
				DoMsgBox(yearmonth,$V);
			}
			else if(!showMsgBox){document.write("<TD>&nbsp;");}
			document.write("</TD>");
		}
		else if(dy>$N){if(i==7){
			document.write("<TD>&nbsp;");
		}
		else if(showMsgBox&&i==($R+1)){
			$V=6-$R;
			document.write("<TD COLSPAN="+$V+">&nbsp;");
			DoMsgBox(yearmonth,$V);
		}
		else if(!showMsgBox){document.write("<TD>&nbsp;");}
		document.write("</TD>");
		}
		else{
			document.write("<TD VALIGN=TOP HEIGHT=50>");
			ShowDate(yr,mo,dy,i,$K,$J);
			document.write("</TD>");
			dy++;
		}
	}
	document.write("</TR>");
	}
	if(showNav){
		$S=$T="&nbsp;";
		if(yearmonth>FirstMonth)$S='<a style="font-size:80%; color:#5F7A9C;" href="'+thispage+'?'+PrevYearMonth(yearmonth)+'">Previous Month</a>';
		if(yearmonth<LastMonth)$T+='<a style="font-size:80%; color:#5F7A9C;" href="'+thispage+'?'+NextYearMonth(yearmonth)+'">Next Month</a>';
		$x="<TR BGCOLOR="+navColor+"><TD ALIGN=CENTER BGCOLOR="+navColor+">"+$S+"</TD>";
		$x+="<TD colspan=5 align=center valign=middle><FORM>";
		$x+='Show Events of :&nbsp;&nbsp;';
		document.write($x);
		BuildSelectionList(yearmonth,thispage);
		$x="</FORM></TD><TD ALIGN=CENTER BGCOLOR="+navColor+">"+$T+"</TD>";
		document.write($x+"</TR>");
		if($d>1){document.write("<TR BGCOLOR="+navColor+"><TD colspan=7 align=center style=\"font-size:90%;\">");
		ChooseLayers(yearmonth,thispage);
		document.write("</TD></TR>");
		}
	}
	document.write("</TABLE>");
}

function MiniMonth(yearmonth){
	var thispage=window.location.pathname;
	var $M,$L,$N,$0z, thispage;
	var $0d=new arr("S","M","T","W","T","F","S");
	mo=yearmonth%100;
	yr=(yearmonth-mo)/100;
	$M=new Date($Z[mo]+" 1,"+yr);
	$L=$M.getDay();
	$N=NumDaysIn(mo,yr);
	
	document.write('<TD ROWSPAN=2 ALIGN=CENTER><TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="minimonth"><TR><TD COLSPAN=7 CLASS="month"><a class="link" href="'+thispage+'?'+yearmonth+'">'+$Z[mo]+'</a></TD></TR>');
	$0z="<TR>";
	for(d in $0d){$0z+="<TD CLASS=days>"+$0d[d]+"</TD>";}
	$0z+="</TR>";
	document.write($0z);
	dy=1;
	while(dy<=$N){$0z="<TR>";
		for(var i=1;i<=7;i++){
			if(dy==1&&i<=$L){$0z+="<TD></TD>";}
			else if(dy>$N){break;}
			else{$0z+="<TD>"+(dy<10?"&nbsp;":"")+dy+"</TD>";dy++;}
		}
		$0z+="</TR>";
		document.write($0z);
	}
	document.write("</TABLE></TD>");
}

function ShowDate(yr,mo,dy,$W,$X,$Y){
	var $Z,$00,$x,event;
	$00="";
	if((mo==$X)&&(dy==$Y)){$00=ColorToday;} 
	else if($W==SpecialDay){$00=ColorSpecialDay;}
	$I[0]=dy;
	$I[1]=dy+100*mo;
	$I[2]=dy+100*(mo+100*yr);
	for(var i in $I){
		$Z=$I[i];
		if($g[$Z]){if(!$00)$00=ColorEvent;}
	}
	document.write('<DIV CLASS=day ALIGN=LEFT STYLE="color:'+$00+'; font-weight:bold">');

	$x=dy+(dy<10?"&nbsp;":"");
	document.write($x+"</DIV>");
	/*if(showAltHoly){
		$x=getAltHoly(dy,mo,yr);
		if($x){
			parseFormat(AltHolyFormat);
			document.write($D+$x+$E+"<BR>");
		}
	}
	if(showHolidays){
		$x=holidays(dy,mo,yr);
		if($x){parseFormat(HolidayFormat);document.write($D+$x+$E+"<BR>");}
	}*/
	$02=0;
	//document.write('<TR><TD ALIGN=LEFT VALIGN=TOP HEIGHT=50 CLASS="event">');
	for(var i in $I){
		
		$Z=$I[i];
		for(var j in $g[$Z]){
			ev=$g[$Z][j];
			$x="";
			
			if($b[ev.layer].show=="true"){
				$x+=(j>0?"<br>":"");
				if(ev.image&&showImages){
					if(ev.align){$o=ev.align;}
					else if(altAlign&&$02>0){$o=($03=="left"?"right":"left");}
					else{$o=imageAlign;}
					$x='<DIV CLASS=pic><img src="'+ev.image+(ev.width?'"  width="'+ev.width*imageScale/100:'')+(ev.height?'" height="'+ev.height*imageScale/100:'')+'" valign="top"></DIV>';
					document.write($x);
					$03=$o;$02++;
				}
				$j="";
				if(ev.format=="layer"){$j=$b[ev.layer].format;}
				else if(ev.format=="custom"){$j="";}
				else if(ev.format){if(CheckFormat(ev.format))$j=ev.format;}
				else if(DefaultFormat=="layer"){$j=$b[ev.layer].format;}
				parseFormat($j);
				$x=$D+(ev.link&&showLinks?"<a class=eventlink href="+ev.link+">"+ev.description+"</a>":ev.description)+$E;
			}
			document.write("<P CLASS=event><BR />"+$x+"</P>");
			
		}
	}
	//document.write('</SPAN>');
	//document.write('</TABLE>');
}


function getLayersVisible(){$05=cookieName+"|";$06=unescape(document.cookie);$07=$06.indexOf($05);if($07>=0){$07+=$05.length;$08=$06.indexOf(";");if($08==-1)$08=$06.length;var $09=$06.substring($07,$08).split("|");for(i=0;i<$09.length;i++){$08=$09[i].indexOf("=");name=$09[i].substring(0,$08);$0a=$09[i].substring($08+1,$09[i].length);if($b[name])$b[name].show=$0a;}}}

function initCal($K){if(!$b["default"])DefineLayer("default",DefaultLayerFormat);mo=$K;yr=GetFullYear($a);yearmonth=(yr*100)+mo;if(location.search.length>1){yearmonth=parseInt(location.search.substring(1,location.search.length));if((""+yearmonth).length==6){mo=yearmonth%100;yr=(yearmonth-mo)/100;}}if(yearmonth<FirstMonth){mo=FirstMonth%100;yr=(FirstMonth-mo)/100;yearmonth=FirstMonth;}if(yearmonth>LastMonth){mo=LastMonth%100;yr=(LastMonth-mo)/100;yearmonth=LastMonth;}$F=mo;$G=yr;$H=yearmonth;}

function qw($0b){return "&quot;"+$0b+"&quot;";}

function NumDaysIn(mo,yr){if(mo==4||mo==6||mo==9||mo==11)return 30;else if((mo==2)&&LeapYear(yr))return 29;else if(mo==2)return 28;else return 31;}

function LeapYear(yr){return((yr%4==0&&yr%100!=0)||yr%400==0?true:false);}

function GetFullYear(d){var yr=d.getYear();return(yr<1000?yr+1900:yr);}

function PrevMonth($0e){return($0e==1?12:$0e-1);}

function NextMonth($0e){return($0e==12?1:$0e+1);}

function PrevYearMonth($0f){return($0f%100==1?$0f-100+11:$0f-1);}

function NextYearMonth($0f){return($0f%100==12?$0f-11+100:$0f+1);}

function JumpTo($0g,thispage){var $0h,$0i;$0h=$0g.selectedIndex;$0i=$0g.form.jumpmonth[$0h].value;document.location=thispage+"?"+$0i;}

function BuildSelectionList($0j,thispage){var mo,yr,yearmonth;yearmonth=FirstMonth;$x="<select name=\"jumpmonth\" size=1 onchange=\"JumpTo(this,'" + thispage + "')\">";while(yearmonth<=LastMonth){mo=yearmonth%100;yr=(yearmonth-mo)/100;$0k=(yearmonth==$0j?" selected":"");$x+="<option value="+yearmonth+$0k+">"+$Z[mo]+" "+yr;yearmonth=NextYearMonth(yearmonth);}document.write($x+"</select>");}

function MsgBox($0n,$0o,$0p){
	this.message=$0n;
	this.minspan=($0o?$0o:1);
	if($0p)this.maxspan=$0p;
}

function AddMsgBox(yearmonth,$0n,$0o,$0p){
	var i;
	if(!$f[yearmonth])$f[yearmonth]=new Array;
	i=$f[yearmonth].length;
	$f[yearmonth][i]=new MsgBox($0n,$0o,$0p);
}

function DoMsgBox(yearmonth,$V){
	parseFormat(MsgBoxFormat);
	for(k in new Array(0,yearmonth)){
		if($f[k]){
			for(j in $f[k]){
				$0l=$f[k][j];
				if(!$0l.shown){
					if(!$0l.minspan||$0l.minspan<=$V){
						$x="<table border=0 bgcolor="+msgBoxColor+" align=center>";$x+="<TR><TD>"+$D+$0l.message+$E+"</TD></TR></table>";					                        document.write($x);
						$0l.shown=true;
						return;
					}
				}
			}
		}
	}
}

function escramVal(j,k){
	var a,b,c,d,e;
	a='<a href=\"mai';
	c='\">';
	a+='lto:';
	b=j+'@';
	e='</a>';
	b+=k;
	d=b;
	return(a+b+c+d+e);
}

function parseFormat($j){
	$D=$E="";
	if($j){
		var $08=$j.indexOf("|");
		if($08>0){$D=$j.substring(0,$08);$E=$j.substring(1+$08,$j.length);}
	}
}

function CheckFormat(String){
	var $0m;
	$0m=(String=="layer"||String=="custom"||String.indexOf("|")>0);
	if(!$0m)alert("Invalid Calendar Format String: "+String);
	return $0m;
}

function ChooseLayers(yearmonth,thispage){
	var i,$0q;
	$x='<form name="layerform"><b>Filter Events:</b>&nbsp;';
	for(i in $b){
		if(i!="default"){
			$0q=($b[i].show=="true"?" checked":"");
			parseFormat($b[i].format);
			$x+=$D+'<input type="checkbox" name="'+i+'" value="'+i+'"'+$0q+' onClick="ChangeLayer(\''+i+'\')">&nbsp;'+i+"&nbsp;&nbsp;"+$E;
		}
	}
	$x+='&nbsp;<input type="button" name="ApplyChanges" value="Apply Changes" onClick="ApplyLayerChange(\'' + thispage + '\',\'' + 						    yearmonth + '\')">';
	document.write($x+"</form>");
}

function ChangeLayer($i){
	$e=true;
	$b[$i].show=document.layerform[$i].checked;
}

function ApplyLayerChange(thispage,yearmonth){
	$e=false;
	$06=cookieName;
	for($i in $b){
		if($i!="default"){$06+="|"+$i+"="+$b[$i].show;}
	}
	document.cookie=escape($06);
	document.location=thispage+(yearmonth?"?"+yearmonth:"");
}

