function showElementById(elemId) {
    var elem = document.getElementById(elemId);
    showElement(elem);
}

function hideElementById(elemId) {
    var elem = document.getElementById(elemId);
    hideElement(elem);
}

function showElement(elem) {
    if (null != elem) {
        elem.style.display = '';
    }
}

function hideElement(elem) {
    if (null != elem) {
        elem.style.display = 'none';
    }
}

function hideAllElementsWithClassName(className, elementType) {
    var allElems = document.getElementsByTagName(elementType);

    for (var y = 0; y < allElems.length; y++) {
        if (allElems[y].className == className) {
            hideElement(allElems[y]);
        }
    }
}

function showAllElementsWithClassName(className, elementType) {
    var allElems = document.getElementsByTagName(elementType);

    for (var y = 0; y < allElems.length; y++) {
        if (allElems[y].className == className) {
            showElement(allElems[y]);
        }
    }
}

function changeClassNames(oldClassName, newClassName, elementType) {
    var allElems = document.getElementsByTagName(elementType);

    for (var y = 0; y < allElems.length; y++) {
        if (allElems[y].className == oldClassName) {
            setCssClass(allElems[y], newClassName);
        }
    }
}

function setCssClassById(elemId, className) {
    var elem = document.getElementById(elemId);

    if (null != elem) {
        setCssClass(elem, className);
    }
}

function setCssClass(elem, className) {
    if (null != elem) {
        elem.className = className;
    }
}

function findPosX(obj) {
    var curleft = 0;
    if (obj.offsetParent) {
        while (obj.offsetParent) {
            curleft += obj.offsetLeft
            obj = obj.offsetParent;
        }
    }
    else if (obj.x)
        curleft += obj.x;
    return curleft;
}

function findPosY(obj) {
    var curtop = 0;
    if (obj.offsetParent) {
        while (obj.offsetParent) {
            curtop += obj.offsetTop
            obj = obj.offsetParent;
        }
    }
    else if (obj.y)
        curtop += obj.y;
    return curtop;
}

function getLowestParent(elem) {
    if (null != elem) {
        var parent = elem;

        while (parent.parentElement) {
            parent = parent.parentElement;
        }

        return parent;
    }
}

function underlineElements(baseNode, elemType) {
    var elems = baseNode.getElementsByTagName(elemType);

    for (var y = 0; y < elems.length; y++) {
        var elem = elems[y];
        elem.style.textDecoration = 'underline';
    }
}

function unUnderlineElements(baseNode, elemType) {
    var elems = baseNode.getElementsByTagName(elemType);

    for (var y = 0; y < elems.length; y++) {
        var elem = elems[y];
        elem.style.textDecoration = 'none';
    }
}

function setCursorToHand(elem) {
    if (null != elem) {
        // fix for IE7 not liking to set cursor style on area elements
        var parent = getLowestParent(elem);
        parent.style.cursor = 'pointer';
    }
}

function setCursorToNormal(elem) {
    if (null != elem) {
        // fix for IE7 not liking to set cursor style on area elements
        var parent = getLowestParent(elem);
        parent.style.cursor = 'default';
    }
}

function selectDropDownOption(ddl, value) {
    if (ddl) {
        for (var i = 0; i < ddl.length; i++) {
            if (ddl[i].value == value) {
                ddl.selectedIndex = i;
                break;
            }
        }
    }
}