﻿// JScript File
var PHOTO_ID = 0;
var PRIVACY = 0;
var DISPLAY_NAME= '';
var COLOURCODE = 1;
var PHOTO_ID_NEXT = 0;
var PHOTO_ID_PREVIOUS = 0;
var PHOTO_ID_MAXIM = 0;
var STAR = 'N';

function ToggleFavorites()
{
    var arrow = getObj('favorites_toggle');
    var content = getObj('favorites_content');
    var src = arrow.src;
    
    if (src.indexOf("bullet-grey-down.gif") > -1)
    {
        arrow.src = "../images/bullet-grey.gif";
        content.style.display = "none";
    }
    else
    {
        arrow.src = "../images/bullet-grey-down.gif";
        content.style.display = "";
    }
}

function GetRelatedFavorites(favoriteUserId, favoriteUserName)
{
    ToggleFavorites();
    PageMethods.GetRelatedFavorites(favoriteUserId, favoriteUserName, GetRelatedFavorites_OnComplete);
}

function GetRelatedFavorites_OnComplete(result)
{
    if (result.length == 2)
    {       
        var t_content = getObj('favorites_content');
        var t_link2 = getObj('favorites_link');
        var info = result[0];
        var name = result[1];
        
        var pics = new Array();
        pics = info.split(',');
        
        for (var i = 0; i < pics.length; i++)
        {
            var pic = pics[i];
            
            var pic_info = new Array();
            pic_info = pic.split(';');
            
            if (pic_info.length == 6)
            {
                var link = pic_info[0].split('>')[1];
                var url = pic_info[1].split('>')[1];
                var width = pic_info[2].split('>')[1];
                var height = pic_info[3].split('>')[1];
                var dateuploaded = pic_info[4].split('>')[1];
                var ownername = pic_info[5].split('>')[1];
                
                var img = CreateImage('', url, '');
                img.width = width;
                img.height = height;
                var imgLink = CreateImageLink('', link, '', img);
                
                var div = CreateDiv('', 't-liked-inner');
                div.appendChild(imgLink);
                
                var txtUpload = document.createTextNode(" Uploaded: " + dateuploaded); 
                div.appendChild(txtUpload);
                var breakline = document.createElement("br");
                div.appendChild(breakline);
                var txtBy = document.createTextNode(" By: ");
                div.appendChild(txtBy);
                var link = CreateHyperLink('', 'http://www.tagmee.com/Photos/'+ownername, ownername, '');
                div.appendChild(link);
                var clearDiv = CreateDiv('', 'clear');
                div.appendChild(clearDiv);
                
                t_content.appendChild(div);
            }
        }
        
        t_link2.onclick = favorites_nullify_onclick;
    }
    else if (result.length == 1)
    {
        var message = result[0];
        alert(message);
    }  
}

function favorites_nullify_onclick(eve)
{
    
    ToggleFavorites();
    
    return false;
}

function ToggleLatest()
{
    var arrow = getObj('latest_toggle');
    var content = getObj('latest_content');
    var src = arrow.src;
    
    if (src.indexOf("bullet-grey-down.gif") > -1)
    {
        arrow.src = "../images/bullet-grey.gif";
        content.style.display = "none";
    }
    else
    {
        arrow.src = "../images/bullet-grey-down.gif";
        content.style.display = "";
    }
}

function GetLatestImages()
{
    ToggleLatest();
    PageMethods.GetLatestImages(DISPLAYID, COLOURCODE, GetLatestImages_OnComplete);
}

function GetLatestImages_OnComplete(result)
{
    if (result.length == 2)
    {       
        var t_content = getObj('latest_content');
        var t_link2 = getObj('latest_link');
        var info = result[0];
        
        var pics = new Array();
        pics = info.split(',');
        
        for (var i = 0; i < pics.length; i++)
        {
            var pic = pics[i];
            
            var pic_info = new Array();
            pic_info = pic.split(';');
            
            if (pic_info.length == 4)
            {
                var link = pic_info[0].split('>')[1];
                var url = pic_info[1].split('>')[1];
                var width = pic_info[2].split('>')[1];
                var height = pic_info[3].split('>')[1];
                
                var img = CreateImage('', url, '');
                img.width = width;
                img.height = height;
                var imgLink = CreateImageLink('', link, '', img);
                
                var div = CreateDiv('', 't-latest-inner');
                div.appendChild(imgLink);
                
                t_content.appendChild(div);
            }
        }
        
        t_link2.onclick = latest_nullify_onclick;
    }
    else if (result.length == 1)
    {
        var message = result[0];
        alert(message);
    }  
}

