//RATE
var _fadeSpeed = 250;
function rate(id,rating) {
    var originalHtml =  $('#itemRating').html();
    $('#itemRating').fadeOut(_fadeSpeed, function() {
        $(this).html('<img src="inc/img/load.gif" /> Voting...').fadeIn(_fadeSpeed, function() {
//            JQuery.get("/ajax/item/"+id+"/rate/"+rating, null, handleResponse, 'json');
//            $('#itemRating').load(, null);
        });
        jQuery.getJSON("/ajax/item/"+id+"/rate/"+rating, null, function(data, textStatus) {
            handleResponse(data, '#itemRating', false, originalHtml);
        });
    });
}

function showVotes(votes, multiplier) {
    $('#votes').html('test');
}
function updateVotesTxt(content) {
    $('#votes').html(content);
}

//POST COMMENT
function postComment(userId, itemId, message) {

    if($('#nocomments')) alert("No comments detected");
    else alert("Comments detected");
//    $('#itemRating').fadeOut(_fadeSpeed, function() {
//        $(this).html('<img src="inc/img/load.gif" /> Voting...').fadeIn(_fadeSpeed, function() {
//            $('#itemRating').load("/item/"+id+"/ajaxrate/"+rating, null);
//        });
//    });

}
function logError(error, userId, errorTable, errorTableId) {
    jQuery.post("/ajax/logerror", {'error':error, 'userId': userId, 'errorTable': errorTable, 'errorTableId': errorTableId});
}

function handleResponse(response, domSelector, append, originalHtml) {
    if(response.success==true) {

        if($(domSelector).length!=1) {
            setErrorMessageBody('A technical error has occured.')
            logError('A technical error has occured during the handling of an ajax request. The target div ('+targetDiv+') does not exist');
        } else {
            if(append) $(domSelector).append(response.body);
            else $(domSelector).html(response.body);
        }
    } else {
        $(domSelector).fadeOut(_fadeSpeed, function(){
            $(domSelector).html(originalHtml);
            $(domSelector).fadeIn(_fadeSpeed)
        });
        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();
}
//UPLOAD
function getFileName(fName){
    shortName = ucfirst(fName.match(/[^\/\\]+$/));
    var ext = shortName.lastIndexOf('.',shortName.length);
    if(ext>35) {ext=35;}
    if(ext!=-1) {
        document.forms.uploadForm.title.value = shortName.substring(0, ext).replace(/_/g,' ');
    }
}
function ucfirst(str) {
    str += '';
    var f = str.charAt(0).toUpperCase();
    return f + str.substr(1);
}