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;
    }