function latest_nullify_onclick(eve)
{
    
    ToggleLatest();
    
    return false;
}

function ToggleArrowIndex(tagid, imageid)
{
    var arrow = getObj('Tag_Onclick_'+tagid+'_'+imageid);
    var content = getObj('tag_imgs_'+tagid+'_'+imageid);
    var src = arrow.src;
    
    if (src.indexOf("bullet-grey-down.gif") > -1)
    {
        arrow.src = "images/bullet-grey.gif";
        content.style.display = "none";
    }
    else
    {
        arrow.src = "images/bullet-grey-down.gif";
        content.style.display = "";
    }
}

function GetRandomImages(userid, imageid)
{
    ToggleArrowIndex(userid, imageid);
    PageMethods.GetRandomImages(userid, imageid, GetRandomImages_OnComplete);
}

function GetRandomImages_OnComplete(result)
{
    if (result.length == 2)
    {       
        var tagId = result[1];
        var t_content = getObj('tag_imgs_' + tagId);
        var t_link = getObj('Tag_Onclick_' + tagId);
        var t_link2 = getObj('Tag_Onlink_' + tagId);
        var info = result[0];
        
        var pics = new Array();
        pics = info.split(',');
        
        for (var i = 0; i < pics.length; i++)
        {
            var pic = pics[i];
            
            var pic_info = new Array();
            pic_info = pic.split(';');
            
            if (pic_info.length == 4)
            {
                var link = pic_info[0].split('>')[1];
                var url = pic_info[1].split('>')[1];
                var width = pic_info[2].split('>')[1];
                var height = pic_info[3].split('>')[1];
                
                var img = CreateImage('', url, '');
                var imgLink = CreateImageLink('', link, '', img);
                
                t_content.appendChild(imgLink);
            }
        }
        
        t_link2.onclick = index_nullify_onclick;
    }
    else if (result.length == 1)
    {
        var message = result[0];
        alert(message);
    }  
}

function index_nullify_onclick(eve)
{
    eve = fixEvent(eve);
    var elementid = eve.target.id;
    
    var nums = elementid.split('_');
    var tagid = nums[2];
    var imageid = nums[3];
    ToggleArrowIndex(tagid,imageid);
    
    return false;
}

function ToggleArrow(tagid)
{
    var arrow = getObj('Tag_Onclick_'+tagid);
    var content = getObj('tag_imgs_'+tagid);
    var src = arrow.src;
    
    if (src.indexOf("bullet-grey-down.gif") > -1)
    {
        arrow.src = "../images/bullet-grey.gif";
        content.style.display = "none";
    }
    else
    {
        arrow.src = "../images/bullet-grey-down.gif";
        content.style.display = "";
    }
}

function GetTaggedImages(tagid)
{
    ToggleArrow(tagid);
    PageMethods.GetTaggedImages(DISPLAYID, COLOURCODE, tagid, GetTaggedImages_OnComplete);
}

function GetTaggedImages_Event(eve)
{
    eve = fixEvent(eve);
    var elementid = eve.target.id;
    
    var info = elementid.split('_');
    var tagid = info[2];
    
    ToggleArrow(tagid);
    PageMethods.GetTaggedImages(DISPLAYID, COLOURCODE, tagid, GetTaggedImages_OnComplete);
}

