/*
#########################################################

- Erstellt ein neues Fenster
-
- url - string, die aufzurufende URL
- width - int, die breite des Fensters
- height - int, die hoehe des Fensters
-
- Autor: Oliver
- Datum: 09.03.2006

#########################################################
*/

//addLoadEvent(ticker);
//addLoadEvent(aktuell_init);


function newwin(url, width, height, bgurl, top, left, scrollbars, resizable){
	if(width > 0 && height > 0){
		var jetzt = new Date();
		var name = "win_" + jetzt.getTime();
		left = left != undefined ? left : 0;
		top = top != undefined ? top : 0;
		scrollbars = (scrollbars != undefined && scrollbars == 1) ? ",scrollbars=yes" : "";
		resizable = (resizable != undefined && resizable ==1) ? ",resizable=yes" : "";
		f = window.open(url, name, "width=" + width + ",height=" + height + ",left=" + left + ",top=" + top + scrollbars + resizable);
	}else{
		f = window.open(url);
	}
	if(bgurl != undefined && bgurl != "")
		location.href = bgurl;
	f.focus;
}

function openparent(href){
	if(!window.opener.closed){
		window.opener.location = href;
		window.opener.focus();
	}else{
		newwin(href);
	}
	return false;
}

function printpage(){
	window.print();
}

var abortWinOnload;
function addLoadEvent(func) {
    var oldonload = window.onload;
    if (typeof window.onload != 'function') {
        window.onload = func;
    } else {
        window.onload = function() {
            if(oldonload){
            	oldonload();
	    }
            func();
	    if(abortWinOnload){
		    window.clearTimeout(abortWinOnload);
		    delete abortWinOnload;
	    }
//	if($('debug')) $('debug').innerHTML = "onload";
        }
    }
    if(abortWinOnload == undefined){
	   abortWinOnload = window.setTimeout("loadWindowOnloadAuto()", 5500);
    }
}



function loadWindowOnloadAuto(){
//	if($('debug')) $('debug').innerHTML = "auto";
	var oldonload = window.onload;
	window.onload = function(){};
	if(oldonload){
		oldonload();
	}
	window.clearTimeout(abortWinOnload);
}

box_height = 105;

function aktuell_init(){
	
	//return true;
	
	steps = 1;
	slideSpeed = 90; //45;
	waitTime = 0;
	
	margin = 5;
	
	slide = true;
	
	var aktuell = document.getElementById("aktuell_content");
	
	//Daten werden nun per CSS gesetzt, damit der Ticker nicht springt
	//aktuell.style.height = box_height + "px";
	//aktuell.style.overflow = "hidden";
	//aktuell.style.position = "relative";
	//aktuell.style.borderBottom = "1px solid #FFF";
	
	divs = aktuell.getElementsByTagName("DIV");
	
	for(var i = 0; i < divs.length; i++){
		divs[i].style.position = "absolute";
		divs[i].style.top = box_height + "px";
	}
	
	current_element = 0;
	
	/*aktuell.onmouseover = function (evt) {
		slide = false;
		
	}
	aktuell.onmouseout = function (evt) {
		slide = true;
		aktuell_slide();
	}*/
	//setInterval("aktuell_slide()",slideSpeed);
	aktuell_slide();
}

function aktuell_slide(){
	if(slide){
		if(current_element < (divs.length-1)){
			next_element = current_element + 1;
		}else{
			next_element = 0;
		}
		
		divs[current_element].style.top = parseInt(divs[current_element].style.top) - steps + "px";
		
		if(parseInt(divs[current_element].style.top) == 0 && waitTime > 0){
			slide = false;
			setTimeout("slide = true; aktuell_slide()", waitTime);
			return true;
		}
		
		if(parseInt(divs[current_element].style.top + divs[current_element].offsetHeight) < box_height){
			divs[next_element].style.top = parseInt(divs[current_element].style.top) + margin + divs[current_element].offsetHeight + "px";
		}
		
		/*if(parseInt(divs[next_element].style.top + divs[next_element].offsetHeight) < box_height){
			divs[sndnext_element].style.top = parseInt(divs[next_element].style.top) + margin + divs[next_element].offsetHeight + "px";
		}*/
		
		if(parseInt(divs[current_element].style.top) < (divs[current_element].offsetHeight * -1)){
			divs[current_element].style.top = box_height + "px";
			current_element = next_element;
		}
		setTimeout("aktuell_slide()",slideSpeed)
	}
}

