// Funktion zum Verstecken einer Box
function hideBox(box) {
    var el=document.getElementById(box);
    el.style.display='none';
    }

// Funktion zum Anzeigen einer Box
function showBox(box) {
    var el=document.getElementById(box);
    if (el.style.display=='block') {hideBox(box);}
    else {
        el.style.display='block';
        }
    }

// Funktion zum Öffnen einer Box
function openBox(box) {
    var el=document.getElementById(box);
    if (el.style.display=='block') {
        hideBox(box);
        }
    else {
        showBox(box);
        }
    }


function setClass(element, name) {
	if (checkClass(element, name)==false) {
		if (element.className==null || element.className.length==0 || element.className==undefined) {
			element.className=name;
			}
		else if (element.className.length>0) {
			element.className=element.className + ' ' + name;
			}
		}
	}

function checkClass(element, name) {
	if (element.className.indexOf('fehler')>=0) {
		return true;
		}
	else {
		return false;
		}
	}
	
function deleteClass(element, name) {
	if (checkClass(element, name)==true) {
		if (element.className.length>0) {
			element.className=element.className.replace(name, '');
			}
		}
	}	 
	
function checkElement(id, art) {
	var el=id;
	switch (art) {
		case 'spnr': {
			if (el.value.length==0) {
				alert('String leer ' + el.value);
				setClass(el, 'fehler');
				}
			else if (!el.value.match(/^[0-9]{1,4}$/)) {
				alert('keine Zahl ' + el.value);
				setClass(el, 'fehler');
				}
			else {
				deleteClass(el, 'fehler');
				}
			break;				
			}
		case 'datum': {
			if (el.value.length==0) {
				alert('String leer ' + el.value);
				setClass(el, 'fehler');
				}
			else if (!el.value.match(/^[0-3]{1}[0-9]{1}[.]?[0-1]{1}[0-9]{1}[.]?[0-9]{4}$/)) {
				alert('kein Datum ' + el.value);
				setClass(el, 'fehler');
				}
			else {
				if (el.value.match(/^[0-3]{1}[0-9]{1}[0-1]{1}[0-9]{1}[0-9]{4}$/)) {
					el.value=el.value.substr(0,2) + '.' + el.value.substr(2,2) + '.' + el.value.substr(4,4);
					}
				deleteClass(el, 'fehler');
				}
			break;			
			}
		case 'zeit': {
			if (el.value.length==0) {
				alert('String leer ' + el.value);
				setClass(el, 'fehler');
				}
			else if (!el.value.match(/^[0-2]?[0-9]{1}[.:]?[0-5]{1}[0-9]{1}$/)) {
				alert('keine Zeit ' + el.value);
				setClass(el, 'fehler');
				}
			else {
				if (el.value.match(/^[0-2]{1}[0-9]{1}[0-5]{1}[0-9]{1}$/)) {
					el.value=el.value.substr(0,2) + ':' + el.value.substr(2,2);
					}
				deleteClass(el, 'fehler');
				}
			break;			
			}			
		}
	}	
	
/* Ansetzungen Mannschaftsauswahl */	
var gruppen=new Array();
var gruppenelemente=new Array();


function init_gruppen(teilstring) {
	var selects = document.getElementsByTagName('select');		
	for (i=0;i<selects.length;i++) {
		if (selects[i].id.indexOf(teilstring)>=0) {
			var tmp=selects[i].id.split('_');
			var gruppe=tmp[2];
			
			if (tmp.length==3 && in_array(gruppe, gruppen)==false) {
				gruppen[gruppe]=gruppe;
				gruppenelemente[gruppe]=new Array();					
				}		
			gruppenelemente[gruppe].push(selects[i].id);
			
			addEvent(selects[i], 'change', update_selects);
			}
		}		
	update_selects();	
 	}
 
/**
* Cross-Browser Ereignis-Registrar v.
* Scott Andrew
*/
function addEvent( obj, type, fn )
{
   if (obj.addEventListener) {
      obj.addEventListener( type, fn, false );
   } else if (obj.attachEvent) {
      obj["e"+type+fn] = fn;
      obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
      obj.attachEvent( "on"+type, obj[type+fn] );
   }
}
 
 function update_selects() {
 	for (gruppe in gruppen) {
		if (gruppe>0) {
			var vorh_eintraege=new Array();
			for (i=0;i<gruppenelemente[gruppe].length;i++) {
				var tmp_select=document.getElementById(gruppenelemente[gruppe][i]);
				if (tmp_select.selectedIndex>0 && in_array(tmp_select.selectedIndex, vorh_eintraege)==false) {
					vorh_eintraege.push(tmp_select.selectedIndex);
					}
				}
			
			for (i=0;i<gruppenelemente[gruppe].length;i++) {
				var tmp_select=document.getElementById(gruppenelemente[gruppe][i]);	
				for (j=0;j<tmp_select.options.length;j++) {
					if (j==0 || in_array(j, vorh_eintraege)==false || j==tmp_select.selectedIndex) {
						tmp_select.options[j].disabled=false;
						tmp_select.options[j].className='';
						}
					else {
						tmp_select.options[j].disabled=true;
						tmp_select.options[j].className='disabled';
						}
					}
				}
			}
		}		
 	}
 	
function in_array(item,arr) {
	for(p=0;p<arr.length;p++) {
		if (item == arr[p]) {
			return true;
			}
		}
		return false;
	}	
