/*
 * Bits and pieces for FolkTuneFinder.com
 * 
 * Copyright Joe Wass 2011 - 2012
 *
 */
 
 
$(function()
{
    // Click on the label to trigger the checkbox.
    $(".favourites_checkbox").parent().click(
        function(event)
        {
            var $checkbox = $(event.target).find("input")[0];
            $checkbox.click();
        }
    );

    $(".group_tunelist_checkbox").parent().click(
        function(event)
        {
            var $checkbox = $(event.target).find("input")[0];
            $checkbox.click();
        }
    );
    
    // Favourite and unfavourite tunes.
    $(".favourites_checkbox").click(function(event){
        if (event.target.checked)
        {
            var endpoint = "/ajax/favourite/" + document.tuneId + "/set/" + event.target.value + "/";
        }
        else
        {
            var endpoint = "/ajax/favourite/" + document.tuneId + "/clear/" + event.target.value + "/";
        }
        
        $.ajax(endpoint, {
            success: function(){},
            error: function(){
                alert("Sorry it was not possible to save your favourite choice. Send me a mail if this happens more than once.");
                event.target.checked = ! event.target.checked;
            }
        });
    }
    );
    
    // Add and remove from group tunelists
    $(".group_tunelist_checkbox").click(function(event){
        if (event.target.checked)
        {
            var endpoint = "/ajax/group_tunelist/" + document.tuneId + "/set/" + event.target.value + "/";
        }
        else
        {
            var endpoint = "/ajax/group_tunelist/" + document.tuneId + "/clear/" + event.target.value + "/";
        }

        $.ajax(endpoint, {
            success: function(){},
            error: function(){
                alert("Sorry it was not possible to save your group tune list choice. Send me a mail if this happens more than once.");
                event.target.checked = ! event.target.checked;
            }
        });
    }
    );
    
    // Set up gradual preview.
    if ($("#abc-form #id_content").length > 0)
    {
        var prevContent = "";
        
        function update()
        {
            var newContent = $("#abc-form #id_content")[0].value;
        
            if (newContent.length > 5 && newContent != prevContent)
            {
                var url = "/typeset/quickie/?abc=" + encodeURI(newContent);
                
                var previewContainer = $("#abc-preview");
                var image = document.createElement("img");
                $(image).attr("src", url);
                image.onload = function()
                {
                    previewContainer.html("");
                    previewContainer.append($(image));
                };
                
                prevContent = newContent;
            }
        
            window.setTimeout(function(){update();}, 1000);
        }
        
        update();
    }
})