function xmlhttpPost(strSubmitURL, strSubmitContent, strResultFunc) {
	var xmlHttpReq = false;
	var strResponse = '';
	
	// Create new XMLHTTPRequest object
	// ----------------
	// Mozilla
	if (window.XMLHttpRequest) {
		xmlHttpReq = new XMLHttpRequest();
		if(!document.all){
			//xmlHttpReq.overrideMimeType('text/xml');
		}
	}
	// IE
	else if (window.ActiveXObject) {
		xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
	}

	xmlHttpReq.open('POST', strSubmitURL, true);
	xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	xmlHttpReq.onreadystatechange = function() {
		if (xmlHttpReq.readyState == 4) {
			strResponse = xmlHttpReq.responseText;
			switch (xmlHttpReq.status) {
				// Page-not-found error
				case 404:
					alert('Error: Not Found. The requested URL ' + strSubmitURL + ' could not be found.');
					break;
				// Display results in a full window for server-side errors
				case 500:
					handleErrFullPage(strResponse);
					break;
				default:
					// Call JS alert for generated error or debug messages
					if (strResponse.indexOf('Error:') > -1 || strResponse.indexOf('Debug:') > -1) {
						alert(strResponse);
					}
					// Call the desired result function
					else if(strResponse.indexOf('Allerdings machen das im Moment so') == -1){
						eval(strResultFunc + '(strResponse);');
					}
					break;
			}
		}
	}
	xmlHttpReq.send(strSubmitContent);
}

webcamnr = 2;
webcamdata = new Array("", "", "");
function displayCam(strIn) {
	var tmp_array = strIn.split("\n\n");
	var tmp_nr = tmp_array[0].split(",");
	var ist = parseInt(tmp_nr[0]);
	var wird = parseInt(tmp_nr[1]);
	webcamnr = wird;
	webcamdata[ist] = strIn;

	var webcamdata_str = tmp_array[1];
	relaodWebcam = 10000;
	if(relaodWebcam > 0){
		if(webcamdata_str != "" && webcamdata_str != undefined && $('webcam_content'))
			document.getElementById('webcam_content').innerHTML = webcamdata_str;
	}
}

function change_webcam(){
	if(webcamdata[webcamnr] == "" || webcamdata[webcamnr] == undefined){
		xmlhttpPost('/media/js/webcam_data.php?load=webcam' + webcamnr, '', 'displayCam');
	}else{
		displayCam(webcamdata[webcamnr]);
	}
}


/*
ALT
webcamnr = 2;
webcamdata = new Array("", "", "");
function displayCam(strIn) {
	var tmp_array = strIn.split("\n\n");

	webcamnr = (tmp_array[0] == 1 || tmp_array[0] == 2) ? tmp_array[0] : 2;
	webcamdata[(webcamnr == 1) ? 2 : 1] = strIn;

	var webcamdata_str = tmp_array[1];
	relaodWebcam = 10000;
	if(relaodWebcam > 0){
		if(webcamdata_str != "" && webcamdata_str != undefined)
			document.getElementById('webcam_content').innerHTML = webcamdata_str;
	}
}

function change_webcam(){
	alert('hallo');
	if(webcamdata[webcamnr] == "" || webcamdata[webcamnr] == undefined){
//		window.status = "get data";
		xmlhttpPost('/media/js/webcam_data.php?load=webcam' + webcamnr, '', 'displayCam');
	}else{
		displayCam(webcamdata[webcamnr]);
	}
}
*/

