topical media & game development 
  
 
 
 
 
  
    
    
  
 mobile-application-03-MVCDerbyService-MVCDerbyService-Scripts-MicrosoftMvcAjax.debug.js / js
  //!----------------------------------------------------------
  //! Copyright (C) Microsoft Corporation. All rights reserved.
  //!----------------------------------------------------------
  //! MicrosoftMvcAjax.js
  
  Type.registerNamespace('Sys.Mvc');
  
  //////////////////////////////////////////////////////////////////////////
  // Sys.Mvc.AjaxOptions
  
  Sys.Mvc. <field name="replace" type="Number" integer="true" static="true">
 
</field>
 <field name="insertBefore" type="Number" integer="true" static="true">
 
</field>
 <field name="insertAfter" type="Number" integer="true" static="true">
 
</field>
};
Sys.Mvc.InsertionMode.prototype = {
    replace: 0, 
    insertBefore: 1, 
    insertAfter: 2
}
Sys.Mvc.InsertionMode.registerEnum('Sys.Mvc.InsertionMode', false);
  //////////////////////////////////////////////////////////////////////////
  // Sys.Mvc.AjaxContext
  
  Sys.Mvc.AjaxContext = function Sys_Mvc_AjaxContext(request, updateTarget, loadingElement, insertionMode) {
   <param name="request" type="Sys.Net.WebRequest">
 
</param>
 <param name="updateTarget" type="Object" domElement="true">
 
</param>
 <param name="loadingElement" type="Object" domElement="true">
 
</param>
 <param name="insertionMode" type="Sys.Mvc.InsertionMode">
 
</param>
 <field name="_insertionMode" type="Sys.Mvc.InsertionMode">
 
</field>
 <field name="_loadingElement" type="Object" domElement="true">
 
</field>
 <field name="_response" type="Sys.Net.WebRequestExecutor">
 
</field>
 <field name="_request" type="Sys.Net.WebRequest">
 
</field>
 <field name="_updateTarget" type="Object" domElement="true">
 
</field>
    this._request = request;
    this._updateTarget = updateTarget;
    this._loadingElement = loadingElement;
    this._insertionMode = insertionMode;
}
Sys.Mvc.AjaxContext.prototype = {
    _insertionMode: 0,
    _loadingElement: null,
    _response: null,
    _request: null,
    _updateTarget: null,
    
    get_data: function Sys_Mvc_AjaxContextget_data() {
 
<value type="String">
</value>
        if (this._response) {
            return this._response.get_responseData();
        }
        else {
            return null;
        }
    },
    
    get_insertionMode: function Sys_Mvc_AjaxContext
get_loadingElement() {
 
<value type="Object" domElement="true">
</value>
        return this._loadingElement;
    },
    
    get_object: function Sys_Mvc_AjaxContext
get_response() {
 
<value type="Sys.Net.WebRequestExecutor">
</value>
        return this._response;
    },
    set_response: function Sys_Mvc_AjaxContext
get_request() {
 
<value type="Sys.Net.WebRequest">
</value>
        return this._request;
    },
    
    get_updateTarget: function Sys_Mvc_AjaxContext
handleClick(anchor, evt, ajaxOptions) {
  
 <param name="anchor" type="Object" domElement="true">
 
</param>
 <param name="evt" type="Sys.UI.DomEvent">
 
</param>
 <param name="ajaxOptions" type="Sys.Mvc.AjaxOptions">
 
</param>
    evt.preventDefault();
    Sys.Mvc.MvcHelpers._asyncRequest(anchor.href, 'post', '', anchor, ajaxOptions);
}
  //////////////////////////////////////////////////////////////////////////
  // Sys.Mvc.MvcHelpers
  
  Sys.Mvc.MvcHelpers = function Sys_Mvc_MvcHelpers() {
  }
  Sys.Mvc.MvcHelpers._serializeSubmitButton = function Sys_Mvc_MvcHelpers <param name="element" type="Object" domElement="true">
 
</param>
 <param name="offsetX" type="Number" integer="true">
 
</param>
 <param name="offsetY" type="Number" integer="true">
 
</param>
 <returns type="String">
</returns>
    if (element.disabled) {
        return null;
    }
    var name = element.name;
    if (name) {
        var tagName = element.tagName.toUpperCase();
        var encodedName = encodeURIComponent(name);
        var inputElement = element;
        if (tagName === 'INPUT') {
            var type = inputElement.type;
            if (type === 'submit') {
                return encodedName + '=' + encodeURIComponent(inputElement.value);
            }
            else if (type === 'image') {
                return encodedName + '.x=' + offsetX + '&' + encodedName + '.y=' + offsetY;
            }
        }
        else if ((tagName === 'BUTTON') && (name.length) && (inputElement.type === 'submit')) {
            return encodedName + '=' + encodeURIComponent(inputElement.value);
        }
    }
    return null;
}
Sys.Mvc.MvcHelpers._serializeForm = function Sys_Mvc_MvcHelpers_serializeForm(form) {
 
<param name="form" type="Object" domElement="true">
 
</param>
 <returns type="String">
</returns>
    var formElements = form.elements;
    var formBody = new Sys.StringBuilder();
    var count = formElements.length;
    for (var i = 0; i < count; i++) {
        var element = formElements[i];
        var name = element.name;
        if (!name || !name.length) {
            continue;
        }
        var tagName = element.tagName.toUpperCase();
        if (tagName === 'INPUT') {
            var inputElement = element;
            var type = inputElement.type;
            if ((type === 'text') || (type === 'password') || (type === 'hidden') || (((type === 'checkbox') || (type === 'radio')) && element.checked)) {
                formBody.append(encodeURIComponent(name));
                formBody.append('=');
                formBody.append(encodeURIComponent(inputElement.value));
                formBody.append('&');
            }
        }
        else if (tagName === 'SELECT') {
            var selectElement = element;
            var optionCount = selectElement.options.length;
            for (var j = 0; j < optionCount; j++) {
                var optionElement = selectElement.options[j];
                if (optionElement.selected) {
                    formBody.append(encodeURIComponent(name));
                    formBody.append('=');
                    formBody.append(encodeURIComponent(optionElement.value));
                    formBody.append('&');
                }
            }
        }
        else if (tagName === 'TEXTAREA') {
            formBody.append(encodeURIComponent(name));
            formBody.append('=');
            formBody.append(encodeURIComponent((element.value)));
            formBody.append('&');
        }
    }
    var additionalInput = form._additionalInput;
    if (additionalInput) {
        formBody.append(additionalInput);
        formBody.append('&');
    }
    return formBody.toString();
}
Sys.Mvc.MvcHelpers._asyncRequest = function Sys_Mvc_MvcHelpers
get(ajaxOptions.updateTargetId);
    }
    var loadingElement = null;
    if (ajaxOptions.loadingElementId) {
        loadingElement = 
_onComplete(request, ajaxOptions, ajaxContext) {
 
<param name="request" type="Sys.Net.WebRequest">
 
</param>
 <param name="ajaxOptions" type="Sys.Mvc.AjaxOptions">
 
</param>
 <param name="ajaxContext" type="Sys.Mvc.AjaxContext">
 
</param>
    ajaxContext.set_response(request.get_executor());
    if (ajaxOptions.onComplete && ajaxOptions.onComplete(ajaxContext) === false) {
        return;
    }
    var statusCode = ajaxContext.get_response().get_statusCode();
    if ((statusCode >= 200 && statusCode < 300) || statusCode === 304 || statusCode === 1223) {
        if (statusCode !== 204 && statusCode !== 304 && statusCode !== 1223) {
            var contentType = ajaxContext.get_response().getResponseHeader('Content-Type');
            if ((contentType) && (contentType.indexOf('application/x-javascript') !== -1)) {
                eval(ajaxContext.get_data());
            }
            else {
                Sys.Mvc.MvcHelpers.updateDomElement(ajaxContext.get_updateTarget(), ajaxContext.get_insertionMode(), ajaxContext.get_data());
            }
        }
        if (ajaxOptions.onSuccess) {
            ajaxOptions.onSuccess(ajaxContext);
        }
    }
    else {
        if (ajaxOptions.onFailure) {
            ajaxOptions.onFailure(ajaxContext);
        }
    }
    if (ajaxContext.get_loadingElement()) {
        Sys.UI.DomElement.setVisible(ajaxContext.get_loadingElement(), false);
    }
}
Sys.Mvc.MvcHelpers.updateDomElement = function Sys_Mvc_MvcHelpers
handleClick(form, evt) {
  
 <param name="form" type="Object" domElement="true">
 
</param>
 <param name="evt" type="Sys.UI.DomEvent">
 
</param>
    var additionalInput = Sys.Mvc.MvcHelpers._serializeSubmitButton(evt.target, evt.offsetX, evt.offsetY);
    form._additionalInput = additionalInput;
}
Sys.Mvc.AsyncForm.handleSubmit = function Sys_Mvc_AsyncForm