﻿function PopUpWindow(sLocation, sWindowName, sOptions)
{
	var oWindow = window.open(sLocation, sWindowName, sOptions);
}

function MouseOverItem(oItemToChange, sChangeValue)
{
    if (oItemToChange.nodeName == 'IMG')
        oItemToChange.src = sChangeValue;
    else
        oItemToChange.style.backgroundColor = sChangeValue;
}

function GiveFocus()
{
	var bFoundElement = false;

	if (document.forms.length > 0)
	{
		for (i=0;i<document.forms[0].elements.length;i++)
		{
			if ((document.forms[0].elements[i].type == 'text' || document.forms[0].elements[i].type == 'textarea' || document.forms[0].elements[i].type == 'password') && document.forms[0].elements[i].disabled == false && document.forms[0].elements[i].style.display != 'none')
			{
			    try
			    {
    				document.forms[0].elements[i].focus();
	    			bFoundElement = true;
    				break;
    		    }
    		    catch(e) {}
			}
		}

		if (!bFoundElement)
		{
			for (i=0;i<document.forms[0].elements.length;i++)
			{
				if (document.forms[0].elements[i].type == 'select-one' && document.forms[0].elements[i].disabled == false && document.forms[0].elements[i].style.display != 'none')
				{
    			    try
	    		    {
					    document.forms[0].elements[i].focus();
					    break;
    		        }
    		        catch(e) {}
				}
			}
		}
	}
}

function HighlightRow(oRow)
{
	if (oRow != null)
	{
		for (i=0;i<oRow.childNodes.length;i++)
		{
			if (!document.all)
			{
				if (oRow.childNodes[i].bgColor == '')
					oRow.childNodes[i].bgColor = '#ffff00';
				else
					oRow.childNodes[i].bgColor = '';
			}
			else
			{
				if (oRow.childNodes[i].style.backgroundColor == '')
					oRow.childNodes[i].style.backgroundColor = '#ffff00';
				else
					oRow.childNodes[i].style.backgroundColor = '';
			}
		}
	}
}

function HasAnItemSelected(oDropDown)
{
	var bReturn = false;
	var i = 0;

	for (i=0;i<oDropDown.options.length;i++)
	{
		if (oDropDown.options[i].selected)
		{
			bReturn = true;
			break;
		}
	}

	return bReturn;
}

function HasAnItemChecked(sControlName)
{
	var aControls = document.getElementsByName(sControlName);
	var bReturn = false;
	var i = 0;

	for (i=0;i<aControls.length;i++)
	{
		if (aControls[i].checked)
		{
			bReturn = true;
			break;
		}
	}

	return bReturn;
}

function BrowserVersion()
{
	return navigator.userAgent;
}

function DebugPrint(str, sElementID)
{
	var oElement = document.getElementById(sElementID);
	oElement.innerHTML += str + '<br/>';
}

function ReloadFrame(oFrame)
{
	if (oFrame != null)
		oFrame.document.location.reload();
}

function ListBoxSelectAll(oListBox, bSelectionMode)
{
	var i = 0;

	for (i=0;i<oListBox.options.length;i++)
		oListBox.options[i].selected = bSelectionMode;
}

function ChangeCheckBoxes(sCheckBoxName, bChecked)
{
	var oCheckBox = document.getElementsByName(sCheckBoxName);
	var i = 0;

	for (i=0;i<oCheckBox.length;i++)
	{
		if (oCheckBox[i].type == 'checkbox')
			oCheckBox[i].checked = bChecked;
	}
}

function GetValueOfRadioButton(sName)
{
	var aRadioButtons = document.getElementsByName(sName);
	var sReturn = null;

	if (aRadioButtons != null)
	{
		for (var i=0;i<aRadioButtons.length;i++)
		{
			if (aRadioButtons[i].checked)
			{
				sReturn = aRadioButtons[i].value;
				break;
			}
		}
	}

	return sReturn;
}

function SelectDropDownValue(oDropDownList, sValue)
{
	try
	{
		for (var i=0;i<oDropDownList.options.length;i++)
		{
			if (oDropDownList.options[i].value == sValue)
			{
				oDropDownList.options[i].selected = true;
				return;
			}
				
		}

		if (oDropDownList.options.length > 0)
			oDropDownList.options[0].selected = true;
	}
	catch (e)
	{}
}

