function startlist_overview(target,date) {
  startlist_gid=-1;
  if (date!=0) result_date=date; else result_date=0;
  var target=document.getElementById(target);

  var httpRequest;
  if (window.XMLHttpRequest) { // Mozilla, Safari, ...
      httpRequest = new XMLHttpRequest();
      if (httpRequest.overrideMimeType) {
          httpRequest.overrideMimeType('text/xml');
      }
  }
  else if (window.ActiveXObject) { // IE
      try {
          httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
          }
          catch (e) {
                     try {
                          httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
                         }
                       catch (e) {}
                    }
                                 }

  if (!httpRequest) {
      alert('Giving up :( Cannot create an XMLHTTP instance');
      return false;
  }

  var url = "startlist/startlist.php?date="+date+"&la="+la;
//  document.getElementById('ac_list').innerHTML=url;
  httpRequest.onreadystatechange = function() { get_startlist_overview(httpRequest,target,date); };
  httpRequest.open('GET', url, true);
  httpRequest.send('');
}


function get_startlist_overview(httpRequest,target,date) {
  if (httpRequest.readyState == 4)
   {
     if (httpRequest.status == 200)
      {
        var xml = httpRequest.responseXML;
        target.innerHTML='';
//      th.colSpan="5";
        startlist_date=date;
        data=xml.getElementsByTagName("section");
        var nsection=data.length;
        var day=get_text(0,data[0].getElementsByTagName("dayofweek")[0].firstChild.data);
        var date=data[0].getElementsByTagName("date")[0].firstChild.data;
        var linkdate=data[0].getElementsByTagName("linkdate")[0].firstChild.data;
        title=get_text(11,5)+" - "+day+", "+date;
        add_title(target,title,"startlist",opt,0);
        var classes=[51,41,31,21,11];
        var classnames=["S","A","B","C","D"];
        for (isec=0;isec<nsection;isec++)
         {
           var section=data[isec].getElementsByTagName("sectiontype")[0].firstChild.data;
           var sectionname=get_text(10,section);
           add_subtitle(target,sectionname,"startlist",opt,0);
           var ngroups=data[isec].getElementsByTagName("ngroups")[0].firstChild.data;
           var current_group=data[isec].getElementsByTagName("group")[0].firstChild.data;
           iresult=0;
           nresult=data[isec].getElementsByTagName("tournament").length;
           
           var table=document.createElement("table");
           var tbody=document.createElement("tbody");
           table.className='results_overview';
           
           var tr=document.createElement("tr");
           for (iclass=0;iclass<classes.length;iclass++)
            {
              var th=document.createElement("th");
              th.innerHTML=classnames[iclass]+"-"+get_text(10,3);
              th.style.fontWeight='bold';
              th.style.borderLeft='0px';
              tr.appendChild(th);
              if (iclass==(classes.length-1)) th.style.borderRight='0px';
            }
           tbody.appendChild(tr);
           for (igroup=0;igroup<ngroups;igroup++)
            {              
              var tr=document.createElement("tr");
              for (iclass=0;iclass<classes.length;iclass++)
               {
                 var td=document.createElement("td");
                 //            alert(igroup+" "+iclass+" "+classes[iclass]+" "+data[isec].getElementsByTagName("class")[iresult].firstChild.data);
                 if (iclass==(classes.length-1))
                  {
                    td.style.borderRight='0px';
                  }
                 if (iresult>-1)
                  {
                    
                    if (classes[iclass]==data[isec].getElementsByTagName("class")[iresult].firstChild.data)
                     {
                       td.innerHTML=data[isec].getElementsByTagName("name")[iresult].firstChild.data;
                       td.style.cursor='pointer';
                       var gid=data[isec].getElementsByTagName("group")[iresult].firstChild.data;
                       var cid=data[isec].getElementsByTagName("class")[iresult].firstChild.data;
                       var tid=section;
                       var functext="startlist('"+target.id+"','"+linkdate+"',"+gid+","+cid+","+tid+");";
                       var func1=new Function(functext);
                       td.onclick=func1;
                       var functext="this.style.fontWeight='bold';";
                       var func2=new Function(functext);
                       td.onmouseover=func2;
                       var functext="this.style.fontWeight='normal';";
                       var func3=new Function(functext);
                       td.onmouseout=func3;
                       iresult+=1;
                       if (iresult==nresult) {iresult=-1;}
                     }
                  }
                 tr.appendChild(td);
               }
              tbody.appendChild(tr);
            }
           table.appendChild(tbody);
           target.appendChild(table);
         }
        var div=document.createElement("div");
        div.style.fontSize='12px';
        div.style.cursor='pointer';
        div.innerHTML=">>&nbsp;"+get_text(11,4);
        var functext="link(0,0);";
        var func1=new Function(functext);
        div.onclick=func1;
        var functext="this.style.fontWeight='bold';";
        var func2=new Function(functext);
        div.onmouseover=func2;
        var functext="this.style.fontWeight='normal';";
        var func3=new Function(functext);
        div.onmouseout=func3;
        target.appendChild(div);
      }
   } else
   {
//     alert('There was a problem with the request.');
   }
}

