﻿/**
* MODULO COMMENTS
*
* @ posta un nuovo commento.
* @ public function
* @ 1.0.00
*/
function post_comment(content_id, comment_id) {
    var object_id = "comment_post_response";
    var method = "POST";
    var php_page = "website/models/comments.model.php";
    var php_function = "post_comment";
    var loading = "yes";
    
    var params = new Array();
    
    params[0] = content_id;
    params[1] = comment_id;
    params[2] = document.forms["post_comment_form"].elements["name"].value;
    params[3] = document.forms["post_comment_form"].elements["email"].value;
    params[4] = document.forms["post_comment_form"].elements["text"].value;
    
    eJS.validates_form(object_id, method, php_page, php_function, params, loading);
    
    eJS.scroll_page("comment_post_response");
}

/**
* @ modifica un commento.
* @ public function
* @ 1.0.00
*/
function edit_comment(comment_id, node) {
    var object_id = "comment_" + comment_id + "_response";
    var method = "POST";
    var php_page = "website/models/comments.model.php";
    var php_function = "edit_comment";
    var loading = "no";
    
    var params = new Array();
    
    params[0] = comment_id;
    params[1] = node;
    params[2] = document.forms["edit_comment_" + comment_id + "_form"].elements["text"].value;
    
    eJS.validates_form(object_id, method, php_page, php_function, params, loading);
}

/**
* @ modalità modifica di un commento.
* @ public function
* @ 1.0.00
*/
function edit_comment_mode(comment_id, node) {
    var object_id = "comment_" + comment_id;
    var method = "GET";
    var php_page = "website/models/comments.model.php";
    var php_function = "edit_comment_mode";
    var loading = "no";
    
    var params = new Array();
    
    params[0] = comment_id;
    params[1] = node;
    
    eJS.validates_form(object_id, method, php_page, php_function, params, loading);
    
    eJS.scroll_page("comment_" + comment_id);
}

/**
* @ modalità lettura di un commento.
* @ public function
* @ 1.0.00
*/
function reading_comment_mode(comment_id, node) {
    var object_id = "comment_" + comment_id;
    var method = "GET";
    var php_page = "website/models/comments.model.php";
    var php_function = "reading_comment_mode";
    var loading = "no";
    
    var params = new Array();
    
    params[0] = comment_id;
    params[1] = node;
    
    eJS.validates_form(object_id, method, php_page, php_function, params, loading);
    
    eJS.scroll_page("comment_" + comment_id);
}

/**
* @ modalità risposta di un commento (modulo).
* @ public function
* @ 1.0.00
*/
function reply_comment_mode(content_id, comment_id) {
    var object_id = "comment_module";
    var method = "GET";
    var php_page = "website/models/comments.model.php";
    var php_function = "reply_comment_mode";
    var loading = "no";
    
    var params = new Array();
    
    params[0] = content_id;
    params[1] = comment_id;
    
    eJS.validates_form(object_id, method, php_page, php_function, params, loading);
    
    eJS.scroll_page("comment_module");
}

/**
* @ modalità normale di un commento (modulo).
* @ public function
* @ 1.0.00
*/
function normal_comment_mode(content_id, comment_id) {
    var object_id = "comment_module";
    var method = "GET";
    var php_page = "website/models/comments.model.php";
    var php_function = "normal_comment_mode";
    var loading = "no";
    
    var params = new Array();
    
    params[0] = content_id;
    
    eJS.validates_form(object_id, method, php_page, php_function, params, loading);
    
    eJS.scroll_page("comment_" + comment_id); 
}

/**
* @ segnala un abuso di un commento.
* @ public function
* @ 1.0.00
*/
function report_abuse(comment_id, node) {
    var object_id = "comment_" + comment_id + "_response";
    var method = "GET";
    var php_page = "website/models/comments.model.php";
    var php_function = "report_abuse";
    var loading = "no";
    
    var params = new Array();
    
    params[0] = comment_id;
    params[1] = node;
    
    var confirmation = confirm("Segnalare un abuso del commento?");
    
    if( confirmation == true ) {
        eJS.validates_form(object_id, method, php_page, php_function, params, loading);
    }
    
    eJS.scroll_page("comment_" + comment_id);
}

