﻿// JScript File
Sys = {};
Sys.Browser = {};

Sys.Browser.InternetExplorer = {};
Sys.Browser.Firefox = {};
Sys.Browser.Safari = {};
Sys.Browser.Opera = {};

Sys.Browser.agent = null;

if (navigator.userAgent.indexOf(' MSIE ') > -1) {
    Sys.Browser.agent = Sys.Browser.InternetExplorer;
}
else if (navigator.userAgent.indexOf(' Firefox/') > -1) {
    Sys.Browser.agent = Sys.Browser.Firefox;
    Sys.Browser.version = parseFloat(navigator.userAgent.match(/ Firefox\/(\d+\.\d+)/)[1]);
    Sys.Browser.name = 'Firefox';
}
else if (navigator.userAgent.indexOf(' Safari/') > -1) {
    Sys.Browser.agent = Sys.Browser.Safari;
    Sys.Browser.version = parseFloat(navigator.userAgent.match(/ Safari\/(\d+\.\d+)/)[1]);
    Sys.Browser.name = 'Safari';
}
else if (navigator.userAgent.indexOf('Opera/') > -1) {
    Sys.Browser.agent = Sys.Browser.Opera;
}
Sys._getCurrentStyle = function Sys$UI$DomElement$_getCurrentStyle(element) {
    var w = (element.ownerDocument ? element.ownerDocument : element.documentElement).defaultView;
    return ((w && (element !== w) && w.getComputedStyle) ? w.getComputedStyle(element, null) : element.style);
}
switch(Sys.Browser.agent) {
    case Sys.Browser.InternetExplorer:
        Sys.getLocation = function Sys$UI$DomElement$getLocation(element) {
           
            if (element.self || element.nodeType === 9) return {x:0,y:0};

            var clientRects = element.getClientRects();
            if (!clientRects || !clientRects.length) {
                return {x:0,y:0};
            }

            var w = element.ownerDocument.parentWindow;
            var offsetL = w.screenLeft - top.screenLeft - top.document.documentElement.scrollLeft + 2;
            var offsetT = w.screenTop - top.screenTop - top.document.documentElement.scrollTop + 2;

            var f = w.frameElement || null;
            if (f) {
                var fstyle = f.currentStyle;
                offsetL += (f.frameBorder || 1) * 2 +
                    (parseInt(fstyle.paddingLeft) || 0) +
                    (parseInt(fstyle.borderLeftWidth) || 0) -
                    element.ownerDocument.documentElement.scrollLeft;
                offsetT += (f.frameBorder || 1) * 2 +
                    (parseInt(fstyle.paddingTop) || 0) +
                    (parseInt(fstyle.borderTopWidth) || 0) -
                    element.ownerDocument.documentElement.scrollTop;
            }

            var clientRect = clientRects[0];

            return {x:clientRect.left - offsetL,y:clientRect.top - offsetT};
           }
        break;
    case Sys.Browser.Safari:
        Sys.getLocation = function Sys$UI$DomElement$getLocation(element) {
          
            if ((element.window && (element.window === element)) || element.nodeType === 9) return {x:0,y:0};

            var offsetX = 0;
            var offsetY = 0;

            var previous = null;
            var previousStyle = null;
            var currentStyle;
            for (var parent = element; parent; previous = parent, previousStyle = currentStyle, parent = parent.offsetParent) {
                currentStyle = Sys._getCurrentStyle(parent);
                var tagName = parent.tagName;

                                                                                if ((parent.offsetLeft || parent.offsetTop) &&
                    ((tagName !== "BODY") || (!previousStyle || previousStyle.position !== "absolute"))) {

                    offsetX += parent.offsetLeft;
                    offsetY += parent.offsetTop;
                }
            }

            currentStyle = Sys._getCurrentStyle(element);
            var elementPosition = currentStyle ? currentStyle.position : null;
            var elementPositioned = elementPosition && (elementPosition !== "static");
                        if (!elementPosition || (elementPosition !== "absolute")) {
                                for (var parent = element.parentNode; parent; parent = parent.parentNode) {
                    tagName = parent.tagName;

                    if ((tagName !== "BODY") && (tagName !== "HTML") && (parent.scrollLeft || parent.scrollTop)) {
                        offsetX -= (parent.scrollLeft || 0);
                        offsetY -= (parent.scrollTop || 0);
                    }
                    currentStyle = Sys._getCurrentStyle(parent);
                    var parentPosition = currentStyle ? currentStyle.position : null;

                                        if (parentPosition && (parentPosition === "absolute")) break;
                }
            }

            return {x:offsetX,y:offsetY};
        }
        break;
    case Sys.Browser.Opera:
        Sys.getLocation = function Sys$UI$DomElement$getLocation(element) {
            if ((element.window && (element.window === element)) || element.nodeType === 9) return {x:0,y:0};

            var offsetX = 0;
            var offsetY = 0;

            var previous = null;
            for (var parent = element; parent; previous = parent, parent = parent.offsetParent) {

                var tagName = parent.tagName;

                offsetX += parent.offsetLeft || 0;
                offsetY += parent.offsetTop || 0;
            }

            var elementPosition = element.style.position;
            var elementPositioned = elementPosition && (elementPosition !== "static");

            for (var parent = element.parentNode; parent; parent = parent.parentNode) {
                tagName = parent.tagName;

                if ((tagName !== "BODY") && (tagName !== "HTML") && (parent.scrollLeft || parent.scrollTop) &&
                    ((elementPositioned &&
                    ((parent.style.overflow === "scroll") || (parent.style.overflow === "auto"))))) {
                                        
                    offsetX -= (parent.scrollLeft || 0);
                    offsetY -= (parent.scrollTop || 0);
                }
                var parentPosition = (parent && parent.style) ? parent.style.position : null;

                elementPositioned = elementPositioned || (parentPosition && (parentPosition !== "static"));
            }


            return {x:offsetX,y:offsetY};
        }
        break;
    default:
        Sys.getLocation = function Sys$UI$DomElement$getLocation(element) {
            if ((element.window && (element.window === element)) || element.nodeType === 9) return {x:0,y:0};

            var offsetX = 0;
            var offsetY = 0;
            var previous = null;
            var previousStyle = null;
            var currentStyle = null;
            for (var parent = element; parent; previous = parent, previousStyle = currentStyle, parent = parent.offsetParent) {
                var tagName = parent.tagName;
                currentStyle = Sys._getCurrentStyle(parent);

                                                if ((parent.offsetLeft || parent.offsetTop) &&
                    !((tagName === "BODY") &&
                    (!previousStyle || previousStyle.position !== "absolute"))) {

                    offsetX += parent.offsetLeft;
                    offsetY += parent.offsetTop;
                }

                                                if (previous !== null && currentStyle) {
                                                                                                                                            if ((tagName !== "TABLE") && (tagName !== "TD") && (tagName !== "HTML")) {
                        offsetX += parseInt(currentStyle.borderLeftWidth) || 0;
                        offsetY += parseInt(currentStyle.borderTopWidth) || 0;
                    }
                    if (tagName === "TABLE" &&
                        (currentStyle.position === "relative" || currentStyle.position === "absolute")) {
                        offsetX += parseInt(currentStyle.marginLeft) || 0;
                        offsetY += parseInt(currentStyle.marginTop) || 0;
                    }
                }
            }

            currentStyle = Sys._getCurrentStyle(element);
            var elementPosition = currentStyle ? currentStyle.position : null;
            var elementPositioned = elementPosition && (elementPosition !== "static");
                        if (!elementPosition || (elementPosition !== "absolute")) {
                                                                                for (var parent = element.parentNode; parent; parent = parent.parentNode) {
                                                                                tagName = parent.tagName;

                    if ((tagName !== "BODY") && (tagName !== "HTML") && (parent.scrollLeft || parent.scrollTop)) {

                        offsetX -= (parent.scrollLeft || 0);
                        offsetY -= (parent.scrollTop || 0);

                        currentStyle = Sys._getCurrentStyle(parent);
                        offsetX += parseInt(currentStyle.borderLeftWidth) || 0;
                        offsetY += parseInt(currentStyle.borderTopWidth) || 0;
                    }
                }
            }

            return {x:offsetX,y:offsetY};
        }
        break;

}

var tDiv=document.createElement('div'); 
if (document.body) {
    document.body.appendChild(tDiv);
    tDiv.style.zIndex= 9999;
    tDiv.style.display = "none";
	tDiv.style.position="absolute";
    tDiv.style.backgroundColor	="#f8f8e1"	;
    tDiv.style.borderStyle	="solid"	;
    tDiv.style.borderColor	="#2254b1"	;
    tDiv.style.borderWidth	="1px"	;
} 
function ShowTip(e,data)
{
   // var e=event;
    var elem = e.target ? e.target : e.srcElement;
    var template="<table border=0 with='100%' cellpadding=2 cellspacing=0><tr><td>"+data+"</td></tr></table>";
    var o=Sys.getLocation(elem);
    tDiv.style.left=(15+Math.round(o.x))+"px";
    tDiv.style.top=Math.round(o.y)+"px";
    elem.TipObj=tDiv;
    elem.onmouseout=function(){this.TipObj.style.display = "none";}
    tDiv.innerHTML=template;
    tDiv.style.display = "";
     
}

