var dg_SelectedRow=null;
var ts_SelectedItem=null;
var ts_SelectedItemTarget=null;

function txt_CheckNumber(txt)
{
	if (event.keyCode == 110 || event.keyCode == 190)
	{
		//188
		event.returnValue=188;
	}
	else if (!isKeyCodeNumeric(event.keyCode))
	{
		event.returnValue=false;
	}
}


function isKeyCodeNumeric(nCode)
{
	if ((!event.shiftKey && nCode>=48 && nCode<=57) || 
		(nCode>=96 && nCode<=105) || 
		nCode == 188 || 
		nCode == 9 ||
		nCode == 13 ||
		nCode == 37 ||
		nCode == 39 ||
		nCode == 8 ||
		nCode == 46)
	{
		return true;
	}
	return false;
	
}

function dg_HighlightRow(oRow, bHighlight)
{
	if (bHighlight && oRow != dg_SelectedRow)
	{
		oRow.className='HighlightedRow';
	}
	else
	{
		if (oRow != dg_SelectedRow)
		{
			oRow.className=oRow.attributes['ClassName'].value;
		}
		else
		{
			oRow.className='SelectedRow';
		}
	}	
}

function dg_SelectRow(oRow)
{
	try
	{
		if (dg_SelectedRow != null)
		{
			dg_SelectedRow.className=dg_SelectedRow.attributes['ClassName'].value;
		}
		if (oRow != null)
		{
			oRow.className='SelectedRow';
			dg_SelectedRow=oRow;
			try
			{
				var oActive=document.activeElement.parentElement;
				while (oActive != null)
				{
					if (oActive.id == oRow.id)
					{
						return true;				
					}
					oActive=oActive.parentElement;
				}
			}
			catch(exception)
			{
			}
			
			var cnt=document.getElementById(oRow.parentElement.parentElement.id + '_selRowID');
			cnt.value=oRow.id;
			
			try
			{
				oRow.cells(0).setActive();
			}
			catch (exception)
			{
				if (exception instanceof Error)
				{
					alert(exception);
					// this is a run-time script error from the script engine
				}
			}
			
		}
	}
	catch (exception)
	{
	}
}

function dg_ParseKey(sID, n)
{
	switch(event.keyCode)
	{
		case 13:
			//enter key
			var oRow=document.getElementById(sID + '_row' + n);
			if (oRow.ondblclick != null)
			{
				var sExec=eval(oRow.ondblclick);
				sExec += 'anonymous();'
				eval(sExec);
				return false;
			}
			else
			{
				return true;
			}
			break;
		case 38:
			//up
			if (n>0)
			{
				n-=1;
				var oRow=document.getElementById(sID + '_row' + n);
				dg_SelectRow(oRow);
			}
			break;
		case 40:
			//down
			n+=1;
			var oRow=document.getElementById(sID + '_row' + n);
			if (oRow != null)
			{
				dg_SelectRow(oRow);
			}
			break;
		case 33:
			var oRow=document.getElementById(sID + '_row' + n);
			var nPage=oRow.parentNode.parentNode.getAttribute('page');
			if (nPage>0)
			{
				nPage -= 1;
				//__doPostback('
			}
			//page up
			break;
		case 34:
			//page down
			break;
	}
}

function CheckIsMandatory(sFieldName)
{
	var oField=document.getElementById(sFieldName);
	if (oField != null)
	{
		if (oField.value == '')
			return false;
	}
	return true;
}

function msb_Search(sID, bRefresh, sFilter)
{
	var oText=document.getElementById(sID);
	var oLast=document.getElementById(sID + '_Last');
	if (bRefresh == 0)
	{
		//checking last value
		if (oLast.value == oText.value || oText.value == '')
		{
			return false;
		}
	}
	var oSearchPage=document.getElementById(sID + '_oSearchPage');
	var sSearch=new String(oSearchPage.value);
	oLast.value=oText.value;
	sSearch=sSearch.replace('||SEARCH||',oText.value);
	if (sFilter == null)
	{
		sFilter='';
	}
	var enhFilter=document.getElementById(sID + '_enhFilter');
	if (enhFilter != null && enhFilter.value != '')
	{
		if (sFilter != '')
		{
			sFilter += ' AND ';
		}
		sFilter += enhFilter.value;
	}
	
	sSearch=sSearch.replace('||FILTER||',sFilter);
	var sRet=window.showModalDialog(sSearch, null, "dialogWidth:700px;dialogHeight:500px");
	
	if (sRet!=null)
	{
		sRet=new String(sRet);
		var nPos=sRet.indexOf('|');
		if (nPos >=0)
		{
			msb_Select(sID, sRet.substr(0,nPos), sRet.substr(nPos+1));
		}
	}
}

function msb_Select(sID,nID,sText)
{
	var oID=document.getElementById(sID + '_oObjectID');
	var oText=document.getElementById(sID);
	oID.value=nID;
	if (oID.value == '' || oID.value== '0')
	{
		oText.style.fontWeight='normal';
		oText.readOnly=false;
		oText.value='';
	}
	else
	{
		oText.style.fontWeight='bold';
		oText.readOnly=true;
		oText.value=sText;
	}
}

