var chatmembers=false;
var chatmembers2=false;
var chatmembers3=false;

var NTP = {
  cookieShelfLife : 7, //7 days
  requiredResponses : 2,
  serverTimes : new Array, 
  serverUrl : "/gettime.php",
  resyncTime : 10, // minutes
  justSynced : false,
  sync : function(){
    // if the time was set within the last x minutes; ignore this set request; time was synce recently enough
	 var offset = NTP.getCookie("NTPClockOffset");
	 if (offset){try{
	 var t = offset.split("|")[1];
	 var d = NTP.fixTime()-parseInt(t);
	 if (d < (1000 * 60 * NTP.resyncTime)){return false;} // x minutes; return==skip
	 }catch(e){}
     }
     NTP.serverTimes = new Array;
     NTP.getServerTime();
  },
  getNow : function(){
      var date = new Date();
      return (date.getTime());
  },
  parseServerResponse : function(data){
     var offset = parseInt(data.responseText.split(":")[0]);
     var origtime = parseInt(data.responseText.split(":")[1]);
     var delay = ((NTP.getNow() - origtime) / 2);
     offset = offset - delay;
     NTP.serverTimes.push(offset);
     
     // if we have enough responces set cookie
     if (NTP.serverTimes.length >= NTP.requiredResponses){
        // build average
	var average = 0;
	var i=0;
	for (i=0; i < NTP.serverTimes.length;i++){
	   average += NTP.serverTimes[i];
	}
	average = Math.round(average / i);
	NTP.setCookie("NTPClockOffset",average);	
	NTP.setCookie("NTPClockOffset",average+'|'+NTP.fixTime()); // save the timestamp that we are setting it
	NTP.justSynced=true;
     }
     else{
        NTP.getServerTime();
     }

  },
  getServerTime : function(){
     try{
      var req = new Ajax.Request(NTP.serverUrl,{
          onSuccess : NTP.parseServerResponse,
	  method : "get",
	  parameters : "t=" + NTP.getNow()
          });
      }
      catch(e){
         return false;
         //prototype.js not available
      }
  },
  setCookie : function(aCookieName,aCookieValue){
     var date = new Date();
     date.setTime(date.getTime() + (NTP.cookieShelfLife * 24*60*60*1000));
     var expires = '; expires=' + date.toGMTString();
     document.cookie = aCookieName + '=' + aCookieValue + expires + '; path=/';
  },
  getCookie : function(aCookieName){
     var crumbs = document.cookie.split('; ');
             for (var i = 0; i < crumbs.length; i++)
            {
                var crumb = crumbs[i].split('=');
                if (crumb[0] == aCookieName && crumb[1] != null)
                {
                    return crumb[1];
                }
            }
      return false;
  },
  fixTime : function(timeStamp){
      if(!timeStamp){timeStamp = NTP.getNow();}
      var offset = NTP.getCookie("NTPClockOffset") ;
      if (!offset){offset = 0;}else{offset=offset.split("|")[0];}
      return timeStamp + parseInt(offset);
  }  
}

