if (!totalDates) var totalDates=0;
if (!calType) var calType='';
if (!from_admin) var from_admin=false;
function showInfo() {
if (arguments.length>1) {
	a=new Array(arguments.length);
	//for (r=0;r<arguments.length;r++){
	a=arguments;
} else {
	a=arguments[0];
}
	if (a=="all") {
		document.getElementById("zaoCalDetail").innerHTML="";
		w=0;
		while (cal_dates[w]){
			dateWrite="<div class='zaoCal_eventBox'>";
			dateWrite+="<span class='zaoCal_date'>"+cal_dates[w]+"</span>";
			dateWrite+=cal_data[w];
			dateWrite+="</div>";
	
			document.getElementById("zaoCalDetail").innerHTML+=dateWrite;
			w++;
		}
	} else {
		var cal_cats='';
		//dateWrite+="<div class='zaoCal_date'>"+a+"</div> ";
		//style="background:'+cal_data[a][1]+';"
	if (calType=="wholePage"){
		var sen=(cal_data[a][6].length>1)?"ies":"y";
		cal_cats=" |&nbsp; Categor"+sen+": "+cal_data[a][6].join(",");
	}
	// test for an array which means we're in the callout
	if (typeof(a)=="object"){ // arrray
		var dateWrite='';
		for (v=0;v<a.length;v++){
			dateWrite+='<div  class="zaoCal_calHeader"><strong>'+cal_data[a[v]][3]+'</strong><br /><span class="zaoCal_date">' +cal_data[a[v]][5]+'&nbsp; '+cal_cats+' </span></div><div class="zaoCal_event_mult">'+cal_data[a[v]][4]+'</div>';
		}
	} else {
	dateWrite='<div  class="zaoCal_calHeader"><strong>'+cal_data[a][3]+'</strong><br /><span class="zaoCal_date">' +cal_data[a][5]+'&nbsp; '+cal_cats+' </span></div><div class="zaoCal_event">'+cal_data[a][4]+'</div>';
	}
if (from_admin) dateWrite+="<div class='admin_bar'><a href='modify_interface.php?id="+cal_data[a][0]+"'>- Edit this entry</a> | <a href='event_deleted.php?delete_id="+cal_data[a][0]+""+cal_data[a][8]+"'>Delete this entry</a></div>";
//dateWrite+="<a href=# onclick=\"showInfo('all')\"><strong> - Show all</strong></a>";
	
							

	document.getElementById("zaoCalDetail").innerHTML=dateWrite;
		}
	}
	
var specCat;

function showCategory(v){
specCat=v;
MakeCal(theMonth,theYear,calType);

}

function testSpecCat(arr) {
if (!specCat || specCat=='all') return true;
for (y=0;y<arr.length;y++) {
if (arr[y]==specCat) {  return true;}
}

return false;
}

function getDayLink(y,m,d) {
	var da=d;
	var m=m+1;
	var fd=da+"-"+m+"-"+y;
	//if (!totalDates) var totalDates=0;
	var val=d;
	// test to see if more than one event falls on a particular date
	var dateCArray=new Array();
	var dateCArrayCounter=0;
	for (var dateCounter=0; dateCounter<totalDates; dateCounter++) {
	if (cal_data[dateCounter][1] == fd && testSpecCat(cal_data[dateCounter][7]) ) {
		if (calType=="wholePage") {
			val+= "<a style='background:"+cal_data[dateCounter][2]+";' href='javascript:showInfo("+dateCounter+")' title='"+cal_data[dateCounter][2]+"'>"+cal_data[dateCounter][3]+"</a>";
			//return val;
			} else {
			dateCArray[dateCArrayCounter]=dateCounter;
			dateCArrayCounter++;
			val= "<a style='background:"+cal_data[dateCounter][2]+";' href='javascript:showInfo("+dateCArray+")' title='"+cal_data[dateCounter][3]+"'>"+d+"</a>";
			//return val;
			}
		}

	}

		return val;
		/**/
}



