﻿function BrickSelecting() {
  
    $('.brick').hover(
                function() {
                $(this).css({ 'border': '1px solid red', 'cursor': 'move' });
                },
                function() {
                $(this).css({ 'border': '1px solid orange', 'cursor': 'default' });
                }
            );
}

//$(function() {
//    $('.column').fadeTo("fast", 0.8);
//});

$(function() { BrickSelecting(); });


////Select elem

//function BrickBackSelect() {
//    $('div.brickBack')
//          .mouseover(function(event) {
//              $(event.target).addClass('outline-element');
//          })
//          .mouseout(function(event) {
//              $(event.target).removeClass('outline-element');
//          })
//          .click(function(event) {
//              $(event.target).toggleClass('outline-element-clicked');
//          });
//}

//$(function() { BrickBackSelect(); });


// Disable all links

function DisableLinks() {

    $("a").attr("href", "javascript:void(0);");
}


// Persistent layout
function saveState(brickOid, containerOid, index, panelName) {

    LayoutSaveCallback.PerformCallback("SAVE|" + brickOid + "|" + containerOid + "|" + index + "|" + panelName);
}


function getIndexOfBrick(ui) {
    var brick = ui.item.context;
    var brickOid = brick.getAttribute("oid");
    var container = ui.item.context.parentNode;
    var index = 0;

    for (var i = 0; i < container.childNodes.length - 1; i++) {
        var item = container.childNodes[i];
        if (item.className == "brick") {
            if (item.getAttribute("oid") == brickOid) {
                return index;
            }
            index++;
        }
    }
    return index;
}


function setSortable() {

    $(".column").sortable({
        items: '.brick',
        connectWith: '.column',
        placeholder: 'ui-state-highlight',
        distance: 15,
        forceHelperSize: true,
        cursorAt: 'top',
        cursor: 'crosshair',
        revert: 'true',
        opacity: 0.50,

        // handle dropped
        stop: function(event, ui) {

            saveState(ui.item.context.getAttribute("oid"), ui.item.context.parentNode.getAttribute("oid"),
                        getIndexOfBrick(ui), ui.item.context.parentNode.getAttribute("cont"));

            FixColumns();
        }
    });

    $(".column").disableSelection();

}

$(function() {
    setSortable();
    $(".column").css("minHeight", "15px");
});