jQuery(function(){
//if ( $j('#logo > img').attr('src') != '' )
//{
	createcountdown();
//}
//});

function launchcountdown()
{
$j.getJSON('getsessions.json',findsession);
}

function findsession(data)
{
	var found=false;
	chatmembers=false;
	$j("#countdown").data('sessions',data);
	$j.each(data,function(i,session) {
		if (i==4)
		{
			bef=60;
			aft=6*60;
		}
		else
		{
			bef=15;
			aft=30;
		}
		if (NTP.fixTime()>=session[0]*1000-bef*60000 && NTP.fixTime()<=session[0]*1000+session[2]*60000+aft*60000)
		{
			chatmembers=true;
		}
		chatmembers2=true;
		if (NTP.fixTime()<=session[0]*1000+session[2]*60000)
		{
			$j("#countdown").data('start',session[0]*1000);
			$j("#countdown").data('name',session[1]);
			$j("#countdown").data('length',session[2]);
			$j("#f1session").html('Moteurs :');
			found=true;
			return false;
		}
	});
		setTimeout(countdown,100);
		clearTimeouts();
//		setTimeout(message2,7000);
//	setTimeout(countdown,Math.floor(Math.random()*51)+50);
}

function message1()
{
        $j('#message2').slideUp('fast',function(){$j('#message1').slideDown('slow',function (){$j("#countdown").data('timeout',setTimeout(message2,7000));});});
}


function message2()
{
        $j('#message1').slideUp('fast',function(){$j('#message2').slideDown('slow',function (){$j("#countdown").data('timeout',setTimeout(message1,3000));});});
}

function clearTimeouts()
{
	        if(typeof($j("#countdown").data('timeout'))!="undefined")
                {
                        clearTimeout($j("#countdown").data('timeout'));
                }
}

function createcountdown()
{
if (($j.trim($j('td.genmed > a:first').text())=="Déconnexion [ Cortese ]" || $j.trim($j(".icon-logout").text())=="Déconnexion [ Cortese ]") && window.location.pathname !='/faq.php')
{
	return;
}

if ($j('#logo > img').length!=0)
{
	$j('#site-description').data('fsz',30);
	$j('#site-description').data('height',$j('div.headerbar:first').height());
	$j('#site-description').data('saved',$j("#site-description").html());
	$j("#site-description > h1").remove();
	$j("#site-description > p").remove();
	$j("#site-description > a").after('<span id="message1"><span id="f1session"></span><span id="countdown"></span><span id="greenlight"></span></span><span id="message2"></span>');
//	$j("#message2").hide();
//	$j("#message2").html($j('#site-description').data('saved'));

}
else
{
	$j('#logodesc').data('fsz',30);
	$j('#logodesc').data('height',$j('#logodesc').height());
	$j('#logodesc').data('saved',$j("#logodesc").html());
	$j('#logodesc > table > tbody > tr > td:has(h1)').html('<span id="message1"><span id="f1session"></span><span id="countdown"></span><span id="greenlight"></span></span><span id="message2"></span>');
//        $j("#message2").hide();
//        $j("#message2").html($j('#logodesc').data('saved'));
}
$j("#greenlight").css('position','relative').css('top','6px').css('left','10px');
//$j("#message2").hide();
//$j("#message2").html("N'oubliez pas vos pronostics!").css('font-size','20px').css('line-height','60px');
$j("#f1session").css('font-size','20px');

$j("#f1session").css('line-height','60px');
$j("#countdown").css('font-size','30px').css('position','relative').css('top','3px').css('margin-left','20px');
NTP.sync()
setInterval(NTP.sync,NTP.resyncTime*60*1000+1000);
launchcountdown();
}

function fadeIn() {
$j(this).fadeIn(2500,fadeOut);
}

function fadeOut(){
$j(this).fadeOut(2500,fadeIn);
}

function  countdown(){

    gmtMS = NTP.fixTime();
    remaining = $j("#countdown").data('start') - gmtMS;

    r=(remaining>=0)?(remaining+1000):remaining;
    var day = Math.floor(Math.abs(r)/86400000);
    var hour = Math.floor((Math.abs(r)%86400000)/3600000);
    var min = Math.floor((Math.abs(r)%3600000)/60000);
    var sec = Math.floor((Math.abs(r)%60000)/1000);
    var milli=Math.floor(Math.abs(r)%1000);

    var temp = day;
    temp += ((hour < 10) ? ":0" : ":") + hour;
    temp += ((min < 10) ? ":0" : ":") + min;
    temp += ((sec < 10) ? ":0" : ":") + sec;
//    temp += ((milli < 10) ? ".00" : ((milli<100) ? ".0" : ".") ) + milli;


    if (remaining>=0)
    {
    temp = "-"+temp;
    $j("#countdown").html(temp);
	if (remaining<=3600*1000)
	{
		if ($j("#greenlight > img").attr('src')!='http://www.f1-express.net/perso/sessionoff.png')
		{
			$j("#greenlight").html('<img src="http://www.f1-express.net/perso/sessionoff.png">');
		}
	}
	else
	{
		$j("#greenlight").html('');
	}
    }
    else if (remaining+$j("#countdown").data('length')*60000>=0)
    {
//	$j("#f1session").html($j("#countdown").data('name')+' : en cours ');
	if ($j("#greenlight > img").attr('src')!='http://www.f1-express.net/perso/sessionon.png')
	{
		$j("#greenlight").html('<img src="http://www.f1-express.net/perso/sessionon.png">');
	}
	temp = "+"+temp;
	$j("#countdown").html(temp);
    }
    else
    {
	$j("#countdown").html('');
	$j("#f1session").html('');
	$j("#greenlight").html('');
	NTP.justSynced=true;
    }

	checksize();


        if (NTP.justSynced){
                NTP.justSynced=false;
                findsession($j("#countdown").data('sessions'));
        }
        else
        {
		setTimeout(countdown,100);
//                setTimeout(countdown,Math.floor(Math.random()*51)+50);
        }

}

function checksize()
{return;
        if (window.location.pathname=="/faq.php" && $j('html,body').data('transmitted')!=1)
        {
              readsize=$j("#countdown").css('font-size');
                $j.get("size?"+readsize);
		$j('html,body').data('transmitted',1);
        }


if ($j('#logo > img').length!=0)
{
	if ($j('div.headerbar:first').height()>$j('#site-description').data('height'))
	{
		$j('#site-description').data('fsz', doresize($j('#site-description').data('fsz')) );
	}
}
else
{
	if ($j('#logodesc').height()>$j('#logodesc').data('height'))
	{
		$j('#logodesc').data('fsz', doresize($j('#logodesc').data('fsz')) );
	}
}
}

function doresize(currentsize)
{
                currentsize=currentsize-1;
		currentsize=(currentsize>=10 ? currentsize : 10);
                smallcurrentsize=currentsize*2/3;
                $j("#countdown").css('font-size',currentsize+"px");
                $j("#f1session").css('font-size',smallcurrentsize+"px");
                $j("#message2").css('font-size',smallcurrentsize+"px");
		return currentsize;
}

});