/**
* @ vota un commento.
* @ public function
* @ 1.0.00
*/
function vote_comment(comment_id, vote) {
    var object_id = "comment_" + comment_id + "_response";
    var method = "GET";
    var php_page = "website/models/comments.model.php";
    var php_function = "vote_comment";
    var loading = "no";
    
    var params = new Array();
    
    params[0] = comment_id;
    params[1] = vote;
    
    eJS.validates_form(object_id, method, php_page, php_function, params, loading);
    
    eJS.scroll_page("comment_" + comment_id);
}

/**
* @ mostra i voti di un commento.
* @ public function
* @ 1.0.00
*/
function show_comment_votes(comment_id) {
    var object_id = "comment_" + comment_id + "_votes";
    var method = "GET";
    var php_page = "website/models/comments.model.php";
    var php_function = "show_comment_votes";
    var loading = "no";
    
    var params = new Array();
    
    params[0] = comment_id;
    
    eJS.validates_form(object_id, method, php_page, php_function, params, loading);
}

/**
* @ cancella un commento.
* @ public function
* @ 1.0.00
*/
function delete_comment(comment_id, node) {
    var object_id = "comment_" + comment_id + "_response";
    var method = "GET";
    var php_page = "website/models/comments.model.php";
    var php_function = "delete_comment";
    var loading = "no";
    
    var params = new Array();
    
    params[0] = comment_id;
    params[1] = node;
    
    var confirmation = confirm("Cancellare il commento?");
    
    if( confirmation == true ) {
        eJS.validates_form(object_id, method, php_page, php_function, params, loading);
    }
    
    eJS.scroll_page("comment_" + comment_id); 
}

/**
* @ cerca un commento.
* @ public function
* @ 1.0.00
*/
function search_comment(content_id, comment_id, page, state) {
    var object_id = "comments";
    var method = "GET";
    var php_page = "website/models/comments.model.php";
    var loading = "no";
    
    var params = new Array();
    
    if( state == "none" ) {
        // commento non trovato
        var php_function = "search_comment";
        
        params[0] = content_id;
        params[1] = comment_id;
        params[2] = page;
        
        eJS.validates_form(object_id, method, php_page, php_function, params, loading);
    } else if( state == "found" ) {
        // commento trovato
        scroll_comments(comment_id, content_id, "", "id", "asc", page);
    }
}

/**
* @ mostra i commenti e scorre a quello indicato.
* @ public function
* @ 1.0.00
*/
function scroll_comments(comment_id, content_id, state, order_by, order, page) {
    var object_id = "comments";
    var method = "GET";
    var php_page = "website/models/comments.model.php";
    var php_function = "scroll_comments";
    var loading = "no";
    
    var params = new Array();
    
    params[0] = comment_id;
    params[1] = content_id;
    params[2] = state;
    params[3] = order_by;
    params[4] = order;
    params[5] = page;
    
    eJS.validates_form(object_id, method, php_page, php_function, params, loading);
}

/**
* @ mostra i commenti.
* @ public function
* @ 1.0.00
*/
function show_comments(content_id, state, order_by, order, page, goto) {
    var object_id = "comments";
    var method = "GET";
    var php_page = "website/models/comments.model.php";
    var php_function = "show_comments";
    var loading = "no";
    
    var params = new Array();
    
    params[0] = content_id;
    params[1] = state;
    params[2] = order_by;
    params[3] = order;
    params[4] = page;
    
    eJS.validates_form(object_id, method, php_page, php_function, params, loading);
    
    if( goto == "true") {
        eJS.scroll_page("comments");
    }
}

/**
* MODULO CONTENTS
*
* @ aggiorna gli eventi.
* @ public function
* @ 1.0.00
*/
function update_events() {
    var object_id = "events";
    var method = "GET";
    var php_page = "website/models/contents.model.php";
    var php_function = "update_events";
    var loading = "no";
    var params = "";
    
    eJS.validates_form(object_id, method, php_page, php_function, params, loading);
}

/**
* @ mostra uno o più eventi.
* @ public function
* @ 1.0.00
*/
function show_events() {
    var object_id = "events";
    var method = "GET";
    var php_page = "website/models/contents.model.php";
    var php_function = "show_events";
    var loading = "no";
    var params = "";
    
    eJS.validates_form(object_id, method, php_page, php_function, params, loading);
}

