var ajax_counter = 0; function is_http_success(status) { return ((status >= 200)&&(status < 300)) } //Eseguo un metodo remoto via xmlhttp function Request(url, query, http_method) { var xmlhttp=GetXmlHttpObject(); var amiasynchronous = true; if (!http_method) http_method="POST" xmlhttp.open(http_method, url, amiasynchronous); xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded") xmlhttp.send(query); } //Eseguo un metodo remoto via xmlhttp function SyncRequest(url, query, http_method) { var xmlhttp=GetXmlHttpObject(); var amiasynchronous = false; if (!http_method) http_method="POST" xmlhttp.open(http_method, url, amiasynchronous); xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded") xmlhttp.send(query); return eval("("+xmlhttp.responseText+")"); } //Rimpiazzo il contenuto di un elemento via xmlhttp function SetInnerHTMLbyUrl(el, url, query, http_method, final_handler) { var xmlhttp=GetXmlHttpObject(); var amiasynchronous = true; if (!http_method) http_method="POST" xmlhttp.open(http_method, url, amiasynchronous); xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded") xmlhttp.send(query); ajax_counter += 1; var ajax_is_loading = GetElementById('ajax_is_loading') xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4) { if (is_http_success(xmlhttp.status)) { SetInnerHTML(el, xmlhttp.responseText); if (final_handler) { final_handler(el); } } else dispatch_xmlhttp_error(xmlhttp); ajax_counter -= 1; if (!ajax_counter) ajax_is_loading.style.visibility='hidden'; } } if (xmlhttp.readyState != 4) ajax_is_loading.style.visibility='visible'; } function AddInnerHTMLbyUrl(el, url, query, http_method, final_handler) { var xmlhttp=GetXmlHttpObject(); var amiasynchronous = true; if (!http_method) http_method="POST" xmlhttp.open(http_method, url, amiasynchronous); xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded") xmlhttp.send(query); ajax_counter += 1; var ajax_is_loading = GetElementById('ajax_is_loading') xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4) { if (is_http_success(xmlhttp.status)) { AddInnerHTML(el, xmlhttp.responseText); if (final_handler) { final_handler(el); } } else dispatch_xmlhttp_error(xmlhttp); ajax_counter -= 1; if (!ajax_counter) ajax_is_loading.style.visibility='hidden'; } } if (xmlhttp.readyState != 4) ajax_is_loading.style.visibility='visible'; } function AddHTMLRowbyUrl(el, url, query, http_method, final_handler) { var xmlhttp=GetXmlHttpObject(); var amiasynchronous = true; if (!http_method) http_method="POST" xmlhttp.open(http_method, url, amiasynchronous); xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded") xmlhttp.send(query); ajax_counter += 1; var ajax_is_loading = GetElementById('ajax_is_loading') xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4) { if (is_http_success(xmlhttp.status)) { AddHTMLRow(el, xmlhttp.responseText); if (final_handler) { final_handler(el); } } else dispatch_xmlhttp_error(xmlhttp); ajax_counter -= 1; if (!ajax_counter) ajax_is_loading.style.visibility='hidden'; } } if (xmlhttp.readyState != 4) ajax_is_loading.style.visibility='visible'; } //Apro un link via xmlrpc in modo sincrono (per inizializzazione albero) function SetSyncInnerHTMLbyUrl(el, url, query) { var xmlhttp=GetXmlHttpObject(); var amiasynchronous = false; ajax_counter += 1; var ajax_is_loading = GetElementById('ajax_is_loading') ajax_is_loading.style.visibility='visible'; xmlhttp.open("POST", url, amiasynchronous); xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded") xmlhttp.send(query); if (is_http_success(xmlhttp.status)) { SetInnerHTML(el, xmlhttp.responseText); } else dispatch_xmlhttp_error(xmlhttp); ajax_counter -= 1; if (!ajax_counter) ajax_is_loading.style.visibility='hidden'; } //Recupero del menu contestuale via XMLHttpRequest function show_context_menu(e, type, id) { var xmlhttp=GetXmlHttpObject(); var amiasynchronous = true var url = "https://almaview.unibo.it//kform/avng/utils/context_menu/get_html_context_menu?type=" + type + "&id=" + id xmlhttp.open("GET", url, amiasynchronous); xmlhttp.send(null) leftedge = GetClientXPosition(e) + GetScrollXPosition(); topedge = GetClientYPosition(e) + GetScrollYPosition(); ajax_counter += 1; var ajax_is_loading = GetElementById('ajax_is_loading') xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4) { if (is_http_success(xmlhttp.status)) { SetInnerHTML(GetElementById('context_menu'), xmlhttp.responseText); showmenu(leftedge, topedge); } else dispatch_xmlhttp_error(xmlhttp); ajax_counter -= 1; if (!ajax_counter) ajax_is_loading.style.visibility='hidden'; } } if (xmlhttp.readyState != 4) ajax_is_loading.style.visibility='visible'; } //Dato il nome di un'opzione, il valore, l'identificativo di una select da rimpiazzare, e l'url da invocare //lo script recupera le opzioni correlate al valore scelto function set_related_select(opt_name, opt_value, select_id, geturl, auto_enable, new_value, xattrs) { var selectEl = GetElementById(select_id); var option = document.createElement("option") option.value = -1; option.text = "Attendere prego..."; SetInnerHTMLFrag(selectEl, option) var amiasynchronous = true var url = geturl + "?"+ opt_name + "=" + opt_value var xmlhttp=GetXmlHttpObject(); xmlhttp.open("GET", url, amiasynchronous); xmlhttp.send(null) ajax_counter += 1; var ajax_is_loading = GetElementById('ajax_is_loading') xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4) { if (is_http_success(xmlhttp.status)) { var opts = eval(xmlhttp.responseText); DelInnerHTML(selectEl); if (!opts) { opts = [["Opzioni non disponibili",-1]] } for (var i=0;i