//RATE
var _fadeTime = 350;

function deletePicture(itemId, pictureId) {
    if(confirm('Delete this picture?')) {
        var divId = '#uploadImage_' + itemId + "_" + pictureId;
        var originalHtml =  $(divId).html();

        $(divId).fadeOut(_fadeTime);

        jQuery.getJSON("/ajax/admin/deletepicture/" + itemId + '/' + pictureId, null, function(data, textStatus) {
            handleResponse(data, divId, originalHtml, null);
        });
    }
}
var previewPicDiv = null;
function setPreviewPic(itemId, pictureId) {
    if(pictureId) {
        previewPicDiv = '#uploadImage_' + itemId + "_" + pictureId;
    }
}

function selectPicture(itemId, pictureId) {

    var divId = '#uploadImage_' + itemId + "_" + pictureId;
    var originalHtml =  $(divId).html();

    jQuery.getJSON("/ajax/admin/selectpicture/" + itemId + '/' + pictureId, null, function(data, textStatus) {
        handleResponse(data, divId, originalHtml, function() {
            $(divId).addClass("active");
            if(previewPicDiv) {
                $(previewPicDiv).removeClass("active");
            }
            previewPicDiv = divId;
        });
    });
}

function handleResponse(response, domSelector, originalHtml, handler) {
    if(response.success==true) {
        if($(domSelector).length!=1) {
            setErrorMessageBody('A technical error has occured.')
        }
        else {
            if(handler) {
                handler();
            }
        }
    }
    else {
        $(domSelector).fadeOut(_fadeTime, function(){
            $(domSelector).html(originalHtml);
            $(domSelector).fadeIn(_fadeTime)
        });
        if(response.error_messages) {
            var error = "";
            for(var i = 0; i<response.error_messages.length; i++) {
                error += response.error_messages[i];
                if(response.debug && response.debug_messages && response.debug_messages[i]) error += " - <i>" + response.debug_messages[i] + "</i>";
                if(i+1!=response.error_messages.length) error+="<br />";
            }
            setErrorMessageBody(error);
        }
        else setErrorMessageBody("A technical error occured in the backend.");
    }
}

function setErrorMessageBody(errorMsg) {
    $('#errorMessageBody').html(errorMsg);
    $('#overlay').show();
}
