﻿Type.registerNamespace('PhotoSite');
var DocList;
var CurrentAlbum;
var CurrentMediaID = ""; ;
var albumService;
var Div_Doc_Listing = 'div_documents_listing';
var Div_Doc_Names = 'documents';
//Added to fix tab 'Projects' , to make it works right
var ProjectsList = new Array()
var SelectedTypeOfProjects = "";
var IsDocumentView = true;

function UploadUsersDocuments() {
    if (albumProjectDocService == undefined) {
        albumProjectDocService = new IAlbumService();
    }
    albumProjectDocService.GetUserDocumentsNames(UserDocumentsResult);
}

function UserDocumentsResult(result) {
    if (result) {
        var docInfoList = Sys.Serialization.JavaScriptSerializer.deserialize(result);
            //Create Album Object
            var docInfo = docInfoList;
            var albumObj = new PhotoSite.AlbumObject(docInfo.ID,docInfo.Name);
            albumObj._MediaList = docInfo.MediaList;
            CurrentAlbum = albumObj;
            //Create Media Objects
            DocList = new Object();
            for (var n in docInfo.MediaList) {
                DocMedia = docInfo.MediaList[n];

                if (typeof (DocMedia) === 'function') continue;
                
                var mediaObject = new PhotoSite.MediaObject(DocMedia.ID, "", DocMedia.Name, DocMedia.DateCreated, false, DocMedia.PreviewUrl);
                DocList[mediaObject._id] = mediaObject;
            }
            if (IsDocumentView) {
                ShowDocList(Div_Doc_Names, Div_Doc_Listing);
            }
            else {
                ShowTabList(Div_Doc_Names)
            }
       
    }
}

function ShowTabList(doc_list) {
    var root = $get(doc_list);
    if (root) {
        root.innerHTML = "";
        if (CurrentAlbum != undefined && (CurrentAlbum._MediaList).length > 0) {
            root.innerHTML = CurrentAlbum.show_media_list();
        }
        else {
            root.innerHTML = NoDocumentsUpload;
        }
    }
}


function ShowDocList(doc_list_div,thumb_div) {
    var root = $get(doc_list_div);
    if (root) {
        root.innerHTML = "";
        if (CurrentAlbum != undefined && (CurrentAlbum._MediaList).length > 0) {
            root.innerHTML = CurrentAlbum.show_media_list();
        }
        else {
            root.innerHTML = NoDocumentsUpload;
        }
    }
    //Show thumbs
    var thumbs = $get(thumb_div);
    if (thumbs) {
        if (typeof (DocList) != "undefined") {
            thumbs.innerHTML = "";
            for (var n in DocList) {
                var doc = DocList[n];
                thumbs.innerHTML += doc.media_view();
                
            }
        }
    }
}

function PreviewSelectedPDF(id) {
    PageMethods.PreviewSelectedPDF(id, PreviewSelectedPDF_Result, getError);
    
}

function OrderSingleDoc(id)
{
    var order_pdf = $get(Div_Order_PDF);
    if (order_pdf) {
        if (typeof (DocList) != "undefined") {
            for (var n in DocList) {
                var doc = DocList[n];
                if (doc._id == id) {
                    DocList[n]._selected = true;
                    order_pdf.value = DocList[n]._name;
                    CurrentMediaID = doc._id;
                    if (typeof (BP) != "undefined") {
                        BP.mediaID = doc._id;
                        BP.validateSelectedDocument();
                    }
                }
            }
        }
    }
}

function SelectSingleDoc(id) {

    var thumbs = $get(Div_Doc_Listing);
    if (thumbs) {
        if (typeof (DocList) != "undefined") {
            thumbs.innerHTML = "";
            for (var n in DocList) {
                var doc = DocList[n];
                if (doc._id == id) {
                    if (DocList[n]._selected) {
                        DocList[n]._selected = false;
                    }
                    else {
                        DocList[n]._selected = true;
                    }
                }
                thumbs.innerHTML += doc.media_view();
            }
        }
    }
   
}

function SwitchToOrderForm(id) {
    alert(id);
}

PhotoSite.MediaObject = function(id, encryptedid, name, datecreated, selected, preview_url) {
    this._id = id;
    this._encryptedID = encryptedid;
    this._name = name;
    this._selected = selected;
    this._dateCreated = datecreated;
    this._queryparam = "";
    this._preview_url = preview_url;
    this._url = "../images/icon_pdfthumb.gif";
};


PhotoSite.MediaObject.prototype = {
    media_view: function() {
        var selected = this._selected ? 'checked' : '';
        return "<div class=\"print\" >" +
                   "<div class=\"print_thumb\">" +
                   "<a href=\"#\"  onclick=\"SelectSingleDoc('" + this._id + "')\" style=\"cursor:pointer;\" >" +
                   "<img src=\"" + this._url + "\" border=\"0\" />" +
                   "</a></div>" +
                   "<div class=\"print_link\" >" +
                   "<input type=\"checkbox\" " + selected + " onclick=\"SelectSingleDoc('" + this._id + "')\"  />" +
                   "<a href=\"#\"  onclick=\"SelectSingleDoc('" + this._id + "')\" style=\"cursor:pointer;text-decoration:none;color:black\" >" +
                   this._name + "</a></div></div>";


    }
    
    
};

PhotoSite.ProjectsHolder = function(name, projectType) {
    this.name = name;
    this.projectType = projectType;
    this.projectObject = new Object();
    this.selected = false;
};

PhotoSite.AlbumObject = function(id,name) {
    this._id = id;
    this._name = name;
    this._MediaList = new Object();
    
};

PhotoSite.AlbumObject.prototype = {

    show_media_list: function() {
        if (typeof(DocList)!="undefined") {
            var row = "";
            var year = "";
            var result = "";
            var AlbumName = this._name;
            for (var n in DocList) {
                DocMedia = DocList[n];

                var DocName = DocMedia._name;
                var DocID = DocMedia._id;
                var onclick = IsDocumentView ? "SelectSingleDoc('" + DocID + "')" : "OrderSingleDoc('" + DocID + "')";
                DocName = DocMedia._selected ? "<strong>" + DocName + "</strong>" : DocName;


                if (DocMedia._dateCreated != year) {
                    year = DocMedia._dateCreated;
                    row += "<tr style=\"height:20px;color:#707172\"><td align=\"left\" colspan=\"3\"><strong> " + year + "</strong></td><td></td></tr>"
                }

                row += "<tr ><td>&nbsp;</td><td align=\"left\" width=\"120\"><a href=\"#\" onclick=\"" + onclick + "\"  style=\"text-decoration:none;color:#707172\" > " + DocName + "</a></td>" +
                           "<td><a href='" + DocMedia._preview_url + "' target='_blank' style='text-decoration:none' ><img src='../images/business/icon_preview_pdf.gif' width='20' border='0' /></a></td></tr>";
            }

        }
        else {

            row += "<tr><td>No documents found</td><td></td><tr>";
        }
        result = "<a href=\"#\"  style=\"text-decoration:none;cursor:pointer;\" >" +
                      "<h2>" + AlbumName + "</h2></a>" +
                      "<table>" +
                       row +
                      "</table>";

        return result;
    }

};




PhotoSite.MediaObject.registerClass('PhotoSite.MediaObject');
PhotoSite.AlbumObject.registerClass('PhotoSite.AlbumObject');
PhotoSite.ProjectsHolder.registerClass('PhotoSite.ProjectsHolder');
Sys.Application.notifyScriptLoaded();