function MakeCal(theMonth,theYear,type){

if (calType=="wholePage") {
	var csize="100%";
	var cal_cell_style="cal_cell_page";
	var cal_cell_height=" height='50' ";
} else {
//	var csize="180";
	var csize="100%";

	var cal_cell_style="cal_cell";
	
}
//  SET ARRAYS
var day_of_week = new Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat');
if (calType=="wholePage") day_of_week = new Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');
var month_of_year = new Array('January','February','March','April','May','June','July','August','September','October','November','December');

//  DECLARE AND INITIALIZE VARIABLES
var tod=new Date();
var otoday=tod.getDate();
var omonth=tod.getMonth();

var year = Calendar.getFullYear();	    // Returns year
var month = Calendar.getMonth();    // Returns month (0-11)
var today = Calendar.getDate();    // Returns day (1-31)
var weekday = Calendar.getDay();    // Returns day (1-31)
year=theYear;

	if (theMonth>11) {
		month =0;
		theYear=year++;
	} else if (theMonth<0)  {
		month=11;
		year--;
	} else {
		month=theMonth;
	}

var DAYS_OF_WEEK = 7;    // "constant" for number of days in a week
var DAYS_OF_MONTH = 31;    // "constant" for number of days in a month
var zaoCalWrite;    // Used for printing
curMonth=month;
curYear=year;
Calendar.setDate(1);    // Start the calendar day at '1'
Calendar.setMonth(month);    // Start the calendar month at now
Calendar.setYear(year);    // Start the calendar month at now
var catSelDef;
var catSelectMenu='';
if (specCat == 'all') catSelDef == 'selected';
else catSelDef = '';
if (calType=="wholePage"){
catSelectMenu="<select name='chooseCat' class='chooseCatMenu' onchange='showCategory(this.value)'>";
catSelectMenu+="<option value='all' "+catSelDef+" >Show all Categories</option>";
for (t=0;t<catArray.length;t++) {
catSelDef = '';
if ((specCat-0) == (catArray[t][0]-0)) catSelDef = 'selected';

catSelectMenu+="<option value='"+catArray[t][0]+"' "+catSelDef+" >Show only: "+catArray[t][1]+"</option>";
}
catSelectMenu+="</select>";
}

navlinks='<a href="javascript:;" onclick="MakeCal(curMonth-1,curYear);"><img src="/admin/modules/Calendar/img/arrow-l-cir.gif" alt="previous month" width="11" height="11" border="0" align="absmiddle"  class="inline"/></a> <a href="javascript:;" onclick="MakeCal(theMonth,theYear);"><img src="/admin/modules/Calendar/img/arrow-d-cir.gif" alt="reset to current month" width="11" height="11" border="0" align="absmiddle"  class="inline"/></a> <a href="javascript:;" onclick="MakeCal(curMonth+1,curYear);"><img src="/admin/modules/Calendar/img/arrow-rt-cir.gif" alt="next month" width="11" height="11" border="0" align="absmiddle" class="inline" /></a> ';

/* VARIABLES FOR FORMATTING
NOTE: You can format the 'BORDER', 'BGCOLOR', 'CELLPADDING', 'BORDERCOLOR'
      tags to customize your caledanr's look. */

var TR_start = '<TR>';
var TR_end = '</TR>';
var highlight_start = '<TD class="cal_cell">';
var highlight_end   = '';
var TD_start = '<TD ><CENTER>';
var TD_end = '</CENTER></TD>';

/* BEGIN CODE FOR CALENDAR
NOTE: You can format the 'BORDER', 'BGCOLOR', 'CELLPADDING', 'BORDERCOLOR'
tags to customize your calendar's look.*/

zaoCalWrite =  '<table cellspacing=0 cellpadding=0 border=0 width='+csize+' class=zaoCal_calHeader><tr><td class=main_top_month>'+month_of_year[month]  + '   ' + year +' </td><td align=right valign=middle>'+catSelectMenu+'</td><td align="right" class="calnavlinks">'+navlinks+'</td></tr></table><table cellspacing="0" cellpadding="0" width="'+csize+'"  border="0" class="zaoCalendar">';
zaoCalWrite += TR_start;

//   DO NOT EDIT BELOW THIS POINT  //

// LOOPS FOR EACH DAY OF WEEK
for(index=0; index < DAYS_OF_WEEK; index++)
{

// BOLD TODAY'S DAY OF WEEK
if(weekday == index)
zaoCalWrite += '<td class="cal_days_cell" width="13%">' + '<B>' + day_of_week[index] + '</B>' + TD_end;

// PRINTS DAY
else
zaoCalWrite += '<td class="cal_days_cell" width="13%">' + day_of_week[index] + TD_end;
}

zaoCalWrite += TD_end + TR_end;
zaoCalWrite += TR_start;

// FILL IN BLANK GAPS UNTIL TODAY'S DAY
for(index=0; index < Calendar.getDay(); index++)
zaoCalWrite += '<td class="cal_cell" >' + ' &nbsp;' + TD_end;

// LOOPS FOR EACH DAY IN CALENDAR
cc=1;
for(index=0; index < DAYS_OF_MONTH; index++)
{
if( Calendar.getDate() > index )
{
  // RETURNS THE NEXT DAY TO PRINT
  week_day =Calendar.getDay();

  // START NEW ROW FOR FIRST DAY OF WEEK
  if(week_day == 0){
  zaoCalWrite += TR_start;
	cc=1;}

  if(week_day != DAYS_OF_WEEK)
  {

  // SET VARIABLE INSIDE LOOP FOR INCREMENTING PURPOSES
  var day  = Calendar.getDate();

	var myVal=getDayLink(year,month,day);

if (week_day == 0 || week_day == DAYS_OF_WEEK-1) cal_other_style=" style='background:#f0f0f0;' ";
else cal_other_style='';

  // HIGHLIGHT TODAY'S DATE
  if( otoday==Calendar.getDate() && omonth==Calendar.getMonth())
  zaoCalWrite +='<td class="'+cal_cell_style+'" '+cal_cell_height+' style="background:#FCF3DC">' +myVal + TD_end;

  // PRINTS DAY
  else
  zaoCalWrite += '<td class="'+cal_cell_style+'" '+cal_cell_height+cal_other_style+'>' +myVal+ TD_end;
cc++;  }

  // END ROW FOR LAST DAY OF WEEK
  if(week_day == DAYS_OF_WEEK)
  zaoCalWrite += TR_end;
  }
	

  // INCREMENTS UNTIL END OF THE MONTH
  Calendar.setDate(Calendar.getDate()+1);

}// end for loop
for (i=0;i<(8-cc);i++) {
zaoCalWrite += '<td class="cal_cell" '+cal_cell_height+'>&nbsp;</td>';
}
zaoCalWrite += '</TD></TR></TABLE>';

//  PRINT CALENDAR
//alert(cal);
//window.onload=function() {
document.getElementById('zaoCalDates').innerHTML=zaoCalWrite;
//}
//document.ccal.innerHTML=cal;
}
var Calendar = new Date();
theYear = Calendar.getFullYear();	    // Returns year
theMonth =Calendar.getMonth();    // Returns month (0-11)
MakeCal(theMonth,theYear,calType);
