﻿function updateRatings(targetPage) {        
         $.get("/Psychics/GetRatings/" + $("#hdnUserId").val() + "/" + targetPage + "/5", 
            function(result) { 
                $("#AgentRatings div").remove(); 
                for (var i = 0; i < result.RatingsList.length; ++i)
                {
                    addRating(result.RatingsList[i]);
                }
                $("span[direction='next']").attr("targetPage", result.PageNumber + 1);
                $("span[direction='previous']").attr("targetPage", result.PageNumber - 1);
                fixPages(result);
            }, null, "json");
    }
    $(document).ready(function() {
        $("span[name='btnRatingsPageUpdate']").click(function() {
           updateRatings($(this).attr("targetPage"));
       });
        $("#ddlTimeZone").change(function() {
        $.get("/Psychics/GetSchedule/" + $("#hdnUserId").val() + "/" + $("#ddlTimeZone option:selected").attr("offset"), 
            function(result) { 
                $("#ScheduleList div").remove(); 
                addSchedule(result.DayList);
            }, null, "json");
        });
    });
    function fixPages(model)
    {
        if (model.PageNumber == 1 && model.NumberOfPages > 1 )
        {
            $("#spnNext").css("display", "");
            $("#spnPrev").css("display", "none");
            $("#spnSep").css("display", "none");
        }
        else if (model.PageNumber > 1 && model.PageNumber == model.NumberOfPages)
        {
            $("#spnNext").css("display", "none");
            $("#spnPrev").css("display", "");
            $("#spnSep").css("display", "none");
        }
        else if (model.PageNumber > 1 && model.PageNumber <= model.NumberOfPages)
        {
            $("#spnNext").css("display", "");
            $("#spnPrev").css("display", "");
            $("#spnSep").css("display", "");
        }
        else if (model.NumberOfPages == 0)
        {
            $("#spnNext").css("display", "none");
            $("#spnPrev").css("display", "none");
            $("#spnSep").css("display", "none");
        }
    }
    function addRating(rating)
    {
        $("#AgentRatings").append("<div><div class=\"ratings\">" +
                "<div class=\"col_ratings\">" + rating.FormattedDate + "</div>" +
                "<div class=\"col_ratings\">" + rating.UserName + "</div>" +
                "<div class=\"col_ratings\">" + getImage(rating.RatingScale) + "</div>" +
                "<div class=\"col_comments\">" + rating.Text + "</div>" +
            "</div></div>"
        );
    }
    function getImage(ratingScale)
    {
        switch(parseInt(ratingScale))
        {
            case 0:
                return "<img src=\"/images/Asknow/0stars.png\" alt=\"New Psychic\" />";
                break;
            case 1:
                return "<img src=\"/images/Asknow/1stars.png\" alt=\"1 Star Rating\" />";
                break;
            case 2:
                return "<img src=\"/images/Asknow/2stars.png\" alt=\"2 Star Rating\" />";
                break;
            case 3:
                return "<img src=\"/images/Asknow/3stars.png\" alt=\"3 Star Rating\" />";
                break;
            case 4:
                return "<img src=\"/images/Asknow/4stars.png\" alt=\"4 Star Rating\" />";
                break;
            case 5:
                return "<img src=\"/images/Asknow/5stars.png\" alt=\"5 Star Rating\" />";
                break;
        }
    }
     function addSchedule(DayList) {
        var scheduleString = "<div>";
        for (var i = 0; i < DayList.length; ++i) {
            scheduleString = scheduleString + "<h2>" + DayList[i].FormattedDate + "</h2>";
            if (DayList[i].EntryList != null) {
                for (var x = 0; x < DayList[i].EntryList.length; ++x) {
                    scheduleString = scheduleString + "<p>" + DayList[i].EntryList[x].FormattedStartTime + " - " + DayList[i].EntryList[x].FormattedEndTime + " " + DayList[i].EntryList[x].StatusText + "</p>";
                }
            }
            else
                scheduleString = scheduleString + "<p>Unavailable</p>";
        }
        scheduleString = scheduleString + "</div>";
        
        $("#ScheduleList").append(scheduleString);
    }