﻿var md5Msg = "";
var md5Classes = "";

var tmrCheck;
var tmrCheckClasses;
var tmrChkUpdates;
var lastUpdate;

function pageLoad()
{
if (document.getElementById("RefreshResults").value == 1)
    {
        document.getElementById("RefreshResults").value = 0;
        //refresh the results panel & set total laps
        __doPostBack('udpResults', document.getElementById("SelectedClass").value+'§m');
    }
    document.getElementById("lblUpdateMsg").innerHTML = 'Update Received:  ' + localTime();
    lastUpdate=localTime();
}

function setDDLColor(ddlSelected)
{
    if (ddlSelected == 0)
        { document.getElementById("ddlClasses").className = "ddlClassesRed"; }
    else
        { document.getElementById("ddlClasses").className = "ddlClassesBlue"; }
}


//******************************
//get updates from service
function chkUpdates()
{
    document.getElementById("lblUpdateMsg").innerHTML = '<img src="images/ajax_tiny_red2.gif" alt="" /> Checking Server for Updates...';
    svcUpdates.chkUpdates(document.getElementById("Message").value+'§'+document.getElementById("Classes").value+'§'+document.getElementById("LapCount").value+'§'+document.getElementById("SelectedClass").value, OnChkUpdatesSucceeded, OnChkUpdatesFailed, OnChkUpdatesTimeOut);
}

function OnChkUpdatesSucceeded(result)
{
    var result_array=result.split("§"); 
    var strMessage = result_array[0];
    var strMessageMD5 = result_array[1];
    var strClasses = result_array[2];
    var strTotalLaps = result_array[3];
    
    if (strMessage != -1 && strMessage != -2 ) //set message
    {
        document.getElementById("webMsg").innerHTML = strMessage; 
        document.getElementById("Message").value = strMessageMD5;
    }
    
    if (strClasses != -1 && strClasses != -2 ) //update classes
    {
        //update classes & value
        __doPostBack('udpEventClass', '1');
        document.getElementById("Classes").value = strClasses;
        
        //update results panel & value - is done by passing a value to a hidden field now.
        //__doPostBack('udpResults', document.getElementById("SelectedClass").value+'§m');
        //document.getElementById("LapCount").value = strTotalLaps;
    }
    else //now check for laps update
    {
        if (strTotalLaps != -1 && strTotalLaps != -2) //update results
        {
            __doPostBack('udpResults', document.getElementById("SelectedClass").value+'§a');
            setTimeout("document.getElementById('lblUpdateMsg').innerHTML = 'Update Received:  ' + localTime();", 750);
            
            lastUpdate=localTime();
            //update laps value - done in update panel now
            //document.getElementById("LapCount").value = strTotalLaps;
        }
        else //no update needed
        {setTimeout("document.getElementById('lblUpdateMsg').innerHTML = 'Last Update Check: " + localTime() + "&nbsp;&nbsp;-&nbsp;&nbsp;Last Update Received:  ' + lastUpdate;", 1500);}
    }
}

function OnChkUpdatesFailed() {}

function OnChkUpdatesTimeOut() {}
//******************************


//******************************
//Called by the class dropdown
function setTotalLaps(strClass)
{
if (strClass != 0)
    {svcUpdates.chkTotalLaps(strClass, OnTLSucceeded, OnTLFailed, OnTLTimeOut);}
}

function OnTLSucceeded(result) 
{document.getElementById("LapCount").value = result;}

function OnTLFailed() {}

function OnTLTimeOut() {}
//******************************

function openROPopUp(url)
{	
    var newwindow;
    newwindow=window.open(url,'ro','height=500,width=320;toolbar=no,location=no,directories=no,status=no,menubar=no,copyhistory=no,resizable=yes,scrollbars=yes');
    if (window.focus) 
    {newwindow.focus()}
}

function localTime()
{
  var currentTime = new Date()
  var hours = currentTime.getHours()
  var minutes = currentTime.getMinutes()
  var seconds = currentTime.getSeconds()

  var suffix = "AM";
  if (hours >= 12) {
  suffix = "PM";
  hours = hours - 12;
  }
  if (hours == 0) {
  hours = 12;
  }

  if (minutes < 10)
  minutes = "0" + minutes
  
  if (seconds < 10)
  seconds = "0" + seconds

  return (hours + ":" + minutes + ":" + seconds + " " + suffix); 
}