$(function () {
    function subscribed(a)
    {
        for (var i=0; i<a.length; i++)
        {
            if (a[i].name == "add_to" && a[i].value)
            {
                return true
            }
            
            if (a[i].name.indexOf("circle_") == 0)
            {
                return true
            }
        }
        
        return false
    }
    
    function activateSubscribeButton(button)
    {
        var name = button.find("input[name='__subscribe_name']").val()
        var id = button.find("input[name='__subscribe_id']").val()
        var url = "/ajax/subscribe/"+id+"/"
        var box = $('#modal .modal_content')
        
        var activeClasses = ['push_active', 'share_active']
        
        function submit()
        {
            var form = box.find("form")
            var selected = form.find("option:selected")
            var value = selected.val()
            var groupIndex = selected.parents("optgroup").prevAll("optgroup").length
            
            
            if (value.indexOf("http://") == -1)
            {
              $.post(url, form.serialize(), function(data, status) {
                  if (data=="")
                  {
                      hideModal()
                      button.addClass(activeClasses[groupIndex])
                  }
                  else
                  {
                      box.html(data)
                      box.find("button").click(submit)
                  }
                
              })
            }
            else
            {
              form = $('<form action="'+value+'" method="post"><input type="hidden" name="sources-current" value="'+id+'"></form>')
              form.submit()
            }
            
            return false
        }
        
        button.click(function() {
            if (settings.AUTHENTICATED)
            {
                showModal(url, function() {
                    box.find("button").click(submit)
                })
            }
            else
            {
                document.location = "/accounts/login/?next=" + document.location
            }
            
            return false
        })
    }
    
    function activateSubscribeButtons(root)
    {
        var buttons = root.find(".actions .delivery")
        buttons.each(function () {
            activateSubscribeButton($(this))
        })
    }
    
    activateSubscribeButtons($(document))
    activateFunctions.push(activateSubscribeButtons)
})
