function moveTo(number) {
	GetItem('notice').innerHTML = notices[number-1].innerHTML;
	if (showNumber) {
		GetItem('noticeInfo').innerHTML = '('+currentNotice+' von '+noticeCount+')';
	}
}

function autoSlide() {
	if (stopWhenClicking) {
		if (timesClicked == 0) {
			changeNotice("+");
		}
	} else {
		changeNotice("+");
	}
}

function clickNotice(num) {
	timesClicked++;
	changeNotice(num);
}

function changeNotice(num) {
	if (num == "+") {
		if (currentNotice == noticeCount) {
			currentNotice = 1;
			moveTo(currentNotice);
		} else {
			currentNotice++;
			moveTo(currentNotice);
		}
	} else if (num == "-") {
		if (currentNotice == 1) {
			currentNotice = noticeCount;
			moveTo(currentNotice);
		} else {
			currentNotice--;
			moveTo(currentNotice);
		}
	} else if (num == "|") {
		timesClicked++;
	} else {
		currentNotice = num;
		moveTo(currentNotice);
	}
}

function initNotices() {
	noticeCount = $("div.notices").find(".notice").size();
	notices = $("div.notices").find(".notice");
	currentNotice = 0;
	autoStart = true;
	autoSlideInterval = 3000;
	autoSlideID = 0;
	stopWhenClicking = true;
	timesClicked = 0;
	showNumber = true;
			
	if (stopWhenClicking) {
		if (timesClicked == 0) {
			changeNotice("+");
		}
	} else {
		changeNotice("+");
	}
	if (autoStart) {
		autoSlideID = setInterval('autoSlide();', autoSlideInterval);
	}
}

function load_notice() {
	GetItem('notice_info').style.visibility = 'visible';
	GetItem('notice').style.visibility = 'hidden';
	
	GetItem('notice_info').innerHTML = 'Wird geladen<font id="moving_point"></font>';
	start_moving('moving_point');
	
	noticeRequest = createXMLHttpRequest();
	// überprüfen, ob Request erzeugt wurde
	if (!noticeRequest) {
		alert("Kann keine XMLHTTP-Instanz erzeugen");
		return false;
	} else {
		var url = encodeURI(script);
		// alert(url);
		
		noticeRequest.onreadystatechange = function() {
			stop_moving('moving_point');
			switch (noticeRequest.readyState) {
				// wenn der readyState 4 und der request.status 200 ist, dann ist alles korrekt gelaufen
				case 4:
					if ((noticeRequest.status != 200) && (noticeRequest.status != 0)) {
						alert("Der Request wurde abgeschlossen, ist aber nicht OK\nFehler:"+noticeRequest.status);
						GetItem('notice_info').innerHTML = 'Daten können nicht geladen werden! (Code '+noticeRequest.status+')';
					} else {
						var content = noticeRequest.responseText;
						// den Inhalt des Requests in das <div> schreiben
						// alert(content);
						if (content != '') {
							GetItem('notices').innerHTML = content;
							GetItem('notice_info').style.visibility = 'hidden';
							GetItem('notice').style.visibility = 'visible';
							GetItem('notice_info').innerHTML = '<br>';
							GetItem('noticeControls').style.display = '';
							initNotices();
						}
					}
					break;
				default:
					break;
			}
		};
		// Request öffnen
		noticeRequest.open('get', url, true);
		// Request senden
		noticeRequest.send(null);
	}
}
