function DetermineBrowser() {
    var tmp = "";
    switch (navigator.platform) {
        case "iPad": tmp = "iPad"; break;
        case "iPhone": tmp = "iPad"; break;
        case "BlackBerry": tmp = "BlackBerry"; break;
        case "WinCE": tmp = "WinCE"; break
        default: tmp = "default"; break;
    }
    setCookie("browserType=", tmp);
    return tmp;
}
function GetReport(id) {
    if (id == "Summary") {GetPWSLSummaryRpt(document.getElementById('MeetDB').value);
    } else {
        $.ajax({
            type: "POST",
            url: "swimmeetservices.asmx/GetReport",
            data: "{'ReportType':'" + id + "', 'MeetDB':'SwimMeet" + document.getElementById('MeetDB').value + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: ProcessReport,
            error: OnError
        });
    };
    return true;
}
function ProcessReport(msg, status) {
    var data = jQuery.parseJSON(msg.d);
    var sTeams = ""; if (0 == data[0].EventStroke.search(/^\d/)) { sTeams = "[Ev#, Sex, Age Group, "; } else { sTeams = "[Ev#, Sex, Stroke, "; };
    var sWidths = "";var sAlign = "";var sTypes = "";var sSort = "";var sSpan = "";
    for (var i=0; i < data[0].Teams.length;i++) {sTeams += data[0].Teams[i]+", ";sWidths += ",45";sAlign += ",right";sTypes += ",ro";  sSort  += ",int";sSpan += ",#cspan";};


    resultgrid.clearAll(true);
    resultgrid.setSkin("dhx_skyblue");
    resultgrid.setImagePath("images/");

    if (navigator.platform == 'iPad' || navigator.platform == 'iPhone') { tabbar.setSize("350", (5 + data.length) * 21, true); } else { tabbar.setSize("350", "400", true); };
    resultgrid.setHeader(data[data.length-1].EventStroke + ",#cspan,#cspan" + sSpan);
    resultgrid.attachHeader(sTeams.substr(1, sTeams.length - 2) + "]");
    resultgrid.setInitWidths("35,35,90" + sWidths);
    resultgrid.setColAlign("right,left,left" + sAlign);
    resultgrid.setColTypes("ro,ro,ro" + sTypes);
    resultgrid.setColSorting("int,str,str" + sSort);
    resultgrid.detachAllEvents();
    resultgrid.attachEvent("onRowSelect", GetResults);
    resultgrid.init();

    resultgrid.parse(data, "report");
    tabbar.showTab("a3");
    tabbar.hideTab("a5");
    tabbar.hideTab("a6");
    tabbar.setTabActive("a3");
    return true;
}
function GetAthData(AthNum) {
    $.ajax({
        type: "POST",
        url: "swimmeetservices.asmx/GetAthlete",
        data: "{'AthNumber':'" + AthNum + "', 'MeetDB':'SwimMeet" + document.getElementById('MeetDB').value + "', 'History':'No'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: ProcessAthResults,
        error: OnError
    });
    return true;
}
function ProcessAthResults(msg, status) {
    var data = jQuery.parseJSON(msg.d);
    var events = data.Events;
    var cellvalue = resultgrid.cells(resultgrid.getSelectedId(), resultgrid.getSelectedCellIndex()).getValue()
    var tmp = resultgrid.hdr.innerText.substr(20, 2);
    if (cellvalue == 'Q' && resultgrid.getSelectedCellIndex() == 3) {
        jQuery.each(events, function (index, value) {
            if (events[index] != null) { if (tmp == events[index].EventPtr) { popupDQ(tmp, events[index].DQ, data.AthName); }; }
        }); }
    else {
        popupResults(data);
    };   return true;
}
function GetResults(eventnum) {
    document.getElementById("CurRptEvt").value = eventnum;
    tabbar.showTab("a5"); tabbar.showTab("a6");
    if (eventnum <= 9 || eventnum >= 58) {
        GetRelayResults(eventnum, document.getElementById("MeetDB").value);
    }
    else {
        GetIndResults(eventnum, document.getElementById("MeetDB").value);
    };
    return true;
}

