// set global var for today's date and format accordingly
var today = new Date();
var newDay = today.getDate() - 1;
today = new Date(today.getFullYear(), today.getMonth(), newDay, today.getHours(), today.getMinutes(), today.getSeconds(), 0);
today = today.format('d/m/Y');

var dates = new Array("12/02/2010", "13/02/2010", "14/02/2010", "15/02/2010", "16/02/2010", "17/02/2010", "18/02/2010", "19/02/2010", "20/02/2010", "21/02/2010", "22/02/2010", "23/02/2010", "24/02/2010", "25/02/2010", "26/02/2010", "27/02/2010", "28/02/2010");

// type: 1 = active, 2 = medal            
var scheduleObject = [
        { id: "alpineskiing", name: "Alpine Skiing", events: [
                { day: "1" },
                { day: "2" },
                { day: "3", type: 2 },
                { day: "4", type: 2 },
                { day: "5", type: 2 },
                { day: "6", type: 2 },
                { day: "7", type: 2 },
                { day: "8", type: 2 },
                { day: "9", type: 2 },
                { day: "10", type: 2 },
                { day: "11" },
                { day: "12" },
                { day: "13", type: 2 },
                { day: "14" },
                { day: "15", type: 2 },
                { day: "16", type: 2 },
                { day: "17" }
            ]
        },
         { id: "biathlon", name: "Biathlon", events: [
                { day: "1" },
                { day: "2", type: 2 },
                { day: "3", type: 2 },
                { day: "4" },
                { day: "5", type: 2 },
                { day: "6" },
                { day: "7", type: 2 },
                { day: "8" },
                { day: "9" },
                { day: "10", type: 2 },
                { day: "11" },
                { day: "12", type: 2 },
                { day: "13" },
                { day: "14" },
                { day: "15", type: 2 },
                { day: "16" },
                { day: "17" }
            ]
         },
         { id: "bobsleigh", name: "Bobsleigh", events: [
                { day: "1" },
                { day: "2" },
                { day: "3" },
                { day: "4" },
                { day: "5" },
                { day: "6" },
                { day: "7" },
                { day: "8" },
                { day: "9", type: 1 },
                { day: "10", type: 2 },
                { day: "11" },
                { day: "12", type: 1 },
                { day: "13", type: 2 },
                { day: "14" },
                { day: "15", type: 1 },
                { day: "16", type: 2 },
                { day: "17" }
            ]
         },
         { id: "nordic", name: "Cross-Country", events: [
                { day: "1" },
                { day: "2" },
                { day: "3" },
                { day: "4", type: 2 },
                { day: "5" },
                { day: "6", type: 2 },
                { day: "7" },
                { day: "8", type: 2 },
                { day: "9", type: 2 },
                { day: "10" },
                { day: "11", type: 2 },
                { day: "12" },
                { day: "13", type: 2 },
                { day: "14", type: 2 },
                { day: "15" },
                { day: "16", type: 2 },
                { day: "17", type: 2 }
            ]
         },
         { id: "curling", name: "Curling", events: [
                { day: "1" },
                { day: "2" },
                { day: "3" },
                { day: "4" },
                { day: "5", type: 1 },
                { day: "6", type: 1 },
                { day: "7", type: 1 },
                { day: "8", type: 1 },
                { day: "9", type: 1 },
                { day: "10", type: 1 },
                { day: "11", type: 1 },
                { day: "12", type: 1 },
                { day: "13", type: 1 },
                { day: "14", type: 1 },
                { day: "15", type: 2 },
                { day: "16", type: 2 },
                { day: "17" }
            ]
         },
         { id: "figureskating", name: "Figure Skating", events: [
                { day: "1" },
                { day: "2" },
                { day: "3", type: 1 },
                { day: "4", type: 2 },
                { day: "5", type: 1 },
                { day: "6" },
                { day: "7", type: 2 },
                { day: "8", type: 1 },
                { day: "9" },
                { day: "10", type: 1 },
                { day: "11", type: 2 },
                { day: "12", type: 1 },
                { day: "13" },
                { day: "14", type: 2 },
                { day: "15" },
                { day: "16", type: 1 },
                { day: "17" }
            ]
         },
         { id: "freestyleskiing", name: "Freestyle Skiing", events: [
                { day: "1" },
                { day: "2", type: 2 },
                { day: "3", type: 2 },
                { day: "4" },
                { day: "5" },
                { day: "6" },
                { day: "7" },
                { day: "8" },
                { day: "9", type: 1 },
                { day: "10", type: 2 },
                { day: "11", type: 1 },
                { day: "12", type: 2 },
                { day: "13", type: 2 },
                { day: "14", type: 2 },
                { day: "15" },
                { day: "16" },
                { day: "17" }
            ]
         },
        { id: "icehockey", name: "Ice Hockey", events: [
                { day: "1" },
                { day: "2", type: 1 },
                { day: "3", type: 1 },
                { day: "4", type: 1 },
                { day: "5", type: 1 },
                { day: "6", type: 1 },
                { day: "7", type: 1 },
                { day: "8", type: 1 },
                { day: "9", type: 1 },
                { day: "10", type: 1 },
                { day: "11", type: 1 },
                { day: "12", type: 1 },
                { day: "13", type: 1 },
                { day: "14", type: 2 },
                { day: "15", type: 1 },
                { day: "16", type: 2 },
                { day: "17", type: 2 }
            ]
        },
        { id: "luge", name: "Luge", events: [
                { day: "1" },
                { day: "2", type: 1 },
                { day: "3", type: 2 },
                { day: "4", type: 1 },
                { day: "5", type: 2 },
                { day: "6", type: 2 },
                { day: "7" },
                { day: "8" },
                { day: "9" },
                { day: "10" },
                { day: "11" },
                { day: "12" },
                { day: "13" },
                { day: "14" },
                { day: "15" },
                { day: "16" },
                { day: "17" }
            ]
        },
        { id: "nordic", name: "Nordic Combined", events: [
                { day: "1" },
                { day: "2" },
                { day: "3", type: 2 },
                { day: "4" },
                { day: "5" },
                { day: "6" },
                { day: "7" },
                { day: "8" },
                { day: "9" },
                { day: "10" },
                { day: "11" },
                { day: "12", type: 2 },
                { day: "13" },
                { day: "14", type: 2 },
                { day: "15" },
                { day: "16" },
                { day: "17" }
            ]
        },
        { id: "shorttrack", name: "Short Track", events: [
                { day: "1" },
                { day: "2", type: 2 },
                { day: "3" },
                { day: "4" },
                { day: "5" },
                { day: "6", type: 2 },
                { day: "7", type: 2 },
                { day: "8" },
                { day: "9", type: 2 },
                { day: "10", type: 2 },
                { day: "11" },
                { day: "12" },
                { day: "13", type: 2 },
                { day: "14" },
                { day: "15", type: 2 },
                { day: "16" },
                { day: "17" }
            ]
        },
        { id: "skeleton", name: "Skeleton", events: [
                { day: "1" },
                { day: "2" },
                { day: "3" },
                { day: "4" },
                { day: "5" },
                { day: "6" },
                { day: "7", type: 1 },
                { day: "8", type: 2 },
                { day: "9" },
                { day: "10" },
                { day: "11" },
                { day: "12" },
                { day: "13" },
                { day: "14" },
                { day: "15" },
                { day: "16" },
                { day: "17" }
            ]
        },
        { id: "skijumping", name: "Ski Jumping", events: [
                { day: "1", type: 1 },
                { day: "2", type: 2 },
                { day: "3" },
                { day: "4" },
                { day: "5" },
                { day: "6" },
                { day: "7" },
                { day: "8", type: 1 },
                { day: "9", type: 2 },
                { day: "10" },
                { day: "11", type: 2 },
                { day: "12" },
                { day: "13" },
                { day: "14" },
                { day: "15" },
                { day: "16" },
                { day: "17" }
            ]
        },
        { id: "snowboard", name: "Snowboard", events: [
                { day: "1" },
                { day: "2" },
                { day: "3" },
                { day: "4", type: 2 },
                { day: "5", type: 2 },
                { day: "6", type: 2 },
                { day: "7", type: 2 },
                { day: "8" },
                { day: "9" },
                { day: "10" },
                { day: "11" },
                { day: "12" },
                { day: "13" },
                { day: "14" },
                { day: "15", type: 2 },
                { day: "16", type: 2 },
                { day: "17" }
            ]
        },
        { id: "speedskating", name: "Speed Skating", events: [
                { day: "1" },
                { day: "2", type: 2 },
                { day: "3", type: 2 },
                { day: "4", type: 2 },
                { day: "5", type: 2 },
                { day: "6", type: 2 },
                { day: "7", type: 2 },
                { day: "8" },
                { day: "9", type: 2 },
                { day: "10", type: 2 },
                { day: "11" },
                { day: "12", type: 2 },
                { day: "13", type: 2 },
                { day: "14" },
                { day: "15", type: 1 },
                { day: "16", type: 2 },
                { day: "17" }
            ]
        }
        ];

