function CheckSelectPage(child, fCheck)
	{
	if (child.form._bulkdeletepage != null)
		{
		if (child.form._bulkdeletepage.length != null)
			{
			for (var i=0; i<child.form._bulkdeletepage.length; i++)
				child.form._bulkdeletepage[i].checked = fCheck;
			}
		else
			{
			child.form._bulkdeletepage.checked = fCheck;
			}
		}
	}

function CheckSelectAll(child, fCheck)
	{
	if (child.form._bulkdeleteall != null)
		{
		if (child.form._bulkdeleteall.length != null)
			{
			for (var i=0; i<child.form._bulkdeleteall.length; i++)
				child.form._bulkdeleteall[i].checked = fCheck;
			}
		else
			{
			child.form._bulkdeleteall.checked = fCheck;
			}
		}
	}

function DeleteButton(child, fDisable)
	{
	var rg;
	if (document.getElementsByName)
		{
		rg = document.getElementsByName('_bulkdelete');
		}
	else
		{
		if (document.all)
			{
			rg = document.all('_bulkdelete');
			if (!rg)
				return;
			if (!rg.length)
				{
				rg = [rg];
				}
			}
		else
			{
			return;
			}
		}
	var c = rg.length;
	for (var i = 0; i < c; i ++)
		{
		if (!rg[i].form || rg[i].form == child.form)
			{
			rg[i].disabled = fDisable;
			}
		}
	// IE Mac misses input type="image" when using getElementsByName
	// IE Win misses input type="image" when using only the loop below
	if (child.form)
		{
		var rg = child.form.elements;
		c = rg.length;
		for (var i = 0; i < c; i++)
			{
			if (rg[i].name == '_bulkdelete')
				{
				rg[i].disabled = fDisable;
				}
			}
		}
	}

function GridChk(chk, fDesign, szPKName)
	{	
	var fDisableDel = true;
	for(var i=0; i<chk.form.length; i++)
		{
		if(chk.form.elements[i].name == szPKName)
			{
			if (chk.form.elements[i].checked)
				{
				fDisableDel = false;
				break;
				}
			}
		}
	if (fDisableDel)
		CheckSelectPage(chk, false);
	DeleteButton(chk, fDisableDel);
	}

function GridSelectPage(chk, szPKName)
	{
	for (var i=0; i<chk.form.length; i++)
		{
		if (chk.form.elements[i].name == szPKName)
			{
			chk.form.elements[i].disabled = false;
			chk.form.elements[i].checked = chk.checked;
			}
		}
	DeleteButton(chk, !chk.checked);
	CheckSelectAll(chk, false);
	CheckSelectPage(chk, chk.checked);
	}

function GridSelectAll(chk, szPKName)
	{
	for (var i=0; i<chk.form.length; i++)
		{
		if (chk.form.elements[i].name == szPKName)
			{
			chk.form.elements[i].checked = chk.checked;
			chk.form.elements[i].disabled = chk.checked;
			}
		}
	DeleteButton(chk, !chk.checked);
	CheckSelectPage(chk, false);
	CheckSelectAll(chk, chk.checked);
	}

function ViewPlaceCursor(n,f) 
	{
	var undefined; 
	if (undefined == n)	n = 0;
	if (undefined == f) f = 0;

	if (null == document.forms)
		return;

	var frm = document.forms[f];
	if (null == frm) return;

	for ( ; n < frm.elements.length ; n++ )
		{
		var e = frm.elements[n];
		if (null == e || e.disabled || e.type == "hidden" || e.type == "button" || e.type == "submit" || e.type == "reset")
			continue;
		if (e.style)
			{
			if (e.style.visibility == 'hidden' || e.style.display == 'none')
				continue;
			}
		e.focus();
		if (e.type == "text" || e.type == "password")
			e.select();
		return;
		}
	}

function OpenDesigner(path)
  {
  var fieMac = (navigator.appVersion.indexOf("Mac") != -1) && (document.all ? true : false);
  var fOld = (document.getElementById ? false : true);
  if(fieMac || fOld)
    return true;

  if (!path)
	path = location.pathname + "?_admin=recent";

  var strUnsafe = "var f = false; ";
  strUnsafe += "try { f = (window.opener && !window.opener.closed); } catch(e) {} ";
  strUnsafe += "if (f) { try { window.opener.top.location = '" + path + "'; } catch(e) { f = false; } } ";
  strUnsafe += "if (!f) { try { window.opener = window.open('" + path + "'); } catch(e) {} }";
  eval(strUnsafe);
	
  return false;
  }



