var filterActivated = new Array();

function ClickFilter(filterid)
{
	if (!filterActivated[filterid])
	{
		Toggle(document.getElementById(filterid));
		filterActivated[filterid] = true;
		return false;
	}
	else
	{
		return true;
	}
}

function DeleteItem()
{
	var L_Delete_text = "Are you sure you want to delete this item?";
	return confirm(L_Delete_text);
}

function DeleteNo()
{
	Toggle(spanToolbar); Toggle(spanDeleteQuestion);
}

function ShowDeleteQuestion()
{
	Toggle(spanToolbar); Toggle(spanDeleteQuestion);
}

function SelectFromList(keyval)
{
	if (window.name != "" && window.name != null)
	{
		if (window.opener != null && window.opener.document != null)
		{
			var objTarget = window.opener.document.getElementById(window.name);
			if (objTarget != null)
			{
				objTarget.value = keyval;
				objTarget.fireEvent("onchange");
				window.close();
			}
		}
	}
}
					
function OpenSelectWindow(url, windowname) {
	var w = 500;
	var h = 400;
	var options = "width=" + w + ",height=" + h + ",";
	options += "resizable=yes,scrollbars=yes,status=yes,";
	options += "menubar=no,toolbar=no,location=no,directories=no";
	var newWin = window.open(url, windowname, options);
	newWin.focus();
}

function HideColumn(tableID, skipMemo, skipSummary, cellIndex)
{
	var table = document.getElementById(tableID);
	
	for (i = 0; i < table.rows.length; i += 1)
	{
		if (i == table.rows.length - 1)
		{
			if (!skipSummary)
				table.rows[i].cells[cellIndex].style.display = "none";
		}
		else if (i == 0 || (i % 2 == 1))
		{
			table.rows[i].cells[cellIndex].style.display = "none";
		}
		else if (!skipMemo)
		{
			table.rows[i].cells[cellIndex].style.display = "none";
		}
	}
}
function ShowColumn(tableID, skipMemo, skipSummary, cellIndex)
{
	var table = document.getElementById(tableID);
	
	for (i = 0; i < table.rows.length; i += 1)
	{
		if (i == table.rows.length - 1)
		{
			if (!skipSummary)
				table.rows[i].cells[cellIndex].style.display = "inline";
		}
		else if (i == 0 || (i % 2 == 1))
		{
			table.rows[i].cells[cellIndex].style.display = "inline";
		}
		else if (!skipMemo)
		{
			table.rows[i].cells[cellIndex].style.display = "inline";
		}
	}
}


var extraRowCount = 8;

function GetDoubleValue(x)
{
	if (x != "" && !isNaN(x))
	{
		return parseFloat(x);
	}
	else
		return 0;
}

function ShowMemoWithContent(tableID)
{
	var table = document.getElementById(tableID);
	var i;
	for (i = 2; i < table.rows.length; i += 2)
	{
		if (table.rows[i].cells[0].children[0].value != "")
		{
			table.rows[i].cells[0].children[0].style.display = "inline";
		}
		else
		{
			table.rows[i].cells[0].children[0].style.display = "none";
		}
	}
}

function ToggleMemoOnOff(linkID, memoID)
{
	var linkObj = document.getElementById(linkID);
	var memoObj = document.getElementById(memoID).parentElement;
	if (linkObj.innerText == "Show")
	{
		linkObj.innerText = "Hide";
		memoObj.style.display = "inline";
	}
	else
	{
		linkObj.innerText = "Show";
		memoObj.style.display = "none";
	}
}

var g_showMemo = true;
function ToggleMemo(tableID, linkMemoID)
{
	var table = document.getElementById(tableID);
	var i;
	for (i = 2; i < table.rows.length; i += 2)
	{
		if (g_showMemo)
			table.rows[i].cells[0].children[0].style.display = "inline";
		else
			table.rows[i].cells[0].children[0].style.display = "none";
	}
	
	if (g_showMemo)
		document.getElementById(linkMemoID).innerText = "Hide";
	else
		document.getElementById(linkMemoID).innerText = "Show";
	
	g_showMemo = !g_showMemo;
}

var originalColor = "x";

var g_useDefault = true;
var g_num = 0;
var g_params = "";
var g_params2 = "";
function RequestData(useDefault, url, num, params, params2)
{
	g_useDefault = useDefault;
	g_num = num;
	g_params = params;
	g_params2 = params2;
	iframeServer.navigate(url);
}

