/**
* Weitere String-Funktionen
*/
function StringUtils() {}
/**
* Schneidet die angegebenen Zeichen auf beiden Seiten des Strings ab
*
* @param str String Zuzuschneidender String
* @param chars String (default: \s (Whitespace)) Charakterklasse von Zeichen,
* die abgeschnitten werden sollen
* @return String Zugeschnittener String
*/
StringUtils.trim = function(str, chars)
{
return StringUtils.ltrim(StringUtils.rtrim(str, chars), chars);
}
/**
* Schneidet die angegebenen Zeichen am Anfang des Strings ab
*
* @param str String Zuzuschneidender String
* @param chars String (default: \s (Whitespace)) Charakterklasse von Zeichen,
* die abgeschnitten werden sollen
* @return String Zugeschnittener String
*/
StringUtils.ltrim = function(str, chars)
{
chars = chars || "\\s";
return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}
/**
* Schneidet die angegebenen Zeichen am Ende des Strings ab
*
* @param str String Zuzuschneidender String
* @param chars String (default: \s (Whitespace)) Charakterklasse von Zeichen,
* die abgeschnitten werden sollen
* @return String Zugeschnittener String
*/
StringUtils.rtrim = function(str, chars)
{
chars = chars || "\\s";
return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}
/**
* Funktionen zur Organisation der CSS-Klassen eines Elements
*
* @author Marc Ermshaus <http://ermshaus.org/>
* @version 2009-09-07
*/
function CssHelper() {}
/**
* Gibt zurück, ob ein HtmlElement die angegebene CSS-Klasse enthält
*
* @param node HtmlElement Zu prüfendes HtmlElement
* @param cl String Zu suchende CSS-Klasse
* @return bool true, wenn das Element die CSS-Klasse enthält
*/
CssHelper.hasClass = function(node, cl)
{
var classes = StringUtils.trim(node.className).split(' ');
for (var i = 0; i < classes.length; i++) {
if (cl == classes[i]) {
return true;
}
}
return false;
}
/**
* Fügt eine CSS-Klasse hinten an die Klassendefinition eines Elements an, falls
* sie noch nicht vorhanden ist
*
* @param node HtmlElement Ziel-HtmlElement
* @param cl String Hinzuzufügende CSS-Klasse
*/
CssHelper.addClass = function(node, cl)
{
if (!CssHelper.hasClass(node, cl)) {
node.className += ' ' + cl;
}
}
/**
* Entfernt eine CSS-Klasse aus der Klassendefinition eines Elements
*
* @param node HtmlElement Ziel-HtmlElement
* @param cl String Zu entfernende CSS-Klasse
*/
CssHelper.removeClass = function(node, cl)
{
var classes = StringUtils.trim(node.className).split(' ');
var newClasses = '';
for (j = 0; j < classes.length; j++) {
if (cl != classes[j]) {
newClasses += classes[j] + ' ';
}
}
node.className = newClasses;
}