﻿function getElement(aID) {
    return (document.getElementById) ? document.getElementById(aID) : getElement[aID];
}

function ChangeHLText(HL) {
    try {

        var HLObj = getElement(HL);
        if (HLObj != null) {
            if (HLObj.innerHTML == "<a>[+]</a>") {
                HLObj.innerHTML = "<a>[-]</a>";

            }
            else if (HLObj.innerHTML == "<a>[+]</a>") {
                HLObj.innerHTML = "<a>[-]</a>";

            }
            else {
                HLObj.innerHTML = "<a>[+]</a>";
            }
        }
    }
    catch (e)
	{ }
}

function SetExpanded(HL, HTB) {
    try {
        var IsExpanded = false;
        var HTBObj = getElement(HTB);
        var HLObj = getElement(HL);

        if (HLObj != null && HTBObj != null) {

            if (HLObj.innerHTML == "<a>[+]</a>") {
                IsExpanded = false;
            }
            else {
                IsExpanded = true;
            }


            var ExpandedData = HTBObj.value;
            if (ExpandedData == null) {
                ExpandedData = "";
            }

            //===============================================================
            if (ExpandedData.length < 1 && IsExpanded == true) {
                //No Previous Expanded Data.  
                //Add new Expanded Field.
                ExpandedData = HL;
                HTBObj.value = ExpandedData;
            }
            else if (ExpandedData.length < 1 && IsExpanded == false) {
                //No Previous Expanded Data.  
                //Clean up old Expanded Field. 
                //But ExpandedData is empty, so no work is needed.
            }

            else if (ExpandedData.length > 0 && ExpandedData.indexOf(HL) == -1 && IsExpanded == true) {
                //Expanded data has data from before.
                //No existing record exists for this field. 
                //We can add new Expanded field. 
                //We can use a comma is a delimeter.
                ExpandedData = ExpandedData + "," + HL;
                ExpandedData = ExpandedData.replace(",,", ",");
                HTBObj.value = ExpandedData;
            }
            else if (ExpandedData.indexOf(HL) > -1 && IsExpanded == true) {
                //Expanded data has data from before. 
                //Existing record exists for this field. 
                //We do not need to perform any updates.
            }
            else if (ExpandedData.indexOf(HL) > -1 && IsExpanded == false) {
                //Expanded data has data from before.
                //Existing record exists for this field
                //We remove it as it is not expanded any longer.
                ExpandedData = ExpandedData.replace(HL, "");

                //Make sure we don't have a double delimeter
                ExpandedData = ExpandedData.replace(",,", ",");
                HTBObj.value = ExpandedData;
            }
            else if (ExpandedData.indexOf(HL) == -1 && IsExpanded == false) {
                //Expanded data has data from before.
                //Existing record does not exists for this field
                //No work is needed.
            }
            //===============================================================
        }
    }
    catch (e)
	{ }
}

function HidePanel(Panel) {
    try {
        var ChosenPanel = getElement(Panel);
        if (ChosenPanel != null) {
            getElement(Panel).style.display = "none";
        }
    }
    catch (e)
	{ }
}

function ShowPanel(Panel) {
    try {
        var ChosenPanel = getElement(Panel);
        if (ChosenPanel != null) {
            getElement(Panel).style.display = "block";
        }
    }
    catch (e)
	{ }
}

function HideShowPanel(Panel) {
    try {
        var ChosenPanel = getElement(Panel);
        if (ChosenPanel != null) {
            var currentdisplay = getElement(Panel).style.display;
            
            if (currentdisplay == "block" || currentdisplay == "") {
                getElement(Panel).style.display = "none";
            }
            else {
                getElement(Panel).style.display = "block";
            }
        }
    }
    catch (e)
	{ }
}

function HideShowPanel(Panel, ImgCtrl)
{
	try 
	{
        var ChosenPanel = getElement(Panel);
        var Imageobj = getElement(ImgCtrl);
        
        if (ChosenPanel != null)
        {
            var currentdisplay = getElement(Panel).style.display;
            
            if (currentdisplay == "block" || currentdisplay == "")
            {
                getElement(Panel).style.display = "none";
            }
            else
            {
                getElement(Panel).style.display = "block";
            }
        }
        if ( Imageobj != null )
		{
		    if ( Imageobj.src.indexOf("plus") == -1 )
		    {
		        Imageobj.src = "/Images/plus.png";
		    }
		    else
		    {
		        Imageobj.src = "/Images/minus.png";
		    }
		}
	}
    catch (e)
	{ }	
}

function HideShowAll(divid) {
    try {
        var j = 0;
        for (j = 0; j < 10; j++) {
            var dataid = divid + j;
            HideShowPanel(dataid);
        }
    }
    catch (e)
    { }
}


function ModifyStateOfVisibilityOnServer(TextBoxID, Panel) {
    try {
        var TB = getElement(TextBoxID);
        var PNL = getElement(Panel);
        if (TB != null && PNL != null) {
            var currentdisplay = getElement(Panel).style.display;
            if (currentdisplay == "block") {
                TB.value = "block";
            }
            else {
                TB.value = "none";
            }
        }
    }
    catch (e)
	{ }
}