/**
* @ mostra le preferenze di un contenuto.
* @ public function
* @ 1.0.00
*/
function show_preferences(content_id) {
    var object_id = "preferences_" + content_id;
    var method = "GET";
    var php_page = "website/models/contents.model.php";
    var php_function = "show_preferences";
    var loading = "no";
    
    var params = new Array();
    
    params[0] = content_id; 
    
    eJS.validates_form(object_id, method, php_page, php_function, params, loading);
}

/**
* @ vota un contenuto.
* @ public function
* @ 1.0.00
*/
function vote_content(content_id, vote) {
    var object_id = "preferences_" + content_id;
    var method = "GET";
    var php_page = "website/models/contents.model.php";
    var php_function = "vote_content";
    var loading = "no";
    
    var params = new Array();
    
    params[0] = content_id;
    params[1] = vote;
    
    eJS.validates_form(object_id, method, php_page, php_function, params, loading);
}

/**
* @ mostra i contenuti.
* @ public function
* @ 1.0.00
*/
function show_contents(category_id, type, order_by, order, page, goto) {
    var object_id = "contents";
    var method = "GET";
    var php_page = "website/models/contents.model.php";
    var php_function = "show_contents";
    var loading = "no";
    
    var params = new Array();
    
    params[0] = category_id;
    params[1] = type;
    params[2] = order_by;
    params[3] = order;
    params[4] = page;
    
    eJS.validates_form(object_id, method, php_page, php_function, params, loading);
    
    if( goto == "true") {
        eJS.scroll_page("contents");
    }
}

/** MODULO NEWSLETTER
*
* @ iscrive alla newsletter.
* @ public function
* @ 1.0.00
*/
function subscribe_newsletter() {
    var object_id = "subscribe_newsletter_response";
    var method = "POST";
    var php_page = "website/models/newsletter.model.php";
    var php_function = "subscribe_newsletter";
    var loading = "no";
    
    var params = new Array();
    
    params[0] = document.forms["subscribe_newsletter_form"].elements["name"].value;
    params[1] = document.forms["subscribe_newsletter_form"].elements["surname"].value;
    params[2] = document.forms["subscribe_newsletter_form"].elements["email"].value;
    
    eJS.validates_form(object_id, method, php_page, php_function, params, loading);
}

/**
* @ disiscrivi dalla newsletter.
* @ public function
* @ 1.0.00
*/
function unsubscribe_newsletter() {
    var object_id = "unsubscribe_newsletter_response";
    var method = "POST";
    var php_page = "website/models/newsletter.model.php";
    var php_function = "unsubscribe_newsletter";
    var loading = "no";
    
    var params = new Array();
    
    params[0] = document.forms["unsubscribe_newsletter_form"].elements["name"].value;
    params[1] = document.forms["unsubscribe_newsletter_form"].elements["surname"].value;
    params[2] = document.forms["unsubscribe_newsletter_form"].elements["email"].value;
    
    eJS.validates_form(object_id, method, php_page, php_function, params, loading);
}

/**
* MODULO NOTICES
*
* @ posta una nuova notifica messaggio.
* @ public function
* @ 1.0.00
*/
function post_notice() {
    var object_id = "notice_post_response";
    var method = "POST";
    var php_page = "website/models/notices.model.php";
    var php_function = "post_notice";
    var loading = "no";
    
    var params = new Array();
    
    params[0] = document.forms["post_notice_form"].elements["state"].value;
    params[1] = document.forms["post_notice_form"].elements["adressee"].value;
    params[2] = document.forms["post_notice_form"].elements["text"].value;
    
    eJS.validates_form(object_id, method, php_page, php_function, params, loading);
}

