//******************************************************************************
//Schritt 1 ********************************************************************
//******************************************************************************
function check_schritt1()
{
//-----------------------------------------------
//Gruppe und KO - Kopfbereich
//-----------------------------------------------
//Turniernamen prüfen
  var field  = document.getElementsByName('name');
  var error  = false;
  var color  = "#ffffff";         
  var text   = "";    
  
  var temp;
  temp = field[0].value.replace(/ /gi,"");
  if(temp.length <= 0)
//  if (field[0].value=="" || field[0].value==" " || field[0].value=='') 
  {
    text = "Bitte einen Turniernamen vergeben.";
    //document.forms[0].name.focus();  
    //document.forms[0].name.select();  
    field[0].focus();  
    field[0].select();  
    color  = "#ff1f1f";
    error = true;
  }  

  field[0].style.background = color;               
  var divId   = document.getElementById('name_label_err');
	var lab     = divId.getElementsByTagName("label");
	lab[0].innerHTML = text;  

//Tippbereich prüfen
  var field  = document.getElementsByName('tippbereich');
  var color  = "#ffffff";           
  var text   = "";    

/*
  //TODO: prüfen, klappt ned...
  if (document.forms[0].tippbereich.value=="")
  {
    text = "Bitte einen Tippbreich vergeben.";
    if (error == true){
      document.forms[0].tippbereich.focus();  
      document.forms[0].tippbereich.select();  
    }
    color  = "#ff1f1f";                          
    error = true;
  }  

  document.forms[0].tippbereich.style.background = color;
  var divId   = document.getElementById('tippbereich_label_err');
	var lab     = divId.getElementsByTagName("label");
	lab[0].innerHTML = text;  
*/


//KO oder Gruppe muss ausgewählt sein
  var color  = "#ffffff";           
  var text   = "";    
  
  var rb_gruppe = document.getElementById('rb_gruppe');
  var rb_ko     = document.getElementById('rb_ko');

  if(rb_gruppe.checked==false && rb_ko.checked==false)  
  {
    text = "Bitte Turniermodus auswählen.";
    color  = "#ff1f1f";           
    error = true;
  }
  var divId   = document.getElementById('rb_art_label_err');
	var lab     = divId.getElementsByTagName("label");
	lab[0].innerHTML = text;  

//-----------------------------------------------
//Gruppe und KO - Details
//-----------------------------------------------
  if(rb_gruppe.checked==true || rb_ko.checked==true) 
  {
    //Spielart bis Halbfinale
    var color  = "#ffffff";           
    var text   = "";    
    
    var rb_hin = document.getElementById('rb_hin');
    var rb_her = document.getElementById('rb_her');
  
    if(rb_hin.checked==false && rb_her.checked==false)  
    {
      text = "Bitte Spielart bis Halbfinale auswählen.";
      color  = "#ff1f1f";           
      error = true;
    }
    var divId   = document.getElementById('rb_spielart_label_err');
  	var lab     = divId.getElementsByTagName("label");
  	lab[0].innerHTML = text;  
  	
    //Spielart Finale
    var color  = "#ffffff";           
    var text   = "";    
    
    var rb_hin_finale = document.getElementById('rb_hin_finale');
    var rb_her_finale = document.getElementById('rb_her_finale');
  
    if(rb_hin_finale.checked==false && rb_her_finale.checked==false)  
    {
      text = "Bitte Spielart fürs Finale auswählen.";
      color  = "#ff1f1f";           
      error = true;
    }
    var divId   = document.getElementById('rb_spielart_finale_label_err');
  	var lab     = divId.getElementsByTagName("label");
  	lab[0].innerHTML = text;  	
  }

//-----------------------------------------------
//Gruppe - Details
//-----------------------------------------------
  if(rb_gruppe.checked==true) 
  {
    //Spielart Vorrunde
    var color  = "#ffffff";           
    var text   = "";    
    
    var rb_hin_gruppe = document.getElementById('rb_hin_gruppe');
    var rb_her_gruppe = document.getElementById('rb_her_gruppe');
  
    if(rb_hin_gruppe.checked==false && rb_her_gruppe.checked==false)  
    {
      text = "Bitte Spielart für die Vorrunde auswählen.";
      color  = "#ff1f1f";           
      error = true;
    }
    var divId   = document.getElementById('rb_spielart_gruppe_label_err');
  	var lab     = divId.getElementsByTagName("label");
  	lab[0].innerHTML = text;

    //Anzahl Gruppen
    var color  = "#ffffff";           
    var text   = "";    
    var lf_error_anzahl_gruppe = false;
    var anzahl_gruppe = document.getElementById('anzahl_gruppe');
  
    if(anzahl_gruppe.value=='1' || anzahl_gruppe.value=='2' || anzahl_gruppe.value=='3' || 
       anzahl_gruppe.value=='4' || anzahl_gruppe.value=='5' || anzahl_gruppe.value=='6' || 
       anzahl_gruppe.value=='7' || anzahl_gruppe.value=='8' || anzahl_gruppe.value=='9' || 
       anzahl_gruppe.value=='10')  
    {
      //nix
    }
    else
    {
      text = "Bitte Anzahl der Gruppen festlegen.";
      color  = "#ff1f1f";           
      error = true;
      lf_error_anzahl_gruppe = true;
    }
    var divId   = document.getElementById('anzahl_gruppe_label_err');
  	var lab     = divId.getElementsByTagName("label");
  	lab[0].innerHTML = text;

    //Anzahl Mannschaften pro Gruppe
    var color  = "#ffffff";           
    var text   = "";    
    var lf_error_anzahl_pro_gruppe = false;
    
    var anzahl_pro_gruppe = document.getElementById('anzahl_pro_gruppe');
  
    if(anzahl_pro_gruppe.value=='1' || anzahl_pro_gruppe.value=='2' || anzahl_pro_gruppe.value=='3' ||
       anzahl_pro_gruppe.value=='4' || anzahl_pro_gruppe.value=='5' || anzahl_pro_gruppe.value=='6' ||
       anzahl_pro_gruppe.value=='7' || anzahl_pro_gruppe.value=='8' || anzahl_pro_gruppe.value=='9' ||
       anzahl_pro_gruppe.value=='10')  
    {
      //nix
    }
    else
    {
      text = "Bitte Anzahl der Mannschaften je Gruppe angeben.";
      color  = "#ff1f1f";           
      error = true;
      
      lf_error_anzahl_pro_gruppe = true;      
    }
    var divId   = document.getElementById('anzahl_pro_gruppe_label_err');
  	var lab     = divId.getElementsByTagName("label");
  	lab[0].innerHTML = text;
  	
    //Anzahl weiter
    var color  = "#ffffff";           
    var text   = "";    
    var lf_error_anzahl_weiter = false;
    
    var anzahl_weiter = document.getElementById('anzahl_weiter');
  
    if(anzahl_weiter.value=='1' || anzahl_weiter.value=='2' || anzahl_weiter.value=='3' ||
       anzahl_weiter.value=='4' || anzahl_weiter.value=='5' || anzahl_weiter.value=='6' ||
       anzahl_weiter.value=='7' || anzahl_weiter.value=='8' || anzahl_weiter.value=='9' ||
       anzahl_weiter.value=='10')  
    {
      //nix
    }
    else
    {
      text = "Bitte Anzahl der Releganten festlegen.";
      color  = "#ff1f1f";           
      error = true;
      lf_error_anzahl_weiter = true;
    }
    var divId   = document.getElementById('anzahl_weiter_label_err');
  	var lab     = divId.getElementsByTagName("label");
  	lab[0].innerHTML = text;  	
  }
   
//-----------------------------------------------
//KO - Details
//-----------------------------------------------
  if(rb_ko.checked==true) 
  {
    //Anzahl Mannschaften
    var color  = "#ffffff";           
    var text   = "";    
    
    var anzahl = document.getElementById('anzahl');
  
    if(anzahl.value=='2' || anzahl.value=='4' || anzahl.value=='8' ||
       anzahl.value=='16' || anzahl.value=='32' || anzahl.value=='64' ||
       anzahl.value=='128' || anzahl.value=='256' || anzahl.value=='512')  
    {
      //nix
    }
    else
    {
      text = "Bitte Anzahl der Mannschaften angeben.";
      color  = "#ff1f1f";           
      error = true;
    }
    var divId   = document.getElementById('anzahl_label_err');
  	var lab     = divId.getElementsByTagName("label");
  	lab[0].innerHTML = text;     
  } 

//-----------------------------------------------
//Gruppe und KO - Spezialprüfungen
//-----------------------------------------------

//-----------------------------------------------
//Gruppe - Spezialprüfungen
//-----------------------------------------------
  if(rb_gruppe.checked==true) 
  {    
    //Es können nicht mehr weiterkommen, als tatsächlich in einer Gruppe san
    if (lf_error_anzahl_pro_gruppe == false && lf_error_anzahl_weiter == false){
      if (anzahl_weiter.value > anzahl_pro_gruppe.value){
        alert(unescape("Es können nicht mehr Mannschaften in die KO-Runde einziehen, als tatsächlich einer Gruppe zugeteilt sind."));
        error = true;
      }
    }
    //Ergibt die Anzahl der weitergekommenen Mannschaften eine korrekte KO-Runde    
    if (lf_error_anzahl_gruppe == false && lf_error_anzahl_weiter == false){

      var anzahl_ko = anzahl_gruppe.value * anzahl_weiter.value;
      if(anzahl_ko=='1' || anzahl_ko=='2' || anzahl_ko=='4' || anzahl_ko=='8' ||
         anzahl_ko=='16' || anzahl_ko=='32' || anzahl_ko=='64' ||
         anzahl_ko=='128' || anzahl_ko=='256' || anzahl_ko=='512')  
      {}
      else{
        alert(unescape("Die Anzahl der weiterkommenden Mannschaften pro Gruppe und die Anzahl der Gruppen ergibt keine korrekte KO-Runde. Aus" + anzahl_ko + " Teams kann keine KO-Runde gebildet werden."));
        error = true;      
      }
    }
    
  } 

//-----------------------------------------------
//KO - Spezialprüfungen
//-----------------------------------------------

//-----------------------------------------------
//Funktionsende
//-----------------------------------------------
  if (error==false){
    return true;
  }
  else{
    return false;
  }
}

