//----------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------
// MicrosoftMvcAjax.js

Type.registerNamespace('Sys.Mvc'); Sys.Mvc.$create_AjaxOptions = function() { return {}; }
Sys.Mvc.InsertionMode = function() { }; Sys.Mvc.InsertionMode.prototype = { replace: 0, insertBefore: 1, insertAfter: 2 }
Sys.Mvc.InsertionMode.registerEnum('Sys.Mvc.InsertionMode', false); Sys.Mvc.AjaxContext = function(request, updateTarget, loadingElement, insertionMode) { this.$3 = request; this.$4 = updateTarget; this.$1 = loadingElement; this.$0 = insertionMode; }
Sys.Mvc.AjaxContext.prototype = { $0: 0, $1: null, $2: null, $3: null, $4: null, get_data: function() { if (this.$2) { return this.$2.get_responseData(); } else { return null; } }, get_insertionMode: function() { return this.$0; }, get_loadingElement: function() { return this.$1; }, get_response: function() { return this.$2; }, set_response: function(value) { this.$2 = value; return value; }, get_request: function() { return this.$3; }, get_updateTarget: function() { return this.$4; } }
Sys.Mvc.AsyncHyperlink = function() { }
Sys.Mvc.AsyncHyperlink.handleClick = function(anchor, evt, ajaxOptions) { evt.preventDefault(); Sys.Mvc.MvcHelpers.$1(anchor.href, 'post', '', anchor, ajaxOptions); }
Sys.Mvc.MvcHelpers = function() { }
Sys.Mvc.MvcHelpers.$0 = function($p0) { var $0 = $p0.elements; var $1 = new Sys.StringBuilder(); var $2 = $0.length; for (var $3 = 0; $3 < $2; $3++) { var $4 = $0[$3]; var $5 = $4.name; if (!$5 || !$5.length) { continue; } var $6 = $4.tagName.toUpperCase(); if ($6 === 'INPUT') { var $7 = $4; var $8 = $7.type; if (($8 === 'text') || ($8 === 'password') || ($8 === 'hidden') || ((($8 === 'checkbox') || ($8 === 'radio')) && $4.checked)) { $1.append(encodeURIComponent($5)); $1.append('='); $1.append(encodeURIComponent($7.value)); $1.append('&'); } } else if ($6 === 'SELECT') { var $9 = $4; var $A = $9.options.length; for (var $B = 0; $B < $A; $B++) { var $C = $9.options[$B]; if ($C.selected) { $1.append(encodeURIComponent($5)); $1.append('='); $1.append(encodeURIComponent($C.value)); $1.append('&'); } } } else if ($6 === 'TEXTAREA') { $1.append(encodeURIComponent($5)); $1.append('='); $1.append(encodeURIComponent(($4.value))); $1.append('&'); } } return $1.toString(); }
Sys.Mvc.MvcHelpers.$1 = function($p0, $p1, $p2, $p3, $p4) {
    if ($p4.confirm) { if (!confirm($p4.confirm)) { return; } } if ($p4.url) { $p0 = $p4.url; } if ($p4.httpMethod) { $p1 = $p4.httpMethod; } if ($p2.length > 0 && !$p2.endsWith('&')) { $p2 += '&'; } $p2 += 'X-Requested-With=XMLHttpRequest'; var $0 = ''; if ($p1.toUpperCase() === 'GET' || $p1.toUpperCase() === 'DELETE') { if ($p0.indexOf('?') > -1) { if (!$p0.endsWith('&')) { $p0 += '&'; } $p0 += $p2; } else { $p0 += '?'; $p0 += $p2; } } else { $0 = $p2; } var $1 = new Sys.Net.WebRequest(); $1.set_url($p0); $1.set_httpVerb($p1); $1.set_body($0); if ($p1.toUpperCase() === 'PUT') { $1.get_headers()['Content-Type'] = 'application/x-www-form-urlencoded;'; } $1.get_headers()['X-Requested-With'] = 'XMLHttpRequest'; var $2 = null; if ($p4.updateTargetId) { $2 = $get($p4.updateTargetId); } var $3 = null; if ($p4.loadingElementId) { $3 = $get($p4.loadingElementId); } var $4 = new Sys.Mvc.AjaxContext($1, $2, $3, $p4.insertionMode); var $5 = true; if ($p4.onBegin) { $5 = $p4.onBegin($4) !== false; } if ($3) { Sys.UI.DomElement.setVisible($4.get_loadingElement(), true); } if ($5) {
        $1.add_completed(Function.createDelegate(null, function($p1_0) {
            Sys.Mvc.MvcHelpers.$2($1, $p4, $4);
        })); $1.invoke();
    } 
}
Sys.Mvc.MvcHelpers.$2 = function($p0, $p1, $p2) { $p2.set_response($p0.get_executor()); if ($p1.onComplete && $p1.onComplete($p2) === false) { return; } var $0 = $p2.get_response().get_statusCode(); if (($0 >= 200 && $0 < 300) || $0 === 304 || $0 === 1223) { if ($0 !== 204 && $0 !== 304 && $0 !== 1223) { var $1 = $p2.get_response().getResponseHeader('Content-Type'); if (($1) && ($1.indexOf('application/x-javascript') !== -1)) { eval($p2.get_data()); } else { Sys.Mvc.MvcHelpers.updateDomElement($p2.get_updateTarget(), $p2.get_insertionMode(), $p2.get_data()); } } if ($p1.onSuccess) { $p1.onSuccess($p2); } } else { if ($p1.onFailure) { $p1.onFailure($p2); } } if ($p2.get_loadingElement()) { Sys.UI.DomElement.setVisible($p2.get_loadingElement(), false); } }
Sys.Mvc.MvcHelpers.updateDomElement = function(target, insertionMode, content) { if (target) { switch (insertionMode) { case 0: target.innerHTML = content; break; case 1: if (content && content.length > 0) { target.innerHTML = content + target.innerHTML.trimStart(); } break; case 2: if (content && content.length > 0) { target.innerHTML = target.innerHTML.trimEnd() + content; } break; } } }
Sys.Mvc.AsyncForm = function() { }
Sys.Mvc.AsyncForm.handleSubmit = function(form, evt, ajaxOptions) { evt.preventDefault(); var $0 = Sys.Mvc.MvcHelpers.$0(form); Sys.Mvc.MvcHelpers.$1(form.action, form.method || 'post', $0, form, ajaxOptions); }
Sys.Mvc.AjaxContext.registerClass('Sys.Mvc.AjaxContext'); Sys.Mvc.AsyncHyperlink.registerClass('Sys.Mvc.AsyncHyperlink'); Sys.Mvc.MvcHelpers.registerClass('Sys.Mvc.MvcHelpers'); Sys.Mvc.AsyncForm.registerClass('Sys.Mvc.AsyncForm');
// ---- Do not remove this footer ----
// Generated using Script# v0.5.0.0 (http://projects.nikhilk.net)
// -----------------------------------
