// $Id: general.js,v 1.1 2009/05/29 08:47:08 praganitsch Exp $

function trim(vStr, vChars) {
	return ltrim(rtrim(vStr, vChars), vChars);
};

function ltrim(vStr, vChars) {
	vChars = vChars || "\\s";
	return vStr.replace(new RegExp("^[" + vChars + "]+", "g"), "");
};

function rtrim(vStr, vChars) {
	vChars = vChars || "\\s";
	return vStr.replace(new RegExp("[" + vChars + "]+$", "g"), "");
};

function setItemAjax(pItemName,pValue)
{
  // item via ajax setzen, wirkt sofort
  var vResult      = null;
  var vAjaxRequest = new htmldb_Get
                           ( null
                           , $x("pFlowId").value
                           , 'APPLICATION_PROCESS=emptyDummy'
                           , $x("pFlowStepId").value
                           );
  vAjaxRequest.add(pItemName,pValue);
  vResult = vAjaxRequest.get();
}; // setItemAjax

//
// Wird verwendet, um den aktiven Untermenue-Punkt zu bestimmen
function setActiveSubMenu(pName)
{
  // menu kann auf NULL gesetzt werden, da muss nichts ge-toggled werden
	if (pName != "")
	{
    $x_Toggle(pName);
  }
  // merken, welches der aktive Hauptmenuepunkt ist
  setItemAjax('G_CURRENT_SUB_MENU',pName);
}; // setActiveSubMenu

//
// Wird verwendet, um den aktiven Hauptmenue-Punkt zu bestimmen
function setActiveMainMenu(pName)
{
  // menu kann auf NULL gesetzt werden, da muss nichts ge-toggled werden
	if (pName != "")
	{
    $x_Toggle(pName);
  }
  // merken, welches der aktive Hauptmenuepunkt ist
  setItemAjax('G_CURRENT_MAIN_MENU',pName);
}; // setActiveMainMenu



//------------------------------------------------------------------------------
// Erweitert das String-Objekt um eine Padding-Funktion
//    pLength ... zu erzielende Gesamtlaenge
//    pPadChar... Zeichen, mit dem aufgepaddet wird
//    pPadRight.. 1 = Zeichen werden rechts angehaengt, 0 = Zeichen links
//------------------------------------------------------------------------------
String.prototype.pad = function(pLength, pPadChar, pPadRight){
    return pPadChar || (pPadChar = " "), (pLength -= this.length) > 0 ? (pPadChar = new Array(Math.ceil(pLength / pPadChar.length)
        + 1).join(pPadChar)).substr(0, pPadRight = !pPadRight ? pLength : pPadRight == 1 ? 0 : Math.ceil(pLength / 2))
        + this + pPadChar.substr(0, pLength - pPadRight) : this;
};