//******************************************************************************
//Schritt 2 ********************************************************************
//******************************************************************************
function check_schritt2(anzahl_gruppe, anzahl_pro_gruppe, turnier_art)
{
//******************************************************************************  
// GRUPPE
//******************************************************************************    
  if (turnier_art == "gruppe"){
  
    var gruppennamen = document.getElementsByName('gruppen_name[]');
    var error  = false;
    
    for(x=0; x<anzahl_gruppe ; x+=1){
      
      zaehler = x+1;
      var color  = "#ffffff";         
      var text   = "";    
      var error_akt = false;
        
      //-----------------------------------------------
      //Gruppenname
      //-----------------------------------------------
      //nicht leer
      var temp;
      temp = gruppennamen[x].value.replace(/ /gi,"");
      if(temp.length <= 0)          
//      if (gruppennamen[x].value=="")
      {
        if (error == false){
          gruppennamen[x].focus();  
          gruppennamen[x].select();  
        }
        color  = "#ff1f1f";
        error = true;
        error_akt = true;
        text = "Bitte für Gruppe "+zaehler+" einen eindeutigen Name vergeben.\n";
      }
  
      gruppennamen[x].style.background = color;               
      var label_name = 'gruppen_name_label_err['+x+']';
      var divId        = document.getElementById(label_name);
    	var lab          = divId.getElementsByTagName("label");
    	lab[0].innerHTML = text;	
    
      //eindeutig
      if (error_akt == false){
        for(y=0; y<anzahl_gruppe ; y+=1){      
          zaehler1 = y+1;
  
          if (x!=y){
            if (gruppennamen[x].value==gruppennamen[y].value){
              if (error == false){
                gruppennamen[x].focus();  
                gruppennamen[x].select();  
              }
              color  = "#ff1f1f";
              error = true;
              error_akt = true;
              text = "Gruppe "+zaehler+" hat den gleichen Namen wie Gruppe "+zaehler1+".\n";
  
              gruppennamen[x].style.background = color;               
              var label_name = 'gruppen_name_label_err['+x+']';
              var divId        = document.getElementById(label_name);
            	var lab          = divId.getElementsByTagName("label");
            	lab[0].innerHTML = text;
    	
              break;            
            }               
          }
        }
      }
    }//Ende Schleife
    
    
      //-----------------------------------------------
      //Mannschaften
      //-----------------------------------------------
      //Anzahl der Teilnehmer pro Gruppe korrekt       
      text = "";
      var error_anzahl_teams = false;
      
      var teams_array = [];
      
      if (anzahl_gruppe>=1){
        ziel = document.getElementById("rightSelect_1[]");
        if (ziel.options.length < anzahl_pro_gruppe){
          var fehlende_teams = anzahl_pro_gruppe-ziel.options.length; 
          text = text+"Gruppe 1 fehlen noch "+fehlende_teams+" Mannschaften.\n";
          error = true;
          error_anzahl_teams = true;
          
          color  = "#ff1f1f";
        }
        else{
          color  = "#ffffff";
        }
        ziel.style.background = color;                             
        
        //Alle Mannschaften sammeln      
        for (var a=0; a<ziel.options.length; a++) {
          teams_array.push(ziel.options[a].value);
        }
      }
    
      if (anzahl_gruppe>=2){
        ziel = document.getElementById("rightSelect_2[]");
        if (ziel.options.length < anzahl_pro_gruppe){
          var fehlende_teams = anzahl_pro_gruppe-ziel.options.length; 
          text = text+"Gruppe 2 fehlen noch "+fehlende_teams+" Mannschaften.\n";
          error = true;
          error_anzahl_teams = true;
          
          color  = "#ff1f1f";
        }
        else{
          color  = "#ffffff";
        }
        ziel.style.background = color;                             
  
        //Alle Mannschaften sammeln      
        for (var a=0; a<ziel.options.length; a++) {
          teams_array.push(ziel.options[a].value);
        }
      }
      
      if (anzahl_gruppe>=3){
        ziel = document.getElementById("rightSelect_3[]");
        if (ziel.options.length < anzahl_pro_gruppe){
          var fehlende_teams = anzahl_pro_gruppe-ziel.options.length; 
          text = text+"Gruppe 3 fehlen noch "+fehlende_teams+" Mannschaften.\n";
          error = true;
          error_anzahl_teams = true;
          
          color  = "#ff1f1f";
        }
        else{
          color  = "#ffffff";
        }
        ziel.style.background = color;                             
  
        //Alle Mannschaften sammeln      
        for (var a=0; a<ziel.options.length; a++) {
          teams_array.push(ziel.options[a].value);
        }
      }
      
      if (anzahl_gruppe>=4){
        ziel = document.getElementById("rightSelect_4[]");
        if (ziel.options.length < anzahl_pro_gruppe){
          var fehlende_teams = anzahl_pro_gruppe-ziel.options.length; 
          text = text+"Gruppe 4 fehlen noch "+fehlende_teams+" Mannschaften.\n";
          error = true;
          error_anzahl_teams = true;
          
          color  = "#ff1f1f";
        }
        else{
          color  = "#ffffff";
        }
        ziel.style.background = color;                             
  
        //Alle Mannschaften sammeln      
        for (var a=0; a<ziel.options.length; a++) {
          teams_array.push(ziel.options[a].value);
        }
      }
      
      if (anzahl_gruppe>=5){
        ziel = document.getElementById("rightSelect_5[]");
        if (ziel.options.length < anzahl_pro_gruppe){
          var fehlende_teams = anzahl_pro_gruppe-ziel.options.length; 
          text = text+"Gruppe 5 fehlen noch "+fehlende_teams+" Mannschaften.\n";
          error = true;
          error_anzahl_teams = true;
          
          color  = "#ff1f1f";
        }
        else{
          color  = "#ffffff";
        }
        ziel.style.background = color;                             
  
        //Alle Mannschaften sammeln      
        for (var a=0; a<ziel.options.length; a++) {
          teams_array.push(ziel.options[a].value);
        }
      }
      
      if (anzahl_gruppe>=6){
        ziel = document.getElementById("rightSelect_6[]");
        if (ziel.options.length < anzahl_pro_gruppe){
          var fehlende_teams = anzahl_pro_gruppe-ziel.options.length; 
          text = text+"Gruppe 6 fehlen noch "+fehlende_teams+" Mannschaften.\n";
          error = true;
          error_anzahl_teams = true;
          
          color  = "#ff1f1f";
        }
        else{
          color  = "#ffffff";
        }
        ziel.style.background = color;                             
  
        //Alle Mannschaften sammeln      
        for (var a=0; a<ziel.options.length; a++) {
          teams_array.push(ziel.options[a].value);
        }
      }
      
      if (anzahl_gruppe>=7){
        ziel = document.getElementById("rightSelect_7[]");
        if (ziel.options.length < anzahl_pro_gruppe){
          var fehlende_teams = anzahl_pro_gruppe-ziel.options.length; 
          text = text+"Gruppe 7 fehlen noch "+fehlende_teams+" Mannschaften.\n";
          error = true;
          error_anzahl_teams = true;
          
          color  = "#ff1f1f";
        }
        else{
          color  = "#ffffff";
        }
        ziel.style.background = color;                             
  
        //Alle Mannschaften sammeln      
        for (var a=0; a<ziel.options.length; a++) {
          teams_array.push(ziel.options[a].value);
        }
      }
      
      if (anzahl_gruppe>=8){
        ziel = document.getElementById("rightSelect_8[]");
        if (ziel.options.length < anzahl_pro_gruppe){
          var fehlende_teams = anzahl_pro_gruppe-ziel.options.length; 
          text = text+"Gruppe 8 fehlen noch "+fehlende_teams+" Mannschaften.\n";
          error = true;
          error_anzahl_teams = true;
          
          color  = "#ff1f1f";
        }
        else{
          color  = "#ffffff";
        }
        ziel.style.background = color;                             
  
        //Alle Mannschaften sammeln      
        for (var a=0; a<ziel.options.length; a++) {
          teams_array.push(ziel.options[a].value);
        }
      }
      
      if (anzahl_gruppe>=9){
        ziel = document.getElementById("rightSelect_9[]");
        if (ziel.options.length < anzahl_pro_gruppe){
          var fehlende_teams = anzahl_pro_gruppe-ziel.options.length; 
          text = text+"Gruppe 9 fehlen noch "+fehlende_teams+" Mannschaften.\n";
          error = true;
          error_anzahl_teams = true;
          
          color  = "#ff1f1f";
        }
        else{
          color  = "#ffffff";
        }
        ziel.style.background = color;                             
  
        //Alle Mannschaften sammeln      
        for (var a=0; a<ziel.options.length; a++) {
          teams_array.push(ziel.options[a].value);
        }
      }                   
      
      if (anzahl_gruppe>=10){
        ziel = document.getElementById("rightSelect_10[]");
        if (ziel.options.length < anzahl_pro_gruppe){
          var fehlende_teams = anzahl_pro_gruppe-ziel.options.length; 
          text = text+"Gruppe 10 fehlen noch "+fehlende_teams+" Mannschaften.\n";
          error = true;
          error_anzahl_teams = true;
          
          color  = "#ff1f1f";
        }
        else{
          color  = "#ffffff";
        }
        ziel.style.background = color;                             
  
        //Alle Mannschaften sammeln      
        for (var a=0; a<ziel.options.length; a++) {
          teams_array.push(ziel.options[a].value);
        }
      }
      
      //Mannschaft doppelt zugeordnet?
      error_anzahl_teams_doppelt = false;
      for (var i=0; i<teams_array.length; i++) {
        var temp_1 = teams_array[i];
        
        for (var j=0; j<teams_array.length; j++) {
          var temp_2 = teams_array[j];
          if (j != i){
            if (temp_1 == temp_2){
              error = true;          
              error_anzahl_teams_doppelt = true;            
            }
          }
        }                   
      }                    
  
  //-----------------------------------------------
  //Funktionsende
  //-----------------------------------------------
    if (error==false){
      return true;
    }
    else{        
      if (error_anzahl_teams == true){
        text = "\nJeder Gruppe müssen "+anzahl_pro_gruppe+" Mannschaften zugeordnet werden.\n"+text;                 
      }
  
      if (error_anzahl_teams_doppelt == true){
        text = text+"\nTeams wurden in dem Turnier doppelt zugeordnet.\n";                 
      }    
      
      if (error_anzahl_teams == true || error_anzahl_teams_doppelt == true){    
        text = "Es sind Fehler aufgetreten."+text;
        alert(unescape(text));    
      }
      
      return false;
    }
  }
  
//******************************************************************************  
// KO
//******************************************************************************    
  else{
    //-----------------------------------------------
    //Mannschaften
    //-----------------------------------------------
    //Anzahl der Teilnehmer korrekt       
    text = "";
    var error_anzahl_teams = false;
    var error = false;
      
    var teams_array = [];

    ziel = document.getElementById("rightSelect_ko[]");
    if (ziel.options.length < anzahl_pro_gruppe){
      var fehlende_teams = anzahl_pro_gruppe-ziel.options.length; 
      text = text+"Es müssen noch "+fehlende_teams+" Mannschaften zugeordnet werden.\n";
      error = true;
      error_anzahl_teams = true;
          
      color  = "#ff1f1f";
    }
    else{
      color  = "#ffffff";
    }
    ziel.style.background = color;                             
        
    //Alle Mannschaften sammeln      
    for (var a=0; a<ziel.options.length; a++) {
      teams_array.push(ziel.options[a].value);
    }
  
    //Mannschaft doppelt zugeordnet?
    error_anzahl_teams_doppelt = false;
    for (var i=0; i<teams_array.length; i++) {
      var temp_1 = teams_array[i];
        
      for (var j=0; j<teams_array.length; j++) {
        var temp_2 = teams_array[j];
        if (j != i){
          if (temp_1 == temp_2){
            error = true;          
            error_anzahl_teams_doppelt = true;            
          }
        }
      }                   
    }  
  
  //-----------------------------------------------
  //Funktionsende
  //-----------------------------------------------
    if (error==false){
      return true;
    }
    else{        
      if (error_anzahl_teams == true){
        text = "\nEs müssen "+anzahl_pro_gruppe+" Mannschaften zugeordnet werden.\n"+text;                 
      }
  
      if (error_anzahl_teams_doppelt == true){
        text = text+"\nTeams wurden in dem Turnier doppelt zugeordnet.\n";                 
      }    
      
      if (error_anzahl_teams == true || error_anzahl_teams_doppelt == true){    
        text = "Es sind Fehler aufgetreten."+text;
        alert(unescape(text));    
      }
      
      return false;
    }  
  }
}