function GetIndResults(eventnum, MeetDB) {
    $.ajax({
        type: "POST",
        url: "swimmeetservices.asmx/GetIndEvent",
        data: "{'EventNumber':'" + eventnum + "', 'MeetDB':'SwimMeet" + MeetDB + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: ProcessIndResults,
        error: OnError
    });
    return true;
}

function ProcessIndResults(msg, status) {
    var data = jQuery.parseJSON(msg.d);
    var teams = data.EventAthletes;

    tabbar.showTab("a3");
    resultgrid.clearAll(true);
    if (data.EventStatus == 1) {
        resultgrid.setHeader("Seeding for " + data.EventNumber + ",#cspan,#cspan,#cspan,#cspan,#cspan");
        resultgrid.attachHeader(["Rk", "Swimmer", "Team", "", "SeedTime", "Pts"]);
    }
    else {
        resultgrid.setHeader("Results for " + data.EventNumber + ",#cspan,#cspan,#cspan,#cspan,#cspan");
        resultgrid.attachHeader(["Pl", "Swimmer", "Team", "", "Time", "Pts"]);
    };
    if (navigator.platform == 'iPad' || navigator.platform == 'iPhone') { tabbar.setSize("350", (5 + data.EventAthletes.length) * 21, true); } else { tabbar.setSize("350", "400", true); };
    resultgrid.setInitWidths("25,150,50,15,60,30");
    resultgrid.setColAlign("right,left,left,right,right,right");
    resultgrid.setColTypes("ro,ro,ro,ro,ro,ro");
    resultgrid.setColSorting("int,str,str,str,str,int");
    resultgrid.detachAllEvents();
    resultgrid.attachEvent("onRowSelect", GetAthData);
    resultgrid.init();

    resultgrid.parse(data, "athlete");
    tabbar.setTabActive("a3");return true;
}
function GetRelayResults(eventnum, MeetDB) {
    $.ajax({
        type: "POST",
        url: "swimmeetservices.asmx/GetRelayEvent",
        data: "{'EventNumber':'" + eventnum + "', 'MeetDB':'SwimMeet" + MeetDB + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: ProcessRelayResults,
        error: OnError
    });
    return true;
}
function ProcessRelayResults(msg, status) {
    var data = jQuery.parseJSON(msg.d);
    var teams = data.EventAthletes;
    var fmt = "";
    var t = "";
    tabbar.showTab("a3");
    resultgrid.clearAll(true);
    if (data.EventStatus == 1) {
        resultgrid.setHeader("Seeding for " + data.EventNumber + ",#cspan,#cspan,#cspan,#cspan,#cspan");
        resultgrid.attachHeader(["Rk", "Team/Swimmers", "", "SeedTime", "Pts", ""]);
    }
    else {
        resultgrid.setHeader("Results for " + data.EventNumber + ",#cspan,#cspan,#cspan,#cspan,#cspan");
        resultgrid.attachHeader(["Pl", "Team/Swimmers", "", "Time", "Pts", ""]);
    };
    if (navigator.platform == 'iPad' || navigator.platform == 'iPhone') { tabbar.setSize("350", (5 + (data.EventAthletes.length * 2)) * 21, true); } else { tabbar.setSize("350", "400", true); };
    resultgrid.setInitWidths("25,200,15,60,30,0");
    resultgrid.setColAlign("right,left,left,right,right,left");
    resultgrid.setColTypes("ro,ro,ro,ro,ro,ro");
    resultgrid.setColSorting("int,str,str,str,int,str");
    resultgrid.init();

    resultgrid.parse(data, "relay");
    tabbar.setTabActive("a3");
    return true;
}

