/* -------------------------------------------------------
 :: e4u.js 4.8.19 :: e4u functions set
                                                            
-------------------------[ (c)2003 nataniel@xpect.pl ]--- */

function IEVersion()
{
	var ua = window.navigator.userAgent;
	var msie = ua.indexOf ( "MSIE " );
	
	if ( msie > 0 )      // If Internet Explorer, return version number
	{
		return parseInt (ua.substring (msie+5, ua.indexOf (".", msie )));
	}
	else                 // If another browser, return 0
	{
		return 0;
	}
}

function CreateURI(pRootURI, pTarget, pSession)
{
	return pRootURI + 'e4u.php/' + pTarget;
}

function FriendlyURI(pRootURI, pTarget, pSession)
{
	return pRootURI + 'x.php/' + pTarget + '.html';
}

function ObjectProperties(pObj, pName)
{
	var result = "";
	for (var i in pObj) 
	{
		result += pName + "." + i + " = " + pObj[i] + "<BR>\n";
	}
	
	return result;
}

function Execute(pCMD, pFrame, pExclude, pTest)
{
	if (typeof pExclude == 'undefined')
	{
		pExclude = window.name;
		pTest = false;
	}
	
	if (pFrame != window.name)
	{
		var maxFrames = window.frames.length;
		if (maxFrames > 0)
		{
			for (var i = 0; i < maxFrames; i++)
			{
				if (window.frames[i].name != pExclude)
				{
					if (window.frames[i].name == pFrame)
					{
						if (pTest)
						{
							alert(window.frames[i].name + ' (from ' + window.name + '): ' + pCMD);
						}
						else
						{
							window.frames[i].eval(pCMD);
						}
						return true;
						
					}
					else
					{
						if (window.frames[i].Execute(pCMD, pFrame, 'parent', pTest) == true)
						{
							return true;
						}
					}
				}
			}
		}
		
		if (window.name != '')
		{
			if (pExclude != 'parent')
			{
				parent.Execute(pCMD, pFrame, window.name, pTest);
			}
			else
			{
				return false;
			}
		}
		else
		{
			alert(window.name + ': Execute(): Frame ' + pFrame + ' not found.');
			return false;
		}
	}
	else
	{
		if (pTest)
		{
			alert(window.name + ': ' + pCMD);
		}
		else
		{
			eval(pCMD);
		}
		
		return true;
	}
}

function MailTo(pUser, pDomain, pSubject)
{
	var mailto = "mailto:";
	var at = "@";
	var subject = "?subject=";
	if ( arguments.length == 3 )
	{
		_target = mailto + pUser + at + pDomain + subject + pSubject;
	} else {
		_target = mailto + pUser + at + pDomain;
	}
	document.location = _target;
}

function ShowObj(pObj)
{
	_obj = document.getElementById(pObj);
	_obj.style.display = 'block';
}

function HideObj(pObj)
{
	_obj = document.getElementById(pObj);
	_obj.style.display = 'none';
}

function Colon2Dot(pObj, pPrecision)
{
	pObj.value = pObj.value.replace(' ', '');
	pObj.value = pObj.value.replace(',', '.');
	if (pPrecision)
	{
		pObj.value =  Sprintf(pObj.value, pPrecision);
	}
}
	
function Sprintf(pValue, pPrecision)
{
	if (pPrecision > 0)
	{
		if (pValue < 1)
		{
			var value_str = "00000" + Math.round(Math.abs(pValue) * Math.pow(10, pPrecision));
			var value_len = value_str.length;
			if (pValue >= 0)
			{
				return "0." + value_str.substring(value_len - pPrecision, value_len);
			}
			else if (pValue > -1)
			{
				return "-0." + value_str.substring(value_len - pPrecision, value_len);
			}
			else 
			{
				value_str = "" + Math.round(pValue * Math.pow(10, pPrecision));
				value_len = value_str.length;
				return value_str.substring(0, value_len - pPrecision)
				+ "." + value_str.substring(value_len - pPrecision, value_len);
			}
		}
		else
		{
			var value_str = "" + Math.round(pValue * Math.pow(10, pPrecision));
			var value_len = value_str.length;
			return value_str.substring(0, value_len - pPrecision)
				+ "." + value_str.substring(value_len - pPrecision, value_len);
		}
	}
	else
	{
		return Math.round(pValue);
	}
	
	return pValue;
}	

function DisableObj(pObj)
{
	pObj.readOnly = true;
	pObj.style.color = '#ACA899';
	pObj.style.backgroundColor = '#F3F5F6';
}

function EnableObj(pObj)
{
	pObj.readOnly = false;
	pObj.style.color = '';
	pObj.style.backgroundColor = '';
}