function checkButtons( name_left, name_right )
{	
  btnLeft  = document.getElementById( "btnLeft2Right" );
  btnRight = document.getElementById( "btnRight2Left" );

  left  = document.getElementById(name_left);
  right = document.getElementById(name_right);

  left_selIndex  = left.selectedIndex;
  right_selIndex = right.selectedIndex;
  
  left_value     = left.value;
  right_value    = right.value;  
  
  if (left_selIndex == '-1' && left_value != ""){
    btnLeft.disabled = true;   
  }
  else{
    btnLeft.disabled = false;     
  }
  
  if (right_selIndex == '-1' && right_value != ""){
    btnRight.disabled = true;   
  }
  else{
    btnRight.disabled = false;     
  }  
}

function copyMarkedValue(selNr, name_left, name_right, hidden_left, hidden_right) 
{
  //Formular markieren, dass etwas geändert wurde. 
  field_changed = document.getElementById("field_changed"); 
  field_changed.value = "X";   

  //PFADE BESTIMMEN
  if(selNr==1)
  {
    ToRoot = document.getElementById(name_right);
    FromRoot = document.getElementById(name_left);
  } 
  else {
    FromRoot = document.getElementById(name_right);
    ToRoot = document.getElementById(name_left);
  }
    
//  hidden_left  = document.getElementById(hidden_left);  
//  hidden_right = document.getElementById(hidden_right);      
    
  //DATEN DER SELEKTION
  selValue = FromRoot.value;  
  selIndex = FromRoot.selectedIndex;
  
  if (selIndex >= 0){
  
    selText  = FromRoot.options[selIndex].text;
  
    if(selNr==1 && ToRoot.options.length == ToRoot.size){}
    else{
      if (selValue != ""  ){  
        //WERT AUS 'FROM' LÖSCHEN
        FromRoot.remove(selIndex);
        FromRoot.selectedIndex = 0;
        
        //WERT ZU 'TO' HINZUFÜGEN
        ToRoot.options[ToRoot.length] = new Option(selText,selValue,true);
  	    //hidden_left.innerHTML = selValue;      
      }
    }
  }
}

