function createXHR()
{
    var request = false;
    try
    {
        request = new ActiveXObject('Msxml2.XMLHTTP');
    }
    catch (err2)
    {
        try
        {
            request = new ActiveXObject('Microsoft.XMLHTTP');
        }
        catch (err3)
        {
            try
            {
                request = new XMLHttpRequest();
            }
            catch (err1)
            {
                request = false;
            }
        }
    }
    return request;
}

function getY( oElement )
{
    var iReturnValue = 0;
    while( oElement != null ) {
        iReturnValue += oElement.offsetTop;
        oElement = oElement.offsetParent;
    }
    return iReturnValue;
}

function addEvent(obj, evType, fn){
    if (obj.addEventListener){
        obj.addEventListener(evType, fn, false);
        return true;
    } else if (obj.attachEvent){
        var r = obj.attachEvent("on"+evType, fn);
        return r;
    } else {
        return false;
    }
}

function getX( oElement )
{
    var iReturnValue = 0;
    while( oElement != null ) {
        iReturnValue += oElement.offsetLeft;
        oElement = oElement.offsetParent;
    }
    return iReturnValue;
}


function setOpacity(id, level) {
    element = document.getElementById(id);
    if( element == null )
        return;
    element.style.opacity = level;
    element.style.MozOpacity = level;
    element.style.KhtmlOpacity = level;
    element.style.filter = "alpha(opacity=" + (level * 100) + ");";
}

var duration = 500;  /* 1000 millisecond fade = 1 sec */
var steps = 10;       /* number of opacity intervals   */
var id;

function fadeIn(usr_id){
    id=usr_id;
    setOpacity(id,0);
    document.getElementById(id).style.visibility="";
    for (i = 0; i <= 1; i += (1 / steps)) {
        setTimeout("setOpacity(\'"+usr_id+"\', " + i + ")", i * duration);
    }
}

function fadeOut(usr_id) {
    id= usr_id;
    for (i = 0; i <= 1; i += (1 / steps)) {
        setTimeout("setOpacity(\'"+usr_id+"\', " + (1 - i) + ")", i * duration);
    }

    setTimeout( 'document.getElementById(\''+usr_id+'\').style.visibility="hidden"', duration +1 );
}

/**
     * DHTML email validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
     */

function echeck(str) {

    var at="@";
    var dot=".";
    var lat=str.indexOf(at);
    var lstr=str.length;

    if (str.indexOf(at)==-1){
        return false;
    }

    if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
        return false;
    }

    if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
        return false;
    }

    if (str.indexOf(at,(lat+1))!=-1){
        return false;
    }

    if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
        return false;
    }

    if (str.indexOf(dot,(lat+2))==-1){
        return false;
    }

    if (str.indexOf(" ")!=-1){
        return false;
    }

    return true;
}