// render grid
function renderSchedule(scheduleObject) {

    var whichDay = "";
    var htmlOutput = "<table>";
    htmlOutput += "<tr><td class='schedule'>Schedule</td>";

    // i = 1 as there is no Day 0
    for (i = 1; i < 18; i++) {
        htmlOutput += "<td id='day" + i + "' class='day'>DAY " + i + "</td>";
    }

    htmlOutput += "</tr>";

    for (var item in scheduleObject) {
        var obj = scheduleObject[item];

        htmlOutput += "<tr>";
        htmlOutput += "<td class='sportName'><a href='/vancouver-olympics/" + obj.id + "'>" + obj.name + "</a></td>";

        for (var event in obj.events) {
            var day = obj.events[event];

            htmlOutput += "<td id='" + obj.id + "_day" + day.day + "' class='";

            if (typeof (day.type) != "undefined") {
                htmlOutput += "type" + day.type;
            }
            else {
                if (today == dates[day.day - 1]) {
                    htmlOutput += "type3";
                    whichDay = day.day;
                }
            }

            htmlOutput += "'></td>";
        }
        htmlOutput += "</tr>";
    }
    htmlOutput += "</table>";

    $('#schedule_grid').html(htmlOutput);

    $('#day' + whichDay).html("TODAY").css("color", "#009ED8");  // set current day to today 
}

// highlight all today columns on schedule grid
function medalsToday(scheduleObject) {
    for (var item in scheduleObject) {
        var obj = scheduleObject[item];

        for (var event in obj.events) {
            var day = obj.events[event];

            var thisId = ".tabContainer #tab_" + obj.id;

            if (today == dates[day.day - 1] && day.type == 2) {
                $(thisId).attr("class", "medalsToday");
            }
        }
    }
}

// call functions on document.ready
$(function() {
    medalsToday(scheduleObject);
    renderSchedule(scheduleObject);
});











