/*  Sprite JS version 1.0, Dated 15 March 2011 */

$(function() {

    /*	TOP NAVIGATION	*/
    $('#header ul li').each(function() {
        $(this).hover(function() {
            $(this).find('a:first').addClass('mHover');
            $(this).find('ul').slideDown('slow');
            return false;
        }, function() {
            $(this).find('a:first').removeClass('mHover');
            $(this).find('ul').slideUp('fast');
        });
    });

    /*  DATE PICKER */

    $('.clkDate #pickDate').datepicker({
        inline: true,
        showOn: 'button',
        buttonImage: '../Content/images/txtDate.gif',
        buttonImageOnly: true,
        dateFormat: 'd MM, yy',
        maxDate: setLastDate(),
        minDate: setMinDate(),
        onSelect: function(date) {
            GetHighestWinnerByDate(this.value);
            date = date.split();
            dateD = date[0];
            dateDD = dateD.split(" ", 2);


            if (dateDD[0] <= GetMaxDayCric()) {
                $(".nextDate").removeClass("disabled");
            }

            if (dateDD[0] == GetMaxDayCric()) {
                $(".nextDate").addClass("disabled");
            }

            if (dateDD[0] >= getMinDate() || 3 <= (getMinMonth() + 1)) {
                $(".prevDate").removeClass("disabledPrevCric");
            }

            if (dateDD[0] == getMinDate()) {
                $(".prevDate").addClass("disabledPrevCric");
            }

        }
    });


    $('.paperCover #pickDate').datepicker({
        inline: true,
        showOn: 'button',
        buttonImage: '../Content/images/change_date.png',
        buttonImageOnly: true,
        dateFormat: 'D, dd, M',
        maxDate: new Date(2011, 03, 26),
        minDate: setMinDateTQ(),
        onSelect: function(date) {
            setCalDate();
            GetTqWinnerByDate(this.value);
            date = date.split(",");
            if (date[1] <= GetMaxDay() || 3 <= GetMaxMonth()) {
                $(".nextDate").removeClass("disabled");
            }

            if (date[1] == (GetMaxDay() + 1)) {
                $(".nextDate").addClass("disabled");
            }

            if (date[1] >= getMinDateTQ() || 3 >= GetMaxMonth()) {
                $(".prevDate").removeClass("disabledPrev");
            }

            if (date[1] == getMinDateTQ()) {
                $(".prevDate").addClass("disabledPrev");
            }
        }
    });




    //To make a Call to controller
    function GetHighestWinnerByDate(date) {
        var newDate = date;
        $.ajax({
            url: '/Contest/HighestScorer',
            dataType: 'html',
            type: 'POST',
            data: 'newDate=' + newDate,
            success: function(result) {
                $('#scoreDetails').html(result);
                $('.crickScroller').jScrollbar();
            },
            error: function(xhr, ajaxOptions, thrownError) {
                console.log(xhr.status + " " + thrownError + " " + ajaxOptions);
            }
        });
    }

    //set today date
    $(".clkDate #pickDate").datepicker('setDate', setLastDate());
    $(".paperCover #pickDate").datepicker('setDate', new Date());

    function setLastDate() {
        var Today = new Date();
        var Yesterday = new Date(Today.getTime() - 86400000);
        return (Yesterday);
    }

    ///Get Next Date For TQ
    $('.paperCover span.nextDate').click(function() {
        var $picker = $("#pickDate");
        var date = new Date($picker.datepicker('getDate'));
        if (date.getDate() >= GetMaxDay() + 1 && date.getMonth() >= GetMaxMonth() && date.getFullYear() >= GetMaxYear()) {
            $(".nextDate").addClass("disabled");
            return false;
        }
        date.setDate(date.getDate() + 1);
        $picker.datepicker('setDate', date);
        if (date.getDate() === GetMaxDay() + 1 && date.getMonth() === GetMaxMonth() && date.getFullYear() === GetMaxYear()) {
            $(".nextDate").addClass("disabled");
        }
        $(".prevDate").removeClass("disabledPrev");
        GetTqWinnerByDate(formatDate(date));
        setCalDate();
        return false;
    });

    //for Prev Date for TQ page
    $('.paperCover span.prevDate').click(function() {
        var $picker = $("#pickDate");
        var date = new Date($picker.datepicker('getDate'));
        if ((date.getDate() - 1) < getMinDateTQ() && date.getMonth() <= getMinMonthTQ() && date.getFullYear() <= getMinYearTQ()) {
            $(".prevDate").addClass("disabledPrev");
            return true;
        }
        date.setDate(date.getDate() - 1);
        $picker.datepicker('setDate', date);
        if ((date.getDate()) === getMinDateTQ() && date.getMonth() === getMinMonthTQ() && date.getFullYear() === getMinYearTQ()) {
            $(".prevDate").addClass("disabledPrev");
        }
        $(".nextDate").removeClass("disabled");
        GetTqWinnerByDate(formatDate(date));
        setCalDate();
        return false;
    });



    //To make a Call to controller for TQ winners
    function GetTqWinnerByDate(date) {
        var newDate = date;
        $.ajax({
            url: '/Contest/GetWinnersForTQ',
            dataType: 'html',
            type: 'POST',
            data: 'newDate=' + newDate,
            success: function(result) {
                $(".paperCover #TodaysQuestion").html($('#todaysQuestion', result).html());
                $("#winscroll").html($('#Tqwinners', result).html());
                $('.winnerScroller').jScrollbar();
            },
            error: function(xhr, ajaxOptions, thrownError) {
                console.log(xhr.status + " " + thrownError + " " + ajaxOptions);
            }
        });
    }
    //for Next Date for Crickwit page
    function getNextDate() {
        var $picker = $("#pickDate");
        var date = new Date($picker.datepicker('getDate'));
        if (date.getDate() >= GetMaxDayCric() && date.getMonth() >= GetMaxMonthCric() && date.getFullYear() >= GetMaxYearCric()) {
            $(".nextDate").addClass("disabled");
            return true;
        }
        date.setDate(date.getDate() + 1);
        $picker.datepicker('setDate', date);
        if (date.getDate() === GetMaxDayCric() && date.getMonth() === GetMaxMonthCric() && date.getFullYear() === GetMaxYearCric()) {
            $(".nextDate").addClass("disabled");
        }
        $(".prevDate").removeClass("disabledPrevCric");
        GetHighestWinnerByDate(formatDate(date));
    }

    //for Pre Date for Crickwit page
    function getPrevDate() {
        var $picker = $("#pickDate");
        var date = new Date($picker.datepicker('getDate'));
        if ((date.getDate() - 1) < getMinDate() && date.getMonth() <= getMinMonth() && date.getFullYear() <= getMinYear()) {
            $(".prevDate").addClass("disabledPrevCric");
            return true;
        }
        date.setDate(date.getDate() - 1);
        $picker.datepicker('setDate', date);
        if ((date.getDate()) === getMinDate() && date.getMonth() === getMinMonth() && date.getFullYear() === getMinYear()) {
            $(".prevDate").addClass("disabledPrevCric");
        }
        $(".nextDate").removeClass("disabled");
        GetHighestWinnerByDate(formatDate(date));
    }


    function GetMaxDay() {
        var Today = new Date(2011, 03, 26);
        var maxDay = Today.getDate() - 1;
        return maxDay;
    }
    function GetMaxMonth() {
        var Today = new Date(2011, 03, 26);
        var maxMonth = Today.getMonth();
        return maxMonth;
    }

    function GetMaxYear() {
        var Today = new Date(2011, 03, 26);
        var maxYear = Today.getFullYear();
        return maxYear;
    }


    function GetMaxDayCric() {
        var Today = new Date();
        var maxDay = Today.getDate() - 1;
        return maxDay;
    }
    function GetMaxMonthCric() {
        var Today = new Date();
        var maxMonth = Today.getMonth();
        return maxMonth;
    }

    function GetMaxYearCric() {
        var Today = new Date();
        var maxYear = Today.getFullYear();
        return maxYear;
    }



    // Previous Day Link
    $('.clkDate span.prevDate').click(function() {
        getPrevDate();
        return false;
    });

    // Next Day Link
    $('.clkDate span.nextDate').click(function() {
        getNextDate();
        return false;
    });

    //for Prev Date for Crickwit page
    function setMinDate() {
        var minDate = new Date(2011, 03, 27);
        return minDate;
    }

    function getMinDate() {
        var minDate = setMinDate();
        var getMinDate = minDate.getDate();
        return getMinDate;
    }

    function getMinMonth() {
        var minMonth = setMinDate();
        var getMinMonth = minMonth.getMonth();
        return getMinMonth;
    }

    function getMinYear() {
        var minYear = setMinDate();
        var getMinYear = minYear.getFullYear();
        return getMinYear;
    }



    function setMinDateTQ() {
        var minDate = new Date(2011, 02, 31);
        return minDate;
    }

    function getMinDateTQ() {
        var minDate = setMinDateTQ();
        var getMinDate = minDate.getDate();
        return getMinDate;
    }

    function getMinMonthTQ() {
        var minMonth = setMinDateTQ();
        var getMinMonth = minMonth.getMonth();
        return getMinMonth;
    }

    function getMinYearTQ() {
        var minYear = setMinDateTQ();
        var getMinYear = minYear.getFullYear();
        return getMinYear;
    }




    //To format date
    function formatDate(date) {
        function fourdigits(number) {
            return (number < 1000) ? number + 1900 : number;
        }
        var formatedDate = (date.getMonth() + 1) + " /" + date.getDate() + "/ " + (fourdigits(date.getYear()));
        return formatedDate;
    }

    var lightBoxContents = ".lightbox_contents";
    var lightBoxBackground = ".lightbox_background";

    var launchLightBox = function(event) {
        event.preventDefault();
        showOverlay();
        var url = $(this).attr("href");
        var title = $(this).attr("title");
        var rel = $(this).attr("rel");
        var rel = "#" + rel;

        if (url == "#") {
            setTimeout(function() {
                $(lightBoxContents).css({ 'width': $(rel).width(), 'height': $(rel).height() });
                $(lightBoxContents).center();
                $(rel).clone().appendTo(lightBoxContents).css({ display: 'block' });
            }, 1000);
        }
    }

    var showOverlay = function(backgroundColor) {
        $(lightBoxBackground).css('z-index', 10050);
        $(lightBoxBackground).css({ opacity: 0, display: 'block', backgroundColor: '#000000' }).animate({ opacity: 0.7 });
        $(lightBoxBackground).css('height', ($(document).height()) + "px");
        $(lightBoxBackground).css('width', ($(document).width()) + "px");
        $(lightBoxContents).css({ display: 'block' });
    };

    var hideOverlay = function() {
        $(lightBoxBackground).css('z-index', 50);
        $(lightBoxBackground).hide();

    };

    var closeLightBox = function(event) {
        event.preventDefault();
        $(lightBoxContents).hide();
        $(lightBoxContents).empty();
        hideOverlay();
    };

    jQuery.fn.center = function() {
        this.css("position", "absolute");
        this.css("top", ($(window).height() - this.height()) / 2 + $(window).scrollTop() + "px");
        this.css("left", ($(window).width() - this.width()) / 2 + $(window).scrollLeft() + "px");
        if (this.height() >= $(window).height() && $(window).scrollTop() >= 125) {

            this.css("top", $(window).scrollTop() + "px");
        }
        else if (this.height() >= $(window).height() && $(window).scrollTop() < 125) {

            this.css("top", "125px");
        }
        return this;
    }

    var switchPopup = function(event) {
        event.preventDefault();
        var rel = $(this).attr("rel");
        var rel = "#" + rel;
        $(lightBoxContents).empty();
        $(rel).clone().appendTo(lightBoxContents).css({ display: 'block' });
    };

    /*  LEADERBOARD */
    $('#leadBoard').tabs();

    /*  ACCORDION   */
    $('#accContent').accordion({ icons: false });
    $('#accContent').find('ul li:even').addClass('odd');
    $(".lightBox").bind("click", launchLightBox);
    $(".lightBoxClose").live("click", closeLightBox);
    $(".switchPopUp").live("click", switchPopup);
    $(".btnCross").live("click", function(event) {
        event.preventDefault();
        $("#cricwitPopup").hide();
    });
    $("#gullyCricketThumb li img").hover(
     function() {
         $(this).css("width", "97");
         $(this).css("height", "66");
     },
     function() {
         $(this).css("width", "92");
         $(this).css("height", "63");
     }
     );
});

function setCalDate() {
    var selDate = $(".paperCover #pickDate").val();
    var mySplitResult = selDate.split(",");
    $("#lblDay").html(mySplitResult[0]);
    $("#lblDate").html(mySplitResult[1]);
    $("#lblMonth").html(mySplitResult[2]);
    $('.winnerScroller').jScrollbar();
}

$(document).ready(function() {
    $("a[rel=example_group]").fancybox({
        'transitionIn': 'none',
        'transitionOut': 'none',
        'titlePosition': 'over',
        'titleFormat': function(title, currentArray, currentIndex, currentOpts) {
            return '<span id="fancybox-title-over">Image ' + (currentIndex + 1) + ' / ' + currentArray.length + (title.length ? ' &nbsp; ' + title : '') + '</span>';
        }
    });

});

