function anchorFocus() {
	for (i=0; i < document.links.length; i++)
	 document.links[i].onfocus = function() {this.blur();}
}

function encRowid (pStr)
{
	vRegExp = /\+/g;
	pStr = pStr.replace (vRegExp, "%2B");
	return pStr;
}

function openWindow (pName, pURL, pWidth, pHeight, pX, pY, pResize, pNoScroll)
{
  var vWnd = window.open (pURL, pName, "left="+pX+",top="+pY+",width="+pWidth+",height="+pHeight+",scrollbars="+(pNoScroll ? "no" : "yes")+",location=no,toolbar=no,directories=no,status=no,menubar=no,dependent=yes,resizable="+(pResize ? "yes": "no"));
	vWnd.focus ();
}

function openLoc (pHref)
{
	var vPreUrl = '';
	var vBaseArr = document.getElementsByTagName('base');
	if (vBaseArr[0] != undefined);
		vPreUrl = vBaseArr[0].href;
	document.location.href = vPreUrl + pHref;
}

function openLocWindow (pHref,szer,wys)
{
	var vPreUrl = '';
	var vBaseArr = document.getElementsByTagName('base');
	if (vBaseArr[0] != undefined);
		vPreUrl = vBaseArr[0].href;
	okno = open(vPreUrl + pHref,"okno","width="+szer+",height="+wys+",scrollbars=no,menubar=no");
	okno.moveTo(screen.width/2-szer/2,screen.height/2-wys/2);
}

function openLocParent (pHref)
{
	var vPreUrl = '';
	var vBaseArr = document.getElementsByTagName('base');
	if (vBaseArr[0] != undefined);
		vPreUrl = vBaseArr[0].href;
	parent.opener.location.href = vPreUrl + pHref;
}

function autoClose (pOpenerLocation)
{
	if (window.opener != null)
	{
		window.opener.document.location.href= (! isEmpty (pOpenerLocation) ? pOpenerLocation :  window.opener.document.location);
		window.close();
	}
}

function clearForm (pForm, pSetFirstForSelectOne)
{
 var i = 0;
 var vRadioName = '';
 while (pForm.elements[i])
 {
	 if (pForm.elements[i].multiple)
	 {
	  pForm.elements[i][0].selected = true;
		for (j=1; j < pForm.elements[i].length; j++)
			pForm.elements[i][j].selected = false;
	 }
	 else
	 {
		var vType = pForm.elements[i].type;
		if (vType != 'submit' && vType != 'reset' && vType != 'button' && vType != 'image')
			if (vType == 'checkbox')
				pForm.elements[i].checked = false;
			else if (vType == 'select-one' && pSetFirstForSelectOne)
				pForm.elements[i].selectedIndex = 0;
			else if (vType == 'radio')
			{
				if ( pForm.elements[i].name != vRadioName)
				{
					vRadioName = pForm.elements[i].name;
					vRadio = pForm.elements[vRadioName];
					pForm.elements[vRadioName][0].checked = true;
				}
			}
			else
				pForm.elements[i].value = '';
   }
   i++;
 }
}

/**
 * Wyświetl info, że formularz wyszukiwania zaawansowanego jest pusty
 */
function checkEmpty(pForm)
{
	var i = 0;
	var vEmpty = true;
	while (pForm.elements[i])
	{
		var vElem = pForm.elements[i];
		if (vElem.selectedIndex)
		{
			if (vElem.options[vElem.selectedindex] != '')
			{
				vEmpty = false;
				break;
			}
		}
		else if (vElem.type == 'text')
		{
			if (vElem.value != '')
			{
				vEmpty = false;
				break;
			}
		}
		i++;
	}
	
	if (vEmpty)
		msg.displayMsg(objGetText.gettext('Wprowadź dane do wyszukiwania'));
	return !vEmpty;
}

/*
	Przypisz wartości elementom w oknie wołającym
 	pArr - Tablica elementów (title - id elementu w oknie wołającym, value - wartośc do podstawienia)
*/
function assignLovRetVal (pArr)
{
	if (! window.opener)
		self.close ();

	var vOpenerEl;
	var vCount = pArr.length;
	for (i = 0; i < vCount; i++)
		if ((vOpenerEl = window.opener.document.getElementById (pArr [i].title)))
			if (typeof (vOpenerEl.form) != 'undefined')
				vOpenerEl.value = pArr [i].value;
			else
				vOpenerEl.innerHTML = pArr [i].value;
	self.close();
}

function jsCallServer (pScriptName, pParams, pCallBack, pScriptHasParams)
{
	var vHead = document.getElementsByTagName ('head').item(0);
	var vOldHead = document.getElementById ('lastloaded');
	if (vOldHead)
		vHead.removeChild (vOldHead);

	vScript = document.createElement ('script');
	vScript.src = pScriptName + (pScriptHasParams ? '&' : '?') + 'callback=' + pCallBack + '&' + pParams;
	vScript.type = 'text/javascript';
	vScript.defer = true;
	vScript.id = 'lastloaded';
	void (vHead.appendChild (vScript));
}

function isEmpty (pVal)
{
	if (pVal == "" || pVal == null)
		return true;
	return false;
}

function isValid (pStr, pType)
{
	var vPatt;
	var vInd;

	if (pType == "L")
		vPatt = /[a-z]|[A-Z]/;
	if (pType == "N")
		vPatt = /[0-9]/;
	if (pType == "A")
		vPatt = /[a-z]|[A-Z]|[0-9]|_/;

	var vTmp;
	var vSubStr;
	for (vInd=0; vInd < pStr.length; vInd++)
	{
		vSubStr = pStr.substring (vInd, vInd + 1);
		vTmp = vSubStr.match (vPatt);
		if (vTmp == null)
			return false;
	}
	return true;
}

function formatVal (pVal, pDecSize, pDecPow, pDecSep)
{
	var vNeg = (pVal < 0);
	var vStr = ""+Math.round (Math.abs (pVal) * pDecPow);
	while (vStr.length <= pDecSize)
		vStr = "0" + vStr;
	var vDecPoint = vStr.length - pDecSize;
	return (vNeg ? "-" : "") + vStr.substring (0, vDecPoint) + (vDecPoint < vStr.length ? (pDecSep ? pDecSep : ".") + vStr.substring (vDecPoint, vStr.length) : "");
}

function getFloatVal (pVal)
{
	vRet = new String (pVal);
	vRet = parseFloat (vRet.replace (",", "."));
	return (isNaN (vRet) ? 0 : vRet);
}

function getIntVal (pVal, pTrunc)
{
	vRet = (pTrunc ? parseInt (pVal, 10) : Math.round (getFloatVal (pVal)));
	return (isNaN (vRet) ? 0 : vRet);
}

function getBase ()
{
	var vBaseArr = document.getElementsByTagName('base');
	if (vBaseArr[0] != undefined);
		vPreUrl = vBaseArr[0].href;
	return vPreUrl;
}

function questValidation(pFormName)
{
	vMonitEmail = objGetText.gettext('Nie podano kontaktu zwrotnego'); 
	if($('#'+pFormName+'_email').val() == '')
		alert(vMonitEmail);
	else
		document.getElementById(pFormName).submit();
}