/*
===============================================================

    © carelessWriting.com

    Dieses Skript ist Eigentum von carelessWriting.com.

    Unerlaubte Vervielfältigung wird strafrechtlich verfolgt.

===============================================================
*/


NHO =

{

    appendNodes: function(parentNode, childNodes)
    {
        var anzahl = childNodes.length;

        for (var i=0; i<anzahl; i++)
        {
            parentNode.appendChild(childNodes[i]);
        }
    },


    removeChildNodes: function(node)
    {
        //if (!node.childNodes) return;

        var lastChild = node.childNodes.length-1;

        for (var i=lastChild; i>=0; i--)
        {
            node.removeChild(node.childNodes[i]);
        }
    },


    searchParentNode: function(childNode, parentNodeName)
    {
        var searchParent = childNode;
        parentNodeName = parentNodeName.toLowerCase();

        ret = null;

        while (searchParent.parentNode)
        {
            if (searchParent.parentNode.nodeName.toLowerCase() == parentNodeName)
            {
                ret = searchParent.parentNode;
                break;
            }

            searchParent = searchParent.parentNode;
        }

        return ret;
    },


    searchNextSiblingByNodeName: function(node, nextSiblingNodeName)
    {
        var searchSibling = node;
        nextSiblingNodeName = nextSiblingNodeName.toLowerCase();

        ret = null;

        while (searchSibling.nextSibling)
        {
            if (searchSibling.nextSibling.nodeName.toLowerCase() == nextSiblingNodeName)
            {
                ret = searchSibling.nextSibling;
                break;
            }

            searchSibling = searchSibling.nextSibling;
        }

        return ret;
    },


    searchPreviousSiblingByNodeName: function(node, previousSiblingNodeName)
    {
        var searchSibling = node;
        previousSiblingNodeName = previousSiblingNodeName.toLowerCase();

        ret = null;

        while (searchSibling.previousSibling)
        {
            if (searchSibling.previousSibling.nodeName.toLowerCase() == previousSiblingNodeName)
            {
                ret = searchSibling.previousSibling;
                break;
            }

            searchSibling = searchSibling.previousSibling;
        }

        return ret;
    }

}
