﻿// JScript File
//default the mode to leader when the page loads
var strMode = "LEADER";
var secs
var timerID = null
var timerRunning = false
var delay = 1000

/* for Mozilla */
if (document.addEventListener) {
   document.addEventListener("DOMContentLoaded", init, false);
}

/* for Internet Explorer */
/*@cc_on @*/
/*@if (@_win32)
   document.write("<script defer src=ie_onload.js><"+"/script>");
/*@end @*/

/* for other browsers */
window.onload = init;

function init() {
    // quit if this function has already been called
    if (arguments.callee.done) return;

    // flag this function so we don't do the same thing twice
    arguments.callee.done = true;
    fRefresh();
    InitializeTimer();

}

function InitializeTimer()
{
    // Set the length of the timer, in seconds
    secs = 180;
    StopTheClock();
    fRefresh();
    StartTheTimer();
}

function StopTheClock()
{
    if(timerRunning)
        clearTimeout(timerID)
    timerRunning = false
}

function StartTheTimer()
{
    if (secs==0)
    {
        StopTheClock()
        // Here's where you put something useful that's
        // supposed to happen after the allotted time.
        // For example, you could display a message:
        InitializeTimer();
    }
    else
    {
        self.status = secs
        secs = secs - 1
        timerRunning = true
        timerID = self.setTimeout("StartTheTimer()", delay)
    }
}
//-->


function fRefresh()
{
    if(strMode == "LEADER")
    {
        CallLeaderAjax();
    }
    else
    {
        CallOverallAjax();
    }
}

function CallLeaderAjax() {
    var ajax = new AjaxRequest();
    ajax.Service = "Service";
    ajax.Method = "GetResults";
    ajax.CallBackMethod = ajaxleadercallback;
    ajax.send();
}

function ajaxleadercallback(response)
{
    var objJSON = null;
    objJSON = eval(response);
    
    DisplayLeaderTable('RELEASES',document.getElementById('tblReleases'),objJSON);
    DisplayLeaderTable('OPENINBOARDDIVISION',document.getElementById('tblOpenInboardByBoat'),objJSON);
    DisplayLeaderTable('OPENOUTBOARDDIVISION',document.getElementById('tblOpenOutboardByBoat'),objJSON);
    DisplayLeaderTable('AMADIVISION', document.getElementById('tblAmaByBoat'), objJSON);

    DisplayLeaderTable('OPENINBOARDANGLER', document.getElementById('tblOpenInboardByAngler'), objJSON);
    DisplayLeaderTable('OPENOUTBOARDANGLER',document.getElementById('tblOpenOutboardByAngler'),objJSON);
    DisplayLeaderTable('AMAANGLER',document.getElementById('tblAmateurByAngler'),objJSON);
    DisplayLeaderTable('FEMALEANGLER',document.getElementById('tblFemaleAngler'),objJSON);
    DisplayLeaderTable('JUNIORANGLER',document.getElementById('tblJuniorAngler'),objJSON);

    DisplayLeaderTable('FUNFISH', document.getElementById('tblFunFish'), objJSON);
}

function CallOverallAjax() 
{
    var ajax = new AjaxRequest();
    ajax.Service = "Service";
    ajax.Method = "GetOverallResults";
    ajax.CallBackMethod = ajaxoverallcallback;
    ajax.send();
}

function ajaxoverallcallback(response)
{
    var objJSON = null;
    objJSON = eval(response);
    
    DisplayLeaderTable('OVERALL',document.getElementById('tblOverall'),objJSON);
}

function deleteRows(objTable) 
{
    var len = objTable.rows.length;
    var i = 0;
    for (i = len -1; i != 0; i--) 
    {
        objTable.deleteRow(i);
    } 
}
   
function ShowSection(strSection)
{
    if(strSection == "LEADER")
    {
        document.getElementById("dvReleases").style.display = "inline";
        document.getElementById("dvOverall").style.display = "none";
        document.getElementById("dvFunfish").style.display = "inline";
    }
    else
    {
        document.getElementById("dvReleases").style.display = "none";
        document.getElementById("dvOverall").style.display = "inline";
        document.getElementById("dvFunfish").style.display = "none";
    }
    
    //set the mode var which is used by the refresh routine
    strMode = strSection;

    fRefresh();
}

