var monthNames=['January','February', 'March','April','May','June','July','August','September','October','November','December']
var today=new Date()
var eventsXML
var currSchedType='0'
var currDate=''
function buildInitCalendar() {
	buildCalendar(today.getFullYear(),today.getMonth()+1,1)
}
function buildCalendar(year,month,day) {
	$('contentText').innerHTML=calendar(year,month,day)
	var cal=new getHost('Transactions/calendar.asp',calendarReturn)
	cal.args.mm=month
	cal.args.yy=year
	cal.state.day=day
	cal.exec()
	
}
function calendar(year,month,day) {
	var today=new Date()
	var prevMonth=month-1
	var nextMonth=month+1
	var prevYear=year
	var nextYear=year
	if(prevMonth<1) {prevMonth=12;prevYear=prevYear-1}
	if(nextMonth>12) {nextMonth=1;nextYear=nextYear+1}
	var testDate=new Date()
	testDate.setFullYear(year,month-1,1)	//first of month
	var dow=testDate.getDay()
	var boxDate = new Date(testDate.getTime()-dow*24*60*60*1000)	//first box on calendar (Sunday)
	var monthName=monthNames[testDate.getMonth()]
	var dropDown='<select id=schedType onchange=schedTypeChange()>'
	for (var i=0;i<schedType.length;i++) {
		var selected=''
		var splt=schedType[i].split(',')
		if (splt[1]==currSchedType) {
			selected=' selected'
		}
		dropDown+='<option value=' + splt[1].toString() + selected + '>' + splt[0] + '</option>'
	}
	dropDown+='</select>'
	var html='<table width=100% cellpadding=0 cellspacing=0 border=0><tr><td>' + '</td><td>'
	html+='<table id=calendar style="border-collapse:collapse;"><tr>' 
	if ((prevMonth<today.getMonth() && prevYear==today.getFullYear()) ||  prevYear<today.getFullYear()) {
		html+='<td>&nbsp;</td>'
	}
	else {
		html+= '<td align=right><span onclick=buildCalendar(' + prevYear + ',' + prevMonth + ')><<</span></td>'
	}
	html+= '<td align=center colspan=5><b>' + monthName + ' ' + year.toString() + '</b></td>'
	html+= '<td><span onclick=buildCalendar(' + nextYear + ',' + nextMonth + ')>>></span></td>' 
	html+= '</tr><tr class=calHead><td class=calHead>Sunday</td><td class=calHead>Monday</td><td class=calHead>Tuesday</td><td class=calHead>Wednesday</td><td class=calHead>Thursday</td><td class=calHead>Friday</td><td class=calHead>Saturday</td></tr>'


	for(var i=0;i<6;i++) {
		html+='<tr>'
		for(var j=0;j<7;j++) {
			if(boxDate.getMonth()==month-1) {
				if(boxDate.getFullYear()==today.getFullYear() && boxDate.getMonth()==today.getMonth() && boxDate.getDate()==today.getDate()) {
					html+='<td class=cal name="cal" id="cal" bgcolor=#DBC27F onclick=CC(' + boxDate.getFullYear() + ',' + boxDate.getMonth() + ',' + boxDate.getDate() + ')>' + boxDate.getDate() + '</td>'
				}
//				else if(boxDate.getFullYear()==year && boxDate.getMonth()==month-1 && boxDate.getDate()==day) {
//					html+='<td class=cal name="cal" id="cal" style="color:red" onclick=CC(' + boxDate.getFullYear() + ',' + boxDate.getMonth() + ',' + boxDate.getDate() + ')>' + boxDate.getDate() + '</td>'
//				}
				else {
					html+='<td class=cal name="cal" id="cal" onclick=CC(' + boxDate.getFullYear() + ',' + boxDate.getMonth() + ',' + boxDate.getDate() + ')>' + boxDate.getDate() + '</td>'
				}
			}
			else {
				html+='<td class=cal>&nbsp;</td>'
			}
			boxDate=new Date(boxDate.getTime() + 24*60*60*1000)

			if((boxDate.getMonth().toString()>month-1 && boxDate.getFullYear() == year) || boxDate.getFullYear() > year) {
				i=999
			}
		}
		html+='</tr>'

	}
	html+='</table></td></tr></table>'
		+ '<span id=daysEvents></span>'
	return html
}
function calendarReturn(xml) {
	eventsXML=xml
	if (xml.state) {
		$('contentText').innerHTML=calendar(xml.args.yy,xml.args.mm,1)	//repaint calendar
	}
	if (xml.args.date!=null) {
		split=xml.args.date.split(" ")
		split2=split[0].split("/")
		var mm=parseInt(split2[0])-1
		var yy=parseInt(split2[2])
//		if(mm==0) {
//			mm=12
//			yy=yy-1
//		}
		CC(yy,mm,parseInt(split2[1]))
		
	}
//	$('calMaint').style.display='none'
	var days=document.getElementsByName('cal')
	var day=0
	for (var i=0;i<days.length;i++) {
		try {
			day=parseInt(days[i].innerHTML)
			days[i].style.fontWeight='normal'
			days[i].innerHTML='<font size=2><b>' + days[i].innerHTML + '</b></font>'
			eventsXML.moveFirst()
			while(!eventsXML.EOF) {
				var split=eventsXML.read(0).split("/")
				//alert(day + '-' + split[1])
				if (day==split[1] && (eventsXML.read(4)==currSchedType || currSchedType=='0')) {
					//days[i].style.fontWeight='bold'
					var split2=eventsXML.read(0).split(' ')
					var split3=split2[1].split(':')
					days[i].innerHTML+= '<br>' + split3[0] + ':' + split3[1] + split2[2] + ' ' + eventsXML.read(1)
				}
				eventsXML.moveNext()
			}
		}
		catch(e) { 
		}
	}
}
function schedTypeChange() {
//	alert($('schedType').options[$('schedType').selectedIndex].value)
	currSchedType=$('schedType').options[$('schedType').selectedIndex].value
	calendarReturn(eventsXML)
	if (currDate!='') {
	splt=currDate.split('/')
		CC(parseInt(splt[2]),parseInt(splt[0]),parseInt(splt[1]))
	}
}
function CC(year,month,day) {

	var tbl=document.getElementsByName('cal')
//	for (var i=0;i<tbl.length;i++) {
//		if(tbl[i].innerText==day.toString()) {
//			tbl[i].style.color='red'
//		}
//		else {
//			tbl[i].style.color='black'
//		}
//	}
	var resp=''
	var thisDate=month+1 + "/" + day + "/" + year
	currDate=month + "/" + day + "/" + year
	if (MaintMode) {
			resp+= '<div id=newCal class=calendar onclick=loadCalEdit("' + thisDate + '")>[add new event]</div>'
	}
	resp+='<div id=addCalMaint></div>'
	var dispDate='<span class=contentHead>' + monthNames[month] + ' ' + day.toString() + ', ' + year.toString() + '</span>'
	
	
	eventsXML.moveFirst()
	if (eventsXML.read(5)!='Y') {
		doLogout()
	}
	while (!eventsXML.EOF) {
		var dte=eventsXML.read(0)
		var split=dte.split(' ')
		if (split[0]==thisDate && (eventsXML.read(4)==currSchedType || currSchedType=='0')) {
			var split2=split[1].split(':')
			dte=split2[0] + ':' + split2[1]  + split[2]
			if(eventsXML.read(1)=='Worship Service') {
				resp+='<p><div class=contentSubHead>' + dte + ' ' + eventsXML.read(1) + '</div><p><div class=contentText>' + eventsXML.read(2) + '</div>'
			}
			else {
				resp+='<p><div class=contentSubHead onclick=loadCalEdit(' + eventsXML.read(3) + ')>' + dte + ' ' + eventsXML.read(1) + '</div><p><div class=contentText>' + eventsXML.read(2) + '</div>'
				}
		}
		eventsXML.moveNext()
	}
	
	$('daysEvents').innerHTML='<table onclick=monthView() style="background-image:url(images/backArrow.gif);color:white;"><tr><td height=50 width=95 align=right>' + monthNames[month] +  '&nbsp;</td></tr></table><p>' + dispDate + '<br>' + resp
	$('calendar').style.display='none'
	$('daysEvents').style.display='block'
	return false
}
function monthView() {
	$('calendar').style.display='block'
	$('daysEvents').style.display='none'
}
function loadCalEdit(num) {
	if(!MaintMode) {return;}
	var calMaint=new getHost('calMaint.htm',calMaintReturn)
	calMaint.state.num=num
	calMaint.exec()
}
function calMaintReturn(xml) {
	var num=xml.state.num

	$('addCalMaint').innerHTML=xml.answer
	var dropDown='<select id=schedTypeMaint>'
	for (var i=0;i<schedType.length;i++) {
		var selected=''
		var splt=schedType[i].split(',')
		if (splt[1]==currSchedType) {
			selected=' selected'
		}
		dropDown+='<option value=' + splt[1].toString() + selected + '>' + splt[0] + '</option>'
	}
	dropDown+='</select>'
	$('schedTypeCombo').innerHTML=dropDown
	if(num.toString().indexOf('/')>-1) {
		$('calMaintDate').value=num
		$('calMaintTitle').value=''
		$('calMaintBlurb').value=''
		$('calMaintNum').innerHTML='new'
		$('calUpdateBtn').style.display='none'
		$('calDeleteBtn').style.display='none'
		$('calInsertBtn').style.display='block'
	}
	else {
		$('calUpdateBtn').style.display='block'
		$('calInsertBtn').style.display='none'
		$('calDeleteBtn').style.display='block'
		eventsXML.moveFirst()
		while (!eventsXML.EOF) {
			if (eventsXML.read(3)==num) {
				var dte=eventsXML.read(0)
				var split=dte.split(' ')
				$('calMaintDate').value=split[0]
				var split2=split[1].split(':')
				var drop=$('calHour').options
				var time=split2[0]+':'+split2[1] + ":00 " + split[2]
				for (var i=0;i<drop.length;i++) {
					if(drop[i].value==time) {
						$('calHour').selectedIndex=i
					}
				}
				$('calMaintTitle').value=eventsXML.read(1)
				$('calMaintBlurb').value=eventsXML.read(2)
				$('calMaintNum').innerHTML=num
				for (var i=0;i<$('schedTypeMaint').options.length;i++) {
					if ($('schedTypeMaint').options[i].value==eventsXML.read(4)) {
						$('schedTypeMaint').selectedIndex=i
					}
				}
			}
			eventsXML.moveNext()
		}
	}
	$('calMaint').style.display='block'
}
function updateCalendar() {
	var cal=new getHost('Transactions/UpdateCalendar.asp',calendarReturn)
	cal.args.num=$('calMaintNum').innerHTML
	cal.args.title=rEncodeAll($('calMaintTitle').value,false)
	cal.args.blurb=rEncodeAll($('calMaintBlurb').value,false)
	cal.args.date=$('calMaintDate').value + ' '  + $('calHour').value
	cal.args.type=$('schedTypeMaint').options[$('schedTypeMaint').selectedIndex].value
	var split=$('calMaintDate').value.split("/")
	cal.args.mm=split[0]
	cal.args.yy=split[2]
	cal.state.repaint='Y'
	cal.exec()
}
function insertCalendar() {
	var cal=new getHost('Transactions/InsertCalendar.asp',calendarReturn)
	cal.args.title=rEncodeAll($('calMaintTitle').value,false)
	cal.args.blurb=rEncodeAll($('calMaintBlurb').value,false)
	cal.args.date=$('calMaintDate').value + ' '  + $('calHour').value
	var split=$('calMaintDate').value.split("/")
	cal.args.type=$('schedTypeMaint').options[$('schedTypeMaint').selectedIndex].value
	cal.args.mm=split[0]
	cal.args.yy=split[2]
	cal.state.repaint='Y'
	cal.exec()
}
function deleteCalendar() {
	var cal=new getHost('Transactions/DeleteCalendar.asp',calendarReturn)
	cal.args.num=$('calMaintNum').innerHTML
	cal.args.date=$('calMaintDate').value + ' '  + $('calHour').value
	var split=$('calMaintDate').value.split("/")
	cal.args.mm=split[0]
	cal.args.yy=split[2]
	cal.state.repaint='Y'
	cal.exec()
}