function IFrameServerReady()
{
	if (iframeServer.document.readyState == "complete")
	{
		if (g_useDefault)
		{
			DefaultReceiveData(iframeServer.document.body.innerText, g_num, g_params, g_params2);
		}
		else
		{
			ReceiveData(iframeServer.document.body.innerText, g_num, g_params, g_params2);
		}
	}
}

function DefaultReceiveData(data, num, params, params2)
{
	if (params != "" && params2 != "")
	{
		if (data != null && data != "")
		{
			var dd = data.split("`");
			var p1 = params.split("`");
			var p2 = params2.split("`");
			var i;
			for (i = 0; i < num; i++)
			{
				if (p2[i] == "innerText")
				{
					document.getElementById(p1[i]).innerText = dd[i];
				}
			}
		}
		else
		{
			var p1 = params.split("`");
			var p2 = params2.split("`");
			var i;
			for (i = 0; i < num; i++)
			{
				if (p2[i] == "innerText")
				{
					document.getElementById(p1[i]).innerText = "";
				}
			}
		}
	}
}


function ToggleByObjectID(objid)
{
	Toggle(document.getElementById(objid));
}

function Toggle(obj)
{
	if (obj.style.display == "none")
		obj.style.display = "inline"
	else
		obj.style.display = "none"
}

function Editable(obj)
{
	if (obj == null)
		return false;
	else if (obj.nodeName == "TEXTAREA" || (obj.nodeName == "INPUT" && (obj.type == "text" || obj.type == "password")))
	{
		return true;
	}
	else
	{
		return false;
	}
}

function MouseOver()
{
	if (Editable(event.srcElement)) {
		originalColor = event.srcElement.style.borderColor;
		event.srcElement.style.borderColor = "0000FF";
	}
}

function MouseOut()
{
	if (originalColor != "x" && Editable(event.srcElement)) {
		event.srcElement.style.borderColor = originalColor;
	}
}

var just = 0;

function KeyDown()
{
	var rowIncrement = 0;
	var colIncrement = 0;
	if (event.keyCode == 38) // up
	{
		rowIncrement = -1;
	}
	else if (event.keyCode == 40) // down
	{
		rowIncrement = 1;
	}/*
	else if (event.keyCode == 37 && event.shiftKey) // left
	{
		event.keyCode = 9;
		event.returnvalue = true;
		return;
	}
	else if (event.keyCode == 39 && event.shiftKey) // right
	{
		event.keyCode = 9;
		event.returnvalue = true;
		return;
	}*/
	else
	{
		//alert(event.keyCode);
		just = 0;
		//alert(event.keyCode);
		return event.keyCode;
	}
	
/*
	if (rowIncrement == 0 && just == 0)
	{
		return event.keyCode;
	}
*/				
	just = 1;					
	if (Editable(event.srcElement)) {
		var oparent = event.srcElement.parentElement;
		if (oparent.nodeName == "TD")
		{
			var r = oparent.parentElement.rowIndex;
			var c = oparent.cellIndex;
			var otable = oparent.parentElement.parentElement;
			var i;
			for (i = 1; i <= 4; i++)
			{
				var rindex = r+rowIncrement*i;
				var cindex = c+colIncrement*i;
				if (rindex < 0 || cindex < 0 || rindex >= otable.rows.length || cindex >= otable.rows[rindex].cells.length)
				{
					break;
				}
				
				var olucky = otable.rows[rindex].cells[cindex].firstChild;
				while (olucky != null)
				{
					if (Editable(olucky))
					{
						break;
					}
 					olucky = olucky.nextSibling;
				}
				if (olucky != null)
				{
					olucky.focus();
					//olucky.select();
					break;
				}
			}
		}
	}
	
	return event.keyCode;
}

function SetFocusToFirstElement()
{
	if (document.forms[0] != null && document.forms[0].elements != null)
	{
		var ee = document.forms[0].elements;
		var i;
		for (i = 0; i < ee.length; i++)
		{
			if ((ee[i].name.indexOf("field") >= 0 || ee[i].name.indexOf("Field") >= 0) && ee[i].style.display != "none")
			{
				//alert(i.toString() + " - " + ee[i].name + " - " + ee[i].id);
				try
				{
					ee[i].focus();
					break;
				}
				catch (e)
				{
				}
			}
		}
	}
}

document.onfocusin = MouseOver;
document.onfocusout = MouseOut;
//document.onkeydown = KeyDown;

