//----------------------------------------------------------
// 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_object: function () { var $0 = this.get_response(); return ($0) ? $0.get_object() : null; }, 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.$2(anchor.href, 'post', '', anchor, ajaxOptions); }
Sys.Mvc.MvcHelpers = function () { }
Sys.Mvc.MvcHelpers.$0 = function ($p0, $p1, $p2) { if ($p0.disabled) { return null; } var $0 = $p0.name; if ($0) { var $1 = $p0.tagName.toUpperCase(); var $2 = encodeURIComponent($0); var $3 = $p0; if ($1 === 'INPUT') { var $4 = $3.type; if ($4 === 'submit') { return $2 + '=' + encodeURIComponent($3.value); } else if ($4 === 'image') { return $2 + '.x=' + $p1 + '&' + $2 + '.y=' + $p2; } } else if (($1 === 'BUTTON') && ($0.length) && ($3.type === 'submit')) { return $2 + '=' + encodeURIComponent($3.value); } } return null; }
Sys.Mvc.MvcHelpers.$1 = function ($p0) { var $0 = $p0.elements; var $1 = new Sys.StringBuilder(); var $2 = $0.length; for (var $4 = 0; $4 < $2; $4++) { var $5 = $0[$4]; var $6 = $5.name; if (!$6 || !$6.length) { continue; } var $7 = $5.tagName.toUpperCase(); if ($7 === 'INPUT') { var $8 = $5; var $9 = $8.type; if (($9 === 'text') || ($9 === 'password') || ($9 === 'hidden') || ((($9 === 'checkbox') || ($9 === 'radio')) && $5.checked)) { $1.append(encodeURIComponent($6)); $1.append('='); $1.append(encodeURIComponent($8.value)); $1.append('&'); } } else if ($7 === 'SELECT') { var $A = $5; var $B = $A.options.length; for (var $C = 0; $C < $B; $C++) { var $D = $A.options[$C]; if ($D.selected) { $1.append(encodeURIComponent($6)); $1.append('='); $1.append(encodeURIComponent($D.value)); $1.append('&'); } } } else if ($7 === 'TEXTAREA') { $1.append(encodeURIComponent($6)); $1.append('='); $1.append(encodeURIComponent(($5.value))); $1.append('&'); } } var $3 = $p0._additionalInput; if ($3) { $1.append($3); $1.append('&'); } return $1.toString(); }
Sys.Mvc.MvcHelpers.$2 = 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 = $p1.toUpperCase(); var $1 = ($0 === 'GET' || $0 === 'POST'); if (!$1) { $p2 += '&'; $p2 += 'X-HTTP-Method-Override=' + $0; } var $2 = ''; if ($0 === 'GET' || $0 === 'DELETE') { if ($p0.indexOf('?') > -1) { if (!$p0.endsWith('&')) { $p0 += '&'; } $p0 += $p2; } else { $p0 += '?'; $p0 += $p2; } } else { $2 = $p2; } var $3 = new Sys.Net.WebRequest(); $3.set_url($p0); if ($1) { $3.set_httpVerb($p1); } else { $3.set_httpVerb('POST'); $3.get_headers()['X-HTTP-Method-Override'] = $0; } $3.set_body($2); if ($p1.toUpperCase() === 'PUT') { $3.get_headers()['Content-Type'] = 'application/x-www-form-urlencoded;'; } $3.get_headers()['X-Requested-With'] = 'XMLHttpRequest'; var $4 = null; if ($p4.updateTargetId) { $4 = $get($p4.updateTargetId); } var $5 = null; if ($p4.loadingElementId) { $5 = $get($p4.loadingElementId); } var $6 = new Sys.Mvc.AjaxContext($3, $4, $5, $p4.insertionMode); var $7 = true; if ($p4.onBegin) { $7 = $p4.onBegin($6) !== false; } if ($5) { Sys.UI.DomElement.setVisible($6.get_loadingElement(), true); } if ($7) {
        $3.add_completed(Function.createDelegate(null, function ($p1_0) {
            Sys.Mvc.MvcHelpers.$3($3, $p4, $6);
        })); $3.invoke();
    }
}
Sys.Mvc.MvcHelpers.$3 = 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.handleClick = function (form, evt) { var $0 = Sys.Mvc.MvcHelpers.$0(evt.target, evt.offsetX, evt.offsetY); form._additionalInput = $0; }
Sys.Mvc.AsyncForm.handleSubmit = function (form, evt, ajaxOptions) { evt.preventDefault(); var $0 = form.validationCallbacks; if ($0) { for (var $2 = 0; $2 < $0.length; $2++) { var $3 = $0[$2]; if (!$3()) { return; } } } var $1 = Sys.Mvc.MvcHelpers.$1(form); Sys.Mvc.MvcHelpers.$2(form.action, form.method || 'post', $1, 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)
// -----------------------------------
