function showMessage(o) {
    var data = json_parse(o);
    var id = data.id;
    var message = data.data;
    //show message somewhere?
    return;
}

function refreshView(o) {
    var data = json_parse(o);
    var id = data.id;
    var targetElement = document.getElementById(id+'_upload_controls');
    targetElement.innerHTML = data.data;
}function refreshCanRun(id) {
    var test = false;
    eval ("if (!refreshing"+id+") { refreshing"+id+"=true; test=true;}");
    return test;
}


function refreshComments(comments) {
    var temp = JSON.parse(comments);
    var id = temp.id;

    if (!refreshCanRun(id)) return false;

    var commentsContainer = document.getElementById(id+"comments");
    commentsContainer.innerHTML = "";

    commentsContainer.innerHTML = temp.data;
    eval ("refreshing"+id+"=false;");
}

function appendComments(comments) { 
    var temp = JSON.parse(comments);
    var id = temp.id;
    if (!refreshCanRun(id)) return false;
    if (temp.data!='') {
        var commentsContainer = document.getElementById(id+"comments");
        commentsContainer.innerHTML += temp.data;
        eval ("refreshInterval"+id+"= originalRefreshInterval"+id+";");
    } else {
        eval ("refreshInterval"+id+"+=4000;");  //increase timeout if no new comments on refresh
    }
    eval ("refreshing"+id+"=false;");
}

function addNewComments(comments) {
    var temp = JSON.parse(comments);
    var id = temp.id;
    if (!refreshCanRun(id)) return false;
    var commentsContainer = document.getElementById(id+"comments");
    commentsContainer.innerHTML += temp.data;
    document.getElementById("commentInput"+id).value = "";
    eval ("refreshing"+id+"=false;");
}


function commentEdit(srv_data) {
    var temp = JSON.parse(srv_data);
    var commentContainer = document.getElementById(temp.id + "c" + temp.comment_id);
    commentContainer.innerHTML = temp.data;
}

function commentUpdated(srv_data) {
    var temp =JSON.parse(srv_data);
    var commentContainer = document.getElementById(temp.id + "c" + temp.comment_id);
    commentContainer.innerHTML = temp.data;
}

function commentDeleted(data) {
    document.getElementById('zeco').innerHTML += "aa ";
    var temp = JSON.parse(data);
    var id = temp.id;
    if (!refreshCanRun(id)) return false;
    var commentsContainer = document.getElementById(id+"comments");
    commentsContainer.removeChild(document.getElementById(id+'c'+temp.deleted_comment_id));
    eval ("refreshing"+id+"=false;");
}

function licenceAssignedOnServer(data) {
    return true;
    //var data = json_parse(data);
    //var id = data.id;
    //var target = document.getElementById(id+'_licence_edit');
    //target.innerHTML = data.data;
}function like_action_executed(data) {
    var tmp = json_parse(data);
    document.getElementById(tmp.id+"_like").innerHTML = tmp.data;
    return false;
}    /**
     * Function gets called when user entered tags into input box and clicked ok, and server responds...
     * Return value is json with 2 fields:
     * data - html to put into tags list
     * _v2ext_uniqueID - unique id of the calling extension
     */
    function tagsAddedOnServer(o) {
        var data = json_parse(o);
        var id = data.id;

        var target = document.getElementById(id+'tag_list');
        target.innerHTML += data.data;
        return false;
    }


    /**
     * Function gets called when user clicks a tag in the cloud
     * tag has been removed on the server and from assigned tags div, put it to tag cloud if it's not already there...
     * data - html of clickable tag
     * tag_name - tag name..
     * _v2ext_iqueID - unique id of extension
     *
     */
    function tagRemovedOnServer(o) {
        var data = json_parse(o);
        var id = data.id;

        var target = document.getElementById(id+'cloud');
        var tag = data.tag_name;
        var found = false;

        if (document.getElementById(tag+'tags_cloud_'+id)!=null) {
            return false;
        } else {
            target.innerHTML += data.data;
        }

        return false;
    }
