// Tinos Ajax-Sammel-Seite
// Warte Div Unsichtbar setzen
HTTP_GET_VARS=new Array();
strGET=document.location.search.substr(1,document.location.search.length);
if(strGET!='')
    {
    gArr=strGET.split('&');
    for(i=0;i<gArr.length;++i)
        {
        v='';vArr=gArr[i].split('=');
        if(vArr.length>1){v=vArr[1];}
        HTTP_GET_VARS[unescape(vArr[0])]=unescape(v);
        }
    }

function GET(v) {
	if(!HTTP_GET_VARS[v]){return 'undefined';}
	return HTTP_GET_VARS[v];
}

function infotext(txt) {
	document.getElementById('infos').innerHTML = txt;
}

var http_request = false; // Variable für erfolgreichen Request

function getAllFormData() { // Lese alle Forumular-Daten aus und sende sie als POST mit
  var str_post="";
  for (i = 0; i < document.forms.length; i++) { // Durchlaufe alle Formulare
      for (j = 0; j < document.forms[i].elements.length; j++) { // Durchlaufe alle Elemente der Form
        //alert ("F:" + document.forms[i].name + " -> " + document.forms[i].elements[j].name + ":" + document.forms[i].elements[j].value);
        str_post = str_post + document.forms[i].elements[j].name + "=" + document.forms[i].elements[j].value + "&";
      } // Ende Schleife j
  } // Ende Schleife i
  // Entfernt das letzte "&"
  return str_post.substr(0,str_post.length - 1);
}


function show(divname,v) {
	divObj = document.getElementById(divname);
	if (v == 1) {
		// Zeige den DIV Tag
//		fadeIn(divname);
		divObj.style.display='block';
		divObj.disabled = false;
		
	} else {
		// Verstecke den DIV Tag
//		fadeOut(divname);
		divObj.style.display='none';
		divObj.disabled = true;
	}
	
}

//
/*
Erklärung zu macheRequest:
=========================
<Parameterwerte>
url		Bsp: "meineseite.asp" 	(Wenn die seite Paremeterwerte enhält werden diese ausgesondert. Wenn aktionen ausgeführt werden sollen, werden diese nur beim 1. durchgeführt. Beim Rest nur ein Reload)
type		Bsp: GET oder POST	(Legt fest wie die Seite übertrgen werden soll. Bei POST werden die Parameter in der URL ignoriert)
arr		Bsp: New Array(0,1,5)	(Erste Wert des Arrays ist der Zähler, 2. Wert ist die erste ID, welche verändert werden soll, Folgewerte werden NUR Reloaded)
target 	Bsp: divhilfe		(hier ist der Name des Zieldiv hinterlegt, ist der wert '', dann wird immer 'd_'+idwert genommen

*/
//


function macheRequest(url,type,arr,target) {
	http_request = false;
    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/xml'); // Setze den Header auf XML um
        }
    } else if (window.ActiveXObject) { // IE
		try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }

    if (!http_request) {
        alert('Ende :( Kann keine XMLHTTP-Instanz erzeugen');
        return false;
    }
	
	if (type == "GET") {	// Bei GET füge als aid den aktuellen Positionswert + 1
			var u = url.split("?");
			url = u[0]; // URL ohne Parameter
			
			if (typeof u[1] != 'undefined') {
				u = u[0] + "?" + u[1] + "&aid=" + arr[parseInt(arr[0]) + 1];
			} else {
				u = u[0] + "?aid=" + arr[parseInt(arr[0]) + 1];
			}
		var str = null;
	} else {				// Bei POST füche die Werte die beim Post übergeben wurden hinzu
		var str = getAllFormData();
		u = url;
	}
	

	
	a = '';
	if (typeof arr.length != 'undefined') {
		for (i=0; i < arr.length; i++ ){ 
			a += arr[i]+','; 
		}
		a = a.substr(0,a.length - 1); // Entfernt letztes komma
		a = 'new Array(' + a + ')';
	} else {
		a = 'new Array(0)';
	}
	
	http_request.open(type, u, true);
    http_request.onreadystatechange = zeigeInhalt; // Funktion zur Ausgabe der Daten festlegen
	http_request.onreadystatechange = new Function('zeigeInhalt("'+url+'","'+type+'",'+a+',"'+target+'")');

	http_request.setRequestHeader('If-Modified-Since', 'Sat, 1 Jan 2000 00:00:00 GMT');

	http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; ISO-8859-1");
	http_request.send(str);

}

function zeigeInhalt(url,type,arr,target) {
	//show('wait',1);
	if (http_request.readyState == 4) { // Wenn die Seite komplett und fertig zurückgegeben wurde
		if (http_request.status == 200) { // Wenn die Seite gefunden und geladen wurde
			//show('wait',0);
			//alert("warte");
			
			// Wert in arr[0] um 1 erhöhen
			arr[0] = parseInt(arr[0]) + 1;
				
			// target festlegen
			if (target != "") {
				t = target;
			} else {
				t = "d_" + arr[arr[0]];
			}
			//alert('zieldiv: ' + t + ' | wert: ' + arr[arr[0]]);
			
			// Ausgabe
			//if (target.substring(0,9) == "document.") {
				//target = http_request.responseText;
			//else
				//document.getElementById(t).innerHTML = http_request.responseText;
			//end if

			if (target == "document.gd1.ort.value") {
				document.gd1.ort.value = http_request.responseText;
			} else {
				document.getElementById(t).innerHTML = http_request.responseText;
			}

			
			// Wenn Wert in arr[0] noch nicht kleiner als Größe der Arrays-Startwertposition -> Dann nochmal ausführen
			if (arr[0] < (arr.length - 1)) { // Muss noch anders gelöst werden
				macheRequest(url, type, arr, target);
			}
        
		} else { // Seite nicht gefunden, nicht erreichbar oder ähnliches
            alert('Bei dem Request ist ein Problem aufgetreten.');
        }
    }
}