function mark_all_form(anzahl_gruppe, turnier_art){
  if (turnier_art == "gruppe"){
    
    if (anzahl_gruppe>=1){
      ziel = document.getElementById("rightSelect_1[]");
    
      for (var i=0; i<ziel.options.length; i++) {
        ziel.options[i].selected = true;
      }
    }
  
    if (anzahl_gruppe>=2){
      ziel = document.getElementById("rightSelect_2[]");
    
      for (var i=0; i<ziel.options.length; i++) {
        ziel.options[i].selected = true;
      }
    }
    
    if (anzahl_gruppe>=3){
      ziel = document.getElementById("rightSelect_3[]");
    
      for (var i=0; i<ziel.options.length; i++) {
        ziel.options[i].selected = true;
      }
    }
    
    if (anzahl_gruppe>=4){
      ziel = document.getElementById("rightSelect_4[]");
    
      for (var i=0; i<ziel.options.length; i++) {
        ziel.options[i].selected = true;
      }
    }
    
    if (anzahl_gruppe>=5){
      ziel = document.getElementById("rightSelect_5[]");
    
      for (var i=0; i<ziel.options.length; i++) {
        ziel.options[i].selected = true;
      }
    }
    
    if (anzahl_gruppe>=6){
      ziel = document.getElementById("rightSelect_6[]");
    
      for (var i=0; i<ziel.options.length; i++) {
        ziel.options[i].selected = true;
      }
    }
    
    if (anzahl_gruppe>=7){
      ziel = document.getElementById("rightSelect_7[]");
    
      for (var i=0; i<ziel.options.length; i++) {
        ziel.options[i].selected = true;
      }
    }
    
    if (anzahl_gruppe>=8){
      ziel = document.getElementById("rightSelect_8[]");
    
      for (var i=0; i<ziel.options.length; i++) {
        ziel.options[i].selected = true;
      }
    }
    
    if (anzahl_gruppe>=9){
      ziel = document.getElementById("rightSelect_9[]");
    
      for (var i=0; i<ziel.options.length; i++) {
        ziel.options[i].selected = true;
      }
    }                    
    
    if (anzahl_gruppe>=10){
      ziel = document.getElementById("rightSelect_10[]");
    
      for (var i=0; i<ziel.options.length; i++) {
        ziel.options[i].selected = true;
      }
    } 
  }
  
  else{
    ziel = document.getElementById("rightSelect_ko[]");
    
    for (var i=0; i<ziel.options.length; i++) {
      ziel.options[i].selected = true;
    }  
  }                      
} 

