// ========== Broadcasts (begin) ==========
function verifyBroadcast()
{
	var errMsg = '';
	var myDate = document.CalendarAddition.broadcastDate.value;
	var myTime = document.CalendarAddition.broadcastTime.value;
	var myTimeOfDay = document.CalendarAddition.broadcastTimeOfDay[document.CalendarAddition.broadcastTimeOfDay.selectedIndex].value;
	var myDuration = document.CalendarAddition.broadcastDuration.value;
	var myNetwork = document.CalendarAddition.broadcastNetwork[document.CalendarAddition.broadcastNetwork.selectedIndex].value;
	
	if (! isDate(myDate + ' ' + myTime + ' ' + myTimeOfDay))
		errMsg += 'The date/time you entered is invalid.\n';
	if (! isNumeric(myDuration))
		errMsg += 'The duration you entered is invalid (must be a number only).\n';
	
	if (myNetwork == '')
		errMsg += 'Please select a network from the menu.\n';
	
	return errMsg;
}

function addThisBroadcast()
{
	var errMsg = verifyBroadcast();
	
	if (errMsg != '')
		alert(errMsg);
	else
	{
		var broadcastToAdd = getBroadcastString();
		
		if (! isDuplicate(broadcastToAdd, document.CalendarAddition.broadcastList))
		{
			addEvent(broadcastToAdd, document.CalendarAddition.broadcastList);
			
			// update visible listing
			displayBroadcasts();
			
			// clear broadcast fields
			clearBroadcastForm();
		}
		else
			alert('This broadcast is already listed (see right).');
	}
}

function getBroadcastString()
{
	var myDate = document.CalendarAddition.broadcastDate.value;
	var myTime = document.CalendarAddition.broadcastTime.value;
	var myTimeOfDay = document.CalendarAddition.broadcastTimeOfDay[document.CalendarAddition.broadcastTimeOfDay.selectedIndex].value;
	var myDuration = document.CalendarAddition.broadcastDuration.value;
	var myTentative = document.CalendarAddition.broadcastTentative.checked;
	var myNetwork = document.CalendarAddition.broadcastNetwork[document.CalendarAddition.broadcastNetwork.selectedIndex].value;
	
	if (myTentative == true)
		myTentative = 'yes';
	else
		myTentative = 'no';
	
	// compensate for Y2K
	var temp = new Date(myDate);
	if (temp.getFullYear() < 2000)
		myDate = (temp.getMonth() + 1) + '/' + temp.getDate() + '/' + (temp.getFullYear() + 100);
	temp = null;
	
	return getXMLDate(myDate + ' ' + myTime + ' ' + myTimeOfDay) + ',' + myDuration + ',' + myTentative + ',' + myNetwork;
}

function displayBroadcasts()
{
	var broadcasts = '';
	var broadcastsStr = document.CalendarAddition.broadcastList.value;
	
	if (broadcastsStr != '')
	{
		var broadcastsArray = broadcastsStr.split(';');
		var temp;
		
		for (var i = 0; i < broadcastsArray.length; i++)
		{
			temp = broadcastsArray[i].split(',');
			
			broadcasts = broadcasts + '<img src="/calendars/update/images/remove.gif" title="delete" onClick="javascript:deleteEvent(' + i + ',\'broadcastList\');" /> ';
			broadcasts = broadcasts + '<img src="/calendars/update/images/edit.gif" title="modify" onClick="javascript:modifyEventPopoff(\'broadcastList\',' + i + ');" /> ';
			broadcasts = broadcasts + getFormattedDate(temp[0]);
			if (temp[2] == 'yes')
				broadcasts = broadcasts + "*";
			broadcasts = broadcasts + ', ' + temp[1] + ' min., ' + temp[3] + '<br />';
		}
	}
	else
		broadcasts = '<i>Add broadcasts using the form at left</i>';
	
	document.getElementById('BroadcastsDisplay').innerHTML = broadcasts;
}

function clearBroadcastForm()
{
	document.CalendarAddition.broadcastDate.value = '';
	document.CalendarAddition.broadcastTime.value = '';
	document.CalendarAddition.broadcastTimeOfDay.selectedIndex = 0;
	document.CalendarAddition.broadcastDuration.value = '';
	document.CalendarAddition.broadcastTentative.checked = false;
	document.CalendarAddition.broadcastNetwork.selectedIndex = 0;
}

function updateThisBroadcast(arrayPosition)
{
	var errMsg = verifyBroadcast();
	
	if (errMsg != '')
		alert(errMsg);
	else
	{
		var eventToAdd = getBroadcastString();
		replaceEvent(eventToAdd, arrayPosition, opener.document.CalendarAddition.broadcastList);
		
		// update visible listing
		opener.displayBroadcasts();
		
		window.close();
	}
}
// ========== Broadcasts (end) ==========
