function GetAjaxObject()
{
    var oAjax = null;

    try
    {
        oAjax = new ActiveXObject("Microsoft.XMLHTTP");
    }
    catch(ex)
    {
        try        
        {
            oAjax = new XMLHttpRequest();
        }
        catch(ex2)
        {
            return null;
        }
    }
    
    return oAjax;
}

function Trim(strText)
{
	return strText.replace(/^\s+|\s+$/g,"");
}

function LTrim(strText)
{
	return strText.replace(/^\s+/,"");
}

function RTrim(strText)
{
	return strText.replace(/\s+$/,"");
}

function FindPos(obj)
{
    var curleft = curtop = 0;

    if (obj.offsetParent)
    {
        do
        {
            curleft += obj.offsetLeft;
            curtop += obj.offsetTop;
        } while (obj = obj.offsetParent);
        
        return [curleft, curtop];
    }
    
    return [0, 0];
}

function RemoveAlpha(str)
{
    return str.replace(/[a-z]/gi, '');
}

function ParsePixel(strPixel)
{
    var ret = 0;
    try
    {
        ret = parseInt(RemoveAlpha(strPixel + ''));
    }
    catch(ex)
    {
        return 0;
    }
    
    return ret;
}

function GetXmlNodeText(xmlDoc, nodeName) {
    var nodeText = "";
    try {
        nodeText = xmlDoc.getElementsByTagName(nodeName)[0].childNodes[0].nodeValue;
    }
    catch (ex) {
    }

    return nodeText;
}

function IsAlpha(ch) {
    try {
        var lowerChars = 'abcdefghijklmnopqrstuvwxyz';
        var pos = lowerChars.toUpperCase().indexOf(ch.toUpperCase(), 0);

        if (pos >= 0) {
            return true;
        }
    }
    catch (ex) {
    }

    return false;
}

function IsNum(ch) {
    var numbers = '0123456789';
    var pos = numbers.indexOf(ch, 0);

    if (pos >= 0) {
        return true;
    }

    return false;
}

function IsAlphaNum(ch) {
    if (IsAlpha(ch) || IsNum(ch)) {
        return true;
    }

    return false;
}