function mark_all_form_ko(){
  ziel = document.getElementById("rightSelect_ko[]");
  
  for (var i=0; i<ziel.options.length; i++) {
    ziel.options[i].selected = true;
  }
}

//******************************************************************************
//Schritt 3 ********************************************************************
//******************************************************************************
function check_schritt3(max_partien)
{ 
  var error  = false;
  var text   = "";
 
  for(x=0; x<max_partien ; x+=1){
  
 //******************************************************************************  
// Datum
//******************************************************************************    
    var name   = "dat"+x;
    var ziel   = document.getElementsByName(name);    
    
    tmp = x+1;

    var error_dat = false;
    var error_uhr = false;

    //Datum leer?    
    var temp;
    temp = ziel[0].value.replace(/ /gi,"");
    if(temp.length <= 0) {   
    //if (ziel[0].value == ""){
      error = true;
      
      text = text+"Für Partie "+tmp+" wurde kein Datum angegeben.\n";
      error_dat = true;
          
      color  = "#ff1f1f";
    }

    //Datum korrekt?    
    if (error_dat == false){
      if (check_date(ziel[0].value) == false){
        error = true;
        
        text = text+"Für Partie "+tmp+" ist das Format für die Uhrzeit nicht korrekt.\n";
        error_dat = true;
            
        color  = "#ff1f1f";    
      }      
      else{
          color  = "#ffffff";
      }
      
      ziel[0].style.background = color;
    }

//******************************************************************************  
// Uhrzeit
//******************************************************************************
    var name    = "uhr"+x;
    var ziel   = document.getElementsByName(name);    
    
    tmp = x+1;

    //Uhrzeit leer?    
    var temp;
    temp = ziel[0].value.replace(/ /gi,"");
    if(temp.length <= 0){    
    //if (ziel[0].value == ""){
      error = true;
      
      text = text+"Für Partie "+tmp+" wurde keine Uhrzeit angegeben.\n";
      error_uhr = true;
          
      color  = "#ff1f1f";
    }
    
    //Uhrzeit korrekt?    
    if (error_uhr == false){
      if (check_time(ziel[0].value) == false){
        error = true;
        
        text = text+"Für Partie "+tmp+" ist das Format für die Uhrzeit nicht korrekt.\n";
        error_uhr = true;
            
        color  = "#ff1f1f";    
      }
  
      else{
        color  = "#ffffff";
      }
      ziel[0].style.background = color;
    }

//******************************************************************************  
// Liegt das Datum in der Vergangenheit?
//******************************************************************************    
    var name   = "dat"+x;
    var dat    = document.getElementsByName(name);    

    var name    = "uhr"+x;
    var uhr     = document.getElementsByName(name);    
    
    tmp = x+1;

    var error_dat = false;
    var error_uhr = false;

    //Datum korrekt?    
    if (error_dat == false && error_uhr == false){
      var date = new Date();  
      var dd   = date.getDate();  
      if (dd < 10){
        dd = "0"+dd;
      } 
      var mm   = date.getMonth() + 1;
      if (mm < 10){
        mm = "0"+mm;
      } 
      var yy   = date.getFullYear();  
      var HH   = date.getHours();  
      var MM   = date.getMinutes();  
      var akt_dat = yy+mm+dd+HH+MM;

      var dat_array = dat[0].value.split(".");
      var uhr_array = uhr[0].value.split(":");      
      var eing_dat  = dat_array[2]+dat_array[1]+dat_array[0]+uhr_array[0]+uhr_array[1];
    
      if (eing_dat < akt_dat){
        error = true;
        
        text = text+"Für Partie "+tmp+" liegt das Datum in der Vergangeheit.\n";
        error_dat = true;
        error_uhr = true;
            
        color  = "#ff1f1f";    
      }      
      else{
          color  = "#ffffff";
      }
      
      dat[0].style.background = color;
      uhr[0].style.background = color;
    }
    
//******************************************************************************  
// Mannschaften
//******************************************************************************    
    var tmp             = "partie_runde"+x;
    var partie_runde    = document.getElementsByName(tmp);

    var tmp             = "partie_gruppe"+x;
    var partie_gruppe   = document.getElementsByName(tmp);

    var tmp             = "gruppen_turnier"+x;
    var gruppen_turnier = document.getElementsByName(tmp);

    var error_heim = false;
    var error_ausw = false;

    if ( (partie_gruppe[0].value != "") ||   //Gruppe
         (partie_runde[0].value == "1" && gruppen_turnier[0].value == "") ){    //KO

      //Heim befüllt? 
      var name    = "verein_heim_id"+x;
      var heim    = document.getElementsByName(name);    
      
      tmp = x+1;
  
      if (heim[0].value == ""){
        error = true;
        error_heim = true;        
        
        text = text+"Für Partie "+tmp+" wurde keine Heimmannschaft angegeben.\n";
        error = true;
            
        color  = "#ff1f1f";
      }
      else{
        color  = "#ffffff";
      }
      heim[0].style.background = color;
      
      //Auswärts befüllt?    
      var name    = "verein_auswaerts_id"+x;
      var ausw    = document.getElementsByName(name);    
      
      tmp = x+1;
  
      if (ausw[0].value == ""){
        error = true;
        error_ausw = true;
        
        text = text+"Für Partie "+tmp+" wurde keine Auswärtsmannschaft angegeben.\n";
        error = true;
            
        color  = "#ff1f1f";
      }
      else{
        color  = "#ffffff";
      }
      ausw[0].style.background = color;
      
      //Heim <> Auswärts?    
      if (ausw[0].value == heim[0].value && error_ausw == false && error_heim == false){
        error = true;
        
        text = text+"Für Partie "+tmp+" wurde zweimal die gleiche Mannschaft zugeordnet.\n";
        error = true;
            
        color  = "#ff1f1f";
      }
      else{
        color  = "#ffffff";
      }
      if (error_ausw == false && error_heim == false){
        heim[0].style.background = color;                 
        ausw[0].style.background = color;          
      }
    }   
  }
  
//******************************************************************************  
// Fehlerausgabe
//******************************************************************************      
  if (error==false){
    return true;
  }
  else{            
    text = "Es sind Fehler aufgetreten.\n"+text;
    alert(unescape(text));    
  }
      
  return false;
}

