window.defaultStatus = "Schachschule Erlangen International Chess Page";
//window.moveTo(100,300);

var adresse;
function aufmachen() 
{
	adresse = window.open("impressum.php", "impressum_fenster", "width=400, height=500, top=273, left=472, status=yes");
	adresse.focus();
}
	
function dat() 
{	
	var datum			=	new Date(document.lastModified);
	document.write(datum.getDate() + "." + (datum.getMonth()+1) + "." + datum.getFullYear());
}

function form_check()
{
	var fehlertext	=	"";
	if(document.ueberpruefen.eingeben.value == "")
	{
		fehlertext +=	"Bitte geben Sie Ihren Kommentar in das obere freie Feld ein!";
	}
	if(fehlertext.length !=0)
	{
		alert(fehlertext);
		document.forms[0].elements[0].focus();
		return false;
	}
	else
	{
		return true;
	}
}

//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx


		
//window.document.sms_input.kurzfassung.value.length = 0;
function timeAfterTime()
	{
	var ID=window.setInterval('CheckStr()',100)
	}
function CheckStr(userInput)
	{
	// Die Variable StrLen (StringLength) steht fuer die Anzahl der eingegebenen Zeichen
	StrLen = window.document.sms_input.nachricht.value.length;
	// Wenn mehr als 124 Zeichen eingegeben werden, wird der Rest abgeschnitten; der Substring extrahiert vom ersten Wert (wir zaehlen von 0 an) bis zu dem letzten Wert, den er nicht mehr extrahieren kann (im Skript steht 124, aber da wir bei 0 angefangen haben zu zaehlen, ist der 125. gemeint)
	
	if (StrLen > 999)
		{
		window.document.sms_input.nachricht.value = window.document.sms_input.nachricht.value.substring(0,999);
		StrLeft = 0;
		}
	//ansonsten sind noch so viele Zeichen uebrig
		else
		{
		StrLeft = 999 - StrLen;
		}
	//und das sagen wir dem Benutzer jetzt auch
	//document.sms_input.Len.value = StrLeft;
	
	}



//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

<!--
function click() 
	{
		if (event.button==2) 
		{
		}
	}
	document.onmousedown=click

// No rightclick script for Netscape
if (navigator.appName.indexOf("Netscape") != -1)
{
	window.captureEvents(Event.MOUSEDOWN | Event.MOUSEUP)
	window.onmousedown=rightclick;
	window.onmouseup=rightclick;

	function rightclick(e) 
	{
		if (e.which == 3) 
		{
			return false;
		}
		else 
		{
			return true;
		}
	}
}

function value_check(obj, lowval, hival) 
	{
		for (var i=0; i < obj.value.length; i++) 
		{
			var ch = obj.value.substring(i, i+1)
			if (ch < "0" || ch > "9") 
			{
				alert("Bitte eine Zahl eingeben !")
				obj.value = ""
				obj.focus()
			}
			else 
			{
				if ((obj.value < lowval) || (obj.value > hival))
				{
					alert("Bitte eine Zahl zwischen " + lowval + " und " + hival + " eingeben!")
					obj.value = ""
					obj.focus()
				}
			}
		}
	}
	
function summe_dwz(obj) 
	{
		var sum = 0
		var z =0
		for (var i=2; i < 23; i+=2) 
		{
			if (obj.elements[i].value != "") 
			{
				sum = sum + parseInt(obj.elements[i].value,10)
				z++ 
			}
		}
		if (z > 0) 
		{
			obj.summe.value = Math.round(sum / z)
		}
    }

function reset_dwz(obj) 
	{
		obj.elements[1].value = ""
		obj.elements[24].value = ""
		for (var i=2; i < 23; i+=2) 
		{
			obj.elements[i].value = ""
			obj.elements[i+1].selectedIndex = 0 
		}
    }
	
function compute_dwz(obj) 
	{
		var E 	= 0
		var We 	= 0
		var W 	= 0
		var n 	= 0
		
		if (obj.dwz_alt.value == "") 
		{
			alert("Bitte einen Wert für die eigene alte DWZ eingeben!")
			obj.dwz_alt.focus()
			return 
		}
		
		var DWZalt = parseInt(obj.dwz_alt.value,10)
		E = (DWZalt / 1000 )
		E = Math.pow(E,4)
		E = Math.round(E + ((obj.elements[0].selectedIndex + 1) * 5))
		
		if (E < 5) { E = 5}
		if (E > 30) { E = 30}
		for (var i=2; i < 23; i+=2) 
		{
			if (obj.elements[i].value != "") 
			{
				n ++
				We += (1 / (1 + Math.pow(10,((parseInt(obj.elements[i].value,10)-DWZalt)/400))))
				W += obj.elements[i+1].selectedIndex * .5
			}  
		}
		
		var DWZneu = DWZalt + Math.round(( 800 * (W - We) / (E + n)))
		alert ( " Die neue DWZ ist gleich " + DWZneu )
    }
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

