﻿var url;
var filter = "current";

function init_Assignments(_moduleid, _iseditable) {

    $('#btnsubmit').attr("rel", _moduleid);

    $('#btnsubmit').click(function() {
        Subscribe($(this).attr("rel"));
    });

    $('#btnsubscribe').attr("href", dnn.getVar('publicurl') + '?skin=' + _SiteSkin + '&moduleid=' + _moduleid + '&mode=assignments_subscribe');
    
    FetchAssingments(_moduleid, _iseditable);

    $('#options a').click(function() {
        filter = $(this).attr('rel');
        $('#options a').removeClass('active');
        $(this).addClass('active');
        FetchAssingments(_moduleid, _iseditable);
    });

    SetEditControls(_iseditable, _moduleid, 'assignments');
}

function FetchAssingments(_moduleid, _iseditable) {

    var i;
    var html = "";
    //var summary = "";
    
    switch (filter) {
        case 'current':
            url = "/desktopmodules/sitebuilder/components/WebService.asmx/FetchAssignments_Current";
            break;
        case 'expired':
            url = "/desktopmodules/sitebuilder/components/WebService.asmx/FetchAssignments_Expired";
            break;
        case 'future':
            url = "/desktopmodules/sitebuilder/components/WebService.asmx/FetchAssignments_Future";
            break;
        case 'all':
            url = "/desktopmodules/sitebuilder/components/WebService.asmx/FetchAssignments_All";
            break;
    }

    $('#modulebody').empty();

    $.ajax({
        type: "POST",
        url: url,
        // pass parameters to webmethod
        data: "{ModuleID: " + _moduleid + "}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        dataFilter: function (data) {
            // This boils the response string down 
            //  into a proper JavaScript Object().
            var msg = eval('(' + data + ')');

            // If the response has a ".d" top-level property,
            //  return what's below that instead.
            if (msg.hasOwnProperty('d'))
                return msg.d;
            else
                return msg;
        },
        success: function(msg) {
            // clear all current modules
            $('#placeholder').empty();
            // if data is returned, iterate through response
            if (msg != '') {
                for (i = 0; i < msg.length; i++) {
                    html += '<div class="clear">';
                    if (_iseditable == 'True') { html += '<h3><a class="lnkedit shadowbox" rel=' + msg[i].ItemID + ' href="' + _privateurl + '?skin=' + _SiteSkin + '&mode=assignments&siteid=' + _SiteID + '&pageid=' + _PageID + '&ModuleID=' + _moduleid + '&ItemID=' + msg[i].ItemID + '&ModuleID=' + _moduleid + '"><img visible="false" class="imgedit" src="/desktopmodules/sitebuilder/images/edit.gif" alt="edit" /></a>' } else { html += '<h3>' }

                    //summary = msg[i].Description;

                    //if (summary.length > 300) { summary = truncate(summary, 300, '', msg[i].ItemID); }
                    html += msg[i].Title + '</h3><hr /><span class="duedate">Due On: ' + msg[i].sDueDate + '</span>';
                    html += (msg[i].Receive == true) ? '<span class="submitassign"><a class="lnkedit" rel="shadowbox;player=iframe" href="' + dnn.getVar('publicurl') + '?skin=' + _SiteSkin + '&mode=assignments_submit&itemid=' + msg[i].ItemID + '">Submit</a></span></div>' : '</div>';
                    html += '<span class="assigneddate">Assigned On: ' + msg[i].sAssignedDate + '</span><div class="desc assignment_' + msg[i].ItemID + '"><div class="toggle_' + msg[i].ItemID + '">' + msg[i].Description;
                    //html += '<p><a class="lnktoggle" rel="' + msg[i].ItemID + '" href="#">More...</a></p></div><div class="toggle_' + msg[i].ItemID + '" style="display:none;"><p>' + msg[i].Description + '</p><p><a class="lnktoggle" rel="' + msg[i].ItemID + '" href="#">Less...</a></p></div></div><br/>';
                    html += '</div></div><br/>';
                }
            }
            else {
                if (filter != 'all') {
                    html = "<h3>There are no " + filter + " assignments.</h3>"
                }
                else {
                    html = "<h3>There are no assignments.</h3>"
                }
            }

            $('#modulebody').append(html);

            Shadowbox.setup($('.lnkedit'), {
            onClose: FetchModule,
            width: 900
            });

            $('.lnktoggle').click(function() {
                $('.toggle_' + $(this).attr("rel")).toggle();
                return false;
            });

        }
        
        
    });
}
