﻿Type.registerNamespace("cc");

cc.Splitter = function(element)
{
    cc.Splitter.initializeBase(this, [element]);
};

cc.Splitter.prototype =
{
    initialize: function()
    {
        cc.Splitter.callBaseMethod(this, "initialize");
        
        var leftSide = $get("left-side", this.get_element());
        var splitter = $get("splitter", this.get_element());
        var rightSide = $get("right-side", this.get_element());
        var mouseDown = false;

        $(splitter).hover(
            function(e)
            {
                $(this).removeClass("splitter-normal");
                $(this).addClass("splitter-hover");
            },
            function(e)
            {
                $(this).removeClass("splitter-hover");
                $(this).addClass("splitter-normal");
            }
        ).mousedown(
            function(e)
            {
                mouseDown = true;
            }
        ).parent().mousemove(
            function(e)
            {
                if (mouseDown)
                {
                    $(leftSide).css("width", e.pageX + "px");
                    $(splitter).css("left", e.pageX + "px");
                    $(rightSide).css("left", e.pageX + 6 + "px");
                }
            }
        ).mouseup(
            function(e)
            {
                mouseDown = false;
            }
        );
    },

    dispose: function()
    {
        cc.Splitter.callBaseMethod(this, "dispose");
    }
};

cc.Splitter.registerClass("cc.Splitter", Sys.UI.Control);
Sys.Application.notifyScriptLoaded();