Namespace.Register("System.Ajax"); if(window.theForm) { if(theForm.onsubmit && typeof(theForm.onsubmit) == "function") { theForm.__onsubmit = theForm.onsubmit; } theForm.onsubmit = function(e) { var returnValue = null; if(this.__onsubmit && typeof(this.__onsubmit) == "function") { returnValue = this.__onsubmit(e); if(typeof(returnValue) != "undefined" && !returnValue) return false; } if(typeof(this.ajaxFrameIndex) == "undefined") this.ajaxFrameIndex = -1; this.ajaxFrameIndex++; var div = document.createElement("DIV"); div.innerHTML = ''; document.body.appendChild(div); this.target = "AjaxFrame" + this.ajaxFrameIndex; return true; } } System.Ajax.DoCallback = function(params) { if(!params || !params[0]) return; WebForm_DoCallback("__Page", this.EncodeParameters(params), System.Ajax.EventHandler, "", null, true); } System.Ajax.ExecuteScript = function(script, type, args) { if(type == "function") { script += "("; for(var i = 0; i < args.length; i++) { script += "args[" + i + "],"; } if(args.length > 0) script = script.substring(0, script.length - 1); script += ");"; } eval(script); } System.Ajax.EventHandler = function(result, context) { var e = eval(result); var params = new Array(); e.context = e.context; for(var i in e.params) { var param = e.params[i]; if(param.type == "expression") param.value = eval(param.value); params[param.name] = param.value; } for(var i in e.scripts) { var script = e.scripts[i]; System.Ajax.ExecuteScript(script.name, script.type, script.args); } e.scripts = null; if(e.errorCode != 0) { if(e.errorHandler) { var handler = eval(System.Ajax.Decode(e.errorHandler)); // errorHandler(context, code, message, params) if(typeof(handler) == "function") handler(e.context, e.errorCode, e.errorMessage, params); } } else { if(e.successHandler) { var handler = eval(System.Ajax.Decode(e.successHandler)); // successHandler(context, params) if(typeof(handler) == "function") handler(e.context, params); } } } System.Ajax.EncodeParameters = function(params) { if(!params) return ""; var header = params[0]; if(!header) return ""; var data = new Array(); data[data.length] = "__context=" + header.context; data[data.length] = "__successHandler=" + header.successHandler; data[data.length] = "__errorHandler=" + header.errorHandler; data[data.length] = "__formName=" + (header.formName ? header.formName : ""); var collections = ""; var names = new Array(); var values = new Array(); if(header.formName) { var form = document.forms[unescape(header.formName)]; if(form) { var elements = form.elements; for(var i = 0; i < elements.length; i++) { var element = elements[i]; var addValue = false; if(element.name) { var value = values[element.name]; if(typeof(value) == "undefined") { names[names.length] = element.name; values[element.name] = element.name + "=" + this.Encode(element.value); } else { collections += element.name + "&"; if(typeof(value) == "string") { value = new Array("##0" + value); values[element.name] = value; } value[value.length] = "##" + value.length + element.name + "=" + this.Encode(element.value); } } } } } for(var i = 0; i < names.length; i++) { var name = names[i]; var value = values[name]; if(typeof(value) == "string") { data[data.length] = value; } else { collections = collections.replace(name, name + "=" + value.length); for(var j = 0; j < value.length; j++) { data[data.length] = value[j]; } } } data[data.length] = "__collections=" + this.Encode(collections); for(var i = 1; i < params.length; i++) { var param = params[i]; if(param && param.name && param.type) { data[data.length] = param.name + "=" + (param.type == "expression" ? this.Encode(eval(this.Decode(param.value))) : param.value); } } return data.join("&"); } System.Ajax.DecodeParameters = function(params) { } System.Ajax.DoPostBack = function(scripts, name) { for(var i in scripts) { var script = scripts[i]; this.ExecuteScript(script.name, script.type, script.args); } document.getElementById(name).src = ""; // document.getElementById(name).style.display = "block"; // document.getElementById(name).width = 1000; // document.getElementById(name).height = 1000; window.setTimeout('System.Ajax.DeleteNode("' + name + '");', 50); } System.Ajax.Decode = function(value) { return eval(value); } System.Ajax.Encode = function(value) { return escape(value); } System.Ajax.Reload = function() { location.reload(true); } System.Ajax.DeleteNode = function(id) { if(!id) return; var node = document.getElementById(id); if(!node) return; node.parentNode.removeChild(node); } System.Ajax.Redirect = function(url, replace) { if(replace) location.replace(url); else location.href = url; } System.Ajax.ConfirmRedirect = function(message, url1, url2) { if(confirm(message)) if(url1) location.href = url1; else if(url2) location.href = url2; } System.Ajax.ConfirmScript = function(message, script1, script2) { if(confirm(message)) if(script1) eval(script1); else if(script2) eval(script2); } System.Ajax.Alert = function(message) { alert(message); } System.Ajax.GetChildFrameElement = function(frame, id) { var frame = document.getElementById(frame); if(!frame) return null; return frame.contentWindow.document.getElementById(id); } System.Ajax.ExpandoAttribute = function(id, attribute, value, type) { if(!id || !attribute) return; var node = document.getElementById(id); if(!node) return; if(type == "expression") value = eval(value); node[attribute] = value; } System.Ajax.SetAttribute = function(id, attribute, value) { if(!id || !attribute) return; var node = document.getElementById(id); if(!node) return; if(node.setAttribute) node.setAttribute(attribute, value); } System.Ajax.CloseWindow = function() { window.close(); }