function check_time(time)
{
  var parts = time.split(':');
  if (parts.length != 2 ||
      parts[0]    <  0 ||
      parts[0]    > 23 ||
      parts[1]    <  0 ||
      parts[1]    > 59){
    return false;    
  }

  return true;
}

function check_date (datum)
{
   //(Schritt 1) Fehlerbehandlung
   if (!datum) return false;
   datum=datum.toString();
  
   //(Schritt 2) Aufspaltung des Datums
   datum=datum.split(".");
   if (datum.length!=3) return false;
  
   //(Schritt 3) Entfernung der fuehrenden Nullen und Anpassung des Monats
   datum[0]=parseInt(datum[0],10);
   datum[1]=parseInt(datum[1],10)-1;
  
   //(Schritt 4) Behandlung Jahr nur zweistellig
   if (datum[2].length==2) datum[2]="20"+datum[2];
  
   //(Schritt 5) Erzeugung eines neuen Dateobjektes
   var kontrolldatum=new Date(datum[2],datum[1],datum[0]);
  
   //(Schritt 6) Vergleich, ob das eingegebene Datum gleich dem JS-Datum ist
   if (kontrolldatum.getDate()==datum[0] && kontrolldatum.getMonth()==datum[1] && kontrolldatum.getFullYear()==datum[2])
       return true; else return false;

}

