function getCharPos(pvPath, pvChar)
{
	var lvPos = pvPath.length - 1;
	var lvChar = "";
	while ((lvChar != pvChar) && (lvPos > 0))
	{
		lvChar = pvPath.charAt(lvPos);
		lvPos--;
	}
	return lvPos + 1;
}

function getLocation(pvPath)
{
	var lvLocation = pvPath;
	if (lvLocation == "about:blank")
	{
		lvLocation = "" + window.location;
	}
	return lvLocation;
}

function getPath(pvPath)
{
	var lvPath = getLocation(pvPath);
	return lvPath.substring(0, getCharPos(lvPath, "/") + 1);
}

function getCurrentPath()
{
	return getPath(window.location + "");
}

function getServer(pvPath)
{
	var lvPath = getLocation(pvPath);
	var lvPos = lvPath.indexOf("//");
	if (lvPos == -1)
	{
		lvPos = 0;
	}
	else
	{
		lvPos += 2;
	}
	var lvChar = "_";
	while ((lvPos < lvPath.length - 1) && (lvChar != "/"))
	{
		lvChar = lvPath.charAt(lvPos);
		lvPos++;
	}
	return lvPath.substring(0, lvPos - 1);
}

function getFileNameAndQuery(pvPath)
{
	var lvPath = getLocation(pvPath);
	return lvPath.substring(getCharPos(lvPath, "/") + 1);
}

function getFileName(pvPath)
{
	var lvPath = getFileNameAndQuery(pvPath);
	return lvPath.substring(0, getCharPos(lvPath, "?"));
}

function getQuery(pvPath)
{
	var lvPath = getFileNameAndQuery(pvPath);
	return lvPath.substring(getCharPos(lvPath, "?"));
}

function getQueryVal(pvPath, pvItem, pvDef)
{
	var lvPath = getQuery(pvPath).substring(1);
	var i = lvPath.toUpperCase().indexOf(pvItem.toUpperCase() + "=");
	if (i >= 0)
	{
		lvPath = lvPath.substring(pvItem.length + i + 1);
		i = lvPath.indexOf("&");
		return (lvPath = lvPath.substring(0, (i >= 0) ? i : lvPath.length));
	}
	return pvDef;
}