/**
* @ cancella una o più notifiche.
* @ public function
* @ 1.0.00
*/
function delete_notices(notice_id, form_name, input_name) {
    var object_id = "notice_actions_response";
    var method = "GET";
    var php_page = "website/models/notices.model.php";
    var php_function = "delete_notices";
    var loading = "no";
    
    var params = new Array();
    var notices = new Array();
    
    if( notice_id == 0 ) {
        // cancellazione multipla
        var input = document.forms[form_name].elements[input_name]
        var count = 0;
        
        for( var i = 0; i < input.length; i++ ) {
            if( input[i].checked ) {
                notices[count] = input[i].value;
                count = count + 1;
			}
		}
        
        if( count == 0 ) {
            alert("Non hai selezionato notifiche");
        } else {
            var confirmation = confirm("Cancellare le notifiche selezionate? (" + count + ")");
            
            if( confirmation == true ) {
                params[0] = notices;
                
                eJS.validates_form(object_id, method, php_page, php_function, params, loading);
            }
        }
    } else {
        var confirmation = confirm("Cancellare la notifica?");
        
        if( confirmation == true ) {
            params[0] = notice_id;
            
            eJS.validates_form(object_id, method, php_page, php_function, params, loading);
        }
    }
}

/**
* @ mostra le nuove notifiche.
* @ public function
* @ 1.0.00
*/
function show_notices_box(content) {    
    jQuery("#notices_box").html(content);
}

/**
* @ mostra le notifiche messaggio.
* @ public function
* @ 1.0.00
*/
function show_mp_notices(user_id, order_by, order, page, goto) {
    var object_id = "mp_notices";
    var method = "GET";
    var php_page = "website/models/notices.model.php";
    var php_function = "show_mp_notices";
    var loading = "no";
    
    var params = new Array();
    
    params[0] = user_id;
    params[1] = order_by;
    params[2] = order;
    params[3] = page;
    
    eJS.validates_form(object_id, method, php_page, php_function, params, loading);
    
    if( goto == "true") {
        eJS.scroll_page("mp_notices");
    }
}

/**
* @ mostra le notifiche non messaggio.
* @ public function
* @ 1.0.00
*/
function show_no_mp_notices(user_id, order_by, order, page, goto) {
    var object_id = "notices";
    var method = "GET";
    var php_page = "website/models/notices.model.php";
    var php_function = "show_no_mp_notices";
    var loading = "no";
    
    var params = new Array();
    
    params[0] = user_id;
    params[1] = order_by;
    params[2] = order;
    params[3] = page;
    
    eJS.validates_form(object_id, method, php_page, php_function, params, loading);
    
    if( goto == "true") {
        eJS.scroll_page("notices");
    }
}

/**
* MODULO UPDATES
*
* @ aggiorna gli indirizzi IP.
* @ public function
* @ 1.0.00
*/
function update_ips() {
    var object_id = "updates";
    var method = "GET";
    var php_page = "website/models/updates.model.php";
    var php_function = "update_ips";
    var loading = "no";
    var params = "";
    
    eJS.validates_form(object_id, method, php_page, php_function, params, loading);
}

/**
* @ aggiorna le notifiche.
* @ public function
* @ 1.0.00
*/
function update_notices() {
    var object_id = "updates";
    var method = "GET";
    var php_page = "website/models/updates.model.php";
    var php_function = "update_notices";
    var loading = "no";
    var params = "";
    
    eJS.validates_form(object_id, method, php_page, php_function, params, loading);
}

/**
* @ aggiorna il numero di notifiche.
* @ public function
* @ 1.0.00
*/
function update_notices_num() {
    var object_id = "notices_num";
    var method = "GET";
    var php_page = "website/models/updates.model.php";
    var php_function = "update_notices_num";
    var loading = "no";
    var params = "";
    
    eJS.validates_form(object_id, method, php_page, php_function, params, loading);
}

/**
* @ aggiorna le sospensioni.
* @ public function
* @ 1.0.00
*/
function update_suspensions() {
    var object_id = "updates";
    var method = "GET";
    var php_page = "website/models/updates.model.php";
    var php_function = "update_suspensions";
    var loading = "no";
    var params = "";
    
    eJS.validates_form(object_id, method, php_page, php_function, params, loading);
}

/**
* MODULO UPLOADS
*
* @ mostra le fotografie.
* @ public function
* @ 1.0.00
*/
function show_photographs(category_id, order_by, order, page, goto) {
    var object_id = "photographs";
    var method = "GET";
    var php_page = "website/models/photographs.model.php";
    var php_function = "show_photographs";
    var loading = "no";
    
    var params = new Array();
    
    params[0] = category_id;
    params[1] = order_by;
    params[2] = order;
    params[3] = page;
    
    eJS.validates_form(object_id, method, php_page, php_function, params, loading);
    
    if( goto == "true") {
        eJS.scroll_page("photographs");
    }
}

