String.prototype.trim = function () {  return this.replace(/^\s*(\S*(\s+\S+)*)\s*$/, "$1");};

function getObject(objectId)
{
    if(document.getElementById && document.getElementById(objectId))
    {
	return document.getElementById(objectId);
    }
    else if (document.all && document.all(objectId))
    {
	return document.all(objectId);
    }
    else if (document.layers && document.layers[objectId])
    {
	return document.layers[objectId];
    }
    else
    {
	return false;
    }
}

function getStyleObject(objectId)
{
    if(document.getElementById && document.getElementById(objectId))
    {
        return document.getElementById(objectId).style;
    }
    else if (document.all && document.all(objectId))
    {
	return document.all(objectId).style;
    }
    else if (document.layers && document.layers[objectId])
    {
	return document.layers[objectId];
    }
    else
    {
	return false;
    }
}

function changeObjectDisplay(objectId, newVisibility)
{
    var styleObject = getStyleObject(objectId);

    if(styleObject)
    {
        if (newVisibility)
        {
            styleObject.display = '';
        }
        else
        {
            styleObject.display = 'none';
        }
	return true;
    }
    else
    {
	return false;
    }
}

function changeObjectVisibility(objectId, newVisibility)
{
    var styleObject = getStyleObject(objectId);

    if(styleObject)
    {
        if (newVisibility)
        {
            styleObject.visibility = 'visible';
        }
        else
        {
            styleObject.visibility = 'hidden';
        }
	return true;
    }
    else
    {
	return false;
    }
}

function checkNicSearchForm(data)
{
    if (data.length > 0)
    {
        data = data.trim();
        
        if (data.search("^-|-$|--") == -1)
        {
            if (data.search("([A-Za-z0-9]|-){"+data.length+"}") != -1)
            {
                return true;
            }
        }
    }
    return false;
}

function checkDomainSearchForm(data)
{
    if (data.length > 0)
    {
        data = data.trim();
        
        if (data.search("^\\.|\\.$|\\.\\.|^-|-$|--") == -1)
        {
            if (data.search("([A-Za-z0-9]|-|\\.){"+data.length+"}") != -1)
            {
                return true;
            }
        }
    }
    return false;
}

function createAjaxObj()
{
    var httprequest = false;

    if (window.XMLHttpRequest)
    { // if Mozilla, Safari etc
        httprequest = new XMLHttpRequest();

        if (httprequest.overrideMimeType)
        {
            httprequest.overrideMimeType('text/xml');
        }
    }
    else if (window.ActiveXObject)
    { // if IE
        try
        {
            httprequest = new ActiveXObject('Msxml2.XMLHTTP');
        } 
        catch (e)
        {
            try
            {
                httprequest = new ActiveXObject('Microsoft.XMLHTTP');
            }
            catch (e)
            {
            }
        }
    }

    return httprequest;
}

function setWaitCursor(flag)
{
    var style;

    if (flag)
    {
        style = 'wait';
    }
    else
    {
        style = 'auto';
    }

    document.body.style.cursor = style;

    obj = document.getElementsByTagName('A');
    for (var i=0;i < obj.length; i++)
    {
        obj[i].style.cursor=style;
    }

    obj = document.getElementsByTagName('INPUT');
    for (var i=0;i < obj.length; i++)
    {
        obj[i].style.cursor = style;
    }
}