function msb_Open(sID)
{
}

function msb_Delete(sID)
{
	var oLast=document.getElementById(sID + '_Last');
	oLast.value='';
	msb_Select(sID,0);
}

function ts_SelectItem(sID, sTabstripID, oItem, sTarget)
{
	var oActiveItem=document.getElementById('ts_' + sTabstripID + '_ActiveItem');
	oActiveItem.value=sID;
	if (ts_SelectedItem != null)
	{
		ts_SelectedItem.className='Item';
	}
	ts_SelectedItem=oItem;
	if (ts_SelectedItem != null)
	{
		ts_SelectedItem.className='SelectedItem';
	}
	
	if (ts_SelectedItemTarget != null)
	{
		ts_SelectedItemTarget.style.display='none';
	}
	ts_SelectedItemTarget=document.getElementById(sTarget)
	if (ts_SelectedItemTarget != null)
	{
		ts_SelectedItemTarget.style.display='inline';
	}
}

function control_setDefaultButton(btnID)
{
	var btn=document.all(btnID);
	if (document.all)
	{
        if (event.keyCode == 13)
        {
			event.returnValue=false
			event.cancel = true;
			btn.click();
        }
     }
}

function getTextboxNumber(txt)
{
	if (txt != null)
	{
		var sValue=new String(txt.value);
		sValue=sValue.replace(".","");
		sValue=sValue.replace(",",".");
		return parseFloat(sValue);
	}
}

function formatNumber(sValue, nDecimals, bNumber)
{
	
    var alertbox=false;
    
    var nDecs=Math.pow(10,nDecimals);
    var sDecs=new String(nDecs);
    sDecs=sDecs.substr(1);

	sValue=new String(sValue);
	if (bNumber == null || !bNumber)
	{
		sValue=sValue.replace(".","");
		sValue=sValue.replace(",",".");
	}
    nValue = parseFloat(sValue)*nDecs;
    nValue = Math.round(nValue);
    if(isNaN(nValue)) {nValue = 0;}
    
    if (nValue == 0)
	{
		if (nDecimals<=0)
		{
			return '0';
		}
		else
		{
			return '0,' + sDecs;
		}
	}
	
    //if(nValue>99999999999)alert("trillion is not supported - only millions.");
    /* converts tmp to decimal cents and adds a 0 to .1 to .9 or adds .00 to 0 */
    var cen = '';
    if (nDecimals>0)
    {
		cen=nValue%nDecs;
		if(cen < 0){cen = "," + sDecs}
		else if(cen < nDecs) 
		{
			var sCen=',';
			var s=new String(cen);
			for (var i=1;i<=(sDecs.length - s.length);i++)
			{
				sCen += '0';
			}
			cen = sCen + cen;
		}
		else {cen = ","+cen}
		if(alertbox)alert("Cents "+cen);  /* Cents alert dialog box */
	}

	var hun='';
	var tho='';
	var mil='';

	nValue = parseInt(nValue/nDecs);
	hun = nValue - ((parseInt(nValue/1000))*1000);
	if (nValue>=1000)
	{
		if (hun<10)
			hun='00' + hun;
		else if (hun<100)
			hun='0' + hun;
	}
	
	nValue = parseInt(nValue/1000)
	tho = nValue -((parseInt(nValue/1000)) *1000);
	if (nValue>=1000)
	{
		if (tho<10)
			tho='00' + tho;
		else if (tho<100)
			tho='0' + tho;
	}
	else
	{
		if (tho == '0')
			tho='';
	}
	if (tho!='')
		tho=tho+'.';

	nValue = parseInt(nValue/1000)
	mil = nValue -((parseInt(nValue/1000)) *1000);
	if (mil == '0')
		mil='';
	if (mil != '')
	{
		mil=mil+'.';
	}
	
    return mil+tho+hun+cen;
}

function up_Show(sID, sPage, sFilter, sSavePath)
{
	var oLink=document.getElementById(sID + '_oLink');
	var oUploadPage=document.getElementById(sID + '_oUploadPage');
	var sPars=new String(oUploadPage.value);
	if (sFilter == null)
		sFilter=''
	sPars=sPars.replace('||FILTER||',sFilter);
	if (sSavePath == null)
		sSavePath='';
	sPars=sPars.replace('||SAVEPATH||',sSavePath);
	var sRet=window.showModalDialog(sPars, null, "dialogWidth:400px;dialogHeight:180px");
	if (sRet!=null && sRet!='')
	{
		var oFilePath=document.getElementById(sID);
		var sPath=new String(sRet);
		var sFileName= sPath.substr(sPath.lastIndexOf("/")+1)
		oFilePath.value=sRet;
		oLink.innerText=sFileName;
		oLink.href=sPath;
	}
	event.returnValue = false;

}

function up_Delete(sID)
{
	var oLink=document.getElementById(sID + '_oLink');
	var oFilePath=document.getElementById(sID);
	oLink.innerText='';
	oLink.href='';
	oFilePath.value='';
}