function GetTaggedImages_OnComplete(result)
{
    if (result.length == 2)
    {       
        var tagId = result[1];
        var t_content = getObj('tag_imgs_' + tagId);
        var t_link = getObj('Tag_Onclick_' + tagId);
        var t_link2 = getObj('Tag_Onlink_' + tagId);
        var info = result[0];
        
        var pics = new Array();
        pics = info.split(',');
        
        for (var i = 0; i < pics.length; i++)
        {
            var pic = pics[i];
            
            var pic_info = new Array();
            pic_info = pic.split(';');
            
            if (pic_info.length == 4)
            {
                var link = pic_info[0].split('>')[1];
                var url = pic_info[1].split('>')[1];
                var width = pic_info[2].split('>')[1];
                var height = pic_info[3].split('>')[1];
                
                var img = CreateImage('', url, '');
                var imgLink = CreateImageLink('', link, '', img);
                
                t_content.appendChild(imgLink);
            }
        }
        
        t_link2.onclick = nullify_onclick;
    }
    else if (result.length == 1)
    {
        var message = result[0];
        alert(message);
    }  
}

function nullify_onclick(eve)
{
    eve = fixEvent(eve);
    var elementid = eve.target.id;
    
    var tagid = elementid.split('_')[2];
    ToggleArrow(tagid);
    
    return false;
}


function GetNext9()
{
    PageMethods.GetNext9(DISPLAY_NAME, COLOURCODE, PHOTO_ID_NEXT, GetNext9_OnComplete);
}

function GetPrevious9()
{
    PageMethods.GetPrevious9(DISPLAY_NAME, COLOURCODE, PHOTO_ID_PREVIOUS, GetNext9_OnComplete);
}

function GetNext9_OnComplete(result)
{
    if (result.length == 2)
    {       
        var info = result[0];
        
        var indexOfComma = info.indexOf(",");
        var newImagesCount = info.substring(0, indexOfComma);
        
        info = info.substring(indexOfComma + 1);
        
        indexOfComma = info.indexOf(",");
        
        var previousIndex = info.substring(0, indexOfComma);
        PHOTO_ID_PREVIOUS = previousIndex;
        
        info = info.substring(indexOfComma + 1);
        
        indexOfComma = info.indexOf(",");
        
        var nextIndex = info.substring(0, indexOfComma);
        PHOTO_ID_NEXT = nextIndex;
        
        if (PHOTO_ID_NEXT == PHOTO_ID_MAXIM)
        {
            alert("Reached latest photos, click previous");
            return;
        }
        
        PHOTO_ID_MAXIM = PHOTO_ID_NEXT;
        
        info = info.substring(indexOfComma + 1);
        
        for (var i = 1; i <= newImagesCount; i++)
        {    
            
            indexOfComma = info.indexOf(",");
            indexOfSemiColon = info.indexOf(";");
            var newLink = info.substring(5, indexOfSemiColon);
            
            
            var link = document.getElementById("browse_link_" + i);
            link.href = newLink;
            
            var indexOfSemi = indexOfSemiColon + 6;
            var image = document.getElementById("browse_src_" + i);
            
            info = info.substring(indexOfSemi);
            //alert(info);
            image.src = info.substring(0, info.indexOf(";"));
            //alert(image.src);
            info = info.substring(info.indexOf(";") + 7);
            //image.width = info.substring(0, info.indexOf(";"));
            //alert(image.width);
            info = info.substring(info.indexOf(";") + 8);
            //image.height = info.substring(0, info.indexOf(","));
            //alert(image.height);
            
            indexOfComma = info.indexOf(",");
            info = info.substring(indexOfComma + 1);
        } 
        
        // 9
        var remainingImages = 9 - newImagesCount;
        
        //alert(remainingImages);
        
        var ii = newImagesCount;
        for (var j = 0; j < remainingImages; j++)
        {
            ii++;
            
            var myimageslots=document.getElementById('imageTainer').getElementsByTagName("DIV");
            if (myimageslots.length == 9)
            {
                // Clear the slot
                
                //alert("Clear " + ii);
                var img1 = getObj("browse_src_"+ii);
                img1.src = "http://www.tagmee.com/images/no-more-photos.jpg";
                //image.width = 75;
                //image.height = 75;
                var link1 = getObj("browse_link_"+ii);
                link1.src = "javascript:void(0);";
            }
            else
            {
                // Add the slot
                //alert("Adding " + ii);
                var image = CreateImage("browse_src_"+ii, "http://www.tagmee.com/images/no-more-photos.jpg", '');
                //image.width = 75;
                //image.height = 75;
                var link = CreateImageLink("browse_link_" + ii, "javascript:void(0);", '', image);           
                
                var div = CreateDiv("browse_block_"+ii, "browse-block");
                div.appendChild(link);
                
                var tainer = getObj('imageTainer');
                tainer.appendChild(div);
            }
            
        }
        
    }
    else if (result.length == 1)
    {
        var message = result[0];
        alert(message);
    }  
}

