//////////////////////////////////////////////////////////////////////////////////
// ServerSupport.js v5.0.0                                                      //
// Copyright ADVIZOR Solutions, Inc. 2005.                                      //
//                                                                              //
// Copying, modifying or distributing all or part of the contents of this file  //
// without express written permission is strictly prohibited.                   //
//////////////////////////////////////////////////////////////////////////////////

function ServerSupport_GetRule(ruleName) {
    var curSheet;
    var curRule;

    var i = 0;
    var j = 0;

    for ( i = 0; i < document.styleSheets.length; i++ ) {
        curSheet = document.styleSheets[i];
        for (j = 0; j < curSheet.rules.length; j++) {
            curRule = curSheet.rules.item(j);
            if (curRule.selectorText == ruleName) {
                return curRule;
            }
        }
    }
}

function ServerSupport_AbsoluteTopNode(node) {
    var x = node.offsetTop + node.clientTop;
    var parent = node.offsetParent;

    x += parent.offsetTop;
    x += parent.clientTop;
    parent = parent.offsetParent;

    while(parent) {
        if (parent.tagName.toLowerCase() != "body") {
            x += parent.offsetTop;
            if (parent.tagName.toLowerCase() != "table") {
                x += parent.clientTop;
            }
        }
        parent = parent.offsetParent;
    }
    return x;
}

function ServerSupport_AbsoluteLeftNode(node) {
    var x = node.offsetLeft + node.clientLeft;
    var parent = node.offsetParent;

    x += parent.offsetLeft;
    x += parent.clientLeft;
    parent = parent.offsetParent;

    while(parent) {
        if (parent.tagName.toLowerCase() != "body") {
            x += parent.offsetLeft;
            if (parent.tagName.toLowerCase() != "table") {
                x += parent.clientLeft;
            }
        }
        parent = parent.offsetParent;
    }
    return x;
}

function ServerSupport_Trim(s) {
    // Remove leading spaces
    while ((s.substring(0,1) == ' ')) {
        s = s.substring(1,s.length);
    }
    // Remove trailing spaces and carriage returns
    while ((s.substring(s.length-1,s.length) == ' ')) {
        s = s.substring(0,s.length-1);
    }
    return s;
}