function check_partien(max_partien)
{ 
  var error  = false;
  var text   = "";
 
  for(x=0; x<max_partien ; x+=1){
  
 //******************************************************************************  
// Datum
//******************************************************************************    
    var name   = "dat"+x;
    var ziel   = document.getElementsByName(name);    
    
    tmp = x+1;

    var error_dat = false;
    var error_uhr = false;

    //Datum leer?    
    var temp;
    temp = ziel[0].value.replace(/ /gi,"");
    if(temp.length <= 0){    
    //if (ziel[0].value == ""){
      error = true;
      
      text = text+"Für Partie "+tmp+" wurde kein Datum angegeben.\n";
      error = true;
          
      color  = "#ff1f1f";
    }

    //Datum korrekt?    
    if (error_dat == false){
      if (check_date(ziel[0].value) == false){
        error = true;
        
        text = text+"Für Partie "+tmp+" ist das Format für das Datum nicht korrekt.\n";
        error = true;
            
        color  = "#ff1f1f";    
      }
      
      else{
        color  = "#ffffff";
      }
      ziel[0].style.background = color;
    }

//******************************************************************************  
// Uhrzeit
//******************************************************************************
    var name    = "uhr"+x;
    var ziel   = document.getElementsByName(name);    
    
    tmp = x+1;

    //Uhrzeit leer?    
    var temp;
    temp = ziel[0].value.replace(/ /gi,"");
    if(temp.length <= 0){        
//    if (ziel[0].value == ""){
      error = true;
      
      text = text+"Für Partie "+tmp+" wurde keine Uhrzeit angegeben.\n";
      error = true;
          
      color  = "#ff1f1f";
    }
    
    //Uhrzeit korrekt?    
    if (error_uhr == false){
      if (check_time(ziel[0].value) == false){
        error = true;
        
        text = text+"Für Partie "+tmp+" ist das Format für die Uhrzeit nicht korrekt.\n";
        error = true;
            
        color  = "#ff1f1f";    
      }
  
      else{
        color  = "#ffffff";
      }
      ziel[0].style.background = color;
    }

//******************************************************************************  
// Liegt das Datum in der Vergangenheit?
//******************************************************************************    
    var name   = "dat"+x;
    var dat    = document.getElementsByName(name);    

    var name    = "uhr"+x;
    var uhr     = document.getElementsByName(name);    
    
    tmp = x+1;

    var error_dat = false;
    var error_uhr = false;

    //Datum korrekt?    
    if (error_dat == false && error_uhr == false){
      var date = new Date();  
      var dd   = date.getDate();  
      if (dd < 10){
        dd = "0"+dd;
      } 
      var mm   = date.getMonth() + 1;
      if (mm < 10){
        mm = "0"+mm;
      } 
      var yy   = date.getFullYear();  
      var HH   = date.getHours();  
      var MM   = date.getMinutes();  
      var akt_dat = yy+mm+dd+HH+MM;

      var dat_array = dat[0].value.split(".");
      var uhr_array = uhr[0].value.split(":");      
      var eing_dat  = dat_array[2]+dat_array[1]+dat_array[0]+uhr_array[0]+uhr_array[1];
    
      if (eing_dat < akt_dat){
        error = true;
        
        text = text+"Für Partie "+tmp+" liegt das Datum in der Vergangeheit.\n";
        error_dat = true;
        error_uhr = true;
            
        color  = "#ff1f1f";    
      }      
      else{
          color  = "#ffffff";
      }
      
      dat[0].style.background = color;
      uhr[0].style.background = color;
    }
    
//******************************************************************************  
// Mannschaften
//******************************************************************************    

    var tmp             = "readonly"+x;
    var readonly        = document.getElementsByName(tmp);

    var error_heim = false;
    var error_ausw = false;

    //Heim befüllt? 
    var name    = "verein_heim_id"+x;
    var heim    = document.getElementsByName(name);    
      
    tmp = x+1;
  
    if (readonly[0].value == ""){
      if (heim[0].value == ""){
        error = true;
        error_heim = true;        
          
        text = text+"Für Partie "+tmp+" wurde keine Heimmannschaft angegeben.\n";
        error = true;
              
        color  = "#ff1f1f";
      }
      else{
        color  = "#ffffff";
      }
      heim[0].style.background = color;
        
      //Auswärts befüllt?    
      var name    = "verein_ausw_id"+x;
      var ausw    = document.getElementsByName(name);    
        
      tmp = x+1;
    
      if (ausw[0].value == ""){
        error = true;
        error_ausw = true;
          
        text = text+"Für Partie "+tmp+" wurde keine Auswärtsmannschaft angegeben.\n";
        error = true;
              
        color  = "#ff1f1f";
      }
      else{
        color  = "#ffffff";
      }
      ausw[0].style.background = color;
        
      //Heim <> Auswärts?    
      if (ausw[0].value == heim[0].value && error_ausw == false && error_heim == false){
        error = true;
          
        text = text+"Für Partie "+tmp+" wurde zweimal die gleiche Mannschaft zugeordnet.\n";
        error = true;
              
        color  = "#ff1f1f";
      }
      else{
        color  = "#ffffff";
      }
      if (error_ausw == false && error_heim == false){
        heim[0].style.background = color;                 
        ausw[0].style.background = color;          
      }
    }
  }
  
//******************************************************************************  
// Fehlerausgabe
//******************************************************************************      
  if (error==false){
    return true;
  }
  else{            
    text = "Es sind Fehler aufgetreten.\n"+text;
    alert(unescape(text));    
  }
      
  return false;
}