function ProcessEventList(sMeetDB, eventgrid) {
    var temp = document.getElementById('MeetDB').value;

    $.ajax({
        type: "POST",
        url: "swimmeetservices.asmx/GetEvents",
        data: "{'MeetDB':'SwimMeet" + sMeetDB + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (msg) {
            var lastEvent = document.getElementById("LastEvent").value;
            var data = jQuery.parseJSON(msg.d);
            
            eventgrid.setSkin("dhx_skyblue");
            eventgrid.setImagePath("images/");
            eventgrid.setHeader("Ev#,Name");
            eventgrid.setInitWidths("35,295");
            eventgrid.setColAlign("right,left");
            eventgrid.setColTypes("ro,ro");
            eventgrid.setColSorting("int,str");
            eventgrid.detachAllEvents();
            eventgrid.attachEvent("onRowSelect", GetResults);
            eventgrid.init();

            eventgrid.parse(data, "events");
            eventgrid.showRow(Math.min(lastEvent + 3, 67));
        },
        error: OnError
    });
    return true;
}

function GetMeet(MeetDB) {
    var pwd = getCookie('pwd=');
    var accid = getCookie('accessID=');
    var sMeetDB = MeetDB.slice(0, -1);
    var sSell = MeetDB.slice(-1);

    document.getElementById("MeetDB").value = sMeetDB;
    document.getElementById("Sell").value = sSell;

    if ((sSell == "1") && (pwd == "")) {
        var ipwd = prompt("This Meet requires a password. Please enter you password or \nsee concessions to get your password", "");
        if (ipwd != null && ipwd != "") {
            ProcessMeet(ipwd, accid, sMeetDB);
        }
        else {
            location.reload(true);
        };
    }
    else {
        ProcessMeet(pwd, accid, sMeetDB);
    };return true;
}

function callProcessMeet(sMeetDB) {
    var pwd = getCookie('pwd=');
    var accid = getCookie('accessID=');
    ProcessMeet(pwd, accid, sMeetDB);return true;
}

function ProcessMeet(pwd, accid, sMeetDB) {
    $.ajax({
        type: "POST",
        url: "swimmeetservices.asmx/GetMeet",
        data: "{'MeetDB':'SwimMeet" + sMeetDB + "', 'sPwd':'" + pwd + "', 'sAccessID':'" + accid + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (msg) {
            var data = jQuery.parseJSON(msg.d);
            var t = 5 + data.MeetTeams.length;
            if ((data.PwdChk == "") || (data.PwdChk == "True")) {
                setCookie("pwd=", pwd);
                document.getElementById("LastEvent").value = data.CurrentEvent;
                $("#MeetDiv").html(data.MeetName + " " + data.MeetDate);
                $("#NavDiv").html("");
                $("#TitleDiv").html("");
                $("#DetailDiv").html("");
                $("#Summary").html("");
                $("#Records").html("");
                tabbar.setSize("350", t*21, true);
                scoregrid.setSkin("dhx_skyblue");
                scoregrid.setImagePath("images/");
                scoregrid.setHeader("Score Through Event " + data.CurrentEvent + ",#cspan,#cspan,#cspan,#cspan");
                scoregrid.attachHeader(["", "Abbr", "Team", "Score", "Pts Back"]);
                scoregrid.setInitWidths("30,50,150,50,50");
                scoregrid.setColAlign("right,left,left,right,right");
                scoregrid.setColTypes("ro,ro,ro,ro,ro");
                scoregrid.setColSorting("str,str,str,int,int");
                scoregrid.init();

                scoregrid.parse(data, "score");
                ProcessEventList(sMeetDB, eventgrid);
            }
            else {
                alert(data.PwdChk);
                location.reload(true);
            };
        },
        error: OnError
    });return true;
}

