﻿var currentPopupSender = null;
var memocastPopupHideTimer = null;
function PupupMouseOver(sender, ot, args)
{
    currentPopupSender = sender;
    
    ClearPopupContainer(sender);
    
    if (memocastPopupHideTimer != null)
    {
        window.clearTimeout(memocastPopupHideTimer);
    }
    
    switch (ot)
    {
        case 'user':
            PopupInfo.GetUserInfo(args, PopupUserCallback, PopupFailedCallback, "XmlDocument");
            break;
           case 'media':
           	PopupInfo.GetMediaInfo(args, PopupMediaInfoCallback, PopupFailedCallback, "XmlDocument");
           	break;
            
    }
}

function PopupMediaInfoCallback(result, userContext, methodName)
{
    var doc = result;
    var root = doc.documentElement;
    var success = root.getAttribute("success");
    
    if (success == "true")
    {
        var media = root;
        var description = media.getAttribute("description");
        var title = media.getAttribute("title");
        var media_id = media.getAttribute("media_id");
        
        var tbl = document.createElement("table");
        tbl.cellPadding = "2";
        tbl.cellSpacing = "2";
        tbl.style.width = "100%";
        var divPopupContainer = document.getElementById("divPopupContainer");
        divPopupContainer.innerHTML = "";
        divPopupContainer.appendChild(tbl);
        
        var tbody = document.createElement("tbody");
        tbl.appendChild(tbody);
        
        var tr = document.createElement("tr");
        tbody.appendChild(tr);
        tr.vAlign = "top";
        var td = document.createElement("td");
        tr.appendChild(td);
        
        var link = "media.aspx?id=" + media_id;
 
        var a = document.createElement("A");
        a.setAttribute("href", link);
        td.appendChild(a);
        
        var tmpDiv = document.createElement("DIV");
        a.appendChild(tmpDiv);
        tmpDiv.className = "head";
        tmpDiv.innerHTML = htmlEncode(title, true, true);

        tmpDiv = document.createElement("DIV");
        tmpDiv.className = "info";
        td.appendChild(tmpDiv);
        tmpDiv.innerHTML = description;
        
        tr = document.createElement("tr");
        tbody.appendChild(tr);
        td = document.createElement("td");
        tr.appendChild(td);
        td.colSpan = "2";
        td.align = "right";
        td.innerHTML = "<a href='javascript:PopupClose();' style='font: 11px tahoma;'>Close</a>";
    }
}

function PopupUserCallback(result, userContext, methodName)
{
    var doc = result;
    var root = doc.documentElement;
    var success = root.getAttribute("success");
    if (success == "true")
    {
        var user = root.firstChild;
        var userName = user.getAttribute("name");
        var userRealName = user.getAttribute("realname");
        var userId = user.getAttribute("user_id");
        var userAge = user.getAttribute("age");
        var userGender = user.getAttribute("gender");
        var userLocation = user.getAttribute("location");
        
        var tbl = document.createElement("table");
        tbl.cellPadding = "2";
        tbl.cellSpacing = "2";
        var divPopupContainer = document.getElementById("divPopupContainer");
        divPopupContainer.innerHTML = "";
        divPopupContainer.appendChild(tbl);
        
        var tbody = document.createElement("tbody");
        tbl.appendChild(tbody);
        
        var tr = document.createElement("tr");
        tbody.appendChild(tr);
        tr.vAlign = "top";
        var td = document.createElement("td");
        tr.appendChild(td);
        
        var link = "userinfo.aspx?user=" + escape(userName);
        
        var a = document.createElement("A");
        
        a.setAttribute("href", link);
        
        td.appendChild(a);
        
        var img = document.createElement("IMG");
        img.src = "image.ashx?mode=userphoto&width=120&user=" + userId;
        img.border = "0";
        a.appendChild(img);
        
        td = document.createElement("td");
        tr.appendChild(td);
        
        a = document.createElement("A");
        a.setAttribute("href", link);
        td.appendChild(a);
        
        var tmpDiv = document.createElement("DIV");
        a.appendChild(tmpDiv);
        tmpDiv.style.font = "bold 12px tahoma";
        tmpDiv.style.padding = "0 0 5 0";
        tmpDiv.innerHTML = htmlEncode(userName, true, true) + " (" + htmlEncode(userRealName, true, true) + ")";
        
        tmpDiv = document.createElement("DIV");
        td.appendChild(tmpDiv);
        tmpDiv.style.font = "11px tahoma";
        tmpDiv.style.padding = "0 0 5 0";
        tmpDiv.innerHTML = "<b>Gender:</b> " + userGender;
        
        tmpDiv = document.createElement("DIV");
        td.appendChild(tmpDiv);
        tmpDiv.style.font = "11px tahoma";
        tmpDiv.style.padding = "0 0 5 0";
        tmpDiv.innerHTML = "<b>Age:</b> " + userAge;
        
        tmpDiv = document.createElement("DIV");
        td.appendChild(tmpDiv);
        tmpDiv.style.font = "11px tahoma";
        tmpDiv.style.padding = "0 0 5 0";
        tmpDiv.innerHTML = "<b>Location:</b> " + htmlEncode(userLocation, true, true);
        
        tr = document.createElement("tr");
        tbody.appendChild(tr);
        td = document.createElement("td");
        tr.appendChild(td);
        td.colSpan = "2";
        td.align = "right";
        td.innerHTML = "<a href='javascript:PopupClose();' style='font: 11px tahoma;'>Close</a>";
    }
}

function PopupFailedCallback(result)
{
}

function PopupClose()
{
    var divPopupContainer = document.getElementById("divPopupContainer");
    divPopupContainer.style.display = "none";
}

function ClearPopupContainer(relative)
{
    var divPopupContainer = document.getElementById("divPopupContainer");
    divPopupContainer.innerHTML = "Loading ...";
    divPopupContainer.style.top = (fnGetOffsetTop(relative) + relative.offsetHeight) + "px";
    divPopupContainer.style.left = fnGetOffsetLeft(relative) + 150 + "px";
    divPopupContainer.style.display = "";
    // divPopupContainer.style.width = "340px";
}

function fnGetOffsetTop(obj)
{
    var tmp = obj.offsetTop;
    if (obj.offsetParent != null)
    {
        tmp += fnGetOffsetTop(obj.offsetParent);
    } // if (obj.offsetParent != null) ...
    return tmp;
} // function fnGetOffsetTop(obj) ...

function fnGetOffsetLeft(obj)
{
    var tmp = obj.offsetLeft;
    if (obj.offsetParent != null)
    {
        tmp += fnGetOffsetLeft(obj.offsetParent);
    } // if (obj.offsetParent != null) ...
    return tmp;
} // function fnGetOffsetLeft(obj) ...

function PopupTargetMouseOut(sender)
{
    memocastPopupHideTimer = window.setTimeout('document.getElementById("divPopupContainer").style.display = "none"', 500);
    // var divPopupContainer = document.getElementById("divPopupContainer");
}

function PopupMenuMouseIn()
{
    if (memocastPopupHideTimer != null)
    {
        window.clearTimeout(memocastPopupHideTimer);
    }
}