function DisplayLeaderTable(strItem,objTable,objJSON)
{
    var i = 0;
    var rowCnt = 0;
    var ret = new Array();

    //clear all the rows
    if(objTable)
    {
        rowCnt = objTable.rows.length;
        if (rowCnt>=1)
        {
            deleteRows(objTable);
        }
    }
    
    switch (strItem.toUpperCase())
    {
        case 'OPENINBOARDDIVISION':
            for(i=0;i<=7;i++)
            {
                if(objJSON[1][i])
                {
                    var lastRow = objTable.rows.length;
                    var row = objTable.insertRow(lastRow++);

                    var cell1 = row.insertCell(0);
                    var cell2 = row.insertCell(1);
                    //var cell3 = row.insertCell(2);
                    //var cell4 = row.insertCell(3);

                    cell1.innerHTML = "<a href=javascript:fShowBoat(" + objJSON[1][i].BoatNumber + ");>" + objJSON[1][i].BoatName + "</a>";
                    cell2.innerHTML = objJSON[1][i].AccumulatedPoints;
                    //cell3.innerHTML = objJSON[1][i].CatchCount;
                    //cell4.innerHTML = objJSON[1][i].AccumulatedPoints;
                }
                else
                {
                    break;
                }
            }
            break;

        case 'AMADIVISION':
            for(i=0;i<3;i++)
            {
                if(objJSON[2][i])
                {
                    var lastRow = objTable.rows.length;
                    var row = objTable.insertRow(lastRow++);

                    var cell1 = row.insertCell(0);
                    var cell2 = row.insertCell(1);
                    //var cell3 = row.insertCell(2);
                    //var cell4 = row.insertCell(3);

                    cell1.innerHTML = "<a href=javascript:fShowBoat(" + objJSON[2][i].BoatNumber + ");>" + objJSON[2][i].BoatName + "</a>";
                    cell2.innerHTML = objJSON[2][i].AccumulatedPoints;
                    //cell3.innerHTML = objJSON[2][i].CatchCount;
                    //cell4.innerHTML = objJSON[2][i].AccumulatedPoints;
                }
                else
                {
                    break;
                }
            }
            break;

        case 'RELEASES':
            for(i=0;i<=10;i++)
            {
                if(objJSON[0][i])
                {
                    var lastRow = objTable.rows.length;
                    var row = objTable.insertRow(lastRow++);

                    var cell1 = row.insertCell(0);
                    var cell2 = row.insertCell(1);
                    var cell3 = row.insertCell(2);
                    var cell4 = row.insertCell(3);

                    cell1.innerHTML = objJSON[0][i].Confirmation;
                    cell2.innerHTML = "<a href=javascript:fShowBoat(" + objJSON[0][i].BoatNumber + ");>" + objJSON[0][i].BoatName + "</a>";
                    cell3.innerHTML = objJSON[0][i].AnglerName;
                    cell4.innerHTML = objJSON[0][i].ReleaseTime;
                }
                else
                {
                    var lastRow = objTable.rows.length;
                    var row = objTable.insertRow(lastRow++);

                    var cell1 = row.insertCell(0);
                    var cell2 = row.insertCell(1);
                    var cell3 = row.insertCell(2);
                    var cell4 = row.insertCell(3);

                    cell1.innerHTML = "&nbsp;";
                    cell2.innerHTML = "&nbsp;";
                    cell3.innerHTML = "&nbsp;";
                    cell4.innerHTML = "&nbsp;";
                }
            }
            break;
        case 'OVERALL':
            for(i=0;i<300;i++)
            {
                if(objJSON[0][i])
                {
                    var lastRow = objTable.rows.length;
                    var row = objTable.insertRow(lastRow++);

                    var cell1 = row.insertCell(0);
                    var cell2 = row.insertCell(1);
                    var cell3 = row.insertCell(2);
                    var cell4 = row.insertCell(3);

                    cell1.innerHTML = objJSON[0][i].BoatNumber;
                    cell2.innerHTML = "<a href=javascript:fShowBoat(" + objJSON[0][i].BoatNumber + ");>" + objJSON[0][i].BoatName + "</a>";
                    cell3.innerHTML = objJSON[0][i].Division;
                    cell4.innerHTML = objJSON[0][i].AccumulatedPoints;
                }
                else
                {
                    break;
                }
            }
            break;
        case 'OPENOUTBOARDDIVISION':
            for(i=0;i<=7;i++)
            {
                if(objJSON[3][i])
                {
                    var lastRow = objTable.rows.length;
                    var row = objTable.insertRow(lastRow++);

                    var cell1 = row.insertCell(0);
                    var cell2 = row.insertCell(1);
                    //var cell3 = row.insertCell(2);
                    //var cell4 = row.insertCell(3);

                    cell1.innerHTML = "<a href=javascript:fShowBoat(" + objJSON[3][i].BoatNumber + ");>" + objJSON[3][i].BoatName + "</a>";
                    cell2.innerHTML = objJSON[3][i].AccumulatedPoints;
                    //cell3.innerHTML = objJSON[3][i].CatchCount;
                    //cell4.innerHTML = objJSON[3][i].AccumulatedPoints;
                }
                else
                {
                    break;
                }
            }
            break;
            
        case 'OPENOUTBOARDANGLER':
            for (i = 0; i <= 7; i++) {
                if (objJSON[5][i]) {
                    var lastRow = objTable.rows.length;
                    var row = objTable.insertRow(lastRow++);

                    var cell1 = row.insertCell(0);
                    var cell2 = row.insertCell(1);
                    //var cell3 = row.insertCell(2);
                    //var cell4 = row.insertCell(3);

                    cell1.innerHTML = "<a href=javascript:fShowBoat(" + objJSON[5][i].BoatNumber + ");>" + objJSON[5][i].AnglerName + "</a>";
                    cell2.innerHTML = objJSON[5][i].AccumulatedPoints;
                    //cell3.innerHTML = objJSON[3][i].CatchCount;
                    //cell4.innerHTML = objJSON[3][i].AccumulatedPoints;
                }
                else {
                    break;
                }
            }
            break;
            
        case 'OPENINBOARDANGLER':
            for (i = 0; i <= 7; i++) {
                if (objJSON[4][i]) {
                    var lastRow = objTable.rows.length;
                    var row = objTable.insertRow(lastRow++);

                    var cell1 = row.insertCell(0);
                    var cell2 = row.insertCell(1);
                    //var cell3 = row.insertCell(2);
                    //var cell4 = row.insertCell(3);

                    cell1.innerHTML = "<a href=javascript:fShowBoat(" + objJSON[4][i].BoatNumber + ");>" + objJSON[4][i].AnglerName + "</a>";
                    cell2.innerHTML = objJSON[4][i].AccumulatedPoints;
                    //cell3.innerHTML = objJSON[3][i].CatchCount;
                    //cell4.innerHTML = objJSON[3][i].AccumulatedPoints;
                }
                else {
                    break;
                }
            }
            break;

        case 'AMAANGLER':
            for (i = 0; i < 3; i++) {
                if (objJSON[6][i]) {
                    var lastRow = objTable.rows.length;
                    var row = objTable.insertRow(lastRow++);

                    var cell1 = row.insertCell(0);
                    var cell2 = row.insertCell(1);
                    //var cell3 = row.insertCell(2);
                    //var cell4 = row.insertCell(3);

                    cell1.innerHTML = "<a href=javascript:fShowBoat(" + objJSON[5][i].BoatNumber + ");>" + objJSON[6][i].AnglerName + "</a>";
                    cell2.innerHTML = objJSON[6][i].AccumulatedPoints;
                    //cell3.innerHTML = objJSON[3][i].CatchCount;
                    //cell4.innerHTML = objJSON[3][i].AccumulatedPoints;
                }
                else {
                    break;
                }
            }
            break;

        case 'FEMALEANGLER':
            for (i = 0; i < 3; i++) {
                if (objJSON[7][i]) {
                    var lastRow = objTable.rows.length;
                    var row = objTable.insertRow(lastRow++);

                    var cell1 = row.insertCell(0);
                    var cell2 = row.insertCell(1);
                    //var cell3 = row.insertCell(2);
                    //var cell4 = row.insertCell(3);

                    cell1.innerHTML = "<a href=javascript:fShowBoat(" + objJSON[7][i].BoatNumber + ");>" + objJSON[7][i].AnglerName + "</a>";
                    cell2.innerHTML = objJSON[7][i].AccumulatedPoints;
                    //cell3.innerHTML = objJSON[3][i].CatchCount;
                    //cell4.innerHTML = objJSON[3][i].AccumulatedPoints;
                }
                else {
                    break;
                }
            }
            break;

        case 'JUNIORANGLER':
            for (i = 0; i < 3; i++) {
                if (objJSON[8][i]) {
                    var lastRow = objTable.rows.length;
                    var row = objTable.insertRow(lastRow++);

                    var cell1 = row.insertCell(0);
                    var cell2 = row.insertCell(1);
                    //var cell3 = row.insertCell(2);
                    //var cell4 = row.insertCell(3);

                    cell1.innerHTML = "<a href=javascript:fShowBoat(" + objJSON[8][i].BoatNumber + ");>" + objJSON[8][i].AnglerName + "</a>";
                    cell2.innerHTML = objJSON[8][i].AccumulatedPoints;
                    //cell3.innerHTML = objJSON[3][i].CatchCount;
                    //cell4.innerHTML = objJSON[3][i].AccumulatedPoints;
                }
                else {
                    break;
                }
            }
            break;

        case 'FUNFISH':

            var lastRow = objTable.rows.length;
            var row = objTable.insertRow(lastRow++);

            var cell1 = row.insertCell(0);
            var cell2 = row.insertCell(1);
            var cell3 = row.insertCell(2);

            cell1.innerHTML = 'Dolphin';
            cell2.innerHTML = objJSON[9][0].DolphinTeam;
            cell3.innerHTML = objJSON[9][0].DolphinWeight;


            var lastRow = objTable.rows.length;
            var row = objTable.insertRow(lastRow++);

            var cell1 = row.insertCell(0);
            var cell2 = row.insertCell(1);
            var cell3 = row.insertCell(2);

            cell1.innerHTML = 'Kingfish';
            cell2.innerHTML = objJSON[9][0].KingfishTeam;
            cell3.innerHTML = objJSON[9][0].KingfishWeight;

            var lastRow = objTable.rows.length;
            var row = objTable.insertRow(lastRow++);

            var cell1 = row.insertCell(0);
            var cell2 = row.insertCell(1);
            var cell3 = row.insertCell(2);

            cell1.innerHTML = 'Wahoo';
            cell2.innerHTML = objJSON[9][0].WahooTeam;
            cell3.innerHTML = objJSON[9][0].WahooWeight;

            var lastRow = objTable.rows.length;
            var row = objTable.insertRow(lastRow++);

            var cell1 = row.insertCell(0);
            var cell2 = row.insertCell(1);
            var cell3 = row.insertCell(2);

            cell1.innerHTML = 'Tuna';
            cell2.innerHTML = objJSON[9][0].TunaTeam;
            cell3.innerHTML = objJSON[9][0].TunaWeight;

//            document.getElementById('tdDolphinTeam').innerHTML = objJSON[9][0].DolphinTeam;
//            document.getElementById('tdDolphinWeight').innerHTML = objJSON[9][0].DolphinWeight;
//            document.getElementById('tdKingfishTeam').innerHTML = objJSON[9][0].KingfishTeam;
//            document.getElementById('tdKingfishWeight').innerHTML = objJSON[9][0].KingfishWeight;
//            document.getElementById('tdWahooTeam').innerHTML = objJSON[9][0].WahooTeam;
//            document.getElementById('tdWahooWeight').innerHTML = objJSON[9][0].WahooWeight;
//            document.getElementById('tdTunaTeam').innerHTML = objJSON[9][0].TunaTeam;
//            document.getElementById('tdTunaWeight').innerHTML = objJSON[9][0].TunaWeight;

            break;

    }
}