function ProcessPWSLMeets(msg, status) {
    var data = jQuery.parseJSON(msg.d);
    var fmt = "";
    var cnt = 1;
    if (data[0] == null) {document.getElementById("MeetDiv").innerHTML = "No Meets Available"; }
    else {
        var hdr = "PWSL Swim Meets for " + data[0].MeetDate;
        var t = "<table id=PWSLMeets'><tr>";
        document.getElementById("MeetDiv").innerHTML = hdr;
        document.getElementById("NavDiv").innerHTML = "<p>";
        document.getElementById("TitleDiv").innerHTML = "Score Board";
        document.getElementById("Summary").innerHTML = "";
        document.getElementById("Records").innerHTML = "";
        //$("#MeetDiv").html(hdr);
        //$("#NavDiv").html("<p>");
        //$("#TitleDiv").html("Score Board");

        jQuery.each(data, function (index, value) {
            if (data[index] != null) {

                var obj = data[index];
                var bgcol = "";
                switch (obj.HostDiv) {
                    case "Black":
                        bgcol = "Silver";
                        break;
                    case "Green":
                        bgcol = "Lime";
                        break;
                    default:
                        bgcol = obj.HostDiv;
                };
                if (obj.SellService == "True") {
                    sSell = "1";
                } else {
                    sSell = "0";
                };
                setCookie("accessID=", obj.AccessID);
                t = t + "<td><table id=Scoreboard onClick=GetMeet('" + obj.MeetName + sSell + "')><tr>";
                t = t + "<td id=ScoreHdr bgcolor='" + bgcol + "' colspan=3>@" + obj.HostName + " (" + obj.CurrentEvent + ")</td></tr>";
                var oTeams = obj.MeetTeams;

                jQuery.each(oTeams, function (i, val) {
                    var oTeam = oTeams[i];
                    t = t + "<tr><td>&nbsp</td><td id=ScoreCell>" + oTeam.TeamAbbr + "</td>";
                    t = t + "<td id=ScoreCell>" + oTeam.TeamScore + "</td></tr>";
                });
                t = t + "</table></td>";
                if (cnt == 4) {
                    t = t + "</tr><tr>";
                    cnt = 1;
                }
                else {
                    cnt = cnt + 1;
                };
                //        if ((obj.EventOrder % 10) == 0) { t = t + "</tr><tr>"; };
            };
        });
        t = t + "</tr></table> ";
        document.getElementById("DetailDiv").innerHTML = t;
    }
    //$("#DetailDiv").html(t);
    return true;
}

function OnError(request, status, error) {
    $("#MeetDiv").html("");
    $("#TitleDiv").html("");
    $("#DetailDiv").html(request.responseText);
    $("#NavDiv").html("");
    $("#Sumamry").html("");
    $("#Records").html("");
    return true;
}

function MeetNav(item, sMeetDB, sType) {
    var t = "";
    t = "<table class=nav-data><tr>";
    if (item == 'Score') { t = t + "<td class=active width=25px>"; } else { t = t + "<td width=25px>"; };
    t = t + "<b onclick=callProcessMeet('" + sMeetDB + "')>Score</b></td>";
    if (item == 'Events') { t = t + "<td class=active width=25px>"; } else { t = t + "<td width=25px>"; };
    t = t + "<b onclick=ProcessEventListNew('" + sMeetDB + "')>Events</b></td>";
    if (item == 3) { t = t + "<td class=active width=25px>"; } else { t = t + "<td width=25px>"; };
    t = t + "<b onclick=getAges()>Age Groups</b></td>";
    if (sType != '') { t = t + ForwardBackNav(sType, ''); } else { t = t + "<td width=61px></td>"; };
    t = t + "</tr></table>";
    return t;
}

function ForwardBackNav(eventnum, MeetDB) {
    alert('Here in FBN');
    var evnext = 0;
    var evprev = 0;
    var evnum = eventnum.substring(6);
    
    switch (parseInt(evnum)) {
        case 1:
            evnext = (parseInt(evnum) + 1);
            evprev = 67;
            break;
        case 67:
            evnext = 1;
            evprev = evnum - 1;
            break;
    default:
        evnext = (parseInt(evnum) + 1);
        evprev = evnum - 1;
    };
    
    var t = "<td width=25px></td>";
    t = t + "<td onClick=GetResults('" + evprev + "') align=center style='width:18px'><img src='images/prev.png' alt=''/></td>";
    //t = t + "<td id=navevt onClick=ProcessEventList('" + MeetDB + "')></td>";
    t = t + "<td onClick=GetResults('" + evnext + "') align=center style='width:18px'><img src='images/next.png' alt=''/></td>";
    return t;
}

function setCookie(c_name, value) {
    var exdate = new Date();
    exdate.setDate(exdate.getDate() + 1);
    document.cookie = c_name + escape(value) + ";expires=" + exdate.toUTCString(); return true
}

