var XMLHTTP = null;
var IDNEWS = 0;
var LOESCHEN = false;
var myForm;
var IDTURNIER;


if (window.XMLHttpRequest) {
	XMLHTTP = new XMLHttpRequest();
} else if (window.ActiveXObject) {
	try {
		XMLHTTP = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (ex) {
		try {
			XMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (ex) {
		}
	}
}



var regExpWaehrung = new RegExp ("^[0-9]*,?[0-9]*$");
var regExpDatum = new RegExp ("^([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{1,4})$");
var regExpDatumText = new RegExp ("^([A-Z,a-z,ä]{3,9}) ([0-9]{4,4})$");
var regExpZeit = new RegExp ("^([0-9]{1,2})\:([0-9]{2})$");


function Nachkomma(Zahl, Tausender){
	var x = Zahl.toString();
	var Komma = 0;
	for (var i = 0; i < x.length && Komma == 0; i++ ){
		if (x.charAt(i) == "."){
			Komma = i;
		}
	}

	if (Komma > 0){
		var Vorkomma = x.substr(0, Komma);
		var Nachkomma = x.substr(Komma + 1, 100);
	}else{
		var Vorkomma = x;
		var Nachkomma = "";
	}

	for (i = Nachkomma.length; i < 2; i++ ){
		Nachkomma += "0";
	}

	if (Tausender && Vorkomma.length > 3){
		var VK = "";
		for (i = 1; i <= Vorkomma.length ; i++){
			if (i % 3 == 0 && i < Vorkomma.length){
				VK = "." + Vorkomma.charAt(Vorkomma.length - i) + VK;
			}else{
				VK = Vorkomma.charAt(Vorkomma.length - i) + VK;
			}
		}
		Vorkomma = VK;
	}

	return Vorkomma + "," + Nachkomma;

}

function NachkommaNormal(Zahl, Tausender){
	var x = Zahl.toString();
	var Komma = 0;
	for (var i = 0; i < x.length && Komma == 0; i++ ){
		if (x.charAt(i) == "."){
			Komma = i;
		}
	}

	if (Komma > 0){
		var Vorkomma = x.substr(0, Komma);
		var Nachkomma = x.substr(Komma + 1, 100);
	}else{
		var Vorkomma = x;
		var Nachkomma = "";
	}

	if (Tausender && Vorkomma.length > 3){
		var VK = "";
		for (i = 1; i <= Vorkomma.length ; i++){
			if (i % 3 == 0 && i < Vorkomma.length){
				VK = "." + Vorkomma.charAt(Vorkomma.length - i) + VK;
			}else{
				VK = Vorkomma.charAt(Vorkomma.length - i) + VK;
			}
		}
		Vorkomma = VK;
	}

	if (Nachkomma == ""){
		return Vorkomma;
	}else{
		return Vorkomma + "," + Nachkomma;
	}

}

function Tausender(Zahl){
	var x = Zahl.toString();
	var Vorkomma = x;

	if (Vorkomma.length > 3){
		var VK = "";
		for (i = 1; i <= Vorkomma.length ; i++){
			if (i % 3 == 0 && i < Vorkomma.length){
				VK = "." + Vorkomma.charAt(Vorkomma.length - i) + VK;
			}else{
				VK = Vorkomma.charAt(Vorkomma.length - i) + VK;
			}
		}
		Vorkomma = VK;
	}

	return Vorkomma;

}


function trim(str){
	return str.replace(/ +/g, ' ').replace(/^\s+/g, '').replace(/\s+S/g, '');
}





function ShowUserList_Output(){
	if (4 == XMLHTTP.readyState) {
		document.getElementById("lyrOutputList").innerHTML = XMLHTTP.responseText;
	}
}



function ShowUserList(){

	XMLHTTP.open('POST', 'spielertabelle.php');
	XMLHTTP.onreadystatechange = ShowUserList_Output;
	XMLHTTP.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');


	var param = 'Sortierung=' + document.getElementById("selSortierung").value;
	XMLHTTP.send(param);
}

function ShowTable_Output(){
	if (4 == XMLHTTP.readyState) {
		document.getElementById("lyrOutputTable").innerHTML = XMLHTTP.responseText;
	}
}



function ShowTable(){

	XMLHTTP.open('POST', 'tabelleanzeigen.php');
	XMLHTTP.onreadystatechange = ShowTable_Output;
	XMLHTTP.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

	var x = document.getElementById("selTable").value.split(" ");
	var laenge = x.length;

	var Tabelle = "";
	for (var i = 0;i < laenge -1;i++ ){
		if (i > 0){
			Tabelle += " ";
		}
		Tabelle += x[i];
	}

	var param = 'Tabelle=' + Tabelle + '&IDauto=' + x[laenge - 1];
	//alert(param);
	XMLHTTP.send(param);
}


function MarkRow(Zeile, gerade){

	var x = document.getElementById('Clientchk_' + Zeile);
	var r = document.getElementById('row_' + Zeile);

	if (x.checked){
		if (gerade == "yes"){
			r.className = "kontaktgeradegruen";
		}else{
			r.className = "kontaktungeradegruen";
		}
	}else{
		if (gerade == "yes"){
			r.className = "kontaktgerade";
		}else{
			r.className = "kontaktungerade";
		}
	}
}

function Reihemarkieren(Zeile, gerade){

	var x = document.getElementById('Loeschen_' + Zeile);
	var r = document.getElementById('Reihe_' + Zeile);

	if (x.checked){
		r.className = "rot";
	}else{
		if (gerade == 1){
			r.className = "gerade";
		}else{
			r.className = "ungerade";
		}
	}
}

function Freigabe(Artikel, Art, IDUser){
	IDNEWS = Artikel;
	var m = document.getElementById("lyrMeldung_" + Artikel);

	if (Art == "loeschen"){
		LOESCHEN = true;
	}else{
		LOESCHEN = false;
		if (Art == "sperren"){
			m.className = "meldung intern";
		}else{
			m.className = "meldung";
		}
	}

	XMLHTTP.open('POST', 'newsdetail.php');
	XMLHTTP.onreadystatechange = Freigabe_Output;
	XMLHTTP.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

	var param = 'IDNews=' + Artikel + '&Art=' + Art + '&IDUser=' + IDUser;
	XMLHTTP.send(param);

}

function Freigabe_Output(){
	if (4 == XMLHTTP.readyState) {
		document.getElementById("lyrMeldung_" + IDNEWS).innerHTML = XMLHTTP.responseText;

		if (LOESCHEN){
			document.getElementById("lyrMeldung_" + IDNEWS).style.visibility = "hidden";
		}
	}
}

function Aendern(IDArtikel){
	//alert(IDArtikel);
	var W = window.open("artikelaendern.php?IDNews=" + IDArtikel, "Change", "left=20,top=20");
	W.self.focus();
}

function TurnierAendern(IDTurnier){
	var W = window.open("turnieraendern.php?IDTurnier=" + IDTurnier, "ChangeT", "left=20,top=20");
	W.self.focus();
}



function DateiAnzeigen(DATEI){
	var W = window.open(DATEI, "File", "left=20,top=20");
	W.self.focus();
}

function LinkAnzeigen(DATEI){
	document.getElementById('txtLink').value = DATEI;
}


function UpdateTournament_Output(){
	if (4 == XMLHTTP.readyState) {
		document.getElementById("lyrTurnier_" + IDTURNIER).innerHTML = XMLHTTP.responseText;
		document.getElementById("lyrMachMitDetail").style.visibility = "hidden";
	}
}


function UpdateTournament(IDTURNIER){
	XMLHTTP.open('POST', 'turnierdetail.php');
	XMLHTTP.onreadystatechange = UpdateTournament_Output;
	XMLHTTP.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

	var param = 'IDTurnier=' + IDTURNIER;
	XMLHTTP.send(param);
}



function saveData_Output(){
	if (4 == XMLHTTP.readyState) {

		switch (myForm){
			case "frmTP":
				document.getElementById("spOK").innerHTML = "<span style='color: green;'>erfolgreich gespeichert</span>";
				UpdateTournament(IDTURNIER);
				break;
			

			case "frmNews":
				document.getElementById("spOK").innerHTML = "<span style='color: green;'>erfolgreich gespeichert</span>";
				alert(XMLHTTP.responseText);
				break;
			

			case "frmClientSelf":
				document.getElementById("spOK").innerHTML = "<span style='color: green;'>erfolgreich gespeichert</span>";

				break;

		
		}
	}
}


function saveData(frm, art){

	if (art == "delete"){
		var antwort = confirm("Wirklich lÃ¶schen?");
		if (false == antwort){
			return;
		}
	}

	if (art == "save"){

		//Prüfung ob alles OK
		var inpAnzahl = document.forms[frm].getElementsByTagName("input").length;
		var selAnzahl = document.forms[frm].getElementsByTagName("select").length;
		var textAnzahl = document.forms[frm].getElementsByTagName("textarea").length;

		var Fehler = 0;
		var Ausgabe = "Folgende Felder sind nicht korrekt ausgefüllt:\n\n";

		for (var textID = 0;textID < textAnzahl ;textID++ ){
			if (document.getElementsByTagName("textarea")[textID].getAttribute("pflicht")){
				var d = document.getElementsByTagName("textarea")[textID];
				var Feldname = d.getAttribute("feld");
				if (!d.disabled){
					if (trim(d.value) == ""){
						Fehler++;
						if (Fehler > 1){
							Ausgabe += "\n";
						}
						Ausgabe += " - " + Feldname;
					}
				}
			}
		}

		
		for (var inpID = 0;inpID < inpAnzahl ;inpID++ ){
			if (document.forms[frm].getElementsByTagName('input')[inpID].getAttribute("pflicht")){

				//alert("xx");
				var d = document.forms[frm].getElementsByTagName("input")[inpID];
				var pruefTyp = d.getAttribute("pflicht");
				var Feldname = d.getAttribute("feld");
				
				if (!d.disabled){

					switch (pruefTyp){
						case "text":
							if (trim(d.value) == ""){
								Fehler++;
								if (Fehler > 1){
									Ausgabe += "\n";
								}
								Ausgabe += " - " + Feldname;
							}
							break;
						
						case "datum":
							if (!checkDate(d.value)){
								Fehler++;
								if (Fehler > 1){
									Ausgabe += "\n";
								}
								Ausgabe += " - " + Feldname;
							}
							break;
						
						case "datumzeit":
							if (!checkDateTime(d.value)){
								Fehler++;
								if (Fehler > 1){
									Ausgabe += "\n";
								}
								Ausgabe += " - " + Feldname;
							}
							break;
						
						case "int":
							if ((!is_int(d.value, false)) || (trim(d.value) == "")){
								Fehler++;
								if (Fehler > 1){
									Ausgabe += "\n";
								}
								Ausgabe += " - " + Feldname;
							}else{
								if (d.laenge){
									if (d.value.length != d.laenge){
										Fehler++;
										if (Fehler > 1){
											Ausgabe += "\n";
										}
										Ausgabe += " - " + Feldname;
										d.style.color = "red";
									}
								}
							}
							break;

						case "float":
							var OK = regExpWaehrung.exec(d.value.replace(/\./g, ''));
							if (!OK){
								Fehler++;
								if (Fehler > 1){
									Ausgabe += "\n";
								}
								Ausgabe += " - " + Feldname;
							}
							break;
						
						case "mail":
							var OK = regExpMail.exec(d.value);
							if (!OK){
								Fehler++;
								if (Fehler > 1){
									Ausgabe += "\n";
								}
								Ausgabe += " - " + Feldname;
							}
							break;
					}

				}

				
			}else{
				var d = document.forms[frm].getElementsByTagName("input")[inpID];

				if (!d.disabled){
					if (d.id.substring(0,3) == "int"){
						if (!is_int(d.value, true)){
							Fehler++;
							if (Fehler > 1){
								Ausgabe += "\n";
							}
							Ausgabe += " - " + d.getAttribute("feld");
						}
					}
					
					if (d.id.substring(0,2) == "dt"){
						if (d.value != ""){
							if (!checkDate(d.value)){
								Fehler++;
								if (Fehler > 1){
									Ausgabe += "\n";
								}
								Ausgabe += " - " + d.getAttribute("feld");
							}
						}
					}

				}
			}
		}
		
		for (var selID = 0;selID < selAnzahl ;selID++ ){
			if (document.forms[frm].getElementsByTagName("select")[selID].getAttribute("pflicht")){
				var d = document.forms[frm].getElementsByTagName("select")[selID];
				var nicht = d.nicht;
				var Feldname = d.getAttribute("feld");
				if (!d.disabled){

					if (d.value == nicht){
						Fehler++;
						if (Fehler > 1){
							Ausgabe += "\n";
						}
						Ausgabe += " - " + Feldname;
					}
				}
				
			}
		}

		
		if (Fehler > 0){
			document.getElementById("spOK").innerHTML = "<span style='color: red;'>Fehler!!!</span>";
			alert(Ausgabe);
			return;
		}else{
			//alert('soweit so gut...');
		}
		
		//exit;

		XMLHTTP.open('POST', 'savedata.php');
	}else{

		XMLHTTP.open('POST', 'deletedata.php');
	}


	XMLHTTP.onreadystatechange = saveData_Output;
	XMLHTTP.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

	var param = 'form=' + frm;

	for (var i = 0; i < document.forms[frm].length; i++){
		elem = document.forms[frm].elements[i];
		//if (!elem.disabled){
			param += "&" + elem.id + "=" + encodeURIComponent(elem.value);
		//}
	}


	document.getElementById("spOK").innerHTML = "warten...";

	switch (frm){
		case "frmNews":
			break;
		
		case "frmTP":
			for (var inpID = 0;inpID < inpAnzahl ;inpID++ ){
				if (document.forms[frm].getElementsByTagName('input')[inpID].id == "IDTurnier"){
					IDTURNIER = document.forms[frm].getElementsByTagName('input')[inpID].value;
				}
			}
			break;

		
	}
	
	
	myForm = frm;

	XMLHTTP.send(param);
}


function AdminMenue(){
	document.getElementById('lyrAdminMenue').style.display = 'block';
	window.setTimeout("document.getElementById('lyrAdminMenue').style.display = 'none'", 5000);
}

function bpc_Machmit_Close(){
	document.getElementById("lyrMachMitDetail").style.visibility = "hidden";
}


function bpc_Machmit_Output(){
	if (4 == XMLHTTP.readyState) {
		document.getElementById("lyrMachMitDetail").innerHTML = XMLHTTP.responseText;
		document.getElementById("lyrSpielerDetail").style.visibility = "hidden";
	}
}



function bpc_Machmit(IDTurnier){
	XMLHTTP.open('POST', 'turnierspieler.php');
	//XMLHTTP.open('POST', 'detail.php');
	XMLHTTP.onreadystatechange = bpc_Machmit_Output;
	XMLHTTP.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

	if(navigator.userAgent.indexOf('MSIE') > -1){

		var buehneX = document.documentElement.clientWidth;
		var buehneY = document.documentElement.clientHeight;
		var scroll = document.documentElement.scrollTop;
	}else{
		if(navigator.userAgent.indexOf('Gecko') > -1){

			var buehneX = window.innerWidth;
			var buehneY = window.innerHeight;
			var scroll = document.documentElement.scrollTop;
		}else{

			var buehneX = window.innerWidth;
			var buehneY = window.innerHeight;
			var scroll = document.documentElement.scrollTop;
		}
	}
	
	if( typeof( window.pageYOffset ) == 'number' ) {
		//Netscape compliant
		var scrOfY = window.pageYOffset;
		var scrOfX = window.pageXOffset;
	  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
		//DOM compliant
		var scrOfY = document.body.scrollTop;
		var scrOfX = document.body.scrollLeft;
	  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
		//IE6 standards compliant mode
		var scrOfY = document.documentElement.scrollTop;
		var scrOfX = document.documentElement.scrollLeft;
	  }

		if(scrOfY){
			scroll = scrOfY;
		}


	//alert(top);

	
	document.getElementById("lyrMachMitDetail").style.visibility = "visible";
	document.getElementById("lyrMachMitDetail").style.top =  (scroll - 200 + buehneY / 2) + "px";
	document.getElementById("lyrMachMitDetail").style.left =  (buehneX / 2) - 280 + "px";
	document.getElementById("lyrMachMitDetail").innerHTML = "warten...";
	
	var param = 'IDTurnier=' + IDTurnier;

	XMLHTTP.send(param);
}

function bpc_Spieler_Close(){
	document.getElementById("lyrSpielerDetail").style.visibility = "hidden";
}


function bpc_ShowPlayerDetail_Output(){
	if (4 == XMLHTTP.readyState) {
		document.getElementById("lyrSpielerDetail").innerHTML = XMLHTTP.responseText;
		document.getElementById("lyrMachMitDetail").style.visibility = "hidden";
	}
}



function bpc_ShowPlayerDetail(IDUser){
	XMLHTTP.open('POST', 'spielerdetail.php');
	//XMLHTTP.open('POST', 'detail.php');
	XMLHTTP.onreadystatechange = bpc_ShowPlayerDetail_Output;
	XMLHTTP.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

	if(navigator.userAgent.indexOf('MSIE') > -1){

		var buehneX = document.documentElement.clientWidth;
		var buehneY = document.documentElement.clientHeight;
		var scroll = document.documentElement.scrollTop;
	}else{
		if(navigator.userAgent.indexOf('Gecko') > -1){

			var buehneX = window.innerWidth;
			var buehneY = window.innerHeight;
			var scroll = document.documentElement.scrollTop;
		}else{

			var buehneX = window.innerWidth;
			var buehneY = window.innerHeight;
			var scroll = document.documentElement.scrollTop;
		}
	}
	
	if( typeof( window.pageYOffset ) == 'number' ) {
		//Netscape compliant
		var scrOfY = window.pageYOffset;
		var scrOfX = window.pageXOffset;
	  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
		//DOM compliant
		var scrOfY = document.body.scrollTop;
		var scrOfX = document.body.scrollLeft;
	  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
		//IE6 standards compliant mode
		var scrOfY = document.documentElement.scrollTop;
		var scrOfX = document.documentElement.scrollLeft;
	  }

		if(scrOfY){
			scroll = scrOfY;
		}


	//alert(top);

	
	document.getElementById("lyrSpielerDetail").style.visibility = "visible";
	document.getElementById("lyrSpielerDetail").style.top =  (scroll - 270 + buehneY / 2) + "px";
	document.getElementById("lyrSpielerDetail").style.left =  (buehneX / 2) - 200 + "px";
	document.getElementById("lyrSpielerDetail").innerHTML = "warten...";
	
	var param = 'IDUser=' + IDUser;

	XMLHTTP.send(param);
}


