﻿//Splitter JScript File

//*********************** FIELDS ***********************//
var isClick = false;
var oSplitter, oTdSplitter, oTdLeft, oTdRight, oTable,oSplitterImg;
var posTdSplitter, posTable;
var bLoaded = false;
var bStart = false;
var iPadding = 0;
var WindowBorderWidth = 2;
var WindowBorderHeight = 2;
//******************************************************//

//***************** INITIALIZE OBJECTS *****************//
function InitForSplitter()
{
    if (document.getElementById("splitter"))
    {
        oSplitter = document.getElementById("splitter");
        oTdSplitter = document.getElementById("splitterBar");
        oTdLeft = document.getElementById("treePane");
        oTdRight = document.getElementById("contentPane");
        oTable = document.getElementById("spMain_table");
        oSplitterImg = document.getElementById("imgSplitterBar");

        posTable = GetPosition(oTable);

        oSplitter.style.height = oTdSplitter.offsetHeight;
        oSplitter.style.width = oTdSplitter.offsetWidth;
        
        posTdSplitter = GetPosition(oTdSplitter);
        oSplitterImg.style.left = posTdSplitter.x;
        oSplitterImg.style.top = (document.body.clientHeight/2-oSplitterImg.clientHeight/2)+"px";
        oSplitterImg.style.visibility = "visible";
        bLoaded = true;
    }
}
//******************************************************//

//******************** MOUSE EVENTS ********************//
function MouseDown(event)
{
    if (document.getElementById("splitter"))
    {
        if (bLoaded == false)
        {
          return;
        }
        posTdSplitter = GetPosition(oTdSplitter);
        iPadding = posTdSplitter.x - event.clientX;

        oSplitter.style.left = posTdSplitter.x;
        
        oSplitter.style.top = posTdSplitter.y;
        oSplitter.style.display = "block";

        oSplitterImg.style.left = posTdSplitter.x;
        if (oSplitter.setCapture)
        {
          oSplitter.setCapture();
        }
        bStart = true;
    }
}

function MouseMove(event)
{
    if (document.getElementById("splitter"))
    {
        if (bStart == true)
        {
            oSplitter.style.left = event.clientX + iPadding;
        }
    }
}

function MouseUp(event)
{
    if (document.getElementById("splitter"))
    {    
        if (bStart == true)
        {
            oSplitter.style.display = "none";

            if (event.clientX > posTable.x && event.clientX < posTable.x + oTable.offsetWidth - oTdSplitter.offsetWidth)
            {
                var tvPackage = document.getElementById("tvPackage");
                tvPackage.style.width = event.clientX - posTable.x;
                oTdLeft.style.width = tvPackage.style.width;           
                posTdSplitter = GetPosition(oTdSplitter);
                oSplitterImg.style.left = posTdSplitter.x;
            }

            if (oSplitter.releaseCapture)
            {
                oSplitter.releaseCapture();      
            }
            bStart = false;
            setMainWidth();
        }
    }
}
//******************************************************//

//***** TOGGLE THE TREE WHEN CLICK ON THE SPLITTER *****//
function ToggleTree()
{
    var srcPath;
    if(oTdLeft.style.display != "none")
    {
        oTdLeft.style.display = "none"; 
        srcPath = document.getElementById("imgSplitter").src.replace("splitter_horCol.gif","splitter_horExp.gif");
    }
    else
    {
        oTdLeft.style.display = "block"; 
        srcPath = document.getElementById("imgSplitter").src.replace("splitter_horExp.gif","splitter_horCol.gif");
    }  
    document.getElementById("imgSplitter").src = srcPath;
    posTdSplitter = GetPosition(oTdSplitter);
    oSplitterImg.style.left = posTdSplitter.x;
    setMainWidth();
}
//******************************************************//

//******* RESIZE SPLITTER WHEN RESIZE THE WINDOW *******//
function ResizeSplitter()
{
    if (bLoaded)
    {
        oSplitter.style.height = oTdSplitter.offsetHeight;
        oSplitter.style.width = oTdSplitter.offsetWidth;

        oSplitterImg.style.left = posTdSplitter.x;
        oSplitterImg.style.top = (document.body.clientHeight/2-oSplitterImg.clientHeight/2)+"px";
    }
}
//******************************************************//

//***************** RESIZE THE WINDOW ******************//
window.onresize = function(e) 
{    
    ResizeSplitter();
    InitialSPMainTable();
    setMainWidth();
};
//******************************************************//
