
/* **********************************************************************
Code to add a document (press_release, event) to a subscription
********************************************************************** */

/* We need the idw namespace to be set up and everything the feedback does goes
into the user_feedback sub-namespace. */
idw.displaysubscriptionitems = {};


idw.displaysubscriptionitems.remove_item_from_list_callback = function(data_in, status)
{
    if (data_in.data!=false)
    {
    idw.displaysubscriptionitems.display_document_list(data_in.data);
    }
    else
    {
    alert(JSON.stringify(data_in.data));
    }
};

idw.displaysubscriptionitems.remove_item_from_list = function(item_id)
{
    /* Prepare the request and request the form from the server */
    var ud_dict = {'name': item_id,  'value': 'x', 'lang': idw.lang};
    $.post("/objects/" + 'subscription' + "/remove_document_from_track", JSON.stringify(ud_dict), idw.displaysubscriptionitems.remove_item_from_list_callback, "json");
};

idw.displaysubscriptionitems.display_document_list_callback = function(data_in, status)
{
    var s = '';
    s += '<div>';
    s += idw.translations.displaysubscriptionitems.messages[idw.lang].item_list_intro;
    s += '</div>';
    var itd;
    var items = data_in.data.items;
    s += '<div><ul>';
    for (var i in items)
    {
        itd = items[i];
        s += '<li>';
        s += '<a href="' + itd.url + '">' + itd.title + '</a>';
        s += ' ';
        s += '<span style="cursor:pointer" onclick="idw.displaysubscriptionitems.remove_item_from_list(' + itd.item_id + ');">';
        s += idw.translations.displaysubscriptionitems.messages[idw.lang].delete_item_from_list;
        s += '</span>';
        s += '</li>';
    };
    s += '</ul></div>';
    $("#mysubsc_items_dialog").html(s).dialog("open");
};

idw.displaysubscriptionitems.display_document_list = function(tracknum)
{
    /* Prepare the request and request the form from the server */
    var ud_dict = {'name': tracknum,  'value': "y", 'lang': idw.lang};
    $.post("/objects/" + 'subscription' + "/get_documents_in_track", JSON.stringify(ud_dict), idw.displaysubscriptionitems.display_document_list_callback, "json");
    $("#mysubsc_list_dialog").dialog("close");  
};

idw.displaysubscriptionitems.fill_tracklist_dialog = function(data_in, status)
{
    var s = '';
    if ('data' in data_in)
    {
        s += '<div>';
        s += idw.translations.displaysubscriptionitems.messages[idw.lang].track_list_intro;
        s += '</div>';
        var tracks = data_in.data.tracks;
        s += '<div><ul>';
        for (var k in tracks)
        {
            s += '<li><span style="cursor:pointer" onclick="idw.displaysubscriptionitems.display_document_list(' + k + ');">' + tracks[k] + '</span></li>';
        };
        s += '</div>';
      $("#mysubsc_list_dialog").html(s);
    }
};

idw.displaysubscriptionitems.toggle_track_list = function()
{
  var p = $(this).position();
  var d = $("#mysubsc_list_dialog");  
  if (d.dialog("isOpen") == true)
  {
    d.dialog("close");
  } else {
    var ud_dict = {'name': "x",  'value': "y", 'lang': idw.lang};
    $.post("/objects/" + 'subscription' + "/get_list_of_tracks", JSON.stringify(ud_dict), idw.displaysubscriptionitems.fill_tracklist_dialog, "json");
    d.dialog("option", "position", [p.left - 50, p.top + 20]);
    d.dialog("open");
  };
    
};

idw.displaysubscriptionitems.onload_function = function()
{
    if (idw_logged_in == true)
    {
        $("#mysubsc").html(idw.translations.displaysubscriptionitems.messages[idw.lang].open_track_list_label).click(idw.displaysubscriptionitems.toggle_track_list);
        $("#mysubsc_list_dialog").dialog({autoOpen: false, title: idw.translations.displaysubscriptionitems.messages[idw.lang].track_list_title});
        $("#mysubsc_items_dialog").dialog({autoOpen: false, width: "50%", title: idw.translations.displaysubscriptionitems.messages[idw.lang].item_list_title});
    };
};

$(document).ready(idw.displaysubscriptionitems.onload_function); 


