// remote scripting library // (c) copyright 2005 modernmethod, inc var _sajaxDebugMode = false; var _sajaxRequestType = "POST"; function sajax_debug(text) { if (_sajaxDebugMode) alert("RSD: " + text) } function sajax_init_object() { sajax_debug("sajax_init_object() called..") var A; try { A=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { A=new ActiveXObject("Microsoft.XMLHTTP"); } catch (oc) { A=null; } } if(!A && typeof XMLHttpRequest != "undefined") A = new XMLHttpRequest(); if (!A) sajax_debug("Could not create connection object."); return A; } function sajax_do_call(func_name, args) { sajax_debug("sajax_do_call() called.."); var i, x, n; var uri; var post_data; uri = "/index.php"; if (_sajaxRequestType == "GET") { if (uri.indexOf("?") == -1) uri = uri + "?rs=" + escape(func_name); else uri = uri + "&rs=" + escape(func_name); for (i = 0; i < args.length-1; i++) uri = uri + "&rsargs[]=" + encodeURIComponent(args[i]); uri = uri + "&rsrnd=" + new Date().getTime(); post_data = null; } else { post_data = "rs=" + encodeURIComponent(func_name); for (i = 0; i < args.length-1; i++) post_data = post_data + "&rsargs[]=" + args[i]; } x = sajax_init_object(); x.open(_sajaxRequestType, uri, true); if (_sajaxRequestType == "POST") { x.setRequestHeader("Method", "POST " + uri + " HTTP/1.1"); x.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); } else { x.setRequestHeader("Content-Type", "text/plain; charset=UTF-8"); } x.onreadystatechange = function() { if (x.readyState != 4) return; sajax_debug("received " + x.responseText); var status; var data; status = x.responseText.charAt(0); data = x.responseText.substring(2); if (status == "-") alert("Error: " + data); else args[args.length-1](data); } x.send(post_data); sajax_debug(func_name + " uri = " + uri + "/post = " + post_data); sajax_debug(func_name + " waiting.."); delete x; } // wrapper for sendemail function x_sendemail() { sajax_do_call("sendemail", x_sendemail.arguments); } // wrapper for showsendmaildialog function x_showsendmaildialog() { sajax_do_call("showsendmaildialog", x_showsendmaildialog.arguments); } // wrapper for doDeleteNoteBook function x_doDeleteNoteBook() { sajax_do_call("doDeleteNoteBook", x_doDeleteNoteBook.arguments); } // wrapper for doAddToNoteBook function x_doAddToNoteBook() { sajax_do_call("doAddToNoteBook", x_doAddToNoteBook.arguments); } // wrapper for doList function x_doList() { sajax_do_call("doList", x_doList.arguments); } // wrapper for loadFlash function x_loadFlash() { sajax_do_call("loadFlash", x_loadFlash.arguments); }