function RenderMoreSlots()
{
    var myimageslots=document.getElementById('imageTainer').getElementsByTagName("DIV");
    var remainingImages = 9 - myimageslots.length;
    var ii = myimageslots.length;
    for (var j = 0; j < remainingImages; j++)
    {
        
        ii++;
        //alert('adding ' + ii);
        var image = CreateImage("browse_src_"+ii, "http://www.tagmee.com/images/no-more-photos.jpg", '');
        //image.width = 75;
        //image.height = 75;
        var link = CreateImageLink("browse_link_" + ii, "javascript:void(0);", '', image);           
        
        var div = CreateDiv("browse_block_"+ii, "browse-block");
        div.appendChild(link);
        
        var tainer = getObj('imageTainer');
        tainer.appendChild(div);
        
    }
}

function SetPrivacy(photoid, newprivacy)
{
    PageMethods.SetPrivacy(photoid, newprivacy, SetPrivacy_OnComplete);
}

function SetPrivacy_onclick()
{
    PageMethods.SetPrivacy(PHOTO_ID, PRIVACY, SetPrivacy_OnComplete);
}

function SetPrivacy_OnComplete(result)
{
    if (result.length == 2)
    {       
        var imageid = result[0];
        var newprivacy = result[1];
        
        var prvLink = getObj('privacy');
        if (newprivacy == "3")
        {
            prvLink.innerHTML = "make public";
            prvLink.onclick = SetPrivacy_onclick;
            PRIVACY = 1;
        }
        else if (newprivacy == "1")
        {
            prvLink.innerHTML = "make private";
            prvLink.onclick = SetPrivacy_onclick;
            PRIVACY = 3;
        }
    }
    else if (result.length == 1)
    {
        var message = result[0];
        alert(message);
    }  
}

function AddToFavorites(photoid, ownerid, ownername)
{
    PageMethods.Favoritize(photoid, ownerid, ownername, AddToFavorites_OnComplete);
}

function AddToFavorites_OnComplete(result)
{
    if (result.length == 2)
    {       
        var countObj = getObj(result[0]);
        var count = parseInt(countObj.innerHTML) + 1;
        countObj.innerHTML = count++;
        
        if (result[1] == "Singular")
        {
            var toolbar = getObj('toolbar');
            var link = getObj('favoriteLink');
            toolbar.removeChild(link);
            
            alert('Photo added to Faves');
        }
        else if (parseInt(result[1]) > 0)
        { 
            var btn_imageid = getObj('btn_'+result[1]);
            btn_imageid.style.display = 'none';
            
            var div_fav = getObj("div_fav_" + result[1]);
            var text = document.createTextNode('Added to your list of liked photos');
            div_fav.appendChild(text);
        }
        
    }
    else if (result.length == 1)
    {
        var message = result[0];
        alert(message);
    }  
}

function SaveDescription(photoid, newdesc, viewid, unchanged)
{       
    PageMethods.SaveDescription(photoid, newdesc, viewid, SaveDescription_OnComplete);
}  

function SaveDescription_OnComplete(result)
{
    if (result.length == 2)
    {       
        var viewid = result[0];
        var newtext = result[1];
        
        var view = getObj(viewid);   
        if (newtext.length > 0)
            view.innerHTML = newtext;
        else
            view.innerHTML = "click here to enter description";
           
        Fat.fade_element(viewid,30,1500,'#F3F3F3');
    }
    else if (result.length == 1)
    {
        var message = result[0];
        alert(message);
    }  
}

function EditImageComment(photoid, change, viewid, unchanged)
{
    PageMethods.EditImageComment(photoid, change, viewid, unchanged, SaveDescription_OnComplete);
}

