var documentSelector;

// название div в которую добавляются документы
var documentTarget = null;

/**
 * Загружает папки компании
 * path - context path сервлета с зоной защиты
 * companyId - идентификатор комании
 */
function loadDirectories(companyId) {
    $.get(
            path + 'ajax/directories',
            {'companyId':companyId},
            function(data) {
                $('#' + documentSelector).html(data);
            },
            'html'
    );
}

/** show form for directory creation */
function loadCreateDirectoryForm(companyId) {
    $.get(
            path + 'ajax/createdirectoryform',
            {'companyId':companyId},
            function(data) {
                $('#' + documentSelector).html(data);
            },
            'html'
    );
}

/** create directory */
function createDirectory(){
    var form = document.getElementById('createDirectoryForm');
    var companyId = form["companyId"].value;
    $.post(
            path + 'ajax/createdirectory',
            {
                "companyId":companyId,
                "directory.name":form["directory.name"].value,
                "directory.accessAll":form["directory.accessAll"].checked,
                "directory.accessPartner":form["directory.accessPartner"].checked
            },
            function(data){
                if(data.status=="success"){
                    loadDirectories(companyId);
                }else{
                    $('#createDirectoryForm .error').remove();
                    var errors = data.errors;
                    if(errors!=null){
                        for(var i=0;i<errors.length; i++){
                            $('#createDirectoryForm').prepend('<div class="error">'+errors[i]+'</div>');
                        }
                    }
                }
            },
            'json'
    );
    return false;
}

/**show form for file upload*/
function loadUploadDocumentForm(companyId, directoryId){
    $.get(
            path + 'ajax/uploaddocumentform',
            {'companyId':companyId, 'directoryId':directoryId},
            function(data) {
                $('#' + documentSelector).html(data);
            },
            'html'
    );
}

function uploadDocument(){
    var form = document.getElementById('uploadDocumentForm');
    var companyId = form["companyId"].value;
    var directoryId = form["directoryId"].value;
    $.ajaxFileUpload({
        url:path+'ajax/uploaddocument?'
            +'companyId='+companyId+'&directoryId='+directoryId
            +'&name='+encodeURIComponent(form["name"].value)
            +'&description='+encodeURIComponent(form["description"].value),
        fileElementId:'file',
        secureuri:false,
        dataType: 'json',
        success:function(data, status){
            if(data.status=="success"){
                loadDocuments(companyId, directoryId);
            }else{
                $('#uploadDocumentForm .error').remove();
                var errors = data.errors;
                if(errors!=null){
                    for(var i=0;i<errors.length; i++){
                        $('#uploadDocumentForm').prepend('<div class="error">'+errors[i]+'</div>');
                    }
                }
            }
        }
    });
    return false;
}

/**
 * Загружает файлы из папки
 * path - context path сервлета с зоной защиты
 * companyId - идентификатор комании
 * directoryId - идентификатор каталога
 */
function loadDocuments(companyId, directoryId) {
    $.get(
            path + 'ajax/documents',
            {'companyId':companyId, 'directoryId':directoryId},
            function(data) {
                $('#' + documentSelector).html(data);
                if(documentTarget!=null){
                    $('#addDocumentsToTenderButton').show();
                }
                $('a.modal').fancybox({
                    'padding':15,
                    'imageScale': true,
                    'zoomSpeedIn': 300,
                    'zoomSpeedOut': 300,
                    'hideOnContentClick': true
                });
            },
            'html'
    );
}

/**
 * Прикрепление документов к торгам
 */
function addDocumentsToTender(companyId, directoryId){
    var selectedDocuments = document.getElementsByName('etp_document_old');
    for(var i=0; i<selectedDocuments.length; i++){
        var selectedDocument = selectedDocuments[i];
        if(selectedDocument.checked){
            selectedDocument.checked = false;
            if(document.getElementById('etp_document_new_' + selectedDocument.value)==null){
            $.get(
                path+'ajax/tenderdocument',
                {'companyId':companyId, 'directoryId':directoryId, 'documentId':selectedDocument.value},
                function (data){
                    $('#' + documentTarget).append(data);
                    $('#no_documents_message').hide();
                    $('#removeDocumentsFromTenderButton').show();
                    $('#makeImageButton').show();
                    $('a.modal').fancybox({
                        'padding':15,
                        'imageScale': true,
                        'zoomSpeedIn': 300,
                        'zoomSpeedOut': 300,
                        'hideOnContentClick': true
                    });
                },
                'html'
            );
            $("input[type='hidden'][name='deleteDocumentId'][value='"+selectedDocument.value+"']").remove();
            $('#etp_document_old_'+selectedDocument.value).hide();
            }
        }
    }
}

/**
 * удаление документов из торгов
 */
function removeDocumentsFromTender(){
    var selectedDocuments = document.getElementsByName('etp_document_new');
    var ids = new Array();
    var j=0;
    for(var i=0; i<selectedDocuments.length; i++){
        var selectedDocument = selectedDocuments[i];
        if(selectedDocument.checked){
        ids[j] = selectedDocument.value;
            j++;
        }
    }
    for (i = 0; i < ids.length; i++) {
        $('#' + documentTarget).append('<input type="hidden" name="deleteDocumentId" value="' + ids[i] + '"/>');
        if (document.getElementById('etp_document_old_' + ids[i]) != null) {
            $('#etp_document_old_' + ids[i]).show();
        }
        $('#etp_document_new_' + ids[i]).remove();
        $("input[type='hidden'][name='documentId'][value='"+ids[i]+"']").remove();
    }
}

/** Делает выбранный документ картинкой торгов */
function makeImage(){
    var selectedDocuments = document.getElementsByName('etp_document_new');
    var ids;
    var flag = false;
    for(var i=0; i<selectedDocuments.length; i++){
        var selectedDocument = selectedDocuments[i];
        if(selectedDocument.checked){
            ids = selectedDocument.value;
            flag = true;
            break;
        }
    }
    if(flag){
        $("input[name='tenderImageId']").remove();
        $('#' + documentTarget).append('<input type="hidden" name="tenderImageId" value="' + ids + '"/>');
        $('#tender_image').html('<img src="'+document.getElementById('document_icon_'+ids).getAttribute('src')+'"/>');
    }
}

/** Удаляет каталоги компании */
function deleteDirectories(companyId){
    var selectedDirs = document.getElementsByName('etp_directory');
    var ids = new Array();
    var j=0;
    for(var i=0; i<selectedDirs.length; i++){
        if(selectedDirs[i].checked){
            ids[j] = selectedDirs[i].value;
            j++;
        }
    }
    $.get(
        path+'ajax/deletedirectories',{'directoryId':ids, 'companyId':companyId},
        function(data){
            loadDirectories(companyId);
        }
    );
}

/** Удаляет документы из каталога */
function deleteDocuments(companyId, directoryId){
    var selectedDocuments = document.getElementsByName('etp_document_old');
    var ids = new Array();
    var j=0;
    for(var i=0; i<selectedDocuments.length; i++){
        var selectedDocument = selectedDocuments[i];
        if(selectedDocument.checked){
        ids[j] = selectedDocument.value;
            j++;
        }
    }
    $.get(
        path+'ajax/deletedocuments',{'documentId':ids,'directoryId':directoryId, 'companyId':companyId},
        function(data){
            loadDocuments(companyId, directoryId);
        }
    );
}
