wnd = null;
var highlightedCells = new Array();

function jsHighlightSchedule(day, hour, dur, eventId) {
	highlightedCells = new Array();
	
	for(i = 0; i < dur; i++) {
		if(hour + i >= 20) continue;
		
		// alte Hintergrundfarbe zwischenspeichern
		cell = wnd.document.getElementById("cell_" + (hour + i) + "_" + day);
		if(cell == null) continue;
		
		highlightedCells[i] = new Array();
		highlightedCells[i]["oldColor"] = cell.style.backgroundColor;
		
		// an der gewählten Stelle ist bereits eine Vorlesung im Stundenplan
		if(cell.innerHTML != "") {
			// kein Problem, die gewünschte Vorlesung ist die gleiche wie im Stundenplan
			if(cell.title == eventId) {
				cell.style.backgroundColor = "#FFFFCC";
			} else {
				// Überschneidung! 2 verschiedene Veranstaltungen sind zur selben Zeit!				
				cell.style.backgroundColor = "#FF9999";
			}
		} else {
			cell.style.backgroundColor = "#66CC33";
		}
	}
}

function jsRemoveScheduleHighlight(day, hour, dur) {
	for(i = 0; i < highlightedCells.length; i++)
	{
		cell = wnd.document.getElementById("cell_" + (hour + i) + "_" + day);
		if(cell == null) continue;
		cell.style.backgroundColor = highlightedCells[i]["oldColor"];
	}
}

function jsToggleEvent(eventId) {
	// Array der geänderten Zellen leeren,
	// ansonsten gibt es Anzeigefehler
	highlightedCells = new Array();
	
	// Kurs ist noch nicht abonniert => hinzufügen
	if($('img' + eventId).style.visibility == 'hidden') {
		$('img' + eventId).style.visibility = 'visible';
		
		// courseimg suchen und sichtbar machen
		courseimg = $('courseimg' + event2lecture[eventId]);
		if(courseimg != null) {
			courseimg.style.visibility = 'visible';
		}
	}
	// Kurs ist bereits abonniert => löschen
	else {
		$('img' + eventId).style.visibility = 'hidden';
		lecture = event2lecture[eventId];
		if(lecture != null) {
			var allUnchecked = true;
			for (var event in lecture2events[lecture]) {
				// Überprüfen, ob alle Termine unchecked sind
				
				if($('img'+event).style.visibility == "visible") {
					allUnchecked = false;
					break;
				}
			}
			
			// Alle unchecked, courseimg auch unchecken
			if(allUnchecked) {
				$('courseimg' + lecture).style.visibility = 'hidden';
			}
		}
	}
}

function jsShowSchedule(sem) {
	calWidth = 500;
	calHeight = 700;
	winGap =100;
	
	window.moveTo(0, 0);
	window.resizeTo(screen.width - calWidth - winGap, screen.height);

	wnd = window.open("?action=listen&liste=stundenplan&do=renderSchedule&scheduleHeader&semester=" + sem, "calendar", "dependent=yes, height=" + calHeight + ", width=" + calWidth + ", screenX=" + (screen.width - calWidth) + ", screenY=0");

	/*wnd.resizeTo(calWidth, calHeight);
	wnd.moveTo(screen.width - calWidth, 0)*/
	wnd.focus();
	window.focus();	
}

function jsChangeFieldOfStudy(id, sem) {
	document.location.href = "?action=listen&liste=stundenplan&id=" + id + "&semester=" + sem;
}

function jsAddUserDefinedEvent(day, start, sem) {
	$('ajaxContainer').show();
	$('ajaxContent').hide();
	
	$('loadingImage').show();
	new Ajax.Updater('ajaxContent', '?action=listen&liste=stundenplan&do=addUserDefinedEvent&day=' + day + '&start=' + start + '&notemplate&show=schedule&semester=' + sem, { onComplete: hideLoading });
}

function jsEditUserDefinedEvent(eventId, show, sem) {
	$('ajaxContainer').show();
	$('ajaxContent').hide();
	
	if(show == null) {
		show = 'schedule';
	}
	
	new Ajax.Updater('ajaxContent', '?action=listen&liste=stundenplan&do=addUserDefinedEvent&id=' + eventId + '&notemplate&edit=1&show=' + show + '&semester=' + sem, { onComplete: hideLoading });
}

function hideLoading() {
	$('ajaxContent').show();
	$('loadingImage').hide();			
}