function bool_zahl( zahl )
{
    if (zahl >= '0' && zahl <= '99' && zahl != '00'){
      return true;
    }
    else{
      return false;
    }
}

function check_ergebnisse (max_partien)
{ 
  var error  = false;
  var text   = "";
 
  for(x=0; x<max_partien ; x+=1){

    var tmp             = "readonly"+x;
    var readonly        = document.getElementsByName(tmp);
  
    if (readonly[0].value == ""){
  
      tmp = x+1;
        
      var name   = "tore_auswaerts"+x;
      var ausw   = document.getElementsByName(name);        
        
      var name   = "tore_heim"+x;
      var heim   = document.getElementsByName(name);        
        
   //******************************************************************************  
  // Tore Heim
  //******************************************************************************       
      //Wert korrekt?    
      if (heim[0].value != "" && bool_zahl(heim[0].value) == false){
        text = text+"Für Partie "+tmp+" wurde bei den Heimtoren keine Zahl von 0 bis 99 angegeben.\n";
        error = true;
        color  = "#ff1f1f";    
      } 
      else{
        if (heim[0].value == "" && ausw[0].value != ""){
          text = text+"Für Partie "+tmp+" wurden die Auswärtstore angegeben, aber nicht die Heimtore.\n";
          error = true;
                  
          color  = "#ff1f1f";    
        }
            
        else{
          color  = "#ffffff";
        }
      }
      heim[0].style.background = color;
      
  
  //******************************************************************************  
  // Tore Auswärts
  //******************************************************************************   
      //Wert korrekt?    
      if (ausw[0].value != "" && bool_zahl(ausw[0].value) == false){        
        text = text+"Für Partie "+tmp+" wurde bei den Auswärtstoren keine Zahl von 0 bis 99 angegeben.\n";
        error = true;
        color  = "#ff1f1f";    
      }
      else{
        if (heim[0].value != "" && ausw[0].value == ""){
          text = text+"Für Partie "+tmp+" wurden die Heimtore angegeben, aber nicht die Auswärtstore.\n";
          error = true;        
          color  = "#ff1f1f";    
        }
        else{
          color  = "#ffffff";
        }
      }
      ausw[0].style.background = color;
    }
  }

//******************************************************************************  
// Fehlerausgabe
//******************************************************************************      
  if (error==false){
    return true;
  }
  else{            
    text = "Es sind Fehler aufgetreten.\n"+text;
    alert(unescape(text));    
  }
      
  return false;
}
