﻿    function showHoverPopup(title, description)
    {
        if(description.length>0){
            var HoverPopup = document.getElementById("HoverPopup");
            
            if(!HoverPopup){
                createHoverPopup();
                HoverPopup = document.getElementById("HoverPopup");
            }
            
            var HoverPopupTitle = document.getElementById("HoverPopupTitle");
            var HoverPopupBody = document.getElementById("HoverPopupBody");
            
            x = event.clientX + document.body.scrollLeft;
            y = event.clientY + document.body.scrollTop;

            //HoverPopupTitle.innerText = title;
            //HoverPopupBody.innerText = description;

            HoverPopupTitle.innerHTML = UrlDecode(title);
            HoverPopupBody.innerHTML = UrlDecode(description);

            HoverPopup.style.left = x;
            HoverPopup.style.top = y;
            HoverPopup.style.display="block";
        }
    }
    
    function hideHoverPopup()
    {
        var HoverPopup = document.getElementById("HoverPopup");
        if(HoverPopup){
            var HoverPopupTitle = document.getElementById("HoverPopupTitle");
            var HoverPopupBody = document.getElementById("HoverPopupBody");
            HoverPopupTitle.innerHTML = "";
            HoverPopupBody.innerHTML = "";
            HoverPopup.style.display="none";
        }
    }       
    
    function createHoverPopup()
    {
        var HoverPopup = document.createElement('<div id="HoverPopup" class="HoverPopup" style="display: none; position: absolute;"></div>');
        var HoverPopupTitle = document.createElement('<div id="HoverPopupTitle" class="HoverPopupTitle"></div>');
        var HoverPopupBody = document.createElement('<div id="HoverPopupBody" class="HoverPopupBody"></div>');
        document.body.appendChild(HoverPopup);
        HoverPopup.appendChild(HoverPopupTitle);
        HoverPopup.appendChild(HoverPopupBody);
    }
    
    function UrlEncode(decoded) {
        var encoded = decoded.replace(/\+/g, '%2B');
        encoded = encoded.replace(/\'/g, '%27');
        encoded = encoded.replace(' ', /\+/g);
        encoded = encoded.replace(/\"/g, '%22');
        encoded = escape(encoded);
        return encoded
    }   
    
    function UrlDecode(encoded) {
        var decoded = encoded;
        decoded = decoded.replace("+", " ");
        decoded = decoded.replace("%27", "'");
        decoded = decoded.replace('&quot;', '"');
        decoded = decoded.replace("&lt;", "<");
        decoded = decoded.replace("&gt;", ">");
        decoded = decoded.replace("&amp;", "&");
        decoded = unescape(decoded);
        return decoded;
}