/**
* MODULO USERS
*
* @ crea un nuovo account.
* @ public function
* @ 1.0.00
*/
function new_account() {
    var object_id = "new_account_response";
    var method = "POST";
    var php_page = "website/models/users.model.php";
    var php_function = "new_account";
    var loading = "no";
    
    var params = new Array();
    
    params[0] = document.forms["new_account_form"].elements["name"].value;
    params[1] = document.forms["new_account_form"].elements["username"].value;
    params[2] = document.forms["new_account_form"].elements["password"].value;
    params[3] = document.forms["new_account_form"].elements["cnf_password"].value;
    params[4] = document.forms["new_account_form"].elements["email"].value;
    params[5] = document.forms["new_account_form"].elements["cnf_email"].value;
    
    eJS.validates_form(object_id, method, php_page, php_function, params, loading);
}

/**
* @ recupera l'attivazione dell'account.
* @ public function
* @ 1.0.00
*/
function recover_account() {
    var object_id = "recover_account_response";
    var method = "POST";
    var php_page = "website/models/users.model.php";
    var php_function = "recover_account";
    var loading = "no";
    
    var params = new Array();
    
    params[0] = document.forms["recover_account_form"].elements["email"].value;
    
    eJS.validates_form(object_id, method, php_page, php_function, params, loading);
}

/**
* @ recupera la password perduta.
* @ public function
* @ 1.0.00
*/
function recover_password() {
    var object_id = "recover_password_response";
    var method = "POST";
    var php_page = "website/models/users.model.php";
    var php_function = "recover_password";
    var loading = "no";
    
    var params = new Array();
    
    params[0] = document.forms["recover_password_form"].elements["email"].value;
    
    eJS.validates_form(object_id, method, php_page, php_function, params, loading);
}

/**
* @ accede al sito.
* @ public function
* @ 1.0.00
*/
function access() {
    var object_id = "access_response";
    var method = "POST";
    var php_page = "website/models/users.model.php";
    var php_function = "access";
    var loading = "no";
    
    var params = new Array();
    
    params[0] = document.forms["access_form"].elements["username"].value;
    params[1] = document.forms["access_form"].elements["password"].value;
    params[2] = ( document.forms["access_form"].elements["remember"].checked == true ) ? 1 : 0;
    
    eJS.validates_form(object_id, method, php_page, php_function, params, loading);
}

/**
* @ modifica un account.
* @ public function
* @ 1.0.00
*/
function edit_account() {
    var object_id = "edit_account_response";
    var method = "POST";
    var php_page = "website/models/users.model.php";
    var php_function = "edit_account";
    var loading = "no";
    
    var params = new Array();
    
    params[0] = document.forms["edit_account_form"].elements["username"].value;
    params[1] = document.forms["edit_account_form"].elements["password"].value;
    params[2] = document.forms["edit_account_form"].elements["security"].value;
    
    eJS.validates_form(object_id, method, php_page, php_function, params, loading);
}

/**
* @ modifica un profilo.
* @ public function
* @ 1.0.00
*/
function edit_profile() {
    var object_id = "edit_profile_response";
    var method = "POST";
    var php_page = "website/models/users.model.php";
    var php_function = "edit_profile";
    var loading = "no";
    
    var params = new Array();
    
    params[1] = document.forms["edit_profile_form"].elements["name"].value;
    params[2] = document.forms["edit_profile_form"].elements["email"].value;
    params[3] = document.forms["edit_profile_form"].elements["newsletter"].value;
    
    eJS.validates_form(object_id, method, php_page, php_function, params, loading);
}

/**
* @ cancella un account.
* @ public function
* @ 1.0.00
*/
function delete_account() {
    var object_id = "delete_account_response";
    var method = "POST";
    var php_page = "website/models/users.model.php";
    var php_function = "delete_account";
    var loading = "no";
    
    var params = new Array();
    
    params[0] = document.forms["delete_account_form"].elements["password"].value;
    
    eJS.validates_form(object_id, method, php_page, php_function, params, loading);
}
