﻿//Define Kpw object only if it's not already defined
if ("undefined" == typeof Kpw) {Kpw = {};}

//Initialize ImageClick
$().ready(function(){
    Kpw.InspirationBoard.init();
});

if ("undefined" == typeof Kpw.InspirationBoard) {
    Kpw.InspirationBoard = {
        init: function() {
            Kpw.InspirationBoard.EnterEditMode();
            Kpw.Filter.init();

            var contentUrl = $('.contentUrl').val();
            var contentTitle = $('.contentTitle').val();
            $(".contentBookmarks").bookmark({
                url: contentUrl,
                title: contentTitle,
                sites: ['twitter']
            });

        },
        Delete: function() {
            if (confirm("Are you sure you want to delete this Inspiration Board?")) {
                __doPostBack('ctl00$phContent$lbDelete', '');
            }
        },
        EnterEditMode: function() {
            Kpw.InspirationBoard.Images.initDragDrop();
        },
        Dialogs: {
            LoadBoardEditor: function() {

                //init dialog
                $("div.inspirationEdit").dialog({
                    title: 'Inspiration Board',
                    autoOpen: false,
                    resizable: false,
                    height: 300,
                    width: 700,
                    modal: true,
                    overlay: {
                        backgroundColor: '#000',
                        opacity: 0.5
                    },
                    open: function() {
                        $(this).parent().appendTo($("form:first"));
                    },
                    closeOnEscape: true
                });

                $("div.inspirationEdit").prev().addClass("inspirationEditHeader");
                $("div.inspirationEdit").next().addClass("inspirationEditFooter");
                $("div.inspirationEdit").parent().addClass("inspirationEditWrapper");
                $("div.inspirationEditWrapper span.ui-dialog-title").after('<span class="caption">Add Inspiration Tags</span>');

                $("div.inspirationEdit .PaletteSelect").multiSelect({
                    selectAll: false,
                    noneSelected: '',
                    oneOrMoreSelected: '*'
                });

                $('div.multiSelectOptions label input').each(function() {
                    var color = $(this).val();
                    $(this).parent().addClass(color);
                });

                $("div.inspirationEdit").dialog('open');
            }
        },
        Images: {
            initDragDrop: function() {
                // let the trash be droppable, accepting the gallery items
                $("div.inspiration div.inspirationBody .imageDrop").droppable({
                    activeClass: 'ui-state-highlight',
                    hoverClass: 'ui-drophover',
                    drop: function(ev, ui) {
                        $(this).html("");

                        var removeImage = '<a href="#Remove" class="removePhoto" title="remove" onclick="Kpw.Vendor.Photos.remove(this);return false;"></a>';
                        $(this).prepend(removeImage);
                        $("a.removePhoto").fadeIn("fast");

                        var image = $(ui.draggable).clone();
                        $(this).find("a.removePhoto").after(image.html());
                        image.remove();

                        var fullsizePath = $(this).find("span input.fullsizePath").attr("value");

                        if ($(this).hasClass("largeImage")) {
                            fullsizePath = fullsizePath.replace("245.232", "495.469");
                        } else if ($(this).hasClass("smallTallImage")) {
                            fullsizePath = fullsizePath.replace("245.232", "245.315");
                        } else if ($(this).hasClass("smallWideImage")) {
                            fullsizePath = fullsizePath.replace("245.232", "495.315");
                        }

                        $(this).find("span img")
					            .attr("src", fullsizePath)

                        Kpw.InspirationBoard.Images.updateImageData();
                    }
                });

            },
            updateImageData: function() {
                //re-initialize data array
                Kpw.InspirationBoard.Images.data = new Array();

                var photo;

                //populate secondary photo data
                $("div.inspiration div.inspirationBody .imageDrop").each(function(i) {
                    photo = {
                        Position: i + 1,
                        Id: $(this).find("input.photoId").attr("value"),
                        Alt: $(this).attr("alt"),
                        Title: $(this).attr("title"),
                        ThumbnailPath: $(this).find("input.thumbnailPath").attr("value"),
                        FullsizePath: $(this).find("input.fullsizePath").attr("value")
                    }
                    Kpw.InspirationBoard.Images.data.push(photo);
                });

                $("div.inspiration div.inspirationBody div.dialogs input.data").attr("value", JSON.stringify(Kpw.InspirationBoard.Images.data));
            }
        }
    }

}
