function IsPageValid(strGroup)
{
    if (typeof(Page_ClientValidate) == 'function') 
    {
        if (strGroup == null || strGroup == undefined ||
            strGroup == 'undefined')
        {
            return Page_ClientValidate();
        }
        else
        {
            return Page_ClientValidate(strGroup);
        }
    }
    else
    {
        return true;
    }  
}

function EnableControl(pControl, bEnabled)
{
	var pCTL = __GetObject(pControl);
	
	if (pCTL != null)
	{
		if (typeof(pCTL.controltovalidate) == "string")  // only do validator controls
		{
			ValidatorEnable(pCTL, bEnabled);			
		}
		else 
		{
			if (!bEnabled)
			{
				pCTL.disabled = 'disabled';
			}
			else
			{
				pCTL.disabled = null;
			}
		}
	}
}

function ClearControlValue(pControl)
{
	var pCTL = __GetObject(pControl);
	
	if (pCTL != null)
	{
		pCTL.value = '';
	}
}

function PrintControl(pControl)
{
	var pCTL = __GetObject(pControl);
	if (pCTL != null)
	{
		var pWin = window.open();
		pWin.document.body.innerHTML = pCTL.outerHTML;
		pWin.print();
		pWin.close();
	}
	return false;
}

/* 
	CopyDropDownValueToEditBox
	Copies the value of the selected item in a drop down box to a text box
*/
function CopyDropDownValue(pFrom, pTo)
{
	var pcboFrom = __GetObject(pFrom);
	var pedtTo = __GetObject(pTo);
	
	if (pcboFrom != null && pedtTo != null)
	{
		pedtTo.value = GetDropDownSelectedItemValue(pFrom);
	}
    return false;
}

function CopyDropDownText(pFrom, pTo)
{
	var pcboFrom = __GetObject(pFrom);
	var pedtTo = __GetObject(pTo);
	
	if (pcboFrom != null && pedtTo != null)
	{
		pedtTo.value = GetDropDownSelectedItemText(pFrom);
	}
    return false;
}

function ListBoxSelectedCount(pcnt)
{
    var iCnt = 0; 

	var pControl = __GetObject(pcnt);

    if (pControl != null)
    {
        for (var i = 0; i < pControl.length; i++)
        { 
            if (pControl[i].selected) 
            {
                iCnt++; 
            }
        }
    } 
    return iCnt;
}

function ListBoxSelectItemValue(pcnt, strValue, bSelect)
{
	var pControl = __GetObject(pcnt);

    if (pControl != null)
    {
        for (var i = 0; i < pControl.length; i++)
        { 
            if (pControl[i].value == strValue) 
            {
                pControl[i].selected = bSelect;
                break; 
            }
        }
    } 
}

function ListBoxIsItemValueSelected(pcnt, strValue)
{
    var bResult = false;
	var pControl = __GetObject(pcnt);

    if (pControl != null)
    {
        for (var i = 0; i < pControl.length; i++)
        { 
            if (pControl[i].value == strValue) 
            {
                bResult = pControl[i].selected;
                break;
            }
        }
    } 
    return bResult;
}

/* 
	TextBoxIsFilled
	Returns true of a text box has any text
*/
function ControlHasValue(pcnt)
{
	var bRetVal = false;
	var pControl = __GetObject(pcnt);
	if (pControl != null)
	{
		bRetVal = pControl.value != null && pControl.value != "undefined" && pControl.value.length > 0;
	}
	return bRetVal;
}

function GetDropDownSelectedItemText(ctl)
{
    var pcbo = __GetObject(ctl);
    return pcbo.options[pcbo.selectedIndex].text;
}

function GetDropDownSelectedItemValue(ctl)
{
    var pcbo = __GetObject(ctl);
    return pcbo.options[pcbo.selectedIndex].value;
}
/*
	GetText
	Returns the text property of a control
*/
function GetValue(pcnt)
{
	var pControl = __GetObject(pcnt);
	if (pControl != null)
	{
		return pControl.value;
	}
	else
	{
		return null;
	}
}

function SetValue(pcnt, value)
{
	var pControl = __GetObject(pcnt);
	if (pControl != null)
	{
		pControl.value = value;
	}
}