function ShowPicture(LB)
{
    try
    {
        var NewVirtualPath = "";
        var LBobj = getElement(LB);
        
        if ( LBobj != null)
	    {
	        if ( LBobj.selectedIndex != -1 )
	        {
	            NewVirtualPath = LBobj.options[LBobj.selectedIndex].value;
	            //alert(NewVirtualPath);
	            window.open(NewVirtualPath,'ViewPicture','width=600,height=400,left=100,top=100,screenX=100,screenY=100');
		    }
		}
    }
    catch(e)
    {}
}

function ChangeImage(Ctrl, LB)
{
	try
	{
	    var NewVirtualPath = "";
	    
	    var obj = getElement(Ctrl);
	    var LBobj = getElement(LB);

	    if ( obj != null && LBobj != null)
	    {
	        NewVirtualPath = LBobj.options[LBobj.selectedIndex].value;
	        window.open (NewVirtualPath,"mywindow"); 
		    //obj.src = NewVirtualPath;
		}
	}
	catch(e)
	{}
}

function ChangeToImage(Ctrl, NewPath)
{
	try
	{
	    var obj = getElement(Ctrl);
	    
	    if ( obj != null && NewPath != null && NewPath.length > 0 )
	    {
	        obj.src = NewPath;
		}
	}
	catch(e)
	{}
}

function ShowHideDiv(Ctrl)
{
	try
	{
	    var obj = getElement(Ctrl);
	    
	    if ( obj != null )
	    {
	        var currentdisplay = obj.style.display;
	        
	        if ( currentdisplay == "none" )
	        {
	            obj.style.display = "block";
	        }
	        else if ( currentdisplay == "block" )
	        {
	            obj.style.display = "none";
	        }
	        else 
	        {
	            obj.style.display = "none";
	        }
		}
	}
	catch(e)
	{}
}

function ShowDiv(Ctrl, TextBoxToHoldStateOfDiv)
{
	try
	{
	    var obj = getElement(Ctrl);
	    var TBobj = getElement(TextBoxToHoldStateOfDiv);
	    
	    if ( obj != null )
	    {
	        obj.style.display = "block";
	        
	        if ( TBobj != null )
	        {
	            TBobj.value = "block";
	        }
		}
	}
	catch(e)
	{}
}


function ShowMsg(msg)
{
    alert(msg);
}


function TextCounter(TextBoxID, DisplayCharacterControlID, maxlimit) 
{
    var InputObj = getElement(TextBoxID);
    var CharacterObj = getElement(DisplayCharacterControlID);
    
    if ( InputObj != null )
    {
        if (InputObj.value.length > maxlimit) 
        {
            // if too long...trim it!
            InputObj.value = InputObj.value.substring(0, maxlimit);
        }
        else
        {
            // otherwise, update 'characters left' counter
            if ( CharacterObj != null )
            {
                CharacterObj.innerHTML = maxlimit - InputObj.value.length;
            }
        }
    }
}

// config
var menuArray = new Array();
menuArray[0] = 'submenu1';
menuArray[1] = 'submenu2';
menuArray[2] = 'submenu3';
menuArray[3] = 'submenu4';
menuArray[4] = 'submenu5';
menuArray[5] = 'submenu6';
menuArray[6] = 'submenu7';
menuArray[7] = 'submenu8';

// initialize variables
var globalObject = '';
var isActive = false;
var ourTimer;

/**
Purpose  : show or hide a particular div
Params   : obj - menu div to show/hide
onlink - true if mouse is over a link
*/
function showhide(obj, onlink) {
    
    targetObject = document.getElementById(obj).style;
    globalObject = targetObject;
    if (onlink) {
        clearTimeout(ourTimer);

        for (i = 0; i < menuArray.length; i++) {
            var tempObject = document.getElementById(menuArray[i]).style;
            tempObject.visibility = "hidden";
        }

        targetObject.visibility = 'visible';
        isActive = true;
    }
    else {
        isActive = false;
        layerTimer();
    }
}

/**
Purpose: starts our timer and hides the menu when complete
*/
function layerTimer() {
    ourTimer = setTimeout("hideMenu()", 0750);
}

/**
Purpose: hides the menu div if its not active
*/
function hideMenu() {
    if (!isActive) {
        globalObject.visibility = 'hidden';
    }
}

/**
Purpose  : checks if the mouse is still over the div
Params   : flag - true if mouse is over the div
*/
function layerCheck(flag) {
    if (flag) {
        isActive = true;
        clearTimeout(ourTimer);
    }
    else {
        isActive = false;
        layerTimer();
    }
}


// window load
window.onload = function() {
    for (var i = 0; i < menuArray.length; i++) {
        var id = menuArray[i];
        var e = document.getElementById(id);
        e.onmouseover = function(e) {
            layerCheck(true);
        }
        e.onmouseout = function(e) {
            layerCheck(false);
        }
    }
}