function EditImageComment_OnComplete(result)
{
    if (result.length == 2)
    {       
        var viewid = result[0];
        var newtext = result[1];
        
        var view = getObj(viewid);   
        if (newtext.length > 0)
            view.innerHTML = newtext;
        else
            view.innerHTML = "--";
           
        Fat.fade_element(viewid,30,1500,'#F3F3F3');
    }
    else if (result.length == 1)
    {
        var message = result[0];
        alert(message);
    }  
}

function SaveTag(photoid)
{
    var tagValue = getObj('ctl00_Content_txtTags');
   
    if (tagValue.value.length > 0 && /^[\w\d]{1,30}$/.test(tagValue.value))
    {
        PageMethods.SaveTag(photoid, tagValue.value, SaveTag_OnComplete);
    }
    else
    {
        alert('Tag Syntax: max 30 letter, digits or _ -');
    }
}

function SaveExistingTag(photoid, tag)
{
    PageMethods.SaveTag(photoid, tag, SaveTag_OnComplete);
}

function SaveTag_OnComplete(result)
{
    if (result.length == 5)
    {
        var tag = result[0];
        var href = result[1];
        var tagid = result[2];
        var photoid = result[3];
        var viewid = result[4]; 
        
        var tagDiv = CreateDiv("TagDelete_"+tagid, "t-container");
        var tagArrowImage = CreateImage('Tag_Onclick_'+tagid, '../images/bullet-grey.gif', '');
        var tagArrow = CreateImageLink_Clickable('Tag_Onlink_'+tagid, GetTaggedImages_Event, '', tagArrowImage);
        var tagLink = CreateHyperLink('', href, tag, 't-link');
        
        tagArrow.href = "javascript: void(0);";
        
        tagDiv.appendChild(tagArrow);
        tagDiv.appendChild(tagLink);

        var canImage = CreateImage(photoid + ">" + tagid + ">" + tag + ">" + viewid, '../images/trash-small.gif', '');
        var deleteLink = CreateImageLink_Clickable(photoid + ">" + tagid + ">" + tag + ">" + viewid, DeleteTag_Event, "t-delete", canImage);
        
        deleteLink.href = "javascript: void(0);";
        tagDiv.appendChild(deleteLink);
        
        var TagsList = getObj('TagsList');
        TagsList.appendChild(tagDiv);
        
        var tag_imgs = CreateDiv("tag_imgs_"+tagid, "t-content");
        tag_imgs.style.display = "none";
        TagsList.appendChild(tag_imgs);
                  
    }
    else if (result.length == 1)
    {
        var message = result[0];
        alert(message);
    }
    
    var tagValue = getObj('ctl00_Content_txtTags');
    tagValue.value = "";
}

function DeleteTag(photoid, tagid, tag, viewid)
{
    PageMethods.DeleteTag(photoid, tagid, tag, viewid, DeleteTag_OnComplete);
}

function DeleteTag_Event(eve)
{
    eve = fixEvent(eve);
    var elementid = eve.target.id;
    
    var info = elementid.split('>');
    var photoid = info[0];
    var tagid = info[1];
    var tag = info[2];
    var viewid = info[3];
    
    PageMethods.DeleteTag(photoid, tagid, tag, viewid, DeleteTag_OnComplete);
}

function DeleteTag_OnComplete(result)
{
    if (result.length == 2)
    {
        var viewid = result[0];
        var tag = result[1];
        var list = getObj("TagsList");
        var item = getObj(viewid);
        
        list.removeChild(item);
        
        var tagid = viewid.split('_')[1];
        var item_content = getObj("tag_imgs_"+tagid);
        list.removeChild(item_content);
    }
    else if (result.length == 1)
    {
        alert(result[0]);
    }
}

function AddNewComment()
{   
    var comment = getObj('ctl00_Content_txbComment');
    var str = comment.value;
    
    var comment_text = str.replace(/^\s*|\s*$/g,"");
    
    if (comment_text.length > 0)
    {
        PageMethods.AddNewComment(PHOTO_ID, DISPLAYNAME, DISPLAYID, comment_text, AddNewComment_OnComplete);
    }
    else
    {
        alert('Please enter a comment');
    }
    
    comment.value = "";
}