function fShowBoat(BoatNum)
{
    document.getElementById("dvVideo").style.display = "none";
    showPopWin('BoatDetail.htm?Num=' + BoatNum, 600, 475, fModalCallBack);
}

function fModalCallBack()
{
    document.getElementById("dvVideo").style.display = "inline";
}

// *************  Boat Detail Section **************
// *************************************************

function CallBoatDetailAjax(BoatNum) 
{
    var ajax = new AjaxRequest();
    ajax.Service = "Service";
    ajax.Method = "GetBoatDetail";
    ajax.CallBackMethod = ajaxboatdetailcallback;
    ajax.Params["BoatNumber"] = BoatNum;
    //ajax.Params["Code"] = code;
    ajax.send();
}

function ajaxboatdetailcallback(response)
{
    var objJSON = null;
    objJSON = eval(response);
    
    fLoadTeamInfo(objJSON);
    
}

function fLoadInfo()
{
    var BoatNum = "";
    
    BoatNum = fGetBoatNumQueryString(location.href);
    
    CallBoatDetailAjax(BoatNum);
}

function fGetBoatNumQueryString(qString)
{
    var arr = new Array();
    var arr2 = new Array();
    
    arr = qString.split("?");
    
    arr2 = arr[1].split("=");
    
    return arr2[1];
}


