var sn_statusEnabled = false;
var sn_ajax = false;

function sn_createObject () {
	var requestObject = null;
     if (window.XMLHttpRequest) { requestObject = new XMLHttpRequest(); }
     else if (window.ActiveXObject) { requestObject = new ActiveXObject("Microsoft.XMLHTTP"); }
     return requestObject;
}

function sn_ChangeStatus (actual_status) {
	if (sn_statusEnabled) {
		document.getElementById('xml_status').innerHTML = 'running';
	}
}

function sn_executeAjax (arguments) {
	sn_ChangeStatus('running');
	sn_checkAjax();
	sn_sendRequest(arguments);
	sn_handleAnswer();
}

function sn_checkAjax () {
	sn_ajax = sn_createObject();
	if (!sn_ajax) alert('No XML-inctance could be created..')
}

function sn_sendRequest (arguments) {
	sn_ajax.open ('POST', 'ajax.php?ms=' + new Date().getTime());
	sn_ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	sn_ajax.send(arguments);
	sn_ajax.onreadystatechange = sn_handleAnswer;
}

function sn_handleAnswer () {
	if (sn_ajax.readyState == 4) {
		if (sn_ajax.status == 200) {
			var xmlDoc = sn_ajax.responseXML;
			sn_ChangeStatus('done');
			
			var root = xmlDoc.documentElement;
			var status = root.getAttribute("status");
			var actions = root.getElementsByTagName("action");
			for (var i = 0; i < actions.length; i++) {
				type = actions[i].getElementsByTagName("type")[0].firstChild.nodeValue;
				if (type == 'alert') {
					answer = actions[i].getElementsByTagName("answer")[0].firstChild.nodeValue;
					alert(answer);
				}
				else if (type == 'renew') {
					element = actions[i].getElementsByTagName("element")[0].firstChild.nodeValue;
					answer = actions[i].getElementsByTagName("answer")[0].firstChild.nodeValue;
					document.getElementById(element).innerHTML = answer;
					//$(element).update(answer);
				}
				else if (type == 'newsrc') {
					element = actions[i].getElementsByTagName("element")[0].firstChild.nodeValue;
					answer = actions[i].getElementsByTagName("answer")[0].firstChild.nodeValue;
					document.getElementById(element).src = answer;
				}
				else if (type == 'js') {
					loadSrc = actions[i].getElementsByTagName("src")[0].firstChild.nodeValue;
					
					// ### JavaScript laden!
					var oScript = document.createElement("script");
					oScript.src = loadSrc;
					document.body.appendChild(oScript);
				}
				else if (type == 'title') {
					answer = actions[i].getElementsByTagName("answer")[0].firstChild.nodeValue;
					document.title = answer;
				}
			}
		}
	}
}

function loadContent (bereich) {
	// ### neuen Inhalt organisieren :)
	sn_executeAjax('load=' + bereich);
}

function vs_ein(nam,bild,besch) {document.images[nam].src = bild; window.status=besch;}
function vs_aus(nam,bild) {document.images[nam].src = bild; window.status='';}

function changeDisplay (element, new_display)
{
	// ### Ändert den Display-Wert
	document.getElementById(element).style.display = new_display;
}

iActOpened = 0;
function switchBlock (newsID)
{
	// ### Aktuelles zuklappen?
	if (iActOpened > 0 && iActOpened != newsID)
	{
		// ### Gültiges Element?
		if (document.getElementById('block_' + iActOpened))
		{
			// ### Zuklappen
			changeDisplay('block_' + iActOpened, 'none');
			document.getElementById('image_' + iActOpened).src = 'images/image_pfeil_open.png';
		}
	}
	
	// ### News ein- oder ausgeklappt?
	actDisplay = document.getElementById('block_' + newsID).style.display;
	if (actDisplay == 'none')
	{
		// ### Umklappen!
		changeDisplay('block_' + newsID, 'inline');
		document.getElementById('image_' + newsID).src = 'images/image_pfeil_close.png';
		iActOpened = newsID;
	}
	else
	{
		// ### Umklappen!
		changeDisplay('block_' + newsID, 'none');
		document.getElementById('image_' + newsID).src = 'images/image_pfeil_open.png';
		iActOpened = 0;
	}
}

function MM_CheckFlashVersion(reqVerStr,msg){
  with(navigator){
    var isIE  = (appVersion.indexOf("MSIE") != -1 && userAgent.indexOf("Opera") == -1);
    var isWin = (appVersion.toLowerCase().indexOf("win") != -1);
    if (!isIE || !isWin){
      var flashVer = -1;
      if (plugins && plugins.length > 0){
        var desc = plugins["Shockwave Flash"] ? plugins["Shockwave Flash"].description : "";
        desc = plugins["Shockwave Flash 2.0"] ? plugins["Shockwave Flash 2.0"].description : desc;
        if (desc == "") flashVer = -1;
        else{
          var descArr = desc.split(" ");
          var tempArrMajor = descArr[2].split(".");
          var verMajor = tempArrMajor[0];
          var tempArrMinor = (descArr[3] != "") ? descArr[3].split("r") : descArr[4].split("r");
          var verMinor = (tempArrMinor[1] > 0) ? tempArrMinor[1] : 0;
          flashVer =  parseFloat(verMajor + "." + verMinor);
        }
      }
      // WebTV has Flash Player 4 or lower -- too low for video
      else if (userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 4.0;

      var verArr = reqVerStr.split(",");
      var reqVer = parseFloat(verArr[0] + "." + verArr[2]);

      if (flashVer < reqVer){
        if (confirm(msg))
          window.location = "http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash";
      }
    }
  }
}