function gwsCntZeichen(field, frageID, maxZeichen){
	var nochVerfuegbar = parseInt(maxZeichen) - field.value.length;
	if(!document.all){
		//Mozilla und co.
		nochVerfuegbar -= field.value.split("\n").length -1;
	}
	if(nochVerfuegbar >= 0){
		$('freiheZeichen_' + frageID).innerHTML = nochVerfuegbar;
		Element.removeClassName('freiheZeichen_' + frageID, 'error');
	}else if(nochVerfuegbar < 0){
		$('freiheZeichen_' + frageID).innerHTML = 'Sie haben zu viele Zeichen eingeben, bitte löschen Sie ' + Math.abs(nochVerfuegbar) + ' Zeichen!';
		$('freiheZeichen_' + frageID).addClassName('error');
	}
}

function countdown(cnt_seconds){
	if($("countdown")){
		if(cnt_seconds == undefined){
			var diffDate = parseInt($("countdown").getAttribute("seconds"));
			var cnt_seconds = diffDate;
		}else{
			var diffDate = parseInt(cnt_seconds)-1;
			cnt_seconds = diffDate;
		}

		if(diffDate < 0)	return false;

		// Anzahl Tage = Sekunden /24/60/60
		// floor() liefert nur den Anteil vor dem Komma
		var days = parseInt(diffDate / 24 / 60 / 60 );
		days = days < 0 ? 0 : days;

		// den verbleibenden Rest berechnen = Stunden
		diffDate = (diffDate - (days*24*60*60));

		// den Stundenanteil herausrechnen
		var hours = parseInt(diffDate / 60 / 60);
		hours = hours < 0 ? 0 : hours;
		diffDate = (diffDate - (hours*60*60));
		// den Minutenanteil
		var minutes = parseInt(diffDate/60);
		minutes = minutes < 0 ? 0 : minutes;
		diffDate = diffDate - (minutes*60);
		// die verbleibenden Sekunden
		var seconds = parseInt(diffDate);
		$("countdown").innerHTML = (days != 0 ? (days + ((days > 1 || days < 1)? " Tage" : " Tag") + " ") : "") + hours + " Std. " + minutes + " Min. " + seconds + " Sek.";
//		$("countdown").innerHTML = (days != 0 ? (days + ((days > 1 || days < 1)? " T" : " T") + " ") : "") + hours + " STD " + minutes + " MIN " + seconds + " SEK";
		window.setTimeout("countdown(" + cnt_seconds + ")", 1000);
	}
}
var timeout_top800;
function countdown_top800(cnt_seconds){
	if(timeout_top800)
		window.clearTimeout(timeout_top800);
		
	if($("countdown_top800"))
	{
		if(cnt_seconds == undefined){
			var diffDate = parseInt($("countdown_top800").getAttribute("seconds"));
			var cnt_seconds = diffDate;
		}else{
			var diffDate = parseInt(cnt_seconds)-1;
			cnt_seconds = diffDate;
		}

		if(diffDate < 0)	return false;

		// Anzahl Tage = Sekunden /24/60/60
		// floor() liefert nur den Anteil vor dem Komma
		var days = parseInt(diffDate / 24 / 60 / 60 );
		days = days < 0 ? 0 : days;

		// den verbleibenden Rest berechnen = Stunden
		diffDate = (diffDate - (days*24*60*60));

		// den Stundenanteil herausrechnen
		var hours = parseInt(diffDate / 60 / 60);
		hours = hours < 0 ? 0 : hours;
		diffDate = (diffDate - (hours*60*60));
		// den Minutenanteil
		var minutes = parseInt(diffDate/60);
		minutes = minutes < 0 ? 0 : minutes;
		diffDate = diffDate - (minutes*60);
		// die verbleibenden Sekunden
		var seconds = parseInt(diffDate);
		if(days > 0)
		{
			//days +=1;
			$("countdown_top800").innerHTML = "Nur noch " + (days != 0 ? (days + ((days > 1 || days < 1)? " Tage" : " Tag") + " ") : "") + " " + hours + " Std. " + minutes + " Min.!";
		}
		else
			$("countdown_top800").innerHTML = "Nur noch " + hours + " Std. " + minutes + " Min. " + seconds + " Sek." + "!";

		$("countdown_top800").style.visibility=($("countdown_top800").style.visibility=='visible')?'hidden':'visible';

		timeout_top800 = window.setTimeout("countdown_top800(" + cnt_seconds + ")", 1000);
	}
}

