function CheckAll( myForm )
  {
	if( myForm)
    {
		var c = myForm.ALL.checked;
    if( ! c )
      c = myForm.ALL.checked = false;
    }

	for( var i = 0; i < myForm.elements.length; i++ )
    {
		var e = myForm.elements[ i];
    if(( e.checked != c) && ( e.type == "checkbox"))
      e.checked = c;
	  }
  }

function getXMLObject()
  {
  var xmlHttp = null;

  if( typeof XMLHttpRequest != 'undefined' )
    xmlHttp = new XMLHttpRequest();
  if( ! xmlHttp )
    {
    try
      {
      xmlHttp = new ActiveXObject( "Msxml2.XMLHTTP" );
      }
    catch(e)
      {
      try
        {
        xmlHttp  = new ActiveXObject("Microsoft.XMLHTTP");
        }
      catch(e)
        {
        xmlHttp  = null;
        }
      }
    }
  return xmlHttp;
  }

function countdown()
  {
  startDatum = new Date();

  if( startDatum < zielDatum )
    {
    var jahre=0, monate=0, tage=0, stunden=0, minuten=0, sekunden=0;

    var sekunden = Math.ceil( ( zielDatum.getTime() - startDatum.getTime() ) / 1000 );
    var tage = Math.floor( sekunden / (24*60*60) );
    sekunden = sekunden - ( tage * 24*60*60 );
    var stunden = Math.floor( sekunden / (60*60) );
    sekunden = sekunden - ( stunden * 60*60 );
    var minuten = Math.floor( sekunden / 60 );
    sekunden = sekunden - ( minuten * 60 );

    if( jahre == 0 )
      jahre = '';
    else
      (jahre!=1)?jahre=jahre+" Jahre,  ":jahre=jahre+" Jahr,  ";
    if( monate == 0 )
      monate = '';
    else
      (monate!=1)?monate=monate+" Monate,  ":monate=monate+" Monat,  ";
    if( tage == 0 )
      tage = '';
    else
      (tage!=1)?tage=tage+" d ":tage=tage+" d ";
    if( stunden == 0 )
      stunden = '';
    else
      (stunden!=1)?stunden=stunden+" h ":stunden=stunden+" h ";
    if( minuten == 0 )
      minuten = '';
    else
      (minuten!=1)?minuten=minuten+" m ":minuten=minuten+" m ";
    if(sekunden<10) sekunden="0"+sekunden;
    (sekunden!=1)?sekunden=sekunden+" s.":sekunden=sekunden+" s.";

    document.getElementById('countdownlabel').innerHTML = "Noch " +jahre + monate + tage + stunden + minuten + sekunden;
    setTimeout('countdown()',200);
    }
  }

var SpeedDatingStartDate;
var SpeedDatingEndDate;
function countdownSpeedDate()
  {
  jetzt = new Date();

  if( jetzt < SpeedDatingEndDate && jetzt >= SpeedDatingStartDate )
    {
    var minuten=0, sekunden=0;

    minuten=Math.floor((SpeedDatingEndDate-jetzt)/(60*1000));
    jetzt.setTime(jetzt.getTime()+minuten*60*1000);

    sekunden=Math.floor((SpeedDatingEndDate-jetzt)/1000);

    if( sekunden < 10 )
      sekunden = "0" + sekunden;

    document.getElementById('speed_dating_countdown_timer').innerHTML = minuten + ':' + sekunden;
    setTimeout( 'countdownSpeedDate()',200 );
    }
 else
    {
    window.location.reload();
    }
  }

