﻿var requests = new Object();

function displayPictureDetails(pictureId)
{
    current_xhr = window.XMLHttpRequest ? new XMLHttpRequest(): new ActiveXObject("Microsoft.XMLHTTP");
    requests["r_picture_" + pictureId] = current_xhr;

    if (current_xhr)
    {
        current_xhr.onreadystatechange = function() { eval("displayPictureDetailsCallback('" + pictureId + "')"); };       
        current_xhr.open("GET", "PictureDetailsXmlHandler.ashx?id=" + pictureId.toString());        
        current_xhr.send("");
    }
}

function displayPictureDetailsCallback(pictureId)
{
    var current_xhr = requests["r_picture_" + pictureId];
    if (!current_xhr) return;
    
    if (current_xhr.readyState == 4)
    {
        var success = false;
        var status = current_xhr.responseXML.getElementsByTagName("status")[0].firstChild.data;
        var title = current_xhr.responseXML.getElementsByTagName("pictureTitle")[0].firstChild.data;
        var userID = current_xhr.responseXML.getElementsByTagName("userID")[0].firstChild.data;
        var commentCount = current_xhr.responseXML.getElementsByTagName("commentCount")[0].firstChild.data;
        var viewCount = current_xhr.responseXML.getElementsByTagName("picureViews")[0].firstChild.data;
        var username = current_xhr.responseXML.getElementsByTagName("username")[0].firstChild.data;
                 
        if (current_xhr.status == 200)
        {
            if (status == "OK") success = true;
        }
        
        delete requests["r_picture_" + pictureId];
        
        if (success)
        {
            var pictureImg = document.getElementById(getPictureImgElementName());
            if (pictureImg) pictureImg.src = 'MediumPicture.ashx?id=' + pictureId + "&rand=" + Math.random();
            
            var pictureLink = document.getElementById(getPictureLinkElementName());
            if (pictureLink) pictureLink.href = 'media-comment.aspx?id=' + pictureId;
            
            var pictureTitleLink = document.getElementById(getPictureTitleLinkElementName());
            if (pictureTitleLink)
            {
                pictureTitleLink.innerHTML = title;
                pictureTitleLink.href = 'media-comment.aspx?id=' + pictureId;
            }
            
            var avatarImg = document.getElementById(getAvatarImgElementName());
            if (avatarImg) avatarImg.src = 'avatar.ashx?id=' + userID;
            
            var avatarLink = document.getElementById(getAvatarLinkElementName());
            if (avatarLink) avatarLink.href = 'view_profile2.aspx?id=' + userID;
            
            var usernameLink = document.getElementById(getUsernameLinkElementName());
            if (usernameLink)
            {
                usernameLink.innerHTML = username;
                usernameLink.href = 'view_profile2.aspx?id=' + userID;
            }
            
            var commentCounter = document.getElementById(getCommentCountElementName());
            if (commentCounter) commentCounter.innerHTML = commentCount;
            
            var viewCounter = document.getElementById(getViewCountElementName());
            if (viewCounter) viewCounter.innerHTML = viewCount;
            
            var pictureIdHiddenElement = document.getElementById(getHiddenPictureIdElementName());
            if (pictureIdHiddenElement) pictureIdHiddenElement.value = pictureId;
        }
    }
 } 
    function displayUsersPictures(ownerId, imgPerPage, currentPage)
    {
        current_xhr = window.XMLHttpRequest ? new XMLHttpRequest(): new ActiveXObject("Microsoft.XMLHTTP");
        requests["r_picture_" + ownerId] = current_xhr;

        if (current_xhr)
        {
    //        current_xhr.onreadystatechange = function() { eval("displayPictureDetailsCallback('" + pictureId + "')"); };        
            current_xhr.onreadystatechange = function() { eval("displayUsersPicturesCallback('" + ownerId+"', '"+imgPerPage+"', '"+currentPage + "')"); };        
            current_xhr.open("GET", "PictureByUserXmlHandler.ashx?ownerid="+ownerId+"&itemPerPage="+imgPerPage+"&currentPage="+currentPage);        
            current_xhr.send("");
        }
    }
    
    function displayUsersPicturesCallback(ownerId, imgPerPage, currentPage)
    {
        var current_xhr = requests["r_picture_" + ownerId];
        if (!current_xhr) return;
        
        if (current_xhr.readyState == 4)
        {
            var success = false;
            var status = current_xhr.responseXML.getElementsByTagName("status")[0].firstChild.data;
            var pictureId = current_xhr.responseXML.getElementsByTagName("pictureID")[0].firstChild.data;
            var title = current_xhr.responseXML.getElementsByTagName("pictureTitle")[0].firstChild.data;
            var userID = current_xhr.responseXML.getElementsByTagName("userID")[0].firstChild.data;
            var commentCount = current_xhr.responseXML.getElementsByTagName("commentCount")[0].firstChild.data;
            var viewCount = current_xhr.responseXML.getElementsByTagName("picureViews")[0].firstChild.data;
                     
            if (current_xhr.status == 200)
            {
                if (status == "OK")
                {
                    success = true;
                }
            }
            
            delete requests["r_picture_" + ownerId];
            
            if (success)
            {
                var pictureImg = document.getElementById(getPictureImgElementName());
                if (pictureImg) pictureImg.src = 'MediumPicture.ashx?id=' + pictureId + "&rand=" + Math.random();
                
                var pictureLink = document.getElementById(getPictureLinkElementName());
                if (pictureLink) pictureLink.href = 'media-comment.aspx?id=' + pictureId;
                
                var pictureTitleLink = document.getElementById(getPictureTitleLinkElementName());
                if (pictureTitleLink)
                {
                    pictureTitleLink.innerHTML = title;
                    pictureTitleLink.href = 'media-comment.aspx?id=' + pictureId;
                }
                
                var avatarImg = document.getElementById(getAvatarImgElementName());
                if (avatarImg) avatarImg.src = 'avatar.ashx?id=' + ownerId;
                
                var avatarLink = document.getElementById(getAvatarLinkElementName());
                if (avatarLink) avatarLink.href = 'view_profile2.aspx?id=' + ownerId;
                               
                
                var commentCounter = document.getElementById(getCommentCountElementName());
                if (commentCounter) commentCounter.innerHTML = commentCount;
                
                var viewCounter = document.getElementById(getViewCountElementName());
                if (viewCounter) viewCounter.innerHTML = viewCount;
                
                var pictureIdHiddenElement = document.getElementById(getHiddenPictureIdElementName());
                if (pictureIdHiddenElement) pictureIdHiddenElement.value = pictureId;
            }
    }
}