function makeStartSeite(altPage) 
	{ 
	var startseite_url = 'http://www.radiohamburg.de'; 
	var browser = navigator.appName; 
	var version = navigator.appVersion.substring(0,1); 
	if ((browser=='Netscape') && (version >= 4 && version < 5)) 
	{ 
		netscape.security.PrivilegeManager.enablePrivilege('UniversalPreferencesWrite');
		navigator.preference('signed.applets.codebase_principal_support', true); 
		navigator.preference('browser.startup.homepage', startseite_url); 
		alert('Herzlichen Gl&uuml;ckwunsch, ' + startseite_url + ' ist nun Ihre Startseite.'); 
	} 
	else if ((browser=='Microsoft Internet Explorer') && (version >= 4)) 
	{ 
		document.body.style.behavior='url(#default#homepage)'; 
		document.body.setHomePage(startseite_url);
		alert('Herzlichen Gl&uuml;ckwunsch, ' + startseite_url + ' ist nun Ihre Startseite.'); 
	} 
	else 
	{
		location.href = altPage;
		alert('Bitte stellen Sie ihre Startseite manuell ein.'); 
	} 
} 
function showstudiocam(){
	var z = Math.ceil(Math.random() * 90) + 1;
	z = z * 1000;
//	setTimeout("location.reload()", (15*60)*1000 + z);
}
function showwebreporter(){
	if(l_times < 1){
		var z = Math.ceil(Math.random() * (8*60)) + 1;
		z = z * 1000;
		setTimeout("location.reload()", (21*60)*1000 + z);
	}else{
		var z = Math.ceil(Math.random() * (33*60)) + 1;
		z = z * 1000;
		setTimeout("location.reload()", (94*60)*1000 + z);
	}
}
function changeColor(element, color)
{
	var eleLength = $(element).length;
	if(eleLength > 0)
	{
		for(var i = 0; i<eleLength; i++)
		{
			var colAkt = $(element)[i].getStyle('color');
			// alert(colAkt +" == "+ color[0]);
			if(colAkt.replace(/\s/g, '') == color[0].replace(/\s/g, ''))
				$(element)[i].setStyle({color: color[1]});
			else
				$(element)[i].setStyle({color: color[0]});
		}
	}
	else
	{
		var colAkt = $(element).getStyle('color');
		if(colAkt.replace(/\s/g, '') == color[0].replace(/\s/g, ''))
			$(element).setStyle({color: color[1]});
		else
			$(element).setStyle({color: color[0]});
	}
}

// gefunden bei: http://www.chip.de/bildergalerie/Die-50-schoensten-HDR-Fotos-der-CHIP-Online-Leser-Galerie_24441938.html?show=5
function refreshIvw()
{
	try
	{
		if($('ivw_pixel') == null)
			throw 'noImage';

		// Randomwert von ivw wird neu gesetzt - Randomwert (&d=...) muss der letzte Parameter sein, da alles hinter &d= abgeschnitten wird!
		var pixelSrc = $('ivw_pixel').src;
		var dPos = pixelSrc.indexOf("&d=");
		if(dPos != -1)
			pixelSrc = pixelSrc.substring(0, dPos) + "&d=" + Math.random()*100000;

		var oldPixel = $('ivw_pixel');
		var newPixel = document.createElement("img");
		newPixel.id  = "ivw_pixel";
		// newPixel.src = pixelSrc.replace('ON_AIR', 'BS_AJAX');

		oldPixel.parentNode.replaceChild(newPixel, oldPixel);
	}
	catch(e)
	{
		if(e == 'noImage')
		{
			//alert('IVW-Image nicht gefunden!');
		}
	}
}

addLoadEvent(countdown);