﻿//splitter.js

var divLeftLeftOffset = 0.5;
var divLeftWidth = 20;
var divLeftTop = 1;
var divLeftBottom = 1;
var divCentreLeftOffset = 20.5;
var divCentreWidth = 0.5;
var divCentreTop = 1;
var divCentreBottom = 1;
var divRightRightOffset = 0.5;
var divRightWidth = 78.5;
var divRightTop = 1;
var divRightBottom = 1;
var isCapture = false;
var startCaptureX = 0;
var endCaptureX = 0;
var oDivLeft = null;
var oDivRight = null;
var oDivSplitter = null ;
var oPageBounds = null;

function BodyLoad( )
{
    oDivLeft = document.getElementById ( "divLeft" );   
    oDivSplitter = document.getElementById ( "divSplitter" );
    oDivRight = document.getElementById ( "divRight" );   
    oPageBounds = document.getElementById ( "divPageBounds" );
    dropInfo = "";
    dropCandidate = "";
    dropTarget = "";
}



function SplitterMouseUp( evtObj )
{
    if( isCapture)
    {
        endCaptureX = evtObj.clientX;
        oDivSplitter.releaseCapture();
        Recompose( );
    }
}

function SplitterMouseDown( evtObj )
{
    
    var src = evtObj.srcElement;
    if( src.id === "divSplitter" )
    {
        isCapture = true;

        startCaptureX = evtObj.clientX;
        if( oDivSplitter === null )
        {
            BodyLoad();
        }
        if ( !IsNullOrEmpty(oDivSplitter ))
        {
            oDivSplitter.setCapture();
        }
    }
}


function Recompose( )
{
    var reduceLeftDiv = true;
    var clientRect = getCoords( oPageBounds );
    var clientWidth = clientRect.width;
    var diff = startCaptureX - endCaptureX;
    
    if( isNaN( diff ) )
    {
        return;
    }
    if( diff < 0 )
    {
        reduceLeftDiv = false;
        diff = Math.abs( diff );
    }
    
    var percentOfClient = (diff/clientWidth)*100;
    var runIt = true;
    
    if( reduceLeftDiv )
    {
        if( divLeftWidth <= percentOfClient )
        {
            runIt = false;
        }
    }
    else
    {
        if( divRightWidth <= percentOfClient )
        {
            runIt = false;
        }
    }
    if( runIt )
    {
        if( reduceLeftDiv )
        {
            divLeftWidth -= percentOfClient;
        }
        else
        {
            divLeftWidth += percentOfClient;
        }

        oDivLeft.style.width = divLeftWidth + "%";
        divCentreLeftOffset = divLeftWidth + divLeftLeftOffset;
        oDivSplitter.style.left = divCentreLeftOffset + "%";
        
        if( reduceLeftDiv )
        {
            divRightWidth += percentOfClient;
        }
        else
        {
            divRightWidth -= percentOfClient;
        }
        oDivRight.style.width = divRightWidth + "%";
    }
}




if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();