/* INTERFACCIA JS PER GESTIRE GLI ACCESSI */

// Variabili Globali
var url_xml_rpc;			// indirizzo per chiamare la call.php
var form_obj;				// form principale
var struct_param = new Array();		// array standard per contenere la struttura/xml
var iso_encoding;			// variabile che conterrà la codifica della struttura/xml

// Inizializzazione delle variabili globali e della struttura di base
function init(){
	url_xml_rpc = js_global_root_url+'xml_rpc/call.php';
	form_obj = document.getElementById('mainform');
	
	struct_param['header'] = new Array();
	struct_param['query'] = new Array();
	struct_param['header']['version'] = '1.0.0';
	iso_encoding = 'utf-8';
}

// Effettua il login di un utente
function login() {
	
	form_obj = document.getElementById('loginform');
	
	struct_param['query'] = new Array();
	struct_param['header']['product'] = 'authentication';
	struct_param['header']['type'] = 'login';
	struct_param['query']['email'] = document.getElementById('email').value;
	struct_param['query']['pwd'] = document.getElementById('pwd').value;	
	
	if(document.getElementById('box'))
		refresh_box();

	xml_request(struct_param, url_xml_rpc, iso_encoding, authentication_callbacks_xml_request);
}

// Effettua il logout di un utente
function logout() {
	form_obj = document.getElementById('loginform');
	
	struct_param['query'] = new Array();
	struct_param['header']['product'] = 'authentication';
	struct_param['header']['type'] = 'logout';
	
	xml_request(struct_param, url_xml_rpc, iso_encoding, authentication_callbacks_xml_request);
}

// Funzione per la gestione dei valori ritornati
function authentication_callbacks_xml_request(response, type) {
	switch(type){
		case 'login':
			switch (response){
				case 'failure':
					print_error(js_dic_ERRORLOGIN); break;
				default:
					location.reload(); break;
			}
			break;
		case 'logout': window.location = js_global_root_url; break;
	}
}
