function $(id) { return document.getElementById(id); } function find_index(field, value) { field = $(field); for (i = 0; i < field.length; i++) { if (field[i].value == value) { return i; } } } function ajax_sender() { if (this.request == '') { this.request = 'sid='+Math.floor(Math.random()*9999999999); } else { this.request = this.request + '&sid='+Math.floor(Math.random()*9999999999); } this.xmlHttp.open('POST', this.page, true); var xmlHttpObject = this.xmlHttp; xmlHttpObject.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); xmlHttpObject.setRequestHeader('Content-length', this.request.length); xmlHttpObject.setRequestHeader('Connection', 'close'); var element = this.element; var type = this.type; var status_start = this.status_start; var status_finish = this.status_finish; try { eval(status_start); } catch(e) { } if (element != '' || type == 'alert' || type == '') { this.xmlHttp.onreadystatechange = function() { if (xmlHttpObject.readyState == 4) { switch (type) { case 'alert': { alert(xmlHttpObject.responseText); break; } case 'select': { $(element).selectedIndex = find_index(element, xmlHttpObject.responseText); break; } case 'div': { $(element).innerHTML = xmlHttpObject.responseText; break; } case '': { // do nothing break; } } try { eval(status_finish); } catch(e) { } } }; } this.xmlHttp.send(this.request); } function ajax(page, request, type, element, status_start, status_finish) { if (arguments.length < 2) { return; } this.element = element; this.page = page; this.type = type; if (request == null) { this.request = ''; } else { this.request = request; } this.status_start = status_start; this.status_finish = status_finish; try { this.xmlHttp = new XMLHttpRequest(); } catch (e) { try { this.xmlHttp = new ActiveXObject('Msxml2.XMLHTTP'); } catch (e) { try { this.xmlHttp = new ActiveXObject('Microsoft.XMLHTTP'); } catch (e) { alert('Your browser does not support AJAX!'); return false; } } } this.send = ajax_sender; this.send(); }