function startlist(target,date,gid,cid,tid) {
  startlist_gid=gid;
  startlist_cid=cid;
  startlist_tid=tid;
  var target=document.getElementById(target);
  
  var httpRequest;
  if (window.XMLHttpRequest) { // Mozilla, Safari, ...
    httpRequest = new XMLHttpRequest();
    if (httpRequest.overrideMimeType) {
      httpRequest.overrideMimeType('text/xml');
    }
  }
  else if (window.ActiveXObject) { // IE
    try {
      httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e) {
      try {
        httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch (e) {}
    }
  }
  
  if (!httpRequest) {
    alert('Giving up :( Cannot create an XMLHTTP instance');
    return false;
  }
  var url = "startlist/startlist.php?date="+date+"&g="+gid+"&k="+cid+"&a="+tid+"&la="+la;
  httpRequest.onreadystatechange = function() { get_startlist(httpRequest,target,date); };
  httpRequest.open('GET', url, true);
  httpRequest.send('');
}

function get_startlist(httpRequest,target,date) {
  if (httpRequest.readyState == 4)
   {
     if (httpRequest.status == 200)
      {
        var xml = httpRequest.responseXML;
        target.innerHTML='';
        result_date=date;
        data=xml.getElementsByTagName("info");
        title=get_text(10,0);
        add_title(target,data[0].getElementsByTagName("class")[0].firstChild.data+" - "+data[0].getElementsByTagName("date")[0].firstChild.data,"results",opt,0);

// Add starters
        
        rwidth=760;
        
        var subtitle=get_text(11,0);
        add_subtitle(target,subtitle,"startlist",0,0);

        nc=xml.getElementsByTagName("couple").length;

        var tbody=document.createElement("tbody");
        var table=document.createElement("table");
        table.className='results_list';
        table.id='startlist_text';
        table.style.width=rwidth+'px';

        var tr=document.createElement("tr");
        var th=document.createElement("th");
        th.innerHTML=get_text(10,12)+": "+nc;
        th.style.paddingLeft="5px";
        th.style.paddingBottom="5px";
        th.style.textAlign="left";
        tr.appendChild(th);

        var th=document.createElement("th");

        var functext="startlist_overview('"+target.id+"','"+date+"');";
        var func1=new Function(functext);
        th.onclick=func1;
        th.style.cursor="pointer";
        th.innerHTML=">&nbsp;"+get_text(11,3)
        th.style.paddingRight="5px";
        th.style.paddingBottom="5px";
        th.style.textAlign="right";
        tr.appendChild(th);
        tbody.appendChild(tr);

        var tr=document.createElement("tr");
        var th=document.createElement("th");
        th.innerHTML=get_text(11,1);
        th.style.borderLeft='1px solid #f4da9f';
        th.style.width="50%";        
        th.style.paddingLeft="25px";
        th.style.textAlign="left";
        th.className='marks';
        tr.appendChild(th);
        var th=document.createElement("th");
        th.innerHTML=get_text(11,2);
        th.style.borderLeft='1px solid #f4da9f';
        th.style.paddingLeft="25px";
        th.style.textAlign="left";
        th.style.width="50%";        
        th.className='marks';
        th.style.borderRight='1px solid #f4da9f';
        tr.appendChild(th);
        tbody.appendChild(tr);

        for (ic=0;ic<nc;ic++)
         {
           data=xml.getElementsByTagName("couple")[ic]
           name=data.getElementsByTagName("name")[0].firstChild.data;
           verein=data.getElementsByTagName("club")[0].firstChild.data;
           ltv=data.getElementsByTagName("ltv")[0].firstChild.data;
           var tr=document.createElement("tr");
           var td=document.createElement("td");
           tr.className='normal';
           td.innerHTML=name;
           td.className='name';
           if (ic==(xml.getElementsByTagName("couple").length-1)) td.style.borderBottom='2px solid #f4da9f';
           td.style.width="50%";        
           tr.appendChild(td);
           var td=document.createElement("td");
           td.innerHTML="<i>"+verein+" ("+ltv+")</i>";
           td.style.borderRight='1px solid #f4da9f';
           if (ic==(xml.getElementsByTagName("couple").length-1)) td.style.borderBottom='2px solid #f4da9f';
           td.style.width="50%";
           td.className='name';
           var functext="this.className='highlight';";
           var func1=new Function(functext);
           tr.onmouseover=func1;
           var functext="this.className='normal';";
           var func2=new Function(functext);
           tr.onmouseout=func2;        
           tr.appendChild(td);
           tbody.appendChild(tr);           
         }
        

        table.appendChild(tbody);
        target.appendChild(table);
      } else
      {
        alert('There was a problem with the request.');
      }
   }
}

