function launchWin(w,h,srcURL,sizable, obj, scrollbar)
{
	if (scrollbar=="") scrollbar=0;
	lPos = (screen.width) ? (screen.width-w)/2 : 0; tPos = (screen.height) ? (screen.height-h)/2 : 0;
	aWin = window.open(srcURL, "", "height="+h+", width="+w+", left="+lPos+", top="+tPos+", toolbar=0, location=0,directories=0,status=0,menuBar=0,scrollBars="+scrollbar+",resizable="+sizable);
	//aWin.opener=obj;				
	aWin.focus();
	aWin.owner=document.location.href;
	//processBarred(aPos);
}


function launchModal(w,h,srcURL)
{
	return showModalDialog(srcURL, 'dialogHeight:'+h+'; dialogWidth:'+w+'; resizable:no; status:no'); 
}


function processBarred(pos)
{
	aTPWin=getTFarray();
	if ((aTPWin!=null) && (barr.length>0))
	{
		for (b=0;b<barr.length;b++) 
		{
			if ((aWin[pos]) && ((!aWin[pos].closed) && (aWin[pos].document.URL.toLowerCase().indexOf(barr[b].toLowerCase())>-1)))
			{
				aTPWin[aTPWin.length]=aWin[pos]; aWin[pos]=null; break;
			}
		}
	}
}

function getTFarray()
{
	if ((top.opener) && (top.opener.top.frames["ConveaFrame"])) tFrame=top.opener.top.frames["ConveaFrame"].frames["topFrame"];
	if ((top.frames) && (top.frames["ConveaFrame"])) tFrame=top.frames["ConveaFrame"].frames["topFrame"];
	if ((window.dialogArguments) && (window.dialogArguments.top.frames["ConveaFrame"])) tFrame=window.dialogArguments.top.frames["ConveaFrame"].frames["topFrame"];		
	if (window.tFrame) return tFrame.popupArray;
	else return false;
}
/********************************************************************************/
// Common Actions
/********************************************************************************/
function doRefresh()
{
	window.location.replace(window.location);
}

function InsertWord(FieldID,ReservedWord)
{
	var targ = document.getElementById(FieldID);
	if (document.selection) 
	{
		targ.focus();
		sel = document.selection.createRange();
		sel.text = ReservedWord;
	}
}
/********************************************************************************/
// Select datagrid row
/********************************************************************************/
function SelectDgItem(ItemID,ItemVal,ValHolder,TargetWin)
{
	var dgItem = document.getElementById(ItemID);	
	var dg = dgItem.parentElement;
	var VH = TargetWin.document.getElementById(ValHolder);
	if(event.ctrlKey)
	{
		if(dgItem.className == 'SelectedDgItem')
		{
			dgItem.className = 'DgItem';
			VH.value = RemoveItem(VH.value,ItemVal);
		}
		else
		{
			dgItem.className = 'SelectedDgItem';
			if(FindItem(VH.value,ItemVal) == false)
				VH.value = AddItem(VH.value,ItemVal);
			
		}
	}
	else if(event.shiftKey)
	{
		if(VH.value.length > 0)
		{
			arrVal = VH.value.split(',');
			lastVal = arrVal[arrVal.length-1];
			fromRow = document.getElementById('ITEM_'+lastVal);
			pas = 0;
			TargetWin.Clear(ValHolder);
			if(fromRow.rowIndex != dgItem.rowIndex)
			{
				for(i=0;i<dg.rows.length;i++)
				{				
					if(i==fromRow.rowIndex || i==dgItem.rowIndex)
						pas++;
					if(pas > 0 && pas < 3)
					{
						dg.rows[i].className = 'SelectedDgItem';
						VH.value = AddItem(VH.value,dg.rows[i].id.replace('ITEM_',''));
					}
					else
					{
						dg.rows[i].className = 'DgItem';
					}
					if(pas == 2)
						pas++;
				}
			}
			else
			{
				VH.value = AddItem(VH.value,ItemVal);
			}
		}
		else
		{
			dgItem.className = 'SelectedDgItem';
			if(FindItem(VH.value,ItemVal) == false)
				VH.value = AddItem(VH.value,ItemVal);
		}
	}
	else
	{
		for(i=0;i<dg.rows.length;i++)
		{
			if(dg.rows[i].id == ItemID)
			{
				dg.rows[i].className = 'SelectedDgItem';
				VH.value = "";
				VH.value = AddItem(VH.value,ItemVal);
			}
			else
			{
				dg.rows[i].className = 'DgItem';
			}
		}
	}	
	TargetWin.toolbarTriger();
}

/********************************************************************************/
// Clear value of an control with ID = ItemHolder
/********************************************************************************/
function Clear(ItemHolder)
{
	document.getElementById(ItemHolder).value = "";
}
/********************************************************************************/
// Add an item in list (comma separated values) and return updated list
/********************************************************************************/
function AddItem(Target,Val)
{
	sep = "";
	if(Target != "")
		sep = ",";
	return Target + sep + Val;
}
/********************************************************************************/
// Remove item from items list (comma separated values) and return updated list
/********************************************************************************/
function RemoveItem(Target,Val)
{
	arrItems = Target.split(',');
	sep = "";
	retStr = "";
	for(i=0;i<arrItems.length;i++)
	{
		if(arrItems[i] != Val)
		{
			retStr = retStr + sep + arrItems[i];
			sep = ",";
		}
	}

	return retStr;
}
/********************************************************************************/
// Search an item in the items list(comma separated values) and return true if 
// found, else return false
/********************************************************************************/
function FindItem(Target,Val)
{
	arrItems = Target.split(',');
	isFound = false;
	for(i=0;i<arrItems.length;i++)
	{
		if(arrItems[i] == Val)
		{
			isFound = true;
			break;
		}
	}
	return isFound;
}
/********************************************************************************/
// Show hide layer
/********************************************************************************/
function menuPP(MenuID)
{
	var sender = event.srcElement;
	var mnu = document.getElementById(MenuID);
	//mnu.style.left = sender.offsetLeft;
	//mnu.style.top = parseInt(sender.offsetTop) + parseInt(sender.offsetHeight);
	mnu.style.left = event.clientX - 80;
	mnu.style.top = parseInt(event.clientY) +  parseInt(sender.offsetHeight);
	if(mnu.style.display == 'block')
		mnu.style.display = 'none';
	else
		mnu.style.display = 'block';
}
/********************************************************************************/
// hide layer
/********************************************************************************/
function hidePP(MenuID)
{
	var mnu = document.getElementById(MenuID);
	if(mnu.style.display == 'block')
		mnu.style.display = 'none';
}
/********************************************************************************/
// set layer height compared width other element
/********************************************************************************/
function setHolder(holder,compare)
{
	var oH = document.getElementById(holder);
	var oC = document.getElementById(compare);
	if(oH != null && oC != null)
		oH.style.height = document.body.offsetHeight - oC.offsetHeight;
}