function AddNewComment_OnComplete(result)
{
    if (result.length == 7)
    {
        var imageId = result[0];
        var commentId = result[1];
        var comment = result[2];
        var userName = result[3];
        var time = result[4];
        var linkText = result[5];
        var imageSRC = result[6];
        
        var editId = imageId + ">" + commentId;
        
        // Appendage
        // var commentZone = getObj('commentZone');
        var commentZone = getObj('commentDennis');
        
        var UserPostDiv = CreateDiv("", "c-bar");
        var icon = CreateImage("", imageSRC, "");
        var dateSpan = CreateSpan("", time, "");
        var profileLink = CreateHyperLink('', linkText, userName, '');
        
        var commentEditable = CreateEditableParagraph(editId + "_ICView", comment);

        UserPostDiv.appendChild(icon);
        UserPostDiv.appendChild(profileLink);
        UserPostDiv.appendChild(dateSpan);
        
        //UserPostDiv.appendChild(commentEditable);
        
        var commentbox = CreateDiv(editId + "_ICEditZone", "vp-inplace");
        var commenteditarea = CreateTextArea(editId + "_ICEdit", "textareainplace", 7, "return ImposeMaxLength(this, 2000);");
        var commentsavebutton = CreateButton(editId + "_ICSave", "Save");
        var commentcancelbutton = CreateButton(editId + "_ICCancel", "Cancel");
        
        commentbox.appendChild(commenteditarea);
        commentbox.appendChild(document.createElement('br'));
        commentbox.appendChild(commentsavebutton);
        commentbox.appendChild(commentcancelbutton);
        
        //UserPostDiv.appendChild(commentbox);
        commentZone.appendChild(UserPostDiv);
        commentZone.appendChild(commentEditable);
        commentZone.appendChild(commentbox);
        
          
        join(editId + "_IC");
        HideElement(editId + "_ICEditZone");
    }
    else if (result.length == 1)
    {
        alert(result[0]);
    }    
}

function ToggleExistingTags()
{
    var elem = getObj('ExistingTagsList');
    if (elem.style.display == "none")
    {
        elem.style.display = "";
    }
    else
    {
        elem.style.display = "none";
    }
}

function SetStarImage(photoid, starvalue)
{
    PageMethods.SetStarImage(photoid, starvalue, SetStarImage_OnComplete);
}

function SetStarImage_onclick()
{
    PageMethods.SetStarImage(PHOTO_ID, STAR, SetStarImage_OnComplete);
}

function SetStarImage_OnComplete(result)
{
    if (result.length == 2)
    {       
        var imageid = result[0];
        var newstarvalue = result[1];
        
        var starLink = getObj('starLink');
        var starImage = getObj('starImage');

        if (newstarvalue == "N")
        {
            starLink.innerHTML = "star";
            starLink.onclick = SetStarImage_onclick;
            starImage.src = "http://www.tagmee.com/images/star.gif";
            
            STAR = "Y";
        }
        else if (newstarvalue == "Y")
        {
            starLink.innerHTML = "unstar";
            starLink.onclick = SetStarImage_onclick;
            starImage.src = "http://www.tagmee.com/images/star-yellow.gif";

            STAR = "N";
        }
    }
    else if (result.length == 1)
    {
        var message = result[0];
        alert(message);
    }  
}

function ToggleShare()
{
    
    var shareZone = getObj('shareZone');
    if (shareZone.style.display == 'none')
        shareZone.style.display = '';
    else
        shareZone.style.display = 'none';
}

function ShareViewPhotoPage()
{
    var txtEmails = getObj('txtEmailsRaw');
    var txtMessage = getObj('txtMessage');
    PageMethods.ShareViewPhotoPage(txtEmails.value, txtMessage.value, ShareViewPhotoPage_OnComplete);
}

function ShareViewPhotoPage_OnComplete(result)
{
    if (result.length == 2)
    {
        var successCount = result[0];
        var message = result[1];
        
        var txtEmails = getObj('txtEmailsRaw');
        var txtMessage = getObj('txtMessage');
        var btnSendShare = getObj('btnSendShare');
        var shareLink = getObj('shareLink');
        txtEmails.value = "";
        txtMessage.value = "";
        ToggleShare();
        shareLink.innerHTML = successCount + " " + message;
    }
    else if (result.length == 1)
    {
        alert(result);
    }
}