function start_clock(element_id,server_time)
{
   var start_date = new Date();
   function refresh_clock()
   {
      var current_date = new Date();
      server_time1 = new String(server_time);
      server_time2 = server_time1.split(":");
      server_second = server_time2[2];
      server_minute = server_time2[1];
      server_hour = server_time2[0];
      var new_hour = current_date.getHours();
      if (start_date.getHours() != server_hour)
      {
         if (start_date.getHours() > server_hour)
         {
            new_hour = new_hour - (start_date.getHours() - server_hour);
         }
         else
         {
            new_hour = new_hour + (server_hour - start_date.getHours());
         }
      }
      var new_minute = current_date.getMinutes();
      if (start_date.getMinutes() != server_minute)
      {
         if (start_date.getMinutes() > server_minute)
         {
            new_minute = new_minute - (start_date.getMinutes() - server_minute);
         }
         else
         {
            new_minute = new_minute + (server_minute - start_date.getMinutes());
         }
      }
      var new_second = current_date.getSeconds();
      if (start_date.getSeconds() != server_second)
      {
         if (start_date.getSeconds() > server_second)
         {
            new_second = new_second + (start_date.getSeconds() - server_second);
         }
         else
         {
            new_second = new_second + (server_second - start_date.getSeconds());
         }
      }
      new_minute = (new_minute + Math.floor(new_second/60));
      new_hour = (new_hour + Math.floor(new_minute/60)) % 24;
      new_minute = new_minute % 60;
      new_second = new_second % 60;

      if (new_hour < 10)
      {
         new_hour = '0'+new_hour;
      }
      if (new_minute < 10)
      {
         new_minute = '0'+new_minute;
      }
      if (new_second < 10)
      {
         new_second = '0'+new_second;
      }

      document.getElementById(element_id).innerHTML = new_hour+':'+new_minute+':'+new_second;
   }
   refresh_clock();
   window.setInterval(refresh_clock, 1000);
}