/* 
	Check
	Sets the checked state of a checkbox or radio button
*/
function SetChecked(pCheckbox, bCheck)
{
	var pchk = __GetObject(pCheckbox);
	if (pchk != null)
	{
		pchk.checked = bCheck;
	}
	return false;
}

function GetChecked(pCheckbox)
{
    var bChecked = false;
	var pchk = __GetObject(pCheckbox);
	if (pchk != null)
	{
		bChecked = pchk.checked;
	}
	return bChecked;
}

/*
	SetHyperlink
	Sets the href property of a hyperlink control	
*/
function SetHyperlink(pcnt, strhref)
{
	var pControl = __GetObject(pcnt);
	if (pControl != null)
	{
		pControl.href = strhref;
	}
}

/*
	SetHyperlink
	Sets the href property of a hyperlink control	
*/
function GetHyperlink(pcnt)
{
	var pControl = __GetObject(pcnt);
	if (pControl != null)
	{
		return pControl.href;
	}
}
function ShowControl(pcnt, bShow, bRetainValidatorState)
{

	var pControl = __GetObject(pcnt);
	if (pControl != null)
	{
		if (pControl.enabled != bShow)
		{
			pControl.enabled = bShow;
			if (bShow == false)
			{
				if (pControl.style.visibility != "hidden")
				{		
					pControl.style.visibility = "hidden";
				}
				if (pControl.style.display != "none")
				{	
					pControl.style.olddisplay = pControl.style.display;
					pControl.style.display = "none";
				}
			}
			else
			{
				if (pControl.style.visibility == "hidden")
				{
				    pControl.style.visibility = "visible";
				}
				
				if (pControl.style.display == "none")
				{
				    if (pControl.style.olddisplay == "none" || 
				        pControl.style.olddisplay == 'undefined' || 
				        pControl.style.olddisplay == null)
				    {
				        pControl.style.olddisplay = "";
				    }
				    pControl.style.display = pControl.style.olddisplay;

				    
				    pControl.style.olddisplay = "";
				}
			}

			if (bRetainValidatorState == false ||
				bRetainValidatorState == null)
			{
				//alert('modifying validators');
				var pItems = pControl.getElementsByTagName('SPAN');
				for (var i = 0; i < pItems.length; i++)
				{
					var val = pItems [i];
					if (typeof(val.controltovalidate) == "string")  // only do validator controls
					{
						if (bShow == false)
						{
							val.oldEnableState = val.enabled;
							ValidatorEnable(val, bShow);
						}
						else
						{
							ValidatorEnable(val, val.oldEnableState);
						}				
					}
				}
			}
		}
	}
	else
	{
		return null;
	}
}

function EnablePNGTransparency(img)
{
    if (browser.PNGTransparencySupport == false)
    {
        
        var pImg = __GetObject(img);
        alert(pImg);
        //pImg.runtimeStyle.filter 
        pImg.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + pImg.src + "', sizingMethod='scale')" ;
        alert(pImg.style.filter);
    }
}

function CreateHeaderRow(pBodyGrid, pHeaderGrid, pBodyDiv)
{
	var pBodyControl = __GetObject(pBodyGrid);
	var pHeaderControl = __GetObject(pHeaderGrid);
	if (pBodyControl != null && pHeaderControl != null)
	{
		if (pBodyControl.rows.length > 0 &&
			pHeaderControl.rows.length > 0)
		{
			var pRow = pBodyControl.rows[0];
			var pHeaderRow = pHeaderControl.rows[0];
			
			for (var j = pHeaderRow.childNodes.length - 1; j >= 0; j--) 
			{
				if (pHeaderRow.childNodes[j].nodeName == 'TD') 
				{
					pHeaderRow.removeChild(pHeaderRow.childNodes[j]);
				}
			}

			var iTotalWidth = 0;
			for (var i = 0; i < pRow.cells.length; i++)
			{
				var pCell = pBodyControl.rows[0].cells[i];
				var iWidth = pCell.clientWidth;
				var strText = pCell.innerHTML;//pCell.innerText;
				
				
				iTotalWidth += iWidth;
				
				var pNewCell = pHeaderRow.insertCell();
				pNewCell.innerHTML = strText;
				pNewCell.width = iWidth + /*pHeaderRow.borderWidth;*/1;
			}
			
	
			var pNewCell = pHeaderRow.insertCell();
				pNewCell.innerHTML = " ";
				pNewCell.width = 19;//"100%";//pBodyDiv.clientWidth - iTotalWidth;//pBodyDiv.offsetWidth; //19;



			for (var j = pRow.childNodes.length - 1; j >= 0; j--) 
			{
				if (pRow.childNodes[j].nodeName == 'TD') 
				{
					pRow.removeChild(pRow.childNodes[j]);
				}
			}
		}
	}
	return false;
}

