function AddEventHandler(element, eventName, eventHandler, phase) {
    if (element.addEventListener) {
        //not IE
        element.addEventListener(eventName, eventHandler, false);
    } else if (element.attachEvent) {
        //IE
        element.attachEvent('on'+eventName, eventHandler);
    }
}

function PreventDefault(event) {
    if (event.preventDefault) {
        event.preventDefault();
    } else {
        event.returnValue = false;
    }
}

function GetTargetFrom(event) {
    var theTarget = event.target;

    if(event.target) {
        //not IE
        theTarget = event.target;
    } else if(event.srcElement) {
        //IE
        theTarget = event.srcElement;
    }

    if (theTarget && (theTarget.nodeType == 3 || theTarget.nodeType == 4)) {
        theTarget = theTarget.parentNode;
    }

    return theTarget;
}

function GetPosition(element) {
    var x = 0;
    var y = 0;

    if (element.offsetParent) {
        do {
            x += element.offsetLeft;
            y += element.offsetTop;
        } while (element = element.offsetParent);
    }

    return [x, y];
}

function GetXPosition(element) {
    return GetPosition(element)[0];
}

function GetYPosition(element) {
    return GetPosition(element)[1];
}

function ClearChildNodes(element) {
    for (var i = 0; i < element.childNodes.length; i++) {
        element.removeChild(element.lastChild);
    }
}

function ClearCookies(currentDocument) {
    currentDocument.cookie = "";
}

function SetCookie(cookieName, value, expireDays, path, domain) {
    var expireDate = new Date();
    expireDate.setDate(expireDate.getDate() + expireDays);
    document.cookie = cookieName + "=" + escape(value) +
        ((expireDays == null) ? "" : ";expires=" + expireDate.toGMTString()) +
        ((path == null) ? "" : ";path=" + path) +
        ((domain == null) ? "" : ";domain=" + domain);
}

function GetCookie(cookieName) {
    if (document.cookie.length > 0) {
        cookieStart = document.cookie.indexOf(cookieName + "=");
        if (cookieStart != -1) {
            cookieStart += cookieName.length + 1;
            cookieEnd = document.cookie.indexOf(";", cookieStart);
            if (cookieEnd == -1) {
                cookieEnd = document.cookie.length;
            }
            return unescape(document.cookie.substring(cookieStart, cookieEnd));
        }
    }
    return "";
}

function SetOpacity(element, value)
{
    element.style.opacity = value/10;
	  element.style.filter = 'alpha(opacity='+(value*10)+')';
}