function AddOptionToDropDown(oDropDown, sText, sValue)
{
    if (document.all)
    {
        oOption = document.createElement('option');
        oOption.setAttribute("value", sValue, 0);
        oOption.innerText = sText;

        oDropDown.appendChild(oOption);
    }
    else
    {
		oOption = document.createElement('option');
		oOption.text = sText;
		oOption.value = sValue;
		oDropDown.appendChild(oOption);
    }
}


function SetAllListBoxes(bSelectionMode)
{
    var aElements = document.forms[0].elements;

    for (var i=0;i<aElements.length;i++)
    {
        if (aElements[i].type == 'select-multiple')
            ListBoxSelectAll(aElements[i], bSelectionMode);
    }
}

function GetReferenceToASPNETControl(sControlName)
{
    var aElements = document.forms[0].elements;
    var oReturn = null;

    for (var i=0;i<aElements.length;i++)
    {
        if (aElements[i].name.indexOf(sControlName) >= 0)
        {
            oReturn = aElements[i];
            break;
        }
    }
    
    return oReturn;
}

function GetReferenceToASPNETControlInParentWindow(sControlName)
{
    var aElements = window.opener.document.forms[0].elements;
    var oReturn = null;

    for (var i=0;i<aElements.length;i++)
    {
        if (aElements[i].name.indexOf(sControlName) >= 0)
        {
            oReturn = aElements[i];
            break;
        }
    }
    
    return oReturn;
}


function ClearAllElements(aExcludedItems)
{
    var aElements = document.forms[0].elements;
    
    for (var i=0;i<aElements.length;i++)
    {
        if (!FindValueInArray(aExcludedItems, aElements[i].id))
        {
            switch (aElements[i].type)
            {
                case 'select-one':
                    aElements[i].selectedIndex = 0;
                    break;
                case 'select-multiple':
                    for (var j = 0;j<aElements[i].options.length;j++)
                        aElements[i].options[j].selected = false;

                    break;
                case 'checkbox':
                    aElements[i].checked = false;
                    break;
                case 'radio':
                    aElements[i].checked = false;
                    break;
                case 'text':
                    aElements[i].value = '';
                    break;
                case 'textarea':
                    aElements[i].innerHTML = '';
                    break;
                default:
                    break;
            }
        }
    }
}

function DisableControlBasedOnAnotherControlsValue(oControlToChange, oControlToTest, sTestValue)
{
    var bDoDisable = false;

    if (oControlToTest.type == 'select-one')
    {
        if (oControlToTest.options[oControlToTest.selectedIndex].value == sTestValue)
            bDoDisable = true;
    }
    else if (oControlToTest.type == 'select-multiple')
    {

        for (var i=0;i<oControlToTest.options.length;i++)
        {
            if (oControlToTest.options[i].selected && oControlToTest.options[i].value == sTestValue)
            {
                bDoDisable = true;
                break;
            }
        }
    }
    else if (oControlToTest.checkbox)
    {
        if (oControlToTest.checked == sTestValue || (oControlToTest.checked && oControlToTest.value == sTestValue))
            bDoDisable = true;
    }
    else
    {
        if (oControlToTest.value == sTestValue)
            bDoDisable = true;
    }

    oControlToChange.disabled = bDoDisable;
}

function MoveListBoxItemsFromOneListBoxToAnother(oListBoxFrom, oListBoxTo)
{
    var sItemsToRemove = '';
    var aItemsToRemove = null;

    for (var i=0;i<oListBoxFrom.options.length;i++)
    {
        if (oListBoxFrom.options[i].selected)
        {
            AddOptionToDropDown(oListBoxTo, oListBoxFrom.options[i].innerHTML, oListBoxFrom.options[i].value);
            sItemsToRemove += oListBoxFrom.options[i].value + ',';
        }
    }

    aItemsToRemove = sItemsToRemove.split(',');

    for (var i=oListBoxFrom.options.length-1;i>-1;i--)
    {
        for (var j=0;j<aItemsToRemove.length;j++)
        {
            if (oListBoxFrom.options[i].value == aItemsToRemove[j])
            {
                oListBoxFrom.remove(i);
                break;
            }
        }
    }
}

function RemoveAllListBoxItems(oListBox)
{
    for (var i=oListBox.options.length-1;i>-1;i--)
        oListBox.remove(i);
}

function DoSubmitSort(sSortOrder)
{
    var hidSortOrder = document.getElementById('hidSortOrder');

    hidSortOrder.value = sSortOrder;
    document.forms[0].submit();
}