﻿var SITE = "";

var gridSortKey;

function DropDownSort() {

    var ddlSort = document.getElementById("ddlSort");
    var sortKey = ddlSort.options[ddlSort.selectedIndex].value;

    SortBy(sortKey);
}

function SortBy(sortKey) {
    gridSortKey = sortKey;      // persist key

    var hidCurrentPage = document.getElementById("hidCurrentPage");
    var page = hidCurrentPage.value;

    var location = window.location.host;
    var url = "http://" + location + SITE + "/AppPages/TrackDayWebService.asmx/GetTrackDayTable";

    new Ajax.Request(url, {
        method: 'post',
        parameters: { sort: sortKey, pageNumber: hidCurrentPage.value },
        onSuccess: SortGrid,
        onFailure: Failure
    });

}

function GetPage(page, totalRecords, recordsPerPage) {
    var hidCurrentPage = document.getElementById("hidCurrentPage");
    hidCurrentPage.value = page;

    var ddlSort = document.getElementById("ddlSort");
    var sortKey = ddlSort.options[ddlSort.selectedIndex].value;

    var location = window.location.host;
    var url = "http://" + location + SITE + "/AppPages/TrackDayWebService.asmx/GetTrackDayTable";

    new Ajax.Request(url, {
        method: 'post',
        parameters: { sort: sortKey, pageNumber: hidCurrentPage.value },
        onSuccess: SortGrid,
        onFailure: Failure
    });

}

function SortGrid(transport) {
    var divTrackDayGrid = document.getElementById("divTrackDayGrid");

    // the response comes back as an Xml doc with the table
    // in the string node
    var xmlDoc = transport.responseXML;
    var tableNode = xmlDoc.getElementsByTagName("string")[0].firstChild.data;

    divTrackDayGrid.innerHTML = tableNode;

    var ddlSort = document.getElementById("ddlSort");
    for (var i = 0; i < ddlSort.options.length; i++) {
        if (ddlSort.options[i].value == gridSortKey) {
            ddlSort.options[i].selected = true;
        }
        else {
            ddlSort.options[i].selected = false;
        }
    }
}

function GetXmlHttpObject() {
    if (window.XMLHttpRequest) {
        // code for IE7+, Firefox, Chrome, Opera, Safari
        return new XMLHttpRequest();
    }
    if (window.ActiveXObject) {
        // code for IE6, IE5
        return new ActiveXObject("Microsoft.XMLHTTP");
    }
    return null;
}

function Failure(error) {
    alert("failed");
    alert("Failed: " + error.responseText);
}
        