function fLoadTeamInfo(objJSON) {

    if(objJSON[0])
    {
        //found records
        document.getElementById("tdBoatNumber").innerHTML = objJSON[0].BoatNum;
        document.getElementById("tdBoatName").innerHTML = objJSON[0].Name;
        document.getElementById("tdBoatMake").innerHTML = objJSON[0].BoatMake;
        document.getElementById("tdLength").innerHTML = objJSON[0].Length;
        document.getElementById("tdEngine").innerHTML = objJSON[0].EngineBrand;
        document.getElementById("tdEngineType").innerHTML = objJSON[0].EngineType;
        document.getElementById("tdDivision").innerHTML = objJSON[0].Division;
        document.getElementById("tdCaptain").innerHTML = objJSON[0].CaptainsName;

        document.getElementById("tdAnglerA").innerHTML = objJSON[0].AnglerA;
        document.getElementById("tdAnglerB").innerHTML = objJSON[0].AnglerB;
        document.getElementById("tdAnglerC").innerHTML = objJSON[0].AnglerC;
        document.getElementById("tdAnglerD").innerHTML = objJSON[0].AnglerD;
        document.getElementById("tdAnglerE").innerHTML = objJSON[0].AnglerE;
        document.getElementById("tdAnglerF").innerHTML = objJSON[0].AnglerF;
        
        fLoadCatches(objJSON);
        
    }
    else
    {
        //no records found
        document.getElementById("tdBoatNumber").innerHTML = "N/A";
        document.getElementById("tdBoatName").innerHTML = "N/A";
    }
}

function fLoadCatches(objJSON)
{
    var objTable = document.getElementById("tblCatches");
    
    for(i=0;i<100;i++)
    {
        if(objJSON[1][i])
        {
            var lastRow = objTable.rows.length;
            var row = objTable.insertRow(lastRow++);

            var cell1 = row.insertCell(0);
            var cell2 = row.insertCell(1);
            var cell3 = row.insertCell(2);
            //var cell4 = row.insertCell(3);

            cell1.innerHTML = objJSON[1][i].Confirmation;
            cell2.innerHTML = objJSON[1][i].AnglerName;
            cell3.innerHTML = objJSON[1][i].ReleaseTime;
            //cell4.innerHTML = objJSON[1][i].AccumulatedPoints;
        }
        else
        {
            break;
        }
    }
}