function requestPartner()
  {
  var result = doRequest( '/appgen/?cl=meetya&cp=user&cmd=request_partner' );

  if( result.indexOf("stand_by") != -1 )
    {
    var parts = result.split(";");
    var position = parts[1];
    
    if( position > 0 && position < 15 )
      {
      document.getElementById("waiting_queue_position").innerHTML = position;
      document.getElementById("img_waiting_queue").src = '/img/queue/'+position+'.png';
      }
    else
      {
      document.getElementById("waiting_queue_position").innerHTML = '';
      document.getElementById("img_waiting_queue").src = '/img/queue/15.png';
      }

    window.setTimeout( "requestPartner()", 2500 );
    }
  else if( result == 'closed' )
    {
    var dating_screen = doRequest( '/appgen/?cl=meetya&cp=user&cmd=show_dating_closed' );
    document.getElementById("main_window").innerHTML = dating_screen;
    }
  else if( result.indexOf("room=") != -1 && result.length < 50 )
    {
    var dating_screen = doRequest( '/appgen/?cl=meetya&cp=user&cmd=show_dating_screen&' + result );

    document.getElementById("main_window").innerHTML = dating_screen;
    document.getElementById("speed_dating_countdown").style.visibility = "visible";
    SpeedDatingStartDate = new Date();
    SpeedDatingEndDate = new Date();
    SpeedDatingEndDate.setMinutes( SpeedDatingStartDate.getMinutes() + 7 );
    countdownSpeedDate();
    }
  else
    {
    document.getElementById("main_window").innerHTML = "Es ist ein Fehler aufgetreten: <br />\n" + result;
    }
  }

function requestScheduler( sch_id )
  {
  var result = doRequest( '/appgen/?cl=meetya&cp=user&cmd=request_scheduler&sch_id=' + sch_id );

  if( result.substring(0, 8) == 'stand_by' )
    {
    var parts = result.split(";");
    var position = parts[1];
    
    if( position > 0 && position < 15 )
      {
      document.getElementById("waiting_queue_position").innerHTML = position;
      document.getElementById("img_waiting_queue").src = '/img/queue/'+position+'.png';
      }
    else
      {
      document.getElementById("waiting_queue_position").innerHTML = '';
      document.getElementById("img_waiting_queue").src = '/img/queue/15.png';
      }

    window.setTimeout( "requestScheduler(" + sch_id + " )", 2500 );
    }
  else if( result == 'closed' )
    {
    var dating_screen = doRequest( '/appgen/?cl=meetya&cp=user&cmd=show_scheduler_closed' );
    document.getElementById("main_window").innerHTML = dating_screen;
    }
  else if( result == 'invalid_scheduler' )
    {
    var dating_screen = doRequest( '/appgen/?cl=meetya&cp=user&cmd=show_invalid_scheduler' );
    document.getElementById("main_window").innerHTML = dating_screen;
    }
  else
    {
    var dating_screen = doRequest( '/appgen/?cl=meetya&cp=user&cmd=show_scheduler_screen&' + result );

    document.getElementById("main_window").innerHTML = dating_screen;
    document.getElementById("speed_dating_countdown").style.visibility = "visible";
    SpeedDatingStartDate = new Date();
    SpeedDatingEndDate = new Date();
    SpeedDatingEndDate.setMinutes( SpeedDatingStartDate.getMinutes() + 7 );
    countdownSpeedDate();
    }
  }

function doAjaxRequest( url, key )
  {
  var xmlHttp = getXMLObject();
  if( xmlHttp )
    {
    xmlHttp.open( 'GET', url, true );
    xmlHttp.onreadystatechange = function ()
      {
      if( xmlHttp.readyState == 4 )
        {
        try
          {
          if( xmlHttp.status == 200 )
            {
            switch( key )
              {
              case 'load_date':
                document.getElementById("main_window").innerHTML = xmlHttp.responseText;
                break;
              case 'bookmark_user':
                document.getElementById("bookmark_user").innerHTML = xmlHttp.responseText;
                break;
              }
            }
          }
        catch(e)
          {
          xmlHttp  = null;
          }
        }
      };
    xmlHttp.send( null );
    }
  }

function doRequest( url )
  {
  var xmlHttp = getXMLObject();
  var response = "";

  if( null != xmlHttp )
    {
    xmlHttp.open( "GET", url, false );
    xmlHttp.setRequestHeader( "Cache-Control", "no-cache" );
    xmlHttp.send( null )
    if( 200 == xmlHttp.status )
      response = xmlHttp.responseText;
    }

  return response;
  }

function mailAddress( pt1, pt2, pt3 )
  {
  document.write( '<a href="mailto:'+pt1+'@'+pt2+'.'+pt3+'" onfocus="blur();">' + pt1 + '@' + pt2 + '.' + pt3 + '</a>' );
  }