function SizeHeaderRow(pBodyGrid, pHeaderGrid, pBodyDiv)
{
	var pBodyControl = __GetObject(pBodyGrid);
	var pHeaderControl = __GetObject(pHeaderGrid);
	if (pBodyControl != null && pHeaderControl != null)
	{
		if (pBodyControl.rows.length > 1)
		{
			var pRow = pBodyControl.rows[1];

			for (var i = 0; i < pRow.cells.length; i++)
			{
				var pCell = pRow.cells[i];
				var iWidth = pCell.clientWidth;
				var strText = pCell.innerHTML;
				
				pHeaderControl.rows[0].cells[i].width = iWidth + 1;
				pHeaderControl.rows[0].cells[i].innerHTML = strText;
			}
		}
	}
	return false;
}

function SyncDivXPosition(pDivMaster, pDivSlave)
{
	var pControl1 = __GetObject(pDivMaster);
	var pControl2 = __GetObject(pDivSlave);
	
	if (pControl1 != null & pControl2 != null)
	{
		pControl2.scrollLeft = pControl1.scrollLeft;
	}
	return false;
}

function SyncDivYPosition(pDivMaster, pDivSlave)
{
	var pControl1 = __GetObject(pDivMaster);
	var pControl2 = __GetObject(pDivSlave);
	
	if (pControl1 != null & pControl2 != null)
	{
		pControl2.scrollTop = pControl1.scrollTop;
	}
	return false;
}

function SaveOldValue(pControl)
{
	var pControl1 = __GetObject(pControl);
	if (pControl1 != null)
	{
		pControl1.OldValue = pControl1.value;
	}
	return false;
}

function RevertValue(pControl)
{
	var pControl1 = __GetObject(pControl);
	if (pControl1 != null)
	{
		pControl1.value = pControl1.OldValue;
	}
	return false;
}

function SetReadOnly(pControl, bReadOnly)
{
	var pControl1 = __GetObject(pControl);
	if (pControl1 != null)
	{
		pControl1.value = pControl1.OldValue;
		
		if (bReadOnly == true)
		{
			if (pControl1.className != "ReadOnly")
			{			
				pControl1.oldClassName = pControl1.className;
				pControl1.className = "ReadOnly";
				pControl1.readonly = true;
			}
		}
		else
		{
			if (pControl1.className == "ReadOnly")
			{
				pControl1.className = pControl1.oldClassName;
				pControl1.readonly = false;
			}
		}
	}
	return false;
}

function SetAllCheckBoxes(pParentControl, bCheck, pMainCheckBox, iMax)
{
    if (iMax == null || iMax == undefined || iMax == 'undefined')
    {
        iMax = -1;
    }
	var iCount = 1;
	var pControl = __GetObject(pParentControl);
	var pChkMain = __GetObject(pMainCheckBox);
	if (pControl != null)
	{
		var pItems = pControl.getElementsByTagName('INPUT');
		for (var i = 0; i < pItems.length; i++)
		{
			if (iCount > iMax && iMax != -1 && bCheck)
			{
				break;
			}
			else
			{
				var pChk = pItems[i];
				
				if (pMainCheckBox != null && pChk != pChkMain)
				{
					if (pChk.type.toLowerCase() == "checkbox")  // only do checkbox controls
					{
						pChk.checked = bCheck;
						iCount = iCount + 1;
					}
				}
				else
				{

				}
			}
		}
	}
	return false;
}