function getCookie(c_name) {
    if (document.cookie.length > 0) {
        c_start = document.cookie.indexOf(c_name);
        if (c_start != -1) {
            c_start = c_start + c_name.length;
            c_end = document.cookie.indexOf(";", c_start);
            if (c_end == -1) c_end = document.cookie.length;
            return unescape(document.cookie.substring(c_start, c_end));
        }
    }
    return "";
}
function writedelay() {
    var i = 0;i += 1;
}
function popupResults(data) {
   
    var events = data.Events;
    var newwindow2 = window.open("", "mywindow", "height=200, width=340,toolbar=no,scollbars=no,menubar=no");
    var tmp = newwindow2.document;
    newwindow2.document.write("<html><head><title>AthleteSummary</title>");
    newwindow2.document.write("<link href='css/swimfast.css' rel='Stylesheet', type='text/css' />");
    newwindow2.document.write("</head><body>Results for: " + data.AthName);
    newwindow2.document.write("<br><table class='gridbox' name='grid2'>");
    newwindow2.document.write("<thead><tr class='hdr'><th width='40px'>Ev#</th><th width='145px'>Stroke</th><th width='60px'>Seed</th><th width='60px'>Finish</th></tr></thead><tbody>");
    var t = "";
    jQuery.each(events, function (index, value) {
        if (events[index] != null) {
            var obj = events[index];
            if (index % 2) { t = t + "<tr class=odd>"; } else { t = t + "<tr>"; };
            t = t + "<td align='right'>" + obj.EventPtr + "</td><td>" + obj.EventStroke;
            if (obj.RelayLtr != '') { t = t + "-" + obj.RelayLtr; };
            t = t + "</td><td align='right'>" + obj.SeedTime + "</td><td align='right'>" + obj.FinTime + "</td></tr>";
        };
    });
    newwindow2.document.write(t);
    newwindow2.document.write("</tbody></table>");
    newwindow2.document.write("<br>");
    newwindow2.document.write("<a href='javascript:self.close()'>close</a>");
    newwindow2.document.write("</div></body></html>");
    newwindow2.document.close(); return true;
}
function popupDQ(EventPtr, reason, AthName) {

    var newwindow2 = window.open("", "mywindow", "height=200, width=340,toolbar=no,scollbars=no,menubar=no");
    var tmp = newwindow2.document;
    if (reason.length == 0) { reason = "Reason has not been entered"; };
    newwindow2.document.write("<html><head><title>Athlete DQ Information</title>");
    newwindow2.document.write("<link href='css/swimfast.css' rel='Stylesheet', type='text/css' />");
    newwindow2.document.write("</head><body>DQ For: " + AthName);
    newwindow2.document.write("<br><table class='gridbox' name='grid2'>");
    newwindow2.document.write("<thead><tr class='hdr'><th width='100px'>Event #" + EventPtr + "</th></tr></thead>");
    newwindow2.document.write("<tbody><td>" + reason + "</td></tbody></table>");
    newwindow2.document.write("<br>");
    newwindow2.document.write("<a href='javascript:self.close()'>close</a>");
    newwindow2.document.close(); return true;
}
function manageTabs(id) {
    var CurEvt = document.getElementById("CurRptEvt").value;
    if (id == "a1" || id == "a2") { tabbar.hideTab("a3"); tabbar.hideTab("a5"); tabbar.hideTab("a6"); };
    if (id == "a2") if (navigator.platform == 'iPad' || navigator.platform == 'iPhone') { tabbar.setSize("350", (5 + 67) * 21, true); } else { tabbar.setSize("350", "400", true); };
   // if (id == "a3") { tabbar.showTab("a5"); tabbar.showTab("a6"); };
    if (id == "a4") { tabbar.hideTab("a5"); tabbar.hideTab("a6"); tabbar.setSize("350", "400", true); };
    if (id == "a5") { if (CurEvt == "1") { GetResults(67); } else { GetResults(CurEvt - 1); }; };
    if (id == "a6") { if (CurEvt == "67") { GetResults(1); } else {CurEvt = parseInt(CurEvt) + 1;  GetResults(CurEvt); }; };
    //this was here dont delete return
    $("#Summary").html("");
    $("#Records").html("");
        return true;
}