function ShowFilterWindow(column,elem,strfilter,dataregionid,table,strPath)
	{
	var ie4 = navigator.appName.indexOf("Microsoft") != -1 && parseInt(navigator.appVersion) >= 4;
	var posStr;
	if (ie4)
		{
		var offset = ScreenPosIE(elem);
		posStr = "top="+offset.top.toString() + ",left="+(offset.left-250).toString();
		posStr += ",width=300";
		}
	else
		{
		posStr = "screenY="+(window.screenY+100).toString() + ",screenX="+(window.screenX+200).toString();
		posStr += ",width=550,resizable=yes";
		}
	var search;
	if (strfilter == null)
		{
		search = window.location.search;
		}
	else
		{
		search = strfilter;
		}
	search = escape(search);
	search = "?_admin=filter&_column=" + column + "&_search=" + search;
	if (dataregionid != null)
		{
		search = search + "&_dataregion=" + dataregionid;
		}
	if (table != null)
		{
		search = search + "&_table=" + table;
		}
	if (!strPath)
		strPath = window.location.pathname;
	var w = window.open(strPath + search, "filter", posStr+",height=150,scrollbars=no,menubar=no");
	if (null != w)
		w.focus();
	return false;
	}

function ScreenPosIE(elem)
	{
	var top = window.screenTop + elem.clientTop + elem.offsetHeight;
	var left = window.screenLeft + elem.clientLeft + elem.offsetWidth;
	var last = elem;
	while (elem != null)
		{
		top  += elem.offsetTop  - elem.scrollTop;
		left += elem.offsetLeft - elem.scrollLeft;
		last = elem;
		elem = elem.offsetParent;
		}
	var pos = new Object;
	pos.top = top - last.scrollTop;
	pos.left = left - last.scrollLeft;
	return pos;
	}

function SubmitForm(el, target, redirect)
	{
	var frm = el.form;
	if (!frm)
		return;
	var elRedirect;
	var redirectOld = '';
	var targetOld;
	var actionOld;
	if (redirect)
		{
		elRedirect = frm['_redirect'];
		if (elRedirect)
			{
			redirectOld = elRedirect.value;
			elRedirect.value = redirect;
			}
		}
	if (target)
		{
		targetOld = frm.target;
		frm.target = target;
		if (frm.onsubmit)
			{
			frm.onsubmit();
			}
		frm.submit();
		frm.target = targetOld;
		if (redirect && elRedirect)
			{
			elRedirect.value = redirectOld;
			}
		return false;
		}
	}

function SinkFormSubmit(frm, fn)
	{
	if (!frm.rgOnSubmit)
		{
		frm.rgOnSubmit = [];
		if (frm.onsubmit)
			{
			frm.rgOnSubmit[0] = frm.onsubmit;
			}
		frm.onsubmit = Form_OnSubmit;
		}
	frm.rgOnSubmit[frm.rgOnSubmit.length] = fn;
	}

function Form_OnSubmit()
	{
	var strUnSafe = 'try { this.onsubmit() } catch(e) {} ';

	if (this.rgOnSubmit)
		{
		for (var i = 0; i < this.rgOnSubmit.length; i ++)
			{
			var fnSubmitOld = this.onsubmit;
			this.onsubmit = this.rgOnSubmit[i];
			eval(strUnSafe);
			this.onsubmit = fnSubmitOld;
			}
		}
	}
function OnFileDeleteChecked(el)
	{
	if (el.checked || el.inoncheck)
		return;
	el.inoncheck = true;
	var frm = el.form;
	var strName = el.name.substr(6);
	if (frm[strName].value)
		{
		el.checked = true;
		}
	el.inoncheck = false;
	}
function OnFileUploadChanged(el)
	{
	if (!el.value)
		return;
	var frm = el.form;
	var strName = '_manip' + el.name;
	if (frm[strName] && !frm[strName].checked)
		{
		frm[strName].checked = true;
		}
	}