function chkFormular(f) {
	var GegnerIndex=1	
	
	for (i=0;i<f.alteelo.value.length;i++){
		if (f.alteelo.value.charAt(i) < "0" || f.alteelo.value.charAt(i) > "9"){
			alert("Bitte nur Ziffern in Ihrer Elo benutzen!")
			f.alteelo.focus()
			return false
		}
	}
	
	if (f.alteelo.value<800 || f.alteelo.value>2900){
		alert("Bitte Ihre Elo zwischen 800 und 2900 eingeben!")
		f.alteelo.focus()
		return false	 
	}
	
	while (eval('f.elogegner'+GegnerIndex+'.value!=""')){
		GegnerIndex++
		if (GegnerIndex==12)
			break
	}
	GegnerIndex--
	if (GegnerIndex==0) {
		alert("Bitte mindestens eine Gegner-Elo eingeben!")
		f.elogegner1.focus()
		return false
	}

	for (i=1;i<=GegnerIndex;i++){
		for (j=0;eval('j<f.elogegner'+i+'.value.length');j++){
			if (eval('f.elogegner'+i+'.value.charAt(j) < "0"') || eval('f.elogegner'+i+'.value.charAt(j) > "9"')){
				eval('alert("Bitte nur Ziffern in der Elo des '+i+'. Gegners benutzen!")')
				eval('f.elogegner'+i+'.focus()')
				return false
			}
		}
		if (eval('f.elogegner'+i+'.value<800') || eval('f.elogegner'+i+'.value>2900')){
			eval('alert("Bitte Elo des '+i+'. Gegners zwischen 800 und 2900 eingeben!")')
			eval('f.elogegner'+i+'.focus()')
			return false
		}
	}
	
	for (i=1;i<=GegnerIndex;i++){
		if (!(eval('f.ergebnis'+i+'[0].checked') || eval('f.ergebnis'+i+'[1].checked') || eval('f.ergebnis'+i+'[2].checked'))){
			eval('alert("Bitte ergebnis bei Gegner '+i+' anklicken!")')
			eval('f.ergebnis'+i+'[0].focus()')
			return false
		}
	}
	neueeloRechnen(f)
}

function neueeloRechnen(f){
	var DiffMin=new Array()
	DiffMin[0]=0
	DiffMin[1]=4
	DiffMin[2]=11
	DiffMin[3]=18
	DiffMin[4]=26
	DiffMin[5]=33
	DiffMin[6]=40
	DiffMin[7]=47
	DiffMin[8]=54
	DiffMin[9]=62
	DiffMin[10]=69
	DiffMin[11]=77
	DiffMin[12]=84
	DiffMin[13]=92
	DiffMin[14]=99
	DiffMin[15]=107
	DiffMin[16]=114
	DiffMin[17]=122
	DiffMin[18]=130
	DiffMin[19]=138
	DiffMin[20]=146
	DiffMin[21]=154
	DiffMin[22]=163
	DiffMin[23]=171
	DiffMin[24]=180
	DiffMin[25]=189
	DiffMin[26]=198
	DiffMin[27]=207
	DiffMin[28]=216
	DiffMin[29]=226
	DiffMin[30]=236
	DiffMin[31]=246
	DiffMin[32]=257
	DiffMin[33]=268
	DiffMin[34]=279
	DiffMin[35]=291
	DiffMin[36]=303
	DiffMin[37]=316
	DiffMin[38]=329
	DiffMin[39]=345
	DiffMin[40]=358
				
	var alteelo=f.alteelo.value*1
	var neueelo=0
	var EloDifferenz=0
	var DiffIndex=0
	var GegnerIndex=1
	var EloGesamt=0
	var EloDurchschnitt=0
	var K=0
	var PunkteAbsolut=0
	var elogegner=0
	var elogegnerReal=0
	var elogegnerDifferenz=0
	var MaxDiff=350
	
	while (eval('f.elogegner'+GegnerIndex+'.value!=""')){
		GegnerIndex++
		if (GegnerIndex==12)
			break
	}
	
	GegnerIndex--
	
	for (var i=1; i<=GegnerIndex; i++){
		elogegnerReal=eval('f.elogegner'+i+'.value')
		elogegnerDifferenz=(elogegnerReal-alteelo)
		if (elogegnerDifferenz>MaxDiff)
			elogegner=(alteelo*1+MaxDiff)
		else{
			if (elogegnerDifferenz<(-MaxDiff))
				elogegner=(alteelo*1-MaxDiff)
			else
				elogegner=elogegnerReal*1
		}	
		EloGesamt+=elogegner
	}
	
	EloDurchschnitt=EloGesamt/GegnerIndex		
	EloDifferenz=Math.abs(alteelo-EloDurchschnitt)
		 
	for (var i=1; i<=GegnerIndex; i++){
		if (eval('f.ergebnis'+i+'[0].checked'))
			PunkteAbsolut++
		else {
			if (eval('f.ergebnis'+i+'[1].checked'))
				PunkteAbsolut+=0
			else {
				if (eval('f.ergebnis'+i+'[2].checked'))
					PunkteAbsolut+=0.5
			}
		}	
	}
	
	while (!((EloDifferenz>=DiffMin[DiffIndex]) && (EloDifferenz<DiffMin[DiffIndex+1])))
		DiffIndex++
	
	K=Math.pow((3400-alteelo),2)/100000
	
	if (alteelo>EloDurchschnitt)
		neueelo=(alteelo+K*(PunkteAbsolut-(GegnerIndex*((50+DiffIndex)/100))))
	else 
		neueelo=(alteelo+K*(PunkteAbsolut-(GegnerIndex*((50-DiffIndex)/100))))
	f.neueelo.value=(Math.round(neueelo*10)/10)
}

