From 145f5e6a8b81d55786d631989ec4400ceeaee43a Mon Sep 17 00:00:00 2001 From: Joham Date: Sat, 2 May 2020 20:44:02 +0200 Subject: [PATCH] zoals ik al zei, terug naar af --- .../roles/MVCAzureStore/bin/StorageClient.xml | 4004 +-- .../roles/MVCAzureStore/Content/Site.css | 1510 +- .../Scripts/MicrosoftAjax.debug.js | 13700 +++++----- .../MVCAzureStore/Scripts/MicrosoftAjax.js | 14 +- .../Scripts/MicrosoftMvcAjax.debug.js | 674 +- .../MVCAzureStore/Scripts/MicrosoftMvcAjax.js | 2 +- .../Scripts/jquery-1.3.2-vsdoc.js | 12510 ++++----- .../MVCAzureStore/Scripts/jquery-1.3.2.js | 8820 +++---- .../Scripts/jquery-1.3.2.min-vsdoc.js | 12510 ++++----- .../MVCAzureStore/Scripts/jquery-1.3.2.min.js | 104 +- .../roles/MVCAzureStore/Views/Home/Index.asp | 162 +- .../Views/Shared/LogOnUserControl.ascx | 28 +- .../MVCAzureStore/Views/Shared/template.asp | 132 +- .../roles/MVCAzureStore/Views/Web.config | 68 +- .../roles/MVCAzureStore/Web.config | 410 +- .../MVCAzureStore/bin/Dlrsoft.VBParser.xml | 8012 +++--- .../MVCAzureStore/bin/Microsoft.Dynamic.xml | 11826 ++++----- .../bin/Microsoft.Scripting.Core.xml | 21912 ++++++++-------- .../MVCAzureStore/bin/Microsoft.Scripting.xml | 8348 +++--- .../roles/MVCAzureStore/bin/StorageClient.xml | 4004 +-- ...reStoreService.ccproj.FileListAbsolute.txt | 408 +- .../obj/Debug/MVCAzureStore/Content/Site.css | 1510 +- .../Scripts/MicrosoftAjax.debug.js | 13700 +++++----- .../MVCAzureStore/Scripts/MicrosoftAjax.js | 14 +- .../Scripts/MicrosoftMvcAjax.debug.js | 674 +- .../MVCAzureStore/Scripts/MicrosoftMvcAjax.js | 2 +- .../Scripts/jquery-1.3.2-vsdoc.js | 12510 ++++----- .../MVCAzureStore/Scripts/jquery-1.3.2.js | 8820 +++---- .../Scripts/jquery-1.3.2.min-vsdoc.js | 12510 ++++----- .../MVCAzureStore/Scripts/jquery-1.3.2.min.js | 104 +- .../Debug/MVCAzureStore/Views/Home/Index.asp | 162 +- .../Views/Shared/LogOnUserControl.ascx | 28 +- .../MVCAzureStore/Views/Shared/template.asp | 132 +- .../obj/Debug/MVCAzureStore/Views/Web.config | 68 +- .../obj/Debug/MVCAzureStore/Web.config | 410 +- .../MVCAzureStore/bin/Dlrsoft.VBParser.xml | 8012 +++--- .../MVCAzureStore/bin/Microsoft.Dynamic.xml | 11826 ++++----- .../bin/Microsoft.Scripting.Core.xml | 21912 ++++++++-------- .../MVCAzureStore/bin/Microsoft.Scripting.xml | 8348 +++--- .../Debug/MVCAzureStore/bin/StorageClient.xml | 4004 +-- ...reStoreService.ccproj.FileListAbsolute.txt | 244 +- .../Release/MVCAzureStore/Content/Site.css | 1510 +- .../Scripts/MicrosoftAjax.debug.js | 13700 +++++----- .../MVCAzureStore/Scripts/MicrosoftAjax.js | 14 +- .../Scripts/MicrosoftMvcAjax.debug.js | 674 +- .../MVCAzureStore/Scripts/MicrosoftMvcAjax.js | 2 +- .../Scripts/jquery-1.3.2-vsdoc.js | 12510 ++++----- .../MVCAzureStore/Scripts/jquery-1.3.2.js | 8820 +++---- .../Scripts/jquery-1.3.2.min-vsdoc.js | 12510 ++++----- .../MVCAzureStore/Scripts/jquery-1.3.2.min.js | 104 +- .../MVCAzureStore/Views/Home/Index.asp | 162 +- .../Views/Shared/LogOnUserControl.ascx | 28 +- .../MVCAzureStore/Views/Shared/template.asp | 132 +- .../Release/MVCAzureStore/Views/Web.config | 68 +- .../obj/Release/MVCAzureStore/Web.config | 410 +- .../MVCAzureStore/bin/Dlrsoft.VBParser.xml | 8012 +++--- .../MVCAzureStore/bin/Microsoft.Dynamic.xml | 11826 ++++----- .../bin/Microsoft.Scripting.Core.xml | 21912 ++++++++-------- .../MVCAzureStore/bin/Microsoft.Scripting.xml | 8348 +++--- .../MVCAzureStore/bin/StorageClient.xml | 4004 +-- aspclassiccompiler/AzureStoreAsp/Readme.txt | 4 +- aspclassiccompiler/Credits.txt | 28 +- aspclassiccompiler/License.txt | 140 +- .../NerdDinnerAsp/ConnectionStrings.config | 6 +- .../NerdDinnerAsp/Content/Site.css | 754 +- .../Controllers/AccountController.cs | 594 +- .../Controllers/DinnersController.cs | 378 +- .../Controllers/HomeController.cs | 40 +- .../Controllers/RSVPController.cs | 90 +- .../Controllers/SearchController.cs | 110 +- .../NerdDinnerAsp/Default.aspx.cs | 26 +- .../NerdDinnerAsp/Global.asax.cs | 72 +- .../Helpers/ControllerHelpers.cs | 38 +- .../NerdDinnerAsp/Helpers/PaginatedList.cs | 70 +- .../NerdDinnerAsp/Helpers/PhoneValidator.cs | 64 +- .../NerdDinnerAsp/Models/Dinner.cs | 112 +- .../NerdDinnerAsp/Models/DinnerRepository.cs | 116 +- .../NerdDinnerAsp/Models/IDinnerRepository.cs | 36 +- .../Models/NerdDinner.designer.cs | 1166 +- .../NerdDinnerAsp/Models/RuleViolation.cs | 44 +- .../NerdDinnerAsp/NerdDinnerAsp.csproj | 428 +- .../NerdDinnerAsp/Properties/AssemblyInfo.cs | 70 +- .../NerdDinnerAsp/Scripts/Map.js | 276 +- .../Scripts/MicrosoftAjax.debug.js | 13700 +++++----- .../NerdDinnerAsp/Scripts/MicrosoftAjax.js | 14 +- .../Scripts/MicrosoftMvcAjax.debug.js | 674 +- .../NerdDinnerAsp/Scripts/MicrosoftMvcAjax.js | 2 +- .../Scripts/jquery-1.2.6-vsdoc.js | 10734 ++++---- .../NerdDinnerAsp/Scripts/jquery-1.2.6.js | 7132 ++--- .../Scripts/jquery-1.2.6.min-vsdoc.js | 10734 ++++---- .../NerdDinnerAsp/Scripts/jquery-1.2.6.min.js | 96 +- .../NerdDinnerAsp/Views/Dinners/Create.asp | 50 +- .../NerdDinnerAsp/Views/Dinners/Delete.asp | 78 +- .../NerdDinnerAsp/Views/Dinners/Deleted.asp | 66 +- .../NerdDinnerAsp/Views/Dinners/Details.asp | 114 +- .../NerdDinnerAsp/Views/Dinners/Edit.asp | 54 +- .../NerdDinnerAsp/Views/Dinners/Index.asp | 124 +- .../Views/Dinners/InvalidOwner.asp | 54 +- .../NerdDinnerAsp/Views/Dinners/Map.asp | 54 +- .../NerdDinnerAsp/Views/Dinners/NotFound.asp | 58 +- .../NerdDinnerAsp/Views/Home/About.asp | 70 +- .../NerdDinnerAsp/Views/Home/Index.asp | 120 +- .../Views/Shared/LoginStatus.ascx | 28 +- .../NerdDinnerAsp/Views/Shared/header.asp | 32 +- .../NerdDinnerAsp/Views/Shared/template.asp | 50 +- .../NerdDinnerAsp/Views/Web.config | 68 +- aspclassiccompiler/NerdDinnerAsp/Web.config | 310 +- aspclassiccompiler/Parser/ExternalChecksum.vb | 112 +- .../Parser/ExternalLineMapping.vb | 134 +- aspclassiccompiler/Parser/IntegerBase.vb | 48 +- aspclassiccompiler/Parser/LanguageVersion.vb | 52 +- aspclassiccompiler/Parser/License.txt | 96 +- aspclassiccompiler/Parser/Location.vb | 318 +- .../Parser/My Project/Application.Designer.vb | 26 +- aspclassiccompiler/Parser/Parser.vb | 13722 +++++----- aspclassiccompiler/Parser/Parser.vbproj | 934 +- aspclassiccompiler/Parser/SLVBParser.vbproj | 692 +- aspclassiccompiler/Parser/Scanner.vb | 2722 +- .../Parser/Serializers/ErrorXmlSerializer.vb | 80 +- 119 files changed, 193454 insertions(+), 193454 deletions(-) diff --git a/aspclassiccompiler/AzureStoreAsp/AzureStoreService/bin/Debug/AzureStoreService.csx/roles/MVCAzureStore/bin/StorageClient.xml b/aspclassiccompiler/AzureStoreAsp/AzureStoreService/bin/Debug/AzureStoreService.csx/roles/MVCAzureStore/bin/StorageClient.xml index 8adfba6..05d64df 100644 --- a/aspclassiccompiler/AzureStoreAsp/AzureStoreService/bin/Debug/AzureStoreService.csx/roles/MVCAzureStore/bin/StorageClient.xml +++ b/aspclassiccompiler/AzureStoreAsp/AzureStoreService/bin/Debug/AzureStoreService.csx/roles/MVCAzureStore/bin/StorageClient.xml @@ -1,2002 +1,2002 @@ - - - - StorageClient - - - - - This type represents the different constituent parts that make up a resource Uri in the context of cloud services. - - - - - Construct a ResourceUriComponents object. - - The account name that should become part of the URI. - The container name (container, queue or table name) that should become part of the URI. - Remaining part of the URI. - - - - Construct a ResourceUriComponents object. - - The account name that should become part of the URI. - The container name (container, queue or table name) that should become part of the URI. - - - - Construct a ResourceUriComponents object. - - The account name that should become part of the URI. - - - - Construct a ResourceUriComponents object. - - - - - The account name in the URI. - - - - - This is really the first component (delimited by '/') after the account name. Since it happens to - be a container name in the context of all our storage services (containers in blob storage, - queues in the queue service and table names in table storage), it's named as ContainerName to make it more - readable at the cost of slightly being incorrectly named. - - - - - The remaining string in the URI. - - - - - Create a canonicalized string out of HTTP request header contents for signing - blob/queue requests with the Shared Authentication scheme. - - The uri address of the HTTP request. - Components of the Uri extracted out of the request. - The method of the HTTP request (GET/PUT, etc.). - The content type of the HTTP request. - The date of the HTTP request. - Should contain other headers of the HTTP request. - A canonicalized string of the HTTP request. - - - - Canonicalize HTTP header contents. - - An HttpWebRequest object. - Components of the Uri extracted out of the request. - The canonicalized string of the given HTTP request's header. - - - - Creates a standard datetime string for the shared key lite authentication scheme. - - DateTime value to convert to a string in the expected format. - - - - - An internal class that stores the canonicalized string version of an HTTP request. - - - - - Constructor for the class. - - The first canonicalized element to start the string with. - - - - Append additional canonicalized element to the string. - - An additional canonicalized element to append to the string. - - - - Property for the canonicalized string. - - - - - Use this class to extract various header values from Http requests. - - - - - A helper function for extracting HTTP header values from a NameValueCollection object. - - A NameValueCollection object that should contain HTTP header name-values pairs. - Name of the header that we want to get values of. - A array list of values for the header. The values are in the same order as they are stored in the NameValueCollection object. - - - - Constructs an URI given all its constituents - - - This is the service endpoint in case of path-style URIs and a host suffix in case of host-style URIs - IMPORTANT: This does NOT include the service name or account name - - Uri constituents - Indicates whether to construct a path-style Uri (true) or host-style URI (false) - Full uri - - - - Constructs a path-style resource URI given all its constituents - - - - - Constructs a host-style resource URI given all its constituents - - - - - Given the host suffix part, service name and account name, this method constructs the account Uri - - - - - Objects of this class contain the credentials (name and key) of a storage account. - - - - - Create a SharedKeyCredentials object given an account name and a shared key. - - - - - Signs the request appropriately to make it an authenticated request. - Note that this method takes the URI components as decoding the URI components requires the knowledge - of whether the URI is in path-style or host-style and a host-suffix if it's host-style. - - - - - Signs requests using the SharedKeyLite authentication scheme with is used for the table storage service. - - - - - This is the default content-type xStore uses when no content type is specified - - - - - When transmitting a blob that is larger than this constant, this library automatically - transmits the blob as individual blocks. I.e., the blob is (1) partitioned - into separate parts (these parts are called blocks) and then (2) each of the blocks is - transmitted separately. - The maximum size of this constant as supported by the real blob storage service is currently - 64 MB; the development storage tool currently restricts this value to 2 MB. - Setting this constant can have a significant impact on the performance for uploading or - downloading blobs. - As a general guideline: If you run in a reliable environment increase this constant to reduce - the amount of roundtrips. In an unreliable environment keep this constant low to reduce the - amount of data that needs to be retransmitted in case of connection failures. - - - - - The size of a single block when transmitting a blob that is larger than the - MaximumBlobSizeBeforeTransmittingAsBlocks constant (see above). - The maximum size of this constant is currently 4 MB; the development storage - tool currently restricts this value to 1 MB. - Setting this constant can have a significant impact on the performance for uploading or - downloading blobs. - As a general guideline: If you run in a reliable environment increase this constant to reduce - the amount of roundtrips. In an unreliable environment keep this constant low to reduce the - amount of data that needs to be retransmitted in case of connection failures. - - - - - Contains regular expressions for checking whether container and table names conform - to the rules of the storage REST protocols. - - - - - Container or queue names that match against this regular expression are valid. - - - - - Table names that match against this regular expression are valid. - - - - - Converts the date time to a valid string form as per HTTP standards - - - - - Parse a string having the date time information in acceptable formats according to HTTP standards - - - - - Copies from one stream to another - - The stream to copy from - The stream to copy to - - - - Error codes that can be returned by the storage service or the client library. - These are divided into server errors and client errors depending on which side - the error can be attributed to. - - - - - The base class for storage service exceptions - - - - - Initializes a new instance of the class with - serialized data. - - The object that contains serialized object - data about the exception being thrown - The object that contains contextual information - about the source or destionation. - - - - Sets the object with additional exception information - - The object that holds the - serialized object data. - The object that contains contextual information - about the source or destionation. - - - - The Http status code returned by the storage service - - - - - The specific error code returned by the storage service - - - - - - - - - - Server exceptions are those due to server side problems. - These may be transient and requests resulting in such exceptions - can be retried with the same parameters. - - - - - Initializes a new instance of the class with - serialized data. - - The object that contains serialized object - data about the exception being thrown - The object that contains contextual information - about the source or destionation. - - - - Client side exceptions are due to incorrect parameters to the request. - These requests should not be retried with the same parameters - - - - - Initializes a new instance of the class with - serialized data. - - The object that contains serialized object - data about the exception being thrown - The object that contains contextual information - about the source or destionation. - - - - Error code strings that are common to all storage services - - - - - Error code strings that are specific to blob service - - - - - Error code strings that are specific to queue service - - - - - Error code strings that are specific to queue service - - public static class TableErrorCodeStrings - - - - The entry point of the blob storage API - - - - - Factory method for BlobStorage - - The base URI of the blob storage service - If true, path-style URIs (http://baseuri/accountname/containername/objectname) are used. - If false host-style URIs (http://accountname.baseuri/containername/objectname) are used, - where baseuri is the URI of the service. - If null, the choice is made automatically: path-style URIs if host name part of base URI is an - IP addres, host-style otherwise. - The name of the storage account - Authentication key used for signing requests - A newly created BlobStorage instance - - - - Factory method for BlobStorage - - Account information - A newly created BlobStorage instance - - - - Get a reference to a newly created BlobContainer object. - This method does not make any calls to the storage service. - - The name of the container - A reference to a newly created BlobContainer object - - - - Lists the containers within the account. - - A list of containers - - - - The default timeout - - - - - The default retry policy - - - - - The time out for each request to the storage service. - - - - - The retry policy used for retrying requests - - - - - The base URI of the blob storage service - - - - - The name of the storage account - - - - - Indicates whether to use/generate path-style or host-style URIs - - - - - Get a reference to a BlobContainer object with the given name. - This method does not make any calls to the storage service. - - The name of the container - A reference to a newly created BlobContainer object - - - - Lists the containers within the account. - - A list of containers - - - - The blob container class. - Used to access and enumerate blobs in the container. - Storage key credentials are needed to access private blobs but not for public blobs. - - - - - Use this constructor to access private blobs. - - The base Uri for the storage endpoint - Name of the storage account - Name of the container - - - - Use this constructor to access private blobs. - - The base Uri for the storage endpoint - - If true, path-style URIs (http://baseuri/accountname/containername/objectname) are used and if false - host-style URIs (http://accountname.baseuri/containername/objectname) are used, where baseuri is the - URI of the service - - Name of the storage account - Name of the container - Date of last modification - - - - Create the container if it does not exist. - The container is created with private access control and no metadata. - - true if the container was created. false if the container already exists - - - - Create the container with the specified metadata and access control if it does not exist - - The metadata for the container. Can be null to indicate no metadata - The access control (public or private) with which to create the container - true if the container was created. false if the container already exists - - - - Check if the blob container exists - - true if the container exists, false otherwise. - - - - Get the properties for the container if it exists. - - The properties for the container if it exists, null otherwise - - - - Get the access control permissions associated with the container. - - - - - - Set the access control permissions associated with the container. - - The permission to set - - - - Deletes the current container. - - - - - Check if the blob container exists - - Name of the BLOB. - true if the blob exists, false otherwise. - - - - Create a new blob or overwrite an existing blob. - - The properties of the blob - The contents of the blob - Should this request overwrite an existing blob ? - true if the blob was created. false if the blob already exists and was set to false - The LastModifiedTime property of is set as a result of this call. - This method also has an effect on the ETag values that are managed by the service. - - - - Updates an existing blob if it has not been modified since the specified time which is typically - the last modified time of the blob when you retrieved it. - Use this method to implement optimistic concurrency by avoiding clobbering changes to the blob - made by another writer. - - The properties of the blob. This object should be one previously - obtained from a call to GetBlob or GetBlobProperties and have its LastModifiedTime property set. - The contents of the blob. The contents of the blob should be readable - true if the blob was updated. false if the blob has changed since the last time - The LastModifiedTime property of is set as a result of this call. - This method also has an effect on the ETag values that are managed by the service if the update was - successful. - - - - Get the blob contents and properties if the blob exists - - The name of the blob - Object in which the contents are returned. - This object should contain a writable stream or should be a default constructed object. - Should the blob be gotten in pieces. This requires more round-trips, but will retry smaller pieces in case of failure. - The properties of the blob if the blob exists. - - - - Gets the blob contents and properties if the blob has not been modified since the time specified. - Use this method if you have cached the contents of a blob and want to avoid retrieving the blob - if it has not changed since the last time you retrieved it. - - The properties of the blob obtained from an earlier call to GetBlob. This - parameter is updated by the call if the blob has been modified - Contains the stream to which the contents of the blob are written if it has been - modified - Should the blob be gotten in pieces. This requires more round-trips, but will retry smaller pieces in case of failure. - true if the blob has been modified, false otherwise - - - - Get the properties of the blob if it exists. - This method is also the simplest way to check if a blob exists. - - The name of the blob - The properties of the blob if it exists. null otherwise. - The properties for the contents of the blob are not set - - - - Set the metadata of an existing blob. - - The blob properties object whose metadata is to be updated - - - - Set the metadata of an existing blob if it has not been modified since it was last retrieved. - - The blob properties object whose metadata is to be updated. - Typically obtained by a previous call to GetBlob or GetBlobProperties - true if the blob metadata was updated. false if it was not updated because the blob - has been modified - - - - Delete a blob with the given name - - The name of the blob - true if the blob exists and was successfully deleted, false if the blob does not exist - - - - Delete a blob with the given name if the blob has not been modified since it was last obtained. - Use this method for optimistic concurrency to avoid deleting a blob that has been modified since - the last time you retrieved it - - A blob object (typically previously obtained from a GetBlob call) - This out parameter is set to true if the blob was not deleted because - it was modified - true if the blob exists and was successfully deleted, false if the blob does not exist or was - not deleted because the blob was modified. - - - - Enumerates all blobs with a given prefix. - - - If true common prefixes with "/" as seperator - The list of blob properties and common prefixes - - - - The time out for each request to the storage service. - - - - - The retry policy used for retrying requests - - - - - The base URI of the blob storage service - - - - - The name of the storage account - - - - - The name of the blob container. - - - - - Indicates whether to use/generate path-style or host-style URIs - - - - - The URI of the container - - - - - The timestamp for last modification of container. - - - - - Create the container with the specified access control if it does not exist - - The metadata for the container. Can be null to indicate no metadata - The access control (public or private) with which to create the container - true if the container was created. false if the container already exists - - - - Get the properties for the container if it exists. - - The metadata for the container if it exists, null otherwise - - - - Get the access control permissions associated with the container. - - - - - - Get the access control permissions associated with the container. - - - - - - Create a new blob or overwrite an existing blob. - - - The properties of the blob - The contents of the blob - Should this request overwrite an existing blob ? - true if the blob was created. false if the blob already exists and was set to false - The LastModifiedTime property of is set as a result of this call - - - - Updates an existing blob if it has not been modified since the specified time which is typically - the last modified time of the blob when you retrieved it. - Use this method to implement optimistic concurrency by avoiding clobbering changes to the blob - made by another writer. - - The properties of the blob. This object should be one previously - obtained from a call to GetBlob or GetBlobProperties and have its LastModifiedTime property set. - The contents of the blob. The contents of the blob should be readable - true if the blob was updated. false if the blob has changed since the last time - The LastModifiedTime property of is set as a result of this call - - - - Get the blob contents and properties if the blob exisits - - The name of the blob - Object in which the contents are returned. - This object should contain a writable stream or should be a default constructed object. - Should the blob be gotten in pieces. This requires more round-trips, but will retry smaller piecs in case of failure. - The properties of the blob if the blob exists. - - - - Gets the blob contents and properties if the blob has not been modified since the time specified. - Use this method if you have cached the contents of a blob and want to avoid retrieving the blob - if it has not changed since the last time you retrieved it. - - The properties of the blob obtained from an earlier call to GetBlob. This - parameter is updated by the call if the blob has been modified - Contains the stream to which the contents of the blob are written if it has been - modified - Should the blob be gotten in pieces. This requires more round-trips, but will retry smaller piecs in case of failure. - true if the blob has been modified, false otherwise - - - - Get the properties of the blob if it exists. - This method is also the simplest way to check if a blob exists. - - The name of the blob - The properties of the blob if it exists. null otherwise. - The properties for the contents of the blob are not set - - - - Set the metadata of an existing blob. - - The blob properties object whose metadata is to be updated - - - - Set the metadata of an existing blob if it has not been modified since it was last retrieved. - - The blob properties object whose metadata is to be updated. - Typically obtained by a previous call to GetBlob or GetBlobProperties - - - - Delete a blob with the given name - - The name of the blob - true if the blob exists and was successfully deleted, false if the blob does not exist - - - - Delete a blob with the given name if the blob has not been modified since it was last obtained. - Use this method for optimistic concurrency to avoid deleting a blob that has been modified since - the last time you retrieved it - - A blob object (typically previously obtained from a GetBlob call) - This out parameter is set to true if the blob was not deleted because - it was modified - true if the blob exists and was successfully deleted, false if the blob does not exist or was - not deleted because the blob was modified. - - - - Enumerates all blobs with a given prefix. - - - If true common prefixes with "/" as seperator - The list of blob properties and common prefixes - - - - Uploads a blob in chunks. - - - - - - - - - - Helper method used for getting blobs, ranges of blobs and blob properties. - - Name of the blob - The output stream to write blob data to. Can be null if only retrieving blob properties - The If-None-Match header. Used to avoid downloading blob data if the blob has not changed - The If-Match header. Used to ensure that all chunks of the blob are of the same blob - The offset of the blob data to begin downloading from. Set to 0 to download all data. - The length of the blob data to download. Set to 0 to download all data - Query paramters to add to the request. - Whether the blob had been modfied with respect to the - - - - - Helper class for loading values from an XML segment - - - - - The entry point of the queue storage API - - - - - Factory method for QueueStorage - - The base URI of the queue service - If true, path-style URIs (http://baseuri/accountname/containername/objectname) are used. - If false host-style URIs (http://accountname.baseuri/containername/objectname) are used, - where baseuri is the URI of the service. - If null, the choice is made automatically: path-style URIs if host name part of base URI is an - IP addres, host-style otherwise. - The name of the storage account - Authentication key used for signing requests - A newly created QueueStorage instance - - - - Get a reference to a Queue object with a specified name. This method does not make a call to - the queue service. - - The name of the queue - A newly created queue object - - - - Lists the queues within the account. - - A list of queues - - - - Lists the queues within the account that start with the given prefix. - - If prefix is null returns all queues. - A list of queues. - - - - The default timeout - - - - - The default retry policy - - - - - The time out for each request to the storage service. - - - - - The retry policy used for retrying requests - - - - - The base URI of the blob storage service - - - - - The name of the storage account - - - - - Indicates whether to use/generate path-style or host-style URIs - - - - - Objects of this class represent a single message in the queue. - - - - - The maximum message size in bytes. - - - - - The maximum amount of time a message is kept in the queue. Max value is 7 days. - Value is given in seconds. - - - - - This constructor is not publicly exposed. - - - - - Creates a message and initializes the content of the message to be the specified string. - - A string representing the contents of the message. - - - - Creates a message and given the specified byte contents. - In this implementation, regardless of whether an XML or binary data is passed into this - function, message contents are converted to base64 before passing the data to the queue service. - When calculating the size of the message, the size of the base64 encoding is thus the important - parameter. - - - - - - Returns the the contents of the message as a string. - - - - - Returns the content of the message as a byte array - - - - - When calling the Get() operation on a queue, the content of messages - returned in the REST protocol are represented as Base64-encoded strings. - This internal function transforms the Base64 representation into a byte array. - - The Base64-encoded string. - - - - Internal method used for creating the XML that becomes part of a REST request - - - - - A unique ID of the message as returned from queue operations. - - - - - When a message is retrieved from a queue, a PopReceipt is returned. The PopReceipt is used when - deleting a message from the queue. - - - - - The point in time when the message was put into the queue. - - - - - A message's expiration time. - - - - - The point in time when a message becomes visible again after a Get() operation was called - that returned the message. - - - - - Queues in the storage client library expose a functionality for listening for incoming messages. - If a message is put into a queue, a corresponding event is issued and this delegate is called. This functionality - is implemented internally in this library by periodically polling for incoming messages. - - The queue that has received a new event. - The event argument containing the message. - - - - The argument class for the MessageReceived event. - - - - - The message itself. - - - - - Constructor for creating a message received argument. - - - - - - The message received by the queue. - - - - - The approximated amount of messages in the queue. - - - - - Metadata for the queue in the form of name-value pairs. - - - - - Objects of this class represent a queue in a user's storage account. - - - - - The name of the queue. - - - - - The user account this queue lives in. - - - - - This constructor is only called by subclasses. - - - - - Creates a queue in the specified storage account. - - true if a queue with the same name already exists. - true if the queue was successfully created. - - - - Creates a queue in the specified storage account. - - true if the queue was successfully created. - - - - Determines whether a queue with the same name already exists in an account. - - true if a queue with the same name already exists. - - - - Deletes the queue. The queue will be deleted regardless of whether there are messages in the - queue or not. - - true if the queue was successfully deleted. - - - - Sets the properties of a queue. - - The queue's properties to set. - true if the properties were successfully written to the queue. - - - - Retrieves the queue's properties. - - The queue's properties. - - - - Retrieves the approximate number of messages in a queue. - - The approximate number of messages in this queue. - - - - Puts a message in the queue. - - The message to store in the queue. - true if the message has been successfully enqueued. - - - - Puts a message in the queue. - - The message to store in the queue. - The time to live for the message in seconds. - true if the message has been successfully enqueued. - - - - Retrieves a message from the queue. - - The message retrieved or null if the queue is empty. - - - - Retrieves a message and sets its visibility timeout to the specified number of seconds. - - Visibility timeout of the message retrieved in seconds. - - - - - Tries to retrieve the given number of messages. - - Maximum number of messages to retrieve. - The list of messages retrieved. - - - - Tries to retrieve the given number of messages. - - Maximum number of messages to retrieve. - The visibility timeout of the retrieved messages in seconds. - The list of messages retrieved. - - - - Get a message from the queue but do not actually dequeue it. The message will remain visible - for other parties requesting messages. - - The message retrieved or null if there are no messages in the queue. - - - - Tries to get a copy of messages in the queue without actually dequeuing the messages. - The messages will remain visible in the queue. - - Maximum number of message to retrieve. - The list of messages retrieved. - - - - Deletes a message from the queue. - - The message to retrieve with a valid popreceipt. - true if the operation was successful. - - - - Delete all messages in a queue. - - true if all messages were deleted successfully. - - - - The default time interval between polling the queue for messages. - Polling is only enabled if the user has called StartReceiving(). - - - - - Starts the automatic reception of messages. - - true if the operation was successful. - - - - Stop the automatic reception of messages. - - - - - The name of the queue exposed as a public property. - - - - - The account info object this queue lives in -- exposed as an internal property. - - - - - Indicates whether to use/generate path-style or host-style URIs - - - - - The URI of the queue - - - - - The retry policy used for retrying requests; this is the retry policy of the - storage account where this queue was created - - - - - The timeout of requests. - - - - - The poll interval in milliseconds. If not explicitly set, this defaults to - the DefaultPollInterval. - - - - - The event users subscribe to in order to automatically receive messages - from a queue. - - - - - This delegate define the shape of a retry policy. A retry policy will invoke the given - as many times as it wants to in the face of - retriable StorageServerExceptions. - - The action to retry - - - - - Provides definitions for some standard retry policies. - - - - - Policy that does no retries i.e., it just invokes exactly once - - The action to retry - The return value of - - - - Policy that retries a specified number of times with a specified fixed time interval between retries - - The number of times to retry. Should be a non-negative number - The time interval between retries. Use TimeSpan.Zero to specify immediate - retries - - When is 0 and is - TimeSpan.Zero this policy is equivalent to the NoRetry policy - - - - Policy that retries a specified number of times with a randomized exponential backoff scheme - - The number of times to retry. Should be a non-negative number. - The multiplier in the exponential backoff scheme - - For this retry policy, the minimum amount of milliseconds between retries is given by the - StandardMinBackoff constant, and the maximum backoff is predefined by the StandardMaxBackoff constant. - Otherwise, the backoff is calculated as random(2^currentRetry) * deltaBackoff. - - - - Policy that retries a specified number of times with a randomized exponential backoff scheme - - The number of times to retry. Should be a non-negative number - The multiplier in the exponential backoff scheme - The minimum backoff interval - The maximum backoff interval - - For this retry policy, the minimum amount of milliseconds between retries is given by the - minBackoff parameter, and the maximum backoff is predefined by the maxBackoff parameter. - Otherwise, the backoff is calculated as random(2^currentRetry) * deltaBackoff. - - - - Access control for containers - - - - - The properties of a blob. - No member of this class makes a storage service request. - - - - - Construct a new BlobProperties object - - The name of the blob - - - - Name of the blob - - - - - URI of the blob - - - - - Content encoding of the blob if it set, null otherwise. - - - - - Content Type of the blob if it is set, null otherwise. - - - - - Content Language of the blob if it is set, null otherwise. - - - - - The length of the blob content, null otherwise. - - - - - Metadata for the blob in the form of name-value pairs. - - - - - The last modified time for the blob. - - - - - The ETag of the blob. This is an identifier assigned to the blob by the storage service - and is used to distinguish contents of two blobs (or versions of the same blob). - - - - - The properties of a container. - No member of this class makes a storage service request. - - - - - The contents of the Blob in various forms. - - - - - Construct a new BlobContents object from a stream. - - The stream to/from which blob contents are written/read. The - stream should be seekable in order for requests to be retried. - - - - Construct a new BlobContents object from a byte array. - - The byte array to/from which contents are written/read. - - - - Get the contents of a blob as a byte array. - - - - - Get the contents of a blob as a stream. - - - - - Class representing some important table storage constants. - - - - - Internal constant for querying tables. - - - - - Internal constant for querying tables. - - - - - The maximum size of strings per property/column is 64 kB (that is 32k characters.) - Note: This constant is smaller for the development storage table service. - - - - - One character in the standard UTF-16 character presentation is 2 bytes. - Note: This constant is smaller for the development storage table service. - - - - - We want to prevent users from the pitfall of mixing up Utc and local time. - Because of this we add some time to the minimum supported datetime. - As a result, there will be no error condition from the server even - if a user converts the minimum supported date time to a local time and - stores this in a DateTime field. - The local development storage support the SQL range of dates which is narrower than the - one for the table storage service and so we use that value here. - - - - - API entry point for using structured storage. The underlying usage pattern is designed to be - similar to the one used in blob and queue services in this library. - Users create a TableStorage object by calling the static Create() method passing account credential - information to this method. The TableStorage object can then be used to create, delete and list tables. - There are two methods to get DataServiceContext objects that conform to the appropriate security scheme. - The first way is to call the GetDataServiceContext() method on TableStorage objects. The naming is again - chosen to conform to the convention in the other APIs for blob and queue services in this library. - This class can also be used as an adapter pattern. I.e., DataServiceContext objects can be created - independnt from a TableStorage object. Calling the Attach() method will make sure that the appropriate - security signing is used on these objects. This design was chosen to support various usage patterns that - might become necessary for autogenerated code. - - - - - The default retry policy - - - - - Creates a TableStorage service object. This object is the entry point into the table storage API. - - The base URI of the table storage service. - Type of URI scheme used. - The account name. - Base64 encoded version of the key. - - - - - Creates a TableStorage object. - - - - - Infers a list of tables from a DataServiceContext-derived type and makes sure - those tables exist in the given service. The table endpoint information is retrieved from the - standard configuration settings. - - - Tables are inferred by finding all the public properties of type IQueryable<T> in - the provided type, where T is a type with an ID (in the case of table storage, this means it either - has a [DataServiceKey("PartitionKey", "RowKey")] attribute in the class, or derives from - the TableStorageEntity class included in this sample library (which in turn has that attribute). - - - - - Infers a list of tables from a DataServiceContext-derived type and makes sure - those tables exist in the given service. - - The DataServiceContext type from which the tables are inferred. - A configuration string that is used to determine the table storage endpoint. - - - - Infers a list of tables from a DataServiceContext-derived type and makes sure - those tables exist in the given service. - - The type of the DataServiceContext. - An object containing information about the table storage endpoint to be used. - - - - Creates a DataServiceContext object that takes care of implementing the table storage signing process. - - - - - If the adaptor pattern with Attach() shall be used, this function can be used to generate the - table service base Uri depending on the path style syntax. - - - - - If the adaptor pattern with Attach() shall be used, this function can be used to generate the - table service base Uri depending on the path style syntax. - - - - - If DataServiceContext objects are created at different places, this method can be called to configure the - DataServiceContext object to implement the required security scheme. - - - - - Lists all the tables under this service's URL - - - - - Creates a new table in the service - - The name of the table to be created - - - - Tries to create a table with the given name. - The main difference to the CreateTable method is that this function first queries the - table storage service whether the table already exists, before it tries to actually create - the table. The reason is that this - is more lightweight for the table storage service than always trying to create a table that - does already exist. Furthermore, as we expect that applications don't really randomly create - tables, the additional roundtrip that is required for creating the table is necessary only very - rarely. - - The name of the table. - True if the operation was completed successfully. False if the table already exists. - - - - Checks whether a table with the same name already exists. - - The name of the table to check. - True iff the table already exists. - - - - Deletes a table from the service. - - The name of the table to be deleted - - - - Tries to delete the table with the given name. - - The name of the table to delete. - True if the table was successfully deleted. False if the table does not exists. - - - - The retry policy used for retrying requests - - - - - The base URI of the table storage service - - - - - The name of the storage account - - - - - Indicates whether to use/generate path-style or host-style URIs - - - - - The base64 encoded version of the key. - - - - - Checks whether the exception is or contains a DataServiceClientException and extracts the - returned http status code and extended error information. - - The exception from which to extract information - The Http status code for the exception - Extended error information including storage service specific - error code and error message - True if the exception is or contains a DataServiceClientException. - - - - Checks whether the exception is or contains a DataServiceClientException and extracts the - returned http status code. - - The exception from which to extract information - The Http status code for the exception - True if the exception is or contains a DataServiceClientException. - - - - Checks whether the exception is either a DataServiceClientException, a DataServiceQueryException or a - DataServiceRequestException. - - - - - Only certain classes of errors should be retried. This method evaluates an exception - and returns whether this class of exception can be retried. - - The exception to analyze. - The HttpStatusCode retrieved from the exception. - - - - Overload that does not retrun the HttpStatusCode. - - - - - Checks whether the string can be inserted in a table storage table. Throws an exception if - this is not the case. - - - - - - Checks whether the string can be inserted into a table storage table. - - - - - Creates a table with the specified name. - - The name of the table. - - - - The table name. - - - - - This class represents an entity (row) in a table in table storage. - - - - - Creates a TableStorageEntity object. - - - - - Creates a TableStorageEntity object. - - - - - Compares to entities. - - - - - Computes a HashCode for this object. - - - - - The partition key of a table entity. The concatenation of the partition key - and row key must be unique per table. - - - - - The row key of a table entity. - - - - - This class can be used for handling continuation tokens in TableStorage. - - - - - - Objects of this class can be created using this constructor directly or by - calling a factory method on the TableStorageDataServiceContext class - - - - - Objects of this class can be created using this constructor directly or by - calling a factory method on the TableStorageDataServiceContext class - - - - - Normal Execute() on the query without retry. Just maps to _query.Execute(). - - - - - - Calling Execute() on the query with the current retry policy. - - An IEnumerable respresenting the results of the query. - - - - Calling Execute() on the query with the current retry policy. - - The retry policy to be used for this request. - An IEnumerable respresenting the results of the query. - - - - Returns all results of the query and hides the complexity of continuation if - this is desired by a user. Users should be aware that this operation can return - many objects. Uses no retries. - Important: this function does not call Execute immediately. Instead, it calls Execute() on - the query only when the result is enumerated. This is a difference to the normal - Execute() and Execute() with retry method. - - An IEnumerable representing the results of the query. - - - - Returns all results of the query and hides the complexity of continuation if - this is desired by a user. Users should be aware that this operation can return - many objects. This operation also uses the current retry policy. - Important: this function does not call Execute immediately. Instead, it calls Execute() on - the query only when the result is enumerated. This is a difference to the normal - Execute() and Execute() with retry method. - - An IEnumerable representing the results of the query. - - - - Returns all results of the query and hides the complexity of continuation if - this is desired by a user. Users should be aware that this operation can return - many objects. - Important: this function does not call Execute immediately. Instead, it calls Execute() on - the query only when the result is enumerated. This is a difference to the normal - Execute() and Execute() with retry method. - - Determines whether to use retries or not. - An IEnumerable representing the results of the query. - - - - Gets the underlying normal query object. - - - - - The retry policy used for retrying requests - - - - - The table storage-specific DataServiceContext class. It adds functionality for handling - the authentication process required by the table storage service. - - - - - Creates a DataServiceContext object and configures it so that it can be used with the table storage service. - - The root URI of the service. - The account name. - The shared key associated with this service. - - - - Creates a DataServiceContext object and configures it so that it can be used with the table storage service. - - A StorageAccountInfo object containing information about how to access the table storage service. - - - - Creates a DataServiceContext object and configures it so that it can be used with the table storage service. - Information on the table storage endpoint is retrieved by accessing configuration settings in the app config section - of a Web.config or app config file, or by accessing settings in cscfg files. - - - - - Calls the SaveChanges() method and applies retry semantics. - - - - - Calls the SaveChanges() method and applies retry semantics. - - - - - Callback method called whenever a request is sent to the table service. This - is where the signing of the request takes place. - - - - - The retry policy used for retrying requests - - - - - Helper class to avoid long-lived references to context objects - - - Need to be careful not to maintain a reference to the context - object from the auth adapter, since the adapter is probably - long-lived and the context is not. This intermediate helper - class is the one subscribing to context events, so when the - context can be collected then this will be collectable as well. - - - - - The retry policies for blobs and queues deal with special StorageClient and StorageServer exceptions. - In case of tables, we don't want to return these exceptions but instead the normal data service - exception. This class serves as a simple wrapper for these exceptions, and indicates that we - need retries. - Data service exceptions are stored as inner exceptions. - - - - - Creates a TableRetryWrapperException object. - - - - - Creates a TableRetryWrapperException object. - - - - - Creates a TableRetryWrapperException object. - - - - - Creates a TableRetryWrapperException object. - - - - - Creates a TableRetryWrapperException object. - - - - - Objects of this class encapsulate information about a storage account and endpoint configuration. - Associated with a storage account is the account name, the base URI of the account and a shared key. - - - - - The default configuration string in configuration files for setting the queue storage endpoint. - - - - - The default configuration string in configuration files for setting the blob storage endpoint. - - - - - The default configuration string in configuration files for setting the table storage endpoint. - - - - - The default configuration string in configuration files for setting the storage account name. - - - - - The default configuration string in configuration files for setting the shared key associated with a storage account. - - - - - The default configuration string in configuration files for setting the UsePathStyleUris option. - - - - - The default prefix string in application config and Web.config files to indicate that this setting should be looked up - in the fabric's configuration system. - - - - - Constructor for creating account info objects. - - The account's base URI. - If true, path-style URIs (http://baseuri/accountname/containername/objectname) are used. - If false host-style URIs (http://accountname.baseuri/containername/objectname) are used, - where baseuri is the URI of the service.. - If null, the choice is made automatically: path-style URIs if host name part of base URI is an - IP addres, host-style otherwise. - The account name. - The account's shared key. - - - - Constructor for creating account info objects. - - The account's base URI. - If true, path-style URIs (http://baseuri/accountname/containername/objectname) are used. - If false host-style URIs (http://accountname.baseuri/containername/objectname) are used, - where baseuri is the URI of the service. - If null, the choice is made automatically: path-style URIs if host name part of base URI is an - IP addres, host-style otherwise. - The account name. - The account's shared key. - true if it shall be allowed to only set parts of the StorageAccountInfo properties. - - - - Retrieves account settings for the queue service from the default settings. - - - - - Retrieves account settings for the queue service from the default settings. - Throws an exception in case of incomplete settings. - - - - - Retrieves account settings for the table service from the default settings. - - - - - Retrieves account settings for the table service from the default settings. - Throws an exception in case of incomplete settings. - - - - - Retrieves account settings for the blob service from the default settings. - - - - - Retrieves account settings for the blob service from the default settings. - Throws an exception in case of incomplete settings. - - - - - Gets settings from default configuration names except for the endpoint configuration string. - - - - - Gets settings from default configuration names except for the endpoint configuration string. Throws an exception - in the case of incomplete settings. - - - - - Gets a configuration setting from application settings in the Web.config or App.config file. - When running in a hosted environment, configuration settings are read from .cscfg - files. - - - - - Retrieves account information settings from configuration settings. First, the implementation checks for - settings in an application config section of an app.config or Web.config file. These values are overwritten - if the same settings appear in a .csdef file. - The implementation also supports indirect settings. In this case, indirect settings overwrite all other settings. - - Configuration string for the account name. - Configuration string for the key. - Configuration string for the endpoint. - Configuration string for the path style. - If false, an exception is thrown if not all settings are available. - StorageAccountInfo object containing the retrieved settings. - - - - Checks whether all essential properties of this object are set. Only then, the account info object - should be used in ohter APIs of this library. - - - - - - Checks whether this StorageAccountInfo object is complete in the sense that all properties are set. - - - - - The base URI of the account. - - - - - The account name. - - - - - The account's key. - - - - - If set, returns the UsePathStyleUris properties. If the property has not been explicitly set, - the implementation tries to derive the correct value from the base URI. - - - - - Get a reference to a Queue object with a specified name. This method does not make a call to - the queue service. - - The name of the queue - A newly created queue object - - - - Lists all queues with a given prefix within an account. - - - The list of queue names. - - - - Lists the queues within the account. - - A list of queues - - - + + + + StorageClient + + + + + This type represents the different constituent parts that make up a resource Uri in the context of cloud services. + + + + + Construct a ResourceUriComponents object. + + The account name that should become part of the URI. + The container name (container, queue or table name) that should become part of the URI. + Remaining part of the URI. + + + + Construct a ResourceUriComponents object. + + The account name that should become part of the URI. + The container name (container, queue or table name) that should become part of the URI. + + + + Construct a ResourceUriComponents object. + + The account name that should become part of the URI. + + + + Construct a ResourceUriComponents object. + + + + + The account name in the URI. + + + + + This is really the first component (delimited by '/') after the account name. Since it happens to + be a container name in the context of all our storage services (containers in blob storage, + queues in the queue service and table names in table storage), it's named as ContainerName to make it more + readable at the cost of slightly being incorrectly named. + + + + + The remaining string in the URI. + + + + + Create a canonicalized string out of HTTP request header contents for signing + blob/queue requests with the Shared Authentication scheme. + + The uri address of the HTTP request. + Components of the Uri extracted out of the request. + The method of the HTTP request (GET/PUT, etc.). + The content type of the HTTP request. + The date of the HTTP request. + Should contain other headers of the HTTP request. + A canonicalized string of the HTTP request. + + + + Canonicalize HTTP header contents. + + An HttpWebRequest object. + Components of the Uri extracted out of the request. + The canonicalized string of the given HTTP request's header. + + + + Creates a standard datetime string for the shared key lite authentication scheme. + + DateTime value to convert to a string in the expected format. + + + + + An internal class that stores the canonicalized string version of an HTTP request. + + + + + Constructor for the class. + + The first canonicalized element to start the string with. + + + + Append additional canonicalized element to the string. + + An additional canonicalized element to append to the string. + + + + Property for the canonicalized string. + + + + + Use this class to extract various header values from Http requests. + + + + + A helper function for extracting HTTP header values from a NameValueCollection object. + + A NameValueCollection object that should contain HTTP header name-values pairs. + Name of the header that we want to get values of. + A array list of values for the header. The values are in the same order as they are stored in the NameValueCollection object. + + + + Constructs an URI given all its constituents + + + This is the service endpoint in case of path-style URIs and a host suffix in case of host-style URIs + IMPORTANT: This does NOT include the service name or account name + + Uri constituents + Indicates whether to construct a path-style Uri (true) or host-style URI (false) + Full uri + + + + Constructs a path-style resource URI given all its constituents + + + + + Constructs a host-style resource URI given all its constituents + + + + + Given the host suffix part, service name and account name, this method constructs the account Uri + + + + + Objects of this class contain the credentials (name and key) of a storage account. + + + + + Create a SharedKeyCredentials object given an account name and a shared key. + + + + + Signs the request appropriately to make it an authenticated request. + Note that this method takes the URI components as decoding the URI components requires the knowledge + of whether the URI is in path-style or host-style and a host-suffix if it's host-style. + + + + + Signs requests using the SharedKeyLite authentication scheme with is used for the table storage service. + + + + + This is the default content-type xStore uses when no content type is specified + + + + + When transmitting a blob that is larger than this constant, this library automatically + transmits the blob as individual blocks. I.e., the blob is (1) partitioned + into separate parts (these parts are called blocks) and then (2) each of the blocks is + transmitted separately. + The maximum size of this constant as supported by the real blob storage service is currently + 64 MB; the development storage tool currently restricts this value to 2 MB. + Setting this constant can have a significant impact on the performance for uploading or + downloading blobs. + As a general guideline: If you run in a reliable environment increase this constant to reduce + the amount of roundtrips. In an unreliable environment keep this constant low to reduce the + amount of data that needs to be retransmitted in case of connection failures. + + + + + The size of a single block when transmitting a blob that is larger than the + MaximumBlobSizeBeforeTransmittingAsBlocks constant (see above). + The maximum size of this constant is currently 4 MB; the development storage + tool currently restricts this value to 1 MB. + Setting this constant can have a significant impact on the performance for uploading or + downloading blobs. + As a general guideline: If you run in a reliable environment increase this constant to reduce + the amount of roundtrips. In an unreliable environment keep this constant low to reduce the + amount of data that needs to be retransmitted in case of connection failures. + + + + + Contains regular expressions for checking whether container and table names conform + to the rules of the storage REST protocols. + + + + + Container or queue names that match against this regular expression are valid. + + + + + Table names that match against this regular expression are valid. + + + + + Converts the date time to a valid string form as per HTTP standards + + + + + Parse a string having the date time information in acceptable formats according to HTTP standards + + + + + Copies from one stream to another + + The stream to copy from + The stream to copy to + + + + Error codes that can be returned by the storage service or the client library. + These are divided into server errors and client errors depending on which side + the error can be attributed to. + + + + + The base class for storage service exceptions + + + + + Initializes a new instance of the class with + serialized data. + + The object that contains serialized object + data about the exception being thrown + The object that contains contextual information + about the source or destionation. + + + + Sets the object with additional exception information + + The object that holds the + serialized object data. + The object that contains contextual information + about the source or destionation. + + + + The Http status code returned by the storage service + + + + + The specific error code returned by the storage service + + + + + + + + + + Server exceptions are those due to server side problems. + These may be transient and requests resulting in such exceptions + can be retried with the same parameters. + + + + + Initializes a new instance of the class with + serialized data. + + The object that contains serialized object + data about the exception being thrown + The object that contains contextual information + about the source or destionation. + + + + Client side exceptions are due to incorrect parameters to the request. + These requests should not be retried with the same parameters + + + + + Initializes a new instance of the class with + serialized data. + + The object that contains serialized object + data about the exception being thrown + The object that contains contextual information + about the source or destionation. + + + + Error code strings that are common to all storage services + + + + + Error code strings that are specific to blob service + + + + + Error code strings that are specific to queue service + + + + + Error code strings that are specific to queue service + + public static class TableErrorCodeStrings + + + + The entry point of the blob storage API + + + + + Factory method for BlobStorage + + The base URI of the blob storage service + If true, path-style URIs (http://baseuri/accountname/containername/objectname) are used. + If false host-style URIs (http://accountname.baseuri/containername/objectname) are used, + where baseuri is the URI of the service. + If null, the choice is made automatically: path-style URIs if host name part of base URI is an + IP addres, host-style otherwise. + The name of the storage account + Authentication key used for signing requests + A newly created BlobStorage instance + + + + Factory method for BlobStorage + + Account information + A newly created BlobStorage instance + + + + Get a reference to a newly created BlobContainer object. + This method does not make any calls to the storage service. + + The name of the container + A reference to a newly created BlobContainer object + + + + Lists the containers within the account. + + A list of containers + + + + The default timeout + + + + + The default retry policy + + + + + The time out for each request to the storage service. + + + + + The retry policy used for retrying requests + + + + + The base URI of the blob storage service + + + + + The name of the storage account + + + + + Indicates whether to use/generate path-style or host-style URIs + + + + + Get a reference to a BlobContainer object with the given name. + This method does not make any calls to the storage service. + + The name of the container + A reference to a newly created BlobContainer object + + + + Lists the containers within the account. + + A list of containers + + + + The blob container class. + Used to access and enumerate blobs in the container. + Storage key credentials are needed to access private blobs but not for public blobs. + + + + + Use this constructor to access private blobs. + + The base Uri for the storage endpoint + Name of the storage account + Name of the container + + + + Use this constructor to access private blobs. + + The base Uri for the storage endpoint + + If true, path-style URIs (http://baseuri/accountname/containername/objectname) are used and if false + host-style URIs (http://accountname.baseuri/containername/objectname) are used, where baseuri is the + URI of the service + + Name of the storage account + Name of the container + Date of last modification + + + + Create the container if it does not exist. + The container is created with private access control and no metadata. + + true if the container was created. false if the container already exists + + + + Create the container with the specified metadata and access control if it does not exist + + The metadata for the container. Can be null to indicate no metadata + The access control (public or private) with which to create the container + true if the container was created. false if the container already exists + + + + Check if the blob container exists + + true if the container exists, false otherwise. + + + + Get the properties for the container if it exists. + + The properties for the container if it exists, null otherwise + + + + Get the access control permissions associated with the container. + + + + + + Set the access control permissions associated with the container. + + The permission to set + + + + Deletes the current container. + + + + + Check if the blob container exists + + Name of the BLOB. + true if the blob exists, false otherwise. + + + + Create a new blob or overwrite an existing blob. + + The properties of the blob + The contents of the blob + Should this request overwrite an existing blob ? + true if the blob was created. false if the blob already exists and was set to false + The LastModifiedTime property of is set as a result of this call. + This method also has an effect on the ETag values that are managed by the service. + + + + Updates an existing blob if it has not been modified since the specified time which is typically + the last modified time of the blob when you retrieved it. + Use this method to implement optimistic concurrency by avoiding clobbering changes to the blob + made by another writer. + + The properties of the blob. This object should be one previously + obtained from a call to GetBlob or GetBlobProperties and have its LastModifiedTime property set. + The contents of the blob. The contents of the blob should be readable + true if the blob was updated. false if the blob has changed since the last time + The LastModifiedTime property of is set as a result of this call. + This method also has an effect on the ETag values that are managed by the service if the update was + successful. + + + + Get the blob contents and properties if the blob exists + + The name of the blob + Object in which the contents are returned. + This object should contain a writable stream or should be a default constructed object. + Should the blob be gotten in pieces. This requires more round-trips, but will retry smaller pieces in case of failure. + The properties of the blob if the blob exists. + + + + Gets the blob contents and properties if the blob has not been modified since the time specified. + Use this method if you have cached the contents of a blob and want to avoid retrieving the blob + if it has not changed since the last time you retrieved it. + + The properties of the blob obtained from an earlier call to GetBlob. This + parameter is updated by the call if the blob has been modified + Contains the stream to which the contents of the blob are written if it has been + modified + Should the blob be gotten in pieces. This requires more round-trips, but will retry smaller pieces in case of failure. + true if the blob has been modified, false otherwise + + + + Get the properties of the blob if it exists. + This method is also the simplest way to check if a blob exists. + + The name of the blob + The properties of the blob if it exists. null otherwise. + The properties for the contents of the blob are not set + + + + Set the metadata of an existing blob. + + The blob properties object whose metadata is to be updated + + + + Set the metadata of an existing blob if it has not been modified since it was last retrieved. + + The blob properties object whose metadata is to be updated. + Typically obtained by a previous call to GetBlob or GetBlobProperties + true if the blob metadata was updated. false if it was not updated because the blob + has been modified + + + + Delete a blob with the given name + + The name of the blob + true if the blob exists and was successfully deleted, false if the blob does not exist + + + + Delete a blob with the given name if the blob has not been modified since it was last obtained. + Use this method for optimistic concurrency to avoid deleting a blob that has been modified since + the last time you retrieved it + + A blob object (typically previously obtained from a GetBlob call) + This out parameter is set to true if the blob was not deleted because + it was modified + true if the blob exists and was successfully deleted, false if the blob does not exist or was + not deleted because the blob was modified. + + + + Enumerates all blobs with a given prefix. + + + If true common prefixes with "/" as seperator + The list of blob properties and common prefixes + + + + The time out for each request to the storage service. + + + + + The retry policy used for retrying requests + + + + + The base URI of the blob storage service + + + + + The name of the storage account + + + + + The name of the blob container. + + + + + Indicates whether to use/generate path-style or host-style URIs + + + + + The URI of the container + + + + + The timestamp for last modification of container. + + + + + Create the container with the specified access control if it does not exist + + The metadata for the container. Can be null to indicate no metadata + The access control (public or private) with which to create the container + true if the container was created. false if the container already exists + + + + Get the properties for the container if it exists. + + The metadata for the container if it exists, null otherwise + + + + Get the access control permissions associated with the container. + + + + + + Get the access control permissions associated with the container. + + + + + + Create a new blob or overwrite an existing blob. + + + The properties of the blob + The contents of the blob + Should this request overwrite an existing blob ? + true if the blob was created. false if the blob already exists and was set to false + The LastModifiedTime property of is set as a result of this call + + + + Updates an existing blob if it has not been modified since the specified time which is typically + the last modified time of the blob when you retrieved it. + Use this method to implement optimistic concurrency by avoiding clobbering changes to the blob + made by another writer. + + The properties of the blob. This object should be one previously + obtained from a call to GetBlob or GetBlobProperties and have its LastModifiedTime property set. + The contents of the blob. The contents of the blob should be readable + true if the blob was updated. false if the blob has changed since the last time + The LastModifiedTime property of is set as a result of this call + + + + Get the blob contents and properties if the blob exisits + + The name of the blob + Object in which the contents are returned. + This object should contain a writable stream or should be a default constructed object. + Should the blob be gotten in pieces. This requires more round-trips, but will retry smaller piecs in case of failure. + The properties of the blob if the blob exists. + + + + Gets the blob contents and properties if the blob has not been modified since the time specified. + Use this method if you have cached the contents of a blob and want to avoid retrieving the blob + if it has not changed since the last time you retrieved it. + + The properties of the blob obtained from an earlier call to GetBlob. This + parameter is updated by the call if the blob has been modified + Contains the stream to which the contents of the blob are written if it has been + modified + Should the blob be gotten in pieces. This requires more round-trips, but will retry smaller piecs in case of failure. + true if the blob has been modified, false otherwise + + + + Get the properties of the blob if it exists. + This method is also the simplest way to check if a blob exists. + + The name of the blob + The properties of the blob if it exists. null otherwise. + The properties for the contents of the blob are not set + + + + Set the metadata of an existing blob. + + The blob properties object whose metadata is to be updated + + + + Set the metadata of an existing blob if it has not been modified since it was last retrieved. + + The blob properties object whose metadata is to be updated. + Typically obtained by a previous call to GetBlob or GetBlobProperties + + + + Delete a blob with the given name + + The name of the blob + true if the blob exists and was successfully deleted, false if the blob does not exist + + + + Delete a blob with the given name if the blob has not been modified since it was last obtained. + Use this method for optimistic concurrency to avoid deleting a blob that has been modified since + the last time you retrieved it + + A blob object (typically previously obtained from a GetBlob call) + This out parameter is set to true if the blob was not deleted because + it was modified + true if the blob exists and was successfully deleted, false if the blob does not exist or was + not deleted because the blob was modified. + + + + Enumerates all blobs with a given prefix. + + + If true common prefixes with "/" as seperator + The list of blob properties and common prefixes + + + + Uploads a blob in chunks. + + + + + + + + + + Helper method used for getting blobs, ranges of blobs and blob properties. + + Name of the blob + The output stream to write blob data to. Can be null if only retrieving blob properties + The If-None-Match header. Used to avoid downloading blob data if the blob has not changed + The If-Match header. Used to ensure that all chunks of the blob are of the same blob + The offset of the blob data to begin downloading from. Set to 0 to download all data. + The length of the blob data to download. Set to 0 to download all data + Query paramters to add to the request. + Whether the blob had been modfied with respect to the + + + + + Helper class for loading values from an XML segment + + + + + The entry point of the queue storage API + + + + + Factory method for QueueStorage + + The base URI of the queue service + If true, path-style URIs (http://baseuri/accountname/containername/objectname) are used. + If false host-style URIs (http://accountname.baseuri/containername/objectname) are used, + where baseuri is the URI of the service. + If null, the choice is made automatically: path-style URIs if host name part of base URI is an + IP addres, host-style otherwise. + The name of the storage account + Authentication key used for signing requests + A newly created QueueStorage instance + + + + Get a reference to a Queue object with a specified name. This method does not make a call to + the queue service. + + The name of the queue + A newly created queue object + + + + Lists the queues within the account. + + A list of queues + + + + Lists the queues within the account that start with the given prefix. + + If prefix is null returns all queues. + A list of queues. + + + + The default timeout + + + + + The default retry policy + + + + + The time out for each request to the storage service. + + + + + The retry policy used for retrying requests + + + + + The base URI of the blob storage service + + + + + The name of the storage account + + + + + Indicates whether to use/generate path-style or host-style URIs + + + + + Objects of this class represent a single message in the queue. + + + + + The maximum message size in bytes. + + + + + The maximum amount of time a message is kept in the queue. Max value is 7 days. + Value is given in seconds. + + + + + This constructor is not publicly exposed. + + + + + Creates a message and initializes the content of the message to be the specified string. + + A string representing the contents of the message. + + + + Creates a message and given the specified byte contents. + In this implementation, regardless of whether an XML or binary data is passed into this + function, message contents are converted to base64 before passing the data to the queue service. + When calculating the size of the message, the size of the base64 encoding is thus the important + parameter. + + + + + + Returns the the contents of the message as a string. + + + + + Returns the content of the message as a byte array + + + + + When calling the Get() operation on a queue, the content of messages + returned in the REST protocol are represented as Base64-encoded strings. + This internal function transforms the Base64 representation into a byte array. + + The Base64-encoded string. + + + + Internal method used for creating the XML that becomes part of a REST request + + + + + A unique ID of the message as returned from queue operations. + + + + + When a message is retrieved from a queue, a PopReceipt is returned. The PopReceipt is used when + deleting a message from the queue. + + + + + The point in time when the message was put into the queue. + + + + + A message's expiration time. + + + + + The point in time when a message becomes visible again after a Get() operation was called + that returned the message. + + + + + Queues in the storage client library expose a functionality for listening for incoming messages. + If a message is put into a queue, a corresponding event is issued and this delegate is called. This functionality + is implemented internally in this library by periodically polling for incoming messages. + + The queue that has received a new event. + The event argument containing the message. + + + + The argument class for the MessageReceived event. + + + + + The message itself. + + + + + Constructor for creating a message received argument. + + + + + + The message received by the queue. + + + + + The approximated amount of messages in the queue. + + + + + Metadata for the queue in the form of name-value pairs. + + + + + Objects of this class represent a queue in a user's storage account. + + + + + The name of the queue. + + + + + The user account this queue lives in. + + + + + This constructor is only called by subclasses. + + + + + Creates a queue in the specified storage account. + + true if a queue with the same name already exists. + true if the queue was successfully created. + + + + Creates a queue in the specified storage account. + + true if the queue was successfully created. + + + + Determines whether a queue with the same name already exists in an account. + + true if a queue with the same name already exists. + + + + Deletes the queue. The queue will be deleted regardless of whether there are messages in the + queue or not. + + true if the queue was successfully deleted. + + + + Sets the properties of a queue. + + The queue's properties to set. + true if the properties were successfully written to the queue. + + + + Retrieves the queue's properties. + + The queue's properties. + + + + Retrieves the approximate number of messages in a queue. + + The approximate number of messages in this queue. + + + + Puts a message in the queue. + + The message to store in the queue. + true if the message has been successfully enqueued. + + + + Puts a message in the queue. + + The message to store in the queue. + The time to live for the message in seconds. + true if the message has been successfully enqueued. + + + + Retrieves a message from the queue. + + The message retrieved or null if the queue is empty. + + + + Retrieves a message and sets its visibility timeout to the specified number of seconds. + + Visibility timeout of the message retrieved in seconds. + + + + + Tries to retrieve the given number of messages. + + Maximum number of messages to retrieve. + The list of messages retrieved. + + + + Tries to retrieve the given number of messages. + + Maximum number of messages to retrieve. + The visibility timeout of the retrieved messages in seconds. + The list of messages retrieved. + + + + Get a message from the queue but do not actually dequeue it. The message will remain visible + for other parties requesting messages. + + The message retrieved or null if there are no messages in the queue. + + + + Tries to get a copy of messages in the queue without actually dequeuing the messages. + The messages will remain visible in the queue. + + Maximum number of message to retrieve. + The list of messages retrieved. + + + + Deletes a message from the queue. + + The message to retrieve with a valid popreceipt. + true if the operation was successful. + + + + Delete all messages in a queue. + + true if all messages were deleted successfully. + + + + The default time interval between polling the queue for messages. + Polling is only enabled if the user has called StartReceiving(). + + + + + Starts the automatic reception of messages. + + true if the operation was successful. + + + + Stop the automatic reception of messages. + + + + + The name of the queue exposed as a public property. + + + + + The account info object this queue lives in -- exposed as an internal property. + + + + + Indicates whether to use/generate path-style or host-style URIs + + + + + The URI of the queue + + + + + The retry policy used for retrying requests; this is the retry policy of the + storage account where this queue was created + + + + + The timeout of requests. + + + + + The poll interval in milliseconds. If not explicitly set, this defaults to + the DefaultPollInterval. + + + + + The event users subscribe to in order to automatically receive messages + from a queue. + + + + + This delegate define the shape of a retry policy. A retry policy will invoke the given + as many times as it wants to in the face of + retriable StorageServerExceptions. + + The action to retry + + + + + Provides definitions for some standard retry policies. + + + + + Policy that does no retries i.e., it just invokes exactly once + + The action to retry + The return value of + + + + Policy that retries a specified number of times with a specified fixed time interval between retries + + The number of times to retry. Should be a non-negative number + The time interval between retries. Use TimeSpan.Zero to specify immediate + retries + + When is 0 and is + TimeSpan.Zero this policy is equivalent to the NoRetry policy + + + + Policy that retries a specified number of times with a randomized exponential backoff scheme + + The number of times to retry. Should be a non-negative number. + The multiplier in the exponential backoff scheme + + For this retry policy, the minimum amount of milliseconds between retries is given by the + StandardMinBackoff constant, and the maximum backoff is predefined by the StandardMaxBackoff constant. + Otherwise, the backoff is calculated as random(2^currentRetry) * deltaBackoff. + + + + Policy that retries a specified number of times with a randomized exponential backoff scheme + + The number of times to retry. Should be a non-negative number + The multiplier in the exponential backoff scheme + The minimum backoff interval + The maximum backoff interval + + For this retry policy, the minimum amount of milliseconds between retries is given by the + minBackoff parameter, and the maximum backoff is predefined by the maxBackoff parameter. + Otherwise, the backoff is calculated as random(2^currentRetry) * deltaBackoff. + + + + Access control for containers + + + + + The properties of a blob. + No member of this class makes a storage service request. + + + + + Construct a new BlobProperties object + + The name of the blob + + + + Name of the blob + + + + + URI of the blob + + + + + Content encoding of the blob if it set, null otherwise. + + + + + Content Type of the blob if it is set, null otherwise. + + + + + Content Language of the blob if it is set, null otherwise. + + + + + The length of the blob content, null otherwise. + + + + + Metadata for the blob in the form of name-value pairs. + + + + + The last modified time for the blob. + + + + + The ETag of the blob. This is an identifier assigned to the blob by the storage service + and is used to distinguish contents of two blobs (or versions of the same blob). + + + + + The properties of a container. + No member of this class makes a storage service request. + + + + + The contents of the Blob in various forms. + + + + + Construct a new BlobContents object from a stream. + + The stream to/from which blob contents are written/read. The + stream should be seekable in order for requests to be retried. + + + + Construct a new BlobContents object from a byte array. + + The byte array to/from which contents are written/read. + + + + Get the contents of a blob as a byte array. + + + + + Get the contents of a blob as a stream. + + + + + Class representing some important table storage constants. + + + + + Internal constant for querying tables. + + + + + Internal constant for querying tables. + + + + + The maximum size of strings per property/column is 64 kB (that is 32k characters.) + Note: This constant is smaller for the development storage table service. + + + + + One character in the standard UTF-16 character presentation is 2 bytes. + Note: This constant is smaller for the development storage table service. + + + + + We want to prevent users from the pitfall of mixing up Utc and local time. + Because of this we add some time to the minimum supported datetime. + As a result, there will be no error condition from the server even + if a user converts the minimum supported date time to a local time and + stores this in a DateTime field. + The local development storage support the SQL range of dates which is narrower than the + one for the table storage service and so we use that value here. + + + + + API entry point for using structured storage. The underlying usage pattern is designed to be + similar to the one used in blob and queue services in this library. + Users create a TableStorage object by calling the static Create() method passing account credential + information to this method. The TableStorage object can then be used to create, delete and list tables. + There are two methods to get DataServiceContext objects that conform to the appropriate security scheme. + The first way is to call the GetDataServiceContext() method on TableStorage objects. The naming is again + chosen to conform to the convention in the other APIs for blob and queue services in this library. + This class can also be used as an adapter pattern. I.e., DataServiceContext objects can be created + independnt from a TableStorage object. Calling the Attach() method will make sure that the appropriate + security signing is used on these objects. This design was chosen to support various usage patterns that + might become necessary for autogenerated code. + + + + + The default retry policy + + + + + Creates a TableStorage service object. This object is the entry point into the table storage API. + + The base URI of the table storage service. + Type of URI scheme used. + The account name. + Base64 encoded version of the key. + + + + + Creates a TableStorage object. + + + + + Infers a list of tables from a DataServiceContext-derived type and makes sure + those tables exist in the given service. The table endpoint information is retrieved from the + standard configuration settings. + + + Tables are inferred by finding all the public properties of type IQueryable<T> in + the provided type, where T is a type with an ID (in the case of table storage, this means it either + has a [DataServiceKey("PartitionKey", "RowKey")] attribute in the class, or derives from + the TableStorageEntity class included in this sample library (which in turn has that attribute). + + + + + Infers a list of tables from a DataServiceContext-derived type and makes sure + those tables exist in the given service. + + The DataServiceContext type from which the tables are inferred. + A configuration string that is used to determine the table storage endpoint. + + + + Infers a list of tables from a DataServiceContext-derived type and makes sure + those tables exist in the given service. + + The type of the DataServiceContext. + An object containing information about the table storage endpoint to be used. + + + + Creates a DataServiceContext object that takes care of implementing the table storage signing process. + + + + + If the adaptor pattern with Attach() shall be used, this function can be used to generate the + table service base Uri depending on the path style syntax. + + + + + If the adaptor pattern with Attach() shall be used, this function can be used to generate the + table service base Uri depending on the path style syntax. + + + + + If DataServiceContext objects are created at different places, this method can be called to configure the + DataServiceContext object to implement the required security scheme. + + + + + Lists all the tables under this service's URL + + + + + Creates a new table in the service + + The name of the table to be created + + + + Tries to create a table with the given name. + The main difference to the CreateTable method is that this function first queries the + table storage service whether the table already exists, before it tries to actually create + the table. The reason is that this + is more lightweight for the table storage service than always trying to create a table that + does already exist. Furthermore, as we expect that applications don't really randomly create + tables, the additional roundtrip that is required for creating the table is necessary only very + rarely. + + The name of the table. + True if the operation was completed successfully. False if the table already exists. + + + + Checks whether a table with the same name already exists. + + The name of the table to check. + True iff the table already exists. + + + + Deletes a table from the service. + + The name of the table to be deleted + + + + Tries to delete the table with the given name. + + The name of the table to delete. + True if the table was successfully deleted. False if the table does not exists. + + + + The retry policy used for retrying requests + + + + + The base URI of the table storage service + + + + + The name of the storage account + + + + + Indicates whether to use/generate path-style or host-style URIs + + + + + The base64 encoded version of the key. + + + + + Checks whether the exception is or contains a DataServiceClientException and extracts the + returned http status code and extended error information. + + The exception from which to extract information + The Http status code for the exception + Extended error information including storage service specific + error code and error message + True if the exception is or contains a DataServiceClientException. + + + + Checks whether the exception is or contains a DataServiceClientException and extracts the + returned http status code. + + The exception from which to extract information + The Http status code for the exception + True if the exception is or contains a DataServiceClientException. + + + + Checks whether the exception is either a DataServiceClientException, a DataServiceQueryException or a + DataServiceRequestException. + + + + + Only certain classes of errors should be retried. This method evaluates an exception + and returns whether this class of exception can be retried. + + The exception to analyze. + The HttpStatusCode retrieved from the exception. + + + + Overload that does not retrun the HttpStatusCode. + + + + + Checks whether the string can be inserted in a table storage table. Throws an exception if + this is not the case. + + + + + + Checks whether the string can be inserted into a table storage table. + + + + + Creates a table with the specified name. + + The name of the table. + + + + The table name. + + + + + This class represents an entity (row) in a table in table storage. + + + + + Creates a TableStorageEntity object. + + + + + Creates a TableStorageEntity object. + + + + + Compares to entities. + + + + + Computes a HashCode for this object. + + + + + The partition key of a table entity. The concatenation of the partition key + and row key must be unique per table. + + + + + The row key of a table entity. + + + + + This class can be used for handling continuation tokens in TableStorage. + + + + + + Objects of this class can be created using this constructor directly or by + calling a factory method on the TableStorageDataServiceContext class + + + + + Objects of this class can be created using this constructor directly or by + calling a factory method on the TableStorageDataServiceContext class + + + + + Normal Execute() on the query without retry. Just maps to _query.Execute(). + + + + + + Calling Execute() on the query with the current retry policy. + + An IEnumerable respresenting the results of the query. + + + + Calling Execute() on the query with the current retry policy. + + The retry policy to be used for this request. + An IEnumerable respresenting the results of the query. + + + + Returns all results of the query and hides the complexity of continuation if + this is desired by a user. Users should be aware that this operation can return + many objects. Uses no retries. + Important: this function does not call Execute immediately. Instead, it calls Execute() on + the query only when the result is enumerated. This is a difference to the normal + Execute() and Execute() with retry method. + + An IEnumerable representing the results of the query. + + + + Returns all results of the query and hides the complexity of continuation if + this is desired by a user. Users should be aware that this operation can return + many objects. This operation also uses the current retry policy. + Important: this function does not call Execute immediately. Instead, it calls Execute() on + the query only when the result is enumerated. This is a difference to the normal + Execute() and Execute() with retry method. + + An IEnumerable representing the results of the query. + + + + Returns all results of the query and hides the complexity of continuation if + this is desired by a user. Users should be aware that this operation can return + many objects. + Important: this function does not call Execute immediately. Instead, it calls Execute() on + the query only when the result is enumerated. This is a difference to the normal + Execute() and Execute() with retry method. + + Determines whether to use retries or not. + An IEnumerable representing the results of the query. + + + + Gets the underlying normal query object. + + + + + The retry policy used for retrying requests + + + + + The table storage-specific DataServiceContext class. It adds functionality for handling + the authentication process required by the table storage service. + + + + + Creates a DataServiceContext object and configures it so that it can be used with the table storage service. + + The root URI of the service. + The account name. + The shared key associated with this service. + + + + Creates a DataServiceContext object and configures it so that it can be used with the table storage service. + + A StorageAccountInfo object containing information about how to access the table storage service. + + + + Creates a DataServiceContext object and configures it so that it can be used with the table storage service. + Information on the table storage endpoint is retrieved by accessing configuration settings in the app config section + of a Web.config or app config file, or by accessing settings in cscfg files. + + + + + Calls the SaveChanges() method and applies retry semantics. + + + + + Calls the SaveChanges() method and applies retry semantics. + + + + + Callback method called whenever a request is sent to the table service. This + is where the signing of the request takes place. + + + + + The retry policy used for retrying requests + + + + + Helper class to avoid long-lived references to context objects + + + Need to be careful not to maintain a reference to the context + object from the auth adapter, since the adapter is probably + long-lived and the context is not. This intermediate helper + class is the one subscribing to context events, so when the + context can be collected then this will be collectable as well. + + + + + The retry policies for blobs and queues deal with special StorageClient and StorageServer exceptions. + In case of tables, we don't want to return these exceptions but instead the normal data service + exception. This class serves as a simple wrapper for these exceptions, and indicates that we + need retries. + Data service exceptions are stored as inner exceptions. + + + + + Creates a TableRetryWrapperException object. + + + + + Creates a TableRetryWrapperException object. + + + + + Creates a TableRetryWrapperException object. + + + + + Creates a TableRetryWrapperException object. + + + + + Creates a TableRetryWrapperException object. + + + + + Objects of this class encapsulate information about a storage account and endpoint configuration. + Associated with a storage account is the account name, the base URI of the account and a shared key. + + + + + The default configuration string in configuration files for setting the queue storage endpoint. + + + + + The default configuration string in configuration files for setting the blob storage endpoint. + + + + + The default configuration string in configuration files for setting the table storage endpoint. + + + + + The default configuration string in configuration files for setting the storage account name. + + + + + The default configuration string in configuration files for setting the shared key associated with a storage account. + + + + + The default configuration string in configuration files for setting the UsePathStyleUris option. + + + + + The default prefix string in application config and Web.config files to indicate that this setting should be looked up + in the fabric's configuration system. + + + + + Constructor for creating account info objects. + + The account's base URI. + If true, path-style URIs (http://baseuri/accountname/containername/objectname) are used. + If false host-style URIs (http://accountname.baseuri/containername/objectname) are used, + where baseuri is the URI of the service.. + If null, the choice is made automatically: path-style URIs if host name part of base URI is an + IP addres, host-style otherwise. + The account name. + The account's shared key. + + + + Constructor for creating account info objects. + + The account's base URI. + If true, path-style URIs (http://baseuri/accountname/containername/objectname) are used. + If false host-style URIs (http://accountname.baseuri/containername/objectname) are used, + where baseuri is the URI of the service. + If null, the choice is made automatically: path-style URIs if host name part of base URI is an + IP addres, host-style otherwise. + The account name. + The account's shared key. + true if it shall be allowed to only set parts of the StorageAccountInfo properties. + + + + Retrieves account settings for the queue service from the default settings. + + + + + Retrieves account settings for the queue service from the default settings. + Throws an exception in case of incomplete settings. + + + + + Retrieves account settings for the table service from the default settings. + + + + + Retrieves account settings for the table service from the default settings. + Throws an exception in case of incomplete settings. + + + + + Retrieves account settings for the blob service from the default settings. + + + + + Retrieves account settings for the blob service from the default settings. + Throws an exception in case of incomplete settings. + + + + + Gets settings from default configuration names except for the endpoint configuration string. + + + + + Gets settings from default configuration names except for the endpoint configuration string. Throws an exception + in the case of incomplete settings. + + + + + Gets a configuration setting from application settings in the Web.config or App.config file. + When running in a hosted environment, configuration settings are read from .cscfg + files. + + + + + Retrieves account information settings from configuration settings. First, the implementation checks for + settings in an application config section of an app.config or Web.config file. These values are overwritten + if the same settings appear in a .csdef file. + The implementation also supports indirect settings. In this case, indirect settings overwrite all other settings. + + Configuration string for the account name. + Configuration string for the key. + Configuration string for the endpoint. + Configuration string for the path style. + If false, an exception is thrown if not all settings are available. + StorageAccountInfo object containing the retrieved settings. + + + + Checks whether all essential properties of this object are set. Only then, the account info object + should be used in ohter APIs of this library. + + + + + + Checks whether this StorageAccountInfo object is complete in the sense that all properties are set. + + + + + The base URI of the account. + + + + + The account name. + + + + + The account's key. + + + + + If set, returns the UsePathStyleUris properties. If the property has not been explicitly set, + the implementation tries to derive the correct value from the base URI. + + + + + Get a reference to a Queue object with a specified name. This method does not make a call to + the queue service. + + The name of the queue + A newly created queue object + + + + Lists all queues with a given prefix within an account. + + + The list of queue names. + + + + Lists the queues within the account. + + A list of queues + + + diff --git a/aspclassiccompiler/AzureStoreAsp/AzureStoreService/bin/Release/AzureStoreService.csx/roles/MVCAzureStore/Content/Site.css b/aspclassiccompiler/AzureStoreAsp/AzureStoreService/bin/Release/AzureStoreService.csx/roles/MVCAzureStore/Content/Site.css index c2fd074..076f15d 100644 --- a/aspclassiccompiler/AzureStoreAsp/AzureStoreService/bin/Release/AzureStoreService.csx/roles/MVCAzureStore/Content/Site.css +++ b/aspclassiccompiler/AzureStoreAsp/AzureStoreService/bin/Release/AzureStoreService.csx/roles/MVCAzureStore/Content/Site.css @@ -1,755 +1,755 @@ - -/* 9 of 12 Microsoft Internet Explorer Design Templates - - -/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - HTML TAGS - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ - -body { - font-family:Arial, Tahoma, Helvetica, sans-serif; - margin:0; - padding:0; - } - -p, li { - font-size:.75em; - line-height:160%; - } - -a img { - border:none; - } - -/* HEADINGS */ - -h1,h2,h3,h4,h5,h6 { - margin:15px 0; - font-family:"trebuchet MS", verdana, sans-serif; - color:#e99400; - } - -.content-left h1, .content-right h1, -.content-left h2, .content-right h2, -.content-left h3, .content-right h3, -.content-left h4, .content-right h4, -.content-left h5, .content-right h5, -.content-left h6, .content-right h6 { - color:#000; - margin:5px 0; - } - -h1.first, -h2.first, -h3.first, -h4.first, -h5.first, -h6.first { - margin-top:0; - } - -h1 { - font-size:1.2em; - } - -h2 { - font-size:1em; - } - -h3 { - font-size:.9em; - background:url(images/bg-line.png) repeat-x bottom; - } - -h4 { - font-size:.8em; - } - -h5 { - font-size:.8em; - } - -h6 { - font-size:.8em; - } - -/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - FORMS - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ - -fieldset { - padding:10px 20px; - margin:15px 0; - position:relative; - } - -fieldset fieldset { - margin:10px 0; - width:90%; - } - -legend { - font-weight:bold; - font-size:1em; - padding:10px; - color:#000; - margin:0 0 10px 30px; - font-family:"trebuchet MS", verdana, sans-serif; - } - -fieldset fieldset legend { - font-size:.8em; - } - -.input-box { - display:block; - margin-bottom:5px; - vertical-align:top; - padding:2px; - color:#666666; - font-size:.8em; - border:1px solid #82b26e; - background:url(images/bg-input.png) no-repeat; - } - -label { - font-weight:bold; - font-size:.7em; - font-weight:bold; - display:block; - font-family:Arial, Helvetica, sans-serif; - } - -.checkbox { - margin:12px 0; - padding:4px 0 2px 3px; - border:1px dotted #585858; - width:95%; - } - -.checkbox input { - margin-right:6px; - margin-bottom:2px; - } - -.forgot-password { - margin:2px 0; - font-size:.65em; - } - -input.button { - color:#FFF; - background:#317f0c url(images/bg-button.png) repeat-x; - border:2px groove #FFF; - font-size:.7em; - font-weight:bold; - padding:0 5px 2px 5px; - cursor:pointer; - } - -input.button-big { - padding:6px 20px; - } - -/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - LINKS - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ - -a:link { - color:#33840c; - text-decoration:underline; - } - -a:visited { - color:#72840c; - text-decoration:underline; - } - -a:hover { - text-decoration:none; - } - -a:active { - text-decoration:underline; - color:#86c400; - } - -/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - HEADER - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ - -.header-container { - position:relative; - padding:6px 0 0 0; - background:#373737; - color:#FFF; - border-bottom:1px dotted #585858; - min-height:1px; - _height:1px; - } - -/* LOGO */ - -.logo { - font-size:1.5em; - width:60%; - float:left; - font-family:"trebuchet MS", verdana, sans-serif; - padding:5px 0 10px 15px; - letter-spacing:.2em; - } - -/* LOGO LINK */ - -.logo a:link, -.logo a:visited { - text-decoration:none; - color:#FFF; - } - -/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - LOGIN - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ - -.nav-login { - font-size:.9em; - text-align:right; - margin:10px 15px 3px 0; - float:right; - width:20%; - } - -/* LOGIN LISTS */ - -.nav-login ul { - margin:0; - padding:0; - } - -.nav-login li { - list-style:none; - padding:3px 0 3px 17px; - display:inline; - margin-left:15px; - background:url(images/bullet.png) no-repeat 0 4px; - } - -.nav-login li.first { - list-style:none; - margin-left:0; - } - -/* LOGIN LINKS */ - -.nav-login a:link, -.nav-login a:visited{ - color:#FFF; - text-decoration:none; - } - -/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - MAIN NAV - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ - -.nav-main { - margin:-41px 0 0 199px; - padding:12px 15px 0 15px; - background:#f6f6f6; - min-height:28px; - _height:28px; - border-top:1px dotted #7a7a7a; - border-bottom:1px dotted #7a7a7a; - border-left:1px dotted #7a7a7a; - } - -/* MAIN NAV LISTS */ - -.nav-main ul { - margin:0; - padding:0; - } - -.nav-main li { - list-style:none; - float:left; - background:none; - padding:0; - } - -.nav-main li a { - display:block; - padding:0 10px; - border-right:1px dotted #d2d2d2; - } - -.nav-main li.first a { - padding-left:0; - } - -/* NAV MAIN LINKS */ - -.nav-main a:link, -.nav-main a:visited { - color:#33840c; - text-decoration:none; - } - -.nav-main .active a:link, -.nav-main .active a:visited { - color:#000; - } - -.nav-main a:hover { - text-decoration:underline; - } - -/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - FOOTER - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ - -.footer { - padding:10px 0; - _height:1px; - background:#373737; - clear:both; - } - -.nav-footer { - position:relative; - _height:1px; - margin:0 200px; - text-align:center; - clear:both; - } - -.nav-footer ul{ - padding:0; - margin:0; - text-align:center; - } - -.nav-footer li{ - background:none; - display:inline; - border-right:1px dotted #686868; - padding:0 10px; - } - -.nav-footer li.first { - border-left:1px dotted #686868; - } - -.copyright { - color:#999; - font-size:.7em; - clear:both; - margin:5px 0 0 0; - } - -.nav-footer a:link, -.nav-footer a:visited { - color:#CCC; - } - -/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - POSTER - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ - -.poster-container { - background:url(images/bg-poster-tile.jpg) repeat-x; - min-height:200px; - _height:200px; - margin-top:-1px; - } - -.poster-container-no-image { - background:url(images/bg-poster-tile.jpg) repeat-x; - min-height:70px; - _height:70px; - margin-top:-1px; - } - -.poster-inner { - background:url(images/bg-poster.jpg) no-repeat left top; - font-family:"trebuchet MS", verdana, sans-serif; - min-height:70px; - _height:70px; - } - -.poster-photo { - background:url(images/bg-poster-photo.jpg) no-repeat left; - min-height:170px; - _height:170px; - padding:30px 30% 0 200px; - font-style:italic; - } - -.poster-container h1 { - margin:0; - font-size:1.2em; - color:#000; - } - -.poster-container p { - margin:10px 0 0 0; - line-height:normal; - font-size:1em; - } - -/* POSTER LINKS */ - -.poster-links { - font-weight:bold; - } - -.poster-container a:link, -.poster-container a:visited { - color:#33840c; - } - -.poster-container a:hover { - text-decoration:none; - } - -/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - BREADCRUMB - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ - -.breadcrumb { - min-height:1px; - _height:1px; - padding:0 0 15px 0; - margin:0 0 15px 0; - font-size:.7em; - border-bottom:1px dotted #686868; - } - -/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - PRIMARY LAYOUT STYLES - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ - -.content-container { - position:relative; - _height:1px; - min-height:1px; - background:url(images/bg-column-left.png) repeat-y; - } - -.content-container-inner { - background:url(images/bg-column-right.png) repeat-y right; - _height:1px; - min-height:1px; - padding:0 200px; - position:relative; - } - -.content-main { - padding:15px 2% 20px 2%; - position:relative; - min-height:1px; - _height:1px; - float:left; - width:96%; - } - -.content-left { - padding:20px 10px; - float:left; - width:180px; - margin-top:-1px; - position:relative; - margin-left:-100%; - right:200px; - _left:200px; - border-top:1px dotted #797979; - } - -.content-right { - padding:15px 10px 20px 10px; - float:left; - width:180px; - position:relative; - margin-right:-200px; - } - -.ads { - text-align:center; - margin:20px 0; - } - -/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - SIDE BUCKET - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ - -.side-bucket { - margin-bottom:20px; - line-height:normal; - } - -/* SIDE BUCKET LISTS */ - -.side-bucket ul { - margin:0; - padding:0; - _height:1px; - } - -.side-bucket li { - list-style:none; - border-bottom:1px dotted #7a7a7a; - background-position:0 4px; - } - -.side-bucket li.first { - border-top:1px dotted #7a7a7a; - } - -/* SIDE BUCKET LINKS */ - -.side-bucket a:link, -.side-bucket a:visited { - text-decoration:none; - display:block; - _display:inline; - } - -.side-bucket a:hover { - text-decoration:underline; - } - -/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - PHOTOS & CAPTIONS - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ - -.photo-container { - padding:10px; - border:1px dotted #7a7a7a; - } - -.photo-container img { - display:block; - border:1px solid #666; - } - -.photo-caption { - font-size:.7em; - padding:10px 10px 0 10px; - text-align:center; - color:#999; - font-style:italic - } - -/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - THREE-COLUMN SECTION - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ - -.three-column-container { - margin:10px 0px; - } - -.three-column-left, -.three-column-right, -.three-column-middle { - float:left; - width:30%; - margin-right:5%; - } - -.three-column-right { - margin-right:0; - } - -/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - DATA TABLES - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ - -table.data-table { - background:#f6f6f6; - font-size:.7em; - border-top:1px dotted #7a7a7a; - border-left:1px dotted #7a7a7a; - } - -table.data-table caption{ - background:#b6b6b6; - padding:10px; - text-align:center; - font-weight:bold; - font-family:Arial, Helvetica, sans-serif; - border:1px dotted #7a7a7a; - border-bottom:none; - } - -table.data-table td, -table.data-table th{ - padding:8px; - border-right:1px dotted #7a7a7a; - border-bottom:1px dotted #7a7a7a; - } - -table.data-table th{ - text-align:left; - font-family:Arial, Helvetica, sans-serif; - background:#ececec; - } - -table.data-table td{ - } - -table.data-table tr.row-alternating td{ - background:#e0e0e0; - } - -/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - LISTS - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ - -li { - list-style:none; - background:url(images/bullet.png) no-repeat 0 5px; - padding:3px 0 3px 17px; - } - -/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - MISC STYLES - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ - -.none { - display:none; - } - -.clear { - clear:both; - font-size:1px; - margin:0; - padding:0; - } - -.align-left { - float:left; - margin:0 20px 15px 0; - } - -.align-right { - float:right; - margin:0 0 15px 20px; - } - -.align-middle { - vertical-align:middle; - } - -.inline { - display:inline; - } - -.no-margin { - margin:0; - } - -/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - MODIFIED - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ - -.login -{ - margin:auto auto; -} - -.login input[type=text], .login input[type=password] -{ - width: 10em; - margin: 0.5em; -} - -.content-main -{ - _height:400px; - min-height:400px; -} - -.product-category -{ - color: #666666; -} - -.product-list -{ - padding:0.25em; - border: solid 1px #999; - font-size:10pt; - width:100%; - margin-top:0.5em; - margin-bottom: 0.5em; - height:150px; -} - -.identity -{ - margin-left:0.25em; - max-width:6.5em; - display:inline-block; - overflow:hidden; - vertical-align:middle; -} - -.login label -{ - display: inline; -} - -label -{ - font-size:1em; -} - -.role label -{ - margin:1em; -} - -.role input -{ - margin:1em 0 0.5em 0; - vertical-align:middle; -} - -.login-status, .login-status iframe -{ - height: 2em !important; - width: 5em !important; -} + +/* 9 of 12 Microsoft Internet Explorer Design Templates + + +/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + HTML TAGS + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ + +body { + font-family:Arial, Tahoma, Helvetica, sans-serif; + margin:0; + padding:0; + } + +p, li { + font-size:.75em; + line-height:160%; + } + +a img { + border:none; + } + +/* HEADINGS */ + +h1,h2,h3,h4,h5,h6 { + margin:15px 0; + font-family:"trebuchet MS", verdana, sans-serif; + color:#e99400; + } + +.content-left h1, .content-right h1, +.content-left h2, .content-right h2, +.content-left h3, .content-right h3, +.content-left h4, .content-right h4, +.content-left h5, .content-right h5, +.content-left h6, .content-right h6 { + color:#000; + margin:5px 0; + } + +h1.first, +h2.first, +h3.first, +h4.first, +h5.first, +h6.first { + margin-top:0; + } + +h1 { + font-size:1.2em; + } + +h2 { + font-size:1em; + } + +h3 { + font-size:.9em; + background:url(images/bg-line.png) repeat-x bottom; + } + +h4 { + font-size:.8em; + } + +h5 { + font-size:.8em; + } + +h6 { + font-size:.8em; + } + +/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + FORMS + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ + +fieldset { + padding:10px 20px; + margin:15px 0; + position:relative; + } + +fieldset fieldset { + margin:10px 0; + width:90%; + } + +legend { + font-weight:bold; + font-size:1em; + padding:10px; + color:#000; + margin:0 0 10px 30px; + font-family:"trebuchet MS", verdana, sans-serif; + } + +fieldset fieldset legend { + font-size:.8em; + } + +.input-box { + display:block; + margin-bottom:5px; + vertical-align:top; + padding:2px; + color:#666666; + font-size:.8em; + border:1px solid #82b26e; + background:url(images/bg-input.png) no-repeat; + } + +label { + font-weight:bold; + font-size:.7em; + font-weight:bold; + display:block; + font-family:Arial, Helvetica, sans-serif; + } + +.checkbox { + margin:12px 0; + padding:4px 0 2px 3px; + border:1px dotted #585858; + width:95%; + } + +.checkbox input { + margin-right:6px; + margin-bottom:2px; + } + +.forgot-password { + margin:2px 0; + font-size:.65em; + } + +input.button { + color:#FFF; + background:#317f0c url(images/bg-button.png) repeat-x; + border:2px groove #FFF; + font-size:.7em; + font-weight:bold; + padding:0 5px 2px 5px; + cursor:pointer; + } + +input.button-big { + padding:6px 20px; + } + +/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + LINKS + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ + +a:link { + color:#33840c; + text-decoration:underline; + } + +a:visited { + color:#72840c; + text-decoration:underline; + } + +a:hover { + text-decoration:none; + } + +a:active { + text-decoration:underline; + color:#86c400; + } + +/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + HEADER + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ + +.header-container { + position:relative; + padding:6px 0 0 0; + background:#373737; + color:#FFF; + border-bottom:1px dotted #585858; + min-height:1px; + _height:1px; + } + +/* LOGO */ + +.logo { + font-size:1.5em; + width:60%; + float:left; + font-family:"trebuchet MS", verdana, sans-serif; + padding:5px 0 10px 15px; + letter-spacing:.2em; + } + +/* LOGO LINK */ + +.logo a:link, +.logo a:visited { + text-decoration:none; + color:#FFF; + } + +/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + LOGIN + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ + +.nav-login { + font-size:.9em; + text-align:right; + margin:10px 15px 3px 0; + float:right; + width:20%; + } + +/* LOGIN LISTS */ + +.nav-login ul { + margin:0; + padding:0; + } + +.nav-login li { + list-style:none; + padding:3px 0 3px 17px; + display:inline; + margin-left:15px; + background:url(images/bullet.png) no-repeat 0 4px; + } + +.nav-login li.first { + list-style:none; + margin-left:0; + } + +/* LOGIN LINKS */ + +.nav-login a:link, +.nav-login a:visited{ + color:#FFF; + text-decoration:none; + } + +/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + MAIN NAV + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ + +.nav-main { + margin:-41px 0 0 199px; + padding:12px 15px 0 15px; + background:#f6f6f6; + min-height:28px; + _height:28px; + border-top:1px dotted #7a7a7a; + border-bottom:1px dotted #7a7a7a; + border-left:1px dotted #7a7a7a; + } + +/* MAIN NAV LISTS */ + +.nav-main ul { + margin:0; + padding:0; + } + +.nav-main li { + list-style:none; + float:left; + background:none; + padding:0; + } + +.nav-main li a { + display:block; + padding:0 10px; + border-right:1px dotted #d2d2d2; + } + +.nav-main li.first a { + padding-left:0; + } + +/* NAV MAIN LINKS */ + +.nav-main a:link, +.nav-main a:visited { + color:#33840c; + text-decoration:none; + } + +.nav-main .active a:link, +.nav-main .active a:visited { + color:#000; + } + +.nav-main a:hover { + text-decoration:underline; + } + +/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + FOOTER + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ + +.footer { + padding:10px 0; + _height:1px; + background:#373737; + clear:both; + } + +.nav-footer { + position:relative; + _height:1px; + margin:0 200px; + text-align:center; + clear:both; + } + +.nav-footer ul{ + padding:0; + margin:0; + text-align:center; + } + +.nav-footer li{ + background:none; + display:inline; + border-right:1px dotted #686868; + padding:0 10px; + } + +.nav-footer li.first { + border-left:1px dotted #686868; + } + +.copyright { + color:#999; + font-size:.7em; + clear:both; + margin:5px 0 0 0; + } + +.nav-footer a:link, +.nav-footer a:visited { + color:#CCC; + } + +/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + POSTER + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ + +.poster-container { + background:url(images/bg-poster-tile.jpg) repeat-x; + min-height:200px; + _height:200px; + margin-top:-1px; + } + +.poster-container-no-image { + background:url(images/bg-poster-tile.jpg) repeat-x; + min-height:70px; + _height:70px; + margin-top:-1px; + } + +.poster-inner { + background:url(images/bg-poster.jpg) no-repeat left top; + font-family:"trebuchet MS", verdana, sans-serif; + min-height:70px; + _height:70px; + } + +.poster-photo { + background:url(images/bg-poster-photo.jpg) no-repeat left; + min-height:170px; + _height:170px; + padding:30px 30% 0 200px; + font-style:italic; + } + +.poster-container h1 { + margin:0; + font-size:1.2em; + color:#000; + } + +.poster-container p { + margin:10px 0 0 0; + line-height:normal; + font-size:1em; + } + +/* POSTER LINKS */ + +.poster-links { + font-weight:bold; + } + +.poster-container a:link, +.poster-container a:visited { + color:#33840c; + } + +.poster-container a:hover { + text-decoration:none; + } + +/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + BREADCRUMB + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ + +.breadcrumb { + min-height:1px; + _height:1px; + padding:0 0 15px 0; + margin:0 0 15px 0; + font-size:.7em; + border-bottom:1px dotted #686868; + } + +/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + PRIMARY LAYOUT STYLES + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ + +.content-container { + position:relative; + _height:1px; + min-height:1px; + background:url(images/bg-column-left.png) repeat-y; + } + +.content-container-inner { + background:url(images/bg-column-right.png) repeat-y right; + _height:1px; + min-height:1px; + padding:0 200px; + position:relative; + } + +.content-main { + padding:15px 2% 20px 2%; + position:relative; + min-height:1px; + _height:1px; + float:left; + width:96%; + } + +.content-left { + padding:20px 10px; + float:left; + width:180px; + margin-top:-1px; + position:relative; + margin-left:-100%; + right:200px; + _left:200px; + border-top:1px dotted #797979; + } + +.content-right { + padding:15px 10px 20px 10px; + float:left; + width:180px; + position:relative; + margin-right:-200px; + } + +.ads { + text-align:center; + margin:20px 0; + } + +/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + SIDE BUCKET + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ + +.side-bucket { + margin-bottom:20px; + line-height:normal; + } + +/* SIDE BUCKET LISTS */ + +.side-bucket ul { + margin:0; + padding:0; + _height:1px; + } + +.side-bucket li { + list-style:none; + border-bottom:1px dotted #7a7a7a; + background-position:0 4px; + } + +.side-bucket li.first { + border-top:1px dotted #7a7a7a; + } + +/* SIDE BUCKET LINKS */ + +.side-bucket a:link, +.side-bucket a:visited { + text-decoration:none; + display:block; + _display:inline; + } + +.side-bucket a:hover { + text-decoration:underline; + } + +/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + PHOTOS & CAPTIONS + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ + +.photo-container { + padding:10px; + border:1px dotted #7a7a7a; + } + +.photo-container img { + display:block; + border:1px solid #666; + } + +.photo-caption { + font-size:.7em; + padding:10px 10px 0 10px; + text-align:center; + color:#999; + font-style:italic + } + +/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + THREE-COLUMN SECTION + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ + +.three-column-container { + margin:10px 0px; + } + +.three-column-left, +.three-column-right, +.three-column-middle { + float:left; + width:30%; + margin-right:5%; + } + +.three-column-right { + margin-right:0; + } + +/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + DATA TABLES + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ + +table.data-table { + background:#f6f6f6; + font-size:.7em; + border-top:1px dotted #7a7a7a; + border-left:1px dotted #7a7a7a; + } + +table.data-table caption{ + background:#b6b6b6; + padding:10px; + text-align:center; + font-weight:bold; + font-family:Arial, Helvetica, sans-serif; + border:1px dotted #7a7a7a; + border-bottom:none; + } + +table.data-table td, +table.data-table th{ + padding:8px; + border-right:1px dotted #7a7a7a; + border-bottom:1px dotted #7a7a7a; + } + +table.data-table th{ + text-align:left; + font-family:Arial, Helvetica, sans-serif; + background:#ececec; + } + +table.data-table td{ + } + +table.data-table tr.row-alternating td{ + background:#e0e0e0; + } + +/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + LISTS + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ + +li { + list-style:none; + background:url(images/bullet.png) no-repeat 0 5px; + padding:3px 0 3px 17px; + } + +/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + MISC STYLES + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ + +.none { + display:none; + } + +.clear { + clear:both; + font-size:1px; + margin:0; + padding:0; + } + +.align-left { + float:left; + margin:0 20px 15px 0; + } + +.align-right { + float:right; + margin:0 0 15px 20px; + } + +.align-middle { + vertical-align:middle; + } + +.inline { + display:inline; + } + +.no-margin { + margin:0; + } + +/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + MODIFIED + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ + +.login +{ + margin:auto auto; +} + +.login input[type=text], .login input[type=password] +{ + width: 10em; + margin: 0.5em; +} + +.content-main +{ + _height:400px; + min-height:400px; +} + +.product-category +{ + color: #666666; +} + +.product-list +{ + padding:0.25em; + border: solid 1px #999; + font-size:10pt; + width:100%; + margin-top:0.5em; + margin-bottom: 0.5em; + height:150px; +} + +.identity +{ + margin-left:0.25em; + max-width:6.5em; + display:inline-block; + overflow:hidden; + vertical-align:middle; +} + +.login label +{ + display: inline; +} + +label +{ + font-size:1em; +} + +.role label +{ + margin:1em; +} + +.role input +{ + margin:1em 0 0.5em 0; + vertical-align:middle; +} + +.login-status, .login-status iframe +{ + height: 2em !important; + width: 5em !important; +} diff --git a/aspclassiccompiler/AzureStoreAsp/AzureStoreService/bin/Release/AzureStoreService.csx/roles/MVCAzureStore/Scripts/MicrosoftAjax.debug.js b/aspclassiccompiler/AzureStoreAsp/AzureStoreService/bin/Release/AzureStoreService.csx/roles/MVCAzureStore/Scripts/MicrosoftAjax.debug.js index 054b46d..7b7de62 100644 --- a/aspclassiccompiler/AzureStoreAsp/AzureStoreService/bin/Release/AzureStoreService.csx/roles/MVCAzureStore/Scripts/MicrosoftAjax.debug.js +++ b/aspclassiccompiler/AzureStoreAsp/AzureStoreService/bin/Release/AzureStoreService.csx/roles/MVCAzureStore/Scripts/MicrosoftAjax.debug.js @@ -1,6850 +1,6850 @@ -// Name: MicrosoftAjax.debug.js -// Assembly: System.Web.Extensions -// Version: 3.5.0.0 -// FileVersion: 3.5.30729.1 -//----------------------------------------------------------------------- -// Copyright (C) Microsoft Corporation. All rights reserved. -//----------------------------------------------------------------------- -// MicrosoftAjax.js -// Microsoft AJAX Framework. - -Function.__typeName = 'Function'; -Function.__class = true; -Function.createCallback = function Function$createCallback(method, context) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "method", type: Function}, - {name: "context", mayBeNull: true} - ]); - if (e) throw e; - return function() { - var l = arguments.length; - if (l > 0) { - var args = []; - for (var i = 0; i < l; i++) { - args[i] = arguments[i]; - } - args[l] = context; - return method.apply(this, args); - } - return method.call(this, context); - } -} -Function.createDelegate = function Function$createDelegate(instance, method) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "instance", mayBeNull: true}, - {name: "method", type: Function} - ]); - if (e) throw e; - return function() { - return method.apply(instance, arguments); - } -} -Function.emptyFunction = Function.emptyMethod = function Function$emptyMethod() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); -} -Function._validateParams = function Function$_validateParams(params, expectedParams) { - var e; - e = Function._validateParameterCount(params, expectedParams); - if (e) { - e.popStackFrame(); - return e; - } - for (var i=0; i < params.length; i++) { - var expectedParam = expectedParams[Math.min(i, expectedParams.length - 1)]; - var paramName = expectedParam.name; - if (expectedParam.parameterArray) { - paramName += "[" + (i - expectedParams.length + 1) + "]"; - } - e = Function._validateParameter(params[i], expectedParam, paramName); - if (e) { - e.popStackFrame(); - return e; - } - } - return null; -} -Function._validateParameterCount = function Function$_validateParameterCount(params, expectedParams) { - var maxParams = expectedParams.length; - var minParams = 0; - for (var i=0; i < expectedParams.length; i++) { - if (expectedParams[i].parameterArray) { - maxParams = Number.MAX_VALUE; - } - else if (!expectedParams[i].optional) { - minParams++; - } - } - if (params.length < minParams || params.length > maxParams) { - var e = Error.parameterCount(); - e.popStackFrame(); - return e; - } - return null; -} -Function._validateParameter = function Function$_validateParameter(param, expectedParam, paramName) { - var e; - var expectedType = expectedParam.type; - var expectedInteger = !!expectedParam.integer; - var expectedDomElement = !!expectedParam.domElement; - var mayBeNull = !!expectedParam.mayBeNull; - e = Function._validateParameterType(param, expectedType, expectedInteger, expectedDomElement, mayBeNull, paramName); - if (e) { - e.popStackFrame(); - return e; - } - var expectedElementType = expectedParam.elementType; - var elementMayBeNull = !!expectedParam.elementMayBeNull; - if (expectedType === Array && typeof(param) !== "undefined" && param !== null && - (expectedElementType || !elementMayBeNull)) { - var expectedElementInteger = !!expectedParam.elementInteger; - var expectedElementDomElement = !!expectedParam.elementDomElement; - for (var i=0; i < param.length; i++) { - var elem = param[i]; - e = Function._validateParameterType(elem, expectedElementType, - expectedElementInteger, expectedElementDomElement, elementMayBeNull, - paramName + "[" + i + "]"); - if (e) { - e.popStackFrame(); - return e; - } - } - } - return null; -} -Function._validateParameterType = function Function$_validateParameterType(param, expectedType, expectedInteger, expectedDomElement, mayBeNull, paramName) { - var e; - if (typeof(param) === "undefined") { - if (mayBeNull) { - return null; - } - else { - e = Error.argumentUndefined(paramName); - e.popStackFrame(); - return e; - } - } - if (param === null) { - if (mayBeNull) { - return null; - } - else { - e = Error.argumentNull(paramName); - e.popStackFrame(); - return e; - } - } - if (expectedType && expectedType.__enum) { - if (typeof(param) !== 'number') { - e = Error.argumentType(paramName, Object.getType(param), expectedType); - e.popStackFrame(); - return e; - } - if ((param % 1) === 0) { - var values = expectedType.prototype; - if (!expectedType.__flags || (param === 0)) { - for (var i in values) { - if (values[i] === param) return null; - } - } - else { - var v = param; - for (var i in values) { - var vali = values[i]; - if (vali === 0) continue; - if ((vali & param) === vali) { - v -= vali; - } - if (v === 0) return null; - } - } - } - e = Error.argumentOutOfRange(paramName, param, String.format(Sys.Res.enumInvalidValue, param, expectedType.getName())); - e.popStackFrame(); - return e; - } - if (expectedDomElement) { - var val; - if (typeof(param.nodeType) !== 'number') { - var doc = param.ownerDocument || param.document || param; - if (doc != param) { - var w = doc.defaultView || doc.parentWindow; - val = (w != param) && !(w.document && param.document && (w.document === param.document)); - } - else { - val = (typeof(doc.body) === 'undefined'); - } - } - else { - val = (param.nodeType === 3); - } - if (val) { - e = Error.argument(paramName, Sys.Res.argumentDomElement); - e.popStackFrame(); - return e; - } - } - if (expectedType && !expectedType.isInstanceOfType(param)) { - e = Error.argumentType(paramName, Object.getType(param), expectedType); - e.popStackFrame(); - return e; - } - if (expectedType === Number && expectedInteger) { - if ((param % 1) !== 0) { - e = Error.argumentOutOfRange(paramName, param, Sys.Res.argumentInteger); - e.popStackFrame(); - return e; - } - } - return null; -} - -Error.__typeName = 'Error'; -Error.__class = true; -Error.create = function Error$create(message, errorInfo) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "message", type: String, mayBeNull: true, optional: true}, - {name: "errorInfo", mayBeNull: true, optional: true} - ]); - if (e) throw e; - var e = new Error(message); - e.message = message; - if (errorInfo) { - for (var v in errorInfo) { - e[v] = errorInfo[v]; - } - } - e.popStackFrame(); - return e; -} -Error.argument = function Error$argument(paramName, message) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "paramName", type: String, mayBeNull: true, optional: true}, - {name: "message", type: String, mayBeNull: true, optional: true} - ]); - if (e) throw e; - var displayMessage = "Sys.ArgumentException: " + (message ? message : Sys.Res.argument); - if (paramName) { - displayMessage += "\n" + String.format(Sys.Res.paramName, paramName); - } - var e = Error.create(displayMessage, { name: "Sys.ArgumentException", paramName: paramName }); - e.popStackFrame(); - return e; -} -Error.argumentNull = function Error$argumentNull(paramName, message) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "paramName", type: String, mayBeNull: true, optional: true}, - {name: "message", type: String, mayBeNull: true, optional: true} - ]); - if (e) throw e; - var displayMessage = "Sys.ArgumentNullException: " + (message ? message : Sys.Res.argumentNull); - if (paramName) { - displayMessage += "\n" + String.format(Sys.Res.paramName, paramName); - } - var e = Error.create(displayMessage, { name: "Sys.ArgumentNullException", paramName: paramName }); - e.popStackFrame(); - return e; -} -Error.argumentOutOfRange = function Error$argumentOutOfRange(paramName, actualValue, message) { - /// - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "paramName", type: String, mayBeNull: true, optional: true}, - {name: "actualValue", mayBeNull: true, optional: true}, - {name: "message", type: String, mayBeNull: true, optional: true} - ]); - if (e) throw e; - var displayMessage = "Sys.ArgumentOutOfRangeException: " + (message ? message : Sys.Res.argumentOutOfRange); - if (paramName) { - displayMessage += "\n" + String.format(Sys.Res.paramName, paramName); - } - if (typeof(actualValue) !== "undefined" && actualValue !== null) { - displayMessage += "\n" + String.format(Sys.Res.actualValue, actualValue); - } - var e = Error.create(displayMessage, { - name: "Sys.ArgumentOutOfRangeException", - paramName: paramName, - actualValue: actualValue - }); - e.popStackFrame(); - return e; -} -Error.argumentType = function Error$argumentType(paramName, actualType, expectedType, message) { - /// - /// - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "paramName", type: String, mayBeNull: true, optional: true}, - {name: "actualType", type: Type, mayBeNull: true, optional: true}, - {name: "expectedType", type: Type, mayBeNull: true, optional: true}, - {name: "message", type: String, mayBeNull: true, optional: true} - ]); - if (e) throw e; - var displayMessage = "Sys.ArgumentTypeException: "; - if (message) { - displayMessage += message; - } - else if (actualType && expectedType) { - displayMessage += - String.format(Sys.Res.argumentTypeWithTypes, actualType.getName(), expectedType.getName()); - } - else { - displayMessage += Sys.Res.argumentType; - } - if (paramName) { - displayMessage += "\n" + String.format(Sys.Res.paramName, paramName); - } - var e = Error.create(displayMessage, { - name: "Sys.ArgumentTypeException", - paramName: paramName, - actualType: actualType, - expectedType: expectedType - }); - e.popStackFrame(); - return e; -} -Error.argumentUndefined = function Error$argumentUndefined(paramName, message) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "paramName", type: String, mayBeNull: true, optional: true}, - {name: "message", type: String, mayBeNull: true, optional: true} - ]); - if (e) throw e; - var displayMessage = "Sys.ArgumentUndefinedException: " + (message ? message : Sys.Res.argumentUndefined); - if (paramName) { - displayMessage += "\n" + String.format(Sys.Res.paramName, paramName); - } - var e = Error.create(displayMessage, { name: "Sys.ArgumentUndefinedException", paramName: paramName }); - e.popStackFrame(); - return e; -} -Error.format = function Error$format(message) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "message", type: String, mayBeNull: true, optional: true} - ]); - if (e) throw e; - var displayMessage = "Sys.FormatException: " + (message ? message : Sys.Res.format); - var e = Error.create(displayMessage, {name: 'Sys.FormatException'}); - e.popStackFrame(); - return e; -} -Error.invalidOperation = function Error$invalidOperation(message) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "message", type: String, mayBeNull: true, optional: true} - ]); - if (e) throw e; - var displayMessage = "Sys.InvalidOperationException: " + (message ? message : Sys.Res.invalidOperation); - var e = Error.create(displayMessage, {name: 'Sys.InvalidOperationException'}); - e.popStackFrame(); - return e; -} -Error.notImplemented = function Error$notImplemented(message) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "message", type: String, mayBeNull: true, optional: true} - ]); - if (e) throw e; - var displayMessage = "Sys.NotImplementedException: " + (message ? message : Sys.Res.notImplemented); - var e = Error.create(displayMessage, {name: 'Sys.NotImplementedException'}); - e.popStackFrame(); - return e; -} -Error.parameterCount = function Error$parameterCount(message) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "message", type: String, mayBeNull: true, optional: true} - ]); - if (e) throw e; - var displayMessage = "Sys.ParameterCountException: " + (message ? message : Sys.Res.parameterCount); - var e = Error.create(displayMessage, {name: 'Sys.ParameterCountException'}); - e.popStackFrame(); - return e; -} -Error.prototype.popStackFrame = function Error$popStackFrame() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (typeof(this.stack) === "undefined" || this.stack === null || - typeof(this.fileName) === "undefined" || this.fileName === null || - typeof(this.lineNumber) === "undefined" || this.lineNumber === null) { - return; - } - var stackFrames = this.stack.split("\n"); - var currentFrame = stackFrames[0]; - var pattern = this.fileName + ":" + this.lineNumber; - while(typeof(currentFrame) !== "undefined" && - currentFrame !== null && - currentFrame.indexOf(pattern) === -1) { - stackFrames.shift(); - currentFrame = stackFrames[0]; - } - var nextFrame = stackFrames[1]; - if (typeof(nextFrame) === "undefined" || nextFrame === null) { - return; - } - var nextFrameParts = nextFrame.match(/@(.*):(\d+)$/); - if (typeof(nextFrameParts) === "undefined" || nextFrameParts === null) { - return; - } - this.fileName = nextFrameParts[1]; - this.lineNumber = parseInt(nextFrameParts[2]); - stackFrames.shift(); - this.stack = stackFrames.join("\n"); -} - -Object.__typeName = 'Object'; -Object.__class = true; -Object.getType = function Object$getType(instance) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "instance"} - ]); - if (e) throw e; - var ctor = instance.constructor; - if (!ctor || (typeof(ctor) !== "function") || !ctor.__typeName || (ctor.__typeName === 'Object')) { - return Object; - } - return ctor; -} -Object.getTypeName = function Object$getTypeName(instance) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "instance"} - ]); - if (e) throw e; - return Object.getType(instance).getName(); -} - -String.__typeName = 'String'; -String.__class = true; -String.prototype.endsWith = function String$endsWith(suffix) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "suffix", type: String} - ]); - if (e) throw e; - return (this.substr(this.length - suffix.length) === suffix); -} -String.prototype.startsWith = function String$startsWith(prefix) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "prefix", type: String} - ]); - if (e) throw e; - return (this.substr(0, prefix.length) === prefix); -} -String.prototype.trim = function String$trim() { - /// - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this.replace(/^\s+|\s+$/g, ''); -} -String.prototype.trimEnd = function String$trimEnd() { - /// - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this.replace(/\s+$/, ''); -} -String.prototype.trimStart = function String$trimStart() { - /// - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this.replace(/^\s+/, ''); -} -String.format = function String$format(format, args) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "format", type: String}, - {name: "args", mayBeNull: true, parameterArray: true} - ]); - if (e) throw e; - return String._toFormattedString(false, arguments); -} -String.localeFormat = function String$localeFormat(format, args) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "format", type: String}, - {name: "args", mayBeNull: true, parameterArray: true} - ]); - if (e) throw e; - return String._toFormattedString(true, arguments); -} -String._toFormattedString = function String$_toFormattedString(useLocale, args) { - var result = ''; - var format = args[0]; - for (var i=0;;) { - var open = format.indexOf('{', i); - var close = format.indexOf('}', i); - if ((open < 0) && (close < 0)) { - result += format.slice(i); - break; - } - if ((close > 0) && ((close < open) || (open < 0))) { - if (format.charAt(close + 1) !== '}') { - throw Error.argument('format', Sys.Res.stringFormatBraceMismatch); - } - result += format.slice(i, close + 1); - i = close + 2; - continue; - } - result += format.slice(i, open); - i = open + 1; - if (format.charAt(i) === '{') { - result += '{'; - i++; - continue; - } - if (close < 0) throw Error.argument('format', Sys.Res.stringFormatBraceMismatch); - var brace = format.substring(i, close); - var colonIndex = brace.indexOf(':'); - var argNumber = parseInt((colonIndex < 0)? brace : brace.substring(0, colonIndex), 10) + 1; - if (isNaN(argNumber)) throw Error.argument('format', Sys.Res.stringFormatInvalid); - var argFormat = (colonIndex < 0)? '' : brace.substring(colonIndex + 1); - var arg = args[argNumber]; - if (typeof(arg) === "undefined" || arg === null) { - arg = ''; - } - if (arg.toFormattedString) { - result += arg.toFormattedString(argFormat); - } - else if (useLocale && arg.localeFormat) { - result += arg.localeFormat(argFormat); - } - else if (arg.format) { - result += arg.format(argFormat); - } - else - result += arg.toString(); - i = close + 1; - } - return result; -} - -Boolean.__typeName = 'Boolean'; -Boolean.__class = true; -Boolean.parse = function Boolean$parse(value) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "value", type: String} - ]); - if (e) throw e; - var v = value.trim().toLowerCase(); - if (v === 'false') return false; - if (v === 'true') return true; - throw Error.argumentOutOfRange('value', value, Sys.Res.boolTrueOrFalse); -} - -Date.__typeName = 'Date'; -Date.__class = true; -Date._appendPreOrPostMatch = function Date$_appendPreOrPostMatch(preMatch, strBuilder) { - var quoteCount = 0; - var escaped = false; - for (var i = 0, il = preMatch.length; i < il; i++) { - var c = preMatch.charAt(i); - switch (c) { - case '\'': - if (escaped) strBuilder.append("'"); - else quoteCount++; - escaped = false; - break; - case '\\': - if (escaped) strBuilder.append("\\"); - escaped = !escaped; - break; - default: - strBuilder.append(c); - escaped = false; - break; - } - } - return quoteCount; -} -Date._expandFormat = function Date$_expandFormat(dtf, format) { - if (!format) { - format = "F"; - } - if (format.length === 1) { - switch (format) { - case "d": - return dtf.ShortDatePattern; - case "D": - return dtf.LongDatePattern; - case "t": - return dtf.ShortTimePattern; - case "T": - return dtf.LongTimePattern; - case "F": - return dtf.FullDateTimePattern; - case "M": case "m": - return dtf.MonthDayPattern; - case "s": - return dtf.SortableDateTimePattern; - case "Y": case "y": - return dtf.YearMonthPattern; - default: - throw Error.format(Sys.Res.formatInvalidString); - } - } - return format; -} -Date._expandYear = function Date$_expandYear(dtf, year) { - if (year < 100) { - var curr = new Date().getFullYear(); - year += curr - (curr % 100); - if (year > dtf.Calendar.TwoDigitYearMax) { - return year - 100; - } - } - return year; -} -Date._getParseRegExp = function Date$_getParseRegExp(dtf, format) { - if (!dtf._parseRegExp) { - dtf._parseRegExp = {}; - } - else if (dtf._parseRegExp[format]) { - return dtf._parseRegExp[format]; - } - var expFormat = Date._expandFormat(dtf, format); - expFormat = expFormat.replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g, "\\\\$1"); - var regexp = new Sys.StringBuilder("^"); - var groups = []; - var index = 0; - var quoteCount = 0; - var tokenRegExp = Date._getTokenRegExp(); - var match; - while ((match = tokenRegExp.exec(expFormat)) !== null) { - var preMatch = expFormat.slice(index, match.index); - index = tokenRegExp.lastIndex; - quoteCount += Date._appendPreOrPostMatch(preMatch, regexp); - if ((quoteCount%2) === 1) { - regexp.append(match[0]); - continue; - } - switch (match[0]) { - case 'dddd': case 'ddd': - case 'MMMM': case 'MMM': - regexp.append("(\\D+)"); - break; - case 'tt': case 't': - regexp.append("(\\D*)"); - break; - case 'yyyy': - regexp.append("(\\d{4})"); - break; - case 'fff': - regexp.append("(\\d{3})"); - break; - case 'ff': - regexp.append("(\\d{2})"); - break; - case 'f': - regexp.append("(\\d)"); - break; - case 'dd': case 'd': - case 'MM': case 'M': - case 'yy': case 'y': - case 'HH': case 'H': - case 'hh': case 'h': - case 'mm': case 'm': - case 'ss': case 's': - regexp.append("(\\d\\d?)"); - break; - case 'zzz': - regexp.append("([+-]?\\d\\d?:\\d{2})"); - break; - case 'zz': case 'z': - regexp.append("([+-]?\\d\\d?)"); - break; - } - Array.add(groups, match[0]); - } - Date._appendPreOrPostMatch(expFormat.slice(index), regexp); - regexp.append("$"); - var regexpStr = regexp.toString().replace(/\s+/g, "\\s+"); - var parseRegExp = {'regExp': regexpStr, 'groups': groups}; - dtf._parseRegExp[format] = parseRegExp; - return parseRegExp; -} -Date._getTokenRegExp = function Date$_getTokenRegExp() { - return /dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z/g; -} -Date.parseLocale = function Date$parseLocale(value, formats) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "value", type: String}, - {name: "formats", mayBeNull: true, optional: true, parameterArray: true} - ]); - if (e) throw e; - return Date._parse(value, Sys.CultureInfo.CurrentCulture, arguments); -} -Date.parseInvariant = function Date$parseInvariant(value, formats) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "value", type: String}, - {name: "formats", mayBeNull: true, optional: true, parameterArray: true} - ]); - if (e) throw e; - return Date._parse(value, Sys.CultureInfo.InvariantCulture, arguments); -} -Date._parse = function Date$_parse(value, cultureInfo, args) { - var custom = false; - for (var i = 1, il = args.length; i < il; i++) { - var format = args[i]; - if (format) { - custom = true; - var date = Date._parseExact(value, format, cultureInfo); - if (date) return date; - } - } - if (! custom) { - var formats = cultureInfo._getDateTimeFormats(); - for (var i = 0, il = formats.length; i < il; i++) { - var date = Date._parseExact(value, formats[i], cultureInfo); - if (date) return date; - } - } - return null; -} -Date._parseExact = function Date$_parseExact(value, format, cultureInfo) { - value = value.trim(); - var dtf = cultureInfo.dateTimeFormat; - var parseInfo = Date._getParseRegExp(dtf, format); - var match = new RegExp(parseInfo.regExp).exec(value); - if (match === null) return null; - - var groups = parseInfo.groups; - var year = null, month = null, date = null, weekDay = null; - var hour = 0, min = 0, sec = 0, msec = 0, tzMinOffset = null; - var pmHour = false; - for (var j = 0, jl = groups.length; j < jl; j++) { - var matchGroup = match[j+1]; - if (matchGroup) { - switch (groups[j]) { - case 'dd': case 'd': - date = parseInt(matchGroup, 10); - if ((date < 1) || (date > 31)) return null; - break; - case 'MMMM': - month = cultureInfo._getMonthIndex(matchGroup); - if ((month < 0) || (month > 11)) return null; - break; - case 'MMM': - month = cultureInfo._getAbbrMonthIndex(matchGroup); - if ((month < 0) || (month > 11)) return null; - break; - case 'M': case 'MM': - var month = parseInt(matchGroup, 10) - 1; - if ((month < 0) || (month > 11)) return null; - break; - case 'y': case 'yy': - year = Date._expandYear(dtf,parseInt(matchGroup, 10)); - if ((year < 0) || (year > 9999)) return null; - break; - case 'yyyy': - year = parseInt(matchGroup, 10); - if ((year < 0) || (year > 9999)) return null; - break; - case 'h': case 'hh': - hour = parseInt(matchGroup, 10); - if (hour === 12) hour = 0; - if ((hour < 0) || (hour > 11)) return null; - break; - case 'H': case 'HH': - hour = parseInt(matchGroup, 10); - if ((hour < 0) || (hour > 23)) return null; - break; - case 'm': case 'mm': - min = parseInt(matchGroup, 10); - if ((min < 0) || (min > 59)) return null; - break; - case 's': case 'ss': - sec = parseInt(matchGroup, 10); - if ((sec < 0) || (sec > 59)) return null; - break; - case 'tt': case 't': - var upperToken = matchGroup.toUpperCase(); - pmHour = (upperToken === dtf.PMDesignator.toUpperCase()); - if (!pmHour && (upperToken !== dtf.AMDesignator.toUpperCase())) return null; - break; - case 'f': - msec = parseInt(matchGroup, 10) * 100; - if ((msec < 0) || (msec > 999)) return null; - break; - case 'ff': - msec = parseInt(matchGroup, 10) * 10; - if ((msec < 0) || (msec > 999)) return null; - break; - case 'fff': - msec = parseInt(matchGroup, 10); - if ((msec < 0) || (msec > 999)) return null; - break; - case 'dddd': - weekDay = cultureInfo._getDayIndex(matchGroup); - if ((weekDay < 0) || (weekDay > 6)) return null; - break; - case 'ddd': - weekDay = cultureInfo._getAbbrDayIndex(matchGroup); - if ((weekDay < 0) || (weekDay > 6)) return null; - break; - case 'zzz': - var offsets = matchGroup.split(/:/); - if (offsets.length !== 2) return null; - var hourOffset = parseInt(offsets[0], 10); - if ((hourOffset < -12) || (hourOffset > 13)) return null; - var minOffset = parseInt(offsets[1], 10); - if ((minOffset < 0) || (minOffset > 59)) return null; - tzMinOffset = (hourOffset * 60) + (matchGroup.startsWith('-')? -minOffset : minOffset); - break; - case 'z': case 'zz': - var hourOffset = parseInt(matchGroup, 10); - if ((hourOffset < -12) || (hourOffset > 13)) return null; - tzMinOffset = hourOffset * 60; - break; - } - } - } - var result = new Date(); - if (year === null) { - year = result.getFullYear(); - } - if (month === null) { - month = result.getMonth(); - } - if (date === null) { - date = result.getDate(); - } - result.setFullYear(year, month, date); - if (result.getDate() !== date) return null; - if ((weekDay !== null) && (result.getDay() !== weekDay)) { - return null; - } - if (pmHour && (hour < 12)) { - hour += 12; - } - result.setHours(hour, min, sec, msec); - if (tzMinOffset !== null) { - var adjustedMin = result.getMinutes() - (tzMinOffset + result.getTimezoneOffset()); - result.setHours(result.getHours() + parseInt(adjustedMin/60, 10), adjustedMin%60); - } - return result; -} -Date.prototype.format = function Date$format(format) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "format", type: String} - ]); - if (e) throw e; - return this._toFormattedString(format, Sys.CultureInfo.InvariantCulture); -} -Date.prototype.localeFormat = function Date$localeFormat(format) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "format", type: String} - ]); - if (e) throw e; - return this._toFormattedString(format, Sys.CultureInfo.CurrentCulture); -} -Date.prototype._toFormattedString = function Date$_toFormattedString(format, cultureInfo) { - if (!format || (format.length === 0) || (format === 'i')) { - if (cultureInfo && (cultureInfo.name.length > 0)) { - return this.toLocaleString(); - } - else { - return this.toString(); - } - } - var dtf = cultureInfo.dateTimeFormat; - format = Date._expandFormat(dtf, format); - var ret = new Sys.StringBuilder(); - var hour; - function addLeadingZero(num) { - if (num < 10) { - return '0' + num; - } - return num.toString(); - } - function addLeadingZeros(num) { - if (num < 10) { - return '00' + num; - } - if (num < 100) { - return '0' + num; - } - return num.toString(); - } - var quoteCount = 0; - var tokenRegExp = Date._getTokenRegExp(); - for (;;) { - var index = tokenRegExp.lastIndex; - var ar = tokenRegExp.exec(format); - var preMatch = format.slice(index, ar ? ar.index : format.length); - quoteCount += Date._appendPreOrPostMatch(preMatch, ret); - if (!ar) break; - if ((quoteCount%2) === 1) { - ret.append(ar[0]); - continue; - } - switch (ar[0]) { - case "dddd": - ret.append(dtf.DayNames[this.getDay()]); - break; - case "ddd": - ret.append(dtf.AbbreviatedDayNames[this.getDay()]); - break; - case "dd": - ret.append(addLeadingZero(this.getDate())); - break; - case "d": - ret.append(this.getDate()); - break; - case "MMMM": - ret.append(dtf.MonthNames[this.getMonth()]); - break; - case "MMM": - ret.append(dtf.AbbreviatedMonthNames[this.getMonth()]); - break; - case "MM": - ret.append(addLeadingZero(this.getMonth() + 1)); - break; - case "M": - ret.append(this.getMonth() + 1); - break; - case "yyyy": - ret.append(this.getFullYear()); - break; - case "yy": - ret.append(addLeadingZero(this.getFullYear() % 100)); - break; - case "y": - ret.append(this.getFullYear() % 100); - break; - case "hh": - hour = this.getHours() % 12; - if (hour === 0) hour = 12; - ret.append(addLeadingZero(hour)); - break; - case "h": - hour = this.getHours() % 12; - if (hour === 0) hour = 12; - ret.append(hour); - break; - case "HH": - ret.append(addLeadingZero(this.getHours())); - break; - case "H": - ret.append(this.getHours()); - break; - case "mm": - ret.append(addLeadingZero(this.getMinutes())); - break; - case "m": - ret.append(this.getMinutes()); - break; - case "ss": - ret.append(addLeadingZero(this.getSeconds())); - break; - case "s": - ret.append(this.getSeconds()); - break; - case "tt": - ret.append((this.getHours() < 12) ? dtf.AMDesignator : dtf.PMDesignator); - break; - case "t": - ret.append(((this.getHours() < 12) ? dtf.AMDesignator : dtf.PMDesignator).charAt(0)); - break; - case "f": - ret.append(addLeadingZeros(this.getMilliseconds()).charAt(0)); - break; - case "ff": - ret.append(addLeadingZeros(this.getMilliseconds()).substr(0, 2)); - break; - case "fff": - ret.append(addLeadingZeros(this.getMilliseconds())); - break; - case "z": - hour = this.getTimezoneOffset() / 60; - ret.append(((hour <= 0) ? '+' : '-') + Math.floor(Math.abs(hour))); - break; - case "zz": - hour = this.getTimezoneOffset() / 60; - ret.append(((hour <= 0) ? '+' : '-') + addLeadingZero(Math.floor(Math.abs(hour)))); - break; - case "zzz": - hour = this.getTimezoneOffset() / 60; - ret.append(((hour <= 0) ? '+' : '-') + addLeadingZero(Math.floor(Math.abs(hour))) + - dtf.TimeSeparator + addLeadingZero(Math.abs(this.getTimezoneOffset() % 60))); - break; - } - } - return ret.toString(); -} - -Number.__typeName = 'Number'; -Number.__class = true; -Number.parseLocale = function Number$parseLocale(value) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "value", type: String} - ]); - if (e) throw e; - return Number._parse(value, Sys.CultureInfo.CurrentCulture); -} -Number.parseInvariant = function Number$parseInvariant(value) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "value", type: String} - ]); - if (e) throw e; - return Number._parse(value, Sys.CultureInfo.InvariantCulture); -} -Number._parse = function Number$_parse(value, cultureInfo) { - value = value.trim(); - - if (value.match(/^[+-]?infinity$/i)) { - return parseFloat(value); - } - if (value.match(/^0x[a-f0-9]+$/i)) { - return parseInt(value); - } - var numFormat = cultureInfo.numberFormat; - var signInfo = Number._parseNumberNegativePattern(value, numFormat, numFormat.NumberNegativePattern); - var sign = signInfo[0]; - var num = signInfo[1]; - - if ((sign === '') && (numFormat.NumberNegativePattern !== 1)) { - signInfo = Number._parseNumberNegativePattern(value, numFormat, 1); - sign = signInfo[0]; - num = signInfo[1]; - } - if (sign === '') sign = '+'; - - var exponent; - var intAndFraction; - var exponentPos = num.indexOf('e'); - if (exponentPos < 0) exponentPos = num.indexOf('E'); - if (exponentPos < 0) { - intAndFraction = num; - exponent = null; - } - else { - intAndFraction = num.substr(0, exponentPos); - exponent = num.substr(exponentPos + 1); - } - - var integer; - var fraction; - var decimalPos = intAndFraction.indexOf(numFormat.NumberDecimalSeparator); - if (decimalPos < 0) { - integer = intAndFraction; - fraction = null; - } - else { - integer = intAndFraction.substr(0, decimalPos); - fraction = intAndFraction.substr(decimalPos + numFormat.NumberDecimalSeparator.length); - } - - integer = integer.split(numFormat.NumberGroupSeparator).join(''); - var altNumGroupSeparator = numFormat.NumberGroupSeparator.replace(/\u00A0/g, " "); - if (numFormat.NumberGroupSeparator !== altNumGroupSeparator) { - integer = integer.split(altNumGroupSeparator).join(''); - } - - var p = sign + integer; - if (fraction !== null) { - p += '.' + fraction; - } - if (exponent !== null) { - var expSignInfo = Number._parseNumberNegativePattern(exponent, numFormat, 1); - if (expSignInfo[0] === '') { - expSignInfo[0] = '+'; - } - p += 'e' + expSignInfo[0] + expSignInfo[1]; - } - if (p.match(/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/)) { - return parseFloat(p); - } - return Number.NaN; -} -Number._parseNumberNegativePattern = function Number$_parseNumberNegativePattern(value, numFormat, numberNegativePattern) { - var neg = numFormat.NegativeSign; - var pos = numFormat.PositiveSign; - switch (numberNegativePattern) { - case 4: - neg = ' ' + neg; - pos = ' ' + pos; - case 3: - if (value.endsWith(neg)) { - return ['-', value.substr(0, value.length - neg.length)]; - } - else if (value.endsWith(pos)) { - return ['+', value.substr(0, value.length - pos.length)]; - } - break; - case 2: - neg += ' '; - pos += ' '; - case 1: - if (value.startsWith(neg)) { - return ['-', value.substr(neg.length)]; - } - else if (value.startsWith(pos)) { - return ['+', value.substr(pos.length)]; - } - break; - case 0: - if (value.startsWith('(') && value.endsWith(')')) { - return ['-', value.substr(1, value.length - 2)]; - } - break; - } - return ['', value]; -} -Number.prototype.format = function Number$format(format) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "format", type: String} - ]); - if (e) throw e; - return this._toFormattedString(format, Sys.CultureInfo.InvariantCulture); -} -Number.prototype.localeFormat = function Number$localeFormat(format) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "format", type: String} - ]); - if (e) throw e; - return this._toFormattedString(format, Sys.CultureInfo.CurrentCulture); -} -Number.prototype._toFormattedString = function Number$_toFormattedString(format, cultureInfo) { - if (!format || (format.length === 0) || (format === 'i')) { - if (cultureInfo && (cultureInfo.name.length > 0)) { - return this.toLocaleString(); - } - else { - return this.toString(); - } - } - - var _percentPositivePattern = ["n %", "n%", "%n" ]; - var _percentNegativePattern = ["-n %", "-n%", "-%n"]; - var _numberNegativePattern = ["(n)","-n","- n","n-","n -"]; - var _currencyPositivePattern = ["$n","n$","$ n","n $"]; - var _currencyNegativePattern = ["($n)","-$n","$-n","$n-","(n$)","-n$","n-$","n$-","-n $","-$ n","n $-","$ n-","$ -n","n- $","($ n)","(n $)"]; - function zeroPad(str, count, left) { - for (var l=str.length; l < count; l++) { - str = (left ? ('0' + str) : (str + '0')); - } - return str; - } - - function expandNumber(number, precision, groupSizes, sep, decimalChar) { - - var curSize = groupSizes[0]; - var curGroupIndex = 1; - var factor = Math.pow(10, precision); - var rounded = (Math.round(number * factor) / factor); - if (!isFinite(rounded)) { - rounded = number; - } - number = rounded; - - var numberString = number.toString(); - var right = ""; - var exponent; - - - var split = numberString.split(/e/i); - numberString = split[0]; - exponent = (split.length > 1 ? parseInt(split[1]) : 0); - split = numberString.split('.'); - numberString = split[0]; - right = split.length > 1 ? split[1] : ""; - - var l; - if (exponent > 0) { - right = zeroPad(right, exponent, false); - numberString += right.slice(0, exponent); - right = right.substr(exponent); - } - else if (exponent < 0) { - exponent = -exponent; - numberString = zeroPad(numberString, exponent+1, true); - right = numberString.slice(-exponent, numberString.length) + right; - numberString = numberString.slice(0, -exponent); - } - if (precision > 0) { - if (right.length > precision) { - right = right.slice(0, precision); - } - else { - right = zeroPad(right, precision, false); - } - right = decimalChar + right; - } - else { - right = ""; - } - var stringIndex = numberString.length-1; - var ret = ""; - while (stringIndex >= 0) { - if (curSize === 0 || curSize > stringIndex) { - if (ret.length > 0) - return numberString.slice(0, stringIndex + 1) + sep + ret + right; - else - return numberString.slice(0, stringIndex + 1) + right; - } - if (ret.length > 0) - ret = numberString.slice(stringIndex - curSize + 1, stringIndex+1) + sep + ret; - else - ret = numberString.slice(stringIndex - curSize + 1, stringIndex+1); - stringIndex -= curSize; - if (curGroupIndex < groupSizes.length) { - curSize = groupSizes[curGroupIndex]; - curGroupIndex++; - } - } - return numberString.slice(0, stringIndex + 1) + sep + ret + right; - } - var nf = cultureInfo.numberFormat; - var number = Math.abs(this); - if (!format) - format = "D"; - var precision = -1; - if (format.length > 1) precision = parseInt(format.slice(1), 10); - var pattern; - switch (format.charAt(0)) { - case "d": - case "D": - pattern = 'n'; - if (precision !== -1) { - number = zeroPad(""+number, precision, true); - } - if (this < 0) number = -number; - break; - case "c": - case "C": - if (this < 0) pattern = _currencyNegativePattern[nf.CurrencyNegativePattern]; - else pattern = _currencyPositivePattern[nf.CurrencyPositivePattern]; - if (precision === -1) precision = nf.CurrencyDecimalDigits; - number = expandNumber(Math.abs(this), precision, nf.CurrencyGroupSizes, nf.CurrencyGroupSeparator, nf.CurrencyDecimalSeparator); - break; - case "n": - case "N": - if (this < 0) pattern = _numberNegativePattern[nf.NumberNegativePattern]; - else pattern = 'n'; - if (precision === -1) precision = nf.NumberDecimalDigits; - number = expandNumber(Math.abs(this), precision, nf.NumberGroupSizes, nf.NumberGroupSeparator, nf.NumberDecimalSeparator); - break; - case "p": - case "P": - if (this < 0) pattern = _percentNegativePattern[nf.PercentNegativePattern]; - else pattern = _percentPositivePattern[nf.PercentPositivePattern]; - if (precision === -1) precision = nf.PercentDecimalDigits; - number = expandNumber(Math.abs(this) * 100, precision, nf.PercentGroupSizes, nf.PercentGroupSeparator, nf.PercentDecimalSeparator); - break; - default: - throw Error.format(Sys.Res.formatBadFormatSpecifier); - } - var regex = /n|\$|-|%/g; - var ret = ""; - for (;;) { - var index = regex.lastIndex; - var ar = regex.exec(pattern); - ret += pattern.slice(index, ar ? ar.index : pattern.length); - if (!ar) - break; - switch (ar[0]) { - case "n": - ret += number; - break; - case "$": - ret += nf.CurrencySymbol; - break; - case "-": - ret += nf.NegativeSign; - break; - case "%": - ret += nf.PercentSymbol; - break; - } - } - return ret; -} - -RegExp.__typeName = 'RegExp'; -RegExp.__class = true; - -Array.__typeName = 'Array'; -Array.__class = true; -Array.add = Array.enqueue = function Array$enqueue(array, item) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "array", type: Array, elementMayBeNull: true}, - {name: "item", mayBeNull: true} - ]); - if (e) throw e; - array[array.length] = item; -} -Array.addRange = function Array$addRange(array, items) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "array", type: Array, elementMayBeNull: true}, - {name: "items", type: Array, elementMayBeNull: true} - ]); - if (e) throw e; - array.push.apply(array, items); -} -Array.clear = function Array$clear(array) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "array", type: Array, elementMayBeNull: true} - ]); - if (e) throw e; - array.length = 0; -} -Array.clone = function Array$clone(array) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "array", type: Array, elementMayBeNull: true} - ]); - if (e) throw e; - if (array.length === 1) { - return [array[0]]; - } - else { - return Array.apply(null, array); - } -} -Array.contains = function Array$contains(array, item) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "array", type: Array, elementMayBeNull: true}, - {name: "item", mayBeNull: true} - ]); - if (e) throw e; - return (Array.indexOf(array, item) >= 0); -} -Array.dequeue = function Array$dequeue(array) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "array", type: Array, elementMayBeNull: true} - ]); - if (e) throw e; - return array.shift(); -} -Array.forEach = function Array$forEach(array, method, instance) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "array", type: Array, elementMayBeNull: true}, - {name: "method", type: Function}, - {name: "instance", mayBeNull: true, optional: true} - ]); - if (e) throw e; - for (var i = 0, l = array.length; i < l; i++) { - var elt = array[i]; - if (typeof(elt) !== 'undefined') method.call(instance, elt, i, array); - } -} -Array.indexOf = function Array$indexOf(array, item, start) { - /// - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "array", type: Array, elementMayBeNull: true}, - {name: "item", mayBeNull: true, optional: true}, - {name: "start", mayBeNull: true, optional: true} - ]); - if (e) throw e; - if (typeof(item) === "undefined") return -1; - var length = array.length; - if (length !== 0) { - start = start - 0; - if (isNaN(start)) { - start = 0; - } - else { - if (isFinite(start)) { - start = start - (start % 1); - } - if (start < 0) { - start = Math.max(0, length + start); - } - } - for (var i = start; i < length; i++) { - if ((typeof(array[i]) !== "undefined") && (array[i] === item)) { - return i; - } - } - } - return -1; -} -Array.insert = function Array$insert(array, index, item) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "array", type: Array, elementMayBeNull: true}, - {name: "index", mayBeNull: true}, - {name: "item", mayBeNull: true} - ]); - if (e) throw e; - array.splice(index, 0, item); -} -Array.parse = function Array$parse(value) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "value", type: String, mayBeNull: true} - ]); - if (e) throw e; - if (!value) return []; - var v = eval(value); - if (!Array.isInstanceOfType(v)) throw Error.argument('value', Sys.Res.arrayParseBadFormat); - return v; -} -Array.remove = function Array$remove(array, item) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "array", type: Array, elementMayBeNull: true}, - {name: "item", mayBeNull: true} - ]); - if (e) throw e; - var index = Array.indexOf(array, item); - if (index >= 0) { - array.splice(index, 1); - } - return (index >= 0); -} -Array.removeAt = function Array$removeAt(array, index) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "array", type: Array, elementMayBeNull: true}, - {name: "index", mayBeNull: true} - ]); - if (e) throw e; - array.splice(index, 1); -} - -if (!window) this.window = this; -window.Type = Function; -Type.__fullyQualifiedIdentifierRegExp = new RegExp("^[^.0-9 \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]([^ \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]*[^. \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\])?$", "i"); -Type.__identifierRegExp = new RegExp("^[^.0-9 \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\][^. \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]*$", "i"); -Type.prototype.callBaseMethod = function Type$callBaseMethod(instance, name, baseArguments) { - /// - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "instance"}, - {name: "name", type: String}, - {name: "baseArguments", type: Array, mayBeNull: true, optional: true, elementMayBeNull: true} - ]); - if (e) throw e; - var baseMethod = this.getBaseMethod(instance, name); - if (!baseMethod) throw Error.invalidOperation(String.format(Sys.Res.methodNotFound, name)); - if (!baseArguments) { - return baseMethod.apply(instance); - } - else { - return baseMethod.apply(instance, baseArguments); - } -} -Type.prototype.getBaseMethod = function Type$getBaseMethod(instance, name) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "instance"}, - {name: "name", type: String} - ]); - if (e) throw e; - if (!this.isInstanceOfType(instance)) throw Error.argumentType('instance', Object.getType(instance), this); - var baseType = this.getBaseType(); - if (baseType) { - var baseMethod = baseType.prototype[name]; - return (baseMethod instanceof Function) ? baseMethod : null; - } - return null; -} -Type.prototype.getBaseType = function Type$getBaseType() { - /// - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return (typeof(this.__baseType) === "undefined") ? null : this.__baseType; -} -Type.prototype.getInterfaces = function Type$getInterfaces() { - /// - /// - if (arguments.length !== 0) throw Error.parameterCount(); - var result = []; - var type = this; - while(type) { - var interfaces = type.__interfaces; - if (interfaces) { - for (var i = 0, l = interfaces.length; i < l; i++) { - var interfaceType = interfaces[i]; - if (!Array.contains(result, interfaceType)) { - result[result.length] = interfaceType; - } - } - } - type = type.__baseType; - } - return result; -} -Type.prototype.getName = function Type$getName() { - /// - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return (typeof(this.__typeName) === "undefined") ? "" : this.__typeName; -} -Type.prototype.implementsInterface = function Type$implementsInterface(interfaceType) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "interfaceType", type: Type} - ]); - if (e) throw e; - this.resolveInheritance(); - var interfaceName = interfaceType.getName(); - var cache = this.__interfaceCache; - if (cache) { - var cacheEntry = cache[interfaceName]; - if (typeof(cacheEntry) !== 'undefined') return cacheEntry; - } - else { - cache = this.__interfaceCache = {}; - } - var baseType = this; - while (baseType) { - var interfaces = baseType.__interfaces; - if (interfaces) { - if (Array.indexOf(interfaces, interfaceType) !== -1) { - return cache[interfaceName] = true; - } - } - baseType = baseType.__baseType; - } - return cache[interfaceName] = false; -} -Type.prototype.inheritsFrom = function Type$inheritsFrom(parentType) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "parentType", type: Type} - ]); - if (e) throw e; - this.resolveInheritance(); - var baseType = this.__baseType; - while (baseType) { - if (baseType === parentType) { - return true; - } - baseType = baseType.__baseType; - } - return false; -} -Type.prototype.initializeBase = function Type$initializeBase(instance, baseArguments) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "instance"}, - {name: "baseArguments", type: Array, mayBeNull: true, optional: true, elementMayBeNull: true} - ]); - if (e) throw e; - if (!this.isInstanceOfType(instance)) throw Error.argumentType('instance', Object.getType(instance), this); - this.resolveInheritance(); - if (this.__baseType) { - if (!baseArguments) { - this.__baseType.apply(instance); - } - else { - this.__baseType.apply(instance, baseArguments); - } - } - return instance; -} -Type.prototype.isImplementedBy = function Type$isImplementedBy(instance) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "instance", mayBeNull: true} - ]); - if (e) throw e; - if (typeof(instance) === "undefined" || instance === null) return false; - var instanceType = Object.getType(instance); - return !!(instanceType.implementsInterface && instanceType.implementsInterface(this)); -} -Type.prototype.isInstanceOfType = function Type$isInstanceOfType(instance) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "instance", mayBeNull: true} - ]); - if (e) throw e; - if (typeof(instance) === "undefined" || instance === null) return false; - if (instance instanceof this) return true; - var instanceType = Object.getType(instance); - return !!(instanceType === this) || - (instanceType.inheritsFrom && instanceType.inheritsFrom(this)) || - (instanceType.implementsInterface && instanceType.implementsInterface(this)); -} -Type.prototype.registerClass = function Type$registerClass(typeName, baseType, interfaceTypes) { - /// - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "typeName", type: String}, - {name: "baseType", type: Type, mayBeNull: true, optional: true}, - {name: "interfaceTypes", type: Type, parameterArray: true} - ]); - if (e) throw e; - if (!Type.__fullyQualifiedIdentifierRegExp.test(typeName)) throw Error.argument('typeName', Sys.Res.notATypeName); - var parsedName; - try { - parsedName = eval(typeName); - } - catch(e) { - throw Error.argument('typeName', Sys.Res.argumentTypeName); - } - if (parsedName !== this) throw Error.argument('typeName', Sys.Res.badTypeName); - if (Sys.__registeredTypes[typeName]) throw Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, typeName)); - if ((arguments.length > 1) && (typeof(baseType) === 'undefined')) throw Error.argumentUndefined('baseType'); - if (baseType && !baseType.__class) throw Error.argument('baseType', Sys.Res.baseNotAClass); - this.prototype.constructor = this; - this.__typeName = typeName; - this.__class = true; - if (baseType) { - this.__baseType = baseType; - this.__basePrototypePending = true; - } - Sys.__upperCaseTypes[typeName.toUpperCase()] = this; - if (interfaceTypes) { - this.__interfaces = []; - this.resolveInheritance(); - for (var i = 2, l = arguments.length; i < l; i++) { - var interfaceType = arguments[i]; - if (!interfaceType.__interface) throw Error.argument('interfaceTypes[' + (i - 2) + ']', Sys.Res.notAnInterface); - for (var methodName in interfaceType.prototype) { - var method = interfaceType.prototype[methodName]; - if (!this.prototype[methodName]) { - this.prototype[methodName] = method; - } - } - this.__interfaces.push(interfaceType); - } - } - Sys.__registeredTypes[typeName] = true; - return this; -} -Type.prototype.registerInterface = function Type$registerInterface(typeName) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "typeName", type: String} - ]); - if (e) throw e; - if (!Type.__fullyQualifiedIdentifierRegExp.test(typeName)) throw Error.argument('typeName', Sys.Res.notATypeName); - var parsedName; - try { - parsedName = eval(typeName); - } - catch(e) { - throw Error.argument('typeName', Sys.Res.argumentTypeName); - } - if (parsedName !== this) throw Error.argument('typeName', Sys.Res.badTypeName); - if (Sys.__registeredTypes[typeName]) throw Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, typeName)); - Sys.__upperCaseTypes[typeName.toUpperCase()] = this; - this.prototype.constructor = this; - this.__typeName = typeName; - this.__interface = true; - Sys.__registeredTypes[typeName] = true; - return this; -} -Type.prototype.resolveInheritance = function Type$resolveInheritance() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (this.__basePrototypePending) { - var baseType = this.__baseType; - baseType.resolveInheritance(); - for (var memberName in baseType.prototype) { - var memberValue = baseType.prototype[memberName]; - if (!this.prototype[memberName]) { - this.prototype[memberName] = memberValue; - } - } - delete this.__basePrototypePending; - } -} -Type.getRootNamespaces = function Type$getRootNamespaces() { - /// - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return Array.clone(Sys.__rootNamespaces); -} -Type.isClass = function Type$isClass(type) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "type", mayBeNull: true} - ]); - if (e) throw e; - if ((typeof(type) === 'undefined') || (type === null)) return false; - return !!type.__class; -} -Type.isInterface = function Type$isInterface(type) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "type", mayBeNull: true} - ]); - if (e) throw e; - if ((typeof(type) === 'undefined') || (type === null)) return false; - return !!type.__interface; -} -Type.isNamespace = function Type$isNamespace(object) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "object", mayBeNull: true} - ]); - if (e) throw e; - if ((typeof(object) === 'undefined') || (object === null)) return false; - return !!object.__namespace; -} -Type.parse = function Type$parse(typeName, ns) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "typeName", type: String, mayBeNull: true}, - {name: "ns", mayBeNull: true, optional: true} - ]); - if (e) throw e; - var fn; - if (ns) { - fn = Sys.__upperCaseTypes[ns.getName().toUpperCase() + '.' + typeName.toUpperCase()]; - return fn || null; - } - if (!typeName) return null; - if (!Type.__htClasses) { - Type.__htClasses = {}; - } - fn = Type.__htClasses[typeName]; - if (!fn) { - fn = eval(typeName); - if (typeof(fn) !== 'function') throw Error.argument('typeName', Sys.Res.notATypeName); - Type.__htClasses[typeName] = fn; - } - return fn; -} -Type.registerNamespace = function Type$registerNamespace(namespacePath) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "namespacePath", type: String} - ]); - if (e) throw e; - if (!Type.__fullyQualifiedIdentifierRegExp.test(namespacePath)) throw Error.argument('namespacePath', Sys.Res.invalidNameSpace); - var rootObject = window; - var namespaceParts = namespacePath.split('.'); - for (var i = 0; i < namespaceParts.length; i++) { - var currentPart = namespaceParts[i]; - var ns = rootObject[currentPart]; - if (ns && !ns.__namespace) { - throw Error.invalidOperation(String.format(Sys.Res.namespaceContainsObject, namespaceParts.splice(0, i + 1).join('.'))); - } - if (!ns) { - ns = rootObject[currentPart] = { - __namespace: true, - __typeName: namespaceParts.slice(0, i + 1).join('.') - }; - if (i === 0) { - Sys.__rootNamespaces[Sys.__rootNamespaces.length] = ns; - } - var parsedName; - try { - parsedName = eval(ns.__typeName); - } - catch(e) { - parsedName = null; - } - if (parsedName !== ns) { - delete rootObject[currentPart]; - throw Error.argument('namespacePath', Sys.Res.invalidNameSpace); - } - ns.getName = function ns$getName() {return this.__typeName;} - } - rootObject = ns; - } -} -window.Sys = { - __namespace: true, - __typeName: "Sys", - getName: function() {return "Sys";}, - __upperCaseTypes: {} -}; -Sys.__rootNamespaces = [Sys]; -Sys.__registeredTypes = {}; - -Sys.IDisposable = function Sys$IDisposable() { - throw Error.notImplemented(); -} - function Sys$IDisposable$dispose() { - throw Error.notImplemented(); - } -Sys.IDisposable.prototype = { - dispose: Sys$IDisposable$dispose -} -Sys.IDisposable.registerInterface('Sys.IDisposable'); - -Sys.StringBuilder = function Sys$StringBuilder(initialText) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "initialText", mayBeNull: true, optional: true} - ]); - if (e) throw e; - this._parts = (typeof(initialText) !== 'undefined' && initialText !== null && initialText !== '') ? - [initialText.toString()] : []; - this._value = {}; - this._len = 0; -} - function Sys$StringBuilder$append(text) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "text", mayBeNull: true} - ]); - if (e) throw e; - this._parts[this._parts.length] = text; - } - function Sys$StringBuilder$appendLine(text) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "text", mayBeNull: true, optional: true} - ]); - if (e) throw e; - this._parts[this._parts.length] = - ((typeof(text) === 'undefined') || (text === null) || (text === '')) ? - '\r\n' : text + '\r\n'; - } - function Sys$StringBuilder$clear() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - this._parts = []; - this._value = {}; - this._len = 0; - } - function Sys$StringBuilder$isEmpty() { - /// - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (this._parts.length === 0) return true; - return this.toString() === ''; - } - function Sys$StringBuilder$toString(separator) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "separator", type: String, mayBeNull: true, optional: true} - ]); - if (e) throw e; - separator = separator || ''; - var parts = this._parts; - if (this._len !== parts.length) { - this._value = {}; - this._len = parts.length; - } - var val = this._value; - if (typeof(val[separator]) === 'undefined') { - if (separator !== '') { - for (var i = 0; i < parts.length;) { - if ((typeof(parts[i]) === 'undefined') || (parts[i] === '') || (parts[i] === null)) { - parts.splice(i, 1); - } - else { - i++; - } - } - } - val[separator] = this._parts.join(separator); - } - return val[separator]; - } -Sys.StringBuilder.prototype = { - append: Sys$StringBuilder$append, - appendLine: Sys$StringBuilder$appendLine, - clear: Sys$StringBuilder$clear, - isEmpty: Sys$StringBuilder$isEmpty, - toString: Sys$StringBuilder$toString -} -Sys.StringBuilder.registerClass('Sys.StringBuilder'); - -if (!window.XMLHttpRequest) { - window.XMLHttpRequest = function window$XMLHttpRequest() { - var progIDs = [ 'Msxml2.XMLHTTP.3.0', 'Msxml2.XMLHTTP' ]; - for (var i = 0, l = progIDs.length; i < l; i++) { - try { - return new ActiveXObject(progIDs[i]); - } - catch (ex) { - } - } - return null; - } -} - -Sys.Browser = {}; -Sys.Browser.InternetExplorer = {}; -Sys.Browser.Firefox = {}; -Sys.Browser.Safari = {}; -Sys.Browser.Opera = {}; -Sys.Browser.agent = null; -Sys.Browser.hasDebuggerStatement = false; -Sys.Browser.name = navigator.appName; -Sys.Browser.version = parseFloat(navigator.appVersion); -Sys.Browser.documentMode = 0; -if (navigator.userAgent.indexOf(' MSIE ') > -1) { - Sys.Browser.agent = Sys.Browser.InternetExplorer; - Sys.Browser.version = parseFloat(navigator.userAgent.match(/MSIE (\d+\.\d+)/)[1]); - if (Sys.Browser.version >= 8) { - if (document.documentMode >= 7) { - Sys.Browser.documentMode = document.documentMode; - } - } - Sys.Browser.hasDebuggerStatement = true; -} -else if (navigator.userAgent.indexOf(' Firefox/') > -1) { - Sys.Browser.agent = Sys.Browser.Firefox; - Sys.Browser.version = parseFloat(navigator.userAgent.match(/ Firefox\/(\d+\.\d+)/)[1]); - Sys.Browser.name = 'Firefox'; - Sys.Browser.hasDebuggerStatement = true; -} -else if (navigator.userAgent.indexOf(' AppleWebKit/') > -1) { - Sys.Browser.agent = Sys.Browser.Safari; - Sys.Browser.version = parseFloat(navigator.userAgent.match(/ AppleWebKit\/(\d+(\.\d+)?)/)[1]); - Sys.Browser.name = 'Safari'; -} -else if (navigator.userAgent.indexOf('Opera/') > -1) { - Sys.Browser.agent = Sys.Browser.Opera; -} -Type.registerNamespace('Sys.UI'); - -Sys._Debug = function Sys$_Debug() { - /// - /// - if (arguments.length !== 0) throw Error.parameterCount(); -} - function Sys$_Debug$_appendConsole(text) { - if ((typeof(Debug) !== 'undefined') && Debug.writeln) { - Debug.writeln(text); - } - if (window.console && window.console.log) { - window.console.log(text); - } - if (window.opera) { - window.opera.postError(text); - } - if (window.debugService) { - window.debugService.trace(text); - } - } - function Sys$_Debug$_appendTrace(text) { - var traceElement = document.getElementById('TraceConsole'); - if (traceElement && (traceElement.tagName.toUpperCase() === 'TEXTAREA')) { - traceElement.value += text + '\n'; - } - } - function Sys$_Debug$assert(condition, message, displayCaller) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "condition", type: Boolean}, - {name: "message", type: String, mayBeNull: true, optional: true}, - {name: "displayCaller", type: Boolean, optional: true} - ]); - if (e) throw e; - if (!condition) { - message = (displayCaller && this.assert.caller) ? - String.format(Sys.Res.assertFailedCaller, message, this.assert.caller) : - String.format(Sys.Res.assertFailed, message); - if (confirm(String.format(Sys.Res.breakIntoDebugger, message))) { - this.fail(message); - } - } - } - function Sys$_Debug$clearTrace() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - var traceElement = document.getElementById('TraceConsole'); - if (traceElement && (traceElement.tagName.toUpperCase() === 'TEXTAREA')) { - traceElement.value = ''; - } - } - function Sys$_Debug$fail(message) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "message", type: String, mayBeNull: true} - ]); - if (e) throw e; - this._appendConsole(message); - if (Sys.Browser.hasDebuggerStatement) { - eval('debugger'); - } - } - function Sys$_Debug$trace(text) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "text"} - ]); - if (e) throw e; - this._appendConsole(text); - this._appendTrace(text); - } - function Sys$_Debug$traceDump(object, name) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "object", mayBeNull: true}, - {name: "name", type: String, mayBeNull: true, optional: true} - ]); - if (e) throw e; - var text = this._traceDump(object, name, true); - } - function Sys$_Debug$_traceDump(object, name, recursive, indentationPadding, loopArray) { - name = name? name : 'traceDump'; - indentationPadding = indentationPadding? indentationPadding : ''; - if (object === null) { - this.trace(indentationPadding + name + ': null'); - return; - } - switch(typeof(object)) { - case 'undefined': - this.trace(indentationPadding + name + ': Undefined'); - break; - case 'number': case 'string': case 'boolean': - this.trace(indentationPadding + name + ': ' + object); - break; - default: - if (Date.isInstanceOfType(object) || RegExp.isInstanceOfType(object)) { - this.trace(indentationPadding + name + ': ' + object.toString()); - break; - } - if (!loopArray) { - loopArray = []; - } - else if (Array.contains(loopArray, object)) { - this.trace(indentationPadding + name + ': ...'); - return; - } - Array.add(loopArray, object); - if ((object == window) || (object === document) || - (window.HTMLElement && (object instanceof HTMLElement)) || - (typeof(object.nodeName) === 'string')) { - var tag = object.tagName? object.tagName : 'DomElement'; - if (object.id) { - tag += ' - ' + object.id; - } - this.trace(indentationPadding + name + ' {' + tag + '}'); - } - else { - var typeName = Object.getTypeName(object); - this.trace(indentationPadding + name + (typeof(typeName) === 'string' ? ' {' + typeName + '}' : '')); - if ((indentationPadding === '') || recursive) { - indentationPadding += " "; - var i, length, properties, p, v; - if (Array.isInstanceOfType(object)) { - length = object.length; - for (i = 0; i < length; i++) { - this._traceDump(object[i], '[' + i + ']', recursive, indentationPadding, loopArray); - } - } - else { - for (p in object) { - v = object[p]; - if (!Function.isInstanceOfType(v)) { - this._traceDump(v, p, recursive, indentationPadding, loopArray); - } - } - } - } - } - Array.remove(loopArray, object); - } - } -Sys._Debug.prototype = { - _appendConsole: Sys$_Debug$_appendConsole, - _appendTrace: Sys$_Debug$_appendTrace, - assert: Sys$_Debug$assert, - clearTrace: Sys$_Debug$clearTrace, - fail: Sys$_Debug$fail, - trace: Sys$_Debug$trace, - traceDump: Sys$_Debug$traceDump, - _traceDump: Sys$_Debug$_traceDump -} -Sys._Debug.registerClass('Sys._Debug'); -Sys.Debug = new Sys._Debug(); - Sys.Debug.isDebug = true; - -function Sys$Enum$parse(value, ignoreCase) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "value", type: String}, - {name: "ignoreCase", type: Boolean, optional: true} - ]); - if (e) throw e; - var values, parsed, val; - if (ignoreCase) { - values = this.__lowerCaseValues; - if (!values) { - this.__lowerCaseValues = values = {}; - var prototype = this.prototype; - for (var name in prototype) { - values[name.toLowerCase()] = prototype[name]; - } - } - } - else { - values = this.prototype; - } - if (!this.__flags) { - val = (ignoreCase ? value.toLowerCase() : value); - parsed = values[val.trim()]; - if (typeof(parsed) !== 'number') throw Error.argument('value', String.format(Sys.Res.enumInvalidValue, value, this.__typeName)); - return parsed; - } - else { - var parts = (ignoreCase ? value.toLowerCase() : value).split(','); - var v = 0; - for (var i = parts.length - 1; i >= 0; i--) { - var part = parts[i].trim(); - parsed = values[part]; - if (typeof(parsed) !== 'number') throw Error.argument('value', String.format(Sys.Res.enumInvalidValue, value.split(',')[i].trim(), this.__typeName)); - v |= parsed; - } - return v; - } -} -function Sys$Enum$toString(value) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "value", mayBeNull: true, optional: true} - ]); - if (e) throw e; - if ((typeof(value) === 'undefined') || (value === null)) return this.__string; - if ((typeof(value) != 'number') || ((value % 1) !== 0)) throw Error.argumentType('value', Object.getType(value), this); - var values = this.prototype; - var i; - if (!this.__flags || (value === 0)) { - for (i in values) { - if (values[i] === value) { - return i; - } - } - } - else { - var sorted = this.__sortedValues; - if (!sorted) { - sorted = []; - for (i in values) { - sorted[sorted.length] = {key: i, value: values[i]}; - } - sorted.sort(function(a, b) { - return a.value - b.value; - }); - this.__sortedValues = sorted; - } - var parts = []; - var v = value; - for (i = sorted.length - 1; i >= 0; i--) { - var kvp = sorted[i]; - var vali = kvp.value; - if (vali === 0) continue; - if ((vali & value) === vali) { - parts[parts.length] = kvp.key; - v -= vali; - if (v === 0) break; - } - } - if (parts.length && v === 0) return parts.reverse().join(', '); - } - throw Error.argumentOutOfRange('value', value, String.format(Sys.Res.enumInvalidValue, value, this.__typeName)); -} -Type.prototype.registerEnum = function Type$registerEnum(name, flags) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "name", type: String}, - {name: "flags", type: Boolean, optional: true} - ]); - if (e) throw e; - if (!Type.__fullyQualifiedIdentifierRegExp.test(name)) throw Error.argument('name', Sys.Res.notATypeName); - var parsedName; - try { - parsedName = eval(name); - } - catch(e) { - throw Error.argument('name', Sys.Res.argumentTypeName); - } - if (parsedName !== this) throw Error.argument('name', Sys.Res.badTypeName); - if (Sys.__registeredTypes[name]) throw Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, name)); - for (var i in this.prototype) { - var val = this.prototype[i]; - if (!Type.__identifierRegExp.test(i)) throw Error.invalidOperation(String.format(Sys.Res.enumInvalidValueName, i)); - if (typeof(val) !== 'number' || (val % 1) !== 0) throw Error.invalidOperation(Sys.Res.enumValueNotInteger); - if (typeof(this[i]) !== 'undefined') throw Error.invalidOperation(String.format(Sys.Res.enumReservedName, i)); - } - Sys.__upperCaseTypes[name.toUpperCase()] = this; - for (var i in this.prototype) { - this[i] = this.prototype[i]; - } - this.__typeName = name; - this.parse = Sys$Enum$parse; - this.__string = this.toString(); - this.toString = Sys$Enum$toString; - this.__flags = flags; - this.__enum = true; - Sys.__registeredTypes[name] = true; -} -Type.isEnum = function Type$isEnum(type) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "type", mayBeNull: true} - ]); - if (e) throw e; - if ((typeof(type) === 'undefined') || (type === null)) return false; - return !!type.__enum; -} -Type.isFlags = function Type$isFlags(type) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "type", mayBeNull: true} - ]); - if (e) throw e; - if ((typeof(type) === 'undefined') || (type === null)) return false; - return !!type.__flags; -} - -Sys.EventHandlerList = function Sys$EventHandlerList() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - this._list = {}; -} - function Sys$EventHandlerList$addHandler(id, handler) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "id", type: String}, - {name: "handler", type: Function} - ]); - if (e) throw e; - Array.add(this._getEvent(id, true), handler); - } - function Sys$EventHandlerList$removeHandler(id, handler) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "id", type: String}, - {name: "handler", type: Function} - ]); - if (e) throw e; - var evt = this._getEvent(id); - if (!evt) return; - Array.remove(evt, handler); - } - function Sys$EventHandlerList$getHandler(id) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "id", type: String} - ]); - if (e) throw e; - var evt = this._getEvent(id); - if (!evt || (evt.length === 0)) return null; - evt = Array.clone(evt); - return function(source, args) { - for (var i = 0, l = evt.length; i < l; i++) { - evt[i](source, args); - } - }; - } - function Sys$EventHandlerList$_getEvent(id, create) { - if (!this._list[id]) { - if (!create) return null; - this._list[id] = []; - } - return this._list[id]; - } -Sys.EventHandlerList.prototype = { - addHandler: Sys$EventHandlerList$addHandler, - removeHandler: Sys$EventHandlerList$removeHandler, - getHandler: Sys$EventHandlerList$getHandler, - _getEvent: Sys$EventHandlerList$_getEvent -} -Sys.EventHandlerList.registerClass('Sys.EventHandlerList'); - -Sys.EventArgs = function Sys$EventArgs() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); -} -Sys.EventArgs.registerClass('Sys.EventArgs'); -Sys.EventArgs.Empty = new Sys.EventArgs(); - -Sys.CancelEventArgs = function Sys$CancelEventArgs() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - Sys.CancelEventArgs.initializeBase(this); - this._cancel = false; -} - function Sys$CancelEventArgs$get_cancel() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._cancel; - } - function Sys$CancelEventArgs$set_cancel(value) { - var e = Function._validateParams(arguments, [{name: "value", type: Boolean}]); - if (e) throw e; - this._cancel = value; - } -Sys.CancelEventArgs.prototype = { - get_cancel: Sys$CancelEventArgs$get_cancel, - set_cancel: Sys$CancelEventArgs$set_cancel -} -Sys.CancelEventArgs.registerClass('Sys.CancelEventArgs', Sys.EventArgs); - -Sys.INotifyPropertyChange = function Sys$INotifyPropertyChange() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - throw Error.notImplemented(); -} - function Sys$INotifyPropertyChange$add_propertyChanged(handler) { - /// - var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); - if (e) throw e; - throw Error.notImplemented(); - } - function Sys$INotifyPropertyChange$remove_propertyChanged(handler) { - var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); - if (e) throw e; - throw Error.notImplemented(); - } -Sys.INotifyPropertyChange.prototype = { - add_propertyChanged: Sys$INotifyPropertyChange$add_propertyChanged, - remove_propertyChanged: Sys$INotifyPropertyChange$remove_propertyChanged -} -Sys.INotifyPropertyChange.registerInterface('Sys.INotifyPropertyChange'); - -Sys.PropertyChangedEventArgs = function Sys$PropertyChangedEventArgs(propertyName) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "propertyName", type: String} - ]); - if (e) throw e; - Sys.PropertyChangedEventArgs.initializeBase(this); - this._propertyName = propertyName; -} - - function Sys$PropertyChangedEventArgs$get_propertyName() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._propertyName; - } -Sys.PropertyChangedEventArgs.prototype = { - get_propertyName: Sys$PropertyChangedEventArgs$get_propertyName -} -Sys.PropertyChangedEventArgs.registerClass('Sys.PropertyChangedEventArgs', Sys.EventArgs); - -Sys.INotifyDisposing = function Sys$INotifyDisposing() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - throw Error.notImplemented(); -} - function Sys$INotifyDisposing$add_disposing(handler) { - /// - var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); - if (e) throw e; - throw Error.notImplemented(); - } - function Sys$INotifyDisposing$remove_disposing(handler) { - var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); - if (e) throw e; - throw Error.notImplemented(); - } -Sys.INotifyDisposing.prototype = { - add_disposing: Sys$INotifyDisposing$add_disposing, - remove_disposing: Sys$INotifyDisposing$remove_disposing -} -Sys.INotifyDisposing.registerInterface("Sys.INotifyDisposing"); - -Sys.Component = function Sys$Component() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (Sys.Application) Sys.Application.registerDisposableObject(this); -} - function Sys$Component$get_events() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (!this._events) { - this._events = new Sys.EventHandlerList(); - } - return this._events; - } - function Sys$Component$get_id() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._id; - } - function Sys$Component$set_id(value) { - var e = Function._validateParams(arguments, [{name: "value", type: String}]); - if (e) throw e; - if (this._idSet) throw Error.invalidOperation(Sys.Res.componentCantSetIdTwice); - this._idSet = true; - var oldId = this.get_id(); - if (oldId && Sys.Application.findComponent(oldId)) throw Error.invalidOperation(Sys.Res.componentCantSetIdAfterAddedToApp); - this._id = value; - } - function Sys$Component$get_isInitialized() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._initialized; - } - function Sys$Component$get_isUpdating() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._updating; - } - function Sys$Component$add_disposing(handler) { - /// - var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); - if (e) throw e; - this.get_events().addHandler("disposing", handler); - } - function Sys$Component$remove_disposing(handler) { - var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); - if (e) throw e; - this.get_events().removeHandler("disposing", handler); - } - function Sys$Component$add_propertyChanged(handler) { - /// - var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); - if (e) throw e; - this.get_events().addHandler("propertyChanged", handler); - } - function Sys$Component$remove_propertyChanged(handler) { - var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); - if (e) throw e; - this.get_events().removeHandler("propertyChanged", handler); - } - function Sys$Component$beginUpdate() { - this._updating = true; - } - function Sys$Component$dispose() { - if (this._events) { - var handler = this._events.getHandler("disposing"); - if (handler) { - handler(this, Sys.EventArgs.Empty); - } - } - delete this._events; - Sys.Application.unregisterDisposableObject(this); - Sys.Application.removeComponent(this); - } - function Sys$Component$endUpdate() { - this._updating = false; - if (!this._initialized) this.initialize(); - this.updated(); - } - function Sys$Component$initialize() { - this._initialized = true; - } - function Sys$Component$raisePropertyChanged(propertyName) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "propertyName", type: String} - ]); - if (e) throw e; - if (!this._events) return; - var handler = this._events.getHandler("propertyChanged"); - if (handler) { - handler(this, new Sys.PropertyChangedEventArgs(propertyName)); - } - } - function Sys$Component$updated() { - } -Sys.Component.prototype = { - _id: null, - _idSet: false, - _initialized: false, - _updating: false, - get_events: Sys$Component$get_events, - get_id: Sys$Component$get_id, - set_id: Sys$Component$set_id, - get_isInitialized: Sys$Component$get_isInitialized, - get_isUpdating: Sys$Component$get_isUpdating, - add_disposing: Sys$Component$add_disposing, - remove_disposing: Sys$Component$remove_disposing, - add_propertyChanged: Sys$Component$add_propertyChanged, - remove_propertyChanged: Sys$Component$remove_propertyChanged, - beginUpdate: Sys$Component$beginUpdate, - dispose: Sys$Component$dispose, - endUpdate: Sys$Component$endUpdate, - initialize: Sys$Component$initialize, - raisePropertyChanged: Sys$Component$raisePropertyChanged, - updated: Sys$Component$updated -} -Sys.Component.registerClass('Sys.Component', null, Sys.IDisposable, Sys.INotifyPropertyChange, Sys.INotifyDisposing); -function Sys$Component$_setProperties(target, properties) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "target"}, - {name: "properties"} - ]); - if (e) throw e; - var current; - var targetType = Object.getType(target); - var isObject = (targetType === Object) || (targetType === Sys.UI.DomElement); - var isComponent = Sys.Component.isInstanceOfType(target) && !target.get_isUpdating(); - if (isComponent) target.beginUpdate(); - for (var name in properties) { - var val = properties[name]; - var getter = isObject ? null : target["get_" + name]; - if (isObject || typeof(getter) !== 'function') { - var targetVal = target[name]; - if (!isObject && typeof(targetVal) === 'undefined') throw Error.invalidOperation(String.format(Sys.Res.propertyUndefined, name)); - if (!val || (typeof(val) !== 'object') || (isObject && !targetVal)) { - target[name] = val; - } - else { - Sys$Component$_setProperties(targetVal, val); - } - } - else { - var setter = target["set_" + name]; - if (typeof(setter) === 'function') { - setter.apply(target, [val]); - } - else if (val instanceof Array) { - current = getter.apply(target); - if (!(current instanceof Array)) throw new Error.invalidOperation(String.format(Sys.Res.propertyNotAnArray, name)); - for (var i = 0, j = current.length, l= val.length; i < l; i++, j++) { - current[j] = val[i]; - } - } - else if ((typeof(val) === 'object') && (Object.getType(val) === Object)) { - current = getter.apply(target); - if ((typeof(current) === 'undefined') || (current === null)) throw new Error.invalidOperation(String.format(Sys.Res.propertyNullOrUndefined, name)); - Sys$Component$_setProperties(current, val); - } - else { - throw new Error.invalidOperation(String.format(Sys.Res.propertyNotWritable, name)); - } - } - } - if (isComponent) target.endUpdate(); -} -function Sys$Component$_setReferences(component, references) { - for (var name in references) { - var setter = component["set_" + name]; - var reference = $find(references[name]); - if (typeof(setter) !== 'function') throw new Error.invalidOperation(String.format(Sys.Res.propertyNotWritable, name)); - if (!reference) throw Error.invalidOperation(String.format(Sys.Res.referenceNotFound, references[name])); - setter.apply(component, [reference]); - } -} -var $create = Sys.Component.create = function Sys$Component$create(type, properties, events, references, element) { - /// - /// - /// - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "type", type: Type}, - {name: "properties", mayBeNull: true, optional: true}, - {name: "events", mayBeNull: true, optional: true}, - {name: "references", mayBeNull: true, optional: true}, - {name: "element", mayBeNull: true, domElement: true, optional: true} - ]); - if (e) throw e; - if (!type.inheritsFrom(Sys.Component)) { - throw Error.argument('type', String.format(Sys.Res.createNotComponent, type.getName())); - } - if (type.inheritsFrom(Sys.UI.Behavior) || type.inheritsFrom(Sys.UI.Control)) { - if (!element) throw Error.argument('element', Sys.Res.createNoDom); - } - else if (element) throw Error.argument('element', Sys.Res.createComponentOnDom); - var component = (element ? new type(element): new type()); - var app = Sys.Application; - var creatingComponents = app.get_isCreatingComponents(); - component.beginUpdate(); - if (properties) { - Sys$Component$_setProperties(component, properties); - } - if (events) { - for (var name in events) { - if (!(component["add_" + name] instanceof Function)) throw new Error.invalidOperation(String.format(Sys.Res.undefinedEvent, name)); - if (!(events[name] instanceof Function)) throw new Error.invalidOperation(Sys.Res.eventHandlerNotFunction); - component["add_" + name](events[name]); - } - } - if (component.get_id()) { - app.addComponent(component); - } - if (creatingComponents) { - app._createdComponents[app._createdComponents.length] = component; - if (references) { - app._addComponentToSecondPass(component, references); - } - else { - component.endUpdate(); - } - } - else { - if (references) { - Sys$Component$_setReferences(component, references); - } - component.endUpdate(); - } - return component; -} - -Sys.UI.MouseButton = function Sys$UI$MouseButton() { - /// - /// - /// - /// - if (arguments.length !== 0) throw Error.parameterCount(); - throw Error.notImplemented(); -} -Sys.UI.MouseButton.prototype = { - leftButton: 0, - middleButton: 1, - rightButton: 2 -} -Sys.UI.MouseButton.registerEnum("Sys.UI.MouseButton"); - -Sys.UI.Key = function Sys$UI$Key() { - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - if (arguments.length !== 0) throw Error.parameterCount(); - throw Error.notImplemented(); -} -Sys.UI.Key.prototype = { - backspace: 8, - tab: 9, - enter: 13, - esc: 27, - space: 32, - pageUp: 33, - pageDown: 34, - end: 35, - home: 36, - left: 37, - up: 38, - right: 39, - down: 40, - del: 127 -} -Sys.UI.Key.registerEnum("Sys.UI.Key"); - -Sys.UI.Point = function Sys$UI$Point(x, y) { - /// - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "x", type: Number, integer: true}, - {name: "y", type: Number, integer: true} - ]); - if (e) throw e; - this.x = x; - this.y = y; -} -Sys.UI.Point.registerClass('Sys.UI.Point'); - -Sys.UI.Bounds = function Sys$UI$Bounds(x, y, width, height) { - /// - /// - /// - /// - /// - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "x", type: Number, integer: true}, - {name: "y", type: Number, integer: true}, - {name: "height", type: Number, integer: true}, - {name: "width", type: Number, integer: true} - ]); - if (e) throw e; - this.x = x; - this.y = y; - this.height = height; - this.width = width; -} -Sys.UI.Bounds.registerClass('Sys.UI.Bounds'); - -Sys.UI.DomEvent = function Sys$UI$DomEvent(eventObject) { - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "eventObject"} - ]); - if (e) throw e; - var e = eventObject; - var etype = this.type = e.type.toLowerCase(); - this.rawEvent = e; - this.altKey = e.altKey; - if (typeof(e.button) !== 'undefined') { - this.button = (typeof(e.which) !== 'undefined') ? e.button : - (e.button === 4) ? Sys.UI.MouseButton.middleButton : - (e.button === 2) ? Sys.UI.MouseButton.rightButton : - Sys.UI.MouseButton.leftButton; - } - if (etype === 'keypress') { - this.charCode = e.charCode || e.keyCode; - } - else if (e.keyCode && (e.keyCode === 46)) { - this.keyCode = 127; - } - else { - this.keyCode = e.keyCode; - } - this.clientX = e.clientX; - this.clientY = e.clientY; - this.ctrlKey = e.ctrlKey; - this.target = e.target ? e.target : e.srcElement; - if (!etype.startsWith('key')) { - if ((typeof(e.offsetX) !== 'undefined') && (typeof(e.offsetY) !== 'undefined')) { - this.offsetX = e.offsetX; - this.offsetY = e.offsetY; - } - else if (this.target && (this.target.nodeType !== 3) && (typeof(e.clientX) === 'number')) { - var loc = Sys.UI.DomElement.getLocation(this.target); - var w = Sys.UI.DomElement._getWindow(this.target); - this.offsetX = (w.pageXOffset || 0) + e.clientX - loc.x; - this.offsetY = (w.pageYOffset || 0) + e.clientY - loc.y; - } - } - this.screenX = e.screenX; - this.screenY = e.screenY; - this.shiftKey = e.shiftKey; -} - function Sys$UI$DomEvent$preventDefault() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (this.rawEvent.preventDefault) { - this.rawEvent.preventDefault(); - } - else if (window.event) { - this.rawEvent.returnValue = false; - } - } - function Sys$UI$DomEvent$stopPropagation() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (this.rawEvent.stopPropagation) { - this.rawEvent.stopPropagation(); - } - else if (window.event) { - this.rawEvent.cancelBubble = true; - } - } -Sys.UI.DomEvent.prototype = { - preventDefault: Sys$UI$DomEvent$preventDefault, - stopPropagation: Sys$UI$DomEvent$stopPropagation -} -Sys.UI.DomEvent.registerClass('Sys.UI.DomEvent'); -var $addHandler = Sys.UI.DomEvent.addHandler = function Sys$UI$DomEvent$addHandler(element, eventName, handler) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element"}, - {name: "eventName", type: String}, - {name: "handler", type: Function} - ]); - if (e) throw e; - Sys.UI.DomEvent._ensureDomNode(element); - if (eventName === "error") throw Error.invalidOperation(Sys.Res.addHandlerCantBeUsedForError); - if (!element._events) { - element._events = {}; - } - var eventCache = element._events[eventName]; - if (!eventCache) { - element._events[eventName] = eventCache = []; - } - var browserHandler; - if (element.addEventListener) { - browserHandler = function(e) { - return handler.call(element, new Sys.UI.DomEvent(e)); - } - element.addEventListener(eventName, browserHandler, false); - } - else if (element.attachEvent) { - browserHandler = function() { - var e = {}; - try {e = Sys.UI.DomElement._getWindow(element).event} catch(ex) {} - return handler.call(element, new Sys.UI.DomEvent(e)); - } - element.attachEvent('on' + eventName, browserHandler); - } - eventCache[eventCache.length] = {handler: handler, browserHandler: browserHandler}; -} -var $addHandlers = Sys.UI.DomEvent.addHandlers = function Sys$UI$DomEvent$addHandlers(element, events, handlerOwner) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element"}, - {name: "events", type: Object}, - {name: "handlerOwner", optional: true} - ]); - if (e) throw e; - Sys.UI.DomEvent._ensureDomNode(element); - for (var name in events) { - var handler = events[name]; - if (typeof(handler) !== 'function') throw Error.invalidOperation(Sys.Res.cantAddNonFunctionhandler); - if (handlerOwner) { - handler = Function.createDelegate(handlerOwner, handler); - } - $addHandler(element, name, handler); - } -} -var $clearHandlers = Sys.UI.DomEvent.clearHandlers = function Sys$UI$DomEvent$clearHandlers(element) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element"} - ]); - if (e) throw e; - Sys.UI.DomEvent._ensureDomNode(element); - if (element._events) { - var cache = element._events; - for (var name in cache) { - var handlers = cache[name]; - for (var i = handlers.length - 1; i >= 0; i--) { - $removeHandler(element, name, handlers[i].handler); - } - } - element._events = null; - } -} -var $removeHandler = Sys.UI.DomEvent.removeHandler = function Sys$UI$DomEvent$removeHandler(element, eventName, handler) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element"}, - {name: "eventName", type: String}, - {name: "handler", type: Function} - ]); - if (e) throw e; - Sys.UI.DomEvent._ensureDomNode(element); - var browserHandler = null; - if ((typeof(element._events) !== 'object') || (element._events == null)) throw Error.invalidOperation(Sys.Res.eventHandlerInvalid); - var cache = element._events[eventName]; - if (!(cache instanceof Array)) throw Error.invalidOperation(Sys.Res.eventHandlerInvalid); - for (var i = 0, l = cache.length; i < l; i++) { - if (cache[i].handler === handler) { - browserHandler = cache[i].browserHandler; - break; - } - } - if (typeof(browserHandler) !== 'function') throw Error.invalidOperation(Sys.Res.eventHandlerInvalid); - if (element.removeEventListener) { - element.removeEventListener(eventName, browserHandler, false); - } - else if (element.detachEvent) { - element.detachEvent('on' + eventName, browserHandler); - } - cache.splice(i, 1); -} -Sys.UI.DomEvent._ensureDomNode = function Sys$UI$DomEvent$_ensureDomNode(element) { - if (element.tagName && (element.tagName.toUpperCase() === "SCRIPT")) return; - - var doc = element.ownerDocument || element.document || element; - if ((typeof(element.document) !== 'object') && (element != doc) && (typeof(element.nodeType) !== 'number')) { - throw Error.argument("element", Sys.Res.argumentDomNode); - } -} - -Sys.UI.DomElement = function Sys$UI$DomElement() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - throw Error.notImplemented(); -} -Sys.UI.DomElement.registerClass('Sys.UI.DomElement'); -Sys.UI.DomElement.addCssClass = function Sys$UI$DomElement$addCssClass(element, className) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element", domElement: true}, - {name: "className", type: String} - ]); - if (e) throw e; - if (!Sys.UI.DomElement.containsCssClass(element, className)) { - if (element.className === '') { - element.className = className; - } - else { - element.className += ' ' + className; - } - } -} -Sys.UI.DomElement.containsCssClass = function Sys$UI$DomElement$containsCssClass(element, className) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element", domElement: true}, - {name: "className", type: String} - ]); - if (e) throw e; - return Array.contains(element.className.split(' '), className); -} -Sys.UI.DomElement.getBounds = function Sys$UI$DomElement$getBounds(element) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element", domElement: true} - ]); - if (e) throw e; - var offset = Sys.UI.DomElement.getLocation(element); - return new Sys.UI.Bounds(offset.x, offset.y, element.offsetWidth || 0, element.offsetHeight || 0); -} -var $get = Sys.UI.DomElement.getElementById = function Sys$UI$DomElement$getElementById(id, element) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "id", type: String}, - {name: "element", mayBeNull: true, domElement: true, optional: true} - ]); - if (e) throw e; - if (!element) return document.getElementById(id); - if (element.getElementById) return element.getElementById(id); - var nodeQueue = []; - var childNodes = element.childNodes; - for (var i = 0; i < childNodes.length; i++) { - var node = childNodes[i]; - if (node.nodeType == 1) { - nodeQueue[nodeQueue.length] = node; - } - } - while (nodeQueue.length) { - node = nodeQueue.shift(); - if (node.id == id) { - return node; - } - childNodes = node.childNodes; - for (i = 0; i < childNodes.length; i++) { - node = childNodes[i]; - if (node.nodeType == 1) { - nodeQueue[nodeQueue.length] = node; - } - } - } - return null; -} -switch(Sys.Browser.agent) { - case Sys.Browser.InternetExplorer: - Sys.UI.DomElement.getLocation = function Sys$UI$DomElement$getLocation(element) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element", domElement: true} - ]); - if (e) throw e; - if (element.self || element.nodeType === 9) return new Sys.UI.Point(0,0); - var clientRect = element.getBoundingClientRect(); - if (!clientRect) { - return new Sys.UI.Point(0,0); - } - var documentElement = element.ownerDocument.documentElement; - var offsetX = clientRect.left - 2 + documentElement.scrollLeft, - offsetY = clientRect.top - 2 + documentElement.scrollTop; - - try { - var f = element.ownerDocument.parentWindow.frameElement || null; - if (f) { - var offset = (f.frameBorder === "0" || f.frameBorder === "no") ? 2 : 0; - offsetX += offset; - offsetY += offset; - } - } - catch(ex) { - } - - return new Sys.UI.Point(offsetX, offsetY); - } - break; - case Sys.Browser.Safari: - Sys.UI.DomElement.getLocation = function Sys$UI$DomElement$getLocation(element) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element", domElement: true} - ]); - if (e) throw e; - if ((element.window && (element.window === element)) || element.nodeType === 9) return new Sys.UI.Point(0,0); - var offsetX = 0; - var offsetY = 0; - var previous = null; - var previousStyle = null; - var currentStyle; - for (var parent = element; parent; previous = parent, previousStyle = currentStyle, parent = parent.offsetParent) { - currentStyle = Sys.UI.DomElement._getCurrentStyle(parent); - var tagName = parent.tagName ? parent.tagName.toUpperCase() : null; - if ((parent.offsetLeft || parent.offsetTop) && - ((tagName !== "BODY") || (!previousStyle || previousStyle.position !== "absolute"))) { - offsetX += parent.offsetLeft; - offsetY += parent.offsetTop; - } - } - currentStyle = Sys.UI.DomElement._getCurrentStyle(element); - var elementPosition = currentStyle ? currentStyle.position : null; - if (!elementPosition || (elementPosition !== "absolute")) { - for (var parent = element.parentNode; parent; parent = parent.parentNode) { - tagName = parent.tagName ? parent.tagName.toUpperCase() : null; - if ((tagName !== "BODY") && (tagName !== "HTML") && (parent.scrollLeft || parent.scrollTop)) { - offsetX -= (parent.scrollLeft || 0); - offsetY -= (parent.scrollTop || 0); - } - currentStyle = Sys.UI.DomElement._getCurrentStyle(parent); - var parentPosition = currentStyle ? currentStyle.position : null; - if (parentPosition && (parentPosition === "absolute")) break; - } - } - return new Sys.UI.Point(offsetX, offsetY); - } - break; - case Sys.Browser.Opera: - Sys.UI.DomElement.getLocation = function Sys$UI$DomElement$getLocation(element) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element", domElement: true} - ]); - if (e) throw e; - if ((element.window && (element.window === element)) || element.nodeType === 9) return new Sys.UI.Point(0,0); - var offsetX = 0; - var offsetY = 0; - var previous = null; - for (var parent = element; parent; previous = parent, parent = parent.offsetParent) { - var tagName = parent.tagName; - offsetX += parent.offsetLeft || 0; - offsetY += parent.offsetTop || 0; - } - var elementPosition = element.style.position; - var elementPositioned = elementPosition && (elementPosition !== "static"); - for (var parent = element.parentNode; parent; parent = parent.parentNode) { - tagName = parent.tagName ? parent.tagName.toUpperCase() : null; - if ((tagName !== "BODY") && (tagName !== "HTML") && (parent.scrollLeft || parent.scrollTop) && - ((elementPositioned && - ((parent.style.overflow === "scroll") || (parent.style.overflow === "auto"))))) { - offsetX -= (parent.scrollLeft || 0); - offsetY -= (parent.scrollTop || 0); - } - var parentPosition = (parent && parent.style) ? parent.style.position : null; - elementPositioned = elementPositioned || (parentPosition && (parentPosition !== "static")); - } - return new Sys.UI.Point(offsetX, offsetY); - } - break; - default: - Sys.UI.DomElement.getLocation = function Sys$UI$DomElement$getLocation(element) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element", domElement: true} - ]); - if (e) throw e; - if ((element.window && (element.window === element)) || element.nodeType === 9) return new Sys.UI.Point(0,0); - var offsetX = 0; - var offsetY = 0; - var previous = null; - var previousStyle = null; - var currentStyle = null; - for (var parent = element; parent; previous = parent, previousStyle = currentStyle, parent = parent.offsetParent) { - var tagName = parent.tagName ? parent.tagName.toUpperCase() : null; - currentStyle = Sys.UI.DomElement._getCurrentStyle(parent); - if ((parent.offsetLeft || parent.offsetTop) && - !((tagName === "BODY") && - (!previousStyle || previousStyle.position !== "absolute"))) { - offsetX += parent.offsetLeft; - offsetY += parent.offsetTop; - } - if (previous !== null && currentStyle) { - if ((tagName !== "TABLE") && (tagName !== "TD") && (tagName !== "HTML")) { - offsetX += parseInt(currentStyle.borderLeftWidth) || 0; - offsetY += parseInt(currentStyle.borderTopWidth) || 0; - } - if (tagName === "TABLE" && - (currentStyle.position === "relative" || currentStyle.position === "absolute")) { - offsetX += parseInt(currentStyle.marginLeft) || 0; - offsetY += parseInt(currentStyle.marginTop) || 0; - } - } - } - currentStyle = Sys.UI.DomElement._getCurrentStyle(element); - var elementPosition = currentStyle ? currentStyle.position : null; - if (!elementPosition || (elementPosition !== "absolute")) { - for (var parent = element.parentNode; parent; parent = parent.parentNode) { - tagName = parent.tagName ? parent.tagName.toUpperCase() : null; - if ((tagName !== "BODY") && (tagName !== "HTML") && (parent.scrollLeft || parent.scrollTop)) { - offsetX -= (parent.scrollLeft || 0); - offsetY -= (parent.scrollTop || 0); - currentStyle = Sys.UI.DomElement._getCurrentStyle(parent); - if (currentStyle) { - offsetX += parseInt(currentStyle.borderLeftWidth) || 0; - offsetY += parseInt(currentStyle.borderTopWidth) || 0; - } - } - } - } - return new Sys.UI.Point(offsetX, offsetY); - } - break; -} -Sys.UI.DomElement.removeCssClass = function Sys$UI$DomElement$removeCssClass(element, className) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element", domElement: true}, - {name: "className", type: String} - ]); - if (e) throw e; - var currentClassName = ' ' + element.className + ' '; - var index = currentClassName.indexOf(' ' + className + ' '); - if (index >= 0) { - element.className = (currentClassName.substr(0, index) + ' ' + - currentClassName.substring(index + className.length + 1, currentClassName.length)).trim(); - } -} -Sys.UI.DomElement.setLocation = function Sys$UI$DomElement$setLocation(element, x, y) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element", domElement: true}, - {name: "x", type: Number, integer: true}, - {name: "y", type: Number, integer: true} - ]); - if (e) throw e; - var style = element.style; - style.position = 'absolute'; - style.left = x + "px"; - style.top = y + "px"; -} -Sys.UI.DomElement.toggleCssClass = function Sys$UI$DomElement$toggleCssClass(element, className) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element", domElement: true}, - {name: "className", type: String} - ]); - if (e) throw e; - if (Sys.UI.DomElement.containsCssClass(element, className)) { - Sys.UI.DomElement.removeCssClass(element, className); - } - else { - Sys.UI.DomElement.addCssClass(element, className); - } -} -Sys.UI.DomElement.getVisibilityMode = function Sys$UI$DomElement$getVisibilityMode(element) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element", domElement: true} - ]); - if (e) throw e; - return (element._visibilityMode === Sys.UI.VisibilityMode.hide) ? - Sys.UI.VisibilityMode.hide : - Sys.UI.VisibilityMode.collapse; -} -Sys.UI.DomElement.setVisibilityMode = function Sys$UI$DomElement$setVisibilityMode(element, value) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element", domElement: true}, - {name: "value", type: Sys.UI.VisibilityMode} - ]); - if (e) throw e; - Sys.UI.DomElement._ensureOldDisplayMode(element); - if (element._visibilityMode !== value) { - element._visibilityMode = value; - if (Sys.UI.DomElement.getVisible(element) === false) { - if (element._visibilityMode === Sys.UI.VisibilityMode.hide) { - element.style.display = element._oldDisplayMode; - } - else { - element.style.display = 'none'; - } - } - element._visibilityMode = value; - } -} -Sys.UI.DomElement.getVisible = function Sys$UI$DomElement$getVisible(element) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element", domElement: true} - ]); - if (e) throw e; - var style = element.currentStyle || Sys.UI.DomElement._getCurrentStyle(element); - if (!style) return true; - return (style.visibility !== 'hidden') && (style.display !== 'none'); -} -Sys.UI.DomElement.setVisible = function Sys$UI$DomElement$setVisible(element, value) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element", domElement: true}, - {name: "value", type: Boolean} - ]); - if (e) throw e; - if (value !== Sys.UI.DomElement.getVisible(element)) { - Sys.UI.DomElement._ensureOldDisplayMode(element); - element.style.visibility = value ? 'visible' : 'hidden'; - if (value || (element._visibilityMode === Sys.UI.VisibilityMode.hide)) { - element.style.display = element._oldDisplayMode; - } - else { - element.style.display = 'none'; - } - } -} -Sys.UI.DomElement._ensureOldDisplayMode = function Sys$UI$DomElement$_ensureOldDisplayMode(element) { - if (!element._oldDisplayMode) { - var style = element.currentStyle || Sys.UI.DomElement._getCurrentStyle(element); - element._oldDisplayMode = style ? style.display : null; - if (!element._oldDisplayMode || element._oldDisplayMode === 'none') { - switch(element.tagName.toUpperCase()) { - case 'DIV': case 'P': case 'ADDRESS': case 'BLOCKQUOTE': case 'BODY': case 'COL': - case 'COLGROUP': case 'DD': case 'DL': case 'DT': case 'FIELDSET': case 'FORM': - case 'H1': case 'H2': case 'H3': case 'H4': case 'H5': case 'H6': case 'HR': - case 'IFRAME': case 'LEGEND': case 'OL': case 'PRE': case 'TABLE': case 'TD': - case 'TH': case 'TR': case 'UL': - element._oldDisplayMode = 'block'; - break; - case 'LI': - element._oldDisplayMode = 'list-item'; - break; - default: - element._oldDisplayMode = 'inline'; - } - } - } -} -Sys.UI.DomElement._getWindow = function Sys$UI$DomElement$_getWindow(element) { - var doc = element.ownerDocument || element.document || element; - return doc.defaultView || doc.parentWindow; -} -Sys.UI.DomElement._getCurrentStyle = function Sys$UI$DomElement$_getCurrentStyle(element) { - if (element.nodeType === 3) return null; - var w = Sys.UI.DomElement._getWindow(element); - if (element.documentElement) element = element.documentElement; - var computedStyle = (w && (element !== w) && w.getComputedStyle) ? - w.getComputedStyle(element, null) : - element.currentStyle || element.style; - if (!computedStyle && (Sys.Browser.agent === Sys.Browser.Safari) && element.style) { - var oldDisplay = element.style.display; - var oldPosition = element.style.position; - element.style.position = 'absolute'; - element.style.display = 'block'; - var style = w.getComputedStyle(element, null); - element.style.display = oldDisplay; - element.style.position = oldPosition; - computedStyle = {}; - for (var n in style) { - computedStyle[n] = style[n]; - } - computedStyle.display = 'none'; - } - return computedStyle; -} - -Sys.IContainer = function Sys$IContainer() { - throw Error.notImplemented(); -} - function Sys$IContainer$addComponent(component) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "component", type: Sys.Component} - ]); - if (e) throw e; - throw Error.notImplemented(); - } - function Sys$IContainer$removeComponent(component) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "component", type: Sys.Component} - ]); - if (e) throw e; - throw Error.notImplemented(); - } - function Sys$IContainer$findComponent(id) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "id", type: String} - ]); - if (e) throw e; - throw Error.notImplemented(); - } - function Sys$IContainer$getComponents() { - /// - /// - if (arguments.length !== 0) throw Error.parameterCount(); - throw Error.notImplemented(); - } -Sys.IContainer.prototype = { - addComponent: Sys$IContainer$addComponent, - removeComponent: Sys$IContainer$removeComponent, - findComponent: Sys$IContainer$findComponent, - getComponents: Sys$IContainer$getComponents -} -Sys.IContainer.registerInterface("Sys.IContainer"); - -Sys._ScriptLoader = function Sys$_ScriptLoader() { - this._scriptsToLoad = null; - this._sessions = []; - this._scriptLoadedDelegate = Function.createDelegate(this, this._scriptLoadedHandler); -} - function Sys$_ScriptLoader$dispose() { - this._stopSession(); - this._loading = false; - if(this._events) { - delete this._events; - } - this._sessions = null; - this._currentSession = null; - this._scriptLoadedDelegate = null; - } - function Sys$_ScriptLoader$loadScripts(scriptTimeout, allScriptsLoadedCallback, scriptLoadFailedCallback, scriptLoadTimeoutCallback) { - /// - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "scriptTimeout", type: Number, integer: true}, - {name: "allScriptsLoadedCallback", type: Function, mayBeNull: true}, - {name: "scriptLoadFailedCallback", type: Function, mayBeNull: true}, - {name: "scriptLoadTimeoutCallback", type: Function, mayBeNull: true} - ]); - if (e) throw e; - var session = { - allScriptsLoadedCallback: allScriptsLoadedCallback, - scriptLoadFailedCallback: scriptLoadFailedCallback, - scriptLoadTimeoutCallback: scriptLoadTimeoutCallback, - scriptsToLoad: this._scriptsToLoad, - scriptTimeout: scriptTimeout }; - this._scriptsToLoad = null; - this._sessions[this._sessions.length] = session; - - if (!this._loading) { - this._nextSession(); - } - } - function Sys$_ScriptLoader$notifyScriptLoaded() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - - if(!this._loading) { - return; - } - this._currentTask._notified++; - - if(Sys.Browser.agent === Sys.Browser.Safari) { - if(this._currentTask._notified === 1) { - window.setTimeout(Function.createDelegate(this, function() { - this._scriptLoadedHandler(this._currentTask.get_scriptElement(), true); - }), 0); - } - } - } - function Sys$_ScriptLoader$queueCustomScriptTag(scriptAttributes) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "scriptAttributes"} - ]); - if (e) throw e; - if(!this._scriptsToLoad) { - this._scriptsToLoad = []; - } - Array.add(this._scriptsToLoad, scriptAttributes); - } - function Sys$_ScriptLoader$queueScriptBlock(scriptContent) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "scriptContent", type: String} - ]); - if (e) throw e; - if(!this._scriptsToLoad) { - this._scriptsToLoad = []; - } - Array.add(this._scriptsToLoad, {text: scriptContent}); - } - function Sys$_ScriptLoader$queueScriptReference(scriptUrl) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "scriptUrl", type: String} - ]); - if (e) throw e; - if(!this._scriptsToLoad) { - this._scriptsToLoad = []; - } - Array.add(this._scriptsToLoad, {src: scriptUrl}); - } - function Sys$_ScriptLoader$_createScriptElement(queuedScript) { - var scriptElement = document.createElement('script'); - scriptElement.type = 'text/javascript'; - for (var attr in queuedScript) { - scriptElement[attr] = queuedScript[attr]; - } - - return scriptElement; - } - function Sys$_ScriptLoader$_loadScriptsInternal() { - var session = this._currentSession; - if (session.scriptsToLoad && session.scriptsToLoad.length > 0) { - var nextScript = Array.dequeue(session.scriptsToLoad); - var scriptElement = this._createScriptElement(nextScript); - - if (scriptElement.text && Sys.Browser.agent === Sys.Browser.Safari) { - scriptElement.innerHTML = scriptElement.text; - delete scriptElement.text; - } - if (typeof(nextScript.src) === "string") { - this._currentTask = new Sys._ScriptLoaderTask(scriptElement, this._scriptLoadedDelegate); - this._currentTask.execute(); - } - else { - var headElements = document.getElementsByTagName('head'); - if (headElements.length === 0) { - throw new Error.invalidOperation(Sys.Res.scriptLoadFailedNoHead); - } - else { - headElements[0].appendChild(scriptElement); - } - - - Sys._ScriptLoader._clearScript(scriptElement); - this._loadScriptsInternal(); - } - } - else { - this._stopSession(); - var callback = session.allScriptsLoadedCallback; - if(callback) { - callback(this); - } - this._nextSession(); - } - } - function Sys$_ScriptLoader$_nextSession() { - if (this._sessions.length === 0) { - this._loading = false; - this._currentSession = null; - return; - } - this._loading = true; - - var session = Array.dequeue(this._sessions); - this._currentSession = session; - this._loadScriptsInternal(); - } - function Sys$_ScriptLoader$_raiseError(multipleCallbacks) { - var callback = this._currentSession.scriptLoadFailedCallback; - var scriptElement = this._currentTask.get_scriptElement(); - this._stopSession(); - - if(callback) { - callback(this, scriptElement, multipleCallbacks); - this._nextSession(); - } - else { - this._loading = false; - throw Sys._ScriptLoader._errorScriptLoadFailed(scriptElement.src, multipleCallbacks); - } - } - function Sys$_ScriptLoader$_scriptLoadedHandler(scriptElement, loaded) { - if(loaded && this._currentTask._notified) { - if(this._currentTask._notified > 1) { - this._raiseError(true); - } - else { - Array.add(Sys._ScriptLoader._getLoadedScripts(), scriptElement.src); - this._currentTask.dispose(); - this._currentTask = null; - this._loadScriptsInternal(); - } - } - else { - this._raiseError(false); - } - } - function Sys$_ScriptLoader$_scriptLoadTimeoutHandler() { - var callback = this._currentSession.scriptLoadTimeoutCallback; - this._stopSession(); - if(callback) { - callback(this); - } - this._nextSession(); - } - function Sys$_ScriptLoader$_stopSession() { - if(this._currentTask) { - this._currentTask.dispose(); - this._currentTask = null; - } - } -Sys._ScriptLoader.prototype = { - dispose: Sys$_ScriptLoader$dispose, - loadScripts: Sys$_ScriptLoader$loadScripts, - notifyScriptLoaded: Sys$_ScriptLoader$notifyScriptLoaded, - queueCustomScriptTag: Sys$_ScriptLoader$queueCustomScriptTag, - queueScriptBlock: Sys$_ScriptLoader$queueScriptBlock, - queueScriptReference: Sys$_ScriptLoader$queueScriptReference, - _createScriptElement: Sys$_ScriptLoader$_createScriptElement, - _loadScriptsInternal: Sys$_ScriptLoader$_loadScriptsInternal, - _nextSession: Sys$_ScriptLoader$_nextSession, - _raiseError: Sys$_ScriptLoader$_raiseError, - _scriptLoadedHandler: Sys$_ScriptLoader$_scriptLoadedHandler, - _scriptLoadTimeoutHandler: Sys$_ScriptLoader$_scriptLoadTimeoutHandler, - _stopSession: Sys$_ScriptLoader$_stopSession -} -Sys._ScriptLoader.registerClass('Sys._ScriptLoader', null, Sys.IDisposable); -Sys._ScriptLoader.getInstance = function Sys$_ScriptLoader$getInstance() { - var sl = Sys._ScriptLoader._activeInstance; - if(!sl) { - sl = Sys._ScriptLoader._activeInstance = new Sys._ScriptLoader(); - } - return sl; -} -Sys._ScriptLoader.isScriptLoaded = function Sys$_ScriptLoader$isScriptLoaded(scriptSrc) { - var dummyScript = document.createElement('script'); - dummyScript.src = scriptSrc; - return Array.contains(Sys._ScriptLoader._getLoadedScripts(), dummyScript.src); -} -Sys._ScriptLoader.readLoadedScripts = function Sys$_ScriptLoader$readLoadedScripts() { - if(!Sys._ScriptLoader._referencedScripts) { - var referencedScripts = Sys._ScriptLoader._referencedScripts = []; - var existingScripts = document.getElementsByTagName('script'); - for (i = existingScripts.length - 1; i >= 0; i--) { - var scriptNode = existingScripts[i]; - var scriptSrc = scriptNode.src; - if (scriptSrc.length) { - if (!Array.contains(referencedScripts, scriptSrc)) { - Array.add(referencedScripts, scriptSrc); - } - } - } - } -} -Sys._ScriptLoader._clearScript = function Sys$_ScriptLoader$_clearScript(scriptElement) { - if (!Sys.Debug.isDebug) { - scriptElement.parentNode.removeChild(scriptElement); - } -} -Sys._ScriptLoader._errorScriptLoadFailed = function Sys$_ScriptLoader$_errorScriptLoadFailed(scriptUrl, multipleCallbacks) { - var errorMessage; - if(multipleCallbacks) { - errorMessage = Sys.Res.scriptLoadMultipleCallbacks; - } - else { - errorMessage = Sys.Res.scriptLoadFailedDebug; - } - var displayMessage = "Sys.ScriptLoadFailedException: " + String.format(errorMessage, scriptUrl); - var e = Error.create(displayMessage, {name: 'Sys.ScriptLoadFailedException', 'scriptUrl': scriptUrl }); - e.popStackFrame(); - return e; -} -Sys._ScriptLoader._getLoadedScripts = function Sys$_ScriptLoader$_getLoadedScripts() { - if(!Sys._ScriptLoader._referencedScripts) { - Sys._ScriptLoader._referencedScripts = []; - Sys._ScriptLoader.readLoadedScripts(); - } - return Sys._ScriptLoader._referencedScripts; -} - -Sys._ScriptLoaderTask = function Sys$_ScriptLoaderTask(scriptElement, completedCallback) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "scriptElement", domElement: true}, - {name: "completedCallback", type: Function} - ]); - if (e) throw e; - this._scriptElement = scriptElement; - this._completedCallback = completedCallback; - this._notified = 0; -} - function Sys$_ScriptLoaderTask$get_scriptElement() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._scriptElement; - } - function Sys$_ScriptLoaderTask$dispose() { - if(this._disposed) { - return; - } - this._disposed = true; - this._removeScriptElementHandlers(); - Sys._ScriptLoader._clearScript(this._scriptElement); - this._scriptElement = null; - } - function Sys$_ScriptLoaderTask$execute() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - this._addScriptElementHandlers(); - var headElements = document.getElementsByTagName('head'); - if (headElements.length === 0) { - throw new Error.invalidOperation(Sys.Res.scriptLoadFailedNoHead); - } - else { - headElements[0].appendChild(this._scriptElement); - } - } - function Sys$_ScriptLoaderTask$_addScriptElementHandlers() { - this._scriptLoadDelegate = Function.createDelegate(this, this._scriptLoadHandler); - - if (Sys.Browser.agent !== Sys.Browser.InternetExplorer) { - this._scriptElement.readyState = 'loaded'; - $addHandler(this._scriptElement, 'load', this._scriptLoadDelegate); - } - else { - $addHandler(this._scriptElement, 'readystatechange', this._scriptLoadDelegate); - } - if (this._scriptElement.addEventListener) { - this._scriptErrorDelegate = Function.createDelegate(this, this._scriptErrorHandler); - this._scriptElement.addEventListener('error', this._scriptErrorDelegate, false); - } - } - function Sys$_ScriptLoaderTask$_removeScriptElementHandlers() { - if(this._scriptLoadDelegate) { - var scriptElement = this.get_scriptElement(); - if (Sys.Browser.agent !== Sys.Browser.InternetExplorer) { - $removeHandler(scriptElement, 'load', this._scriptLoadDelegate); - } - else { - $removeHandler(scriptElement, 'readystatechange', this._scriptLoadDelegate); - } - if (this._scriptErrorDelegate) { - this._scriptElement.removeEventListener('error', this._scriptErrorDelegate, false); - this._scriptErrorDelegate = null; - } - this._scriptLoadDelegate = null; - } - } - function Sys$_ScriptLoaderTask$_scriptErrorHandler() { - if(this._disposed) { - return; - } - - this._completedCallback(this.get_scriptElement(), false); - } - function Sys$_ScriptLoaderTask$_scriptLoadHandler() { - if(this._disposed) { - return; - } - var scriptElement = this.get_scriptElement(); - if ((scriptElement.readyState !== 'loaded') && - (scriptElement.readyState !== 'complete')) { - return; - } - - var _this = this; - window.setTimeout(function() { - _this._completedCallback(scriptElement, true); - }, 0); - } -Sys._ScriptLoaderTask.prototype = { - get_scriptElement: Sys$_ScriptLoaderTask$get_scriptElement, - dispose: Sys$_ScriptLoaderTask$dispose, - execute: Sys$_ScriptLoaderTask$execute, - _addScriptElementHandlers: Sys$_ScriptLoaderTask$_addScriptElementHandlers, - _removeScriptElementHandlers: Sys$_ScriptLoaderTask$_removeScriptElementHandlers, - _scriptErrorHandler: Sys$_ScriptLoaderTask$_scriptErrorHandler, - _scriptLoadHandler: Sys$_ScriptLoaderTask$_scriptLoadHandler -} -Sys._ScriptLoaderTask.registerClass("Sys._ScriptLoaderTask", null, Sys.IDisposable); - -Sys.ApplicationLoadEventArgs = function Sys$ApplicationLoadEventArgs(components, isPartialLoad) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "components", type: Array, elementType: Sys.Component}, - {name: "isPartialLoad", type: Boolean} - ]); - if (e) throw e; - Sys.ApplicationLoadEventArgs.initializeBase(this); - this._components = components; - this._isPartialLoad = isPartialLoad; -} - - function Sys$ApplicationLoadEventArgs$get_components() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._components; - } - function Sys$ApplicationLoadEventArgs$get_isPartialLoad() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._isPartialLoad; - } -Sys.ApplicationLoadEventArgs.prototype = { - get_components: Sys$ApplicationLoadEventArgs$get_components, - get_isPartialLoad: Sys$ApplicationLoadEventArgs$get_isPartialLoad -} -Sys.ApplicationLoadEventArgs.registerClass('Sys.ApplicationLoadEventArgs', Sys.EventArgs); -Sys.HistoryEventArgs = function Sys$HistoryEventArgs(state) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "state", type: Object} - ]); - if (e) throw e; - Sys.HistoryEventArgs.initializeBase(this); - this._state = state; -} - function Sys$HistoryEventArgs$get_state() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._state; - } -Sys.HistoryEventArgs.prototype = { - get_state: Sys$HistoryEventArgs$get_state -} -Sys.HistoryEventArgs.registerClass('Sys.HistoryEventArgs', Sys.EventArgs); - -Sys._Application = function Sys$_Application() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - Sys._Application.initializeBase(this); - this._disposableObjects = []; - this._components = {}; - this._createdComponents = []; - this._secondPassComponents = []; - this._appLoadHandler = null; - this._beginRequestHandler = null; - this._clientId = null; - this._currentEntry = ''; - this._endRequestHandler = null; - this._history = null; - this._enableHistory = false; - this._historyEnabledInScriptManager = false; - this._historyFrame = null; - this._historyInitialized = false; - this._historyInitialLength = 0; - this._historyLength = 0; - this._historyPointIsNew = false; - this._ignoreTimer = false; - this._initialState = null; - this._state = {}; - this._timerCookie = 0; - this._timerHandler = null; - this._uniqueId = null; - this._unloadHandlerDelegate = Function.createDelegate(this, this._unloadHandler); - this._loadHandlerDelegate = Function.createDelegate(this, this._loadHandler); - Sys.UI.DomEvent.addHandler(window, "unload", this._unloadHandlerDelegate); - Sys.UI.DomEvent.addHandler(window, "load", this._loadHandlerDelegate); -} - function Sys$_Application$get_isCreatingComponents() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._creatingComponents; - } - function Sys$_Application$get_stateString() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - var hash = window.location.hash; - if (this._isSafari2()) { - var history = this._getHistory(); - if (history) { - hash = history[window.history.length - this._historyInitialLength]; - } - } - if ((hash.length > 0) && (hash.charAt(0) === '#')) { - hash = hash.substring(1); - } - if (Sys.Browser.agent === Sys.Browser.Firefox) { - hash = this._serializeState(this._deserializeState(hash, true)); - } - return hash; - } - function Sys$_Application$get_enableHistory() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._enableHistory; - } - function Sys$_Application$set_enableHistory(value) { - var e = Function._validateParams(arguments, [{name: "value", type: Boolean}]); - if (e) throw e; - if (this._initialized && !this._initializing) { - throw Error.invalidOperation(Sys.Res.historyCannotEnableHistory); - } - else if (this._historyEnabledInScriptManager && !value) { - throw Error.invalidOperation(Sys.Res.invalidHistorySettingCombination); - } - this._enableHistory = value; - } - function Sys$_Application$add_init(handler) { - /// - var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); - if (e) throw e; - if (this._initialized) { - handler(this, Sys.EventArgs.Empty); - } - else { - this.get_events().addHandler("init", handler); - } - } - function Sys$_Application$remove_init(handler) { - var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); - if (e) throw e; - this.get_events().removeHandler("init", handler); - } - function Sys$_Application$add_load(handler) { - /// - var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); - if (e) throw e; - this.get_events().addHandler("load", handler); - } - function Sys$_Application$remove_load(handler) { - var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); - if (e) throw e; - this.get_events().removeHandler("load", handler); - } - function Sys$_Application$add_navigate(handler) { - /// - var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); - if (e) throw e; - this.get_events().addHandler("navigate", handler); - } - function Sys$_Application$remove_navigate(handler) { - var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); - if (e) throw e; - this.get_events().removeHandler("navigate", handler); - } - function Sys$_Application$add_unload(handler) { - /// - var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); - if (e) throw e; - this.get_events().addHandler("unload", handler); - } - function Sys$_Application$remove_unload(handler) { - var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); - if (e) throw e; - this.get_events().removeHandler("unload", handler); - } - function Sys$_Application$addComponent(component) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "component", type: Sys.Component} - ]); - if (e) throw e; - var id = component.get_id(); - if (!id) throw Error.invalidOperation(Sys.Res.cantAddWithoutId); - if (typeof(this._components[id]) !== 'undefined') throw Error.invalidOperation(String.format(Sys.Res.appDuplicateComponent, id)); - this._components[id] = component; - } - function Sys$_Application$addHistoryPoint(state, title) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "state", type: Object}, - {name: "title", type: String, mayBeNull: true, optional: true} - ]); - if (e) throw e; - if (!this._enableHistory) throw Error.invalidOperation(Sys.Res.historyCannotAddHistoryPointWithHistoryDisabled); - for (var n in state) { - var v = state[n]; - var t = typeof(v); - if ((v !== null) && ((t === 'object') || (t === 'function') || (t === 'undefined'))) { - throw Error.argument('state', Sys.Res.stateMustBeStringDictionary); - } - } - this._ensureHistory(); - var initialState = this._state; - for (var key in state) { - var value = state[key]; - if (value === null) { - if (typeof(initialState[key]) !== 'undefined') { - delete initialState[key]; - } - } - else { - initialState[key] = value; - } - } - var entry = this._serializeState(initialState); - this._historyPointIsNew = true; - this._setState(entry, title); - this._raiseNavigate(); - } - function Sys$_Application$beginCreateComponents() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - this._creatingComponents = true; - } - function Sys$_Application$dispose() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (!this._disposing) { - this._disposing = true; - if (this._timerCookie) { - window.clearTimeout(this._timerCookie); - delete this._timerCookie; - } - if (this._endRequestHandler) { - Sys.WebForms.PageRequestManager.getInstance().remove_endRequest(this._endRequestHandler); - delete this._endRequestHandler; - } - if (this._beginRequestHandler) { - Sys.WebForms.PageRequestManager.getInstance().remove_beginRequest(this._beginRequestHandler); - delete this._beginRequestHandler; - } - if (window.pageUnload) { - window.pageUnload(this, Sys.EventArgs.Empty); - } - var unloadHandler = this.get_events().getHandler("unload"); - if (unloadHandler) { - unloadHandler(this, Sys.EventArgs.Empty); - } - var disposableObjects = Array.clone(this._disposableObjects); - for (var i = 0, l = disposableObjects.length; i < l; i++) { - disposableObjects[i].dispose(); - } - Array.clear(this._disposableObjects); - Sys.UI.DomEvent.removeHandler(window, "unload", this._unloadHandlerDelegate); - if(this._loadHandlerDelegate) { - Sys.UI.DomEvent.removeHandler(window, "load", this._loadHandlerDelegate); - this._loadHandlerDelegate = null; - } - var sl = Sys._ScriptLoader.getInstance(); - if(sl) { - sl.dispose(); - } - Sys._Application.callBaseMethod(this, 'dispose'); - } - } - function Sys$_Application$endCreateComponents() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - var components = this._secondPassComponents; - for (var i = 0, l = components.length; i < l; i++) { - var component = components[i].component; - Sys$Component$_setReferences(component, components[i].references); - component.endUpdate(); - } - this._secondPassComponents = []; - this._creatingComponents = false; - } - function Sys$_Application$findComponent(id, parent) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "id", type: String}, - {name: "parent", mayBeNull: true, optional: true} - ]); - if (e) throw e; - return (parent ? - ((Sys.IContainer.isInstanceOfType(parent)) ? - parent.findComponent(id) : - parent[id] || null) : - Sys.Application._components[id] || null); - } - function Sys$_Application$getComponents() { - /// - /// - if (arguments.length !== 0) throw Error.parameterCount(); - var res = []; - var components = this._components; - for (var name in components) { - res[res.length] = components[name]; - } - return res; - } - function Sys$_Application$initialize() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if(!this._initialized && !this._initializing) { - this._initializing = true; - window.setTimeout(Function.createDelegate(this, this._doInitialize), 0); - } - } - function Sys$_Application$notifyScriptLoaded() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - var sl = Sys._ScriptLoader.getInstance(); - if(sl) { - sl.notifyScriptLoaded(); - } - } - function Sys$_Application$registerDisposableObject(object) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "object", type: Sys.IDisposable} - ]); - if (e) throw e; - if (!this._disposing) { - this._disposableObjects[this._disposableObjects.length] = object; - } - } - function Sys$_Application$raiseLoad() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - var h = this.get_events().getHandler("load"); - var args = new Sys.ApplicationLoadEventArgs(Array.clone(this._createdComponents), !this._initializing); - if (h) { - h(this, args); - } - if (window.pageLoad) { - window.pageLoad(this, args); - } - this._createdComponents = []; - } - function Sys$_Application$removeComponent(component) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "component", type: Sys.Component} - ]); - if (e) throw e; - var id = component.get_id(); - if (id) delete this._components[id]; - } - function Sys$_Application$setServerId(clientId, uniqueId) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "clientId", type: String}, - {name: "uniqueId", type: String} - ]); - if (e) throw e; - this._clientId = clientId; - this._uniqueId = uniqueId; - } - function Sys$_Application$setServerState(value) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "value", type: String} - ]); - if (e) throw e; - this._ensureHistory(); - this._state.__s = value; - this._updateHiddenField(value); - } - function Sys$_Application$unregisterDisposableObject(object) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "object", type: Sys.IDisposable} - ]); - if (e) throw e; - if (!this._disposing) { - Array.remove(this._disposableObjects, object); - } - } - function Sys$_Application$_addComponentToSecondPass(component, references) { - this._secondPassComponents[this._secondPassComponents.length] = {component: component, references: references}; - } - function Sys$_Application$_deserializeState(entry, skipDecodeUri) { - var result = {}; - entry = entry || ''; - var serverSeparator = entry.indexOf('&&'); - if ((serverSeparator !== -1) && (serverSeparator + 2 < entry.length)) { - result.__s = entry.substr(serverSeparator + 2); - entry = entry.substr(0, serverSeparator); - } - var tokens = entry.split('&'); - for (var i = 0, l = tokens.length; i < l; i++) { - var token = tokens[i]; - var equal = token.indexOf('='); - if ((equal !== -1) && (equal + 1 < token.length)) { - var name = token.substr(0, equal); - var value = token.substr(equal + 1); - result[name] = skipDecodeUri ? value : decodeURIComponent(value); - } - } - return result; - } - function Sys$_Application$_doInitialize() { - Sys._Application.callBaseMethod(this, 'initialize'); - - var handler = this.get_events().getHandler("init"); - if (handler) { - this.beginCreateComponents(); - handler(this, Sys.EventArgs.Empty); - this.endCreateComponents(); - } - if (Sys.WebForms) { - this._beginRequestHandler = Function.createDelegate(this, this._onPageRequestManagerBeginRequest); - Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(this._beginRequestHandler); - this._endRequestHandler = Function.createDelegate(this, this._onPageRequestManagerEndRequest); - Sys.WebForms.PageRequestManager.getInstance().add_endRequest(this._endRequestHandler); - } - - var loadedEntry = this.get_stateString(); - if (loadedEntry !== this._currentEntry) { - this._navigate(loadedEntry); - } - - this.raiseLoad(); - this._initializing = false; - } - function Sys$_Application$_enableHistoryInScriptManager() { - this._enableHistory = true; - this._historyEnabledInScriptManager = true; - } - function Sys$_Application$_ensureHistory() { - if (!this._historyInitialized && this._enableHistory) { - if ((Sys.Browser.agent === Sys.Browser.InternetExplorer) && (Sys.Browser.documentMode < 8)) { - this._historyFrame = document.getElementById('__historyFrame'); - if (!this._historyFrame) throw Error.invalidOperation(Sys.Res.historyMissingFrame); - this._ignoreIFrame = true; - } - if (this._isSafari2()) { - var historyElement = document.getElementById('__history'); - if (!historyElement) throw Error.invalidOperation(Sys.Res.historyMissingHiddenInput); - this._setHistory([window.location.hash]); - this._historyInitialLength = window.history.length; - } - - this._timerHandler = Function.createDelegate(this, this._onIdle); - this._timerCookie = window.setTimeout(this._timerHandler, 100); - - try { - this._initialState = this._deserializeState(this.get_stateString()); - } catch(e) {} - - this._historyInitialized = true; - } - } - function Sys$_Application$_getHistory() { - var historyElement = document.getElementById('__history'); - if (!historyElement) return ''; - var v = historyElement.value; - return v ? Sys.Serialization.JavaScriptSerializer.deserialize(v, true) : ''; - } - function Sys$_Application$_isSafari2() { - return (Sys.Browser.agent === Sys.Browser.Safari) && - (Sys.Browser.version <= 419.3); - } - function Sys$_Application$_loadHandler() { - if(this._loadHandlerDelegate) { - Sys.UI.DomEvent.removeHandler(window, "load", this._loadHandlerDelegate); - this._loadHandlerDelegate = null; - } - this.initialize(); - } - function Sys$_Application$_navigate(entry) { - this._ensureHistory(); - var state = this._deserializeState(entry); - - if (this._uniqueId) { - var oldServerEntry = this._state.__s || ''; - var newServerEntry = state.__s || ''; - if (newServerEntry !== oldServerEntry) { - this._updateHiddenField(newServerEntry); - __doPostBack(this._uniqueId, newServerEntry); - this._state = state; - return; - } - } - this._setState(entry); - this._state = state; - this._raiseNavigate(); - } - function Sys$_Application$_onIdle() { - delete this._timerCookie; - - var entry = this.get_stateString(); - if (entry !== this._currentEntry) { - if (!this._ignoreTimer) { - this._historyPointIsNew = false; - this._navigate(entry); - this._historyLength = window.history.length; - } - } - else { - this._ignoreTimer = false; - } - this._timerCookie = window.setTimeout(this._timerHandler, 100); - } - function Sys$_Application$_onIFrameLoad(entry) { - this._ensureHistory(); - if (!this._ignoreIFrame) { - this._historyPointIsNew = false; - this._navigate(entry); - } - this._ignoreIFrame = false; - } - function Sys$_Application$_onPageRequestManagerBeginRequest(sender, args) { - this._ignoreTimer = true; - } - function Sys$_Application$_onPageRequestManagerEndRequest(sender, args) { - var dataItem = args.get_dataItems()[this._clientId]; - var eventTarget = document.getElementById("__EVENTTARGET"); - if (eventTarget && eventTarget.value === this._uniqueId) { - eventTarget.value = ''; - } - if (typeof(dataItem) !== 'undefined') { - this.setServerState(dataItem); - this._historyPointIsNew = true; - } - else { - this._ignoreTimer = false; - } - var entry = this._serializeState(this._state); - if (entry !== this._currentEntry) { - this._ignoreTimer = true; - this._setState(entry); - this._raiseNavigate(); - } - } - function Sys$_Application$_raiseNavigate() { - var h = this.get_events().getHandler("navigate"); - var stateClone = {}; - for (var key in this._state) { - if (key !== '__s') { - stateClone[key] = this._state[key]; - } - } - var args = new Sys.HistoryEventArgs(stateClone); - if (h) { - h(this, args); - } - } - function Sys$_Application$_serializeState(state) { - var serialized = []; - for (var key in state) { - var value = state[key]; - if (key === '__s') { - var serverState = value; - } - else { - if (key.indexOf('=') !== -1) throw Error.argument('state', Sys.Res.stateFieldNameInvalid); - serialized[serialized.length] = key + '=' + encodeURIComponent(value); - } - } - return serialized.join('&') + (serverState ? '&&' + serverState : ''); - } - function Sys$_Application$_setHistory(historyArray) { - var historyElement = document.getElementById('__history'); - if (historyElement) { - historyElement.value = Sys.Serialization.JavaScriptSerializer.serialize(historyArray); - } - } - function Sys$_Application$_setState(entry, title) { - entry = entry || ''; - if (entry !== this._currentEntry) { - if (window.theForm) { - var action = window.theForm.action; - var hashIndex = action.indexOf('#'); - window.theForm.action = ((hashIndex !== -1) ? action.substring(0, hashIndex) : action) + '#' + entry; - } - - if (this._historyFrame && this._historyPointIsNew) { - this._ignoreIFrame = true; - this._historyPointIsNew = false; - var frameDoc = this._historyFrame.contentWindow.document; - frameDoc.open("javascript:''"); - frameDoc.write("" + (title || document.title) + - "parent.Sys.Application._onIFrameLoad('" + - entry + "');"); - frameDoc.close(); - } - this._ignoreTimer = false; - var currentHash = this.get_stateString(); - this._currentEntry = entry; - if (entry !== currentHash) { - var loc = document.location; - if (loc.href.length - loc.hash.length + entry.length > 1024) { - throw Error.invalidOperation(Sys.Res.urlMustBeLessThan1024chars); - } - if (this._isSafari2()) { - var history = this._getHistory(); - history[window.history.length - this._historyInitialLength + 1] = entry; - this._setHistory(history); - this._historyLength = window.history.length + 1; - var form = document.createElement('form'); - form.method = 'get'; - form.action = '#' + entry; - document.appendChild(form); - form.submit(); - document.removeChild(form); - } - else { - window.location.hash = entry; - } - if ((typeof(title) !== 'undefined') && (title !== null)) { - document.title = title; - } - } - } - } - function Sys$_Application$_unloadHandler(event) { - this.dispose(); - } - function Sys$_Application$_updateHiddenField(value) { - if (this._clientId) { - var serverStateField = document.getElementById(this._clientId); - if (serverStateField) { - serverStateField.value = value; - } - } - } -Sys._Application.prototype = { - _creatingComponents: false, - _disposing: false, - get_isCreatingComponents: Sys$_Application$get_isCreatingComponents, - get_stateString: Sys$_Application$get_stateString, - get_enableHistory: Sys$_Application$get_enableHistory, - set_enableHistory: Sys$_Application$set_enableHistory, - add_init: Sys$_Application$add_init, - remove_init: Sys$_Application$remove_init, - add_load: Sys$_Application$add_load, - remove_load: Sys$_Application$remove_load, - add_navigate: Sys$_Application$add_navigate, - remove_navigate: Sys$_Application$remove_navigate, - add_unload: Sys$_Application$add_unload, - remove_unload: Sys$_Application$remove_unload, - addComponent: Sys$_Application$addComponent, - addHistoryPoint: Sys$_Application$addHistoryPoint, - beginCreateComponents: Sys$_Application$beginCreateComponents, - dispose: Sys$_Application$dispose, - endCreateComponents: Sys$_Application$endCreateComponents, - findComponent: Sys$_Application$findComponent, - getComponents: Sys$_Application$getComponents, - initialize: Sys$_Application$initialize, - notifyScriptLoaded: Sys$_Application$notifyScriptLoaded, - registerDisposableObject: Sys$_Application$registerDisposableObject, - raiseLoad: Sys$_Application$raiseLoad, - removeComponent: Sys$_Application$removeComponent, - setServerId: Sys$_Application$setServerId, - setServerState: Sys$_Application$setServerState, - unregisterDisposableObject: Sys$_Application$unregisterDisposableObject, - _addComponentToSecondPass: Sys$_Application$_addComponentToSecondPass, - _deserializeState: Sys$_Application$_deserializeState, - _doInitialize: Sys$_Application$_doInitialize, - _enableHistoryInScriptManager: Sys$_Application$_enableHistoryInScriptManager, - _ensureHistory: Sys$_Application$_ensureHistory, - _getHistory: Sys$_Application$_getHistory, - _isSafari2: Sys$_Application$_isSafari2, - _loadHandler: Sys$_Application$_loadHandler, - _navigate: Sys$_Application$_navigate, - _onIdle: Sys$_Application$_onIdle, - _onIFrameLoad: Sys$_Application$_onIFrameLoad, - _onPageRequestManagerBeginRequest: Sys$_Application$_onPageRequestManagerBeginRequest, - _onPageRequestManagerEndRequest: Sys$_Application$_onPageRequestManagerEndRequest, - _raiseNavigate: Sys$_Application$_raiseNavigate, - _serializeState: Sys$_Application$_serializeState, - _setHistory: Sys$_Application$_setHistory, - _setState: Sys$_Application$_setState, - _unloadHandler: Sys$_Application$_unloadHandler, - _updateHiddenField: Sys$_Application$_updateHiddenField -} -Sys._Application.registerClass('Sys._Application', Sys.Component, Sys.IContainer); -Sys.Application = new Sys._Application(); -var $find = Sys.Application.findComponent; -Type.registerNamespace('Sys.Net'); - -Sys.Net.WebRequestExecutor = function Sys$Net$WebRequestExecutor() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - this._webRequest = null; - this._resultObject = null; -} - function Sys$Net$WebRequestExecutor$get_webRequest() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._webRequest; - } - function Sys$Net$WebRequestExecutor$_set_webRequest(value) { - if (this.get_started()) { - throw Error.invalidOperation(String.format(Sys.Res.cannotCallOnceStarted, 'set_webRequest')); - } - this._webRequest = value; - } - function Sys$Net$WebRequestExecutor$get_started() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - throw Error.notImplemented(); - } - function Sys$Net$WebRequestExecutor$get_responseAvailable() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - throw Error.notImplemented(); - } - function Sys$Net$WebRequestExecutor$get_timedOut() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - throw Error.notImplemented(); - } - function Sys$Net$WebRequestExecutor$get_aborted() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - throw Error.notImplemented(); - } - function Sys$Net$WebRequestExecutor$get_responseData() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - throw Error.notImplemented(); - } - function Sys$Net$WebRequestExecutor$get_statusCode() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - throw Error.notImplemented(); - } - function Sys$Net$WebRequestExecutor$get_statusText() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - throw Error.notImplemented(); - } - function Sys$Net$WebRequestExecutor$get_xml() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - throw Error.notImplemented(); - } - function Sys$Net$WebRequestExecutor$get_object() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (!this._resultObject) { - this._resultObject = Sys.Serialization.JavaScriptSerializer.deserialize(this.get_responseData()); - } - return this._resultObject; - } - function Sys$Net$WebRequestExecutor$executeRequest() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - throw Error.notImplemented(); - } - function Sys$Net$WebRequestExecutor$abort() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - throw Error.notImplemented(); - } - function Sys$Net$WebRequestExecutor$getResponseHeader(header) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "header", type: String} - ]); - if (e) throw e; - throw Error.notImplemented(); - } - function Sys$Net$WebRequestExecutor$getAllResponseHeaders() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - throw Error.notImplemented(); - } -Sys.Net.WebRequestExecutor.prototype = { - get_webRequest: Sys$Net$WebRequestExecutor$get_webRequest, - _set_webRequest: Sys$Net$WebRequestExecutor$_set_webRequest, - get_started: Sys$Net$WebRequestExecutor$get_started, - get_responseAvailable: Sys$Net$WebRequestExecutor$get_responseAvailable, - get_timedOut: Sys$Net$WebRequestExecutor$get_timedOut, - get_aborted: Sys$Net$WebRequestExecutor$get_aborted, - get_responseData: Sys$Net$WebRequestExecutor$get_responseData, - get_statusCode: Sys$Net$WebRequestExecutor$get_statusCode, - get_statusText: Sys$Net$WebRequestExecutor$get_statusText, - get_xml: Sys$Net$WebRequestExecutor$get_xml, - get_object: Sys$Net$WebRequestExecutor$get_object, - executeRequest: Sys$Net$WebRequestExecutor$executeRequest, - abort: Sys$Net$WebRequestExecutor$abort, - getResponseHeader: Sys$Net$WebRequestExecutor$getResponseHeader, - getAllResponseHeaders: Sys$Net$WebRequestExecutor$getAllResponseHeaders -} -Sys.Net.WebRequestExecutor.registerClass('Sys.Net.WebRequestExecutor'); - -Sys.Net.XMLDOM = function Sys$Net$XMLDOM(markup) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "markup", type: String} - ]); - if (e) throw e; - if (!window.DOMParser) { - var progIDs = [ 'Msxml2.DOMDocument.3.0', 'Msxml2.DOMDocument' ]; - for (var i = 0, l = progIDs.length; i < l; i++) { - try { - var xmlDOM = new ActiveXObject(progIDs[i]); - xmlDOM.async = false; - xmlDOM.loadXML(markup); - xmlDOM.setProperty('SelectionLanguage', 'XPath'); - return xmlDOM; - } - catch (ex) { - } - } - } - else { - try { - var domParser = new window.DOMParser(); - return domParser.parseFromString(markup, 'text/xml'); - } - catch (ex) { - } - } - return null; -} -Sys.Net.XMLHttpExecutor = function Sys$Net$XMLHttpExecutor() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - Sys.Net.XMLHttpExecutor.initializeBase(this); - var _this = this; - this._xmlHttpRequest = null; - this._webRequest = null; - this._responseAvailable = false; - this._timedOut = false; - this._timer = null; - this._aborted = false; - this._started = false; - this._onReadyStateChange = (function () { - - if (_this._xmlHttpRequest.readyState === 4 ) { - try { - if (typeof(_this._xmlHttpRequest.status) === "undefined") { - return; - } - } - catch(ex) { - return; - } - - _this._clearTimer(); - _this._responseAvailable = true; - try { - _this._webRequest.completed(Sys.EventArgs.Empty); - } - finally { - if (_this._xmlHttpRequest != null) { - _this._xmlHttpRequest.onreadystatechange = Function.emptyMethod; - _this._xmlHttpRequest = null; - } - } - } - }); - this._clearTimer = (function() { - if (_this._timer != null) { - window.clearTimeout(_this._timer); - _this._timer = null; - } - }); - this._onTimeout = (function() { - if (!_this._responseAvailable) { - _this._clearTimer(); - _this._timedOut = true; - _this._xmlHttpRequest.onreadystatechange = Function.emptyMethod; - _this._xmlHttpRequest.abort(); - _this._webRequest.completed(Sys.EventArgs.Empty); - _this._xmlHttpRequest = null; - } - }); -} - function Sys$Net$XMLHttpExecutor$get_timedOut() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._timedOut; - } - function Sys$Net$XMLHttpExecutor$get_started() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._started; - } - function Sys$Net$XMLHttpExecutor$get_responseAvailable() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._responseAvailable; - } - function Sys$Net$XMLHttpExecutor$get_aborted() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._aborted; - } - function Sys$Net$XMLHttpExecutor$executeRequest() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - this._webRequest = this.get_webRequest(); - if (this._started) { - throw Error.invalidOperation(String.format(Sys.Res.cannotCallOnceStarted, 'executeRequest')); - } - if (this._webRequest === null) { - throw Error.invalidOperation(Sys.Res.nullWebRequest); - } - var body = this._webRequest.get_body(); - var headers = this._webRequest.get_headers(); - this._xmlHttpRequest = new XMLHttpRequest(); - this._xmlHttpRequest.onreadystatechange = this._onReadyStateChange; - var verb = this._webRequest.get_httpVerb(); - this._xmlHttpRequest.open(verb, this._webRequest.getResolvedUrl(), true ); - if (headers) { - for (var header in headers) { - var val = headers[header]; - if (typeof(val) !== "function") - this._xmlHttpRequest.setRequestHeader(header, val); - } - } - if (verb.toLowerCase() === "post") { - if ((headers === null) || !headers['Content-Type']) { - this._xmlHttpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8'); - } - if (!body) { - body = ""; - } - } - var timeout = this._webRequest.get_timeout(); - if (timeout > 0) { - this._timer = window.setTimeout(Function.createDelegate(this, this._onTimeout), timeout); - } - this._xmlHttpRequest.send(body); - this._started = true; - } - function Sys$Net$XMLHttpExecutor$getResponseHeader(header) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "header", type: String} - ]); - if (e) throw e; - if (!this._responseAvailable) { - throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'getResponseHeader')); - } - if (!this._xmlHttpRequest) { - throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'getResponseHeader')); - } - var result; - try { - result = this._xmlHttpRequest.getResponseHeader(header); - } catch (e) { - } - if (!result) result = ""; - return result; - } - function Sys$Net$XMLHttpExecutor$getAllResponseHeaders() { - /// - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (!this._responseAvailable) { - throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'getAllResponseHeaders')); - } - if (!this._xmlHttpRequest) { - throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'getAllResponseHeaders')); - } - return this._xmlHttpRequest.getAllResponseHeaders(); - } - function Sys$Net$XMLHttpExecutor$get_responseData() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (!this._responseAvailable) { - throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'get_responseData')); - } - if (!this._xmlHttpRequest) { - throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'get_responseData')); - } - return this._xmlHttpRequest.responseText; - } - function Sys$Net$XMLHttpExecutor$get_statusCode() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (!this._responseAvailable) { - throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'get_statusCode')); - } - if (!this._xmlHttpRequest) { - throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'get_statusCode')); - } - var result = 0; - try { - result = this._xmlHttpRequest.status; - } - catch(ex) { - } - return result; - } - function Sys$Net$XMLHttpExecutor$get_statusText() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (!this._responseAvailable) { - throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'get_statusText')); - } - if (!this._xmlHttpRequest) { - throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'get_statusText')); - } - return this._xmlHttpRequest.statusText; - } - function Sys$Net$XMLHttpExecutor$get_xml() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (!this._responseAvailable) { - throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'get_xml')); - } - if (!this._xmlHttpRequest) { - throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'get_xml')); - } - var xml = this._xmlHttpRequest.responseXML; - if (!xml || !xml.documentElement) { - xml = Sys.Net.XMLDOM(this._xmlHttpRequest.responseText); - if (!xml || !xml.documentElement) - return null; - } - else if (navigator.userAgent.indexOf('MSIE') !== -1) { - xml.setProperty('SelectionLanguage', 'XPath'); - } - if (xml.documentElement.namespaceURI === "http://www.mozilla.org/newlayout/xml/parsererror.xml" && - xml.documentElement.tagName === "parsererror") { - return null; - } - - if (xml.documentElement.firstChild && xml.documentElement.firstChild.tagName === "parsererror") { - return null; - } - - return xml; - } - function Sys$Net$XMLHttpExecutor$abort() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (!this._started) { - throw Error.invalidOperation(Sys.Res.cannotAbortBeforeStart); - } - if (this._aborted || this._responseAvailable || this._timedOut) - return; - this._aborted = true; - this._clearTimer(); - if (this._xmlHttpRequest && !this._responseAvailable) { - this._xmlHttpRequest.onreadystatechange = Function.emptyMethod; - this._xmlHttpRequest.abort(); - - this._xmlHttpRequest = null; - this._webRequest.completed(Sys.EventArgs.Empty); - } - } -Sys.Net.XMLHttpExecutor.prototype = { - get_timedOut: Sys$Net$XMLHttpExecutor$get_timedOut, - get_started: Sys$Net$XMLHttpExecutor$get_started, - get_responseAvailable: Sys$Net$XMLHttpExecutor$get_responseAvailable, - get_aborted: Sys$Net$XMLHttpExecutor$get_aborted, - executeRequest: Sys$Net$XMLHttpExecutor$executeRequest, - getResponseHeader: Sys$Net$XMLHttpExecutor$getResponseHeader, - getAllResponseHeaders: Sys$Net$XMLHttpExecutor$getAllResponseHeaders, - get_responseData: Sys$Net$XMLHttpExecutor$get_responseData, - get_statusCode: Sys$Net$XMLHttpExecutor$get_statusCode, - get_statusText: Sys$Net$XMLHttpExecutor$get_statusText, - get_xml: Sys$Net$XMLHttpExecutor$get_xml, - abort: Sys$Net$XMLHttpExecutor$abort -} -Sys.Net.XMLHttpExecutor.registerClass('Sys.Net.XMLHttpExecutor', Sys.Net.WebRequestExecutor); - -Sys.Net._WebRequestManager = function Sys$Net$_WebRequestManager() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - this._defaultTimeout = 0; - this._defaultExecutorType = "Sys.Net.XMLHttpExecutor"; -} - function Sys$Net$_WebRequestManager$add_invokingRequest(handler) { - /// - var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); - if (e) throw e; - this._get_eventHandlerList().addHandler("invokingRequest", handler); - } - function Sys$Net$_WebRequestManager$remove_invokingRequest(handler) { - var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); - if (e) throw e; - this._get_eventHandlerList().removeHandler("invokingRequest", handler); - } - function Sys$Net$_WebRequestManager$add_completedRequest(handler) { - /// - var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); - if (e) throw e; - this._get_eventHandlerList().addHandler("completedRequest", handler); - } - function Sys$Net$_WebRequestManager$remove_completedRequest(handler) { - var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); - if (e) throw e; - this._get_eventHandlerList().removeHandler("completedRequest", handler); - } - function Sys$Net$_WebRequestManager$_get_eventHandlerList() { - if (!this._events) { - this._events = new Sys.EventHandlerList(); - } - return this._events; - } - function Sys$Net$_WebRequestManager$get_defaultTimeout() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._defaultTimeout; - } - function Sys$Net$_WebRequestManager$set_defaultTimeout(value) { - var e = Function._validateParams(arguments, [{name: "value", type: Number}]); - if (e) throw e; - if (value < 0) { - throw Error.argumentOutOfRange("value", value, Sys.Res.invalidTimeout); - } - this._defaultTimeout = value; - } - function Sys$Net$_WebRequestManager$get_defaultExecutorType() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._defaultExecutorType; - } - function Sys$Net$_WebRequestManager$set_defaultExecutorType(value) { - var e = Function._validateParams(arguments, [{name: "value", type: String}]); - if (e) throw e; - this._defaultExecutorType = value; - } - function Sys$Net$_WebRequestManager$executeRequest(webRequest) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "webRequest", type: Sys.Net.WebRequest} - ]); - if (e) throw e; - var executor = webRequest.get_executor(); - if (!executor) { - var failed = false; - try { - var executorType = eval(this._defaultExecutorType); - executor = new executorType(); - } catch (e) { - failed = true; - } - if (failed || !Sys.Net.WebRequestExecutor.isInstanceOfType(executor) || !executor) { - throw Error.argument("defaultExecutorType", String.format(Sys.Res.invalidExecutorType, this._defaultExecutorType)); - } - webRequest.set_executor(executor); - } - if (executor.get_aborted()) { - return; - } - var evArgs = new Sys.Net.NetworkRequestEventArgs(webRequest); - var handler = this._get_eventHandlerList().getHandler("invokingRequest"); - if (handler) { - handler(this, evArgs); - } - if (!evArgs.get_cancel()) { - executor.executeRequest(); - } - } -Sys.Net._WebRequestManager.prototype = { - add_invokingRequest: Sys$Net$_WebRequestManager$add_invokingRequest, - remove_invokingRequest: Sys$Net$_WebRequestManager$remove_invokingRequest, - add_completedRequest: Sys$Net$_WebRequestManager$add_completedRequest, - remove_completedRequest: Sys$Net$_WebRequestManager$remove_completedRequest, - _get_eventHandlerList: Sys$Net$_WebRequestManager$_get_eventHandlerList, - get_defaultTimeout: Sys$Net$_WebRequestManager$get_defaultTimeout, - set_defaultTimeout: Sys$Net$_WebRequestManager$set_defaultTimeout, - get_defaultExecutorType: Sys$Net$_WebRequestManager$get_defaultExecutorType, - set_defaultExecutorType: Sys$Net$_WebRequestManager$set_defaultExecutorType, - executeRequest: Sys$Net$_WebRequestManager$executeRequest -} -Sys.Net._WebRequestManager.registerClass('Sys.Net._WebRequestManager'); -Sys.Net.WebRequestManager = new Sys.Net._WebRequestManager(); - -Sys.Net.NetworkRequestEventArgs = function Sys$Net$NetworkRequestEventArgs(webRequest) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "webRequest", type: Sys.Net.WebRequest} - ]); - if (e) throw e; - Sys.Net.NetworkRequestEventArgs.initializeBase(this); - this._webRequest = webRequest; -} - function Sys$Net$NetworkRequestEventArgs$get_webRequest() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._webRequest; - } -Sys.Net.NetworkRequestEventArgs.prototype = { - get_webRequest: Sys$Net$NetworkRequestEventArgs$get_webRequest -} -Sys.Net.NetworkRequestEventArgs.registerClass('Sys.Net.NetworkRequestEventArgs', Sys.CancelEventArgs); - -Sys.Net.WebRequest = function Sys$Net$WebRequest() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - this._url = ""; - this._headers = { }; - this._body = null; - this._userContext = null; - this._httpVerb = null; - this._executor = null; - this._invokeCalled = false; - this._timeout = 0; -} - function Sys$Net$WebRequest$add_completed(handler) { - /// - var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); - if (e) throw e; - this._get_eventHandlerList().addHandler("completed", handler); - } - function Sys$Net$WebRequest$remove_completed(handler) { - var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); - if (e) throw e; - this._get_eventHandlerList().removeHandler("completed", handler); - } - function Sys$Net$WebRequest$completed(eventArgs) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "eventArgs", type: Sys.EventArgs} - ]); - if (e) throw e; - var handler = Sys.Net.WebRequestManager._get_eventHandlerList().getHandler("completedRequest"); - if (handler) { - handler(this._executor, eventArgs); - } - handler = this._get_eventHandlerList().getHandler("completed"); - if (handler) { - handler(this._executor, eventArgs); - } - } - function Sys$Net$WebRequest$_get_eventHandlerList() { - if (!this._events) { - this._events = new Sys.EventHandlerList(); - } - return this._events; - } - function Sys$Net$WebRequest$get_url() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._url; - } - function Sys$Net$WebRequest$set_url(value) { - var e = Function._validateParams(arguments, [{name: "value", type: String}]); - if (e) throw e; - this._url = value; - } - function Sys$Net$WebRequest$get_headers() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._headers; - } - function Sys$Net$WebRequest$get_httpVerb() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (this._httpVerb === null) { - if (this._body === null) { - return "GET"; - } - return "POST"; - } - return this._httpVerb; - } - function Sys$Net$WebRequest$set_httpVerb(value) { - var e = Function._validateParams(arguments, [{name: "value", type: String}]); - if (e) throw e; - if (value.length === 0) { - throw Error.argument('value', Sys.Res.invalidHttpVerb); - } - this._httpVerb = value; - } - function Sys$Net$WebRequest$get_body() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._body; - } - function Sys$Net$WebRequest$set_body(value) { - var e = Function._validateParams(arguments, [{name: "value", mayBeNull: true}]); - if (e) throw e; - this._body = value; - } - function Sys$Net$WebRequest$get_userContext() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._userContext; - } - function Sys$Net$WebRequest$set_userContext(value) { - var e = Function._validateParams(arguments, [{name: "value", mayBeNull: true}]); - if (e) throw e; - this._userContext = value; - } - function Sys$Net$WebRequest$get_executor() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._executor; - } - function Sys$Net$WebRequest$set_executor(value) { - var e = Function._validateParams(arguments, [{name: "value", type: Sys.Net.WebRequestExecutor}]); - if (e) throw e; - if (this._executor !== null && this._executor.get_started()) { - throw Error.invalidOperation(Sys.Res.setExecutorAfterActive); - } - this._executor = value; - this._executor._set_webRequest(this); - } - function Sys$Net$WebRequest$get_timeout() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (this._timeout === 0) { - return Sys.Net.WebRequestManager.get_defaultTimeout(); - } - return this._timeout; - } - function Sys$Net$WebRequest$set_timeout(value) { - var e = Function._validateParams(arguments, [{name: "value", type: Number}]); - if (e) throw e; - if (value < 0) { - throw Error.argumentOutOfRange("value", value, Sys.Res.invalidTimeout); - } - this._timeout = value; - } - function Sys$Net$WebRequest$getResolvedUrl() { - /// - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return Sys.Net.WebRequest._resolveUrl(this._url); - } - function Sys$Net$WebRequest$invoke() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (this._invokeCalled) { - throw Error.invalidOperation(Sys.Res.invokeCalledTwice); - } - Sys.Net.WebRequestManager.executeRequest(this); - this._invokeCalled = true; - } -Sys.Net.WebRequest.prototype = { - add_completed: Sys$Net$WebRequest$add_completed, - remove_completed: Sys$Net$WebRequest$remove_completed, - completed: Sys$Net$WebRequest$completed, - _get_eventHandlerList: Sys$Net$WebRequest$_get_eventHandlerList, - get_url: Sys$Net$WebRequest$get_url, - set_url: Sys$Net$WebRequest$set_url, - get_headers: Sys$Net$WebRequest$get_headers, - get_httpVerb: Sys$Net$WebRequest$get_httpVerb, - set_httpVerb: Sys$Net$WebRequest$set_httpVerb, - get_body: Sys$Net$WebRequest$get_body, - set_body: Sys$Net$WebRequest$set_body, - get_userContext: Sys$Net$WebRequest$get_userContext, - set_userContext: Sys$Net$WebRequest$set_userContext, - get_executor: Sys$Net$WebRequest$get_executor, - set_executor: Sys$Net$WebRequest$set_executor, - get_timeout: Sys$Net$WebRequest$get_timeout, - set_timeout: Sys$Net$WebRequest$set_timeout, - getResolvedUrl: Sys$Net$WebRequest$getResolvedUrl, - invoke: Sys$Net$WebRequest$invoke -} -Sys.Net.WebRequest._resolveUrl = function Sys$Net$WebRequest$_resolveUrl(url, baseUrl) { - if (url && url.indexOf('://') !== -1) { - return url; - } - if (!baseUrl || baseUrl.length === 0) { - var baseElement = document.getElementsByTagName('base')[0]; - if (baseElement && baseElement.href && baseElement.href.length > 0) { - baseUrl = baseElement.href; - } - else { - baseUrl = document.URL; - } - } - var qsStart = baseUrl.indexOf('?'); - if (qsStart !== -1) { - baseUrl = baseUrl.substr(0, qsStart); - } - qsStart = baseUrl.indexOf('#'); - if (qsStart !== -1) { - baseUrl = baseUrl.substr(0, qsStart); - } - baseUrl = baseUrl.substr(0, baseUrl.lastIndexOf('/') + 1); - if (!url || url.length === 0) { - return baseUrl; - } - if (url.charAt(0) === '/') { - var slashslash = baseUrl.indexOf('://'); - if (slashslash === -1) { - throw Error.argument("baseUrl", Sys.Res.badBaseUrl1); - } - var nextSlash = baseUrl.indexOf('/', slashslash + 3); - if (nextSlash === -1) { - throw Error.argument("baseUrl", Sys.Res.badBaseUrl2); - } - return baseUrl.substr(0, nextSlash) + url; - } - else { - var lastSlash = baseUrl.lastIndexOf('/'); - if (lastSlash === -1) { - throw Error.argument("baseUrl", Sys.Res.badBaseUrl3); - } - return baseUrl.substr(0, lastSlash+1) + url; - } -} -Sys.Net.WebRequest._createQueryString = function Sys$Net$WebRequest$_createQueryString(queryString, encodeMethod) { - if (!encodeMethod) - encodeMethod = encodeURIComponent; - var sb = new Sys.StringBuilder(); - var i = 0; - for (var arg in queryString) { - var obj = queryString[arg]; - if (typeof(obj) === "function") continue; - var val = Sys.Serialization.JavaScriptSerializer.serialize(obj); - if (i !== 0) { - sb.append('&'); - } - sb.append(arg); - sb.append('='); - sb.append(encodeMethod(val)); - i++; - } - return sb.toString(); -} -Sys.Net.WebRequest._createUrl = function Sys$Net$WebRequest$_createUrl(url, queryString) { - if (!queryString) { - return url; - } - var qs = Sys.Net.WebRequest._createQueryString(queryString); - if (qs.length > 0) { - var sep = '?'; - if (url && url.indexOf('?') !== -1) - sep = '&'; - return url + sep + qs; - } else { - return url; - } -} -Sys.Net.WebRequest.registerClass('Sys.Net.WebRequest'); - -Sys.Net.WebServiceProxy = function Sys$Net$WebServiceProxy() { -} - function Sys$Net$WebServiceProxy$get_timeout() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._timeout; - } - function Sys$Net$WebServiceProxy$set_timeout(value) { - var e = Function._validateParams(arguments, [{name: "value", type: Number}]); - if (e) throw e; - if (value < 0) { throw Error.argumentOutOfRange('value', value, Sys.Res.invalidTimeout); } - this._timeout = value; - } - function Sys$Net$WebServiceProxy$get_defaultUserContext() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._userContext; - } - function Sys$Net$WebServiceProxy$set_defaultUserContext(value) { - var e = Function._validateParams(arguments, [{name: "value", mayBeNull: true}]); - if (e) throw e; - this._userContext = value; - } - function Sys$Net$WebServiceProxy$get_defaultSucceededCallback() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._succeeded; - } - function Sys$Net$WebServiceProxy$set_defaultSucceededCallback(value) { - var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]); - if (e) throw e; - this._succeeded = value; - } - function Sys$Net$WebServiceProxy$get_defaultFailedCallback() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._failed; - } - function Sys$Net$WebServiceProxy$set_defaultFailedCallback(value) { - var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]); - if (e) throw e; - this._failed = value; - } - function Sys$Net$WebServiceProxy$get_path() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._path; - } - function Sys$Net$WebServiceProxy$set_path(value) { - var e = Function._validateParams(arguments, [{name: "value", type: String}]); - if (e) throw e; - this._path = value; - } - function Sys$Net$WebServiceProxy$_invoke(servicePath, methodName, useGet, params, onSuccess, onFailure, userContext) { - /// - /// - /// - /// - /// - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "servicePath", type: String}, - {name: "methodName", type: String}, - {name: "useGet", type: Boolean}, - {name: "params"}, - {name: "onSuccess", type: Function, mayBeNull: true, optional: true}, - {name: "onFailure", type: Function, mayBeNull: true, optional: true}, - {name: "userContext", mayBeNull: true, optional: true} - ]); - if (e) throw e; - if (onSuccess === null || typeof onSuccess === 'undefined') onSuccess = this.get_defaultSucceededCallback(); - if (onFailure === null || typeof onFailure === 'undefined') onFailure = this.get_defaultFailedCallback(); - if (userContext === null || typeof userContext === 'undefined') userContext = this.get_defaultUserContext(); - - return Sys.Net.WebServiceProxy.invoke(servicePath, methodName, useGet, params, onSuccess, onFailure, userContext, this.get_timeout()); - } -Sys.Net.WebServiceProxy.prototype = { - get_timeout: Sys$Net$WebServiceProxy$get_timeout, - set_timeout: Sys$Net$WebServiceProxy$set_timeout, - get_defaultUserContext: Sys$Net$WebServiceProxy$get_defaultUserContext, - set_defaultUserContext: Sys$Net$WebServiceProxy$set_defaultUserContext, - get_defaultSucceededCallback: Sys$Net$WebServiceProxy$get_defaultSucceededCallback, - set_defaultSucceededCallback: Sys$Net$WebServiceProxy$set_defaultSucceededCallback, - get_defaultFailedCallback: Sys$Net$WebServiceProxy$get_defaultFailedCallback, - set_defaultFailedCallback: Sys$Net$WebServiceProxy$set_defaultFailedCallback, - get_path: Sys$Net$WebServiceProxy$get_path, - set_path: Sys$Net$WebServiceProxy$set_path, - _invoke: Sys$Net$WebServiceProxy$_invoke -} -Sys.Net.WebServiceProxy.registerClass('Sys.Net.WebServiceProxy'); -Sys.Net.WebServiceProxy.invoke = function Sys$Net$WebServiceProxy$invoke(servicePath, methodName, useGet, params, onSuccess, onFailure, userContext, timeout) { - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "servicePath", type: String}, - {name: "methodName", type: String}, - {name: "useGet", type: Boolean, optional: true}, - {name: "params", mayBeNull: true, optional: true}, - {name: "onSuccess", type: Function, mayBeNull: true, optional: true}, - {name: "onFailure", type: Function, mayBeNull: true, optional: true}, - {name: "userContext", mayBeNull: true, optional: true}, - {name: "timeout", type: Number, optional: true} - ]); - if (e) throw e; - var request = new Sys.Net.WebRequest(); - request.get_headers()['Content-Type'] = 'application/json; charset=utf-8'; - if (!params) params = {}; - var urlParams = params; - if (!useGet || !urlParams) urlParams = {}; - request.set_url(Sys.Net.WebRequest._createUrl(servicePath+"/"+encodeURIComponent(methodName), urlParams)); - var body = null; - if (!useGet) { - body = Sys.Serialization.JavaScriptSerializer.serialize(params); - if (body === "{}") body = ""; - } - request.set_body(body); - request.add_completed(onComplete); - if (timeout && timeout > 0) request.set_timeout(timeout); - request.invoke(); - function onComplete(response, eventArgs) { - if (response.get_responseAvailable()) { - var statusCode = response.get_statusCode(); - var result = null; - - try { - var contentType = response.getResponseHeader("Content-Type"); - if (contentType.startsWith("application/json")) { - result = response.get_object(); - } - else if (contentType.startsWith("text/xml")) { - result = response.get_xml(); - } - else { - result = response.get_responseData(); - } - } catch (ex) { - } - var error = response.getResponseHeader("jsonerror"); - var errorObj = (error === "true"); - if (errorObj) { - if (result) { - result = new Sys.Net.WebServiceError(false, result.Message, result.StackTrace, result.ExceptionType); - } - } - else if (contentType.startsWith("application/json")) { - if (!result || typeof(result.d) === "undefined") { - throw Sys.Net.WebServiceProxy._createFailedError(methodName, String.format(Sys.Res.webServiceInvalidJsonWrapper, methodName)); - } - result = result.d; - } - if (((statusCode < 200) || (statusCode >= 300)) || errorObj) { - if (onFailure) { - if (!result || !errorObj) { - result = new Sys.Net.WebServiceError(false , String.format(Sys.Res.webServiceFailedNoMsg, methodName), "", ""); - } - result._statusCode = statusCode; - onFailure(result, userContext, methodName); - } - else { - var error; - if (result && errorObj) { - error = result.get_exceptionType() + "-- " + result.get_message(); - } - else { - error = response.get_responseData(); - } - throw Sys.Net.WebServiceProxy._createFailedError(methodName, String.format(Sys.Res.webServiceFailed, methodName, error)); - } - } - else if (onSuccess) { - onSuccess(result, userContext, methodName); - } - } - else { - var msg; - if (response.get_timedOut()) { - msg = String.format(Sys.Res.webServiceTimedOut, methodName); - } - else { - msg = String.format(Sys.Res.webServiceFailedNoMsg, methodName) - } - if (onFailure) { - onFailure(new Sys.Net.WebServiceError(response.get_timedOut(), msg, "", ""), userContext, methodName); - } - else { - throw Sys.Net.WebServiceProxy._createFailedError(methodName, msg); - } - } - } - return request; -} -Sys.Net.WebServiceProxy._createFailedError = function Sys$Net$WebServiceProxy$_createFailedError(methodName, errorMessage) { - var displayMessage = "Sys.Net.WebServiceFailedException: " + errorMessage; - var e = Error.create(displayMessage, { 'name': 'Sys.Net.WebServiceFailedException', 'methodName': methodName }); - e.popStackFrame(); - return e; -} -Sys.Net.WebServiceProxy._defaultFailedCallback = function Sys$Net$WebServiceProxy$_defaultFailedCallback(err, methodName) { - var error = err.get_exceptionType() + "-- " + err.get_message(); - throw Sys.Net.WebServiceProxy._createFailedError(methodName, String.format(Sys.Res.webServiceFailed, methodName, error)); -} -Sys.Net.WebServiceProxy._generateTypedConstructor = function Sys$Net$WebServiceProxy$_generateTypedConstructor(type) { - return function(properties) { - if (properties) { - for (var name in properties) { - this[name] = properties[name]; - } - } - this.__type = type; - } -} - -Sys.Net.WebServiceError = function Sys$Net$WebServiceError(timedOut, message, stackTrace, exceptionType) { - /// - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "timedOut", type: Boolean}, - {name: "message", type: String, mayBeNull: true}, - {name: "stackTrace", type: String, mayBeNull: true}, - {name: "exceptionType", type: String, mayBeNull: true} - ]); - if (e) throw e; - this._timedOut = timedOut; - this._message = message; - this._stackTrace = stackTrace; - this._exceptionType = exceptionType; - this._statusCode = -1; -} - function Sys$Net$WebServiceError$get_timedOut() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._timedOut; - } - function Sys$Net$WebServiceError$get_statusCode() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._statusCode; - } - function Sys$Net$WebServiceError$get_message() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._message; - } - function Sys$Net$WebServiceError$get_stackTrace() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._stackTrace; - } - function Sys$Net$WebServiceError$get_exceptionType() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._exceptionType; - } -Sys.Net.WebServiceError.prototype = { - get_timedOut: Sys$Net$WebServiceError$get_timedOut, - get_statusCode: Sys$Net$WebServiceError$get_statusCode, - get_message: Sys$Net$WebServiceError$get_message, - get_stackTrace: Sys$Net$WebServiceError$get_stackTrace, - get_exceptionType: Sys$Net$WebServiceError$get_exceptionType -} -Sys.Net.WebServiceError.registerClass('Sys.Net.WebServiceError'); -Type.registerNamespace('Sys.Services'); -Sys.Services._ProfileService = function Sys$Services$_ProfileService() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - Sys.Services._ProfileService.initializeBase(this); - this.properties = {}; -} -Sys.Services._ProfileService.DefaultWebServicePath = ''; - function Sys$Services$_ProfileService$get_defaultLoadCompletedCallback() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._defaultLoadCompletedCallback; - } - function Sys$Services$_ProfileService$set_defaultLoadCompletedCallback(value) { - var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]); - if (e) throw e; - this._defaultLoadCompletedCallback = value; - } - function Sys$Services$_ProfileService$get_defaultSaveCompletedCallback() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._defaultSaveCompletedCallback; - } - function Sys$Services$_ProfileService$set_defaultSaveCompletedCallback(value) { - var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]); - if (e) throw e; - this._defaultSaveCompletedCallback = value; - } - function Sys$Services$_ProfileService$get_path() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._path || ''; - } - function Sys$Services$_ProfileService$load(propertyNames, loadCompletedCallback, failedCallback, userContext) { - /// - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "propertyNames", type: Array, mayBeNull: true, optional: true, elementType: String}, - {name: "loadCompletedCallback", type: Function, mayBeNull: true, optional: true}, - {name: "failedCallback", type: Function, mayBeNull: true, optional: true}, - {name: "userContext", mayBeNull: true, optional: true} - ]); - if (e) throw e; - var parameters; - var methodName; - if (!propertyNames) { - methodName = "GetAllPropertiesForCurrentUser"; - parameters = { authenticatedUserOnly: false }; - } - else { - methodName = "GetPropertiesForCurrentUser"; - parameters = { properties: this._clonePropertyNames(propertyNames), authenticatedUserOnly: false }; - } - this._invoke(this._get_path(), - methodName, - false, - parameters, - Function.createDelegate(this, this._onLoadComplete), - Function.createDelegate(this, this._onLoadFailed), - [loadCompletedCallback, failedCallback, userContext]); - } - function Sys$Services$_ProfileService$save(propertyNames, saveCompletedCallback, failedCallback, userContext) { - /// - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "propertyNames", type: Array, mayBeNull: true, optional: true, elementType: String}, - {name: "saveCompletedCallback", type: Function, mayBeNull: true, optional: true}, - {name: "failedCallback", type: Function, mayBeNull: true, optional: true}, - {name: "userContext", mayBeNull: true, optional: true} - ]); - if (e) throw e; - var flattenedProperties = this._flattenProperties(propertyNames, this.properties); - this._invoke(this._get_path(), - "SetPropertiesForCurrentUser", - false, - { values: flattenedProperties.value, authenticatedUserOnly: false }, - Function.createDelegate(this, this._onSaveComplete), - Function.createDelegate(this, this._onSaveFailed), - [saveCompletedCallback, failedCallback, userContext, flattenedProperties.count]); - } - function Sys$Services$_ProfileService$_clonePropertyNames(arr) { - var nodups = []; - var seen = {}; - for (var i=0; i < arr.length; i++) { - var prop = arr[i]; - if(!seen[prop]) { Array.add(nodups, prop); seen[prop]=true; }; - } - return nodups; - } - function Sys$Services$_ProfileService$_flattenProperties(propertyNames, properties, groupName) { - var flattenedProperties = {}; - var val; - var key; - var count = 0; - if (propertyNames && propertyNames.length === 0) { - return { value: flattenedProperties, count: 0 }; - } - for (var property in properties) { - val = properties[property]; - key = groupName ? groupName + "." + property : property; - if(Sys.Services.ProfileGroup.isInstanceOfType(val)) { - var obj = this._flattenProperties(propertyNames, val, key); - var groupProperties = obj.value; - count += obj.count; - for(var subKey in groupProperties) { - var subVal = groupProperties[subKey]; - flattenedProperties[subKey] = subVal; - } - } - else { - if(!propertyNames || Array.indexOf(propertyNames, key) !== -1) { - flattenedProperties[key] = val; - count++; - } - } - } - return { value: flattenedProperties, count: count }; - } - function Sys$Services$_ProfileService$_get_path() { - var path = this.get_path(); - if (!path.length) { - path = Sys.Services._ProfileService.DefaultWebServicePath; - } - if (!path || !path.length) { - throw Error.invalidOperation(Sys.Res.servicePathNotSet); - } - return path; - } - function Sys$Services$_ProfileService$_onLoadComplete(result, context, methodName) { - if (typeof(result) !== "object") { - throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType, methodName, "Object")); - } - var unflattened = this._unflattenProperties(result); - for (var name in unflattened) { - this.properties[name] = unflattened[name]; - } - - var callback = context[0] || this.get_defaultLoadCompletedCallback() || this.get_defaultSucceededCallback(); - if (callback) { - var userContext = context[2] || this.get_defaultUserContext(); - callback(result.length, userContext, "Sys.Services.ProfileService.load"); - } - } - function Sys$Services$_ProfileService$_onLoadFailed(err, context, methodName) { - var callback = context[1] || this.get_defaultFailedCallback(); - if (callback) { - var userContext = context[2] || this.get_defaultUserContext(); - callback(err, userContext, "Sys.Services.ProfileService.load"); - } - else { - Sys.Net.WebServiceProxy._defaultFailedCallback(err, methodName); - } - } - function Sys$Services$_ProfileService$_onSaveComplete(result, context, methodName) { - var count = context[3]; - if (result !== null) { - if (result instanceof Array) { - count -= result.length; - } - else if (typeof(result) === 'number') { - count = result; - } - else { - throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType, methodName, "Array")); - } - } - - var callback = context[0] || this.get_defaultSaveCompletedCallback() || this.get_defaultSucceededCallback(); - if (callback) { - var userContext = context[2] || this.get_defaultUserContext(); - callback(count, userContext, "Sys.Services.ProfileService.save"); - } - } - function Sys$Services$_ProfileService$_onSaveFailed(err, context, methodName) { - var callback = context[1] || this.get_defaultFailedCallback(); - if (callback) { - var userContext = context[2] || this.get_defaultUserContext(); - callback(err, userContext, "Sys.Services.ProfileService.save"); - } - else { - Sys.Net.WebServiceProxy._defaultFailedCallback(err, methodName); - } - } - function Sys$Services$_ProfileService$_unflattenProperties(properties) { - var unflattenedProperties = {}; - var dotIndex; - var val; - var count = 0; - for (var key in properties) { - count++; - val = properties[key]; - dotIndex = key.indexOf('.'); - if (dotIndex !== -1) { - var groupName = key.substr(0, dotIndex); - key = key.substr(dotIndex+1); - var group = unflattenedProperties[groupName]; - if (!group || !Sys.Services.ProfileGroup.isInstanceOfType(group)) { - group = new Sys.Services.ProfileGroup(); - unflattenedProperties[groupName] = group; - } - group[key] = val; - } - else { - unflattenedProperties[key] = val; - } - } - properties.length = count; - return unflattenedProperties; - } -Sys.Services._ProfileService.prototype = { - _defaultLoadCompletedCallback: null, - _defaultSaveCompletedCallback: null, - _path: '', - _timeout: 0, - get_defaultLoadCompletedCallback: Sys$Services$_ProfileService$get_defaultLoadCompletedCallback, - set_defaultLoadCompletedCallback: Sys$Services$_ProfileService$set_defaultLoadCompletedCallback, - get_defaultSaveCompletedCallback: Sys$Services$_ProfileService$get_defaultSaveCompletedCallback, - set_defaultSaveCompletedCallback: Sys$Services$_ProfileService$set_defaultSaveCompletedCallback, - get_path: Sys$Services$_ProfileService$get_path, - load: Sys$Services$_ProfileService$load, - save: Sys$Services$_ProfileService$save, - _clonePropertyNames: Sys$Services$_ProfileService$_clonePropertyNames, - _flattenProperties: Sys$Services$_ProfileService$_flattenProperties, - _get_path: Sys$Services$_ProfileService$_get_path, - _onLoadComplete: Sys$Services$_ProfileService$_onLoadComplete, - _onLoadFailed: Sys$Services$_ProfileService$_onLoadFailed, - _onSaveComplete: Sys$Services$_ProfileService$_onSaveComplete, - _onSaveFailed: Sys$Services$_ProfileService$_onSaveFailed, - _unflattenProperties: Sys$Services$_ProfileService$_unflattenProperties -} -Sys.Services._ProfileService.registerClass('Sys.Services._ProfileService', Sys.Net.WebServiceProxy); -Sys.Services.ProfileService = new Sys.Services._ProfileService(); -Sys.Services.ProfileGroup = function Sys$Services$ProfileGroup(properties) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "properties", mayBeNull: true, optional: true} - ]); - if (e) throw e; - if (properties) { - for (var property in properties) { - this[property] = properties[property]; - } - } -} -Sys.Services.ProfileGroup.registerClass('Sys.Services.ProfileGroup'); -Sys.Services._AuthenticationService = function Sys$Services$_AuthenticationService() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - Sys.Services._AuthenticationService.initializeBase(this); -} -Sys.Services._AuthenticationService.DefaultWebServicePath = ''; - function Sys$Services$_AuthenticationService$get_defaultLoginCompletedCallback() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._defaultLoginCompletedCallback; - } - function Sys$Services$_AuthenticationService$set_defaultLoginCompletedCallback(value) { - var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]); - if (e) throw e; - this._defaultLoginCompletedCallback = value; - } - function Sys$Services$_AuthenticationService$get_defaultLogoutCompletedCallback() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._defaultLogoutCompletedCallback; - } - function Sys$Services$_AuthenticationService$set_defaultLogoutCompletedCallback(value) { - var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]); - if (e) throw e; - this._defaultLogoutCompletedCallback = value; - } - function Sys$Services$_AuthenticationService$get_isLoggedIn() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._authenticated; - } - function Sys$Services$_AuthenticationService$get_path() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._path || ''; - } - function Sys$Services$_AuthenticationService$login(username, password, isPersistent, customInfo, redirectUrl, loginCompletedCallback, failedCallback, userContext) { - /// - /// - /// - /// - /// - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "username", type: String}, - {name: "password", type: String, mayBeNull: true}, - {name: "isPersistent", type: Boolean, mayBeNull: true, optional: true}, - {name: "customInfo", type: String, mayBeNull: true, optional: true}, - {name: "redirectUrl", type: String, mayBeNull: true, optional: true}, - {name: "loginCompletedCallback", type: Function, mayBeNull: true, optional: true}, - {name: "failedCallback", type: Function, mayBeNull: true, optional: true}, - {name: "userContext", mayBeNull: true, optional: true} - ]); - if (e) throw e; - this._invoke(this._get_path(), "Login", false, - { userName: username, password: password, createPersistentCookie: isPersistent }, - Function.createDelegate(this, this._onLoginComplete), - Function.createDelegate(this, this._onLoginFailed), - [username, password, isPersistent, customInfo, redirectUrl, loginCompletedCallback, failedCallback, userContext]); - } - function Sys$Services$_AuthenticationService$logout(redirectUrl, logoutCompletedCallback, failedCallback, userContext) { - /// - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "redirectUrl", type: String, mayBeNull: true, optional: true}, - {name: "logoutCompletedCallback", type: Function, mayBeNull: true, optional: true}, - {name: "failedCallback", type: Function, mayBeNull: true, optional: true}, - {name: "userContext", mayBeNull: true, optional: true} - ]); - if (e) throw e; - this._invoke(this._get_path(), "Logout", false, {}, - Function.createDelegate(this, this._onLogoutComplete), - Function.createDelegate(this, this._onLogoutFailed), - [redirectUrl, logoutCompletedCallback, failedCallback, userContext]); - } - function Sys$Services$_AuthenticationService$_get_path() { - var path = this.get_path(); - if(!path.length) { - path = Sys.Services._AuthenticationService.DefaultWebServicePath; - } - if(!path || !path.length) { - throw Error.invalidOperation(Sys.Res.servicePathNotSet); - } - return path; - } - function Sys$Services$_AuthenticationService$_onLoginComplete(result, context, methodName) { - if(typeof(result) !== "boolean") { - throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType, methodName, "Boolean")); - } - - var redirectUrl = context[4]; - var userContext = context[7] || this.get_defaultUserContext(); - var callback = context[5] || this.get_defaultLoginCompletedCallback() || this.get_defaultSucceededCallback(); - - if(result) { - this._authenticated = true; - if (callback) { - callback(true, userContext, "Sys.Services.AuthenticationService.login"); - } - - if (typeof(redirectUrl) !== "undefined" && redirectUrl !== null) { - window.location.href = redirectUrl; - } - } - else if (callback) { - callback(false, userContext, "Sys.Services.AuthenticationService.login"); - } - } - function Sys$Services$_AuthenticationService$_onLoginFailed(err, context, methodName) { - var callback = context[6] || this.get_defaultFailedCallback(); - if (callback) { - var userContext = context[7] || this.get_defaultUserContext(); - callback(err, userContext, "Sys.Services.AuthenticationService.login"); - } - else { - Sys.Net.WebServiceProxy._defaultFailedCallback(err, methodName); - } - } - function Sys$Services$_AuthenticationService$_onLogoutComplete(result, context, methodName) { - if(result !== null) { - throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType, methodName, "null")); - } - - var redirectUrl = context[0]; - var userContext = context[3] || this.get_defaultUserContext(); - var callback = context[1] || this.get_defaultLogoutCompletedCallback() || this.get_defaultSucceededCallback(); - this._authenticated = false; - - if (callback) { - callback(null, userContext, "Sys.Services.AuthenticationService.logout"); - } - - if(!redirectUrl) { - window.location.reload(); - } - else { - window.location.href = redirectUrl; - } - } - function Sys$Services$_AuthenticationService$_onLogoutFailed(err, context, methodName) { - var callback = context[2] || this.get_defaultFailedCallback(); - if (callback) { - callback(err, context[3], "Sys.Services.AuthenticationService.logout"); - } - else { - Sys.Net.WebServiceProxy._defaultFailedCallback(err, methodName); - } - } - function Sys$Services$_AuthenticationService$_setAuthenticated(authenticated) { - this._authenticated = authenticated; - } -Sys.Services._AuthenticationService.prototype = { - _defaultLoginCompletedCallback: null, - _defaultLogoutCompletedCallback: null, - _path: '', - _timeout: 0, - _authenticated: false, - get_defaultLoginCompletedCallback: Sys$Services$_AuthenticationService$get_defaultLoginCompletedCallback, - set_defaultLoginCompletedCallback: Sys$Services$_AuthenticationService$set_defaultLoginCompletedCallback, - get_defaultLogoutCompletedCallback: Sys$Services$_AuthenticationService$get_defaultLogoutCompletedCallback, - set_defaultLogoutCompletedCallback: Sys$Services$_AuthenticationService$set_defaultLogoutCompletedCallback, - get_isLoggedIn: Sys$Services$_AuthenticationService$get_isLoggedIn, - get_path: Sys$Services$_AuthenticationService$get_path, - login: Sys$Services$_AuthenticationService$login, - logout: Sys$Services$_AuthenticationService$logout, - _get_path: Sys$Services$_AuthenticationService$_get_path, - _onLoginComplete: Sys$Services$_AuthenticationService$_onLoginComplete, - _onLoginFailed: Sys$Services$_AuthenticationService$_onLoginFailed, - _onLogoutComplete: Sys$Services$_AuthenticationService$_onLogoutComplete, - _onLogoutFailed: Sys$Services$_AuthenticationService$_onLogoutFailed, - _setAuthenticated: Sys$Services$_AuthenticationService$_setAuthenticated -} -Sys.Services._AuthenticationService.registerClass('Sys.Services._AuthenticationService', Sys.Net.WebServiceProxy); -Sys.Services.AuthenticationService = new Sys.Services._AuthenticationService(); -Sys.Services._RoleService = function Sys$Services$_RoleService() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - Sys.Services._RoleService.initializeBase(this); - this._roles = []; -} -Sys.Services._RoleService.DefaultWebServicePath = ''; - function Sys$Services$_RoleService$get_defaultLoadCompletedCallback() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._defaultLoadCompletedCallback; - } - function Sys$Services$_RoleService$set_defaultLoadCompletedCallback(value) { - var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]); - if (e) throw e; - this._defaultLoadCompletedCallback = value; - } - function Sys$Services$_RoleService$get_path() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._path || ''; - } - function Sys$Services$_RoleService$get_roles() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return Array.clone(this._roles); - } - function Sys$Services$_RoleService$isUserInRole(role) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "role", type: String} - ]); - if (e) throw e; - var v = this._get_rolesIndex()[role.trim().toLowerCase()]; - return !!v; - } - function Sys$Services$_RoleService$load(loadCompletedCallback, failedCallback, userContext) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "loadCompletedCallback", type: Function, mayBeNull: true, optional: true}, - {name: "failedCallback", type: Function, mayBeNull: true, optional: true}, - {name: "userContext", mayBeNull: true, optional: true} - ]); - if (e) throw e; - Sys.Net.WebServiceProxy.invoke( - this._get_path(), - "GetRolesForCurrentUser", - false, - {} , - Function.createDelegate(this, this._onLoadComplete), - Function.createDelegate(this, this._onLoadFailed), - [loadCompletedCallback, failedCallback, userContext], - this.get_timeout()); - } - function Sys$Services$_RoleService$_get_path() { - var path = this.get_path(); - if(!path || !path.length) { - path = Sys.Services._RoleService.DefaultWebServicePath; - } - if(!path || !path.length) { - throw Error.invalidOperation(Sys.Res.servicePathNotSet); - } - return path; - } - function Sys$Services$_RoleService$_get_rolesIndex() { - if (!this._rolesIndex) { - var index = {}; - for(var i=0; i < this._roles.length; i++) { - index[this._roles[i].toLowerCase()] = true; - } - this._rolesIndex = index; - } - return this._rolesIndex; - } - function Sys$Services$_RoleService$_onLoadComplete(result, context, methodName) { - if(result && !(result instanceof Array)) { - throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType, methodName, "Array")); - } - this._roles = result; - this._rolesIndex = null; - var callback = context[0] || this.get_defaultLoadCompletedCallback() || this.get_defaultSucceededCallback(); - if (callback) { - var userContext = context[2] || this.get_defaultUserContext(); - var clonedResult = Array.clone(result); - callback(clonedResult, userContext, "Sys.Services.RoleService.load"); - } - } - function Sys$Services$_RoleService$_onLoadFailed(err, context, methodName) { - var callback = context[1] || this.get_defaultFailedCallback(); - if (callback) { - var userContext = context[2] || this.get_defaultUserContext(); - callback(err, userContext, "Sys.Services.RoleService.load"); - } - else { - Sys.Net.WebServiceProxy._defaultFailedCallback(err, methodName); - } - } -Sys.Services._RoleService.prototype = { - _defaultLoadCompletedCallback: null, - _rolesIndex: null, - _timeout: 0, - _path: '', - get_defaultLoadCompletedCallback: Sys$Services$_RoleService$get_defaultLoadCompletedCallback, - set_defaultLoadCompletedCallback: Sys$Services$_RoleService$set_defaultLoadCompletedCallback, - get_path: Sys$Services$_RoleService$get_path, - get_roles: Sys$Services$_RoleService$get_roles, - isUserInRole: Sys$Services$_RoleService$isUserInRole, - load: Sys$Services$_RoleService$load, - _get_path: Sys$Services$_RoleService$_get_path, - _get_rolesIndex: Sys$Services$_RoleService$_get_rolesIndex, - _onLoadComplete: Sys$Services$_RoleService$_onLoadComplete, - _onLoadFailed: Sys$Services$_RoleService$_onLoadFailed -} -Sys.Services._RoleService.registerClass('Sys.Services._RoleService', Sys.Net.WebServiceProxy); -Sys.Services.RoleService = new Sys.Services._RoleService(); -Type.registerNamespace('Sys.Serialization'); -Sys.Serialization.JavaScriptSerializer = function Sys$Serialization$JavaScriptSerializer() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); -} -Sys.Serialization.JavaScriptSerializer.registerClass('Sys.Serialization.JavaScriptSerializer'); -Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs = []; -Sys.Serialization.JavaScriptSerializer._charsToEscape = []; -Sys.Serialization.JavaScriptSerializer._dateRegEx = new RegExp('(^|[^\\\\])\\"\\\\/Date\\((-?[0-9]+)(?:[a-zA-Z]|(?:\\+|-)[0-9]{4})?\\)\\\\/\\"', 'g'); -Sys.Serialization.JavaScriptSerializer._escapeChars = {}; -Sys.Serialization.JavaScriptSerializer._escapeRegEx = new RegExp('["\\\\\\x00-\\x1F]', 'i'); -Sys.Serialization.JavaScriptSerializer._escapeRegExGlobal = new RegExp('["\\\\\\x00-\\x1F]', 'g'); -Sys.Serialization.JavaScriptSerializer._jsonRegEx = new RegExp('[^,:{}\\[\\]0-9.\\-+Eaeflnr-u \\n\\r\\t]', 'g'); -Sys.Serialization.JavaScriptSerializer._jsonStringRegEx = new RegExp('"(\\\\.|[^"\\\\])*"', 'g'); -Sys.Serialization.JavaScriptSerializer._serverTypeFieldName = '__type'; -Sys.Serialization.JavaScriptSerializer._init = function Sys$Serialization$JavaScriptSerializer$_init() { - var replaceChars = ['\\u0000','\\u0001','\\u0002','\\u0003','\\u0004','\\u0005','\\u0006','\\u0007', - '\\b','\\t','\\n','\\u000b','\\f','\\r','\\u000e','\\u000f','\\u0010','\\u0011', - '\\u0012','\\u0013','\\u0014','\\u0015','\\u0016','\\u0017','\\u0018','\\u0019', - '\\u001a','\\u001b','\\u001c','\\u001d','\\u001e','\\u001f']; - Sys.Serialization.JavaScriptSerializer._charsToEscape[0] = '\\'; - Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs['\\'] = new RegExp('\\\\', 'g'); - Sys.Serialization.JavaScriptSerializer._escapeChars['\\'] = '\\\\'; - Sys.Serialization.JavaScriptSerializer._charsToEscape[1] = '"'; - Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs['"'] = new RegExp('"', 'g'); - Sys.Serialization.JavaScriptSerializer._escapeChars['"'] = '\\"'; - for (var i = 0; i < 32; i++) { - var c = String.fromCharCode(i); - Sys.Serialization.JavaScriptSerializer._charsToEscape[i+2] = c; - Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs[c] = new RegExp(c, 'g'); - Sys.Serialization.JavaScriptSerializer._escapeChars[c] = replaceChars[i]; - } -} -Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder = function Sys$Serialization$JavaScriptSerializer$_serializeBooleanWithBuilder(object, stringBuilder) { - stringBuilder.append(object.toString()); -} -Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder = function Sys$Serialization$JavaScriptSerializer$_serializeNumberWithBuilder(object, stringBuilder) { - if (isFinite(object)) { - stringBuilder.append(String(object)); - } - else { - throw Error.invalidOperation(Sys.Res.cannotSerializeNonFiniteNumbers); - } -} -Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder = function Sys$Serialization$JavaScriptSerializer$_serializeStringWithBuilder(string, stringBuilder) { - stringBuilder.append('"'); - if (Sys.Serialization.JavaScriptSerializer._escapeRegEx.test(string)) { - if (Sys.Serialization.JavaScriptSerializer._charsToEscape.length === 0) { - Sys.Serialization.JavaScriptSerializer._init(); - } - if (string.length < 128) { - string = string.replace(Sys.Serialization.JavaScriptSerializer._escapeRegExGlobal, - function(x) { return Sys.Serialization.JavaScriptSerializer._escapeChars[x]; }); - } - else { - for (var i = 0; i < 34; i++) { - var c = Sys.Serialization.JavaScriptSerializer._charsToEscape[i]; - if (string.indexOf(c) !== -1) { - if (Sys.Browser.agent === Sys.Browser.Opera || Sys.Browser.agent === Sys.Browser.FireFox) { - string = string.split(c).join(Sys.Serialization.JavaScriptSerializer._escapeChars[c]); - } - else { - string = string.replace(Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs[c], - Sys.Serialization.JavaScriptSerializer._escapeChars[c]); - } - } - } - } - } - stringBuilder.append(string); - stringBuilder.append('"'); -} -Sys.Serialization.JavaScriptSerializer._serializeWithBuilder = function Sys$Serialization$JavaScriptSerializer$_serializeWithBuilder(object, stringBuilder, sort, prevObjects) { - var i; - switch (typeof object) { - case 'object': - if (object) { - if (prevObjects){ - for( var j = 0; j < prevObjects.length; j++) { - if (prevObjects[j] === object) { - throw Error.invalidOperation(Sys.Res.cannotSerializeObjectWithCycle); - } - } - } - else { - prevObjects = new Array(); - } - try { - Array.add(prevObjects, object); - - if (Number.isInstanceOfType(object)){ - Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder(object, stringBuilder); - } - else if (Boolean.isInstanceOfType(object)){ - Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder(object, stringBuilder); - } - else if (String.isInstanceOfType(object)){ - Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder(object, stringBuilder); - } - - else if (Array.isInstanceOfType(object)) { - stringBuilder.append('['); - - for (i = 0; i < object.length; ++i) { - if (i > 0) { - stringBuilder.append(','); - } - Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(object[i], stringBuilder,false,prevObjects); - } - stringBuilder.append(']'); - } - else { - if (Date.isInstanceOfType(object)) { - stringBuilder.append('"\\/Date('); - stringBuilder.append(object.getTime()); - stringBuilder.append(')\\/"'); - break; - } - var properties = []; - var propertyCount = 0; - for (var name in object) { - if (name.startsWith('$')) { - continue; - } - if (name === Sys.Serialization.JavaScriptSerializer._serverTypeFieldName && propertyCount !== 0){ - properties[propertyCount++] = properties[0]; - properties[0] = name; - } - else{ - properties[propertyCount++] = name; - } - } - if (sort) properties.sort(); - stringBuilder.append('{'); - var needComma = false; - - for (i=0; i - /// - /// - var e = Function._validateParams(arguments, [ - {name: "object", mayBeNull: true} - ]); - if (e) throw e; - var stringBuilder = new Sys.StringBuilder(); - Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(object, stringBuilder, false); - return stringBuilder.toString(); -} -Sys.Serialization.JavaScriptSerializer.deserialize = function Sys$Serialization$JavaScriptSerializer$deserialize(data, secure) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "data", type: String}, - {name: "secure", type: Boolean, optional: true} - ]); - if (e) throw e; - - if (data.length === 0) throw Error.argument('data', Sys.Res.cannotDeserializeEmptyString); - try { - var exp = data.replace(Sys.Serialization.JavaScriptSerializer._dateRegEx, "$1new Date($2)"); - - if (secure && Sys.Serialization.JavaScriptSerializer._jsonRegEx.test( - exp.replace(Sys.Serialization.JavaScriptSerializer._jsonStringRegEx, ''))) throw null; - return eval('(' + exp + ')'); - } - catch (e) { - throw Error.argument('data', Sys.Res.cannotDeserializeInvalidJson); - } -} - -Sys.CultureInfo = function Sys$CultureInfo(name, numberFormat, dateTimeFormat) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "name", type: String}, - {name: "numberFormat", type: Object}, - {name: "dateTimeFormat", type: Object} - ]); - if (e) throw e; - this.name = name; - this.numberFormat = numberFormat; - this.dateTimeFormat = dateTimeFormat; -} - function Sys$CultureInfo$_getDateTimeFormats() { - if (! this._dateTimeFormats) { - var dtf = this.dateTimeFormat; - this._dateTimeFormats = - [ dtf.MonthDayPattern, - dtf.YearMonthPattern, - dtf.ShortDatePattern, - dtf.ShortTimePattern, - dtf.LongDatePattern, - dtf.LongTimePattern, - dtf.FullDateTimePattern, - dtf.RFC1123Pattern, - dtf.SortableDateTimePattern, - dtf.UniversalSortableDateTimePattern ]; - } - return this._dateTimeFormats; - } - function Sys$CultureInfo$_getMonthIndex(value) { - if (!this._upperMonths) { - this._upperMonths = this._toUpperArray(this.dateTimeFormat.MonthNames); - } - return Array.indexOf(this._upperMonths, this._toUpper(value)); - } - function Sys$CultureInfo$_getAbbrMonthIndex(value) { - if (!this._upperAbbrMonths) { - this._upperAbbrMonths = this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthNames); - } - return Array.indexOf(this._upperAbbrMonths, this._toUpper(value)); - } - function Sys$CultureInfo$_getDayIndex(value) { - if (!this._upperDays) { - this._upperDays = this._toUpperArray(this.dateTimeFormat.DayNames); - } - return Array.indexOf(this._upperDays, this._toUpper(value)); - } - function Sys$CultureInfo$_getAbbrDayIndex(value) { - if (!this._upperAbbrDays) { - this._upperAbbrDays = this._toUpperArray(this.dateTimeFormat.AbbreviatedDayNames); - } - return Array.indexOf(this._upperAbbrDays, this._toUpper(value)); - } - function Sys$CultureInfo$_toUpperArray(arr) { - var result = []; - for (var i = 0, il = arr.length; i < il; i++) { - result[i] = this._toUpper(arr[i]); - } - return result; - } - function Sys$CultureInfo$_toUpper(value) { - return value.split("\u00A0").join(' ').toUpperCase(); - } -Sys.CultureInfo.prototype = { - _getDateTimeFormats: Sys$CultureInfo$_getDateTimeFormats, - _getMonthIndex: Sys$CultureInfo$_getMonthIndex, - _getAbbrMonthIndex: Sys$CultureInfo$_getAbbrMonthIndex, - _getDayIndex: Sys$CultureInfo$_getDayIndex, - _getAbbrDayIndex: Sys$CultureInfo$_getAbbrDayIndex, - _toUpperArray: Sys$CultureInfo$_toUpperArray, - _toUpper: Sys$CultureInfo$_toUpper -} -Sys.CultureInfo._parse = function Sys$CultureInfo$_parse(value) { - var cultureInfo = Sys.Serialization.JavaScriptSerializer.deserialize(value); - return new Sys.CultureInfo(cultureInfo.name, cultureInfo.numberFormat, cultureInfo.dateTimeFormat); -} -Sys.CultureInfo.registerClass('Sys.CultureInfo'); -Sys.CultureInfo.InvariantCulture = Sys.CultureInfo._parse('{"name":"","numberFormat":{"CurrencyDecimalDigits":2,"CurrencyDecimalSeparator":".","IsReadOnly":true,"CurrencyGroupSizes":[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":",","CurrencySymbol":"\u00A4","NaNSymbol":"NaN","CurrencyNegativePattern":0,"NumberNegativePattern":1,"PercentPositivePattern":0,"PercentNegativePattern":0,"NegativeInfinitySymbol":"-Infinity","NegativeSign":"-","NumberDecimalDigits":2,"NumberDecimalSeparator":".","NumberGroupSeparator":",","CurrencyPositivePattern":0,"PositiveInfinitySymbol":"Infinity","PositiveSign":"+","PercentDecimalDigits":2,"PercentDecimalSeparator":".","PercentGroupSeparator":",","PercentSymbol":"%","PerMilleSymbol":"\u2030","NativeDigits":["0","1","2","3","4","5","6","7","8","9"],"DigitSubstitution":1},"dateTimeFormat":{"AMDesignator":"AM","Calendar":{"MinSupportedDateTime":"@-62135568000000@","MaxSupportedDateTime":"@253402300799999@","AlgorithmType":1,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":true},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDateTimePattern":"dddd, dd MMMM yyyy HH:mm:ss","LongDatePattern":"dddd, dd MMMM yyyy","LongTimePattern":"HH:mm:ss","MonthDayPattern":"MMMM dd","PMDesignator":"PM","RFC1123Pattern":"ddd, dd MMM yyyy HH\':\'mm\':\'ss \'GMT\'","ShortDatePattern":"MM/dd/yyyy","ShortTimePattern":"HH:mm","SortableDateTimePattern":"yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss","TimeSeparator":":","UniversalSortableDateTimePattern":"yyyy\'-\'MM\'-\'dd HH\':\'mm\':\'ss\'Z\'","YearMonthPattern":"yyyy MMMM","AbbreviatedDayNames":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"ShortestDayNames":["Su","Mo","Tu","We","Th","Fr","Sa"],"DayNames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"AbbreviatedMonthNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthNames":["January","February","March","April","May","June","July","August","September","October","November","December",""],"IsReadOnly":true,"NativeCalendarName":"Gregorian Calendar","AbbreviatedMonthGenitiveNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthGenitiveNames":["January","February","March","April","May","June","July","August","September","October","November","December",""]}}'); -if (typeof(__cultureInfo) === 'undefined') { - var __cultureInfo = '{"name":"en-US","numberFormat":{"CurrencyDecimalDigits":2,"CurrencyDecimalSeparator":".","IsReadOnly":false,"CurrencyGroupSizes":[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":",","CurrencySymbol":"$","NaNSymbol":"NaN","CurrencyNegativePattern":0,"NumberNegativePattern":1,"PercentPositivePattern":0,"PercentNegativePattern":0,"NegativeInfinitySymbol":"-Infinity","NegativeSign":"-","NumberDecimalDigits":2,"NumberDecimalSeparator":".","NumberGroupSeparator":",","CurrencyPositivePattern":0,"PositiveInfinitySymbol":"Infinity","PositiveSign":"+","PercentDecimalDigits":2,"PercentDecimalSeparator":".","PercentGroupSeparator":",","PercentSymbol":"%","PerMilleSymbol":"\u2030","NativeDigits":["0","1","2","3","4","5","6","7","8","9"],"DigitSubstitution":1},"dateTimeFormat":{"AMDesignator":"AM","Calendar":{"MinSupportedDateTime":"@-62135568000000@","MaxSupportedDateTime":"@253402300799999@","AlgorithmType":1,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":false},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDateTimePattern":"dddd, MMMM dd, yyyy h:mm:ss tt","LongDatePattern":"dddd, MMMM dd, yyyy","LongTimePattern":"h:mm:ss tt","MonthDayPattern":"MMMM dd","PMDesignator":"PM","RFC1123Pattern":"ddd, dd MMM yyyy HH\':\'mm\':\'ss \'GMT\'","ShortDatePattern":"M/d/yyyy","ShortTimePattern":"h:mm tt","SortableDateTimePattern":"yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss","TimeSeparator":":","UniversalSortableDateTimePattern":"yyyy\'-\'MM\'-\'dd HH\':\'mm\':\'ss\'Z\'","YearMonthPattern":"MMMM, yyyy","AbbreviatedDayNames":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"ShortestDayNames":["Su","Mo","Tu","We","Th","Fr","Sa"],"DayNames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"AbbreviatedMonthNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthNames":["January","February","March","April","May","June","July","August","September","October","November","December",""],"IsReadOnly":false,"NativeCalendarName":"Gregorian Calendar","AbbreviatedMonthGenitiveNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthGenitiveNames":["January","February","March","April","May","June","July","August","September","October","November","December",""]}}'; -} -Sys.CultureInfo.CurrentCulture = Sys.CultureInfo._parse(__cultureInfo); -delete __cultureInfo; - -Sys.UI.Behavior = function Sys$UI$Behavior(element) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element", domElement: true} - ]); - if (e) throw e; - Sys.UI.Behavior.initializeBase(this); - this._element = element; - var behaviors = element._behaviors; - if (!behaviors) { - element._behaviors = [this]; - } - else { - behaviors[behaviors.length] = this; - } -} - function Sys$UI$Behavior$get_element() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._element; - } - function Sys$UI$Behavior$get_id() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - var baseId = Sys.UI.Behavior.callBaseMethod(this, 'get_id'); - if (baseId) return baseId; - if (!this._element || !this._element.id) return ''; - return this._element.id + '$' + this.get_name(); - } - function Sys$UI$Behavior$get_name() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (this._name) return this._name; - var name = Object.getTypeName(this); - var i = name.lastIndexOf('.'); - if (i != -1) name = name.substr(i + 1); - if (!this.get_isInitialized()) this._name = name; - return name; - } - function Sys$UI$Behavior$set_name(value) { - var e = Function._validateParams(arguments, [{name: "value", type: String}]); - if (e) throw e; - if ((value === '') || (value.charAt(0) === ' ') || (value.charAt(value.length - 1) === ' ')) - throw Error.argument('value', Sys.Res.invalidId); - if (typeof(this._element[value]) !== 'undefined') - throw Error.invalidOperation(String.format(Sys.Res.behaviorDuplicateName, value)); - if (this.get_isInitialized()) throw Error.invalidOperation(Sys.Res.cantSetNameAfterInit); - this._name = value; - } - function Sys$UI$Behavior$initialize() { - Sys.UI.Behavior.callBaseMethod(this, 'initialize'); - var name = this.get_name(); - if (name) this._element[name] = this; - } - function Sys$UI$Behavior$dispose() { - Sys.UI.Behavior.callBaseMethod(this, 'dispose'); - if (this._element) { - var name = this.get_name(); - if (name) { - this._element[name] = null; - } - Array.remove(this._element._behaviors, this); - delete this._element; - } - } -Sys.UI.Behavior.prototype = { - _name: null, - get_element: Sys$UI$Behavior$get_element, - get_id: Sys$UI$Behavior$get_id, - get_name: Sys$UI$Behavior$get_name, - set_name: Sys$UI$Behavior$set_name, - initialize: Sys$UI$Behavior$initialize, - dispose: Sys$UI$Behavior$dispose -} -Sys.UI.Behavior.registerClass('Sys.UI.Behavior', Sys.Component); -Sys.UI.Behavior.getBehaviorByName = function Sys$UI$Behavior$getBehaviorByName(element, name) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element", domElement: true}, - {name: "name", type: String} - ]); - if (e) throw e; - var b = element[name]; - return (b && Sys.UI.Behavior.isInstanceOfType(b)) ? b : null; -} -Sys.UI.Behavior.getBehaviors = function Sys$UI$Behavior$getBehaviors(element) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element", domElement: true} - ]); - if (e) throw e; - if (!element._behaviors) return []; - return Array.clone(element._behaviors); -} -Sys.UI.Behavior.getBehaviorsByType = function Sys$UI$Behavior$getBehaviorsByType(element, type) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element", domElement: true}, - {name: "type", type: Type} - ]); - if (e) throw e; - var behaviors = element._behaviors; - var results = []; - if (behaviors) { - for (var i = 0, l = behaviors.length; i < l; i++) { - if (type.isInstanceOfType(behaviors[i])) { - results[results.length] = behaviors[i]; - } - } - } - return results; -} - -Sys.UI.VisibilityMode = function Sys$UI$VisibilityMode() { - /// - /// - /// - if (arguments.length !== 0) throw Error.parameterCount(); - throw Error.notImplemented(); -} -Sys.UI.VisibilityMode.prototype = { - hide: 0, - collapse: 1 -} -Sys.UI.VisibilityMode.registerEnum("Sys.UI.VisibilityMode"); - -Sys.UI.Control = function Sys$UI$Control(element) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "element", domElement: true} - ]); - if (e) throw e; - if (typeof(element.control) != 'undefined') throw Error.invalidOperation(Sys.Res.controlAlreadyDefined); - Sys.UI.Control.initializeBase(this); - this._element = element; - element.control = this; -} - function Sys$UI$Control$get_element() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - return this._element; - } - function Sys$UI$Control$get_id() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (!this._element) return ''; - return this._element.id; - } - function Sys$UI$Control$set_id(value) { - var e = Function._validateParams(arguments, [{name: "value", type: String}]); - if (e) throw e; - throw Error.invalidOperation(Sys.Res.cantSetId); - } - function Sys$UI$Control$get_parent() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (this._parent) return this._parent; - if (!this._element) return null; - - var parentElement = this._element.parentNode; - while (parentElement) { - if (parentElement.control) { - return parentElement.control; - } - parentElement = parentElement.parentNode; - } - return null; - } - function Sys$UI$Control$set_parent(value) { - var e = Function._validateParams(arguments, [{name: "value", type: Sys.UI.Control}]); - if (e) throw e; - if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); - var parents = [this]; - var current = value; - while (current) { - if (Array.contains(parents, current)) throw Error.invalidOperation(Sys.Res.circularParentChain); - parents[parents.length] = current; - current = current.get_parent(); - } - this._parent = value; - } - function Sys$UI$Control$get_visibilityMode() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); - return Sys.UI.DomElement.getVisibilityMode(this._element); - } - function Sys$UI$Control$set_visibilityMode(value) { - var e = Function._validateParams(arguments, [{name: "value", type: Sys.UI.VisibilityMode}]); - if (e) throw e; - if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); - Sys.UI.DomElement.setVisibilityMode(this._element, value); - } - function Sys$UI$Control$get_visible() { - /// - if (arguments.length !== 0) throw Error.parameterCount(); - if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); - return Sys.UI.DomElement.getVisible(this._element); - } - function Sys$UI$Control$set_visible(value) { - var e = Function._validateParams(arguments, [{name: "value", type: Boolean}]); - if (e) throw e; - if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); - Sys.UI.DomElement.setVisible(this._element, value) - } - function Sys$UI$Control$addCssClass(className) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "className", type: String} - ]); - if (e) throw e; - if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); - Sys.UI.DomElement.addCssClass(this._element, className); - } - function Sys$UI$Control$dispose() { - Sys.UI.Control.callBaseMethod(this, 'dispose'); - if (this._element) { - this._element.control = undefined; - delete this._element; - } - if (this._parent) delete this._parent; - } - function Sys$UI$Control$onBubbleEvent(source, args) { - /// - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "source"}, - {name: "args", type: Sys.EventArgs} - ]); - if (e) throw e; - return false; - } - function Sys$UI$Control$raiseBubbleEvent(source, args) { - /// - /// - /// - var e = Function._validateParams(arguments, [ - {name: "source"}, - {name: "args", type: Sys.EventArgs} - ]); - if (e) throw e; - var currentTarget = this.get_parent(); - while (currentTarget) { - if (currentTarget.onBubbleEvent(source, args)) { - return; - } - currentTarget = currentTarget.get_parent(); - } - } - function Sys$UI$Control$removeCssClass(className) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "className", type: String} - ]); - if (e) throw e; - if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); - Sys.UI.DomElement.removeCssClass(this._element, className); - } - function Sys$UI$Control$toggleCssClass(className) { - /// - /// - var e = Function._validateParams(arguments, [ - {name: "className", type: String} - ]); - if (e) throw e; - if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); - Sys.UI.DomElement.toggleCssClass(this._element, className); - } -Sys.UI.Control.prototype = { - _parent: null, - _visibilityMode: Sys.UI.VisibilityMode.hide, - get_element: Sys$UI$Control$get_element, - get_id: Sys$UI$Control$get_id, - set_id: Sys$UI$Control$set_id, - get_parent: Sys$UI$Control$get_parent, - set_parent: Sys$UI$Control$set_parent, - get_visibilityMode: Sys$UI$Control$get_visibilityMode, - set_visibilityMode: Sys$UI$Control$set_visibilityMode, - get_visible: Sys$UI$Control$get_visible, - set_visible: Sys$UI$Control$set_visible, - addCssClass: Sys$UI$Control$addCssClass, - dispose: Sys$UI$Control$dispose, - onBubbleEvent: Sys$UI$Control$onBubbleEvent, - raiseBubbleEvent: Sys$UI$Control$raiseBubbleEvent, - removeCssClass: Sys$UI$Control$removeCssClass, - toggleCssClass: Sys$UI$Control$toggleCssClass -} -Sys.UI.Control.registerClass('Sys.UI.Control', Sys.Component); - - -Type.registerNamespace('Sys'); - -Sys.Res={ -'urlMustBeLessThan1024chars':'The history state must be small enough to not make the url larger than 1024 characters.', -'argumentTypeName':'Value is not the name of an existing type.', -'methodRegisteredTwice':'Method {0} has already been registered.', -'cantSetIdAfterInit':'The id property can\'t be set on this object after initialization.', -'cantBeCalledAfterDispose':'Can\'t be called after dispose.', -'componentCantSetIdAfterAddedToApp':'The id property of a component can\'t be set after it\'s been added to the Application object.', -'behaviorDuplicateName':'A behavior with name \'{0}\' already exists or it is the name of an existing property on the target element.', -'notATypeName':'Value is not a valid type name.', -'typeShouldBeTypeOrString':'Value is not a valid type or a valid type name.', -'historyInvalidHistorySettingCombination':'Cannot set enableHistory to false when ScriptManager.EnableHistory is true.', -'stateMustBeStringDictionary':'The state object can only have null and string fields.', -'boolTrueOrFalse':'Value must be \'true\' or \'false\'.', -'scriptLoadFailedNoHead':'ScriptLoader requires pages to contain a element.', -'stringFormatInvalid':'The format string is invalid.', -'referenceNotFound':'Component \'{0}\' was not found.', -'enumReservedName':'\'{0}\' is a reserved name that can\'t be used as an enum value name.', -'eventHandlerNotFound':'Handler not found.', -'circularParentChain':'The chain of control parents can\'t have circular references.', -'undefinedEvent':'\'{0}\' is not an event.', -'notAMethod':'{0} is not a method.', -'propertyUndefined':'\'{0}\' is not a property or an existing field.', -'historyCannotEnableHistory':'Cannot set enableHistory after initialization.', -'eventHandlerInvalid':'Handler was not added through the Sys.UI.DomEvent.addHandler method.', -'scriptLoadFailedDebug':'The script \'{0}\' failed to load. Check for:\r\n Inaccessible path.\r\n Script errors. (IE) Enable \'Display a notification about every script error\' under advanced settings.\r\n Missing call to Sys.Application.notifyScriptLoaded().', -'propertyNotWritable':'\'{0}\' is not a writable property.', -'enumInvalidValueName':'\'{0}\' is not a valid name for an enum value.', -'controlAlreadyDefined':'A control is already associated with the element.', -'addHandlerCantBeUsedForError':'Can\'t add a handler for the error event using this method. Please set the window.onerror property instead.', -'namespaceContainsObject':'Object {0} already exists and is not a namespace.', -'cantAddNonFunctionhandler':'Can\'t add a handler that is not a function.', -'invalidNameSpace':'Value is not a valid namespace identifier.', -'notAnInterface':'Value is not a valid interface.', -'eventHandlerNotFunction':'Handler must be a function.', -'propertyNotAnArray':'\'{0}\' is not an Array property.', -'typeRegisteredTwice':'Type {0} has already been registered. The type may be defined multiple times or the script file that defines it may have already been loaded. A possible cause is a change of settings during a partial update.', -'cantSetNameAfterInit':'The name property can\'t be set on this object after initialization.', -'historyMissingFrame':'For the history feature to work in IE, the page must have an iFrame element with id \'__historyFrame\' pointed to a page that gets its title from the \'title\' query string parameter and calls Sys.Application._onIFrameLoad() on the parent window. This can be done by setting EnableHistory to true on ScriptManager.', -'appDuplicateComponent':'Two components with the same id \'{0}\' can\'t be added to the application.', -'historyCannotAddHistoryPointWithHistoryDisabled':'A history point can only be added if enableHistory is set to true.', -'appComponentMustBeInitialized':'Components must be initialized before they are added to the Application object.', -'baseNotAClass':'Value is not a class.', -'methodNotFound':'No method found with name \'{0}\'.', -'arrayParseBadFormat':'Value must be a valid string representation for an array. It must start with a \'[\' and end with a \']\'.', -'stateFieldNameInvalid':'State field names must not contain any \'=\' characters.', -'cantSetId':'The id property can\'t be set on this object.', -'historyMissingHiddenInput':'For the history feature to work in Safari 2, the page must have a hidden input element with id \'__history\'.', -'stringFormatBraceMismatch':'The format string contains an unmatched opening or closing brace.', -'enumValueNotInteger':'An enumeration definition can only contain integer values.', -'propertyNullOrUndefined':'Cannot set the properties of \'{0}\' because it returned a null value.', -'argumentDomNode':'Value must be a DOM element or a text node.', -'componentCantSetIdTwice':'The id property of a component can\'t be set more than once.', -'createComponentOnDom':'Value must be null for Components that are not Controls or Behaviors.', -'createNotComponent':'{0} does not derive from Sys.Component.', -'createNoDom':'Value must not be null for Controls and Behaviors.', -'cantAddWithoutId':'Can\'t add a component that doesn\'t have an id.', -'badTypeName':'Value is not the name of the type being registered or the name is a reserved word.', -'argumentInteger':'Value must be an integer.', -'scriptLoadMultipleCallbacks':'The script \'{0}\' contains multiple calls to Sys.Application.notifyScriptLoaded(). Only one is allowed.', -'invokeCalledTwice':'Cannot call invoke more than once.', -'webServiceFailed':'The server method \'{0}\' failed with the following error: {1}', -'webServiceInvalidJsonWrapper':'The server method \'{0}\' returned invalid data. The \'d\' property is missing from the JSON wrapper.', -'argumentType':'Object cannot be converted to the required type.', -'argumentNull':'Value cannot be null.', -'controlCantSetId':'The id property can\'t be set on a control.', -'formatBadFormatSpecifier':'Format specifier was invalid.', -'webServiceFailedNoMsg':'The server method \'{0}\' failed.', -'argumentDomElement':'Value must be a DOM element.', -'invalidExecutorType':'Could not create a valid Sys.Net.WebRequestExecutor from: {0}.', -'cannotCallBeforeResponse':'Cannot call {0} when responseAvailable is false.', -'actualValue':'Actual value was {0}.', -'enumInvalidValue':'\'{0}\' is not a valid value for enum {1}.', -'scriptLoadFailed':'The script \'{0}\' could not be loaded.', -'parameterCount':'Parameter count mismatch.', -'cannotDeserializeEmptyString':'Cannot deserialize empty string.', -'formatInvalidString':'Input string was not in a correct format.', -'invalidTimeout':'Value must be greater than or equal to zero.', -'cannotAbortBeforeStart':'Cannot abort when executor has not started.', -'argument':'Value does not fall within the expected range.', -'cannotDeserializeInvalidJson':'Cannot deserialize. The data does not correspond to valid JSON.', -'invalidHttpVerb':'httpVerb cannot be set to an empty or null string.', -'nullWebRequest':'Cannot call executeRequest with a null webRequest.', -'eventHandlerInvalid':'Handler was not added through the Sys.UI.DomEvent.addHandler method.', -'cannotSerializeNonFiniteNumbers':'Cannot serialize non finite numbers.', -'argumentUndefined':'Value cannot be undefined.', -'webServiceInvalidReturnType':'The server method \'{0}\' returned an invalid type. Expected type: {1}', -'servicePathNotSet':'The path to the web service has not been set.', -'argumentTypeWithTypes':'Object of type \'{0}\' cannot be converted to type \'{1}\'.', -'cannotCallOnceStarted':'Cannot call {0} once started.', -'badBaseUrl1':'Base URL does not contain ://.', -'badBaseUrl2':'Base URL does not contain another /.', -'badBaseUrl3':'Cannot find last / in base URL.', -'setExecutorAfterActive':'Cannot set executor after it has become active.', -'paramName':'Parameter name: {0}', -'cannotCallOutsideHandler':'Cannot call {0} outside of a completed event handler.', -'cannotSerializeObjectWithCycle':'Cannot serialize object with cyclic reference within child properties.', -'format':'One of the identified items was in an invalid format.', -'assertFailedCaller':'Assertion Failed: {0}\r\nat {1}', -'argumentOutOfRange':'Specified argument was out of the range of valid values.', -'webServiceTimedOut':'The server method \'{0}\' timed out.', -'notImplemented':'The method or operation is not implemented.', -'assertFailed':'Assertion Failed: {0}', -'invalidOperation':'Operation is not valid due to the current state of the object.', -'breakIntoDebugger':'{0}\r\n\r\nBreak into debugger?' -}; - -if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded(); +// Name: MicrosoftAjax.debug.js +// Assembly: System.Web.Extensions +// Version: 3.5.0.0 +// FileVersion: 3.5.30729.1 +//----------------------------------------------------------------------- +// Copyright (C) Microsoft Corporation. All rights reserved. +//----------------------------------------------------------------------- +// MicrosoftAjax.js +// Microsoft AJAX Framework. + +Function.__typeName = 'Function'; +Function.__class = true; +Function.createCallback = function Function$createCallback(method, context) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "method", type: Function}, + {name: "context", mayBeNull: true} + ]); + if (e) throw e; + return function() { + var l = arguments.length; + if (l > 0) { + var args = []; + for (var i = 0; i < l; i++) { + args[i] = arguments[i]; + } + args[l] = context; + return method.apply(this, args); + } + return method.call(this, context); + } +} +Function.createDelegate = function Function$createDelegate(instance, method) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "instance", mayBeNull: true}, + {name: "method", type: Function} + ]); + if (e) throw e; + return function() { + return method.apply(instance, arguments); + } +} +Function.emptyFunction = Function.emptyMethod = function Function$emptyMethod() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); +} +Function._validateParams = function Function$_validateParams(params, expectedParams) { + var e; + e = Function._validateParameterCount(params, expectedParams); + if (e) { + e.popStackFrame(); + return e; + } + for (var i=0; i < params.length; i++) { + var expectedParam = expectedParams[Math.min(i, expectedParams.length - 1)]; + var paramName = expectedParam.name; + if (expectedParam.parameterArray) { + paramName += "[" + (i - expectedParams.length + 1) + "]"; + } + e = Function._validateParameter(params[i], expectedParam, paramName); + if (e) { + e.popStackFrame(); + return e; + } + } + return null; +} +Function._validateParameterCount = function Function$_validateParameterCount(params, expectedParams) { + var maxParams = expectedParams.length; + var minParams = 0; + for (var i=0; i < expectedParams.length; i++) { + if (expectedParams[i].parameterArray) { + maxParams = Number.MAX_VALUE; + } + else if (!expectedParams[i].optional) { + minParams++; + } + } + if (params.length < minParams || params.length > maxParams) { + var e = Error.parameterCount(); + e.popStackFrame(); + return e; + } + return null; +} +Function._validateParameter = function Function$_validateParameter(param, expectedParam, paramName) { + var e; + var expectedType = expectedParam.type; + var expectedInteger = !!expectedParam.integer; + var expectedDomElement = !!expectedParam.domElement; + var mayBeNull = !!expectedParam.mayBeNull; + e = Function._validateParameterType(param, expectedType, expectedInteger, expectedDomElement, mayBeNull, paramName); + if (e) { + e.popStackFrame(); + return e; + } + var expectedElementType = expectedParam.elementType; + var elementMayBeNull = !!expectedParam.elementMayBeNull; + if (expectedType === Array && typeof(param) !== "undefined" && param !== null && + (expectedElementType || !elementMayBeNull)) { + var expectedElementInteger = !!expectedParam.elementInteger; + var expectedElementDomElement = !!expectedParam.elementDomElement; + for (var i=0; i < param.length; i++) { + var elem = param[i]; + e = Function._validateParameterType(elem, expectedElementType, + expectedElementInteger, expectedElementDomElement, elementMayBeNull, + paramName + "[" + i + "]"); + if (e) { + e.popStackFrame(); + return e; + } + } + } + return null; +} +Function._validateParameterType = function Function$_validateParameterType(param, expectedType, expectedInteger, expectedDomElement, mayBeNull, paramName) { + var e; + if (typeof(param) === "undefined") { + if (mayBeNull) { + return null; + } + else { + e = Error.argumentUndefined(paramName); + e.popStackFrame(); + return e; + } + } + if (param === null) { + if (mayBeNull) { + return null; + } + else { + e = Error.argumentNull(paramName); + e.popStackFrame(); + return e; + } + } + if (expectedType && expectedType.__enum) { + if (typeof(param) !== 'number') { + e = Error.argumentType(paramName, Object.getType(param), expectedType); + e.popStackFrame(); + return e; + } + if ((param % 1) === 0) { + var values = expectedType.prototype; + if (!expectedType.__flags || (param === 0)) { + for (var i in values) { + if (values[i] === param) return null; + } + } + else { + var v = param; + for (var i in values) { + var vali = values[i]; + if (vali === 0) continue; + if ((vali & param) === vali) { + v -= vali; + } + if (v === 0) return null; + } + } + } + e = Error.argumentOutOfRange(paramName, param, String.format(Sys.Res.enumInvalidValue, param, expectedType.getName())); + e.popStackFrame(); + return e; + } + if (expectedDomElement) { + var val; + if (typeof(param.nodeType) !== 'number') { + var doc = param.ownerDocument || param.document || param; + if (doc != param) { + var w = doc.defaultView || doc.parentWindow; + val = (w != param) && !(w.document && param.document && (w.document === param.document)); + } + else { + val = (typeof(doc.body) === 'undefined'); + } + } + else { + val = (param.nodeType === 3); + } + if (val) { + e = Error.argument(paramName, Sys.Res.argumentDomElement); + e.popStackFrame(); + return e; + } + } + if (expectedType && !expectedType.isInstanceOfType(param)) { + e = Error.argumentType(paramName, Object.getType(param), expectedType); + e.popStackFrame(); + return e; + } + if (expectedType === Number && expectedInteger) { + if ((param % 1) !== 0) { + e = Error.argumentOutOfRange(paramName, param, Sys.Res.argumentInteger); + e.popStackFrame(); + return e; + } + } + return null; +} + +Error.__typeName = 'Error'; +Error.__class = true; +Error.create = function Error$create(message, errorInfo) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "message", type: String, mayBeNull: true, optional: true}, + {name: "errorInfo", mayBeNull: true, optional: true} + ]); + if (e) throw e; + var e = new Error(message); + e.message = message; + if (errorInfo) { + for (var v in errorInfo) { + e[v] = errorInfo[v]; + } + } + e.popStackFrame(); + return e; +} +Error.argument = function Error$argument(paramName, message) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "paramName", type: String, mayBeNull: true, optional: true}, + {name: "message", type: String, mayBeNull: true, optional: true} + ]); + if (e) throw e; + var displayMessage = "Sys.ArgumentException: " + (message ? message : Sys.Res.argument); + if (paramName) { + displayMessage += "\n" + String.format(Sys.Res.paramName, paramName); + } + var e = Error.create(displayMessage, { name: "Sys.ArgumentException", paramName: paramName }); + e.popStackFrame(); + return e; +} +Error.argumentNull = function Error$argumentNull(paramName, message) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "paramName", type: String, mayBeNull: true, optional: true}, + {name: "message", type: String, mayBeNull: true, optional: true} + ]); + if (e) throw e; + var displayMessage = "Sys.ArgumentNullException: " + (message ? message : Sys.Res.argumentNull); + if (paramName) { + displayMessage += "\n" + String.format(Sys.Res.paramName, paramName); + } + var e = Error.create(displayMessage, { name: "Sys.ArgumentNullException", paramName: paramName }); + e.popStackFrame(); + return e; +} +Error.argumentOutOfRange = function Error$argumentOutOfRange(paramName, actualValue, message) { + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "paramName", type: String, mayBeNull: true, optional: true}, + {name: "actualValue", mayBeNull: true, optional: true}, + {name: "message", type: String, mayBeNull: true, optional: true} + ]); + if (e) throw e; + var displayMessage = "Sys.ArgumentOutOfRangeException: " + (message ? message : Sys.Res.argumentOutOfRange); + if (paramName) { + displayMessage += "\n" + String.format(Sys.Res.paramName, paramName); + } + if (typeof(actualValue) !== "undefined" && actualValue !== null) { + displayMessage += "\n" + String.format(Sys.Res.actualValue, actualValue); + } + var e = Error.create(displayMessage, { + name: "Sys.ArgumentOutOfRangeException", + paramName: paramName, + actualValue: actualValue + }); + e.popStackFrame(); + return e; +} +Error.argumentType = function Error$argumentType(paramName, actualType, expectedType, message) { + /// + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "paramName", type: String, mayBeNull: true, optional: true}, + {name: "actualType", type: Type, mayBeNull: true, optional: true}, + {name: "expectedType", type: Type, mayBeNull: true, optional: true}, + {name: "message", type: String, mayBeNull: true, optional: true} + ]); + if (e) throw e; + var displayMessage = "Sys.ArgumentTypeException: "; + if (message) { + displayMessage += message; + } + else if (actualType && expectedType) { + displayMessage += + String.format(Sys.Res.argumentTypeWithTypes, actualType.getName(), expectedType.getName()); + } + else { + displayMessage += Sys.Res.argumentType; + } + if (paramName) { + displayMessage += "\n" + String.format(Sys.Res.paramName, paramName); + } + var e = Error.create(displayMessage, { + name: "Sys.ArgumentTypeException", + paramName: paramName, + actualType: actualType, + expectedType: expectedType + }); + e.popStackFrame(); + return e; +} +Error.argumentUndefined = function Error$argumentUndefined(paramName, message) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "paramName", type: String, mayBeNull: true, optional: true}, + {name: "message", type: String, mayBeNull: true, optional: true} + ]); + if (e) throw e; + var displayMessage = "Sys.ArgumentUndefinedException: " + (message ? message : Sys.Res.argumentUndefined); + if (paramName) { + displayMessage += "\n" + String.format(Sys.Res.paramName, paramName); + } + var e = Error.create(displayMessage, { name: "Sys.ArgumentUndefinedException", paramName: paramName }); + e.popStackFrame(); + return e; +} +Error.format = function Error$format(message) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "message", type: String, mayBeNull: true, optional: true} + ]); + if (e) throw e; + var displayMessage = "Sys.FormatException: " + (message ? message : Sys.Res.format); + var e = Error.create(displayMessage, {name: 'Sys.FormatException'}); + e.popStackFrame(); + return e; +} +Error.invalidOperation = function Error$invalidOperation(message) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "message", type: String, mayBeNull: true, optional: true} + ]); + if (e) throw e; + var displayMessage = "Sys.InvalidOperationException: " + (message ? message : Sys.Res.invalidOperation); + var e = Error.create(displayMessage, {name: 'Sys.InvalidOperationException'}); + e.popStackFrame(); + return e; +} +Error.notImplemented = function Error$notImplemented(message) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "message", type: String, mayBeNull: true, optional: true} + ]); + if (e) throw e; + var displayMessage = "Sys.NotImplementedException: " + (message ? message : Sys.Res.notImplemented); + var e = Error.create(displayMessage, {name: 'Sys.NotImplementedException'}); + e.popStackFrame(); + return e; +} +Error.parameterCount = function Error$parameterCount(message) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "message", type: String, mayBeNull: true, optional: true} + ]); + if (e) throw e; + var displayMessage = "Sys.ParameterCountException: " + (message ? message : Sys.Res.parameterCount); + var e = Error.create(displayMessage, {name: 'Sys.ParameterCountException'}); + e.popStackFrame(); + return e; +} +Error.prototype.popStackFrame = function Error$popStackFrame() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (typeof(this.stack) === "undefined" || this.stack === null || + typeof(this.fileName) === "undefined" || this.fileName === null || + typeof(this.lineNumber) === "undefined" || this.lineNumber === null) { + return; + } + var stackFrames = this.stack.split("\n"); + var currentFrame = stackFrames[0]; + var pattern = this.fileName + ":" + this.lineNumber; + while(typeof(currentFrame) !== "undefined" && + currentFrame !== null && + currentFrame.indexOf(pattern) === -1) { + stackFrames.shift(); + currentFrame = stackFrames[0]; + } + var nextFrame = stackFrames[1]; + if (typeof(nextFrame) === "undefined" || nextFrame === null) { + return; + } + var nextFrameParts = nextFrame.match(/@(.*):(\d+)$/); + if (typeof(nextFrameParts) === "undefined" || nextFrameParts === null) { + return; + } + this.fileName = nextFrameParts[1]; + this.lineNumber = parseInt(nextFrameParts[2]); + stackFrames.shift(); + this.stack = stackFrames.join("\n"); +} + +Object.__typeName = 'Object'; +Object.__class = true; +Object.getType = function Object$getType(instance) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "instance"} + ]); + if (e) throw e; + var ctor = instance.constructor; + if (!ctor || (typeof(ctor) !== "function") || !ctor.__typeName || (ctor.__typeName === 'Object')) { + return Object; + } + return ctor; +} +Object.getTypeName = function Object$getTypeName(instance) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "instance"} + ]); + if (e) throw e; + return Object.getType(instance).getName(); +} + +String.__typeName = 'String'; +String.__class = true; +String.prototype.endsWith = function String$endsWith(suffix) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "suffix", type: String} + ]); + if (e) throw e; + return (this.substr(this.length - suffix.length) === suffix); +} +String.prototype.startsWith = function String$startsWith(prefix) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "prefix", type: String} + ]); + if (e) throw e; + return (this.substr(0, prefix.length) === prefix); +} +String.prototype.trim = function String$trim() { + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this.replace(/^\s+|\s+$/g, ''); +} +String.prototype.trimEnd = function String$trimEnd() { + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this.replace(/\s+$/, ''); +} +String.prototype.trimStart = function String$trimStart() { + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this.replace(/^\s+/, ''); +} +String.format = function String$format(format, args) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "format", type: String}, + {name: "args", mayBeNull: true, parameterArray: true} + ]); + if (e) throw e; + return String._toFormattedString(false, arguments); +} +String.localeFormat = function String$localeFormat(format, args) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "format", type: String}, + {name: "args", mayBeNull: true, parameterArray: true} + ]); + if (e) throw e; + return String._toFormattedString(true, arguments); +} +String._toFormattedString = function String$_toFormattedString(useLocale, args) { + var result = ''; + var format = args[0]; + for (var i=0;;) { + var open = format.indexOf('{', i); + var close = format.indexOf('}', i); + if ((open < 0) && (close < 0)) { + result += format.slice(i); + break; + } + if ((close > 0) && ((close < open) || (open < 0))) { + if (format.charAt(close + 1) !== '}') { + throw Error.argument('format', Sys.Res.stringFormatBraceMismatch); + } + result += format.slice(i, close + 1); + i = close + 2; + continue; + } + result += format.slice(i, open); + i = open + 1; + if (format.charAt(i) === '{') { + result += '{'; + i++; + continue; + } + if (close < 0) throw Error.argument('format', Sys.Res.stringFormatBraceMismatch); + var brace = format.substring(i, close); + var colonIndex = brace.indexOf(':'); + var argNumber = parseInt((colonIndex < 0)? brace : brace.substring(0, colonIndex), 10) + 1; + if (isNaN(argNumber)) throw Error.argument('format', Sys.Res.stringFormatInvalid); + var argFormat = (colonIndex < 0)? '' : brace.substring(colonIndex + 1); + var arg = args[argNumber]; + if (typeof(arg) === "undefined" || arg === null) { + arg = ''; + } + if (arg.toFormattedString) { + result += arg.toFormattedString(argFormat); + } + else if (useLocale && arg.localeFormat) { + result += arg.localeFormat(argFormat); + } + else if (arg.format) { + result += arg.format(argFormat); + } + else + result += arg.toString(); + i = close + 1; + } + return result; +} + +Boolean.__typeName = 'Boolean'; +Boolean.__class = true; +Boolean.parse = function Boolean$parse(value) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "value", type: String} + ]); + if (e) throw e; + var v = value.trim().toLowerCase(); + if (v === 'false') return false; + if (v === 'true') return true; + throw Error.argumentOutOfRange('value', value, Sys.Res.boolTrueOrFalse); +} + +Date.__typeName = 'Date'; +Date.__class = true; +Date._appendPreOrPostMatch = function Date$_appendPreOrPostMatch(preMatch, strBuilder) { + var quoteCount = 0; + var escaped = false; + for (var i = 0, il = preMatch.length; i < il; i++) { + var c = preMatch.charAt(i); + switch (c) { + case '\'': + if (escaped) strBuilder.append("'"); + else quoteCount++; + escaped = false; + break; + case '\\': + if (escaped) strBuilder.append("\\"); + escaped = !escaped; + break; + default: + strBuilder.append(c); + escaped = false; + break; + } + } + return quoteCount; +} +Date._expandFormat = function Date$_expandFormat(dtf, format) { + if (!format) { + format = "F"; + } + if (format.length === 1) { + switch (format) { + case "d": + return dtf.ShortDatePattern; + case "D": + return dtf.LongDatePattern; + case "t": + return dtf.ShortTimePattern; + case "T": + return dtf.LongTimePattern; + case "F": + return dtf.FullDateTimePattern; + case "M": case "m": + return dtf.MonthDayPattern; + case "s": + return dtf.SortableDateTimePattern; + case "Y": case "y": + return dtf.YearMonthPattern; + default: + throw Error.format(Sys.Res.formatInvalidString); + } + } + return format; +} +Date._expandYear = function Date$_expandYear(dtf, year) { + if (year < 100) { + var curr = new Date().getFullYear(); + year += curr - (curr % 100); + if (year > dtf.Calendar.TwoDigitYearMax) { + return year - 100; + } + } + return year; +} +Date._getParseRegExp = function Date$_getParseRegExp(dtf, format) { + if (!dtf._parseRegExp) { + dtf._parseRegExp = {}; + } + else if (dtf._parseRegExp[format]) { + return dtf._parseRegExp[format]; + } + var expFormat = Date._expandFormat(dtf, format); + expFormat = expFormat.replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g, "\\\\$1"); + var regexp = new Sys.StringBuilder("^"); + var groups = []; + var index = 0; + var quoteCount = 0; + var tokenRegExp = Date._getTokenRegExp(); + var match; + while ((match = tokenRegExp.exec(expFormat)) !== null) { + var preMatch = expFormat.slice(index, match.index); + index = tokenRegExp.lastIndex; + quoteCount += Date._appendPreOrPostMatch(preMatch, regexp); + if ((quoteCount%2) === 1) { + regexp.append(match[0]); + continue; + } + switch (match[0]) { + case 'dddd': case 'ddd': + case 'MMMM': case 'MMM': + regexp.append("(\\D+)"); + break; + case 'tt': case 't': + regexp.append("(\\D*)"); + break; + case 'yyyy': + regexp.append("(\\d{4})"); + break; + case 'fff': + regexp.append("(\\d{3})"); + break; + case 'ff': + regexp.append("(\\d{2})"); + break; + case 'f': + regexp.append("(\\d)"); + break; + case 'dd': case 'd': + case 'MM': case 'M': + case 'yy': case 'y': + case 'HH': case 'H': + case 'hh': case 'h': + case 'mm': case 'm': + case 'ss': case 's': + regexp.append("(\\d\\d?)"); + break; + case 'zzz': + regexp.append("([+-]?\\d\\d?:\\d{2})"); + break; + case 'zz': case 'z': + regexp.append("([+-]?\\d\\d?)"); + break; + } + Array.add(groups, match[0]); + } + Date._appendPreOrPostMatch(expFormat.slice(index), regexp); + regexp.append("$"); + var regexpStr = regexp.toString().replace(/\s+/g, "\\s+"); + var parseRegExp = {'regExp': regexpStr, 'groups': groups}; + dtf._parseRegExp[format] = parseRegExp; + return parseRegExp; +} +Date._getTokenRegExp = function Date$_getTokenRegExp() { + return /dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z/g; +} +Date.parseLocale = function Date$parseLocale(value, formats) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "value", type: String}, + {name: "formats", mayBeNull: true, optional: true, parameterArray: true} + ]); + if (e) throw e; + return Date._parse(value, Sys.CultureInfo.CurrentCulture, arguments); +} +Date.parseInvariant = function Date$parseInvariant(value, formats) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "value", type: String}, + {name: "formats", mayBeNull: true, optional: true, parameterArray: true} + ]); + if (e) throw e; + return Date._parse(value, Sys.CultureInfo.InvariantCulture, arguments); +} +Date._parse = function Date$_parse(value, cultureInfo, args) { + var custom = false; + for (var i = 1, il = args.length; i < il; i++) { + var format = args[i]; + if (format) { + custom = true; + var date = Date._parseExact(value, format, cultureInfo); + if (date) return date; + } + } + if (! custom) { + var formats = cultureInfo._getDateTimeFormats(); + for (var i = 0, il = formats.length; i < il; i++) { + var date = Date._parseExact(value, formats[i], cultureInfo); + if (date) return date; + } + } + return null; +} +Date._parseExact = function Date$_parseExact(value, format, cultureInfo) { + value = value.trim(); + var dtf = cultureInfo.dateTimeFormat; + var parseInfo = Date._getParseRegExp(dtf, format); + var match = new RegExp(parseInfo.regExp).exec(value); + if (match === null) return null; + + var groups = parseInfo.groups; + var year = null, month = null, date = null, weekDay = null; + var hour = 0, min = 0, sec = 0, msec = 0, tzMinOffset = null; + var pmHour = false; + for (var j = 0, jl = groups.length; j < jl; j++) { + var matchGroup = match[j+1]; + if (matchGroup) { + switch (groups[j]) { + case 'dd': case 'd': + date = parseInt(matchGroup, 10); + if ((date < 1) || (date > 31)) return null; + break; + case 'MMMM': + month = cultureInfo._getMonthIndex(matchGroup); + if ((month < 0) || (month > 11)) return null; + break; + case 'MMM': + month = cultureInfo._getAbbrMonthIndex(matchGroup); + if ((month < 0) || (month > 11)) return null; + break; + case 'M': case 'MM': + var month = parseInt(matchGroup, 10) - 1; + if ((month < 0) || (month > 11)) return null; + break; + case 'y': case 'yy': + year = Date._expandYear(dtf,parseInt(matchGroup, 10)); + if ((year < 0) || (year > 9999)) return null; + break; + case 'yyyy': + year = parseInt(matchGroup, 10); + if ((year < 0) || (year > 9999)) return null; + break; + case 'h': case 'hh': + hour = parseInt(matchGroup, 10); + if (hour === 12) hour = 0; + if ((hour < 0) || (hour > 11)) return null; + break; + case 'H': case 'HH': + hour = parseInt(matchGroup, 10); + if ((hour < 0) || (hour > 23)) return null; + break; + case 'm': case 'mm': + min = parseInt(matchGroup, 10); + if ((min < 0) || (min > 59)) return null; + break; + case 's': case 'ss': + sec = parseInt(matchGroup, 10); + if ((sec < 0) || (sec > 59)) return null; + break; + case 'tt': case 't': + var upperToken = matchGroup.toUpperCase(); + pmHour = (upperToken === dtf.PMDesignator.toUpperCase()); + if (!pmHour && (upperToken !== dtf.AMDesignator.toUpperCase())) return null; + break; + case 'f': + msec = parseInt(matchGroup, 10) * 100; + if ((msec < 0) || (msec > 999)) return null; + break; + case 'ff': + msec = parseInt(matchGroup, 10) * 10; + if ((msec < 0) || (msec > 999)) return null; + break; + case 'fff': + msec = parseInt(matchGroup, 10); + if ((msec < 0) || (msec > 999)) return null; + break; + case 'dddd': + weekDay = cultureInfo._getDayIndex(matchGroup); + if ((weekDay < 0) || (weekDay > 6)) return null; + break; + case 'ddd': + weekDay = cultureInfo._getAbbrDayIndex(matchGroup); + if ((weekDay < 0) || (weekDay > 6)) return null; + break; + case 'zzz': + var offsets = matchGroup.split(/:/); + if (offsets.length !== 2) return null; + var hourOffset = parseInt(offsets[0], 10); + if ((hourOffset < -12) || (hourOffset > 13)) return null; + var minOffset = parseInt(offsets[1], 10); + if ((minOffset < 0) || (minOffset > 59)) return null; + tzMinOffset = (hourOffset * 60) + (matchGroup.startsWith('-')? -minOffset : minOffset); + break; + case 'z': case 'zz': + var hourOffset = parseInt(matchGroup, 10); + if ((hourOffset < -12) || (hourOffset > 13)) return null; + tzMinOffset = hourOffset * 60; + break; + } + } + } + var result = new Date(); + if (year === null) { + year = result.getFullYear(); + } + if (month === null) { + month = result.getMonth(); + } + if (date === null) { + date = result.getDate(); + } + result.setFullYear(year, month, date); + if (result.getDate() !== date) return null; + if ((weekDay !== null) && (result.getDay() !== weekDay)) { + return null; + } + if (pmHour && (hour < 12)) { + hour += 12; + } + result.setHours(hour, min, sec, msec); + if (tzMinOffset !== null) { + var adjustedMin = result.getMinutes() - (tzMinOffset + result.getTimezoneOffset()); + result.setHours(result.getHours() + parseInt(adjustedMin/60, 10), adjustedMin%60); + } + return result; +} +Date.prototype.format = function Date$format(format) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "format", type: String} + ]); + if (e) throw e; + return this._toFormattedString(format, Sys.CultureInfo.InvariantCulture); +} +Date.prototype.localeFormat = function Date$localeFormat(format) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "format", type: String} + ]); + if (e) throw e; + return this._toFormattedString(format, Sys.CultureInfo.CurrentCulture); +} +Date.prototype._toFormattedString = function Date$_toFormattedString(format, cultureInfo) { + if (!format || (format.length === 0) || (format === 'i')) { + if (cultureInfo && (cultureInfo.name.length > 0)) { + return this.toLocaleString(); + } + else { + return this.toString(); + } + } + var dtf = cultureInfo.dateTimeFormat; + format = Date._expandFormat(dtf, format); + var ret = new Sys.StringBuilder(); + var hour; + function addLeadingZero(num) { + if (num < 10) { + return '0' + num; + } + return num.toString(); + } + function addLeadingZeros(num) { + if (num < 10) { + return '00' + num; + } + if (num < 100) { + return '0' + num; + } + return num.toString(); + } + var quoteCount = 0; + var tokenRegExp = Date._getTokenRegExp(); + for (;;) { + var index = tokenRegExp.lastIndex; + var ar = tokenRegExp.exec(format); + var preMatch = format.slice(index, ar ? ar.index : format.length); + quoteCount += Date._appendPreOrPostMatch(preMatch, ret); + if (!ar) break; + if ((quoteCount%2) === 1) { + ret.append(ar[0]); + continue; + } + switch (ar[0]) { + case "dddd": + ret.append(dtf.DayNames[this.getDay()]); + break; + case "ddd": + ret.append(dtf.AbbreviatedDayNames[this.getDay()]); + break; + case "dd": + ret.append(addLeadingZero(this.getDate())); + break; + case "d": + ret.append(this.getDate()); + break; + case "MMMM": + ret.append(dtf.MonthNames[this.getMonth()]); + break; + case "MMM": + ret.append(dtf.AbbreviatedMonthNames[this.getMonth()]); + break; + case "MM": + ret.append(addLeadingZero(this.getMonth() + 1)); + break; + case "M": + ret.append(this.getMonth() + 1); + break; + case "yyyy": + ret.append(this.getFullYear()); + break; + case "yy": + ret.append(addLeadingZero(this.getFullYear() % 100)); + break; + case "y": + ret.append(this.getFullYear() % 100); + break; + case "hh": + hour = this.getHours() % 12; + if (hour === 0) hour = 12; + ret.append(addLeadingZero(hour)); + break; + case "h": + hour = this.getHours() % 12; + if (hour === 0) hour = 12; + ret.append(hour); + break; + case "HH": + ret.append(addLeadingZero(this.getHours())); + break; + case "H": + ret.append(this.getHours()); + break; + case "mm": + ret.append(addLeadingZero(this.getMinutes())); + break; + case "m": + ret.append(this.getMinutes()); + break; + case "ss": + ret.append(addLeadingZero(this.getSeconds())); + break; + case "s": + ret.append(this.getSeconds()); + break; + case "tt": + ret.append((this.getHours() < 12) ? dtf.AMDesignator : dtf.PMDesignator); + break; + case "t": + ret.append(((this.getHours() < 12) ? dtf.AMDesignator : dtf.PMDesignator).charAt(0)); + break; + case "f": + ret.append(addLeadingZeros(this.getMilliseconds()).charAt(0)); + break; + case "ff": + ret.append(addLeadingZeros(this.getMilliseconds()).substr(0, 2)); + break; + case "fff": + ret.append(addLeadingZeros(this.getMilliseconds())); + break; + case "z": + hour = this.getTimezoneOffset() / 60; + ret.append(((hour <= 0) ? '+' : '-') + Math.floor(Math.abs(hour))); + break; + case "zz": + hour = this.getTimezoneOffset() / 60; + ret.append(((hour <= 0) ? '+' : '-') + addLeadingZero(Math.floor(Math.abs(hour)))); + break; + case "zzz": + hour = this.getTimezoneOffset() / 60; + ret.append(((hour <= 0) ? '+' : '-') + addLeadingZero(Math.floor(Math.abs(hour))) + + dtf.TimeSeparator + addLeadingZero(Math.abs(this.getTimezoneOffset() % 60))); + break; + } + } + return ret.toString(); +} + +Number.__typeName = 'Number'; +Number.__class = true; +Number.parseLocale = function Number$parseLocale(value) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "value", type: String} + ]); + if (e) throw e; + return Number._parse(value, Sys.CultureInfo.CurrentCulture); +} +Number.parseInvariant = function Number$parseInvariant(value) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "value", type: String} + ]); + if (e) throw e; + return Number._parse(value, Sys.CultureInfo.InvariantCulture); +} +Number._parse = function Number$_parse(value, cultureInfo) { + value = value.trim(); + + if (value.match(/^[+-]?infinity$/i)) { + return parseFloat(value); + } + if (value.match(/^0x[a-f0-9]+$/i)) { + return parseInt(value); + } + var numFormat = cultureInfo.numberFormat; + var signInfo = Number._parseNumberNegativePattern(value, numFormat, numFormat.NumberNegativePattern); + var sign = signInfo[0]; + var num = signInfo[1]; + + if ((sign === '') && (numFormat.NumberNegativePattern !== 1)) { + signInfo = Number._parseNumberNegativePattern(value, numFormat, 1); + sign = signInfo[0]; + num = signInfo[1]; + } + if (sign === '') sign = '+'; + + var exponent; + var intAndFraction; + var exponentPos = num.indexOf('e'); + if (exponentPos < 0) exponentPos = num.indexOf('E'); + if (exponentPos < 0) { + intAndFraction = num; + exponent = null; + } + else { + intAndFraction = num.substr(0, exponentPos); + exponent = num.substr(exponentPos + 1); + } + + var integer; + var fraction; + var decimalPos = intAndFraction.indexOf(numFormat.NumberDecimalSeparator); + if (decimalPos < 0) { + integer = intAndFraction; + fraction = null; + } + else { + integer = intAndFraction.substr(0, decimalPos); + fraction = intAndFraction.substr(decimalPos + numFormat.NumberDecimalSeparator.length); + } + + integer = integer.split(numFormat.NumberGroupSeparator).join(''); + var altNumGroupSeparator = numFormat.NumberGroupSeparator.replace(/\u00A0/g, " "); + if (numFormat.NumberGroupSeparator !== altNumGroupSeparator) { + integer = integer.split(altNumGroupSeparator).join(''); + } + + var p = sign + integer; + if (fraction !== null) { + p += '.' + fraction; + } + if (exponent !== null) { + var expSignInfo = Number._parseNumberNegativePattern(exponent, numFormat, 1); + if (expSignInfo[0] === '') { + expSignInfo[0] = '+'; + } + p += 'e' + expSignInfo[0] + expSignInfo[1]; + } + if (p.match(/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/)) { + return parseFloat(p); + } + return Number.NaN; +} +Number._parseNumberNegativePattern = function Number$_parseNumberNegativePattern(value, numFormat, numberNegativePattern) { + var neg = numFormat.NegativeSign; + var pos = numFormat.PositiveSign; + switch (numberNegativePattern) { + case 4: + neg = ' ' + neg; + pos = ' ' + pos; + case 3: + if (value.endsWith(neg)) { + return ['-', value.substr(0, value.length - neg.length)]; + } + else if (value.endsWith(pos)) { + return ['+', value.substr(0, value.length - pos.length)]; + } + break; + case 2: + neg += ' '; + pos += ' '; + case 1: + if (value.startsWith(neg)) { + return ['-', value.substr(neg.length)]; + } + else if (value.startsWith(pos)) { + return ['+', value.substr(pos.length)]; + } + break; + case 0: + if (value.startsWith('(') && value.endsWith(')')) { + return ['-', value.substr(1, value.length - 2)]; + } + break; + } + return ['', value]; +} +Number.prototype.format = function Number$format(format) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "format", type: String} + ]); + if (e) throw e; + return this._toFormattedString(format, Sys.CultureInfo.InvariantCulture); +} +Number.prototype.localeFormat = function Number$localeFormat(format) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "format", type: String} + ]); + if (e) throw e; + return this._toFormattedString(format, Sys.CultureInfo.CurrentCulture); +} +Number.prototype._toFormattedString = function Number$_toFormattedString(format, cultureInfo) { + if (!format || (format.length === 0) || (format === 'i')) { + if (cultureInfo && (cultureInfo.name.length > 0)) { + return this.toLocaleString(); + } + else { + return this.toString(); + } + } + + var _percentPositivePattern = ["n %", "n%", "%n" ]; + var _percentNegativePattern = ["-n %", "-n%", "-%n"]; + var _numberNegativePattern = ["(n)","-n","- n","n-","n -"]; + var _currencyPositivePattern = ["$n","n$","$ n","n $"]; + var _currencyNegativePattern = ["($n)","-$n","$-n","$n-","(n$)","-n$","n-$","n$-","-n $","-$ n","n $-","$ n-","$ -n","n- $","($ n)","(n $)"]; + function zeroPad(str, count, left) { + for (var l=str.length; l < count; l++) { + str = (left ? ('0' + str) : (str + '0')); + } + return str; + } + + function expandNumber(number, precision, groupSizes, sep, decimalChar) { + + var curSize = groupSizes[0]; + var curGroupIndex = 1; + var factor = Math.pow(10, precision); + var rounded = (Math.round(number * factor) / factor); + if (!isFinite(rounded)) { + rounded = number; + } + number = rounded; + + var numberString = number.toString(); + var right = ""; + var exponent; + + + var split = numberString.split(/e/i); + numberString = split[0]; + exponent = (split.length > 1 ? parseInt(split[1]) : 0); + split = numberString.split('.'); + numberString = split[0]; + right = split.length > 1 ? split[1] : ""; + + var l; + if (exponent > 0) { + right = zeroPad(right, exponent, false); + numberString += right.slice(0, exponent); + right = right.substr(exponent); + } + else if (exponent < 0) { + exponent = -exponent; + numberString = zeroPad(numberString, exponent+1, true); + right = numberString.slice(-exponent, numberString.length) + right; + numberString = numberString.slice(0, -exponent); + } + if (precision > 0) { + if (right.length > precision) { + right = right.slice(0, precision); + } + else { + right = zeroPad(right, precision, false); + } + right = decimalChar + right; + } + else { + right = ""; + } + var stringIndex = numberString.length-1; + var ret = ""; + while (stringIndex >= 0) { + if (curSize === 0 || curSize > stringIndex) { + if (ret.length > 0) + return numberString.slice(0, stringIndex + 1) + sep + ret + right; + else + return numberString.slice(0, stringIndex + 1) + right; + } + if (ret.length > 0) + ret = numberString.slice(stringIndex - curSize + 1, stringIndex+1) + sep + ret; + else + ret = numberString.slice(stringIndex - curSize + 1, stringIndex+1); + stringIndex -= curSize; + if (curGroupIndex < groupSizes.length) { + curSize = groupSizes[curGroupIndex]; + curGroupIndex++; + } + } + return numberString.slice(0, stringIndex + 1) + sep + ret + right; + } + var nf = cultureInfo.numberFormat; + var number = Math.abs(this); + if (!format) + format = "D"; + var precision = -1; + if (format.length > 1) precision = parseInt(format.slice(1), 10); + var pattern; + switch (format.charAt(0)) { + case "d": + case "D": + pattern = 'n'; + if (precision !== -1) { + number = zeroPad(""+number, precision, true); + } + if (this < 0) number = -number; + break; + case "c": + case "C": + if (this < 0) pattern = _currencyNegativePattern[nf.CurrencyNegativePattern]; + else pattern = _currencyPositivePattern[nf.CurrencyPositivePattern]; + if (precision === -1) precision = nf.CurrencyDecimalDigits; + number = expandNumber(Math.abs(this), precision, nf.CurrencyGroupSizes, nf.CurrencyGroupSeparator, nf.CurrencyDecimalSeparator); + break; + case "n": + case "N": + if (this < 0) pattern = _numberNegativePattern[nf.NumberNegativePattern]; + else pattern = 'n'; + if (precision === -1) precision = nf.NumberDecimalDigits; + number = expandNumber(Math.abs(this), precision, nf.NumberGroupSizes, nf.NumberGroupSeparator, nf.NumberDecimalSeparator); + break; + case "p": + case "P": + if (this < 0) pattern = _percentNegativePattern[nf.PercentNegativePattern]; + else pattern = _percentPositivePattern[nf.PercentPositivePattern]; + if (precision === -1) precision = nf.PercentDecimalDigits; + number = expandNumber(Math.abs(this) * 100, precision, nf.PercentGroupSizes, nf.PercentGroupSeparator, nf.PercentDecimalSeparator); + break; + default: + throw Error.format(Sys.Res.formatBadFormatSpecifier); + } + var regex = /n|\$|-|%/g; + var ret = ""; + for (;;) { + var index = regex.lastIndex; + var ar = regex.exec(pattern); + ret += pattern.slice(index, ar ? ar.index : pattern.length); + if (!ar) + break; + switch (ar[0]) { + case "n": + ret += number; + break; + case "$": + ret += nf.CurrencySymbol; + break; + case "-": + ret += nf.NegativeSign; + break; + case "%": + ret += nf.PercentSymbol; + break; + } + } + return ret; +} + +RegExp.__typeName = 'RegExp'; +RegExp.__class = true; + +Array.__typeName = 'Array'; +Array.__class = true; +Array.add = Array.enqueue = function Array$enqueue(array, item) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "array", type: Array, elementMayBeNull: true}, + {name: "item", mayBeNull: true} + ]); + if (e) throw e; + array[array.length] = item; +} +Array.addRange = function Array$addRange(array, items) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "array", type: Array, elementMayBeNull: true}, + {name: "items", type: Array, elementMayBeNull: true} + ]); + if (e) throw e; + array.push.apply(array, items); +} +Array.clear = function Array$clear(array) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "array", type: Array, elementMayBeNull: true} + ]); + if (e) throw e; + array.length = 0; +} +Array.clone = function Array$clone(array) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "array", type: Array, elementMayBeNull: true} + ]); + if (e) throw e; + if (array.length === 1) { + return [array[0]]; + } + else { + return Array.apply(null, array); + } +} +Array.contains = function Array$contains(array, item) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "array", type: Array, elementMayBeNull: true}, + {name: "item", mayBeNull: true} + ]); + if (e) throw e; + return (Array.indexOf(array, item) >= 0); +} +Array.dequeue = function Array$dequeue(array) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "array", type: Array, elementMayBeNull: true} + ]); + if (e) throw e; + return array.shift(); +} +Array.forEach = function Array$forEach(array, method, instance) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "array", type: Array, elementMayBeNull: true}, + {name: "method", type: Function}, + {name: "instance", mayBeNull: true, optional: true} + ]); + if (e) throw e; + for (var i = 0, l = array.length; i < l; i++) { + var elt = array[i]; + if (typeof(elt) !== 'undefined') method.call(instance, elt, i, array); + } +} +Array.indexOf = function Array$indexOf(array, item, start) { + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "array", type: Array, elementMayBeNull: true}, + {name: "item", mayBeNull: true, optional: true}, + {name: "start", mayBeNull: true, optional: true} + ]); + if (e) throw e; + if (typeof(item) === "undefined") return -1; + var length = array.length; + if (length !== 0) { + start = start - 0; + if (isNaN(start)) { + start = 0; + } + else { + if (isFinite(start)) { + start = start - (start % 1); + } + if (start < 0) { + start = Math.max(0, length + start); + } + } + for (var i = start; i < length; i++) { + if ((typeof(array[i]) !== "undefined") && (array[i] === item)) { + return i; + } + } + } + return -1; +} +Array.insert = function Array$insert(array, index, item) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "array", type: Array, elementMayBeNull: true}, + {name: "index", mayBeNull: true}, + {name: "item", mayBeNull: true} + ]); + if (e) throw e; + array.splice(index, 0, item); +} +Array.parse = function Array$parse(value) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "value", type: String, mayBeNull: true} + ]); + if (e) throw e; + if (!value) return []; + var v = eval(value); + if (!Array.isInstanceOfType(v)) throw Error.argument('value', Sys.Res.arrayParseBadFormat); + return v; +} +Array.remove = function Array$remove(array, item) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "array", type: Array, elementMayBeNull: true}, + {name: "item", mayBeNull: true} + ]); + if (e) throw e; + var index = Array.indexOf(array, item); + if (index >= 0) { + array.splice(index, 1); + } + return (index >= 0); +} +Array.removeAt = function Array$removeAt(array, index) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "array", type: Array, elementMayBeNull: true}, + {name: "index", mayBeNull: true} + ]); + if (e) throw e; + array.splice(index, 1); +} + +if (!window) this.window = this; +window.Type = Function; +Type.__fullyQualifiedIdentifierRegExp = new RegExp("^[^.0-9 \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]([^ \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]*[^. \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\])?$", "i"); +Type.__identifierRegExp = new RegExp("^[^.0-9 \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\][^. \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]*$", "i"); +Type.prototype.callBaseMethod = function Type$callBaseMethod(instance, name, baseArguments) { + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "instance"}, + {name: "name", type: String}, + {name: "baseArguments", type: Array, mayBeNull: true, optional: true, elementMayBeNull: true} + ]); + if (e) throw e; + var baseMethod = this.getBaseMethod(instance, name); + if (!baseMethod) throw Error.invalidOperation(String.format(Sys.Res.methodNotFound, name)); + if (!baseArguments) { + return baseMethod.apply(instance); + } + else { + return baseMethod.apply(instance, baseArguments); + } +} +Type.prototype.getBaseMethod = function Type$getBaseMethod(instance, name) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "instance"}, + {name: "name", type: String} + ]); + if (e) throw e; + if (!this.isInstanceOfType(instance)) throw Error.argumentType('instance', Object.getType(instance), this); + var baseType = this.getBaseType(); + if (baseType) { + var baseMethod = baseType.prototype[name]; + return (baseMethod instanceof Function) ? baseMethod : null; + } + return null; +} +Type.prototype.getBaseType = function Type$getBaseType() { + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return (typeof(this.__baseType) === "undefined") ? null : this.__baseType; +} +Type.prototype.getInterfaces = function Type$getInterfaces() { + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + var result = []; + var type = this; + while(type) { + var interfaces = type.__interfaces; + if (interfaces) { + for (var i = 0, l = interfaces.length; i < l; i++) { + var interfaceType = interfaces[i]; + if (!Array.contains(result, interfaceType)) { + result[result.length] = interfaceType; + } + } + } + type = type.__baseType; + } + return result; +} +Type.prototype.getName = function Type$getName() { + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return (typeof(this.__typeName) === "undefined") ? "" : this.__typeName; +} +Type.prototype.implementsInterface = function Type$implementsInterface(interfaceType) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "interfaceType", type: Type} + ]); + if (e) throw e; + this.resolveInheritance(); + var interfaceName = interfaceType.getName(); + var cache = this.__interfaceCache; + if (cache) { + var cacheEntry = cache[interfaceName]; + if (typeof(cacheEntry) !== 'undefined') return cacheEntry; + } + else { + cache = this.__interfaceCache = {}; + } + var baseType = this; + while (baseType) { + var interfaces = baseType.__interfaces; + if (interfaces) { + if (Array.indexOf(interfaces, interfaceType) !== -1) { + return cache[interfaceName] = true; + } + } + baseType = baseType.__baseType; + } + return cache[interfaceName] = false; +} +Type.prototype.inheritsFrom = function Type$inheritsFrom(parentType) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "parentType", type: Type} + ]); + if (e) throw e; + this.resolveInheritance(); + var baseType = this.__baseType; + while (baseType) { + if (baseType === parentType) { + return true; + } + baseType = baseType.__baseType; + } + return false; +} +Type.prototype.initializeBase = function Type$initializeBase(instance, baseArguments) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "instance"}, + {name: "baseArguments", type: Array, mayBeNull: true, optional: true, elementMayBeNull: true} + ]); + if (e) throw e; + if (!this.isInstanceOfType(instance)) throw Error.argumentType('instance', Object.getType(instance), this); + this.resolveInheritance(); + if (this.__baseType) { + if (!baseArguments) { + this.__baseType.apply(instance); + } + else { + this.__baseType.apply(instance, baseArguments); + } + } + return instance; +} +Type.prototype.isImplementedBy = function Type$isImplementedBy(instance) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "instance", mayBeNull: true} + ]); + if (e) throw e; + if (typeof(instance) === "undefined" || instance === null) return false; + var instanceType = Object.getType(instance); + return !!(instanceType.implementsInterface && instanceType.implementsInterface(this)); +} +Type.prototype.isInstanceOfType = function Type$isInstanceOfType(instance) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "instance", mayBeNull: true} + ]); + if (e) throw e; + if (typeof(instance) === "undefined" || instance === null) return false; + if (instance instanceof this) return true; + var instanceType = Object.getType(instance); + return !!(instanceType === this) || + (instanceType.inheritsFrom && instanceType.inheritsFrom(this)) || + (instanceType.implementsInterface && instanceType.implementsInterface(this)); +} +Type.prototype.registerClass = function Type$registerClass(typeName, baseType, interfaceTypes) { + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "typeName", type: String}, + {name: "baseType", type: Type, mayBeNull: true, optional: true}, + {name: "interfaceTypes", type: Type, parameterArray: true} + ]); + if (e) throw e; + if (!Type.__fullyQualifiedIdentifierRegExp.test(typeName)) throw Error.argument('typeName', Sys.Res.notATypeName); + var parsedName; + try { + parsedName = eval(typeName); + } + catch(e) { + throw Error.argument('typeName', Sys.Res.argumentTypeName); + } + if (parsedName !== this) throw Error.argument('typeName', Sys.Res.badTypeName); + if (Sys.__registeredTypes[typeName]) throw Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, typeName)); + if ((arguments.length > 1) && (typeof(baseType) === 'undefined')) throw Error.argumentUndefined('baseType'); + if (baseType && !baseType.__class) throw Error.argument('baseType', Sys.Res.baseNotAClass); + this.prototype.constructor = this; + this.__typeName = typeName; + this.__class = true; + if (baseType) { + this.__baseType = baseType; + this.__basePrototypePending = true; + } + Sys.__upperCaseTypes[typeName.toUpperCase()] = this; + if (interfaceTypes) { + this.__interfaces = []; + this.resolveInheritance(); + for (var i = 2, l = arguments.length; i < l; i++) { + var interfaceType = arguments[i]; + if (!interfaceType.__interface) throw Error.argument('interfaceTypes[' + (i - 2) + ']', Sys.Res.notAnInterface); + for (var methodName in interfaceType.prototype) { + var method = interfaceType.prototype[methodName]; + if (!this.prototype[methodName]) { + this.prototype[methodName] = method; + } + } + this.__interfaces.push(interfaceType); + } + } + Sys.__registeredTypes[typeName] = true; + return this; +} +Type.prototype.registerInterface = function Type$registerInterface(typeName) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "typeName", type: String} + ]); + if (e) throw e; + if (!Type.__fullyQualifiedIdentifierRegExp.test(typeName)) throw Error.argument('typeName', Sys.Res.notATypeName); + var parsedName; + try { + parsedName = eval(typeName); + } + catch(e) { + throw Error.argument('typeName', Sys.Res.argumentTypeName); + } + if (parsedName !== this) throw Error.argument('typeName', Sys.Res.badTypeName); + if (Sys.__registeredTypes[typeName]) throw Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, typeName)); + Sys.__upperCaseTypes[typeName.toUpperCase()] = this; + this.prototype.constructor = this; + this.__typeName = typeName; + this.__interface = true; + Sys.__registeredTypes[typeName] = true; + return this; +} +Type.prototype.resolveInheritance = function Type$resolveInheritance() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (this.__basePrototypePending) { + var baseType = this.__baseType; + baseType.resolveInheritance(); + for (var memberName in baseType.prototype) { + var memberValue = baseType.prototype[memberName]; + if (!this.prototype[memberName]) { + this.prototype[memberName] = memberValue; + } + } + delete this.__basePrototypePending; + } +} +Type.getRootNamespaces = function Type$getRootNamespaces() { + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return Array.clone(Sys.__rootNamespaces); +} +Type.isClass = function Type$isClass(type) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "type", mayBeNull: true} + ]); + if (e) throw e; + if ((typeof(type) === 'undefined') || (type === null)) return false; + return !!type.__class; +} +Type.isInterface = function Type$isInterface(type) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "type", mayBeNull: true} + ]); + if (e) throw e; + if ((typeof(type) === 'undefined') || (type === null)) return false; + return !!type.__interface; +} +Type.isNamespace = function Type$isNamespace(object) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "object", mayBeNull: true} + ]); + if (e) throw e; + if ((typeof(object) === 'undefined') || (object === null)) return false; + return !!object.__namespace; +} +Type.parse = function Type$parse(typeName, ns) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "typeName", type: String, mayBeNull: true}, + {name: "ns", mayBeNull: true, optional: true} + ]); + if (e) throw e; + var fn; + if (ns) { + fn = Sys.__upperCaseTypes[ns.getName().toUpperCase() + '.' + typeName.toUpperCase()]; + return fn || null; + } + if (!typeName) return null; + if (!Type.__htClasses) { + Type.__htClasses = {}; + } + fn = Type.__htClasses[typeName]; + if (!fn) { + fn = eval(typeName); + if (typeof(fn) !== 'function') throw Error.argument('typeName', Sys.Res.notATypeName); + Type.__htClasses[typeName] = fn; + } + return fn; +} +Type.registerNamespace = function Type$registerNamespace(namespacePath) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "namespacePath", type: String} + ]); + if (e) throw e; + if (!Type.__fullyQualifiedIdentifierRegExp.test(namespacePath)) throw Error.argument('namespacePath', Sys.Res.invalidNameSpace); + var rootObject = window; + var namespaceParts = namespacePath.split('.'); + for (var i = 0; i < namespaceParts.length; i++) { + var currentPart = namespaceParts[i]; + var ns = rootObject[currentPart]; + if (ns && !ns.__namespace) { + throw Error.invalidOperation(String.format(Sys.Res.namespaceContainsObject, namespaceParts.splice(0, i + 1).join('.'))); + } + if (!ns) { + ns = rootObject[currentPart] = { + __namespace: true, + __typeName: namespaceParts.slice(0, i + 1).join('.') + }; + if (i === 0) { + Sys.__rootNamespaces[Sys.__rootNamespaces.length] = ns; + } + var parsedName; + try { + parsedName = eval(ns.__typeName); + } + catch(e) { + parsedName = null; + } + if (parsedName !== ns) { + delete rootObject[currentPart]; + throw Error.argument('namespacePath', Sys.Res.invalidNameSpace); + } + ns.getName = function ns$getName() {return this.__typeName;} + } + rootObject = ns; + } +} +window.Sys = { + __namespace: true, + __typeName: "Sys", + getName: function() {return "Sys";}, + __upperCaseTypes: {} +}; +Sys.__rootNamespaces = [Sys]; +Sys.__registeredTypes = {}; + +Sys.IDisposable = function Sys$IDisposable() { + throw Error.notImplemented(); +} + function Sys$IDisposable$dispose() { + throw Error.notImplemented(); + } +Sys.IDisposable.prototype = { + dispose: Sys$IDisposable$dispose +} +Sys.IDisposable.registerInterface('Sys.IDisposable'); + +Sys.StringBuilder = function Sys$StringBuilder(initialText) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "initialText", mayBeNull: true, optional: true} + ]); + if (e) throw e; + this._parts = (typeof(initialText) !== 'undefined' && initialText !== null && initialText !== '') ? + [initialText.toString()] : []; + this._value = {}; + this._len = 0; +} + function Sys$StringBuilder$append(text) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "text", mayBeNull: true} + ]); + if (e) throw e; + this._parts[this._parts.length] = text; + } + function Sys$StringBuilder$appendLine(text) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "text", mayBeNull: true, optional: true} + ]); + if (e) throw e; + this._parts[this._parts.length] = + ((typeof(text) === 'undefined') || (text === null) || (text === '')) ? + '\r\n' : text + '\r\n'; + } + function Sys$StringBuilder$clear() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + this._parts = []; + this._value = {}; + this._len = 0; + } + function Sys$StringBuilder$isEmpty() { + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (this._parts.length === 0) return true; + return this.toString() === ''; + } + function Sys$StringBuilder$toString(separator) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "separator", type: String, mayBeNull: true, optional: true} + ]); + if (e) throw e; + separator = separator || ''; + var parts = this._parts; + if (this._len !== parts.length) { + this._value = {}; + this._len = parts.length; + } + var val = this._value; + if (typeof(val[separator]) === 'undefined') { + if (separator !== '') { + for (var i = 0; i < parts.length;) { + if ((typeof(parts[i]) === 'undefined') || (parts[i] === '') || (parts[i] === null)) { + parts.splice(i, 1); + } + else { + i++; + } + } + } + val[separator] = this._parts.join(separator); + } + return val[separator]; + } +Sys.StringBuilder.prototype = { + append: Sys$StringBuilder$append, + appendLine: Sys$StringBuilder$appendLine, + clear: Sys$StringBuilder$clear, + isEmpty: Sys$StringBuilder$isEmpty, + toString: Sys$StringBuilder$toString +} +Sys.StringBuilder.registerClass('Sys.StringBuilder'); + +if (!window.XMLHttpRequest) { + window.XMLHttpRequest = function window$XMLHttpRequest() { + var progIDs = [ 'Msxml2.XMLHTTP.3.0', 'Msxml2.XMLHTTP' ]; + for (var i = 0, l = progIDs.length; i < l; i++) { + try { + return new ActiveXObject(progIDs[i]); + } + catch (ex) { + } + } + return null; + } +} + +Sys.Browser = {}; +Sys.Browser.InternetExplorer = {}; +Sys.Browser.Firefox = {}; +Sys.Browser.Safari = {}; +Sys.Browser.Opera = {}; +Sys.Browser.agent = null; +Sys.Browser.hasDebuggerStatement = false; +Sys.Browser.name = navigator.appName; +Sys.Browser.version = parseFloat(navigator.appVersion); +Sys.Browser.documentMode = 0; +if (navigator.userAgent.indexOf(' MSIE ') > -1) { + Sys.Browser.agent = Sys.Browser.InternetExplorer; + Sys.Browser.version = parseFloat(navigator.userAgent.match(/MSIE (\d+\.\d+)/)[1]); + if (Sys.Browser.version >= 8) { + if (document.documentMode >= 7) { + Sys.Browser.documentMode = document.documentMode; + } + } + Sys.Browser.hasDebuggerStatement = true; +} +else if (navigator.userAgent.indexOf(' Firefox/') > -1) { + Sys.Browser.agent = Sys.Browser.Firefox; + Sys.Browser.version = parseFloat(navigator.userAgent.match(/ Firefox\/(\d+\.\d+)/)[1]); + Sys.Browser.name = 'Firefox'; + Sys.Browser.hasDebuggerStatement = true; +} +else if (navigator.userAgent.indexOf(' AppleWebKit/') > -1) { + Sys.Browser.agent = Sys.Browser.Safari; + Sys.Browser.version = parseFloat(navigator.userAgent.match(/ AppleWebKit\/(\d+(\.\d+)?)/)[1]); + Sys.Browser.name = 'Safari'; +} +else if (navigator.userAgent.indexOf('Opera/') > -1) { + Sys.Browser.agent = Sys.Browser.Opera; +} +Type.registerNamespace('Sys.UI'); + +Sys._Debug = function Sys$_Debug() { + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); +} + function Sys$_Debug$_appendConsole(text) { + if ((typeof(Debug) !== 'undefined') && Debug.writeln) { + Debug.writeln(text); + } + if (window.console && window.console.log) { + window.console.log(text); + } + if (window.opera) { + window.opera.postError(text); + } + if (window.debugService) { + window.debugService.trace(text); + } + } + function Sys$_Debug$_appendTrace(text) { + var traceElement = document.getElementById('TraceConsole'); + if (traceElement && (traceElement.tagName.toUpperCase() === 'TEXTAREA')) { + traceElement.value += text + '\n'; + } + } + function Sys$_Debug$assert(condition, message, displayCaller) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "condition", type: Boolean}, + {name: "message", type: String, mayBeNull: true, optional: true}, + {name: "displayCaller", type: Boolean, optional: true} + ]); + if (e) throw e; + if (!condition) { + message = (displayCaller && this.assert.caller) ? + String.format(Sys.Res.assertFailedCaller, message, this.assert.caller) : + String.format(Sys.Res.assertFailed, message); + if (confirm(String.format(Sys.Res.breakIntoDebugger, message))) { + this.fail(message); + } + } + } + function Sys$_Debug$clearTrace() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + var traceElement = document.getElementById('TraceConsole'); + if (traceElement && (traceElement.tagName.toUpperCase() === 'TEXTAREA')) { + traceElement.value = ''; + } + } + function Sys$_Debug$fail(message) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "message", type: String, mayBeNull: true} + ]); + if (e) throw e; + this._appendConsole(message); + if (Sys.Browser.hasDebuggerStatement) { + eval('debugger'); + } + } + function Sys$_Debug$trace(text) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "text"} + ]); + if (e) throw e; + this._appendConsole(text); + this._appendTrace(text); + } + function Sys$_Debug$traceDump(object, name) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "object", mayBeNull: true}, + {name: "name", type: String, mayBeNull: true, optional: true} + ]); + if (e) throw e; + var text = this._traceDump(object, name, true); + } + function Sys$_Debug$_traceDump(object, name, recursive, indentationPadding, loopArray) { + name = name? name : 'traceDump'; + indentationPadding = indentationPadding? indentationPadding : ''; + if (object === null) { + this.trace(indentationPadding + name + ': null'); + return; + } + switch(typeof(object)) { + case 'undefined': + this.trace(indentationPadding + name + ': Undefined'); + break; + case 'number': case 'string': case 'boolean': + this.trace(indentationPadding + name + ': ' + object); + break; + default: + if (Date.isInstanceOfType(object) || RegExp.isInstanceOfType(object)) { + this.trace(indentationPadding + name + ': ' + object.toString()); + break; + } + if (!loopArray) { + loopArray = []; + } + else if (Array.contains(loopArray, object)) { + this.trace(indentationPadding + name + ': ...'); + return; + } + Array.add(loopArray, object); + if ((object == window) || (object === document) || + (window.HTMLElement && (object instanceof HTMLElement)) || + (typeof(object.nodeName) === 'string')) { + var tag = object.tagName? object.tagName : 'DomElement'; + if (object.id) { + tag += ' - ' + object.id; + } + this.trace(indentationPadding + name + ' {' + tag + '}'); + } + else { + var typeName = Object.getTypeName(object); + this.trace(indentationPadding + name + (typeof(typeName) === 'string' ? ' {' + typeName + '}' : '')); + if ((indentationPadding === '') || recursive) { + indentationPadding += " "; + var i, length, properties, p, v; + if (Array.isInstanceOfType(object)) { + length = object.length; + for (i = 0; i < length; i++) { + this._traceDump(object[i], '[' + i + ']', recursive, indentationPadding, loopArray); + } + } + else { + for (p in object) { + v = object[p]; + if (!Function.isInstanceOfType(v)) { + this._traceDump(v, p, recursive, indentationPadding, loopArray); + } + } + } + } + } + Array.remove(loopArray, object); + } + } +Sys._Debug.prototype = { + _appendConsole: Sys$_Debug$_appendConsole, + _appendTrace: Sys$_Debug$_appendTrace, + assert: Sys$_Debug$assert, + clearTrace: Sys$_Debug$clearTrace, + fail: Sys$_Debug$fail, + trace: Sys$_Debug$trace, + traceDump: Sys$_Debug$traceDump, + _traceDump: Sys$_Debug$_traceDump +} +Sys._Debug.registerClass('Sys._Debug'); +Sys.Debug = new Sys._Debug(); + Sys.Debug.isDebug = true; + +function Sys$Enum$parse(value, ignoreCase) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "value", type: String}, + {name: "ignoreCase", type: Boolean, optional: true} + ]); + if (e) throw e; + var values, parsed, val; + if (ignoreCase) { + values = this.__lowerCaseValues; + if (!values) { + this.__lowerCaseValues = values = {}; + var prototype = this.prototype; + for (var name in prototype) { + values[name.toLowerCase()] = prototype[name]; + } + } + } + else { + values = this.prototype; + } + if (!this.__flags) { + val = (ignoreCase ? value.toLowerCase() : value); + parsed = values[val.trim()]; + if (typeof(parsed) !== 'number') throw Error.argument('value', String.format(Sys.Res.enumInvalidValue, value, this.__typeName)); + return parsed; + } + else { + var parts = (ignoreCase ? value.toLowerCase() : value).split(','); + var v = 0; + for (var i = parts.length - 1; i >= 0; i--) { + var part = parts[i].trim(); + parsed = values[part]; + if (typeof(parsed) !== 'number') throw Error.argument('value', String.format(Sys.Res.enumInvalidValue, value.split(',')[i].trim(), this.__typeName)); + v |= parsed; + } + return v; + } +} +function Sys$Enum$toString(value) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "value", mayBeNull: true, optional: true} + ]); + if (e) throw e; + if ((typeof(value) === 'undefined') || (value === null)) return this.__string; + if ((typeof(value) != 'number') || ((value % 1) !== 0)) throw Error.argumentType('value', Object.getType(value), this); + var values = this.prototype; + var i; + if (!this.__flags || (value === 0)) { + for (i in values) { + if (values[i] === value) { + return i; + } + } + } + else { + var sorted = this.__sortedValues; + if (!sorted) { + sorted = []; + for (i in values) { + sorted[sorted.length] = {key: i, value: values[i]}; + } + sorted.sort(function(a, b) { + return a.value - b.value; + }); + this.__sortedValues = sorted; + } + var parts = []; + var v = value; + for (i = sorted.length - 1; i >= 0; i--) { + var kvp = sorted[i]; + var vali = kvp.value; + if (vali === 0) continue; + if ((vali & value) === vali) { + parts[parts.length] = kvp.key; + v -= vali; + if (v === 0) break; + } + } + if (parts.length && v === 0) return parts.reverse().join(', '); + } + throw Error.argumentOutOfRange('value', value, String.format(Sys.Res.enumInvalidValue, value, this.__typeName)); +} +Type.prototype.registerEnum = function Type$registerEnum(name, flags) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "name", type: String}, + {name: "flags", type: Boolean, optional: true} + ]); + if (e) throw e; + if (!Type.__fullyQualifiedIdentifierRegExp.test(name)) throw Error.argument('name', Sys.Res.notATypeName); + var parsedName; + try { + parsedName = eval(name); + } + catch(e) { + throw Error.argument('name', Sys.Res.argumentTypeName); + } + if (parsedName !== this) throw Error.argument('name', Sys.Res.badTypeName); + if (Sys.__registeredTypes[name]) throw Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, name)); + for (var i in this.prototype) { + var val = this.prototype[i]; + if (!Type.__identifierRegExp.test(i)) throw Error.invalidOperation(String.format(Sys.Res.enumInvalidValueName, i)); + if (typeof(val) !== 'number' || (val % 1) !== 0) throw Error.invalidOperation(Sys.Res.enumValueNotInteger); + if (typeof(this[i]) !== 'undefined') throw Error.invalidOperation(String.format(Sys.Res.enumReservedName, i)); + } + Sys.__upperCaseTypes[name.toUpperCase()] = this; + for (var i in this.prototype) { + this[i] = this.prototype[i]; + } + this.__typeName = name; + this.parse = Sys$Enum$parse; + this.__string = this.toString(); + this.toString = Sys$Enum$toString; + this.__flags = flags; + this.__enum = true; + Sys.__registeredTypes[name] = true; +} +Type.isEnum = function Type$isEnum(type) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "type", mayBeNull: true} + ]); + if (e) throw e; + if ((typeof(type) === 'undefined') || (type === null)) return false; + return !!type.__enum; +} +Type.isFlags = function Type$isFlags(type) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "type", mayBeNull: true} + ]); + if (e) throw e; + if ((typeof(type) === 'undefined') || (type === null)) return false; + return !!type.__flags; +} + +Sys.EventHandlerList = function Sys$EventHandlerList() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + this._list = {}; +} + function Sys$EventHandlerList$addHandler(id, handler) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "id", type: String}, + {name: "handler", type: Function} + ]); + if (e) throw e; + Array.add(this._getEvent(id, true), handler); + } + function Sys$EventHandlerList$removeHandler(id, handler) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "id", type: String}, + {name: "handler", type: Function} + ]); + if (e) throw e; + var evt = this._getEvent(id); + if (!evt) return; + Array.remove(evt, handler); + } + function Sys$EventHandlerList$getHandler(id) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "id", type: String} + ]); + if (e) throw e; + var evt = this._getEvent(id); + if (!evt || (evt.length === 0)) return null; + evt = Array.clone(evt); + return function(source, args) { + for (var i = 0, l = evt.length; i < l; i++) { + evt[i](source, args); + } + }; + } + function Sys$EventHandlerList$_getEvent(id, create) { + if (!this._list[id]) { + if (!create) return null; + this._list[id] = []; + } + return this._list[id]; + } +Sys.EventHandlerList.prototype = { + addHandler: Sys$EventHandlerList$addHandler, + removeHandler: Sys$EventHandlerList$removeHandler, + getHandler: Sys$EventHandlerList$getHandler, + _getEvent: Sys$EventHandlerList$_getEvent +} +Sys.EventHandlerList.registerClass('Sys.EventHandlerList'); + +Sys.EventArgs = function Sys$EventArgs() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); +} +Sys.EventArgs.registerClass('Sys.EventArgs'); +Sys.EventArgs.Empty = new Sys.EventArgs(); + +Sys.CancelEventArgs = function Sys$CancelEventArgs() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + Sys.CancelEventArgs.initializeBase(this); + this._cancel = false; +} + function Sys$CancelEventArgs$get_cancel() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._cancel; + } + function Sys$CancelEventArgs$set_cancel(value) { + var e = Function._validateParams(arguments, [{name: "value", type: Boolean}]); + if (e) throw e; + this._cancel = value; + } +Sys.CancelEventArgs.prototype = { + get_cancel: Sys$CancelEventArgs$get_cancel, + set_cancel: Sys$CancelEventArgs$set_cancel +} +Sys.CancelEventArgs.registerClass('Sys.CancelEventArgs', Sys.EventArgs); + +Sys.INotifyPropertyChange = function Sys$INotifyPropertyChange() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); +} + function Sys$INotifyPropertyChange$add_propertyChanged(handler) { + /// + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + throw Error.notImplemented(); + } + function Sys$INotifyPropertyChange$remove_propertyChanged(handler) { + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + throw Error.notImplemented(); + } +Sys.INotifyPropertyChange.prototype = { + add_propertyChanged: Sys$INotifyPropertyChange$add_propertyChanged, + remove_propertyChanged: Sys$INotifyPropertyChange$remove_propertyChanged +} +Sys.INotifyPropertyChange.registerInterface('Sys.INotifyPropertyChange'); + +Sys.PropertyChangedEventArgs = function Sys$PropertyChangedEventArgs(propertyName) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "propertyName", type: String} + ]); + if (e) throw e; + Sys.PropertyChangedEventArgs.initializeBase(this); + this._propertyName = propertyName; +} + + function Sys$PropertyChangedEventArgs$get_propertyName() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._propertyName; + } +Sys.PropertyChangedEventArgs.prototype = { + get_propertyName: Sys$PropertyChangedEventArgs$get_propertyName +} +Sys.PropertyChangedEventArgs.registerClass('Sys.PropertyChangedEventArgs', Sys.EventArgs); + +Sys.INotifyDisposing = function Sys$INotifyDisposing() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); +} + function Sys$INotifyDisposing$add_disposing(handler) { + /// + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + throw Error.notImplemented(); + } + function Sys$INotifyDisposing$remove_disposing(handler) { + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + throw Error.notImplemented(); + } +Sys.INotifyDisposing.prototype = { + add_disposing: Sys$INotifyDisposing$add_disposing, + remove_disposing: Sys$INotifyDisposing$remove_disposing +} +Sys.INotifyDisposing.registerInterface("Sys.INotifyDisposing"); + +Sys.Component = function Sys$Component() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (Sys.Application) Sys.Application.registerDisposableObject(this); +} + function Sys$Component$get_events() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (!this._events) { + this._events = new Sys.EventHandlerList(); + } + return this._events; + } + function Sys$Component$get_id() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._id; + } + function Sys$Component$set_id(value) { + var e = Function._validateParams(arguments, [{name: "value", type: String}]); + if (e) throw e; + if (this._idSet) throw Error.invalidOperation(Sys.Res.componentCantSetIdTwice); + this._idSet = true; + var oldId = this.get_id(); + if (oldId && Sys.Application.findComponent(oldId)) throw Error.invalidOperation(Sys.Res.componentCantSetIdAfterAddedToApp); + this._id = value; + } + function Sys$Component$get_isInitialized() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._initialized; + } + function Sys$Component$get_isUpdating() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._updating; + } + function Sys$Component$add_disposing(handler) { + /// + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this.get_events().addHandler("disposing", handler); + } + function Sys$Component$remove_disposing(handler) { + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this.get_events().removeHandler("disposing", handler); + } + function Sys$Component$add_propertyChanged(handler) { + /// + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this.get_events().addHandler("propertyChanged", handler); + } + function Sys$Component$remove_propertyChanged(handler) { + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this.get_events().removeHandler("propertyChanged", handler); + } + function Sys$Component$beginUpdate() { + this._updating = true; + } + function Sys$Component$dispose() { + if (this._events) { + var handler = this._events.getHandler("disposing"); + if (handler) { + handler(this, Sys.EventArgs.Empty); + } + } + delete this._events; + Sys.Application.unregisterDisposableObject(this); + Sys.Application.removeComponent(this); + } + function Sys$Component$endUpdate() { + this._updating = false; + if (!this._initialized) this.initialize(); + this.updated(); + } + function Sys$Component$initialize() { + this._initialized = true; + } + function Sys$Component$raisePropertyChanged(propertyName) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "propertyName", type: String} + ]); + if (e) throw e; + if (!this._events) return; + var handler = this._events.getHandler("propertyChanged"); + if (handler) { + handler(this, new Sys.PropertyChangedEventArgs(propertyName)); + } + } + function Sys$Component$updated() { + } +Sys.Component.prototype = { + _id: null, + _idSet: false, + _initialized: false, + _updating: false, + get_events: Sys$Component$get_events, + get_id: Sys$Component$get_id, + set_id: Sys$Component$set_id, + get_isInitialized: Sys$Component$get_isInitialized, + get_isUpdating: Sys$Component$get_isUpdating, + add_disposing: Sys$Component$add_disposing, + remove_disposing: Sys$Component$remove_disposing, + add_propertyChanged: Sys$Component$add_propertyChanged, + remove_propertyChanged: Sys$Component$remove_propertyChanged, + beginUpdate: Sys$Component$beginUpdate, + dispose: Sys$Component$dispose, + endUpdate: Sys$Component$endUpdate, + initialize: Sys$Component$initialize, + raisePropertyChanged: Sys$Component$raisePropertyChanged, + updated: Sys$Component$updated +} +Sys.Component.registerClass('Sys.Component', null, Sys.IDisposable, Sys.INotifyPropertyChange, Sys.INotifyDisposing); +function Sys$Component$_setProperties(target, properties) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "target"}, + {name: "properties"} + ]); + if (e) throw e; + var current; + var targetType = Object.getType(target); + var isObject = (targetType === Object) || (targetType === Sys.UI.DomElement); + var isComponent = Sys.Component.isInstanceOfType(target) && !target.get_isUpdating(); + if (isComponent) target.beginUpdate(); + for (var name in properties) { + var val = properties[name]; + var getter = isObject ? null : target["get_" + name]; + if (isObject || typeof(getter) !== 'function') { + var targetVal = target[name]; + if (!isObject && typeof(targetVal) === 'undefined') throw Error.invalidOperation(String.format(Sys.Res.propertyUndefined, name)); + if (!val || (typeof(val) !== 'object') || (isObject && !targetVal)) { + target[name] = val; + } + else { + Sys$Component$_setProperties(targetVal, val); + } + } + else { + var setter = target["set_" + name]; + if (typeof(setter) === 'function') { + setter.apply(target, [val]); + } + else if (val instanceof Array) { + current = getter.apply(target); + if (!(current instanceof Array)) throw new Error.invalidOperation(String.format(Sys.Res.propertyNotAnArray, name)); + for (var i = 0, j = current.length, l= val.length; i < l; i++, j++) { + current[j] = val[i]; + } + } + else if ((typeof(val) === 'object') && (Object.getType(val) === Object)) { + current = getter.apply(target); + if ((typeof(current) === 'undefined') || (current === null)) throw new Error.invalidOperation(String.format(Sys.Res.propertyNullOrUndefined, name)); + Sys$Component$_setProperties(current, val); + } + else { + throw new Error.invalidOperation(String.format(Sys.Res.propertyNotWritable, name)); + } + } + } + if (isComponent) target.endUpdate(); +} +function Sys$Component$_setReferences(component, references) { + for (var name in references) { + var setter = component["set_" + name]; + var reference = $find(references[name]); + if (typeof(setter) !== 'function') throw new Error.invalidOperation(String.format(Sys.Res.propertyNotWritable, name)); + if (!reference) throw Error.invalidOperation(String.format(Sys.Res.referenceNotFound, references[name])); + setter.apply(component, [reference]); + } +} +var $create = Sys.Component.create = function Sys$Component$create(type, properties, events, references, element) { + /// + /// + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "type", type: Type}, + {name: "properties", mayBeNull: true, optional: true}, + {name: "events", mayBeNull: true, optional: true}, + {name: "references", mayBeNull: true, optional: true}, + {name: "element", mayBeNull: true, domElement: true, optional: true} + ]); + if (e) throw e; + if (!type.inheritsFrom(Sys.Component)) { + throw Error.argument('type', String.format(Sys.Res.createNotComponent, type.getName())); + } + if (type.inheritsFrom(Sys.UI.Behavior) || type.inheritsFrom(Sys.UI.Control)) { + if (!element) throw Error.argument('element', Sys.Res.createNoDom); + } + else if (element) throw Error.argument('element', Sys.Res.createComponentOnDom); + var component = (element ? new type(element): new type()); + var app = Sys.Application; + var creatingComponents = app.get_isCreatingComponents(); + component.beginUpdate(); + if (properties) { + Sys$Component$_setProperties(component, properties); + } + if (events) { + for (var name in events) { + if (!(component["add_" + name] instanceof Function)) throw new Error.invalidOperation(String.format(Sys.Res.undefinedEvent, name)); + if (!(events[name] instanceof Function)) throw new Error.invalidOperation(Sys.Res.eventHandlerNotFunction); + component["add_" + name](events[name]); + } + } + if (component.get_id()) { + app.addComponent(component); + } + if (creatingComponents) { + app._createdComponents[app._createdComponents.length] = component; + if (references) { + app._addComponentToSecondPass(component, references); + } + else { + component.endUpdate(); + } + } + else { + if (references) { + Sys$Component$_setReferences(component, references); + } + component.endUpdate(); + } + return component; +} + +Sys.UI.MouseButton = function Sys$UI$MouseButton() { + /// + /// + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); +} +Sys.UI.MouseButton.prototype = { + leftButton: 0, + middleButton: 1, + rightButton: 2 +} +Sys.UI.MouseButton.registerEnum("Sys.UI.MouseButton"); + +Sys.UI.Key = function Sys$UI$Key() { + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); +} +Sys.UI.Key.prototype = { + backspace: 8, + tab: 9, + enter: 13, + esc: 27, + space: 32, + pageUp: 33, + pageDown: 34, + end: 35, + home: 36, + left: 37, + up: 38, + right: 39, + down: 40, + del: 127 +} +Sys.UI.Key.registerEnum("Sys.UI.Key"); + +Sys.UI.Point = function Sys$UI$Point(x, y) { + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "x", type: Number, integer: true}, + {name: "y", type: Number, integer: true} + ]); + if (e) throw e; + this.x = x; + this.y = y; +} +Sys.UI.Point.registerClass('Sys.UI.Point'); + +Sys.UI.Bounds = function Sys$UI$Bounds(x, y, width, height) { + /// + /// + /// + /// + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "x", type: Number, integer: true}, + {name: "y", type: Number, integer: true}, + {name: "height", type: Number, integer: true}, + {name: "width", type: Number, integer: true} + ]); + if (e) throw e; + this.x = x; + this.y = y; + this.height = height; + this.width = width; +} +Sys.UI.Bounds.registerClass('Sys.UI.Bounds'); + +Sys.UI.DomEvent = function Sys$UI$DomEvent(eventObject) { + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "eventObject"} + ]); + if (e) throw e; + var e = eventObject; + var etype = this.type = e.type.toLowerCase(); + this.rawEvent = e; + this.altKey = e.altKey; + if (typeof(e.button) !== 'undefined') { + this.button = (typeof(e.which) !== 'undefined') ? e.button : + (e.button === 4) ? Sys.UI.MouseButton.middleButton : + (e.button === 2) ? Sys.UI.MouseButton.rightButton : + Sys.UI.MouseButton.leftButton; + } + if (etype === 'keypress') { + this.charCode = e.charCode || e.keyCode; + } + else if (e.keyCode && (e.keyCode === 46)) { + this.keyCode = 127; + } + else { + this.keyCode = e.keyCode; + } + this.clientX = e.clientX; + this.clientY = e.clientY; + this.ctrlKey = e.ctrlKey; + this.target = e.target ? e.target : e.srcElement; + if (!etype.startsWith('key')) { + if ((typeof(e.offsetX) !== 'undefined') && (typeof(e.offsetY) !== 'undefined')) { + this.offsetX = e.offsetX; + this.offsetY = e.offsetY; + } + else if (this.target && (this.target.nodeType !== 3) && (typeof(e.clientX) === 'number')) { + var loc = Sys.UI.DomElement.getLocation(this.target); + var w = Sys.UI.DomElement._getWindow(this.target); + this.offsetX = (w.pageXOffset || 0) + e.clientX - loc.x; + this.offsetY = (w.pageYOffset || 0) + e.clientY - loc.y; + } + } + this.screenX = e.screenX; + this.screenY = e.screenY; + this.shiftKey = e.shiftKey; +} + function Sys$UI$DomEvent$preventDefault() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (this.rawEvent.preventDefault) { + this.rawEvent.preventDefault(); + } + else if (window.event) { + this.rawEvent.returnValue = false; + } + } + function Sys$UI$DomEvent$stopPropagation() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (this.rawEvent.stopPropagation) { + this.rawEvent.stopPropagation(); + } + else if (window.event) { + this.rawEvent.cancelBubble = true; + } + } +Sys.UI.DomEvent.prototype = { + preventDefault: Sys$UI$DomEvent$preventDefault, + stopPropagation: Sys$UI$DomEvent$stopPropagation +} +Sys.UI.DomEvent.registerClass('Sys.UI.DomEvent'); +var $addHandler = Sys.UI.DomEvent.addHandler = function Sys$UI$DomEvent$addHandler(element, eventName, handler) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element"}, + {name: "eventName", type: String}, + {name: "handler", type: Function} + ]); + if (e) throw e; + Sys.UI.DomEvent._ensureDomNode(element); + if (eventName === "error") throw Error.invalidOperation(Sys.Res.addHandlerCantBeUsedForError); + if (!element._events) { + element._events = {}; + } + var eventCache = element._events[eventName]; + if (!eventCache) { + element._events[eventName] = eventCache = []; + } + var browserHandler; + if (element.addEventListener) { + browserHandler = function(e) { + return handler.call(element, new Sys.UI.DomEvent(e)); + } + element.addEventListener(eventName, browserHandler, false); + } + else if (element.attachEvent) { + browserHandler = function() { + var e = {}; + try {e = Sys.UI.DomElement._getWindow(element).event} catch(ex) {} + return handler.call(element, new Sys.UI.DomEvent(e)); + } + element.attachEvent('on' + eventName, browserHandler); + } + eventCache[eventCache.length] = {handler: handler, browserHandler: browserHandler}; +} +var $addHandlers = Sys.UI.DomEvent.addHandlers = function Sys$UI$DomEvent$addHandlers(element, events, handlerOwner) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element"}, + {name: "events", type: Object}, + {name: "handlerOwner", optional: true} + ]); + if (e) throw e; + Sys.UI.DomEvent._ensureDomNode(element); + for (var name in events) { + var handler = events[name]; + if (typeof(handler) !== 'function') throw Error.invalidOperation(Sys.Res.cantAddNonFunctionhandler); + if (handlerOwner) { + handler = Function.createDelegate(handlerOwner, handler); + } + $addHandler(element, name, handler); + } +} +var $clearHandlers = Sys.UI.DomEvent.clearHandlers = function Sys$UI$DomEvent$clearHandlers(element) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element"} + ]); + if (e) throw e; + Sys.UI.DomEvent._ensureDomNode(element); + if (element._events) { + var cache = element._events; + for (var name in cache) { + var handlers = cache[name]; + for (var i = handlers.length - 1; i >= 0; i--) { + $removeHandler(element, name, handlers[i].handler); + } + } + element._events = null; + } +} +var $removeHandler = Sys.UI.DomEvent.removeHandler = function Sys$UI$DomEvent$removeHandler(element, eventName, handler) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element"}, + {name: "eventName", type: String}, + {name: "handler", type: Function} + ]); + if (e) throw e; + Sys.UI.DomEvent._ensureDomNode(element); + var browserHandler = null; + if ((typeof(element._events) !== 'object') || (element._events == null)) throw Error.invalidOperation(Sys.Res.eventHandlerInvalid); + var cache = element._events[eventName]; + if (!(cache instanceof Array)) throw Error.invalidOperation(Sys.Res.eventHandlerInvalid); + for (var i = 0, l = cache.length; i < l; i++) { + if (cache[i].handler === handler) { + browserHandler = cache[i].browserHandler; + break; + } + } + if (typeof(browserHandler) !== 'function') throw Error.invalidOperation(Sys.Res.eventHandlerInvalid); + if (element.removeEventListener) { + element.removeEventListener(eventName, browserHandler, false); + } + else if (element.detachEvent) { + element.detachEvent('on' + eventName, browserHandler); + } + cache.splice(i, 1); +} +Sys.UI.DomEvent._ensureDomNode = function Sys$UI$DomEvent$_ensureDomNode(element) { + if (element.tagName && (element.tagName.toUpperCase() === "SCRIPT")) return; + + var doc = element.ownerDocument || element.document || element; + if ((typeof(element.document) !== 'object') && (element != doc) && (typeof(element.nodeType) !== 'number')) { + throw Error.argument("element", Sys.Res.argumentDomNode); + } +} + +Sys.UI.DomElement = function Sys$UI$DomElement() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); +} +Sys.UI.DomElement.registerClass('Sys.UI.DomElement'); +Sys.UI.DomElement.addCssClass = function Sys$UI$DomElement$addCssClass(element, className) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true}, + {name: "className", type: String} + ]); + if (e) throw e; + if (!Sys.UI.DomElement.containsCssClass(element, className)) { + if (element.className === '') { + element.className = className; + } + else { + element.className += ' ' + className; + } + } +} +Sys.UI.DomElement.containsCssClass = function Sys$UI$DomElement$containsCssClass(element, className) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true}, + {name: "className", type: String} + ]); + if (e) throw e; + return Array.contains(element.className.split(' '), className); +} +Sys.UI.DomElement.getBounds = function Sys$UI$DomElement$getBounds(element) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true} + ]); + if (e) throw e; + var offset = Sys.UI.DomElement.getLocation(element); + return new Sys.UI.Bounds(offset.x, offset.y, element.offsetWidth || 0, element.offsetHeight || 0); +} +var $get = Sys.UI.DomElement.getElementById = function Sys$UI$DomElement$getElementById(id, element) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "id", type: String}, + {name: "element", mayBeNull: true, domElement: true, optional: true} + ]); + if (e) throw e; + if (!element) return document.getElementById(id); + if (element.getElementById) return element.getElementById(id); + var nodeQueue = []; + var childNodes = element.childNodes; + for (var i = 0; i < childNodes.length; i++) { + var node = childNodes[i]; + if (node.nodeType == 1) { + nodeQueue[nodeQueue.length] = node; + } + } + while (nodeQueue.length) { + node = nodeQueue.shift(); + if (node.id == id) { + return node; + } + childNodes = node.childNodes; + for (i = 0; i < childNodes.length; i++) { + node = childNodes[i]; + if (node.nodeType == 1) { + nodeQueue[nodeQueue.length] = node; + } + } + } + return null; +} +switch(Sys.Browser.agent) { + case Sys.Browser.InternetExplorer: + Sys.UI.DomElement.getLocation = function Sys$UI$DomElement$getLocation(element) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true} + ]); + if (e) throw e; + if (element.self || element.nodeType === 9) return new Sys.UI.Point(0,0); + var clientRect = element.getBoundingClientRect(); + if (!clientRect) { + return new Sys.UI.Point(0,0); + } + var documentElement = element.ownerDocument.documentElement; + var offsetX = clientRect.left - 2 + documentElement.scrollLeft, + offsetY = clientRect.top - 2 + documentElement.scrollTop; + + try { + var f = element.ownerDocument.parentWindow.frameElement || null; + if (f) { + var offset = (f.frameBorder === "0" || f.frameBorder === "no") ? 2 : 0; + offsetX += offset; + offsetY += offset; + } + } + catch(ex) { + } + + return new Sys.UI.Point(offsetX, offsetY); + } + break; + case Sys.Browser.Safari: + Sys.UI.DomElement.getLocation = function Sys$UI$DomElement$getLocation(element) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true} + ]); + if (e) throw e; + if ((element.window && (element.window === element)) || element.nodeType === 9) return new Sys.UI.Point(0,0); + var offsetX = 0; + var offsetY = 0; + var previous = null; + var previousStyle = null; + var currentStyle; + for (var parent = element; parent; previous = parent, previousStyle = currentStyle, parent = parent.offsetParent) { + currentStyle = Sys.UI.DomElement._getCurrentStyle(parent); + var tagName = parent.tagName ? parent.tagName.toUpperCase() : null; + if ((parent.offsetLeft || parent.offsetTop) && + ((tagName !== "BODY") || (!previousStyle || previousStyle.position !== "absolute"))) { + offsetX += parent.offsetLeft; + offsetY += parent.offsetTop; + } + } + currentStyle = Sys.UI.DomElement._getCurrentStyle(element); + var elementPosition = currentStyle ? currentStyle.position : null; + if (!elementPosition || (elementPosition !== "absolute")) { + for (var parent = element.parentNode; parent; parent = parent.parentNode) { + tagName = parent.tagName ? parent.tagName.toUpperCase() : null; + if ((tagName !== "BODY") && (tagName !== "HTML") && (parent.scrollLeft || parent.scrollTop)) { + offsetX -= (parent.scrollLeft || 0); + offsetY -= (parent.scrollTop || 0); + } + currentStyle = Sys.UI.DomElement._getCurrentStyle(parent); + var parentPosition = currentStyle ? currentStyle.position : null; + if (parentPosition && (parentPosition === "absolute")) break; + } + } + return new Sys.UI.Point(offsetX, offsetY); + } + break; + case Sys.Browser.Opera: + Sys.UI.DomElement.getLocation = function Sys$UI$DomElement$getLocation(element) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true} + ]); + if (e) throw e; + if ((element.window && (element.window === element)) || element.nodeType === 9) return new Sys.UI.Point(0,0); + var offsetX = 0; + var offsetY = 0; + var previous = null; + for (var parent = element; parent; previous = parent, parent = parent.offsetParent) { + var tagName = parent.tagName; + offsetX += parent.offsetLeft || 0; + offsetY += parent.offsetTop || 0; + } + var elementPosition = element.style.position; + var elementPositioned = elementPosition && (elementPosition !== "static"); + for (var parent = element.parentNode; parent; parent = parent.parentNode) { + tagName = parent.tagName ? parent.tagName.toUpperCase() : null; + if ((tagName !== "BODY") && (tagName !== "HTML") && (parent.scrollLeft || parent.scrollTop) && + ((elementPositioned && + ((parent.style.overflow === "scroll") || (parent.style.overflow === "auto"))))) { + offsetX -= (parent.scrollLeft || 0); + offsetY -= (parent.scrollTop || 0); + } + var parentPosition = (parent && parent.style) ? parent.style.position : null; + elementPositioned = elementPositioned || (parentPosition && (parentPosition !== "static")); + } + return new Sys.UI.Point(offsetX, offsetY); + } + break; + default: + Sys.UI.DomElement.getLocation = function Sys$UI$DomElement$getLocation(element) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true} + ]); + if (e) throw e; + if ((element.window && (element.window === element)) || element.nodeType === 9) return new Sys.UI.Point(0,0); + var offsetX = 0; + var offsetY = 0; + var previous = null; + var previousStyle = null; + var currentStyle = null; + for (var parent = element; parent; previous = parent, previousStyle = currentStyle, parent = parent.offsetParent) { + var tagName = parent.tagName ? parent.tagName.toUpperCase() : null; + currentStyle = Sys.UI.DomElement._getCurrentStyle(parent); + if ((parent.offsetLeft || parent.offsetTop) && + !((tagName === "BODY") && + (!previousStyle || previousStyle.position !== "absolute"))) { + offsetX += parent.offsetLeft; + offsetY += parent.offsetTop; + } + if (previous !== null && currentStyle) { + if ((tagName !== "TABLE") && (tagName !== "TD") && (tagName !== "HTML")) { + offsetX += parseInt(currentStyle.borderLeftWidth) || 0; + offsetY += parseInt(currentStyle.borderTopWidth) || 0; + } + if (tagName === "TABLE" && + (currentStyle.position === "relative" || currentStyle.position === "absolute")) { + offsetX += parseInt(currentStyle.marginLeft) || 0; + offsetY += parseInt(currentStyle.marginTop) || 0; + } + } + } + currentStyle = Sys.UI.DomElement._getCurrentStyle(element); + var elementPosition = currentStyle ? currentStyle.position : null; + if (!elementPosition || (elementPosition !== "absolute")) { + for (var parent = element.parentNode; parent; parent = parent.parentNode) { + tagName = parent.tagName ? parent.tagName.toUpperCase() : null; + if ((tagName !== "BODY") && (tagName !== "HTML") && (parent.scrollLeft || parent.scrollTop)) { + offsetX -= (parent.scrollLeft || 0); + offsetY -= (parent.scrollTop || 0); + currentStyle = Sys.UI.DomElement._getCurrentStyle(parent); + if (currentStyle) { + offsetX += parseInt(currentStyle.borderLeftWidth) || 0; + offsetY += parseInt(currentStyle.borderTopWidth) || 0; + } + } + } + } + return new Sys.UI.Point(offsetX, offsetY); + } + break; +} +Sys.UI.DomElement.removeCssClass = function Sys$UI$DomElement$removeCssClass(element, className) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true}, + {name: "className", type: String} + ]); + if (e) throw e; + var currentClassName = ' ' + element.className + ' '; + var index = currentClassName.indexOf(' ' + className + ' '); + if (index >= 0) { + element.className = (currentClassName.substr(0, index) + ' ' + + currentClassName.substring(index + className.length + 1, currentClassName.length)).trim(); + } +} +Sys.UI.DomElement.setLocation = function Sys$UI$DomElement$setLocation(element, x, y) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true}, + {name: "x", type: Number, integer: true}, + {name: "y", type: Number, integer: true} + ]); + if (e) throw e; + var style = element.style; + style.position = 'absolute'; + style.left = x + "px"; + style.top = y + "px"; +} +Sys.UI.DomElement.toggleCssClass = function Sys$UI$DomElement$toggleCssClass(element, className) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true}, + {name: "className", type: String} + ]); + if (e) throw e; + if (Sys.UI.DomElement.containsCssClass(element, className)) { + Sys.UI.DomElement.removeCssClass(element, className); + } + else { + Sys.UI.DomElement.addCssClass(element, className); + } +} +Sys.UI.DomElement.getVisibilityMode = function Sys$UI$DomElement$getVisibilityMode(element) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true} + ]); + if (e) throw e; + return (element._visibilityMode === Sys.UI.VisibilityMode.hide) ? + Sys.UI.VisibilityMode.hide : + Sys.UI.VisibilityMode.collapse; +} +Sys.UI.DomElement.setVisibilityMode = function Sys$UI$DomElement$setVisibilityMode(element, value) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true}, + {name: "value", type: Sys.UI.VisibilityMode} + ]); + if (e) throw e; + Sys.UI.DomElement._ensureOldDisplayMode(element); + if (element._visibilityMode !== value) { + element._visibilityMode = value; + if (Sys.UI.DomElement.getVisible(element) === false) { + if (element._visibilityMode === Sys.UI.VisibilityMode.hide) { + element.style.display = element._oldDisplayMode; + } + else { + element.style.display = 'none'; + } + } + element._visibilityMode = value; + } +} +Sys.UI.DomElement.getVisible = function Sys$UI$DomElement$getVisible(element) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true} + ]); + if (e) throw e; + var style = element.currentStyle || Sys.UI.DomElement._getCurrentStyle(element); + if (!style) return true; + return (style.visibility !== 'hidden') && (style.display !== 'none'); +} +Sys.UI.DomElement.setVisible = function Sys$UI$DomElement$setVisible(element, value) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true}, + {name: "value", type: Boolean} + ]); + if (e) throw e; + if (value !== Sys.UI.DomElement.getVisible(element)) { + Sys.UI.DomElement._ensureOldDisplayMode(element); + element.style.visibility = value ? 'visible' : 'hidden'; + if (value || (element._visibilityMode === Sys.UI.VisibilityMode.hide)) { + element.style.display = element._oldDisplayMode; + } + else { + element.style.display = 'none'; + } + } +} +Sys.UI.DomElement._ensureOldDisplayMode = function Sys$UI$DomElement$_ensureOldDisplayMode(element) { + if (!element._oldDisplayMode) { + var style = element.currentStyle || Sys.UI.DomElement._getCurrentStyle(element); + element._oldDisplayMode = style ? style.display : null; + if (!element._oldDisplayMode || element._oldDisplayMode === 'none') { + switch(element.tagName.toUpperCase()) { + case 'DIV': case 'P': case 'ADDRESS': case 'BLOCKQUOTE': case 'BODY': case 'COL': + case 'COLGROUP': case 'DD': case 'DL': case 'DT': case 'FIELDSET': case 'FORM': + case 'H1': case 'H2': case 'H3': case 'H4': case 'H5': case 'H6': case 'HR': + case 'IFRAME': case 'LEGEND': case 'OL': case 'PRE': case 'TABLE': case 'TD': + case 'TH': case 'TR': case 'UL': + element._oldDisplayMode = 'block'; + break; + case 'LI': + element._oldDisplayMode = 'list-item'; + break; + default: + element._oldDisplayMode = 'inline'; + } + } + } +} +Sys.UI.DomElement._getWindow = function Sys$UI$DomElement$_getWindow(element) { + var doc = element.ownerDocument || element.document || element; + return doc.defaultView || doc.parentWindow; +} +Sys.UI.DomElement._getCurrentStyle = function Sys$UI$DomElement$_getCurrentStyle(element) { + if (element.nodeType === 3) return null; + var w = Sys.UI.DomElement._getWindow(element); + if (element.documentElement) element = element.documentElement; + var computedStyle = (w && (element !== w) && w.getComputedStyle) ? + w.getComputedStyle(element, null) : + element.currentStyle || element.style; + if (!computedStyle && (Sys.Browser.agent === Sys.Browser.Safari) && element.style) { + var oldDisplay = element.style.display; + var oldPosition = element.style.position; + element.style.position = 'absolute'; + element.style.display = 'block'; + var style = w.getComputedStyle(element, null); + element.style.display = oldDisplay; + element.style.position = oldPosition; + computedStyle = {}; + for (var n in style) { + computedStyle[n] = style[n]; + } + computedStyle.display = 'none'; + } + return computedStyle; +} + +Sys.IContainer = function Sys$IContainer() { + throw Error.notImplemented(); +} + function Sys$IContainer$addComponent(component) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "component", type: Sys.Component} + ]); + if (e) throw e; + throw Error.notImplemented(); + } + function Sys$IContainer$removeComponent(component) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "component", type: Sys.Component} + ]); + if (e) throw e; + throw Error.notImplemented(); + } + function Sys$IContainer$findComponent(id) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "id", type: String} + ]); + if (e) throw e; + throw Error.notImplemented(); + } + function Sys$IContainer$getComponents() { + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); + } +Sys.IContainer.prototype = { + addComponent: Sys$IContainer$addComponent, + removeComponent: Sys$IContainer$removeComponent, + findComponent: Sys$IContainer$findComponent, + getComponents: Sys$IContainer$getComponents +} +Sys.IContainer.registerInterface("Sys.IContainer"); + +Sys._ScriptLoader = function Sys$_ScriptLoader() { + this._scriptsToLoad = null; + this._sessions = []; + this._scriptLoadedDelegate = Function.createDelegate(this, this._scriptLoadedHandler); +} + function Sys$_ScriptLoader$dispose() { + this._stopSession(); + this._loading = false; + if(this._events) { + delete this._events; + } + this._sessions = null; + this._currentSession = null; + this._scriptLoadedDelegate = null; + } + function Sys$_ScriptLoader$loadScripts(scriptTimeout, allScriptsLoadedCallback, scriptLoadFailedCallback, scriptLoadTimeoutCallback) { + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "scriptTimeout", type: Number, integer: true}, + {name: "allScriptsLoadedCallback", type: Function, mayBeNull: true}, + {name: "scriptLoadFailedCallback", type: Function, mayBeNull: true}, + {name: "scriptLoadTimeoutCallback", type: Function, mayBeNull: true} + ]); + if (e) throw e; + var session = { + allScriptsLoadedCallback: allScriptsLoadedCallback, + scriptLoadFailedCallback: scriptLoadFailedCallback, + scriptLoadTimeoutCallback: scriptLoadTimeoutCallback, + scriptsToLoad: this._scriptsToLoad, + scriptTimeout: scriptTimeout }; + this._scriptsToLoad = null; + this._sessions[this._sessions.length] = session; + + if (!this._loading) { + this._nextSession(); + } + } + function Sys$_ScriptLoader$notifyScriptLoaded() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + + if(!this._loading) { + return; + } + this._currentTask._notified++; + + if(Sys.Browser.agent === Sys.Browser.Safari) { + if(this._currentTask._notified === 1) { + window.setTimeout(Function.createDelegate(this, function() { + this._scriptLoadedHandler(this._currentTask.get_scriptElement(), true); + }), 0); + } + } + } + function Sys$_ScriptLoader$queueCustomScriptTag(scriptAttributes) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "scriptAttributes"} + ]); + if (e) throw e; + if(!this._scriptsToLoad) { + this._scriptsToLoad = []; + } + Array.add(this._scriptsToLoad, scriptAttributes); + } + function Sys$_ScriptLoader$queueScriptBlock(scriptContent) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "scriptContent", type: String} + ]); + if (e) throw e; + if(!this._scriptsToLoad) { + this._scriptsToLoad = []; + } + Array.add(this._scriptsToLoad, {text: scriptContent}); + } + function Sys$_ScriptLoader$queueScriptReference(scriptUrl) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "scriptUrl", type: String} + ]); + if (e) throw e; + if(!this._scriptsToLoad) { + this._scriptsToLoad = []; + } + Array.add(this._scriptsToLoad, {src: scriptUrl}); + } + function Sys$_ScriptLoader$_createScriptElement(queuedScript) { + var scriptElement = document.createElement('script'); + scriptElement.type = 'text/javascript'; + for (var attr in queuedScript) { + scriptElement[attr] = queuedScript[attr]; + } + + return scriptElement; + } + function Sys$_ScriptLoader$_loadScriptsInternal() { + var session = this._currentSession; + if (session.scriptsToLoad && session.scriptsToLoad.length > 0) { + var nextScript = Array.dequeue(session.scriptsToLoad); + var scriptElement = this._createScriptElement(nextScript); + + if (scriptElement.text && Sys.Browser.agent === Sys.Browser.Safari) { + scriptElement.innerHTML = scriptElement.text; + delete scriptElement.text; + } + if (typeof(nextScript.src) === "string") { + this._currentTask = new Sys._ScriptLoaderTask(scriptElement, this._scriptLoadedDelegate); + this._currentTask.execute(); + } + else { + var headElements = document.getElementsByTagName('head'); + if (headElements.length === 0) { + throw new Error.invalidOperation(Sys.Res.scriptLoadFailedNoHead); + } + else { + headElements[0].appendChild(scriptElement); + } + + + Sys._ScriptLoader._clearScript(scriptElement); + this._loadScriptsInternal(); + } + } + else { + this._stopSession(); + var callback = session.allScriptsLoadedCallback; + if(callback) { + callback(this); + } + this._nextSession(); + } + } + function Sys$_ScriptLoader$_nextSession() { + if (this._sessions.length === 0) { + this._loading = false; + this._currentSession = null; + return; + } + this._loading = true; + + var session = Array.dequeue(this._sessions); + this._currentSession = session; + this._loadScriptsInternal(); + } + function Sys$_ScriptLoader$_raiseError(multipleCallbacks) { + var callback = this._currentSession.scriptLoadFailedCallback; + var scriptElement = this._currentTask.get_scriptElement(); + this._stopSession(); + + if(callback) { + callback(this, scriptElement, multipleCallbacks); + this._nextSession(); + } + else { + this._loading = false; + throw Sys._ScriptLoader._errorScriptLoadFailed(scriptElement.src, multipleCallbacks); + } + } + function Sys$_ScriptLoader$_scriptLoadedHandler(scriptElement, loaded) { + if(loaded && this._currentTask._notified) { + if(this._currentTask._notified > 1) { + this._raiseError(true); + } + else { + Array.add(Sys._ScriptLoader._getLoadedScripts(), scriptElement.src); + this._currentTask.dispose(); + this._currentTask = null; + this._loadScriptsInternal(); + } + } + else { + this._raiseError(false); + } + } + function Sys$_ScriptLoader$_scriptLoadTimeoutHandler() { + var callback = this._currentSession.scriptLoadTimeoutCallback; + this._stopSession(); + if(callback) { + callback(this); + } + this._nextSession(); + } + function Sys$_ScriptLoader$_stopSession() { + if(this._currentTask) { + this._currentTask.dispose(); + this._currentTask = null; + } + } +Sys._ScriptLoader.prototype = { + dispose: Sys$_ScriptLoader$dispose, + loadScripts: Sys$_ScriptLoader$loadScripts, + notifyScriptLoaded: Sys$_ScriptLoader$notifyScriptLoaded, + queueCustomScriptTag: Sys$_ScriptLoader$queueCustomScriptTag, + queueScriptBlock: Sys$_ScriptLoader$queueScriptBlock, + queueScriptReference: Sys$_ScriptLoader$queueScriptReference, + _createScriptElement: Sys$_ScriptLoader$_createScriptElement, + _loadScriptsInternal: Sys$_ScriptLoader$_loadScriptsInternal, + _nextSession: Sys$_ScriptLoader$_nextSession, + _raiseError: Sys$_ScriptLoader$_raiseError, + _scriptLoadedHandler: Sys$_ScriptLoader$_scriptLoadedHandler, + _scriptLoadTimeoutHandler: Sys$_ScriptLoader$_scriptLoadTimeoutHandler, + _stopSession: Sys$_ScriptLoader$_stopSession +} +Sys._ScriptLoader.registerClass('Sys._ScriptLoader', null, Sys.IDisposable); +Sys._ScriptLoader.getInstance = function Sys$_ScriptLoader$getInstance() { + var sl = Sys._ScriptLoader._activeInstance; + if(!sl) { + sl = Sys._ScriptLoader._activeInstance = new Sys._ScriptLoader(); + } + return sl; +} +Sys._ScriptLoader.isScriptLoaded = function Sys$_ScriptLoader$isScriptLoaded(scriptSrc) { + var dummyScript = document.createElement('script'); + dummyScript.src = scriptSrc; + return Array.contains(Sys._ScriptLoader._getLoadedScripts(), dummyScript.src); +} +Sys._ScriptLoader.readLoadedScripts = function Sys$_ScriptLoader$readLoadedScripts() { + if(!Sys._ScriptLoader._referencedScripts) { + var referencedScripts = Sys._ScriptLoader._referencedScripts = []; + var existingScripts = document.getElementsByTagName('script'); + for (i = existingScripts.length - 1; i >= 0; i--) { + var scriptNode = existingScripts[i]; + var scriptSrc = scriptNode.src; + if (scriptSrc.length) { + if (!Array.contains(referencedScripts, scriptSrc)) { + Array.add(referencedScripts, scriptSrc); + } + } + } + } +} +Sys._ScriptLoader._clearScript = function Sys$_ScriptLoader$_clearScript(scriptElement) { + if (!Sys.Debug.isDebug) { + scriptElement.parentNode.removeChild(scriptElement); + } +} +Sys._ScriptLoader._errorScriptLoadFailed = function Sys$_ScriptLoader$_errorScriptLoadFailed(scriptUrl, multipleCallbacks) { + var errorMessage; + if(multipleCallbacks) { + errorMessage = Sys.Res.scriptLoadMultipleCallbacks; + } + else { + errorMessage = Sys.Res.scriptLoadFailedDebug; + } + var displayMessage = "Sys.ScriptLoadFailedException: " + String.format(errorMessage, scriptUrl); + var e = Error.create(displayMessage, {name: 'Sys.ScriptLoadFailedException', 'scriptUrl': scriptUrl }); + e.popStackFrame(); + return e; +} +Sys._ScriptLoader._getLoadedScripts = function Sys$_ScriptLoader$_getLoadedScripts() { + if(!Sys._ScriptLoader._referencedScripts) { + Sys._ScriptLoader._referencedScripts = []; + Sys._ScriptLoader.readLoadedScripts(); + } + return Sys._ScriptLoader._referencedScripts; +} + +Sys._ScriptLoaderTask = function Sys$_ScriptLoaderTask(scriptElement, completedCallback) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "scriptElement", domElement: true}, + {name: "completedCallback", type: Function} + ]); + if (e) throw e; + this._scriptElement = scriptElement; + this._completedCallback = completedCallback; + this._notified = 0; +} + function Sys$_ScriptLoaderTask$get_scriptElement() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._scriptElement; + } + function Sys$_ScriptLoaderTask$dispose() { + if(this._disposed) { + return; + } + this._disposed = true; + this._removeScriptElementHandlers(); + Sys._ScriptLoader._clearScript(this._scriptElement); + this._scriptElement = null; + } + function Sys$_ScriptLoaderTask$execute() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + this._addScriptElementHandlers(); + var headElements = document.getElementsByTagName('head'); + if (headElements.length === 0) { + throw new Error.invalidOperation(Sys.Res.scriptLoadFailedNoHead); + } + else { + headElements[0].appendChild(this._scriptElement); + } + } + function Sys$_ScriptLoaderTask$_addScriptElementHandlers() { + this._scriptLoadDelegate = Function.createDelegate(this, this._scriptLoadHandler); + + if (Sys.Browser.agent !== Sys.Browser.InternetExplorer) { + this._scriptElement.readyState = 'loaded'; + $addHandler(this._scriptElement, 'load', this._scriptLoadDelegate); + } + else { + $addHandler(this._scriptElement, 'readystatechange', this._scriptLoadDelegate); + } + if (this._scriptElement.addEventListener) { + this._scriptErrorDelegate = Function.createDelegate(this, this._scriptErrorHandler); + this._scriptElement.addEventListener('error', this._scriptErrorDelegate, false); + } + } + function Sys$_ScriptLoaderTask$_removeScriptElementHandlers() { + if(this._scriptLoadDelegate) { + var scriptElement = this.get_scriptElement(); + if (Sys.Browser.agent !== Sys.Browser.InternetExplorer) { + $removeHandler(scriptElement, 'load', this._scriptLoadDelegate); + } + else { + $removeHandler(scriptElement, 'readystatechange', this._scriptLoadDelegate); + } + if (this._scriptErrorDelegate) { + this._scriptElement.removeEventListener('error', this._scriptErrorDelegate, false); + this._scriptErrorDelegate = null; + } + this._scriptLoadDelegate = null; + } + } + function Sys$_ScriptLoaderTask$_scriptErrorHandler() { + if(this._disposed) { + return; + } + + this._completedCallback(this.get_scriptElement(), false); + } + function Sys$_ScriptLoaderTask$_scriptLoadHandler() { + if(this._disposed) { + return; + } + var scriptElement = this.get_scriptElement(); + if ((scriptElement.readyState !== 'loaded') && + (scriptElement.readyState !== 'complete')) { + return; + } + + var _this = this; + window.setTimeout(function() { + _this._completedCallback(scriptElement, true); + }, 0); + } +Sys._ScriptLoaderTask.prototype = { + get_scriptElement: Sys$_ScriptLoaderTask$get_scriptElement, + dispose: Sys$_ScriptLoaderTask$dispose, + execute: Sys$_ScriptLoaderTask$execute, + _addScriptElementHandlers: Sys$_ScriptLoaderTask$_addScriptElementHandlers, + _removeScriptElementHandlers: Sys$_ScriptLoaderTask$_removeScriptElementHandlers, + _scriptErrorHandler: Sys$_ScriptLoaderTask$_scriptErrorHandler, + _scriptLoadHandler: Sys$_ScriptLoaderTask$_scriptLoadHandler +} +Sys._ScriptLoaderTask.registerClass("Sys._ScriptLoaderTask", null, Sys.IDisposable); + +Sys.ApplicationLoadEventArgs = function Sys$ApplicationLoadEventArgs(components, isPartialLoad) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "components", type: Array, elementType: Sys.Component}, + {name: "isPartialLoad", type: Boolean} + ]); + if (e) throw e; + Sys.ApplicationLoadEventArgs.initializeBase(this); + this._components = components; + this._isPartialLoad = isPartialLoad; +} + + function Sys$ApplicationLoadEventArgs$get_components() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._components; + } + function Sys$ApplicationLoadEventArgs$get_isPartialLoad() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._isPartialLoad; + } +Sys.ApplicationLoadEventArgs.prototype = { + get_components: Sys$ApplicationLoadEventArgs$get_components, + get_isPartialLoad: Sys$ApplicationLoadEventArgs$get_isPartialLoad +} +Sys.ApplicationLoadEventArgs.registerClass('Sys.ApplicationLoadEventArgs', Sys.EventArgs); +Sys.HistoryEventArgs = function Sys$HistoryEventArgs(state) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "state", type: Object} + ]); + if (e) throw e; + Sys.HistoryEventArgs.initializeBase(this); + this._state = state; +} + function Sys$HistoryEventArgs$get_state() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._state; + } +Sys.HistoryEventArgs.prototype = { + get_state: Sys$HistoryEventArgs$get_state +} +Sys.HistoryEventArgs.registerClass('Sys.HistoryEventArgs', Sys.EventArgs); + +Sys._Application = function Sys$_Application() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + Sys._Application.initializeBase(this); + this._disposableObjects = []; + this._components = {}; + this._createdComponents = []; + this._secondPassComponents = []; + this._appLoadHandler = null; + this._beginRequestHandler = null; + this._clientId = null; + this._currentEntry = ''; + this._endRequestHandler = null; + this._history = null; + this._enableHistory = false; + this._historyEnabledInScriptManager = false; + this._historyFrame = null; + this._historyInitialized = false; + this._historyInitialLength = 0; + this._historyLength = 0; + this._historyPointIsNew = false; + this._ignoreTimer = false; + this._initialState = null; + this._state = {}; + this._timerCookie = 0; + this._timerHandler = null; + this._uniqueId = null; + this._unloadHandlerDelegate = Function.createDelegate(this, this._unloadHandler); + this._loadHandlerDelegate = Function.createDelegate(this, this._loadHandler); + Sys.UI.DomEvent.addHandler(window, "unload", this._unloadHandlerDelegate); + Sys.UI.DomEvent.addHandler(window, "load", this._loadHandlerDelegate); +} + function Sys$_Application$get_isCreatingComponents() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._creatingComponents; + } + function Sys$_Application$get_stateString() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + var hash = window.location.hash; + if (this._isSafari2()) { + var history = this._getHistory(); + if (history) { + hash = history[window.history.length - this._historyInitialLength]; + } + } + if ((hash.length > 0) && (hash.charAt(0) === '#')) { + hash = hash.substring(1); + } + if (Sys.Browser.agent === Sys.Browser.Firefox) { + hash = this._serializeState(this._deserializeState(hash, true)); + } + return hash; + } + function Sys$_Application$get_enableHistory() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._enableHistory; + } + function Sys$_Application$set_enableHistory(value) { + var e = Function._validateParams(arguments, [{name: "value", type: Boolean}]); + if (e) throw e; + if (this._initialized && !this._initializing) { + throw Error.invalidOperation(Sys.Res.historyCannotEnableHistory); + } + else if (this._historyEnabledInScriptManager && !value) { + throw Error.invalidOperation(Sys.Res.invalidHistorySettingCombination); + } + this._enableHistory = value; + } + function Sys$_Application$add_init(handler) { + /// + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + if (this._initialized) { + handler(this, Sys.EventArgs.Empty); + } + else { + this.get_events().addHandler("init", handler); + } + } + function Sys$_Application$remove_init(handler) { + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this.get_events().removeHandler("init", handler); + } + function Sys$_Application$add_load(handler) { + /// + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this.get_events().addHandler("load", handler); + } + function Sys$_Application$remove_load(handler) { + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this.get_events().removeHandler("load", handler); + } + function Sys$_Application$add_navigate(handler) { + /// + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this.get_events().addHandler("navigate", handler); + } + function Sys$_Application$remove_navigate(handler) { + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this.get_events().removeHandler("navigate", handler); + } + function Sys$_Application$add_unload(handler) { + /// + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this.get_events().addHandler("unload", handler); + } + function Sys$_Application$remove_unload(handler) { + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this.get_events().removeHandler("unload", handler); + } + function Sys$_Application$addComponent(component) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "component", type: Sys.Component} + ]); + if (e) throw e; + var id = component.get_id(); + if (!id) throw Error.invalidOperation(Sys.Res.cantAddWithoutId); + if (typeof(this._components[id]) !== 'undefined') throw Error.invalidOperation(String.format(Sys.Res.appDuplicateComponent, id)); + this._components[id] = component; + } + function Sys$_Application$addHistoryPoint(state, title) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "state", type: Object}, + {name: "title", type: String, mayBeNull: true, optional: true} + ]); + if (e) throw e; + if (!this._enableHistory) throw Error.invalidOperation(Sys.Res.historyCannotAddHistoryPointWithHistoryDisabled); + for (var n in state) { + var v = state[n]; + var t = typeof(v); + if ((v !== null) && ((t === 'object') || (t === 'function') || (t === 'undefined'))) { + throw Error.argument('state', Sys.Res.stateMustBeStringDictionary); + } + } + this._ensureHistory(); + var initialState = this._state; + for (var key in state) { + var value = state[key]; + if (value === null) { + if (typeof(initialState[key]) !== 'undefined') { + delete initialState[key]; + } + } + else { + initialState[key] = value; + } + } + var entry = this._serializeState(initialState); + this._historyPointIsNew = true; + this._setState(entry, title); + this._raiseNavigate(); + } + function Sys$_Application$beginCreateComponents() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + this._creatingComponents = true; + } + function Sys$_Application$dispose() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (!this._disposing) { + this._disposing = true; + if (this._timerCookie) { + window.clearTimeout(this._timerCookie); + delete this._timerCookie; + } + if (this._endRequestHandler) { + Sys.WebForms.PageRequestManager.getInstance().remove_endRequest(this._endRequestHandler); + delete this._endRequestHandler; + } + if (this._beginRequestHandler) { + Sys.WebForms.PageRequestManager.getInstance().remove_beginRequest(this._beginRequestHandler); + delete this._beginRequestHandler; + } + if (window.pageUnload) { + window.pageUnload(this, Sys.EventArgs.Empty); + } + var unloadHandler = this.get_events().getHandler("unload"); + if (unloadHandler) { + unloadHandler(this, Sys.EventArgs.Empty); + } + var disposableObjects = Array.clone(this._disposableObjects); + for (var i = 0, l = disposableObjects.length; i < l; i++) { + disposableObjects[i].dispose(); + } + Array.clear(this._disposableObjects); + Sys.UI.DomEvent.removeHandler(window, "unload", this._unloadHandlerDelegate); + if(this._loadHandlerDelegate) { + Sys.UI.DomEvent.removeHandler(window, "load", this._loadHandlerDelegate); + this._loadHandlerDelegate = null; + } + var sl = Sys._ScriptLoader.getInstance(); + if(sl) { + sl.dispose(); + } + Sys._Application.callBaseMethod(this, 'dispose'); + } + } + function Sys$_Application$endCreateComponents() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + var components = this._secondPassComponents; + for (var i = 0, l = components.length; i < l; i++) { + var component = components[i].component; + Sys$Component$_setReferences(component, components[i].references); + component.endUpdate(); + } + this._secondPassComponents = []; + this._creatingComponents = false; + } + function Sys$_Application$findComponent(id, parent) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "id", type: String}, + {name: "parent", mayBeNull: true, optional: true} + ]); + if (e) throw e; + return (parent ? + ((Sys.IContainer.isInstanceOfType(parent)) ? + parent.findComponent(id) : + parent[id] || null) : + Sys.Application._components[id] || null); + } + function Sys$_Application$getComponents() { + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + var res = []; + var components = this._components; + for (var name in components) { + res[res.length] = components[name]; + } + return res; + } + function Sys$_Application$initialize() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if(!this._initialized && !this._initializing) { + this._initializing = true; + window.setTimeout(Function.createDelegate(this, this._doInitialize), 0); + } + } + function Sys$_Application$notifyScriptLoaded() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + var sl = Sys._ScriptLoader.getInstance(); + if(sl) { + sl.notifyScriptLoaded(); + } + } + function Sys$_Application$registerDisposableObject(object) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "object", type: Sys.IDisposable} + ]); + if (e) throw e; + if (!this._disposing) { + this._disposableObjects[this._disposableObjects.length] = object; + } + } + function Sys$_Application$raiseLoad() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + var h = this.get_events().getHandler("load"); + var args = new Sys.ApplicationLoadEventArgs(Array.clone(this._createdComponents), !this._initializing); + if (h) { + h(this, args); + } + if (window.pageLoad) { + window.pageLoad(this, args); + } + this._createdComponents = []; + } + function Sys$_Application$removeComponent(component) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "component", type: Sys.Component} + ]); + if (e) throw e; + var id = component.get_id(); + if (id) delete this._components[id]; + } + function Sys$_Application$setServerId(clientId, uniqueId) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "clientId", type: String}, + {name: "uniqueId", type: String} + ]); + if (e) throw e; + this._clientId = clientId; + this._uniqueId = uniqueId; + } + function Sys$_Application$setServerState(value) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "value", type: String} + ]); + if (e) throw e; + this._ensureHistory(); + this._state.__s = value; + this._updateHiddenField(value); + } + function Sys$_Application$unregisterDisposableObject(object) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "object", type: Sys.IDisposable} + ]); + if (e) throw e; + if (!this._disposing) { + Array.remove(this._disposableObjects, object); + } + } + function Sys$_Application$_addComponentToSecondPass(component, references) { + this._secondPassComponents[this._secondPassComponents.length] = {component: component, references: references}; + } + function Sys$_Application$_deserializeState(entry, skipDecodeUri) { + var result = {}; + entry = entry || ''; + var serverSeparator = entry.indexOf('&&'); + if ((serverSeparator !== -1) && (serverSeparator + 2 < entry.length)) { + result.__s = entry.substr(serverSeparator + 2); + entry = entry.substr(0, serverSeparator); + } + var tokens = entry.split('&'); + for (var i = 0, l = tokens.length; i < l; i++) { + var token = tokens[i]; + var equal = token.indexOf('='); + if ((equal !== -1) && (equal + 1 < token.length)) { + var name = token.substr(0, equal); + var value = token.substr(equal + 1); + result[name] = skipDecodeUri ? value : decodeURIComponent(value); + } + } + return result; + } + function Sys$_Application$_doInitialize() { + Sys._Application.callBaseMethod(this, 'initialize'); + + var handler = this.get_events().getHandler("init"); + if (handler) { + this.beginCreateComponents(); + handler(this, Sys.EventArgs.Empty); + this.endCreateComponents(); + } + if (Sys.WebForms) { + this._beginRequestHandler = Function.createDelegate(this, this._onPageRequestManagerBeginRequest); + Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(this._beginRequestHandler); + this._endRequestHandler = Function.createDelegate(this, this._onPageRequestManagerEndRequest); + Sys.WebForms.PageRequestManager.getInstance().add_endRequest(this._endRequestHandler); + } + + var loadedEntry = this.get_stateString(); + if (loadedEntry !== this._currentEntry) { + this._navigate(loadedEntry); + } + + this.raiseLoad(); + this._initializing = false; + } + function Sys$_Application$_enableHistoryInScriptManager() { + this._enableHistory = true; + this._historyEnabledInScriptManager = true; + } + function Sys$_Application$_ensureHistory() { + if (!this._historyInitialized && this._enableHistory) { + if ((Sys.Browser.agent === Sys.Browser.InternetExplorer) && (Sys.Browser.documentMode < 8)) { + this._historyFrame = document.getElementById('__historyFrame'); + if (!this._historyFrame) throw Error.invalidOperation(Sys.Res.historyMissingFrame); + this._ignoreIFrame = true; + } + if (this._isSafari2()) { + var historyElement = document.getElementById('__history'); + if (!historyElement) throw Error.invalidOperation(Sys.Res.historyMissingHiddenInput); + this._setHistory([window.location.hash]); + this._historyInitialLength = window.history.length; + } + + this._timerHandler = Function.createDelegate(this, this._onIdle); + this._timerCookie = window.setTimeout(this._timerHandler, 100); + + try { + this._initialState = this._deserializeState(this.get_stateString()); + } catch(e) {} + + this._historyInitialized = true; + } + } + function Sys$_Application$_getHistory() { + var historyElement = document.getElementById('__history'); + if (!historyElement) return ''; + var v = historyElement.value; + return v ? Sys.Serialization.JavaScriptSerializer.deserialize(v, true) : ''; + } + function Sys$_Application$_isSafari2() { + return (Sys.Browser.agent === Sys.Browser.Safari) && + (Sys.Browser.version <= 419.3); + } + function Sys$_Application$_loadHandler() { + if(this._loadHandlerDelegate) { + Sys.UI.DomEvent.removeHandler(window, "load", this._loadHandlerDelegate); + this._loadHandlerDelegate = null; + } + this.initialize(); + } + function Sys$_Application$_navigate(entry) { + this._ensureHistory(); + var state = this._deserializeState(entry); + + if (this._uniqueId) { + var oldServerEntry = this._state.__s || ''; + var newServerEntry = state.__s || ''; + if (newServerEntry !== oldServerEntry) { + this._updateHiddenField(newServerEntry); + __doPostBack(this._uniqueId, newServerEntry); + this._state = state; + return; + } + } + this._setState(entry); + this._state = state; + this._raiseNavigate(); + } + function Sys$_Application$_onIdle() { + delete this._timerCookie; + + var entry = this.get_stateString(); + if (entry !== this._currentEntry) { + if (!this._ignoreTimer) { + this._historyPointIsNew = false; + this._navigate(entry); + this._historyLength = window.history.length; + } + } + else { + this._ignoreTimer = false; + } + this._timerCookie = window.setTimeout(this._timerHandler, 100); + } + function Sys$_Application$_onIFrameLoad(entry) { + this._ensureHistory(); + if (!this._ignoreIFrame) { + this._historyPointIsNew = false; + this._navigate(entry); + } + this._ignoreIFrame = false; + } + function Sys$_Application$_onPageRequestManagerBeginRequest(sender, args) { + this._ignoreTimer = true; + } + function Sys$_Application$_onPageRequestManagerEndRequest(sender, args) { + var dataItem = args.get_dataItems()[this._clientId]; + var eventTarget = document.getElementById("__EVENTTARGET"); + if (eventTarget && eventTarget.value === this._uniqueId) { + eventTarget.value = ''; + } + if (typeof(dataItem) !== 'undefined') { + this.setServerState(dataItem); + this._historyPointIsNew = true; + } + else { + this._ignoreTimer = false; + } + var entry = this._serializeState(this._state); + if (entry !== this._currentEntry) { + this._ignoreTimer = true; + this._setState(entry); + this._raiseNavigate(); + } + } + function Sys$_Application$_raiseNavigate() { + var h = this.get_events().getHandler("navigate"); + var stateClone = {}; + for (var key in this._state) { + if (key !== '__s') { + stateClone[key] = this._state[key]; + } + } + var args = new Sys.HistoryEventArgs(stateClone); + if (h) { + h(this, args); + } + } + function Sys$_Application$_serializeState(state) { + var serialized = []; + for (var key in state) { + var value = state[key]; + if (key === '__s') { + var serverState = value; + } + else { + if (key.indexOf('=') !== -1) throw Error.argument('state', Sys.Res.stateFieldNameInvalid); + serialized[serialized.length] = key + '=' + encodeURIComponent(value); + } + } + return serialized.join('&') + (serverState ? '&&' + serverState : ''); + } + function Sys$_Application$_setHistory(historyArray) { + var historyElement = document.getElementById('__history'); + if (historyElement) { + historyElement.value = Sys.Serialization.JavaScriptSerializer.serialize(historyArray); + } + } + function Sys$_Application$_setState(entry, title) { + entry = entry || ''; + if (entry !== this._currentEntry) { + if (window.theForm) { + var action = window.theForm.action; + var hashIndex = action.indexOf('#'); + window.theForm.action = ((hashIndex !== -1) ? action.substring(0, hashIndex) : action) + '#' + entry; + } + + if (this._historyFrame && this._historyPointIsNew) { + this._ignoreIFrame = true; + this._historyPointIsNew = false; + var frameDoc = this._historyFrame.contentWindow.document; + frameDoc.open("javascript:''"); + frameDoc.write("" + (title || document.title) + + "parent.Sys.Application._onIFrameLoad('" + + entry + "');"); + frameDoc.close(); + } + this._ignoreTimer = false; + var currentHash = this.get_stateString(); + this._currentEntry = entry; + if (entry !== currentHash) { + var loc = document.location; + if (loc.href.length - loc.hash.length + entry.length > 1024) { + throw Error.invalidOperation(Sys.Res.urlMustBeLessThan1024chars); + } + if (this._isSafari2()) { + var history = this._getHistory(); + history[window.history.length - this._historyInitialLength + 1] = entry; + this._setHistory(history); + this._historyLength = window.history.length + 1; + var form = document.createElement('form'); + form.method = 'get'; + form.action = '#' + entry; + document.appendChild(form); + form.submit(); + document.removeChild(form); + } + else { + window.location.hash = entry; + } + if ((typeof(title) !== 'undefined') && (title !== null)) { + document.title = title; + } + } + } + } + function Sys$_Application$_unloadHandler(event) { + this.dispose(); + } + function Sys$_Application$_updateHiddenField(value) { + if (this._clientId) { + var serverStateField = document.getElementById(this._clientId); + if (serverStateField) { + serverStateField.value = value; + } + } + } +Sys._Application.prototype = { + _creatingComponents: false, + _disposing: false, + get_isCreatingComponents: Sys$_Application$get_isCreatingComponents, + get_stateString: Sys$_Application$get_stateString, + get_enableHistory: Sys$_Application$get_enableHistory, + set_enableHistory: Sys$_Application$set_enableHistory, + add_init: Sys$_Application$add_init, + remove_init: Sys$_Application$remove_init, + add_load: Sys$_Application$add_load, + remove_load: Sys$_Application$remove_load, + add_navigate: Sys$_Application$add_navigate, + remove_navigate: Sys$_Application$remove_navigate, + add_unload: Sys$_Application$add_unload, + remove_unload: Sys$_Application$remove_unload, + addComponent: Sys$_Application$addComponent, + addHistoryPoint: Sys$_Application$addHistoryPoint, + beginCreateComponents: Sys$_Application$beginCreateComponents, + dispose: Sys$_Application$dispose, + endCreateComponents: Sys$_Application$endCreateComponents, + findComponent: Sys$_Application$findComponent, + getComponents: Sys$_Application$getComponents, + initialize: Sys$_Application$initialize, + notifyScriptLoaded: Sys$_Application$notifyScriptLoaded, + registerDisposableObject: Sys$_Application$registerDisposableObject, + raiseLoad: Sys$_Application$raiseLoad, + removeComponent: Sys$_Application$removeComponent, + setServerId: Sys$_Application$setServerId, + setServerState: Sys$_Application$setServerState, + unregisterDisposableObject: Sys$_Application$unregisterDisposableObject, + _addComponentToSecondPass: Sys$_Application$_addComponentToSecondPass, + _deserializeState: Sys$_Application$_deserializeState, + _doInitialize: Sys$_Application$_doInitialize, + _enableHistoryInScriptManager: Sys$_Application$_enableHistoryInScriptManager, + _ensureHistory: Sys$_Application$_ensureHistory, + _getHistory: Sys$_Application$_getHistory, + _isSafari2: Sys$_Application$_isSafari2, + _loadHandler: Sys$_Application$_loadHandler, + _navigate: Sys$_Application$_navigate, + _onIdle: Sys$_Application$_onIdle, + _onIFrameLoad: Sys$_Application$_onIFrameLoad, + _onPageRequestManagerBeginRequest: Sys$_Application$_onPageRequestManagerBeginRequest, + _onPageRequestManagerEndRequest: Sys$_Application$_onPageRequestManagerEndRequest, + _raiseNavigate: Sys$_Application$_raiseNavigate, + _serializeState: Sys$_Application$_serializeState, + _setHistory: Sys$_Application$_setHistory, + _setState: Sys$_Application$_setState, + _unloadHandler: Sys$_Application$_unloadHandler, + _updateHiddenField: Sys$_Application$_updateHiddenField +} +Sys._Application.registerClass('Sys._Application', Sys.Component, Sys.IContainer); +Sys.Application = new Sys._Application(); +var $find = Sys.Application.findComponent; +Type.registerNamespace('Sys.Net'); + +Sys.Net.WebRequestExecutor = function Sys$Net$WebRequestExecutor() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + this._webRequest = null; + this._resultObject = null; +} + function Sys$Net$WebRequestExecutor$get_webRequest() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._webRequest; + } + function Sys$Net$WebRequestExecutor$_set_webRequest(value) { + if (this.get_started()) { + throw Error.invalidOperation(String.format(Sys.Res.cannotCallOnceStarted, 'set_webRequest')); + } + this._webRequest = value; + } + function Sys$Net$WebRequestExecutor$get_started() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); + } + function Sys$Net$WebRequestExecutor$get_responseAvailable() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); + } + function Sys$Net$WebRequestExecutor$get_timedOut() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); + } + function Sys$Net$WebRequestExecutor$get_aborted() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); + } + function Sys$Net$WebRequestExecutor$get_responseData() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); + } + function Sys$Net$WebRequestExecutor$get_statusCode() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); + } + function Sys$Net$WebRequestExecutor$get_statusText() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); + } + function Sys$Net$WebRequestExecutor$get_xml() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); + } + function Sys$Net$WebRequestExecutor$get_object() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (!this._resultObject) { + this._resultObject = Sys.Serialization.JavaScriptSerializer.deserialize(this.get_responseData()); + } + return this._resultObject; + } + function Sys$Net$WebRequestExecutor$executeRequest() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); + } + function Sys$Net$WebRequestExecutor$abort() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); + } + function Sys$Net$WebRequestExecutor$getResponseHeader(header) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "header", type: String} + ]); + if (e) throw e; + throw Error.notImplemented(); + } + function Sys$Net$WebRequestExecutor$getAllResponseHeaders() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); + } +Sys.Net.WebRequestExecutor.prototype = { + get_webRequest: Sys$Net$WebRequestExecutor$get_webRequest, + _set_webRequest: Sys$Net$WebRequestExecutor$_set_webRequest, + get_started: Sys$Net$WebRequestExecutor$get_started, + get_responseAvailable: Sys$Net$WebRequestExecutor$get_responseAvailable, + get_timedOut: Sys$Net$WebRequestExecutor$get_timedOut, + get_aborted: Sys$Net$WebRequestExecutor$get_aborted, + get_responseData: Sys$Net$WebRequestExecutor$get_responseData, + get_statusCode: Sys$Net$WebRequestExecutor$get_statusCode, + get_statusText: Sys$Net$WebRequestExecutor$get_statusText, + get_xml: Sys$Net$WebRequestExecutor$get_xml, + get_object: Sys$Net$WebRequestExecutor$get_object, + executeRequest: Sys$Net$WebRequestExecutor$executeRequest, + abort: Sys$Net$WebRequestExecutor$abort, + getResponseHeader: Sys$Net$WebRequestExecutor$getResponseHeader, + getAllResponseHeaders: Sys$Net$WebRequestExecutor$getAllResponseHeaders +} +Sys.Net.WebRequestExecutor.registerClass('Sys.Net.WebRequestExecutor'); + +Sys.Net.XMLDOM = function Sys$Net$XMLDOM(markup) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "markup", type: String} + ]); + if (e) throw e; + if (!window.DOMParser) { + var progIDs = [ 'Msxml2.DOMDocument.3.0', 'Msxml2.DOMDocument' ]; + for (var i = 0, l = progIDs.length; i < l; i++) { + try { + var xmlDOM = new ActiveXObject(progIDs[i]); + xmlDOM.async = false; + xmlDOM.loadXML(markup); + xmlDOM.setProperty('SelectionLanguage', 'XPath'); + return xmlDOM; + } + catch (ex) { + } + } + } + else { + try { + var domParser = new window.DOMParser(); + return domParser.parseFromString(markup, 'text/xml'); + } + catch (ex) { + } + } + return null; +} +Sys.Net.XMLHttpExecutor = function Sys$Net$XMLHttpExecutor() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + Sys.Net.XMLHttpExecutor.initializeBase(this); + var _this = this; + this._xmlHttpRequest = null; + this._webRequest = null; + this._responseAvailable = false; + this._timedOut = false; + this._timer = null; + this._aborted = false; + this._started = false; + this._onReadyStateChange = (function () { + + if (_this._xmlHttpRequest.readyState === 4 ) { + try { + if (typeof(_this._xmlHttpRequest.status) === "undefined") { + return; + } + } + catch(ex) { + return; + } + + _this._clearTimer(); + _this._responseAvailable = true; + try { + _this._webRequest.completed(Sys.EventArgs.Empty); + } + finally { + if (_this._xmlHttpRequest != null) { + _this._xmlHttpRequest.onreadystatechange = Function.emptyMethod; + _this._xmlHttpRequest = null; + } + } + } + }); + this._clearTimer = (function() { + if (_this._timer != null) { + window.clearTimeout(_this._timer); + _this._timer = null; + } + }); + this._onTimeout = (function() { + if (!_this._responseAvailable) { + _this._clearTimer(); + _this._timedOut = true; + _this._xmlHttpRequest.onreadystatechange = Function.emptyMethod; + _this._xmlHttpRequest.abort(); + _this._webRequest.completed(Sys.EventArgs.Empty); + _this._xmlHttpRequest = null; + } + }); +} + function Sys$Net$XMLHttpExecutor$get_timedOut() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._timedOut; + } + function Sys$Net$XMLHttpExecutor$get_started() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._started; + } + function Sys$Net$XMLHttpExecutor$get_responseAvailable() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._responseAvailable; + } + function Sys$Net$XMLHttpExecutor$get_aborted() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._aborted; + } + function Sys$Net$XMLHttpExecutor$executeRequest() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + this._webRequest = this.get_webRequest(); + if (this._started) { + throw Error.invalidOperation(String.format(Sys.Res.cannotCallOnceStarted, 'executeRequest')); + } + if (this._webRequest === null) { + throw Error.invalidOperation(Sys.Res.nullWebRequest); + } + var body = this._webRequest.get_body(); + var headers = this._webRequest.get_headers(); + this._xmlHttpRequest = new XMLHttpRequest(); + this._xmlHttpRequest.onreadystatechange = this._onReadyStateChange; + var verb = this._webRequest.get_httpVerb(); + this._xmlHttpRequest.open(verb, this._webRequest.getResolvedUrl(), true ); + if (headers) { + for (var header in headers) { + var val = headers[header]; + if (typeof(val) !== "function") + this._xmlHttpRequest.setRequestHeader(header, val); + } + } + if (verb.toLowerCase() === "post") { + if ((headers === null) || !headers['Content-Type']) { + this._xmlHttpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8'); + } + if (!body) { + body = ""; + } + } + var timeout = this._webRequest.get_timeout(); + if (timeout > 0) { + this._timer = window.setTimeout(Function.createDelegate(this, this._onTimeout), timeout); + } + this._xmlHttpRequest.send(body); + this._started = true; + } + function Sys$Net$XMLHttpExecutor$getResponseHeader(header) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "header", type: String} + ]); + if (e) throw e; + if (!this._responseAvailable) { + throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'getResponseHeader')); + } + if (!this._xmlHttpRequest) { + throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'getResponseHeader')); + } + var result; + try { + result = this._xmlHttpRequest.getResponseHeader(header); + } catch (e) { + } + if (!result) result = ""; + return result; + } + function Sys$Net$XMLHttpExecutor$getAllResponseHeaders() { + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (!this._responseAvailable) { + throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'getAllResponseHeaders')); + } + if (!this._xmlHttpRequest) { + throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'getAllResponseHeaders')); + } + return this._xmlHttpRequest.getAllResponseHeaders(); + } + function Sys$Net$XMLHttpExecutor$get_responseData() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (!this._responseAvailable) { + throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'get_responseData')); + } + if (!this._xmlHttpRequest) { + throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'get_responseData')); + } + return this._xmlHttpRequest.responseText; + } + function Sys$Net$XMLHttpExecutor$get_statusCode() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (!this._responseAvailable) { + throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'get_statusCode')); + } + if (!this._xmlHttpRequest) { + throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'get_statusCode')); + } + var result = 0; + try { + result = this._xmlHttpRequest.status; + } + catch(ex) { + } + return result; + } + function Sys$Net$XMLHttpExecutor$get_statusText() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (!this._responseAvailable) { + throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'get_statusText')); + } + if (!this._xmlHttpRequest) { + throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'get_statusText')); + } + return this._xmlHttpRequest.statusText; + } + function Sys$Net$XMLHttpExecutor$get_xml() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (!this._responseAvailable) { + throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'get_xml')); + } + if (!this._xmlHttpRequest) { + throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'get_xml')); + } + var xml = this._xmlHttpRequest.responseXML; + if (!xml || !xml.documentElement) { + xml = Sys.Net.XMLDOM(this._xmlHttpRequest.responseText); + if (!xml || !xml.documentElement) + return null; + } + else if (navigator.userAgent.indexOf('MSIE') !== -1) { + xml.setProperty('SelectionLanguage', 'XPath'); + } + if (xml.documentElement.namespaceURI === "http://www.mozilla.org/newlayout/xml/parsererror.xml" && + xml.documentElement.tagName === "parsererror") { + return null; + } + + if (xml.documentElement.firstChild && xml.documentElement.firstChild.tagName === "parsererror") { + return null; + } + + return xml; + } + function Sys$Net$XMLHttpExecutor$abort() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (!this._started) { + throw Error.invalidOperation(Sys.Res.cannotAbortBeforeStart); + } + if (this._aborted || this._responseAvailable || this._timedOut) + return; + this._aborted = true; + this._clearTimer(); + if (this._xmlHttpRequest && !this._responseAvailable) { + this._xmlHttpRequest.onreadystatechange = Function.emptyMethod; + this._xmlHttpRequest.abort(); + + this._xmlHttpRequest = null; + this._webRequest.completed(Sys.EventArgs.Empty); + } + } +Sys.Net.XMLHttpExecutor.prototype = { + get_timedOut: Sys$Net$XMLHttpExecutor$get_timedOut, + get_started: Sys$Net$XMLHttpExecutor$get_started, + get_responseAvailable: Sys$Net$XMLHttpExecutor$get_responseAvailable, + get_aborted: Sys$Net$XMLHttpExecutor$get_aborted, + executeRequest: Sys$Net$XMLHttpExecutor$executeRequest, + getResponseHeader: Sys$Net$XMLHttpExecutor$getResponseHeader, + getAllResponseHeaders: Sys$Net$XMLHttpExecutor$getAllResponseHeaders, + get_responseData: Sys$Net$XMLHttpExecutor$get_responseData, + get_statusCode: Sys$Net$XMLHttpExecutor$get_statusCode, + get_statusText: Sys$Net$XMLHttpExecutor$get_statusText, + get_xml: Sys$Net$XMLHttpExecutor$get_xml, + abort: Sys$Net$XMLHttpExecutor$abort +} +Sys.Net.XMLHttpExecutor.registerClass('Sys.Net.XMLHttpExecutor', Sys.Net.WebRequestExecutor); + +Sys.Net._WebRequestManager = function Sys$Net$_WebRequestManager() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + this._defaultTimeout = 0; + this._defaultExecutorType = "Sys.Net.XMLHttpExecutor"; +} + function Sys$Net$_WebRequestManager$add_invokingRequest(handler) { + /// + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this._get_eventHandlerList().addHandler("invokingRequest", handler); + } + function Sys$Net$_WebRequestManager$remove_invokingRequest(handler) { + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this._get_eventHandlerList().removeHandler("invokingRequest", handler); + } + function Sys$Net$_WebRequestManager$add_completedRequest(handler) { + /// + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this._get_eventHandlerList().addHandler("completedRequest", handler); + } + function Sys$Net$_WebRequestManager$remove_completedRequest(handler) { + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this._get_eventHandlerList().removeHandler("completedRequest", handler); + } + function Sys$Net$_WebRequestManager$_get_eventHandlerList() { + if (!this._events) { + this._events = new Sys.EventHandlerList(); + } + return this._events; + } + function Sys$Net$_WebRequestManager$get_defaultTimeout() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._defaultTimeout; + } + function Sys$Net$_WebRequestManager$set_defaultTimeout(value) { + var e = Function._validateParams(arguments, [{name: "value", type: Number}]); + if (e) throw e; + if (value < 0) { + throw Error.argumentOutOfRange("value", value, Sys.Res.invalidTimeout); + } + this._defaultTimeout = value; + } + function Sys$Net$_WebRequestManager$get_defaultExecutorType() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._defaultExecutorType; + } + function Sys$Net$_WebRequestManager$set_defaultExecutorType(value) { + var e = Function._validateParams(arguments, [{name: "value", type: String}]); + if (e) throw e; + this._defaultExecutorType = value; + } + function Sys$Net$_WebRequestManager$executeRequest(webRequest) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "webRequest", type: Sys.Net.WebRequest} + ]); + if (e) throw e; + var executor = webRequest.get_executor(); + if (!executor) { + var failed = false; + try { + var executorType = eval(this._defaultExecutorType); + executor = new executorType(); + } catch (e) { + failed = true; + } + if (failed || !Sys.Net.WebRequestExecutor.isInstanceOfType(executor) || !executor) { + throw Error.argument("defaultExecutorType", String.format(Sys.Res.invalidExecutorType, this._defaultExecutorType)); + } + webRequest.set_executor(executor); + } + if (executor.get_aborted()) { + return; + } + var evArgs = new Sys.Net.NetworkRequestEventArgs(webRequest); + var handler = this._get_eventHandlerList().getHandler("invokingRequest"); + if (handler) { + handler(this, evArgs); + } + if (!evArgs.get_cancel()) { + executor.executeRequest(); + } + } +Sys.Net._WebRequestManager.prototype = { + add_invokingRequest: Sys$Net$_WebRequestManager$add_invokingRequest, + remove_invokingRequest: Sys$Net$_WebRequestManager$remove_invokingRequest, + add_completedRequest: Sys$Net$_WebRequestManager$add_completedRequest, + remove_completedRequest: Sys$Net$_WebRequestManager$remove_completedRequest, + _get_eventHandlerList: Sys$Net$_WebRequestManager$_get_eventHandlerList, + get_defaultTimeout: Sys$Net$_WebRequestManager$get_defaultTimeout, + set_defaultTimeout: Sys$Net$_WebRequestManager$set_defaultTimeout, + get_defaultExecutorType: Sys$Net$_WebRequestManager$get_defaultExecutorType, + set_defaultExecutorType: Sys$Net$_WebRequestManager$set_defaultExecutorType, + executeRequest: Sys$Net$_WebRequestManager$executeRequest +} +Sys.Net._WebRequestManager.registerClass('Sys.Net._WebRequestManager'); +Sys.Net.WebRequestManager = new Sys.Net._WebRequestManager(); + +Sys.Net.NetworkRequestEventArgs = function Sys$Net$NetworkRequestEventArgs(webRequest) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "webRequest", type: Sys.Net.WebRequest} + ]); + if (e) throw e; + Sys.Net.NetworkRequestEventArgs.initializeBase(this); + this._webRequest = webRequest; +} + function Sys$Net$NetworkRequestEventArgs$get_webRequest() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._webRequest; + } +Sys.Net.NetworkRequestEventArgs.prototype = { + get_webRequest: Sys$Net$NetworkRequestEventArgs$get_webRequest +} +Sys.Net.NetworkRequestEventArgs.registerClass('Sys.Net.NetworkRequestEventArgs', Sys.CancelEventArgs); + +Sys.Net.WebRequest = function Sys$Net$WebRequest() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + this._url = ""; + this._headers = { }; + this._body = null; + this._userContext = null; + this._httpVerb = null; + this._executor = null; + this._invokeCalled = false; + this._timeout = 0; +} + function Sys$Net$WebRequest$add_completed(handler) { + /// + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this._get_eventHandlerList().addHandler("completed", handler); + } + function Sys$Net$WebRequest$remove_completed(handler) { + var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); + if (e) throw e; + this._get_eventHandlerList().removeHandler("completed", handler); + } + function Sys$Net$WebRequest$completed(eventArgs) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "eventArgs", type: Sys.EventArgs} + ]); + if (e) throw e; + var handler = Sys.Net.WebRequestManager._get_eventHandlerList().getHandler("completedRequest"); + if (handler) { + handler(this._executor, eventArgs); + } + handler = this._get_eventHandlerList().getHandler("completed"); + if (handler) { + handler(this._executor, eventArgs); + } + } + function Sys$Net$WebRequest$_get_eventHandlerList() { + if (!this._events) { + this._events = new Sys.EventHandlerList(); + } + return this._events; + } + function Sys$Net$WebRequest$get_url() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._url; + } + function Sys$Net$WebRequest$set_url(value) { + var e = Function._validateParams(arguments, [{name: "value", type: String}]); + if (e) throw e; + this._url = value; + } + function Sys$Net$WebRequest$get_headers() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._headers; + } + function Sys$Net$WebRequest$get_httpVerb() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (this._httpVerb === null) { + if (this._body === null) { + return "GET"; + } + return "POST"; + } + return this._httpVerb; + } + function Sys$Net$WebRequest$set_httpVerb(value) { + var e = Function._validateParams(arguments, [{name: "value", type: String}]); + if (e) throw e; + if (value.length === 0) { + throw Error.argument('value', Sys.Res.invalidHttpVerb); + } + this._httpVerb = value; + } + function Sys$Net$WebRequest$get_body() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._body; + } + function Sys$Net$WebRequest$set_body(value) { + var e = Function._validateParams(arguments, [{name: "value", mayBeNull: true}]); + if (e) throw e; + this._body = value; + } + function Sys$Net$WebRequest$get_userContext() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._userContext; + } + function Sys$Net$WebRequest$set_userContext(value) { + var e = Function._validateParams(arguments, [{name: "value", mayBeNull: true}]); + if (e) throw e; + this._userContext = value; + } + function Sys$Net$WebRequest$get_executor() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._executor; + } + function Sys$Net$WebRequest$set_executor(value) { + var e = Function._validateParams(arguments, [{name: "value", type: Sys.Net.WebRequestExecutor}]); + if (e) throw e; + if (this._executor !== null && this._executor.get_started()) { + throw Error.invalidOperation(Sys.Res.setExecutorAfterActive); + } + this._executor = value; + this._executor._set_webRequest(this); + } + function Sys$Net$WebRequest$get_timeout() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (this._timeout === 0) { + return Sys.Net.WebRequestManager.get_defaultTimeout(); + } + return this._timeout; + } + function Sys$Net$WebRequest$set_timeout(value) { + var e = Function._validateParams(arguments, [{name: "value", type: Number}]); + if (e) throw e; + if (value < 0) { + throw Error.argumentOutOfRange("value", value, Sys.Res.invalidTimeout); + } + this._timeout = value; + } + function Sys$Net$WebRequest$getResolvedUrl() { + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return Sys.Net.WebRequest._resolveUrl(this._url); + } + function Sys$Net$WebRequest$invoke() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (this._invokeCalled) { + throw Error.invalidOperation(Sys.Res.invokeCalledTwice); + } + Sys.Net.WebRequestManager.executeRequest(this); + this._invokeCalled = true; + } +Sys.Net.WebRequest.prototype = { + add_completed: Sys$Net$WebRequest$add_completed, + remove_completed: Sys$Net$WebRequest$remove_completed, + completed: Sys$Net$WebRequest$completed, + _get_eventHandlerList: Sys$Net$WebRequest$_get_eventHandlerList, + get_url: Sys$Net$WebRequest$get_url, + set_url: Sys$Net$WebRequest$set_url, + get_headers: Sys$Net$WebRequest$get_headers, + get_httpVerb: Sys$Net$WebRequest$get_httpVerb, + set_httpVerb: Sys$Net$WebRequest$set_httpVerb, + get_body: Sys$Net$WebRequest$get_body, + set_body: Sys$Net$WebRequest$set_body, + get_userContext: Sys$Net$WebRequest$get_userContext, + set_userContext: Sys$Net$WebRequest$set_userContext, + get_executor: Sys$Net$WebRequest$get_executor, + set_executor: Sys$Net$WebRequest$set_executor, + get_timeout: Sys$Net$WebRequest$get_timeout, + set_timeout: Sys$Net$WebRequest$set_timeout, + getResolvedUrl: Sys$Net$WebRequest$getResolvedUrl, + invoke: Sys$Net$WebRequest$invoke +} +Sys.Net.WebRequest._resolveUrl = function Sys$Net$WebRequest$_resolveUrl(url, baseUrl) { + if (url && url.indexOf('://') !== -1) { + return url; + } + if (!baseUrl || baseUrl.length === 0) { + var baseElement = document.getElementsByTagName('base')[0]; + if (baseElement && baseElement.href && baseElement.href.length > 0) { + baseUrl = baseElement.href; + } + else { + baseUrl = document.URL; + } + } + var qsStart = baseUrl.indexOf('?'); + if (qsStart !== -1) { + baseUrl = baseUrl.substr(0, qsStart); + } + qsStart = baseUrl.indexOf('#'); + if (qsStart !== -1) { + baseUrl = baseUrl.substr(0, qsStart); + } + baseUrl = baseUrl.substr(0, baseUrl.lastIndexOf('/') + 1); + if (!url || url.length === 0) { + return baseUrl; + } + if (url.charAt(0) === '/') { + var slashslash = baseUrl.indexOf('://'); + if (slashslash === -1) { + throw Error.argument("baseUrl", Sys.Res.badBaseUrl1); + } + var nextSlash = baseUrl.indexOf('/', slashslash + 3); + if (nextSlash === -1) { + throw Error.argument("baseUrl", Sys.Res.badBaseUrl2); + } + return baseUrl.substr(0, nextSlash) + url; + } + else { + var lastSlash = baseUrl.lastIndexOf('/'); + if (lastSlash === -1) { + throw Error.argument("baseUrl", Sys.Res.badBaseUrl3); + } + return baseUrl.substr(0, lastSlash+1) + url; + } +} +Sys.Net.WebRequest._createQueryString = function Sys$Net$WebRequest$_createQueryString(queryString, encodeMethod) { + if (!encodeMethod) + encodeMethod = encodeURIComponent; + var sb = new Sys.StringBuilder(); + var i = 0; + for (var arg in queryString) { + var obj = queryString[arg]; + if (typeof(obj) === "function") continue; + var val = Sys.Serialization.JavaScriptSerializer.serialize(obj); + if (i !== 0) { + sb.append('&'); + } + sb.append(arg); + sb.append('='); + sb.append(encodeMethod(val)); + i++; + } + return sb.toString(); +} +Sys.Net.WebRequest._createUrl = function Sys$Net$WebRequest$_createUrl(url, queryString) { + if (!queryString) { + return url; + } + var qs = Sys.Net.WebRequest._createQueryString(queryString); + if (qs.length > 0) { + var sep = '?'; + if (url && url.indexOf('?') !== -1) + sep = '&'; + return url + sep + qs; + } else { + return url; + } +} +Sys.Net.WebRequest.registerClass('Sys.Net.WebRequest'); + +Sys.Net.WebServiceProxy = function Sys$Net$WebServiceProxy() { +} + function Sys$Net$WebServiceProxy$get_timeout() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._timeout; + } + function Sys$Net$WebServiceProxy$set_timeout(value) { + var e = Function._validateParams(arguments, [{name: "value", type: Number}]); + if (e) throw e; + if (value < 0) { throw Error.argumentOutOfRange('value', value, Sys.Res.invalidTimeout); } + this._timeout = value; + } + function Sys$Net$WebServiceProxy$get_defaultUserContext() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._userContext; + } + function Sys$Net$WebServiceProxy$set_defaultUserContext(value) { + var e = Function._validateParams(arguments, [{name: "value", mayBeNull: true}]); + if (e) throw e; + this._userContext = value; + } + function Sys$Net$WebServiceProxy$get_defaultSucceededCallback() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._succeeded; + } + function Sys$Net$WebServiceProxy$set_defaultSucceededCallback(value) { + var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]); + if (e) throw e; + this._succeeded = value; + } + function Sys$Net$WebServiceProxy$get_defaultFailedCallback() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._failed; + } + function Sys$Net$WebServiceProxy$set_defaultFailedCallback(value) { + var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]); + if (e) throw e; + this._failed = value; + } + function Sys$Net$WebServiceProxy$get_path() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._path; + } + function Sys$Net$WebServiceProxy$set_path(value) { + var e = Function._validateParams(arguments, [{name: "value", type: String}]); + if (e) throw e; + this._path = value; + } + function Sys$Net$WebServiceProxy$_invoke(servicePath, methodName, useGet, params, onSuccess, onFailure, userContext) { + /// + /// + /// + /// + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "servicePath", type: String}, + {name: "methodName", type: String}, + {name: "useGet", type: Boolean}, + {name: "params"}, + {name: "onSuccess", type: Function, mayBeNull: true, optional: true}, + {name: "onFailure", type: Function, mayBeNull: true, optional: true}, + {name: "userContext", mayBeNull: true, optional: true} + ]); + if (e) throw e; + if (onSuccess === null || typeof onSuccess === 'undefined') onSuccess = this.get_defaultSucceededCallback(); + if (onFailure === null || typeof onFailure === 'undefined') onFailure = this.get_defaultFailedCallback(); + if (userContext === null || typeof userContext === 'undefined') userContext = this.get_defaultUserContext(); + + return Sys.Net.WebServiceProxy.invoke(servicePath, methodName, useGet, params, onSuccess, onFailure, userContext, this.get_timeout()); + } +Sys.Net.WebServiceProxy.prototype = { + get_timeout: Sys$Net$WebServiceProxy$get_timeout, + set_timeout: Sys$Net$WebServiceProxy$set_timeout, + get_defaultUserContext: Sys$Net$WebServiceProxy$get_defaultUserContext, + set_defaultUserContext: Sys$Net$WebServiceProxy$set_defaultUserContext, + get_defaultSucceededCallback: Sys$Net$WebServiceProxy$get_defaultSucceededCallback, + set_defaultSucceededCallback: Sys$Net$WebServiceProxy$set_defaultSucceededCallback, + get_defaultFailedCallback: Sys$Net$WebServiceProxy$get_defaultFailedCallback, + set_defaultFailedCallback: Sys$Net$WebServiceProxy$set_defaultFailedCallback, + get_path: Sys$Net$WebServiceProxy$get_path, + set_path: Sys$Net$WebServiceProxy$set_path, + _invoke: Sys$Net$WebServiceProxy$_invoke +} +Sys.Net.WebServiceProxy.registerClass('Sys.Net.WebServiceProxy'); +Sys.Net.WebServiceProxy.invoke = function Sys$Net$WebServiceProxy$invoke(servicePath, methodName, useGet, params, onSuccess, onFailure, userContext, timeout) { + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "servicePath", type: String}, + {name: "methodName", type: String}, + {name: "useGet", type: Boolean, optional: true}, + {name: "params", mayBeNull: true, optional: true}, + {name: "onSuccess", type: Function, mayBeNull: true, optional: true}, + {name: "onFailure", type: Function, mayBeNull: true, optional: true}, + {name: "userContext", mayBeNull: true, optional: true}, + {name: "timeout", type: Number, optional: true} + ]); + if (e) throw e; + var request = new Sys.Net.WebRequest(); + request.get_headers()['Content-Type'] = 'application/json; charset=utf-8'; + if (!params) params = {}; + var urlParams = params; + if (!useGet || !urlParams) urlParams = {}; + request.set_url(Sys.Net.WebRequest._createUrl(servicePath+"/"+encodeURIComponent(methodName), urlParams)); + var body = null; + if (!useGet) { + body = Sys.Serialization.JavaScriptSerializer.serialize(params); + if (body === "{}") body = ""; + } + request.set_body(body); + request.add_completed(onComplete); + if (timeout && timeout > 0) request.set_timeout(timeout); + request.invoke(); + function onComplete(response, eventArgs) { + if (response.get_responseAvailable()) { + var statusCode = response.get_statusCode(); + var result = null; + + try { + var contentType = response.getResponseHeader("Content-Type"); + if (contentType.startsWith("application/json")) { + result = response.get_object(); + } + else if (contentType.startsWith("text/xml")) { + result = response.get_xml(); + } + else { + result = response.get_responseData(); + } + } catch (ex) { + } + var error = response.getResponseHeader("jsonerror"); + var errorObj = (error === "true"); + if (errorObj) { + if (result) { + result = new Sys.Net.WebServiceError(false, result.Message, result.StackTrace, result.ExceptionType); + } + } + else if (contentType.startsWith("application/json")) { + if (!result || typeof(result.d) === "undefined") { + throw Sys.Net.WebServiceProxy._createFailedError(methodName, String.format(Sys.Res.webServiceInvalidJsonWrapper, methodName)); + } + result = result.d; + } + if (((statusCode < 200) || (statusCode >= 300)) || errorObj) { + if (onFailure) { + if (!result || !errorObj) { + result = new Sys.Net.WebServiceError(false , String.format(Sys.Res.webServiceFailedNoMsg, methodName), "", ""); + } + result._statusCode = statusCode; + onFailure(result, userContext, methodName); + } + else { + var error; + if (result && errorObj) { + error = result.get_exceptionType() + "-- " + result.get_message(); + } + else { + error = response.get_responseData(); + } + throw Sys.Net.WebServiceProxy._createFailedError(methodName, String.format(Sys.Res.webServiceFailed, methodName, error)); + } + } + else if (onSuccess) { + onSuccess(result, userContext, methodName); + } + } + else { + var msg; + if (response.get_timedOut()) { + msg = String.format(Sys.Res.webServiceTimedOut, methodName); + } + else { + msg = String.format(Sys.Res.webServiceFailedNoMsg, methodName) + } + if (onFailure) { + onFailure(new Sys.Net.WebServiceError(response.get_timedOut(), msg, "", ""), userContext, methodName); + } + else { + throw Sys.Net.WebServiceProxy._createFailedError(methodName, msg); + } + } + } + return request; +} +Sys.Net.WebServiceProxy._createFailedError = function Sys$Net$WebServiceProxy$_createFailedError(methodName, errorMessage) { + var displayMessage = "Sys.Net.WebServiceFailedException: " + errorMessage; + var e = Error.create(displayMessage, { 'name': 'Sys.Net.WebServiceFailedException', 'methodName': methodName }); + e.popStackFrame(); + return e; +} +Sys.Net.WebServiceProxy._defaultFailedCallback = function Sys$Net$WebServiceProxy$_defaultFailedCallback(err, methodName) { + var error = err.get_exceptionType() + "-- " + err.get_message(); + throw Sys.Net.WebServiceProxy._createFailedError(methodName, String.format(Sys.Res.webServiceFailed, methodName, error)); +} +Sys.Net.WebServiceProxy._generateTypedConstructor = function Sys$Net$WebServiceProxy$_generateTypedConstructor(type) { + return function(properties) { + if (properties) { + for (var name in properties) { + this[name] = properties[name]; + } + } + this.__type = type; + } +} + +Sys.Net.WebServiceError = function Sys$Net$WebServiceError(timedOut, message, stackTrace, exceptionType) { + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "timedOut", type: Boolean}, + {name: "message", type: String, mayBeNull: true}, + {name: "stackTrace", type: String, mayBeNull: true}, + {name: "exceptionType", type: String, mayBeNull: true} + ]); + if (e) throw e; + this._timedOut = timedOut; + this._message = message; + this._stackTrace = stackTrace; + this._exceptionType = exceptionType; + this._statusCode = -1; +} + function Sys$Net$WebServiceError$get_timedOut() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._timedOut; + } + function Sys$Net$WebServiceError$get_statusCode() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._statusCode; + } + function Sys$Net$WebServiceError$get_message() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._message; + } + function Sys$Net$WebServiceError$get_stackTrace() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._stackTrace; + } + function Sys$Net$WebServiceError$get_exceptionType() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._exceptionType; + } +Sys.Net.WebServiceError.prototype = { + get_timedOut: Sys$Net$WebServiceError$get_timedOut, + get_statusCode: Sys$Net$WebServiceError$get_statusCode, + get_message: Sys$Net$WebServiceError$get_message, + get_stackTrace: Sys$Net$WebServiceError$get_stackTrace, + get_exceptionType: Sys$Net$WebServiceError$get_exceptionType +} +Sys.Net.WebServiceError.registerClass('Sys.Net.WebServiceError'); +Type.registerNamespace('Sys.Services'); +Sys.Services._ProfileService = function Sys$Services$_ProfileService() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + Sys.Services._ProfileService.initializeBase(this); + this.properties = {}; +} +Sys.Services._ProfileService.DefaultWebServicePath = ''; + function Sys$Services$_ProfileService$get_defaultLoadCompletedCallback() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._defaultLoadCompletedCallback; + } + function Sys$Services$_ProfileService$set_defaultLoadCompletedCallback(value) { + var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]); + if (e) throw e; + this._defaultLoadCompletedCallback = value; + } + function Sys$Services$_ProfileService$get_defaultSaveCompletedCallback() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._defaultSaveCompletedCallback; + } + function Sys$Services$_ProfileService$set_defaultSaveCompletedCallback(value) { + var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]); + if (e) throw e; + this._defaultSaveCompletedCallback = value; + } + function Sys$Services$_ProfileService$get_path() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._path || ''; + } + function Sys$Services$_ProfileService$load(propertyNames, loadCompletedCallback, failedCallback, userContext) { + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "propertyNames", type: Array, mayBeNull: true, optional: true, elementType: String}, + {name: "loadCompletedCallback", type: Function, mayBeNull: true, optional: true}, + {name: "failedCallback", type: Function, mayBeNull: true, optional: true}, + {name: "userContext", mayBeNull: true, optional: true} + ]); + if (e) throw e; + var parameters; + var methodName; + if (!propertyNames) { + methodName = "GetAllPropertiesForCurrentUser"; + parameters = { authenticatedUserOnly: false }; + } + else { + methodName = "GetPropertiesForCurrentUser"; + parameters = { properties: this._clonePropertyNames(propertyNames), authenticatedUserOnly: false }; + } + this._invoke(this._get_path(), + methodName, + false, + parameters, + Function.createDelegate(this, this._onLoadComplete), + Function.createDelegate(this, this._onLoadFailed), + [loadCompletedCallback, failedCallback, userContext]); + } + function Sys$Services$_ProfileService$save(propertyNames, saveCompletedCallback, failedCallback, userContext) { + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "propertyNames", type: Array, mayBeNull: true, optional: true, elementType: String}, + {name: "saveCompletedCallback", type: Function, mayBeNull: true, optional: true}, + {name: "failedCallback", type: Function, mayBeNull: true, optional: true}, + {name: "userContext", mayBeNull: true, optional: true} + ]); + if (e) throw e; + var flattenedProperties = this._flattenProperties(propertyNames, this.properties); + this._invoke(this._get_path(), + "SetPropertiesForCurrentUser", + false, + { values: flattenedProperties.value, authenticatedUserOnly: false }, + Function.createDelegate(this, this._onSaveComplete), + Function.createDelegate(this, this._onSaveFailed), + [saveCompletedCallback, failedCallback, userContext, flattenedProperties.count]); + } + function Sys$Services$_ProfileService$_clonePropertyNames(arr) { + var nodups = []; + var seen = {}; + for (var i=0; i < arr.length; i++) { + var prop = arr[i]; + if(!seen[prop]) { Array.add(nodups, prop); seen[prop]=true; }; + } + return nodups; + } + function Sys$Services$_ProfileService$_flattenProperties(propertyNames, properties, groupName) { + var flattenedProperties = {}; + var val; + var key; + var count = 0; + if (propertyNames && propertyNames.length === 0) { + return { value: flattenedProperties, count: 0 }; + } + for (var property in properties) { + val = properties[property]; + key = groupName ? groupName + "." + property : property; + if(Sys.Services.ProfileGroup.isInstanceOfType(val)) { + var obj = this._flattenProperties(propertyNames, val, key); + var groupProperties = obj.value; + count += obj.count; + for(var subKey in groupProperties) { + var subVal = groupProperties[subKey]; + flattenedProperties[subKey] = subVal; + } + } + else { + if(!propertyNames || Array.indexOf(propertyNames, key) !== -1) { + flattenedProperties[key] = val; + count++; + } + } + } + return { value: flattenedProperties, count: count }; + } + function Sys$Services$_ProfileService$_get_path() { + var path = this.get_path(); + if (!path.length) { + path = Sys.Services._ProfileService.DefaultWebServicePath; + } + if (!path || !path.length) { + throw Error.invalidOperation(Sys.Res.servicePathNotSet); + } + return path; + } + function Sys$Services$_ProfileService$_onLoadComplete(result, context, methodName) { + if (typeof(result) !== "object") { + throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType, methodName, "Object")); + } + var unflattened = this._unflattenProperties(result); + for (var name in unflattened) { + this.properties[name] = unflattened[name]; + } + + var callback = context[0] || this.get_defaultLoadCompletedCallback() || this.get_defaultSucceededCallback(); + if (callback) { + var userContext = context[2] || this.get_defaultUserContext(); + callback(result.length, userContext, "Sys.Services.ProfileService.load"); + } + } + function Sys$Services$_ProfileService$_onLoadFailed(err, context, methodName) { + var callback = context[1] || this.get_defaultFailedCallback(); + if (callback) { + var userContext = context[2] || this.get_defaultUserContext(); + callback(err, userContext, "Sys.Services.ProfileService.load"); + } + else { + Sys.Net.WebServiceProxy._defaultFailedCallback(err, methodName); + } + } + function Sys$Services$_ProfileService$_onSaveComplete(result, context, methodName) { + var count = context[3]; + if (result !== null) { + if (result instanceof Array) { + count -= result.length; + } + else if (typeof(result) === 'number') { + count = result; + } + else { + throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType, methodName, "Array")); + } + } + + var callback = context[0] || this.get_defaultSaveCompletedCallback() || this.get_defaultSucceededCallback(); + if (callback) { + var userContext = context[2] || this.get_defaultUserContext(); + callback(count, userContext, "Sys.Services.ProfileService.save"); + } + } + function Sys$Services$_ProfileService$_onSaveFailed(err, context, methodName) { + var callback = context[1] || this.get_defaultFailedCallback(); + if (callback) { + var userContext = context[2] || this.get_defaultUserContext(); + callback(err, userContext, "Sys.Services.ProfileService.save"); + } + else { + Sys.Net.WebServiceProxy._defaultFailedCallback(err, methodName); + } + } + function Sys$Services$_ProfileService$_unflattenProperties(properties) { + var unflattenedProperties = {}; + var dotIndex; + var val; + var count = 0; + for (var key in properties) { + count++; + val = properties[key]; + dotIndex = key.indexOf('.'); + if (dotIndex !== -1) { + var groupName = key.substr(0, dotIndex); + key = key.substr(dotIndex+1); + var group = unflattenedProperties[groupName]; + if (!group || !Sys.Services.ProfileGroup.isInstanceOfType(group)) { + group = new Sys.Services.ProfileGroup(); + unflattenedProperties[groupName] = group; + } + group[key] = val; + } + else { + unflattenedProperties[key] = val; + } + } + properties.length = count; + return unflattenedProperties; + } +Sys.Services._ProfileService.prototype = { + _defaultLoadCompletedCallback: null, + _defaultSaveCompletedCallback: null, + _path: '', + _timeout: 0, + get_defaultLoadCompletedCallback: Sys$Services$_ProfileService$get_defaultLoadCompletedCallback, + set_defaultLoadCompletedCallback: Sys$Services$_ProfileService$set_defaultLoadCompletedCallback, + get_defaultSaveCompletedCallback: Sys$Services$_ProfileService$get_defaultSaveCompletedCallback, + set_defaultSaveCompletedCallback: Sys$Services$_ProfileService$set_defaultSaveCompletedCallback, + get_path: Sys$Services$_ProfileService$get_path, + load: Sys$Services$_ProfileService$load, + save: Sys$Services$_ProfileService$save, + _clonePropertyNames: Sys$Services$_ProfileService$_clonePropertyNames, + _flattenProperties: Sys$Services$_ProfileService$_flattenProperties, + _get_path: Sys$Services$_ProfileService$_get_path, + _onLoadComplete: Sys$Services$_ProfileService$_onLoadComplete, + _onLoadFailed: Sys$Services$_ProfileService$_onLoadFailed, + _onSaveComplete: Sys$Services$_ProfileService$_onSaveComplete, + _onSaveFailed: Sys$Services$_ProfileService$_onSaveFailed, + _unflattenProperties: Sys$Services$_ProfileService$_unflattenProperties +} +Sys.Services._ProfileService.registerClass('Sys.Services._ProfileService', Sys.Net.WebServiceProxy); +Sys.Services.ProfileService = new Sys.Services._ProfileService(); +Sys.Services.ProfileGroup = function Sys$Services$ProfileGroup(properties) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "properties", mayBeNull: true, optional: true} + ]); + if (e) throw e; + if (properties) { + for (var property in properties) { + this[property] = properties[property]; + } + } +} +Sys.Services.ProfileGroup.registerClass('Sys.Services.ProfileGroup'); +Sys.Services._AuthenticationService = function Sys$Services$_AuthenticationService() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + Sys.Services._AuthenticationService.initializeBase(this); +} +Sys.Services._AuthenticationService.DefaultWebServicePath = ''; + function Sys$Services$_AuthenticationService$get_defaultLoginCompletedCallback() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._defaultLoginCompletedCallback; + } + function Sys$Services$_AuthenticationService$set_defaultLoginCompletedCallback(value) { + var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]); + if (e) throw e; + this._defaultLoginCompletedCallback = value; + } + function Sys$Services$_AuthenticationService$get_defaultLogoutCompletedCallback() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._defaultLogoutCompletedCallback; + } + function Sys$Services$_AuthenticationService$set_defaultLogoutCompletedCallback(value) { + var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]); + if (e) throw e; + this._defaultLogoutCompletedCallback = value; + } + function Sys$Services$_AuthenticationService$get_isLoggedIn() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._authenticated; + } + function Sys$Services$_AuthenticationService$get_path() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._path || ''; + } + function Sys$Services$_AuthenticationService$login(username, password, isPersistent, customInfo, redirectUrl, loginCompletedCallback, failedCallback, userContext) { + /// + /// + /// + /// + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "username", type: String}, + {name: "password", type: String, mayBeNull: true}, + {name: "isPersistent", type: Boolean, mayBeNull: true, optional: true}, + {name: "customInfo", type: String, mayBeNull: true, optional: true}, + {name: "redirectUrl", type: String, mayBeNull: true, optional: true}, + {name: "loginCompletedCallback", type: Function, mayBeNull: true, optional: true}, + {name: "failedCallback", type: Function, mayBeNull: true, optional: true}, + {name: "userContext", mayBeNull: true, optional: true} + ]); + if (e) throw e; + this._invoke(this._get_path(), "Login", false, + { userName: username, password: password, createPersistentCookie: isPersistent }, + Function.createDelegate(this, this._onLoginComplete), + Function.createDelegate(this, this._onLoginFailed), + [username, password, isPersistent, customInfo, redirectUrl, loginCompletedCallback, failedCallback, userContext]); + } + function Sys$Services$_AuthenticationService$logout(redirectUrl, logoutCompletedCallback, failedCallback, userContext) { + /// + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "redirectUrl", type: String, mayBeNull: true, optional: true}, + {name: "logoutCompletedCallback", type: Function, mayBeNull: true, optional: true}, + {name: "failedCallback", type: Function, mayBeNull: true, optional: true}, + {name: "userContext", mayBeNull: true, optional: true} + ]); + if (e) throw e; + this._invoke(this._get_path(), "Logout", false, {}, + Function.createDelegate(this, this._onLogoutComplete), + Function.createDelegate(this, this._onLogoutFailed), + [redirectUrl, logoutCompletedCallback, failedCallback, userContext]); + } + function Sys$Services$_AuthenticationService$_get_path() { + var path = this.get_path(); + if(!path.length) { + path = Sys.Services._AuthenticationService.DefaultWebServicePath; + } + if(!path || !path.length) { + throw Error.invalidOperation(Sys.Res.servicePathNotSet); + } + return path; + } + function Sys$Services$_AuthenticationService$_onLoginComplete(result, context, methodName) { + if(typeof(result) !== "boolean") { + throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType, methodName, "Boolean")); + } + + var redirectUrl = context[4]; + var userContext = context[7] || this.get_defaultUserContext(); + var callback = context[5] || this.get_defaultLoginCompletedCallback() || this.get_defaultSucceededCallback(); + + if(result) { + this._authenticated = true; + if (callback) { + callback(true, userContext, "Sys.Services.AuthenticationService.login"); + } + + if (typeof(redirectUrl) !== "undefined" && redirectUrl !== null) { + window.location.href = redirectUrl; + } + } + else if (callback) { + callback(false, userContext, "Sys.Services.AuthenticationService.login"); + } + } + function Sys$Services$_AuthenticationService$_onLoginFailed(err, context, methodName) { + var callback = context[6] || this.get_defaultFailedCallback(); + if (callback) { + var userContext = context[7] || this.get_defaultUserContext(); + callback(err, userContext, "Sys.Services.AuthenticationService.login"); + } + else { + Sys.Net.WebServiceProxy._defaultFailedCallback(err, methodName); + } + } + function Sys$Services$_AuthenticationService$_onLogoutComplete(result, context, methodName) { + if(result !== null) { + throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType, methodName, "null")); + } + + var redirectUrl = context[0]; + var userContext = context[3] || this.get_defaultUserContext(); + var callback = context[1] || this.get_defaultLogoutCompletedCallback() || this.get_defaultSucceededCallback(); + this._authenticated = false; + + if (callback) { + callback(null, userContext, "Sys.Services.AuthenticationService.logout"); + } + + if(!redirectUrl) { + window.location.reload(); + } + else { + window.location.href = redirectUrl; + } + } + function Sys$Services$_AuthenticationService$_onLogoutFailed(err, context, methodName) { + var callback = context[2] || this.get_defaultFailedCallback(); + if (callback) { + callback(err, context[3], "Sys.Services.AuthenticationService.logout"); + } + else { + Sys.Net.WebServiceProxy._defaultFailedCallback(err, methodName); + } + } + function Sys$Services$_AuthenticationService$_setAuthenticated(authenticated) { + this._authenticated = authenticated; + } +Sys.Services._AuthenticationService.prototype = { + _defaultLoginCompletedCallback: null, + _defaultLogoutCompletedCallback: null, + _path: '', + _timeout: 0, + _authenticated: false, + get_defaultLoginCompletedCallback: Sys$Services$_AuthenticationService$get_defaultLoginCompletedCallback, + set_defaultLoginCompletedCallback: Sys$Services$_AuthenticationService$set_defaultLoginCompletedCallback, + get_defaultLogoutCompletedCallback: Sys$Services$_AuthenticationService$get_defaultLogoutCompletedCallback, + set_defaultLogoutCompletedCallback: Sys$Services$_AuthenticationService$set_defaultLogoutCompletedCallback, + get_isLoggedIn: Sys$Services$_AuthenticationService$get_isLoggedIn, + get_path: Sys$Services$_AuthenticationService$get_path, + login: Sys$Services$_AuthenticationService$login, + logout: Sys$Services$_AuthenticationService$logout, + _get_path: Sys$Services$_AuthenticationService$_get_path, + _onLoginComplete: Sys$Services$_AuthenticationService$_onLoginComplete, + _onLoginFailed: Sys$Services$_AuthenticationService$_onLoginFailed, + _onLogoutComplete: Sys$Services$_AuthenticationService$_onLogoutComplete, + _onLogoutFailed: Sys$Services$_AuthenticationService$_onLogoutFailed, + _setAuthenticated: Sys$Services$_AuthenticationService$_setAuthenticated +} +Sys.Services._AuthenticationService.registerClass('Sys.Services._AuthenticationService', Sys.Net.WebServiceProxy); +Sys.Services.AuthenticationService = new Sys.Services._AuthenticationService(); +Sys.Services._RoleService = function Sys$Services$_RoleService() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + Sys.Services._RoleService.initializeBase(this); + this._roles = []; +} +Sys.Services._RoleService.DefaultWebServicePath = ''; + function Sys$Services$_RoleService$get_defaultLoadCompletedCallback() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._defaultLoadCompletedCallback; + } + function Sys$Services$_RoleService$set_defaultLoadCompletedCallback(value) { + var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]); + if (e) throw e; + this._defaultLoadCompletedCallback = value; + } + function Sys$Services$_RoleService$get_path() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._path || ''; + } + function Sys$Services$_RoleService$get_roles() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return Array.clone(this._roles); + } + function Sys$Services$_RoleService$isUserInRole(role) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "role", type: String} + ]); + if (e) throw e; + var v = this._get_rolesIndex()[role.trim().toLowerCase()]; + return !!v; + } + function Sys$Services$_RoleService$load(loadCompletedCallback, failedCallback, userContext) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "loadCompletedCallback", type: Function, mayBeNull: true, optional: true}, + {name: "failedCallback", type: Function, mayBeNull: true, optional: true}, + {name: "userContext", mayBeNull: true, optional: true} + ]); + if (e) throw e; + Sys.Net.WebServiceProxy.invoke( + this._get_path(), + "GetRolesForCurrentUser", + false, + {} , + Function.createDelegate(this, this._onLoadComplete), + Function.createDelegate(this, this._onLoadFailed), + [loadCompletedCallback, failedCallback, userContext], + this.get_timeout()); + } + function Sys$Services$_RoleService$_get_path() { + var path = this.get_path(); + if(!path || !path.length) { + path = Sys.Services._RoleService.DefaultWebServicePath; + } + if(!path || !path.length) { + throw Error.invalidOperation(Sys.Res.servicePathNotSet); + } + return path; + } + function Sys$Services$_RoleService$_get_rolesIndex() { + if (!this._rolesIndex) { + var index = {}; + for(var i=0; i < this._roles.length; i++) { + index[this._roles[i].toLowerCase()] = true; + } + this._rolesIndex = index; + } + return this._rolesIndex; + } + function Sys$Services$_RoleService$_onLoadComplete(result, context, methodName) { + if(result && !(result instanceof Array)) { + throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType, methodName, "Array")); + } + this._roles = result; + this._rolesIndex = null; + var callback = context[0] || this.get_defaultLoadCompletedCallback() || this.get_defaultSucceededCallback(); + if (callback) { + var userContext = context[2] || this.get_defaultUserContext(); + var clonedResult = Array.clone(result); + callback(clonedResult, userContext, "Sys.Services.RoleService.load"); + } + } + function Sys$Services$_RoleService$_onLoadFailed(err, context, methodName) { + var callback = context[1] || this.get_defaultFailedCallback(); + if (callback) { + var userContext = context[2] || this.get_defaultUserContext(); + callback(err, userContext, "Sys.Services.RoleService.load"); + } + else { + Sys.Net.WebServiceProxy._defaultFailedCallback(err, methodName); + } + } +Sys.Services._RoleService.prototype = { + _defaultLoadCompletedCallback: null, + _rolesIndex: null, + _timeout: 0, + _path: '', + get_defaultLoadCompletedCallback: Sys$Services$_RoleService$get_defaultLoadCompletedCallback, + set_defaultLoadCompletedCallback: Sys$Services$_RoleService$set_defaultLoadCompletedCallback, + get_path: Sys$Services$_RoleService$get_path, + get_roles: Sys$Services$_RoleService$get_roles, + isUserInRole: Sys$Services$_RoleService$isUserInRole, + load: Sys$Services$_RoleService$load, + _get_path: Sys$Services$_RoleService$_get_path, + _get_rolesIndex: Sys$Services$_RoleService$_get_rolesIndex, + _onLoadComplete: Sys$Services$_RoleService$_onLoadComplete, + _onLoadFailed: Sys$Services$_RoleService$_onLoadFailed +} +Sys.Services._RoleService.registerClass('Sys.Services._RoleService', Sys.Net.WebServiceProxy); +Sys.Services.RoleService = new Sys.Services._RoleService(); +Type.registerNamespace('Sys.Serialization'); +Sys.Serialization.JavaScriptSerializer = function Sys$Serialization$JavaScriptSerializer() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); +} +Sys.Serialization.JavaScriptSerializer.registerClass('Sys.Serialization.JavaScriptSerializer'); +Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs = []; +Sys.Serialization.JavaScriptSerializer._charsToEscape = []; +Sys.Serialization.JavaScriptSerializer._dateRegEx = new RegExp('(^|[^\\\\])\\"\\\\/Date\\((-?[0-9]+)(?:[a-zA-Z]|(?:\\+|-)[0-9]{4})?\\)\\\\/\\"', 'g'); +Sys.Serialization.JavaScriptSerializer._escapeChars = {}; +Sys.Serialization.JavaScriptSerializer._escapeRegEx = new RegExp('["\\\\\\x00-\\x1F]', 'i'); +Sys.Serialization.JavaScriptSerializer._escapeRegExGlobal = new RegExp('["\\\\\\x00-\\x1F]', 'g'); +Sys.Serialization.JavaScriptSerializer._jsonRegEx = new RegExp('[^,:{}\\[\\]0-9.\\-+Eaeflnr-u \\n\\r\\t]', 'g'); +Sys.Serialization.JavaScriptSerializer._jsonStringRegEx = new RegExp('"(\\\\.|[^"\\\\])*"', 'g'); +Sys.Serialization.JavaScriptSerializer._serverTypeFieldName = '__type'; +Sys.Serialization.JavaScriptSerializer._init = function Sys$Serialization$JavaScriptSerializer$_init() { + var replaceChars = ['\\u0000','\\u0001','\\u0002','\\u0003','\\u0004','\\u0005','\\u0006','\\u0007', + '\\b','\\t','\\n','\\u000b','\\f','\\r','\\u000e','\\u000f','\\u0010','\\u0011', + '\\u0012','\\u0013','\\u0014','\\u0015','\\u0016','\\u0017','\\u0018','\\u0019', + '\\u001a','\\u001b','\\u001c','\\u001d','\\u001e','\\u001f']; + Sys.Serialization.JavaScriptSerializer._charsToEscape[0] = '\\'; + Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs['\\'] = new RegExp('\\\\', 'g'); + Sys.Serialization.JavaScriptSerializer._escapeChars['\\'] = '\\\\'; + Sys.Serialization.JavaScriptSerializer._charsToEscape[1] = '"'; + Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs['"'] = new RegExp('"', 'g'); + Sys.Serialization.JavaScriptSerializer._escapeChars['"'] = '\\"'; + for (var i = 0; i < 32; i++) { + var c = String.fromCharCode(i); + Sys.Serialization.JavaScriptSerializer._charsToEscape[i+2] = c; + Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs[c] = new RegExp(c, 'g'); + Sys.Serialization.JavaScriptSerializer._escapeChars[c] = replaceChars[i]; + } +} +Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder = function Sys$Serialization$JavaScriptSerializer$_serializeBooleanWithBuilder(object, stringBuilder) { + stringBuilder.append(object.toString()); +} +Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder = function Sys$Serialization$JavaScriptSerializer$_serializeNumberWithBuilder(object, stringBuilder) { + if (isFinite(object)) { + stringBuilder.append(String(object)); + } + else { + throw Error.invalidOperation(Sys.Res.cannotSerializeNonFiniteNumbers); + } +} +Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder = function Sys$Serialization$JavaScriptSerializer$_serializeStringWithBuilder(string, stringBuilder) { + stringBuilder.append('"'); + if (Sys.Serialization.JavaScriptSerializer._escapeRegEx.test(string)) { + if (Sys.Serialization.JavaScriptSerializer._charsToEscape.length === 0) { + Sys.Serialization.JavaScriptSerializer._init(); + } + if (string.length < 128) { + string = string.replace(Sys.Serialization.JavaScriptSerializer._escapeRegExGlobal, + function(x) { return Sys.Serialization.JavaScriptSerializer._escapeChars[x]; }); + } + else { + for (var i = 0; i < 34; i++) { + var c = Sys.Serialization.JavaScriptSerializer._charsToEscape[i]; + if (string.indexOf(c) !== -1) { + if (Sys.Browser.agent === Sys.Browser.Opera || Sys.Browser.agent === Sys.Browser.FireFox) { + string = string.split(c).join(Sys.Serialization.JavaScriptSerializer._escapeChars[c]); + } + else { + string = string.replace(Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs[c], + Sys.Serialization.JavaScriptSerializer._escapeChars[c]); + } + } + } + } + } + stringBuilder.append(string); + stringBuilder.append('"'); +} +Sys.Serialization.JavaScriptSerializer._serializeWithBuilder = function Sys$Serialization$JavaScriptSerializer$_serializeWithBuilder(object, stringBuilder, sort, prevObjects) { + var i; + switch (typeof object) { + case 'object': + if (object) { + if (prevObjects){ + for( var j = 0; j < prevObjects.length; j++) { + if (prevObjects[j] === object) { + throw Error.invalidOperation(Sys.Res.cannotSerializeObjectWithCycle); + } + } + } + else { + prevObjects = new Array(); + } + try { + Array.add(prevObjects, object); + + if (Number.isInstanceOfType(object)){ + Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder(object, stringBuilder); + } + else if (Boolean.isInstanceOfType(object)){ + Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder(object, stringBuilder); + } + else if (String.isInstanceOfType(object)){ + Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder(object, stringBuilder); + } + + else if (Array.isInstanceOfType(object)) { + stringBuilder.append('['); + + for (i = 0; i < object.length; ++i) { + if (i > 0) { + stringBuilder.append(','); + } + Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(object[i], stringBuilder,false,prevObjects); + } + stringBuilder.append(']'); + } + else { + if (Date.isInstanceOfType(object)) { + stringBuilder.append('"\\/Date('); + stringBuilder.append(object.getTime()); + stringBuilder.append(')\\/"'); + break; + } + var properties = []; + var propertyCount = 0; + for (var name in object) { + if (name.startsWith('$')) { + continue; + } + if (name === Sys.Serialization.JavaScriptSerializer._serverTypeFieldName && propertyCount !== 0){ + properties[propertyCount++] = properties[0]; + properties[0] = name; + } + else{ + properties[propertyCount++] = name; + } + } + if (sort) properties.sort(); + stringBuilder.append('{'); + var needComma = false; + + for (i=0; i + /// + /// + var e = Function._validateParams(arguments, [ + {name: "object", mayBeNull: true} + ]); + if (e) throw e; + var stringBuilder = new Sys.StringBuilder(); + Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(object, stringBuilder, false); + return stringBuilder.toString(); +} +Sys.Serialization.JavaScriptSerializer.deserialize = function Sys$Serialization$JavaScriptSerializer$deserialize(data, secure) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "data", type: String}, + {name: "secure", type: Boolean, optional: true} + ]); + if (e) throw e; + + if (data.length === 0) throw Error.argument('data', Sys.Res.cannotDeserializeEmptyString); + try { + var exp = data.replace(Sys.Serialization.JavaScriptSerializer._dateRegEx, "$1new Date($2)"); + + if (secure && Sys.Serialization.JavaScriptSerializer._jsonRegEx.test( + exp.replace(Sys.Serialization.JavaScriptSerializer._jsonStringRegEx, ''))) throw null; + return eval('(' + exp + ')'); + } + catch (e) { + throw Error.argument('data', Sys.Res.cannotDeserializeInvalidJson); + } +} + +Sys.CultureInfo = function Sys$CultureInfo(name, numberFormat, dateTimeFormat) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "name", type: String}, + {name: "numberFormat", type: Object}, + {name: "dateTimeFormat", type: Object} + ]); + if (e) throw e; + this.name = name; + this.numberFormat = numberFormat; + this.dateTimeFormat = dateTimeFormat; +} + function Sys$CultureInfo$_getDateTimeFormats() { + if (! this._dateTimeFormats) { + var dtf = this.dateTimeFormat; + this._dateTimeFormats = + [ dtf.MonthDayPattern, + dtf.YearMonthPattern, + dtf.ShortDatePattern, + dtf.ShortTimePattern, + dtf.LongDatePattern, + dtf.LongTimePattern, + dtf.FullDateTimePattern, + dtf.RFC1123Pattern, + dtf.SortableDateTimePattern, + dtf.UniversalSortableDateTimePattern ]; + } + return this._dateTimeFormats; + } + function Sys$CultureInfo$_getMonthIndex(value) { + if (!this._upperMonths) { + this._upperMonths = this._toUpperArray(this.dateTimeFormat.MonthNames); + } + return Array.indexOf(this._upperMonths, this._toUpper(value)); + } + function Sys$CultureInfo$_getAbbrMonthIndex(value) { + if (!this._upperAbbrMonths) { + this._upperAbbrMonths = this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthNames); + } + return Array.indexOf(this._upperAbbrMonths, this._toUpper(value)); + } + function Sys$CultureInfo$_getDayIndex(value) { + if (!this._upperDays) { + this._upperDays = this._toUpperArray(this.dateTimeFormat.DayNames); + } + return Array.indexOf(this._upperDays, this._toUpper(value)); + } + function Sys$CultureInfo$_getAbbrDayIndex(value) { + if (!this._upperAbbrDays) { + this._upperAbbrDays = this._toUpperArray(this.dateTimeFormat.AbbreviatedDayNames); + } + return Array.indexOf(this._upperAbbrDays, this._toUpper(value)); + } + function Sys$CultureInfo$_toUpperArray(arr) { + var result = []; + for (var i = 0, il = arr.length; i < il; i++) { + result[i] = this._toUpper(arr[i]); + } + return result; + } + function Sys$CultureInfo$_toUpper(value) { + return value.split("\u00A0").join(' ').toUpperCase(); + } +Sys.CultureInfo.prototype = { + _getDateTimeFormats: Sys$CultureInfo$_getDateTimeFormats, + _getMonthIndex: Sys$CultureInfo$_getMonthIndex, + _getAbbrMonthIndex: Sys$CultureInfo$_getAbbrMonthIndex, + _getDayIndex: Sys$CultureInfo$_getDayIndex, + _getAbbrDayIndex: Sys$CultureInfo$_getAbbrDayIndex, + _toUpperArray: Sys$CultureInfo$_toUpperArray, + _toUpper: Sys$CultureInfo$_toUpper +} +Sys.CultureInfo._parse = function Sys$CultureInfo$_parse(value) { + var cultureInfo = Sys.Serialization.JavaScriptSerializer.deserialize(value); + return new Sys.CultureInfo(cultureInfo.name, cultureInfo.numberFormat, cultureInfo.dateTimeFormat); +} +Sys.CultureInfo.registerClass('Sys.CultureInfo'); +Sys.CultureInfo.InvariantCulture = Sys.CultureInfo._parse('{"name":"","numberFormat":{"CurrencyDecimalDigits":2,"CurrencyDecimalSeparator":".","IsReadOnly":true,"CurrencyGroupSizes":[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":",","CurrencySymbol":"\u00A4","NaNSymbol":"NaN","CurrencyNegativePattern":0,"NumberNegativePattern":1,"PercentPositivePattern":0,"PercentNegativePattern":0,"NegativeInfinitySymbol":"-Infinity","NegativeSign":"-","NumberDecimalDigits":2,"NumberDecimalSeparator":".","NumberGroupSeparator":",","CurrencyPositivePattern":0,"PositiveInfinitySymbol":"Infinity","PositiveSign":"+","PercentDecimalDigits":2,"PercentDecimalSeparator":".","PercentGroupSeparator":",","PercentSymbol":"%","PerMilleSymbol":"\u2030","NativeDigits":["0","1","2","3","4","5","6","7","8","9"],"DigitSubstitution":1},"dateTimeFormat":{"AMDesignator":"AM","Calendar":{"MinSupportedDateTime":"@-62135568000000@","MaxSupportedDateTime":"@253402300799999@","AlgorithmType":1,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":true},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDateTimePattern":"dddd, dd MMMM yyyy HH:mm:ss","LongDatePattern":"dddd, dd MMMM yyyy","LongTimePattern":"HH:mm:ss","MonthDayPattern":"MMMM dd","PMDesignator":"PM","RFC1123Pattern":"ddd, dd MMM yyyy HH\':\'mm\':\'ss \'GMT\'","ShortDatePattern":"MM/dd/yyyy","ShortTimePattern":"HH:mm","SortableDateTimePattern":"yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss","TimeSeparator":":","UniversalSortableDateTimePattern":"yyyy\'-\'MM\'-\'dd HH\':\'mm\':\'ss\'Z\'","YearMonthPattern":"yyyy MMMM","AbbreviatedDayNames":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"ShortestDayNames":["Su","Mo","Tu","We","Th","Fr","Sa"],"DayNames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"AbbreviatedMonthNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthNames":["January","February","March","April","May","June","July","August","September","October","November","December",""],"IsReadOnly":true,"NativeCalendarName":"Gregorian Calendar","AbbreviatedMonthGenitiveNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthGenitiveNames":["January","February","March","April","May","June","July","August","September","October","November","December",""]}}'); +if (typeof(__cultureInfo) === 'undefined') { + var __cultureInfo = '{"name":"en-US","numberFormat":{"CurrencyDecimalDigits":2,"CurrencyDecimalSeparator":".","IsReadOnly":false,"CurrencyGroupSizes":[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":",","CurrencySymbol":"$","NaNSymbol":"NaN","CurrencyNegativePattern":0,"NumberNegativePattern":1,"PercentPositivePattern":0,"PercentNegativePattern":0,"NegativeInfinitySymbol":"-Infinity","NegativeSign":"-","NumberDecimalDigits":2,"NumberDecimalSeparator":".","NumberGroupSeparator":",","CurrencyPositivePattern":0,"PositiveInfinitySymbol":"Infinity","PositiveSign":"+","PercentDecimalDigits":2,"PercentDecimalSeparator":".","PercentGroupSeparator":",","PercentSymbol":"%","PerMilleSymbol":"\u2030","NativeDigits":["0","1","2","3","4","5","6","7","8","9"],"DigitSubstitution":1},"dateTimeFormat":{"AMDesignator":"AM","Calendar":{"MinSupportedDateTime":"@-62135568000000@","MaxSupportedDateTime":"@253402300799999@","AlgorithmType":1,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":false},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDateTimePattern":"dddd, MMMM dd, yyyy h:mm:ss tt","LongDatePattern":"dddd, MMMM dd, yyyy","LongTimePattern":"h:mm:ss tt","MonthDayPattern":"MMMM dd","PMDesignator":"PM","RFC1123Pattern":"ddd, dd MMM yyyy HH\':\'mm\':\'ss \'GMT\'","ShortDatePattern":"M/d/yyyy","ShortTimePattern":"h:mm tt","SortableDateTimePattern":"yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss","TimeSeparator":":","UniversalSortableDateTimePattern":"yyyy\'-\'MM\'-\'dd HH\':\'mm\':\'ss\'Z\'","YearMonthPattern":"MMMM, yyyy","AbbreviatedDayNames":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"ShortestDayNames":["Su","Mo","Tu","We","Th","Fr","Sa"],"DayNames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"AbbreviatedMonthNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthNames":["January","February","March","April","May","June","July","August","September","October","November","December",""],"IsReadOnly":false,"NativeCalendarName":"Gregorian Calendar","AbbreviatedMonthGenitiveNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthGenitiveNames":["January","February","March","April","May","June","July","August","September","October","November","December",""]}}'; +} +Sys.CultureInfo.CurrentCulture = Sys.CultureInfo._parse(__cultureInfo); +delete __cultureInfo; + +Sys.UI.Behavior = function Sys$UI$Behavior(element) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true} + ]); + if (e) throw e; + Sys.UI.Behavior.initializeBase(this); + this._element = element; + var behaviors = element._behaviors; + if (!behaviors) { + element._behaviors = [this]; + } + else { + behaviors[behaviors.length] = this; + } +} + function Sys$UI$Behavior$get_element() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._element; + } + function Sys$UI$Behavior$get_id() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + var baseId = Sys.UI.Behavior.callBaseMethod(this, 'get_id'); + if (baseId) return baseId; + if (!this._element || !this._element.id) return ''; + return this._element.id + '$' + this.get_name(); + } + function Sys$UI$Behavior$get_name() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (this._name) return this._name; + var name = Object.getTypeName(this); + var i = name.lastIndexOf('.'); + if (i != -1) name = name.substr(i + 1); + if (!this.get_isInitialized()) this._name = name; + return name; + } + function Sys$UI$Behavior$set_name(value) { + var e = Function._validateParams(arguments, [{name: "value", type: String}]); + if (e) throw e; + if ((value === '') || (value.charAt(0) === ' ') || (value.charAt(value.length - 1) === ' ')) + throw Error.argument('value', Sys.Res.invalidId); + if (typeof(this._element[value]) !== 'undefined') + throw Error.invalidOperation(String.format(Sys.Res.behaviorDuplicateName, value)); + if (this.get_isInitialized()) throw Error.invalidOperation(Sys.Res.cantSetNameAfterInit); + this._name = value; + } + function Sys$UI$Behavior$initialize() { + Sys.UI.Behavior.callBaseMethod(this, 'initialize'); + var name = this.get_name(); + if (name) this._element[name] = this; + } + function Sys$UI$Behavior$dispose() { + Sys.UI.Behavior.callBaseMethod(this, 'dispose'); + if (this._element) { + var name = this.get_name(); + if (name) { + this._element[name] = null; + } + Array.remove(this._element._behaviors, this); + delete this._element; + } + } +Sys.UI.Behavior.prototype = { + _name: null, + get_element: Sys$UI$Behavior$get_element, + get_id: Sys$UI$Behavior$get_id, + get_name: Sys$UI$Behavior$get_name, + set_name: Sys$UI$Behavior$set_name, + initialize: Sys$UI$Behavior$initialize, + dispose: Sys$UI$Behavior$dispose +} +Sys.UI.Behavior.registerClass('Sys.UI.Behavior', Sys.Component); +Sys.UI.Behavior.getBehaviorByName = function Sys$UI$Behavior$getBehaviorByName(element, name) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true}, + {name: "name", type: String} + ]); + if (e) throw e; + var b = element[name]; + return (b && Sys.UI.Behavior.isInstanceOfType(b)) ? b : null; +} +Sys.UI.Behavior.getBehaviors = function Sys$UI$Behavior$getBehaviors(element) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true} + ]); + if (e) throw e; + if (!element._behaviors) return []; + return Array.clone(element._behaviors); +} +Sys.UI.Behavior.getBehaviorsByType = function Sys$UI$Behavior$getBehaviorsByType(element, type) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true}, + {name: "type", type: Type} + ]); + if (e) throw e; + var behaviors = element._behaviors; + var results = []; + if (behaviors) { + for (var i = 0, l = behaviors.length; i < l; i++) { + if (type.isInstanceOfType(behaviors[i])) { + results[results.length] = behaviors[i]; + } + } + } + return results; +} + +Sys.UI.VisibilityMode = function Sys$UI$VisibilityMode() { + /// + /// + /// + if (arguments.length !== 0) throw Error.parameterCount(); + throw Error.notImplemented(); +} +Sys.UI.VisibilityMode.prototype = { + hide: 0, + collapse: 1 +} +Sys.UI.VisibilityMode.registerEnum("Sys.UI.VisibilityMode"); + +Sys.UI.Control = function Sys$UI$Control(element) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "element", domElement: true} + ]); + if (e) throw e; + if (typeof(element.control) != 'undefined') throw Error.invalidOperation(Sys.Res.controlAlreadyDefined); + Sys.UI.Control.initializeBase(this); + this._element = element; + element.control = this; +} + function Sys$UI$Control$get_element() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + return this._element; + } + function Sys$UI$Control$get_id() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (!this._element) return ''; + return this._element.id; + } + function Sys$UI$Control$set_id(value) { + var e = Function._validateParams(arguments, [{name: "value", type: String}]); + if (e) throw e; + throw Error.invalidOperation(Sys.Res.cantSetId); + } + function Sys$UI$Control$get_parent() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (this._parent) return this._parent; + if (!this._element) return null; + + var parentElement = this._element.parentNode; + while (parentElement) { + if (parentElement.control) { + return parentElement.control; + } + parentElement = parentElement.parentNode; + } + return null; + } + function Sys$UI$Control$set_parent(value) { + var e = Function._validateParams(arguments, [{name: "value", type: Sys.UI.Control}]); + if (e) throw e; + if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); + var parents = [this]; + var current = value; + while (current) { + if (Array.contains(parents, current)) throw Error.invalidOperation(Sys.Res.circularParentChain); + parents[parents.length] = current; + current = current.get_parent(); + } + this._parent = value; + } + function Sys$UI$Control$get_visibilityMode() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); + return Sys.UI.DomElement.getVisibilityMode(this._element); + } + function Sys$UI$Control$set_visibilityMode(value) { + var e = Function._validateParams(arguments, [{name: "value", type: Sys.UI.VisibilityMode}]); + if (e) throw e; + if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); + Sys.UI.DomElement.setVisibilityMode(this._element, value); + } + function Sys$UI$Control$get_visible() { + /// + if (arguments.length !== 0) throw Error.parameterCount(); + if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); + return Sys.UI.DomElement.getVisible(this._element); + } + function Sys$UI$Control$set_visible(value) { + var e = Function._validateParams(arguments, [{name: "value", type: Boolean}]); + if (e) throw e; + if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); + Sys.UI.DomElement.setVisible(this._element, value) + } + function Sys$UI$Control$addCssClass(className) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "className", type: String} + ]); + if (e) throw e; + if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); + Sys.UI.DomElement.addCssClass(this._element, className); + } + function Sys$UI$Control$dispose() { + Sys.UI.Control.callBaseMethod(this, 'dispose'); + if (this._element) { + this._element.control = undefined; + delete this._element; + } + if (this._parent) delete this._parent; + } + function Sys$UI$Control$onBubbleEvent(source, args) { + /// + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "source"}, + {name: "args", type: Sys.EventArgs} + ]); + if (e) throw e; + return false; + } + function Sys$UI$Control$raiseBubbleEvent(source, args) { + /// + /// + /// + var e = Function._validateParams(arguments, [ + {name: "source"}, + {name: "args", type: Sys.EventArgs} + ]); + if (e) throw e; + var currentTarget = this.get_parent(); + while (currentTarget) { + if (currentTarget.onBubbleEvent(source, args)) { + return; + } + currentTarget = currentTarget.get_parent(); + } + } + function Sys$UI$Control$removeCssClass(className) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "className", type: String} + ]); + if (e) throw e; + if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); + Sys.UI.DomElement.removeCssClass(this._element, className); + } + function Sys$UI$Control$toggleCssClass(className) { + /// + /// + var e = Function._validateParams(arguments, [ + {name: "className", type: String} + ]); + if (e) throw e; + if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); + Sys.UI.DomElement.toggleCssClass(this._element, className); + } +Sys.UI.Control.prototype = { + _parent: null, + _visibilityMode: Sys.UI.VisibilityMode.hide, + get_element: Sys$UI$Control$get_element, + get_id: Sys$UI$Control$get_id, + set_id: Sys$UI$Control$set_id, + get_parent: Sys$UI$Control$get_parent, + set_parent: Sys$UI$Control$set_parent, + get_visibilityMode: Sys$UI$Control$get_visibilityMode, + set_visibilityMode: Sys$UI$Control$set_visibilityMode, + get_visible: Sys$UI$Control$get_visible, + set_visible: Sys$UI$Control$set_visible, + addCssClass: Sys$UI$Control$addCssClass, + dispose: Sys$UI$Control$dispose, + onBubbleEvent: Sys$UI$Control$onBubbleEvent, + raiseBubbleEvent: Sys$UI$Control$raiseBubbleEvent, + removeCssClass: Sys$UI$Control$removeCssClass, + toggleCssClass: Sys$UI$Control$toggleCssClass +} +Sys.UI.Control.registerClass('Sys.UI.Control', Sys.Component); + + +Type.registerNamespace('Sys'); + +Sys.Res={ +'urlMustBeLessThan1024chars':'The history state must be small enough to not make the url larger than 1024 characters.', +'argumentTypeName':'Value is not the name of an existing type.', +'methodRegisteredTwice':'Method {0} has already been registered.', +'cantSetIdAfterInit':'The id property can\'t be set on this object after initialization.', +'cantBeCalledAfterDispose':'Can\'t be called after dispose.', +'componentCantSetIdAfterAddedToApp':'The id property of a component can\'t be set after it\'s been added to the Application object.', +'behaviorDuplicateName':'A behavior with name \'{0}\' already exists or it is the name of an existing property on the target element.', +'notATypeName':'Value is not a valid type name.', +'typeShouldBeTypeOrString':'Value is not a valid type or a valid type name.', +'historyInvalidHistorySettingCombination':'Cannot set enableHistory to false when ScriptManager.EnableHistory is true.', +'stateMustBeStringDictionary':'The state object can only have null and string fields.', +'boolTrueOrFalse':'Value must be \'true\' or \'false\'.', +'scriptLoadFailedNoHead':'ScriptLoader requires pages to contain a element.', +'stringFormatInvalid':'The format string is invalid.', +'referenceNotFound':'Component \'{0}\' was not found.', +'enumReservedName':'\'{0}\' is a reserved name that can\'t be used as an enum value name.', +'eventHandlerNotFound':'Handler not found.', +'circularParentChain':'The chain of control parents can\'t have circular references.', +'undefinedEvent':'\'{0}\' is not an event.', +'notAMethod':'{0} is not a method.', +'propertyUndefined':'\'{0}\' is not a property or an existing field.', +'historyCannotEnableHistory':'Cannot set enableHistory after initialization.', +'eventHandlerInvalid':'Handler was not added through the Sys.UI.DomEvent.addHandler method.', +'scriptLoadFailedDebug':'The script \'{0}\' failed to load. Check for:\r\n Inaccessible path.\r\n Script errors. (IE) Enable \'Display a notification about every script error\' under advanced settings.\r\n Missing call to Sys.Application.notifyScriptLoaded().', +'propertyNotWritable':'\'{0}\' is not a writable property.', +'enumInvalidValueName':'\'{0}\' is not a valid name for an enum value.', +'controlAlreadyDefined':'A control is already associated with the element.', +'addHandlerCantBeUsedForError':'Can\'t add a handler for the error event using this method. Please set the window.onerror property instead.', +'namespaceContainsObject':'Object {0} already exists and is not a namespace.', +'cantAddNonFunctionhandler':'Can\'t add a handler that is not a function.', +'invalidNameSpace':'Value is not a valid namespace identifier.', +'notAnInterface':'Value is not a valid interface.', +'eventHandlerNotFunction':'Handler must be a function.', +'propertyNotAnArray':'\'{0}\' is not an Array property.', +'typeRegisteredTwice':'Type {0} has already been registered. The type may be defined multiple times or the script file that defines it may have already been loaded. A possible cause is a change of settings during a partial update.', +'cantSetNameAfterInit':'The name property can\'t be set on this object after initialization.', +'historyMissingFrame':'For the history feature to work in IE, the page must have an iFrame element with id \'__historyFrame\' pointed to a page that gets its title from the \'title\' query string parameter and calls Sys.Application._onIFrameLoad() on the parent window. This can be done by setting EnableHistory to true on ScriptManager.', +'appDuplicateComponent':'Two components with the same id \'{0}\' can\'t be added to the application.', +'historyCannotAddHistoryPointWithHistoryDisabled':'A history point can only be added if enableHistory is set to true.', +'appComponentMustBeInitialized':'Components must be initialized before they are added to the Application object.', +'baseNotAClass':'Value is not a class.', +'methodNotFound':'No method found with name \'{0}\'.', +'arrayParseBadFormat':'Value must be a valid string representation for an array. It must start with a \'[\' and end with a \']\'.', +'stateFieldNameInvalid':'State field names must not contain any \'=\' characters.', +'cantSetId':'The id property can\'t be set on this object.', +'historyMissingHiddenInput':'For the history feature to work in Safari 2, the page must have a hidden input element with id \'__history\'.', +'stringFormatBraceMismatch':'The format string contains an unmatched opening or closing brace.', +'enumValueNotInteger':'An enumeration definition can only contain integer values.', +'propertyNullOrUndefined':'Cannot set the properties of \'{0}\' because it returned a null value.', +'argumentDomNode':'Value must be a DOM element or a text node.', +'componentCantSetIdTwice':'The id property of a component can\'t be set more than once.', +'createComponentOnDom':'Value must be null for Components that are not Controls or Behaviors.', +'createNotComponent':'{0} does not derive from Sys.Component.', +'createNoDom':'Value must not be null for Controls and Behaviors.', +'cantAddWithoutId':'Can\'t add a component that doesn\'t have an id.', +'badTypeName':'Value is not the name of the type being registered or the name is a reserved word.', +'argumentInteger':'Value must be an integer.', +'scriptLoadMultipleCallbacks':'The script \'{0}\' contains multiple calls to Sys.Application.notifyScriptLoaded(). Only one is allowed.', +'invokeCalledTwice':'Cannot call invoke more than once.', +'webServiceFailed':'The server method \'{0}\' failed with the following error: {1}', +'webServiceInvalidJsonWrapper':'The server method \'{0}\' returned invalid data. The \'d\' property is missing from the JSON wrapper.', +'argumentType':'Object cannot be converted to the required type.', +'argumentNull':'Value cannot be null.', +'controlCantSetId':'The id property can\'t be set on a control.', +'formatBadFormatSpecifier':'Format specifier was invalid.', +'webServiceFailedNoMsg':'The server method \'{0}\' failed.', +'argumentDomElement':'Value must be a DOM element.', +'invalidExecutorType':'Could not create a valid Sys.Net.WebRequestExecutor from: {0}.', +'cannotCallBeforeResponse':'Cannot call {0} when responseAvailable is false.', +'actualValue':'Actual value was {0}.', +'enumInvalidValue':'\'{0}\' is not a valid value for enum {1}.', +'scriptLoadFailed':'The script \'{0}\' could not be loaded.', +'parameterCount':'Parameter count mismatch.', +'cannotDeserializeEmptyString':'Cannot deserialize empty string.', +'formatInvalidString':'Input string was not in a correct format.', +'invalidTimeout':'Value must be greater than or equal to zero.', +'cannotAbortBeforeStart':'Cannot abort when executor has not started.', +'argument':'Value does not fall within the expected range.', +'cannotDeserializeInvalidJson':'Cannot deserialize. The data does not correspond to valid JSON.', +'invalidHttpVerb':'httpVerb cannot be set to an empty or null string.', +'nullWebRequest':'Cannot call executeRequest with a null webRequest.', +'eventHandlerInvalid':'Handler was not added through the Sys.UI.DomEvent.addHandler method.', +'cannotSerializeNonFiniteNumbers':'Cannot serialize non finite numbers.', +'argumentUndefined':'Value cannot be undefined.', +'webServiceInvalidReturnType':'The server method \'{0}\' returned an invalid type. Expected type: {1}', +'servicePathNotSet':'The path to the web service has not been set.', +'argumentTypeWithTypes':'Object of type \'{0}\' cannot be converted to type \'{1}\'.', +'cannotCallOnceStarted':'Cannot call {0} once started.', +'badBaseUrl1':'Base URL does not contain ://.', +'badBaseUrl2':'Base URL does not contain another /.', +'badBaseUrl3':'Cannot find last / in base URL.', +'setExecutorAfterActive':'Cannot set executor after it has become active.', +'paramName':'Parameter name: {0}', +'cannotCallOutsideHandler':'Cannot call {0} outside of a completed event handler.', +'cannotSerializeObjectWithCycle':'Cannot serialize object with cyclic reference within child properties.', +'format':'One of the identified items was in an invalid format.', +'assertFailedCaller':'Assertion Failed: {0}\r\nat {1}', +'argumentOutOfRange':'Specified argument was out of the range of valid values.', +'webServiceTimedOut':'The server method \'{0}\' timed out.', +'notImplemented':'The method or operation is not implemented.', +'assertFailed':'Assertion Failed: {0}', +'invalidOperation':'Operation is not valid due to the current state of the object.', +'breakIntoDebugger':'{0}\r\n\r\nBreak into debugger?' +}; + +if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded(); diff --git a/aspclassiccompiler/AzureStoreAsp/AzureStoreService/bin/Release/AzureStoreService.csx/roles/MVCAzureStore/Scripts/MicrosoftAjax.js b/aspclassiccompiler/AzureStoreAsp/AzureStoreService/bin/Release/AzureStoreService.csx/roles/MVCAzureStore/Scripts/MicrosoftAjax.js index 646f633..db85c14 100644 --- a/aspclassiccompiler/AzureStoreAsp/AzureStoreService/bin/Release/AzureStoreService.csx/roles/MVCAzureStore/Scripts/MicrosoftAjax.js +++ b/aspclassiccompiler/AzureStoreAsp/AzureStoreService/bin/Release/AzureStoreService.csx/roles/MVCAzureStore/Scripts/MicrosoftAjax.js @@ -1,7 +1,7 @@ -//---------------------------------------------------------- -// Copyright (C) Microsoft Corporation. All rights reserved. -//---------------------------------------------------------- -// MicrosoftAjax.js -Function.__typeName="Function";Function.__class=true;Function.createCallback=function(b,a){return function(){var e=arguments.length;if(e>0){var d=[];for(var c=0;cc){var f=Error.parameterCount();f.popStackFrame();return f}return null};Function._validateParameter=function(c,a,h){var b,g=a.type,l=!!a.integer,k=!!a.domElement,m=!!a.mayBeNull;b=Function._validateParameterType(c,g,l,k,m,h);if(b){b.popStackFrame();return b}var e=a.elementType,f=!!a.elementMayBeNull;if(g===Array&&typeof c!=="undefined"&&c!==null&&(e||!f)){var j=!!a.elementInteger,i=!!a.elementDomElement;for(var d=0;d0&&(dc.Calendar.TwoDigitYearMax)return a-100}return a};Date._getParseRegExp=function(b,e){if(!b._parseRegExp)b._parseRegExp={};else if(b._parseRegExp[e])return b._parseRegExp[e];var c=Date._expandFormat(b,e);c=c.replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g,"\\\\$1");var a=new Sys.StringBuilder("^"),j=[],f=0,i=0,h=Date._getTokenRegExp(),d;while((d=h.exec(c))!==null){var l=c.slice(f,d.index);f=h.lastIndex;i+=Date._appendPreOrPostMatch(l,a);if(i%2===1){a.append(d[0]);continue}switch(d[0]){case "dddd":case "ddd":case "MMMM":case "MMM":a.append("(\\D+)");break;case "tt":case "t":a.append("(\\D*)");break;case "yyyy":a.append("(\\d{4})");break;case "fff":a.append("(\\d{3})");break;case "ff":a.append("(\\d{2})");break;case "f":a.append("(\\d)");break;case "dd":case "d":case "MM":case "M":case "yy":case "y":case "HH":case "H":case "hh":case "h":case "mm":case "m":case "ss":case "s":a.append("(\\d\\d?)");break;case "zzz":a.append("([+-]?\\d\\d?:\\d{2})");break;case "zz":case "z":a.append("([+-]?\\d\\d?)")}Array.add(j,d[0])}Date._appendPreOrPostMatch(c.slice(f),a);a.append("$");var k=a.toString().replace(/\s+/g,"\\s+"),g={"regExp":k,"groups":j};b._parseRegExp[e]=g;return g};Date._getTokenRegExp=function(){return /dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z/g};Date.parseLocale=function(a){return Date._parse(a,Sys.CultureInfo.CurrentCulture,arguments)};Date.parseInvariant=function(a){return Date._parse(a,Sys.CultureInfo.InvariantCulture,arguments)};Date._parse=function(g,c,h){var e=false;for(var a=1,i=h.length;a31)return null;break;case "MMMM":c=j._getMonthIndex(a);if(c<0||c>11)return null;break;case "MMM":c=j._getAbbrMonthIndex(a);if(c<0||c>11)return null;break;case "M":case "MM":var c=parseInt(a,10)-1;if(c<0||c>11)return null;break;case "y":case "yy":f=Date._expandYear(m,parseInt(a,10));if(f<0||f>9999)return null;break;case "yyyy":f=parseInt(a,10);if(f<0||f>9999)return null;break;case "h":case "hh":d=parseInt(a,10);if(d===12)d=0;if(d<0||d>11)return null;break;case "H":case "HH":d=parseInt(a,10);if(d<0||d>23)return null;break;case "m":case "mm":n=parseInt(a,10);if(n<0||n>59)return null;break;case "s":case "ss":o=parseInt(a,10);if(o<0||o>59)return null;break;case "tt":case "t":var u=a.toUpperCase();r=u===m.PMDesignator.toUpperCase();if(!r&&u!==m.AMDesignator.toUpperCase())return null;break;case "f":e=parseInt(a,10)*100;if(e<0||e>999)return null;break;case "ff":e=parseInt(a,10)*10;if(e<0||e>999)return null;break;case "fff":e=parseInt(a,10);if(e<0||e>999)return null;break;case "dddd":g=j._getDayIndex(a);if(g<0||g>6)return null;break;case "ddd":g=j._getAbbrDayIndex(a);if(g<0||g>6)return null;break;case "zzz":var q=a.split(/:/);if(q.length!==2)return null;var i=parseInt(q[0],10);if(i<-12||i>13)return null;var l=parseInt(q[1],10);if(l<0||l>59)return null;k=i*60+(a.startsWith("-")?-l:l);break;case "z":case "zz":var i=parseInt(a,10);if(i<-12||i>13)return null;k=i*60}}var b=new Date;if(f===null)f=b.getFullYear();if(c===null)c=b.getMonth();if(h===null)h=b.getDate();b.setFullYear(f,c,h);if(b.getDate()!==h)return null;if(g!==null&&b.getDay()!==g)return null;if(r&&d<12)d+=12;b.setHours(d,n,o,e);if(k!==null){var t=b.getMinutes()-(k+b.getTimezoneOffset());b.setHours(b.getHours()+parseInt(t/60,10),t%60)}return b};Date.prototype.format=function(a){return this._toFormattedString(a,Sys.CultureInfo.InvariantCulture)};Date.prototype.localeFormat=function(a){return this._toFormattedString(a,Sys.CultureInfo.CurrentCulture)};Date.prototype._toFormattedString=function(e,h){if(!e||e.length===0||e==="i")if(h&&h.name.length>0)return this.toLocaleString();else return this.toString();var d=h.dateTimeFormat;e=Date._expandFormat(d,e);var a=new Sys.StringBuilder,b;function c(a){if(a<10)return "0"+a;return a.toString()}function g(a){if(a<10)return "00"+a;if(a<100)return "0"+a;return a.toString()}var j=0,i=Date._getTokenRegExp();for(;true;){var l=i.lastIndex,f=i.exec(e),k=e.slice(l,f?f.index:e.length);j+=Date._appendPreOrPostMatch(k,a);if(!f)break;if(j%2===1){a.append(f[0]);continue}switch(f[0]){case "dddd":a.append(d.DayNames[this.getDay()]);break;case "ddd":a.append(d.AbbreviatedDayNames[this.getDay()]);break;case "dd":a.append(c(this.getDate()));break;case "d":a.append(this.getDate());break;case "MMMM":a.append(d.MonthNames[this.getMonth()]);break;case "MMM":a.append(d.AbbreviatedMonthNames[this.getMonth()]);break;case "MM":a.append(c(this.getMonth()+1));break;case "M":a.append(this.getMonth()+1);break;case "yyyy":a.append(this.getFullYear());break;case "yy":a.append(c(this.getFullYear()%100));break;case "y":a.append(this.getFullYear()%100);break;case "hh":b=this.getHours()%12;if(b===0)b=12;a.append(c(b));break;case "h":b=this.getHours()%12;if(b===0)b=12;a.append(b);break;case "HH":a.append(c(this.getHours()));break;case "H":a.append(this.getHours());break;case "mm":a.append(c(this.getMinutes()));break;case "m":a.append(this.getMinutes());break;case "ss":a.append(c(this.getSeconds()));break;case "s":a.append(this.getSeconds());break;case "tt":a.append(this.getHours()<12?d.AMDesignator:d.PMDesignator);break;case "t":a.append((this.getHours()<12?d.AMDesignator:d.PMDesignator).charAt(0));break;case "f":a.append(g(this.getMilliseconds()).charAt(0));break;case "ff":a.append(g(this.getMilliseconds()).substr(0,2));break;case "fff":a.append(g(this.getMilliseconds()));break;case "z":b=this.getTimezoneOffset()/60;a.append((b<=0?"+":"-")+Math.floor(Math.abs(b)));break;case "zz":b=this.getTimezoneOffset()/60;a.append((b<=0?"+":"-")+c(Math.floor(Math.abs(b))));break;case "zzz":b=this.getTimezoneOffset()/60;a.append((b<=0?"+":"-")+c(Math.floor(Math.abs(b)))+d.TimeSeparator+c(Math.abs(this.getTimezoneOffset()%60)))}}return a.toString()};Number.__typeName="Number";Number.__class=true;Number.parseLocale=function(a){return Number._parse(a,Sys.CultureInfo.CurrentCulture)};Number.parseInvariant=function(a){return Number._parse(a,Sys.CultureInfo.InvariantCulture)};Number._parse=function(b,o){b=b.trim();if(b.match(/^[+-]?infinity$/i))return parseFloat(b);if(b.match(/^0x[a-f0-9]+$/i))return parseInt(b);var a=o.numberFormat,g=Number._parseNumberNegativePattern(b,a,a.NumberNegativePattern),h=g[0],e=g[1];if(h===""&&a.NumberNegativePattern!==1){g=Number._parseNumberNegativePattern(b,a,1);h=g[0];e=g[1]}if(h==="")h="+";var j,d,f=e.indexOf("e");if(f<0)f=e.indexOf("E");if(f<0){d=e;j=null}else{d=e.substr(0,f);j=e.substr(f+1)}var c,k,m=d.indexOf(a.NumberDecimalSeparator);if(m<0){c=d;k=null}else{c=d.substr(0,m);k=d.substr(m+a.NumberDecimalSeparator.length)}c=c.split(a.NumberGroupSeparator).join("");var n=a.NumberGroupSeparator.replace(/\u00A0/g," ");if(a.NumberGroupSeparator!==n)c=c.split(n).join("");var l=h+c;if(k!==null)l+="."+k;if(j!==null){var i=Number._parseNumberNegativePattern(j,a,1);if(i[0]==="")i[0]="+";l+="e"+i[0]+i[1]}if(l.match(/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/))return parseFloat(l);return Number.NaN};Number._parseNumberNegativePattern=function(a,d,e){var b=d.NegativeSign,c=d.PositiveSign;switch(e){case 4:b=" "+b;c=" "+c;case 3:if(a.endsWith(b))return ["-",a.substr(0,a.length-b.length)];else if(a.endsWith(c))return ["+",a.substr(0,a.length-c.length)];break;case 2:b+=" ";c+=" ";case 1:if(a.startsWith(b))return ["-",a.substr(b.length)];else if(a.startsWith(c))return ["+",a.substr(c.length)];break;case 0:if(a.startsWith("(")&&a.endsWith(")"))return ["-",a.substr(1,a.length-2)]}return ["",a]};Number.prototype.format=function(a){return this._toFormattedString(a,Sys.CultureInfo.InvariantCulture)};Number.prototype.localeFormat=function(a){return this._toFormattedString(a,Sys.CultureInfo.CurrentCulture)};Number.prototype._toFormattedString=function(d,j){if(!d||d.length===0||d==="i")if(j&&j.name.length>0)return this.toLocaleString();else return this.toString();var o=["n %","n%","%n"],n=["-n %","-n%","-%n"],p=["(n)","-n","- n","n-","n -"],m=["$n","n$","$ n","n $"],l=["($n)","-$n","$-n","$n-","(n$)","-n$","n-$","n$-","-n $","-$ n","n $-","$ n-","$ -n","n- $","($ n)","(n $)"];function g(a,c,d){for(var b=a.length;b1?parseInt(e[1]):0;e=b.split(".");b=e[0];a=e.length>1?e[1]:"";var q;if(c>0){a=g(a,c,false);b+=a.slice(0,c);a=a.substr(c)}else if(c<0){c=-c;b=g(b,c+1,true);a=b.slice(-c,b.length)+a;b=b.slice(0,-c)}if(i>0){if(a.length>i)a=a.slice(0,i);else a=g(a,i,false);a=p+a}else a="";var d=b.length-1,f="";while(d>=0){if(h===0||h>d)if(f.length>0)return b.slice(0,d+1)+n+f+a;else return b.slice(0,d+1)+a;if(f.length>0)f=b.slice(d-h+1,d+1)+n+f;else f=b.slice(d-h+1,d+1);d-=h;if(k1)b=parseInt(d.slice(1),10);var c;switch(d.charAt(0)){case "d":case "D":c="n";if(b!==-1)e=g(""+e,b,true);if(this<0)e=-e;break;case "c":case "C":if(this<0)c=l[a.CurrencyNegativePattern];else c=m[a.CurrencyPositivePattern];if(b===-1)b=a.CurrencyDecimalDigits;e=i(Math.abs(this),b,a.CurrencyGroupSizes,a.CurrencyGroupSeparator,a.CurrencyDecimalSeparator);break;case "n":case "N":if(this<0)c=p[a.NumberNegativePattern];else c="n";if(b===-1)b=a.NumberDecimalDigits;e=i(Math.abs(this),b,a.NumberGroupSizes,a.NumberGroupSeparator,a.NumberDecimalSeparator);break;case "p":case "P":if(this<0)c=n[a.PercentNegativePattern];else c=o[a.PercentPositivePattern];if(b===-1)b=a.PercentDecimalDigits;e=i(Math.abs(this)*100,b,a.PercentGroupSizes,a.PercentGroupSeparator,a.PercentDecimalSeparator);break;default:throw Error.format(Sys.Res.formatBadFormatSpecifier)}var k=/n|\$|-|%/g,f="";for(;true;){var q=k.lastIndex,h=k.exec(c);f+=c.slice(q,h?h.index:c.length);if(!h)break;switch(h[0]){case "n":f+=e;break;case "$":f+=a.CurrencySymbol;break;case "-":f+=a.NegativeSign;break;case "%":f+=a.PercentSymbol}}return f};RegExp.__typeName="RegExp";RegExp.__class=true;Array.__typeName="Array";Array.__class=true;Array.add=Array.enqueue=function(a,b){a[a.length]=b};Array.addRange=function(a,b){a.push.apply(a,b)};Array.clear=function(a){a.length=0};Array.clone=function(a){if(a.length===1)return [a[0]];else return Array.apply(null,a)};Array.contains=function(a,b){return Array.indexOf(a,b)>=0};Array.dequeue=function(a){return a.shift()};Array.forEach=function(b,e,d){for(var a=0,f=b.length;a=0)b.splice(a,1);return a>=0};Array.removeAt=function(a,b){a.splice(b,1)};if(!window)this.window=this;window.Type=Function;Type.prototype.callBaseMethod=function(a,d,b){var c=this.getBaseMethod(a,d);if(!b)return c.apply(a);else return c.apply(a,b)};Type.prototype.getBaseMethod=function(d,c){var b=this.getBaseType();if(b){var a=b.prototype[c];return a instanceof Function?a:null}return null};Type.prototype.getBaseType=function(){return typeof this.__baseType==="undefined"?null:this.__baseType};Type.prototype.getInterfaces=function(){var a=[],b=this;while(b){var c=b.__interfaces;if(c)for(var d=0,f=c.length;d-1){Sys.Browser.agent=Sys.Browser.InternetExplorer;Sys.Browser.version=parseFloat(navigator.userAgent.match(/MSIE (\d+\.\d+)/)[1]);if(Sys.Browser.version>=8)if(document.documentMode>=7)Sys.Browser.documentMode=document.documentMode;Sys.Browser.hasDebuggerStatement=true}else if(navigator.userAgent.indexOf(" Firefox/")>-1){Sys.Browser.agent=Sys.Browser.Firefox;Sys.Browser.version=parseFloat(navigator.userAgent.match(/Firefox\/(\d+\.\d+)/)[1]);Sys.Browser.name="Firefox";Sys.Browser.hasDebuggerStatement=true}else if(navigator.userAgent.indexOf(" AppleWebKit/")>-1){Sys.Browser.agent=Sys.Browser.Safari;Sys.Browser.version=parseFloat(navigator.userAgent.match(/AppleWebKit\/(\d+(\.\d+)?)/)[1]);Sys.Browser.name="Safari"}else if(navigator.userAgent.indexOf("Opera/")>-1)Sys.Browser.agent=Sys.Browser.Opera;Type.registerNamespace("Sys.UI");Sys._Debug=function(){};Sys._Debug.prototype={_appendConsole:function(a){if(typeof Debug!=="undefined"&&Debug.writeln)Debug.writeln(a);if(window.console&&window.console.log)window.console.log(a);if(window.opera)window.opera.postError(a);if(window.debugService)window.debugService.trace(a)},_appendTrace:function(b){var a=document.getElementById("TraceConsole");if(a&&a.tagName.toUpperCase()==="TEXTAREA")a.value+=b+"\n"},assert:function(c,a,b){if(!c){a=b&&this.assert.caller?String.format(Sys.Res.assertFailedCaller,a,this.assert.caller):String.format(Sys.Res.assertFailed,a);if(confirm(String.format(Sys.Res.breakIntoDebugger,a)))this.fail(a)}},clearTrace:function(){var a=document.getElementById("TraceConsole");if(a&&a.tagName.toUpperCase()==="TEXTAREA")a.value=""},fail:function(message){this._appendConsole(message);if(Sys.Browser.hasDebuggerStatement)eval("debugger")},trace:function(a){this._appendConsole(a);this._appendTrace(a)},traceDump:function(a,b){var c=this._traceDump(a,b,true)},_traceDump:function(a,c,f,b,d){c=c?c:"traceDump";b=b?b:"";if(a===null){this.trace(b+c+": null");return}switch(typeof a){case "undefined":this.trace(b+c+": Undefined");break;case "number":case "string":case "boolean":this.trace(b+c+": "+a);break;default:if(Date.isInstanceOfType(a)||RegExp.isInstanceOfType(a)){this.trace(b+c+": "+a.toString());break}if(!d)d=[];else if(Array.contains(d,a)){this.trace(b+c+": ...");return}Array.add(d,a);if(a==window||a===document||window.HTMLElement&&a instanceof HTMLElement||typeof a.nodeName==="string"){var k=a.tagName?a.tagName:"DomElement";if(a.id)k+=" - "+a.id;this.trace(b+c+" {"+k+"}")}else{var i=Object.getTypeName(a);this.trace(b+c+(typeof i==="string"?" {"+i+"}":""));if(b===""||f){b+=" ";var e,j,l,g,h;if(Array.isInstanceOfType(a)){j=a.length;for(e=0;e=0;d--){var k=h[d].trim();b=a[k];if(typeof b!=="number")throw Error.argument("value",String.format(Sys.Res.enumInvalidValue,c.split(",")[d].trim(),this.__typeName));j|=b}return j}}function Sys$Enum$toString(c){if(typeof c==="undefined"||c===null)return this.__string;var d=this.prototype,a;if(!this.__flags||c===0){for(a in d)if(d[a]===c)return a}else{var b=this.__sortedValues;if(!b){b=[];for(a in d)b[b.length]={key:a,value:d[a]};b.sort(function(a,b){return a.value-b.value});this.__sortedValues=b}var e=[],g=c;for(a=b.length-1;a>=0;a--){var h=b[a],f=h.value;if(f===0)continue;if((f&c)===f){e[e.length]=h.key;g-=f;if(g===0)break}}if(e.length&&g===0)return e.reverse().join(", ")}return ""}Type.prototype.registerEnum=function(b,c){Sys.__upperCaseTypes[b.toUpperCase()]=this;for(var a in this.prototype)this[a]=this.prototype[a];this.__typeName=b;this.parse=Sys$Enum$parse;this.__string=this.toString();this.toString=Sys$Enum$toString;this.__flags=c;this.__enum=true};Type.isEnum=function(a){if(typeof a==="undefined"||a===null)return false;return !!a.__enum};Type.isFlags=function(a){if(typeof a==="undefined"||a===null)return false;return !!a.__flags};Sys.EventHandlerList=function(){this._list={}};Sys.EventHandlerList.prototype={addHandler:function(b,a){Array.add(this._getEvent(b,true),a)},removeHandler:function(c,b){var a=this._getEvent(c);if(!a)return;Array.remove(a,b)},getHandler:function(b){var a=this._getEvent(b);if(!a||a.length===0)return null;a=Array.clone(a);return function(c,d){for(var b=0,e=a.length;b=0;c--)$removeHandler(a,b,d[c].handler)}a._events=null}},$removeHandler=Sys.UI.DomEvent.removeHandler=function(a,e,f){var d=null,c=a._events[e];for(var b=0,g=c.length;b=0)d.className=(a.substr(0,b)+" "+a.substring(b+c.length+1,a.length)).trim()};Sys.UI.DomElement.setLocation=function(b,c,d){var a=b.style;a.position="absolute";a.left=c+"px";a.top=d+"px"};Sys.UI.DomElement.toggleCssClass=function(b,a){if(Sys.UI.DomElement.containsCssClass(b,a))Sys.UI.DomElement.removeCssClass(b,a);else Sys.UI.DomElement.addCssClass(b,a)};Sys.UI.DomElement.getVisibilityMode=function(a){return a._visibilityMode===Sys.UI.VisibilityMode.hide?Sys.UI.VisibilityMode.hide:Sys.UI.VisibilityMode.collapse};Sys.UI.DomElement.setVisibilityMode=function(a,b){Sys.UI.DomElement._ensureOldDisplayMode(a);if(a._visibilityMode!==b){a._visibilityMode=b;if(Sys.UI.DomElement.getVisible(a)===false)if(a._visibilityMode===Sys.UI.VisibilityMode.hide)a.style.display=a._oldDisplayMode;else a.style.display="none";a._visibilityMode=b}};Sys.UI.DomElement.getVisible=function(b){var a=b.currentStyle||Sys.UI.DomElement._getCurrentStyle(b);if(!a)return true;return a.visibility!=="hidden"&&a.display!=="none"};Sys.UI.DomElement.setVisible=function(a,b){if(b!==Sys.UI.DomElement.getVisible(a)){Sys.UI.DomElement._ensureOldDisplayMode(a);a.style.visibility=b?"visible":"hidden";if(b||a._visibilityMode===Sys.UI.VisibilityMode.hide)a.style.display=a._oldDisplayMode;else a.style.display="none"}};Sys.UI.DomElement._ensureOldDisplayMode=function(a){if(!a._oldDisplayMode){var b=a.currentStyle||Sys.UI.DomElement._getCurrentStyle(a);a._oldDisplayMode=b?b.display:null;if(!a._oldDisplayMode||a._oldDisplayMode==="none")switch(a.tagName.toUpperCase()){case "DIV":case "P":case "ADDRESS":case "BLOCKQUOTE":case "BODY":case "COL":case "COLGROUP":case "DD":case "DL":case "DT":case "FIELDSET":case "FORM":case "H1":case "H2":case "H3":case "H4":case "H5":case "H6":case "HR":case "IFRAME":case "LEGEND":case "OL":case "PRE":case "TABLE":case "TD":case "TH":case "TR":case "UL":a._oldDisplayMode="block";break;case "LI":a._oldDisplayMode="list-item";break;default:a._oldDisplayMode="inline"}}};Sys.UI.DomElement._getWindow=function(a){var b=a.ownerDocument||a.document||a;return b.defaultView||b.parentWindow};Sys.UI.DomElement._getCurrentStyle=function(a){if(a.nodeType===3)return null;var c=Sys.UI.DomElement._getWindow(a);if(a.documentElement)a=a.documentElement;var b=c&&a!==c&&c.getComputedStyle?c.getComputedStyle(a,null):a.currentStyle||a.style;if(!b&&Sys.Browser.agent===Sys.Browser.Safari&&a.style){var g=a.style.display,f=a.style.position;a.style.position="absolute";a.style.display="block";var e=c.getComputedStyle(a,null);a.style.display=g;a.style.position=f;b={};for(var d in e)b[d]=e[d];b.display="none"}return b};Sys.IContainer=function(){};Sys.IContainer.prototype={};Sys.IContainer.registerInterface("Sys.IContainer");Sys._ScriptLoader=function(){this._scriptsToLoad=null;this._sessions=[];this._scriptLoadedDelegate=Function.createDelegate(this,this._scriptLoadedHandler)};Sys._ScriptLoader.prototype={dispose:function(){this._stopSession();this._loading=false;if(this._events)delete this._events;this._sessions=null;this._currentSession=null;this._scriptLoadedDelegate=null},loadScripts:function(d,b,c,a){var e={allScriptsLoadedCallback:b,scriptLoadFailedCallback:c,scriptLoadTimeoutCallback:a,scriptsToLoad:this._scriptsToLoad,scriptTimeout:d};this._scriptsToLoad=null;this._sessions[this._sessions.length]=e;if(!this._loading)this._nextSession()},notifyScriptLoaded:function(){if(!this._loading)return;this._currentTask._notified++;if(Sys.Browser.agent===Sys.Browser.Safari)if(this._currentTask._notified===1)window.setTimeout(Function.createDelegate(this,function(){this._scriptLoadedHandler(this._currentTask.get_scriptElement(),true)}),0)},queueCustomScriptTag:function(a){if(!this._scriptsToLoad)this._scriptsToLoad=[];Array.add(this._scriptsToLoad,a)},queueScriptBlock:function(a){if(!this._scriptsToLoad)this._scriptsToLoad=[];Array.add(this._scriptsToLoad,{text:a})},queueScriptReference:function(a){if(!this._scriptsToLoad)this._scriptsToLoad=[];Array.add(this._scriptsToLoad,{src:a})},_createScriptElement:function(c){var a=document.createElement("script");a.type="text/javascript";for(var b in c)a[b]=c[b];return a},_loadScriptsInternal:function(){var b=this._currentSession;if(b.scriptsToLoad&&b.scriptsToLoad.length>0){var c=Array.dequeue(b.scriptsToLoad),a=this._createScriptElement(c);if(a.text&&Sys.Browser.agent===Sys.Browser.Safari){a.innerHTML=a.text;delete a.text}if(typeof c.src==="string"){this._currentTask=new Sys._ScriptLoaderTask(a,this._scriptLoadedDelegate);this._currentTask.execute()}else{document.getElementsByTagName("head")[0].appendChild(a);Sys._ScriptLoader._clearScript(a);this._loadScriptsInternal()}}else{this._stopSession();var d=b.allScriptsLoadedCallback;if(d)d(this);this._nextSession()}},_nextSession:function(){if(this._sessions.length===0){this._loading=false;this._currentSession=null;return}this._loading=true;var a=Array.dequeue(this._sessions);this._currentSession=a;if(a.scriptTimeout>0)this._timeoutCookie=window.setTimeout(Function.createDelegate(this,this._scriptLoadTimeoutHandler),a.scriptTimeout*1000);this._loadScriptsInternal()},_raiseError:function(a){var c=this._currentSession.scriptLoadFailedCallback,b=this._currentTask.get_scriptElement();this._stopSession();if(c){c(this,b,a);this._nextSession()}else{this._loading=false;throw Sys._ScriptLoader._errorScriptLoadFailed(b.src,a)}},_scriptLoadedHandler:function(a,b){if(b&&this._currentTask._notified)if(this._currentTask._notified>1)this._raiseError(true);else{Array.add(Sys._ScriptLoader._getLoadedScripts(),a.src);this._currentTask.dispose();this._currentTask=null;this._loadScriptsInternal()}else this._raiseError(false)},_scriptLoadTimeoutHandler:function(){var a=this._currentSession.scriptLoadTimeoutCallback;this._stopSession();if(a)a(this);this._nextSession()},_stopSession:function(){if(this._timeoutCookie){window.clearTimeout(this._timeoutCookie);this._timeoutCookie=null}if(this._currentTask){this._currentTask.dispose();this._currentTask=null}}};Sys._ScriptLoader.registerClass("Sys._ScriptLoader",null,Sys.IDisposable);Sys._ScriptLoader.getInstance=function(){var a=Sys._ScriptLoader._activeInstance;if(!a)a=Sys._ScriptLoader._activeInstance=new Sys._ScriptLoader;return a};Sys._ScriptLoader.isScriptLoaded=function(b){var a=document.createElement("script");a.src=b;return Array.contains(Sys._ScriptLoader._getLoadedScripts(),a.src)};Sys._ScriptLoader.readLoadedScripts=function(){if(!Sys._ScriptLoader._referencedScripts){var b=Sys._ScriptLoader._referencedScripts=[],c=document.getElementsByTagName("script");for(i=c.length-1;i>=0;i--){var d=c[i],a=d.src;if(a.length)if(!Array.contains(b,a))Array.add(b,a)}}};Sys._ScriptLoader._clearScript=function(a){if(!Sys.Debug.isDebug)a.parentNode.removeChild(a)};Sys._ScriptLoader._errorScriptLoadFailed=function(b,d){var a;if(d)a=Sys.Res.scriptLoadMultipleCallbacks;else a=Sys.Res.scriptLoadFailed;var e="Sys.ScriptLoadFailedException: "+String.format(a,b),c=Error.create(e,{name:"Sys.ScriptLoadFailedException","scriptUrl":b});c.popStackFrame();return c};Sys._ScriptLoader._getLoadedScripts=function(){if(!Sys._ScriptLoader._referencedScripts){Sys._ScriptLoader._referencedScripts=[];Sys._ScriptLoader.readLoadedScripts()}return Sys._ScriptLoader._referencedScripts};Sys._ScriptLoaderTask=function(b,a){this._scriptElement=b;this._completedCallback=a;this._notified=0};Sys._ScriptLoaderTask.prototype={get_scriptElement:function(){return this._scriptElement},dispose:function(){if(this._disposed)return;this._disposed=true;this._removeScriptElementHandlers();Sys._ScriptLoader._clearScript(this._scriptElement);this._scriptElement=null},execute:function(){this._addScriptElementHandlers();document.getElementsByTagName("head")[0].appendChild(this._scriptElement)},_addScriptElementHandlers:function(){this._scriptLoadDelegate=Function.createDelegate(this,this._scriptLoadHandler);if(Sys.Browser.agent!==Sys.Browser.InternetExplorer){this._scriptElement.readyState="loaded";$addHandler(this._scriptElement,"load",this._scriptLoadDelegate)}else $addHandler(this._scriptElement,"readystatechange",this._scriptLoadDelegate);if(this._scriptElement.addEventListener){this._scriptErrorDelegate=Function.createDelegate(this,this._scriptErrorHandler);this._scriptElement.addEventListener("error",this._scriptErrorDelegate,false)}},_removeScriptElementHandlers:function(){if(this._scriptLoadDelegate){var a=this.get_scriptElement();if(Sys.Browser.agent!==Sys.Browser.InternetExplorer)$removeHandler(a,"load",this._scriptLoadDelegate);else $removeHandler(a,"readystatechange",this._scriptLoadDelegate);if(this._scriptErrorDelegate){this._scriptElement.removeEventListener("error",this._scriptErrorDelegate,false);this._scriptErrorDelegate=null}this._scriptLoadDelegate=null}},_scriptErrorHandler:function(){if(this._disposed)return;this._completedCallback(this.get_scriptElement(),false)},_scriptLoadHandler:function(){if(this._disposed)return;var a=this.get_scriptElement();if(a.readyState!=="loaded"&&a.readyState!=="complete")return;var b=this;window.setTimeout(function(){b._completedCallback(a,true)},0)}};Sys._ScriptLoaderTask.registerClass("Sys._ScriptLoaderTask",null,Sys.IDisposable);Sys.ApplicationLoadEventArgs=function(b,a){Sys.ApplicationLoadEventArgs.initializeBase(this);this._components=b;this._isPartialLoad=a};Sys.ApplicationLoadEventArgs.prototype={get_components:function(){return this._components},get_isPartialLoad:function(){return this._isPartialLoad}};Sys.ApplicationLoadEventArgs.registerClass("Sys.ApplicationLoadEventArgs",Sys.EventArgs);Sys.HistoryEventArgs=function(a){Sys.HistoryEventArgs.initializeBase(this);this._state=a};Sys.HistoryEventArgs.prototype={get_state:function(){return this._state}};Sys.HistoryEventArgs.registerClass("Sys.HistoryEventArgs",Sys.EventArgs);Sys._Application=function(){Sys._Application.initializeBase(this);this._disposableObjects=[];this._components={};this._createdComponents=[];this._secondPassComponents=[];this._appLoadHandler=null;this._beginRequestHandler=null;this._clientId=null;this._currentEntry="";this._endRequestHandler=null;this._history=null;this._enableHistory=false;this._historyFrame=null;this._historyInitialized=false;this._historyInitialLength=0;this._historyLength=0;this._historyPointIsNew=false;this._ignoreTimer=false;this._initialState=null;this._state={};this._timerCookie=0;this._timerHandler=null;this._uniqueId=null;this._unloadHandlerDelegate=Function.createDelegate(this,this._unloadHandler);this._loadHandlerDelegate=Function.createDelegate(this,this._loadHandler);Sys.UI.DomEvent.addHandler(window,"unload",this._unloadHandlerDelegate);Sys.UI.DomEvent.addHandler(window,"load",this._loadHandlerDelegate)};Sys._Application.prototype={_creatingComponents:false,_disposing:false,get_isCreatingComponents:function(){return this._creatingComponents},get_stateString:function(){var a=window.location.hash;if(this._isSafari2()){var b=this._getHistory();if(b)a=b[window.history.length-this._historyInitialLength]}if(a.length>0&&a.charAt(0)==="#")a=a.substring(1);if(Sys.Browser.agent===Sys.Browser.Firefox)a=this._serializeState(this._deserializeState(a,true));return a},get_enableHistory:function(){return this._enableHistory},set_enableHistory:function(a){this._enableHistory=a},add_init:function(a){if(this._initialized)a(this,Sys.EventArgs.Empty);else this.get_events().addHandler("init",a)},remove_init:function(a){this.get_events().removeHandler("init",a)},add_load:function(a){this.get_events().addHandler("load",a)},remove_load:function(a){this.get_events().removeHandler("load",a)},add_navigate:function(a){this.get_events().addHandler("navigate",a)},remove_navigate:function(a){this.get_events().removeHandler("navigate",a)},add_unload:function(a){this.get_events().addHandler("unload",a)},remove_unload:function(a){this.get_events().removeHandler("unload",a)},addComponent:function(a){this._components[a.get_id()]=a},addHistoryPoint:function(c,f){this._ensureHistory();var b=this._state;for(var a in c){var d=c[a];if(d===null){if(typeof b[a]!=="undefined")delete b[a]}else b[a]=d}var e=this._serializeState(b);this._historyPointIsNew=true;this._setState(e,f);this._raiseNavigate()},beginCreateComponents:function(){this._creatingComponents=true},dispose:function(){if(!this._disposing){this._disposing=true;if(this._timerCookie){window.clearTimeout(this._timerCookie);delete this._timerCookie}if(this._endRequestHandler){Sys.WebForms.PageRequestManager.getInstance().remove_endRequest(this._endRequestHandler);delete this._endRequestHandler}if(this._beginRequestHandler){Sys.WebForms.PageRequestManager.getInstance().remove_beginRequest(this._beginRequestHandler);delete this._beginRequestHandler}if(window.pageUnload)window.pageUnload(this,Sys.EventArgs.Empty);var c=this.get_events().getHandler("unload");if(c)c(this,Sys.EventArgs.Empty);var b=Array.clone(this._disposableObjects);for(var a=0,e=b.length;a'");d.write(""+(c||document.title)+"parent.Sys.Application._onIFrameLoad(\''+a+"');");d.close()}this._ignoreTimer=false;var h=this.get_stateString();this._currentEntry=a;if(a!==h){if(this._isSafari2()){var g=this._getHistory();g[window.history.length-this._historyInitialLength+1]=a;this._setHistory(g);this._historyLength=window.history.length+1;var b=document.createElement("form");b.method="get";b.action="#"+a;document.appendChild(b);b.submit();document.removeChild(b)}else window.location.hash=a;if(typeof c!=="undefined"&&c!==null)document.title=c}}},_unloadHandler:function(){this.dispose()},_updateHiddenField:function(b){if(this._clientId){var a=document.getElementById(this._clientId);if(a)a.value=b}}};Sys._Application.registerClass("Sys._Application",Sys.Component,Sys.IContainer);Sys.Application=new Sys._Application;var $find=Sys.Application.findComponent;Type.registerNamespace("Sys.Net");Sys.Net.WebRequestExecutor=function(){this._webRequest=null;this._resultObject=null};Sys.Net.WebRequestExecutor.prototype={get_webRequest:function(){return this._webRequest},_set_webRequest:function(a){this._webRequest=a},get_started:function(){throw Error.notImplemented()},get_responseAvailable:function(){throw Error.notImplemented()},get_timedOut:function(){throw Error.notImplemented()},get_aborted:function(){throw Error.notImplemented()},get_responseData:function(){throw Error.notImplemented()},get_statusCode:function(){throw Error.notImplemented()},get_statusText:function(){throw Error.notImplemented()},get_xml:function(){throw Error.notImplemented()},get_object:function(){if(!this._resultObject)this._resultObject=Sys.Serialization.JavaScriptSerializer.deserialize(this.get_responseData());return this._resultObject},executeRequest:function(){throw Error.notImplemented()},abort:function(){throw Error.notImplemented()},getResponseHeader:function(){throw Error.notImplemented()},getAllResponseHeaders:function(){throw Error.notImplemented()}};Sys.Net.WebRequestExecutor.registerClass("Sys.Net.WebRequestExecutor");Sys.Net.XMLDOM=function(d){if(!window.DOMParser){var c=["Msxml2.DOMDocument.3.0","Msxml2.DOMDocument"];for(var b=0,f=c.length;b0)this._timer=window.setTimeout(Function.createDelegate(this,this._onTimeout),d);this._xmlHttpRequest.send(c);this._started=true},getResponseHeader:function(b){var a;try{a=this._xmlHttpRequest.getResponseHeader(b)}catch(c){}if(!a)a="";return a},getAllResponseHeaders:function(){return this._xmlHttpRequest.getAllResponseHeaders()},get_responseData:function(){return this._xmlHttpRequest.responseText},get_statusCode:function(){var a=0;try{a=this._xmlHttpRequest.status}catch(b){}return a},get_statusText:function(){return this._xmlHttpRequest.statusText},get_xml:function(){var a=this._xmlHttpRequest.responseXML;if(!a||!a.documentElement){a=Sys.Net.XMLDOM(this._xmlHttpRequest.responseText);if(!a||!a.documentElement)return null}else if(navigator.userAgent.indexOf("MSIE")!==-1)a.setProperty("SelectionLanguage","XPath");if(a.documentElement.namespaceURI==="http://www.mozilla.org/newlayout/xml/parsererror.xml"&&a.documentElement.tagName==="parsererror")return null;if(a.documentElement.firstChild&&a.documentElement.firstChild.tagName==="parsererror")return null;return a},abort:function(){if(this._aborted||this._responseAvailable||this._timedOut)return;this._aborted=true;this._clearTimer();if(this._xmlHttpRequest&&!this._responseAvailable){this._xmlHttpRequest.onreadystatechange=Function.emptyMethod;this._xmlHttpRequest.abort();this._xmlHttpRequest=null;this._webRequest.completed(Sys.EventArgs.Empty)}}};Sys.Net.XMLHttpExecutor.registerClass("Sys.Net.XMLHttpExecutor",Sys.Net.WebRequestExecutor);Sys.Net._WebRequestManager=function(){this._defaultTimeout=0;this._defaultExecutorType="Sys.Net.XMLHttpExecutor"};Sys.Net._WebRequestManager.prototype={add_invokingRequest:function(a){this._get_eventHandlerList().addHandler("invokingRequest",a)},remove_invokingRequest:function(a){this._get_eventHandlerList().removeHandler("invokingRequest",a)},add_completedRequest:function(a){this._get_eventHandlerList().addHandler("completedRequest",a)},remove_completedRequest:function(a){this._get_eventHandlerList().removeHandler("completedRequest",a)},_get_eventHandlerList:function(){if(!this._events)this._events=new Sys.EventHandlerList;return this._events},get_defaultTimeout:function(){return this._defaultTimeout},set_defaultTimeout:function(a){this._defaultTimeout=a},get_defaultExecutorType:function(){return this._defaultExecutorType},set_defaultExecutorType:function(a){this._defaultExecutorType=a},executeRequest:function(webRequest){var executor=webRequest.get_executor();if(!executor){var failed=false;try{var executorType=eval(this._defaultExecutorType);executor=new executorType}catch(a){failed=true}webRequest.set_executor(executor)}if(executor.get_aborted())return;var evArgs=new Sys.Net.NetworkRequestEventArgs(webRequest),handler=this._get_eventHandlerList().getHandler("invokingRequest");if(handler)handler(this,evArgs);if(!evArgs.get_cancel())executor.executeRequest()}};Sys.Net._WebRequestManager.registerClass("Sys.Net._WebRequestManager");Sys.Net.WebRequestManager=new Sys.Net._WebRequestManager;Sys.Net.NetworkRequestEventArgs=function(a){Sys.Net.NetworkRequestEventArgs.initializeBase(this);this._webRequest=a};Sys.Net.NetworkRequestEventArgs.prototype={get_webRequest:function(){return this._webRequest}};Sys.Net.NetworkRequestEventArgs.registerClass("Sys.Net.NetworkRequestEventArgs",Sys.CancelEventArgs);Sys.Net.WebRequest=function(){this._url="";this._headers={};this._body=null;this._userContext=null;this._httpVerb=null;this._executor=null;this._invokeCalled=false;this._timeout=0};Sys.Net.WebRequest.prototype={add_completed:function(a){this._get_eventHandlerList().addHandler("completed",a)},remove_completed:function(a){this._get_eventHandlerList().removeHandler("completed",a)},completed:function(b){var a=Sys.Net.WebRequestManager._get_eventHandlerList().getHandler("completedRequest");if(a)a(this._executor,b);a=this._get_eventHandlerList().getHandler("completed");if(a)a(this._executor,b)},_get_eventHandlerList:function(){if(!this._events)this._events=new Sys.EventHandlerList;return this._events},get_url:function(){return this._url},set_url:function(a){this._url=a},get_headers:function(){return this._headers},get_httpVerb:function(){if(this._httpVerb===null){if(this._body===null)return "GET";return "POST"}return this._httpVerb},set_httpVerb:function(a){this._httpVerb=a},get_body:function(){return this._body},set_body:function(a){this._body=a},get_userContext:function(){return this._userContext},set_userContext:function(a){this._userContext=a},get_executor:function(){return this._executor},set_executor:function(a){this._executor=a;this._executor._set_webRequest(this)},get_timeout:function(){if(this._timeout===0)return Sys.Net.WebRequestManager.get_defaultTimeout();return this._timeout},set_timeout:function(a){this._timeout=a},getResolvedUrl:function(){return Sys.Net.WebRequest._resolveUrl(this._url)},invoke:function(){Sys.Net.WebRequestManager.executeRequest(this);this._invokeCalled=true}};Sys.Net.WebRequest._resolveUrl=function(b,a){if(b&&b.indexOf("://")!==-1)return b;if(!a||a.length===0){var d=document.getElementsByTagName("base")[0];if(d&&d.href&&d.href.length>0)a=d.href;else a=document.URL}var c=a.indexOf("?");if(c!==-1)a=a.substr(0,c);c=a.indexOf("#");if(c!==-1)a=a.substr(0,c);a=a.substr(0,a.lastIndexOf("/")+1);if(!b||b.length===0)return a;if(b.charAt(0)==="/"){var e=a.indexOf("://"),g=a.indexOf("/",e+3);return a.substr(0,g)+b}else{var f=a.lastIndexOf("/");return a.substr(0,f+1)+b}};Sys.Net.WebRequest._createQueryString=function(d,b){if(!b)b=encodeURIComponent;var a=new Sys.StringBuilder,f=0;for(var c in d){var e=d[c];if(typeof e==="function")continue;var g=Sys.Serialization.JavaScriptSerializer.serialize(e);if(f!==0)a.append("&");a.append(c);a.append("=");a.append(b(g));f++}return a.toString()};Sys.Net.WebRequest._createUrl=function(a,b){if(!b)return a;var d=Sys.Net.WebRequest._createQueryString(b);if(d.length>0){var c="?";if(a&&a.indexOf("?")!==-1)c="&";return a+c+d}else return a};Sys.Net.WebRequest.registerClass("Sys.Net.WebRequest");Sys.Net.WebServiceProxy=function(){};Sys.Net.WebServiceProxy.prototype={get_timeout:function(){return this._timeout},set_timeout:function(a){if(a<0)throw Error.argumentOutOfRange("value",a,Sys.Res.invalidTimeout);this._timeout=a},get_defaultUserContext:function(){return this._userContext},set_defaultUserContext:function(a){this._userContext=a},get_defaultSucceededCallback:function(){return this._succeeded},set_defaultSucceededCallback:function(a){this._succeeded=a},get_defaultFailedCallback:function(){return this._failed},set_defaultFailedCallback:function(a){this._failed=a},get_path:function(){return this._path},set_path:function(a){this._path=a},_invoke:function(d,e,g,f,c,b,a){if(c===null||typeof c==="undefined")c=this.get_defaultSucceededCallback();if(b===null||typeof b==="undefined")b=this.get_defaultFailedCallback();if(a===null||typeof a==="undefined")a=this.get_defaultUserContext();return Sys.Net.WebServiceProxy.invoke(d,e,g,f,c,b,a,this.get_timeout())}};Sys.Net.WebServiceProxy.registerClass("Sys.Net.WebServiceProxy");Sys.Net.WebServiceProxy.invoke=function(k,a,j,d,i,c,f,h){var b=new Sys.Net.WebRequest;b.get_headers()["Content-Type"]="application/json; charset=utf-8";if(!d)d={};var g=d;if(!j||!g)g={};b.set_url(Sys.Net.WebRequest._createUrl(k+"/"+encodeURIComponent(a),g));var e=null;if(!j){e=Sys.Serialization.JavaScriptSerializer.serialize(d);if(e==="{}")e=""}b.set_body(e);b.add_completed(l);if(h&&h>0)b.set_timeout(h);b.invoke();function l(d){if(d.get_responseAvailable()){var g=d.get_statusCode(),b=null;try{var e=d.getResponseHeader("Content-Type");if(e.startsWith("application/json"))b=d.get_object();else if(e.startsWith("text/xml"))b=d.get_xml();else b=d.get_responseData()}catch(m){}var k=d.getResponseHeader("jsonerror"),h=k==="true";if(h){if(b)b=new Sys.Net.WebServiceError(false,b.Message,b.StackTrace,b.ExceptionType)}else if(e.startsWith("application/json"))b=b.d;if(g<200||g>=300||h){if(c){if(!b||!h)b=new Sys.Net.WebServiceError(false,String.format(Sys.Res.webServiceFailedNoMsg,a),"","");b._statusCode=g;c(b,f,a)}}else if(i)i(b,f,a)}else{var j;if(d.get_timedOut())j=String.format(Sys.Res.webServiceTimedOut,a);else j=String.format(Sys.Res.webServiceFailedNoMsg,a);if(c)c(new Sys.Net.WebServiceError(d.get_timedOut(),j,"",""),f,a)}}return b};Sys.Net.WebServiceProxy._generateTypedConstructor=function(a){return function(b){if(b)for(var c in b)this[c]=b[c];this.__type=a}};Sys.Net.WebServiceError=function(c,d,b,a){this._timedOut=c;this._message=d;this._stackTrace=b;this._exceptionType=a;this._statusCode=-1};Sys.Net.WebServiceError.prototype={get_timedOut:function(){return this._timedOut},get_statusCode:function(){return this._statusCode},get_message:function(){return this._message},get_stackTrace:function(){return this._stackTrace},get_exceptionType:function(){return this._exceptionType}};Sys.Net.WebServiceError.registerClass("Sys.Net.WebServiceError");Type.registerNamespace("Sys.Services");Sys.Services._ProfileService=function(){Sys.Services._ProfileService.initializeBase(this);this.properties={}};Sys.Services._ProfileService.DefaultWebServicePath="";Sys.Services._ProfileService.prototype={_defaultLoadCompletedCallback:null,_defaultSaveCompletedCallback:null,_path:"",_timeout:0,get_defaultLoadCompletedCallback:function(){return this._defaultLoadCompletedCallback},set_defaultLoadCompletedCallback:function(a){this._defaultLoadCompletedCallback=a},get_defaultSaveCompletedCallback:function(){return this._defaultSaveCompletedCallback},set_defaultSaveCompletedCallback:function(a){this._defaultSaveCompletedCallback=a},get_path:function(){return this._path||""},load:function(c,d,e,f){var b,a;if(!c){a="GetAllPropertiesForCurrentUser";b={authenticatedUserOnly:false}}else{a="GetPropertiesForCurrentUser";b={properties:this._clonePropertyNames(c),authenticatedUserOnly:false}}this._invoke(this._get_path(),a,false,b,Function.createDelegate(this,this._onLoadComplete),Function.createDelegate(this,this._onLoadFailed),[d,e,f])},save:function(d,b,c,e){var a=this._flattenProperties(d,this.properties);this._invoke(this._get_path(),"SetPropertiesForCurrentUser",false,{values:a.value,authenticatedUserOnly:false},Function.createDelegate(this,this._onSaveComplete),Function.createDelegate(this,this._onSaveFailed),[b,c,e,a.count])},_clonePropertyNames:function(e){var c=[],d={};for(var b=0;b0)a.append(",");Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(b[c],a,false,g)}a.append("]")}else{if(Date.isInstanceOfType(b)){a.append('"\\/Date(');a.append(b.getTime());a.append(')\\/"');break}var d=[],f=0;for(var e in b){if(e.startsWith("$"))continue;if(e===Sys.Serialization.JavaScriptSerializer._serverTypeFieldName&&f!==0){d[f++]=d[0];d[0]=e}else d[f++]=e}if(i)d.sort();a.append("{");var j=false;for(c=0;c0){var d=[];for(var c=0;cc){var f=Error.parameterCount();f.popStackFrame();return f}return null};Function._validateParameter=function(c,a,h){var b,g=a.type,l=!!a.integer,k=!!a.domElement,m=!!a.mayBeNull;b=Function._validateParameterType(c,g,l,k,m,h);if(b){b.popStackFrame();return b}var e=a.elementType,f=!!a.elementMayBeNull;if(g===Array&&typeof c!=="undefined"&&c!==null&&(e||!f)){var j=!!a.elementInteger,i=!!a.elementDomElement;for(var d=0;d0&&(dc.Calendar.TwoDigitYearMax)return a-100}return a};Date._getParseRegExp=function(b,e){if(!b._parseRegExp)b._parseRegExp={};else if(b._parseRegExp[e])return b._parseRegExp[e];var c=Date._expandFormat(b,e);c=c.replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g,"\\\\$1");var a=new Sys.StringBuilder("^"),j=[],f=0,i=0,h=Date._getTokenRegExp(),d;while((d=h.exec(c))!==null){var l=c.slice(f,d.index);f=h.lastIndex;i+=Date._appendPreOrPostMatch(l,a);if(i%2===1){a.append(d[0]);continue}switch(d[0]){case "dddd":case "ddd":case "MMMM":case "MMM":a.append("(\\D+)");break;case "tt":case "t":a.append("(\\D*)");break;case "yyyy":a.append("(\\d{4})");break;case "fff":a.append("(\\d{3})");break;case "ff":a.append("(\\d{2})");break;case "f":a.append("(\\d)");break;case "dd":case "d":case "MM":case "M":case "yy":case "y":case "HH":case "H":case "hh":case "h":case "mm":case "m":case "ss":case "s":a.append("(\\d\\d?)");break;case "zzz":a.append("([+-]?\\d\\d?:\\d{2})");break;case "zz":case "z":a.append("([+-]?\\d\\d?)")}Array.add(j,d[0])}Date._appendPreOrPostMatch(c.slice(f),a);a.append("$");var k=a.toString().replace(/\s+/g,"\\s+"),g={"regExp":k,"groups":j};b._parseRegExp[e]=g;return g};Date._getTokenRegExp=function(){return /dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z/g};Date.parseLocale=function(a){return Date._parse(a,Sys.CultureInfo.CurrentCulture,arguments)};Date.parseInvariant=function(a){return Date._parse(a,Sys.CultureInfo.InvariantCulture,arguments)};Date._parse=function(g,c,h){var e=false;for(var a=1,i=h.length;a31)return null;break;case "MMMM":c=j._getMonthIndex(a);if(c<0||c>11)return null;break;case "MMM":c=j._getAbbrMonthIndex(a);if(c<0||c>11)return null;break;case "M":case "MM":var c=parseInt(a,10)-1;if(c<0||c>11)return null;break;case "y":case "yy":f=Date._expandYear(m,parseInt(a,10));if(f<0||f>9999)return null;break;case "yyyy":f=parseInt(a,10);if(f<0||f>9999)return null;break;case "h":case "hh":d=parseInt(a,10);if(d===12)d=0;if(d<0||d>11)return null;break;case "H":case "HH":d=parseInt(a,10);if(d<0||d>23)return null;break;case "m":case "mm":n=parseInt(a,10);if(n<0||n>59)return null;break;case "s":case "ss":o=parseInt(a,10);if(o<0||o>59)return null;break;case "tt":case "t":var u=a.toUpperCase();r=u===m.PMDesignator.toUpperCase();if(!r&&u!==m.AMDesignator.toUpperCase())return null;break;case "f":e=parseInt(a,10)*100;if(e<0||e>999)return null;break;case "ff":e=parseInt(a,10)*10;if(e<0||e>999)return null;break;case "fff":e=parseInt(a,10);if(e<0||e>999)return null;break;case "dddd":g=j._getDayIndex(a);if(g<0||g>6)return null;break;case "ddd":g=j._getAbbrDayIndex(a);if(g<0||g>6)return null;break;case "zzz":var q=a.split(/:/);if(q.length!==2)return null;var i=parseInt(q[0],10);if(i<-12||i>13)return null;var l=parseInt(q[1],10);if(l<0||l>59)return null;k=i*60+(a.startsWith("-")?-l:l);break;case "z":case "zz":var i=parseInt(a,10);if(i<-12||i>13)return null;k=i*60}}var b=new Date;if(f===null)f=b.getFullYear();if(c===null)c=b.getMonth();if(h===null)h=b.getDate();b.setFullYear(f,c,h);if(b.getDate()!==h)return null;if(g!==null&&b.getDay()!==g)return null;if(r&&d<12)d+=12;b.setHours(d,n,o,e);if(k!==null){var t=b.getMinutes()-(k+b.getTimezoneOffset());b.setHours(b.getHours()+parseInt(t/60,10),t%60)}return b};Date.prototype.format=function(a){return this._toFormattedString(a,Sys.CultureInfo.InvariantCulture)};Date.prototype.localeFormat=function(a){return this._toFormattedString(a,Sys.CultureInfo.CurrentCulture)};Date.prototype._toFormattedString=function(e,h){if(!e||e.length===0||e==="i")if(h&&h.name.length>0)return this.toLocaleString();else return this.toString();var d=h.dateTimeFormat;e=Date._expandFormat(d,e);var a=new Sys.StringBuilder,b;function c(a){if(a<10)return "0"+a;return a.toString()}function g(a){if(a<10)return "00"+a;if(a<100)return "0"+a;return a.toString()}var j=0,i=Date._getTokenRegExp();for(;true;){var l=i.lastIndex,f=i.exec(e),k=e.slice(l,f?f.index:e.length);j+=Date._appendPreOrPostMatch(k,a);if(!f)break;if(j%2===1){a.append(f[0]);continue}switch(f[0]){case "dddd":a.append(d.DayNames[this.getDay()]);break;case "ddd":a.append(d.AbbreviatedDayNames[this.getDay()]);break;case "dd":a.append(c(this.getDate()));break;case "d":a.append(this.getDate());break;case "MMMM":a.append(d.MonthNames[this.getMonth()]);break;case "MMM":a.append(d.AbbreviatedMonthNames[this.getMonth()]);break;case "MM":a.append(c(this.getMonth()+1));break;case "M":a.append(this.getMonth()+1);break;case "yyyy":a.append(this.getFullYear());break;case "yy":a.append(c(this.getFullYear()%100));break;case "y":a.append(this.getFullYear()%100);break;case "hh":b=this.getHours()%12;if(b===0)b=12;a.append(c(b));break;case "h":b=this.getHours()%12;if(b===0)b=12;a.append(b);break;case "HH":a.append(c(this.getHours()));break;case "H":a.append(this.getHours());break;case "mm":a.append(c(this.getMinutes()));break;case "m":a.append(this.getMinutes());break;case "ss":a.append(c(this.getSeconds()));break;case "s":a.append(this.getSeconds());break;case "tt":a.append(this.getHours()<12?d.AMDesignator:d.PMDesignator);break;case "t":a.append((this.getHours()<12?d.AMDesignator:d.PMDesignator).charAt(0));break;case "f":a.append(g(this.getMilliseconds()).charAt(0));break;case "ff":a.append(g(this.getMilliseconds()).substr(0,2));break;case "fff":a.append(g(this.getMilliseconds()));break;case "z":b=this.getTimezoneOffset()/60;a.append((b<=0?"+":"-")+Math.floor(Math.abs(b)));break;case "zz":b=this.getTimezoneOffset()/60;a.append((b<=0?"+":"-")+c(Math.floor(Math.abs(b))));break;case "zzz":b=this.getTimezoneOffset()/60;a.append((b<=0?"+":"-")+c(Math.floor(Math.abs(b)))+d.TimeSeparator+c(Math.abs(this.getTimezoneOffset()%60)))}}return a.toString()};Number.__typeName="Number";Number.__class=true;Number.parseLocale=function(a){return Number._parse(a,Sys.CultureInfo.CurrentCulture)};Number.parseInvariant=function(a){return Number._parse(a,Sys.CultureInfo.InvariantCulture)};Number._parse=function(b,o){b=b.trim();if(b.match(/^[+-]?infinity$/i))return parseFloat(b);if(b.match(/^0x[a-f0-9]+$/i))return parseInt(b);var a=o.numberFormat,g=Number._parseNumberNegativePattern(b,a,a.NumberNegativePattern),h=g[0],e=g[1];if(h===""&&a.NumberNegativePattern!==1){g=Number._parseNumberNegativePattern(b,a,1);h=g[0];e=g[1]}if(h==="")h="+";var j,d,f=e.indexOf("e");if(f<0)f=e.indexOf("E");if(f<0){d=e;j=null}else{d=e.substr(0,f);j=e.substr(f+1)}var c,k,m=d.indexOf(a.NumberDecimalSeparator);if(m<0){c=d;k=null}else{c=d.substr(0,m);k=d.substr(m+a.NumberDecimalSeparator.length)}c=c.split(a.NumberGroupSeparator).join("");var n=a.NumberGroupSeparator.replace(/\u00A0/g," ");if(a.NumberGroupSeparator!==n)c=c.split(n).join("");var l=h+c;if(k!==null)l+="."+k;if(j!==null){var i=Number._parseNumberNegativePattern(j,a,1);if(i[0]==="")i[0]="+";l+="e"+i[0]+i[1]}if(l.match(/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/))return parseFloat(l);return Number.NaN};Number._parseNumberNegativePattern=function(a,d,e){var b=d.NegativeSign,c=d.PositiveSign;switch(e){case 4:b=" "+b;c=" "+c;case 3:if(a.endsWith(b))return ["-",a.substr(0,a.length-b.length)];else if(a.endsWith(c))return ["+",a.substr(0,a.length-c.length)];break;case 2:b+=" ";c+=" ";case 1:if(a.startsWith(b))return ["-",a.substr(b.length)];else if(a.startsWith(c))return ["+",a.substr(c.length)];break;case 0:if(a.startsWith("(")&&a.endsWith(")"))return ["-",a.substr(1,a.length-2)]}return ["",a]};Number.prototype.format=function(a){return this._toFormattedString(a,Sys.CultureInfo.InvariantCulture)};Number.prototype.localeFormat=function(a){return this._toFormattedString(a,Sys.CultureInfo.CurrentCulture)};Number.prototype._toFormattedString=function(d,j){if(!d||d.length===0||d==="i")if(j&&j.name.length>0)return this.toLocaleString();else return this.toString();var o=["n %","n%","%n"],n=["-n %","-n%","-%n"],p=["(n)","-n","- n","n-","n -"],m=["$n","n$","$ n","n $"],l=["($n)","-$n","$-n","$n-","(n$)","-n$","n-$","n$-","-n $","-$ n","n $-","$ n-","$ -n","n- $","($ n)","(n $)"];function g(a,c,d){for(var b=a.length;b1?parseInt(e[1]):0;e=b.split(".");b=e[0];a=e.length>1?e[1]:"";var q;if(c>0){a=g(a,c,false);b+=a.slice(0,c);a=a.substr(c)}else if(c<0){c=-c;b=g(b,c+1,true);a=b.slice(-c,b.length)+a;b=b.slice(0,-c)}if(i>0){if(a.length>i)a=a.slice(0,i);else a=g(a,i,false);a=p+a}else a="";var d=b.length-1,f="";while(d>=0){if(h===0||h>d)if(f.length>0)return b.slice(0,d+1)+n+f+a;else return b.slice(0,d+1)+a;if(f.length>0)f=b.slice(d-h+1,d+1)+n+f;else f=b.slice(d-h+1,d+1);d-=h;if(k1)b=parseInt(d.slice(1),10);var c;switch(d.charAt(0)){case "d":case "D":c="n";if(b!==-1)e=g(""+e,b,true);if(this<0)e=-e;break;case "c":case "C":if(this<0)c=l[a.CurrencyNegativePattern];else c=m[a.CurrencyPositivePattern];if(b===-1)b=a.CurrencyDecimalDigits;e=i(Math.abs(this),b,a.CurrencyGroupSizes,a.CurrencyGroupSeparator,a.CurrencyDecimalSeparator);break;case "n":case "N":if(this<0)c=p[a.NumberNegativePattern];else c="n";if(b===-1)b=a.NumberDecimalDigits;e=i(Math.abs(this),b,a.NumberGroupSizes,a.NumberGroupSeparator,a.NumberDecimalSeparator);break;case "p":case "P":if(this<0)c=n[a.PercentNegativePattern];else c=o[a.PercentPositivePattern];if(b===-1)b=a.PercentDecimalDigits;e=i(Math.abs(this)*100,b,a.PercentGroupSizes,a.PercentGroupSeparator,a.PercentDecimalSeparator);break;default:throw Error.format(Sys.Res.formatBadFormatSpecifier)}var k=/n|\$|-|%/g,f="";for(;true;){var q=k.lastIndex,h=k.exec(c);f+=c.slice(q,h?h.index:c.length);if(!h)break;switch(h[0]){case "n":f+=e;break;case "$":f+=a.CurrencySymbol;break;case "-":f+=a.NegativeSign;break;case "%":f+=a.PercentSymbol}}return f};RegExp.__typeName="RegExp";RegExp.__class=true;Array.__typeName="Array";Array.__class=true;Array.add=Array.enqueue=function(a,b){a[a.length]=b};Array.addRange=function(a,b){a.push.apply(a,b)};Array.clear=function(a){a.length=0};Array.clone=function(a){if(a.length===1)return [a[0]];else return Array.apply(null,a)};Array.contains=function(a,b){return Array.indexOf(a,b)>=0};Array.dequeue=function(a){return a.shift()};Array.forEach=function(b,e,d){for(var a=0,f=b.length;a=0)b.splice(a,1);return a>=0};Array.removeAt=function(a,b){a.splice(b,1)};if(!window)this.window=this;window.Type=Function;Type.prototype.callBaseMethod=function(a,d,b){var c=this.getBaseMethod(a,d);if(!b)return c.apply(a);else return c.apply(a,b)};Type.prototype.getBaseMethod=function(d,c){var b=this.getBaseType();if(b){var a=b.prototype[c];return a instanceof Function?a:null}return null};Type.prototype.getBaseType=function(){return typeof this.__baseType==="undefined"?null:this.__baseType};Type.prototype.getInterfaces=function(){var a=[],b=this;while(b){var c=b.__interfaces;if(c)for(var d=0,f=c.length;d-1){Sys.Browser.agent=Sys.Browser.InternetExplorer;Sys.Browser.version=parseFloat(navigator.userAgent.match(/MSIE (\d+\.\d+)/)[1]);if(Sys.Browser.version>=8)if(document.documentMode>=7)Sys.Browser.documentMode=document.documentMode;Sys.Browser.hasDebuggerStatement=true}else if(navigator.userAgent.indexOf(" Firefox/")>-1){Sys.Browser.agent=Sys.Browser.Firefox;Sys.Browser.version=parseFloat(navigator.userAgent.match(/Firefox\/(\d+\.\d+)/)[1]);Sys.Browser.name="Firefox";Sys.Browser.hasDebuggerStatement=true}else if(navigator.userAgent.indexOf(" AppleWebKit/")>-1){Sys.Browser.agent=Sys.Browser.Safari;Sys.Browser.version=parseFloat(navigator.userAgent.match(/AppleWebKit\/(\d+(\.\d+)?)/)[1]);Sys.Browser.name="Safari"}else if(navigator.userAgent.indexOf("Opera/")>-1)Sys.Browser.agent=Sys.Browser.Opera;Type.registerNamespace("Sys.UI");Sys._Debug=function(){};Sys._Debug.prototype={_appendConsole:function(a){if(typeof Debug!=="undefined"&&Debug.writeln)Debug.writeln(a);if(window.console&&window.console.log)window.console.log(a);if(window.opera)window.opera.postError(a);if(window.debugService)window.debugService.trace(a)},_appendTrace:function(b){var a=document.getElementById("TraceConsole");if(a&&a.tagName.toUpperCase()==="TEXTAREA")a.value+=b+"\n"},assert:function(c,a,b){if(!c){a=b&&this.assert.caller?String.format(Sys.Res.assertFailedCaller,a,this.assert.caller):String.format(Sys.Res.assertFailed,a);if(confirm(String.format(Sys.Res.breakIntoDebugger,a)))this.fail(a)}},clearTrace:function(){var a=document.getElementById("TraceConsole");if(a&&a.tagName.toUpperCase()==="TEXTAREA")a.value=""},fail:function(message){this._appendConsole(message);if(Sys.Browser.hasDebuggerStatement)eval("debugger")},trace:function(a){this._appendConsole(a);this._appendTrace(a)},traceDump:function(a,b){var c=this._traceDump(a,b,true)},_traceDump:function(a,c,f,b,d){c=c?c:"traceDump";b=b?b:"";if(a===null){this.trace(b+c+": null");return}switch(typeof a){case "undefined":this.trace(b+c+": Undefined");break;case "number":case "string":case "boolean":this.trace(b+c+": "+a);break;default:if(Date.isInstanceOfType(a)||RegExp.isInstanceOfType(a)){this.trace(b+c+": "+a.toString());break}if(!d)d=[];else if(Array.contains(d,a)){this.trace(b+c+": ...");return}Array.add(d,a);if(a==window||a===document||window.HTMLElement&&a instanceof HTMLElement||typeof a.nodeName==="string"){var k=a.tagName?a.tagName:"DomElement";if(a.id)k+=" - "+a.id;this.trace(b+c+" {"+k+"}")}else{var i=Object.getTypeName(a);this.trace(b+c+(typeof i==="string"?" {"+i+"}":""));if(b===""||f){b+=" ";var e,j,l,g,h;if(Array.isInstanceOfType(a)){j=a.length;for(e=0;e=0;d--){var k=h[d].trim();b=a[k];if(typeof b!=="number")throw Error.argument("value",String.format(Sys.Res.enumInvalidValue,c.split(",")[d].trim(),this.__typeName));j|=b}return j}}function Sys$Enum$toString(c){if(typeof c==="undefined"||c===null)return this.__string;var d=this.prototype,a;if(!this.__flags||c===0){for(a in d)if(d[a]===c)return a}else{var b=this.__sortedValues;if(!b){b=[];for(a in d)b[b.length]={key:a,value:d[a]};b.sort(function(a,b){return a.value-b.value});this.__sortedValues=b}var e=[],g=c;for(a=b.length-1;a>=0;a--){var h=b[a],f=h.value;if(f===0)continue;if((f&c)===f){e[e.length]=h.key;g-=f;if(g===0)break}}if(e.length&&g===0)return e.reverse().join(", ")}return ""}Type.prototype.registerEnum=function(b,c){Sys.__upperCaseTypes[b.toUpperCase()]=this;for(var a in this.prototype)this[a]=this.prototype[a];this.__typeName=b;this.parse=Sys$Enum$parse;this.__string=this.toString();this.toString=Sys$Enum$toString;this.__flags=c;this.__enum=true};Type.isEnum=function(a){if(typeof a==="undefined"||a===null)return false;return !!a.__enum};Type.isFlags=function(a){if(typeof a==="undefined"||a===null)return false;return !!a.__flags};Sys.EventHandlerList=function(){this._list={}};Sys.EventHandlerList.prototype={addHandler:function(b,a){Array.add(this._getEvent(b,true),a)},removeHandler:function(c,b){var a=this._getEvent(c);if(!a)return;Array.remove(a,b)},getHandler:function(b){var a=this._getEvent(b);if(!a||a.length===0)return null;a=Array.clone(a);return function(c,d){for(var b=0,e=a.length;b=0;c--)$removeHandler(a,b,d[c].handler)}a._events=null}},$removeHandler=Sys.UI.DomEvent.removeHandler=function(a,e,f){var d=null,c=a._events[e];for(var b=0,g=c.length;b=0)d.className=(a.substr(0,b)+" "+a.substring(b+c.length+1,a.length)).trim()};Sys.UI.DomElement.setLocation=function(b,c,d){var a=b.style;a.position="absolute";a.left=c+"px";a.top=d+"px"};Sys.UI.DomElement.toggleCssClass=function(b,a){if(Sys.UI.DomElement.containsCssClass(b,a))Sys.UI.DomElement.removeCssClass(b,a);else Sys.UI.DomElement.addCssClass(b,a)};Sys.UI.DomElement.getVisibilityMode=function(a){return a._visibilityMode===Sys.UI.VisibilityMode.hide?Sys.UI.VisibilityMode.hide:Sys.UI.VisibilityMode.collapse};Sys.UI.DomElement.setVisibilityMode=function(a,b){Sys.UI.DomElement._ensureOldDisplayMode(a);if(a._visibilityMode!==b){a._visibilityMode=b;if(Sys.UI.DomElement.getVisible(a)===false)if(a._visibilityMode===Sys.UI.VisibilityMode.hide)a.style.display=a._oldDisplayMode;else a.style.display="none";a._visibilityMode=b}};Sys.UI.DomElement.getVisible=function(b){var a=b.currentStyle||Sys.UI.DomElement._getCurrentStyle(b);if(!a)return true;return a.visibility!=="hidden"&&a.display!=="none"};Sys.UI.DomElement.setVisible=function(a,b){if(b!==Sys.UI.DomElement.getVisible(a)){Sys.UI.DomElement._ensureOldDisplayMode(a);a.style.visibility=b?"visible":"hidden";if(b||a._visibilityMode===Sys.UI.VisibilityMode.hide)a.style.display=a._oldDisplayMode;else a.style.display="none"}};Sys.UI.DomElement._ensureOldDisplayMode=function(a){if(!a._oldDisplayMode){var b=a.currentStyle||Sys.UI.DomElement._getCurrentStyle(a);a._oldDisplayMode=b?b.display:null;if(!a._oldDisplayMode||a._oldDisplayMode==="none")switch(a.tagName.toUpperCase()){case "DIV":case "P":case "ADDRESS":case "BLOCKQUOTE":case "BODY":case "COL":case "COLGROUP":case "DD":case "DL":case "DT":case "FIELDSET":case "FORM":case "H1":case "H2":case "H3":case "H4":case "H5":case "H6":case "HR":case "IFRAME":case "LEGEND":case "OL":case "PRE":case "TABLE":case "TD":case "TH":case "TR":case "UL":a._oldDisplayMode="block";break;case "LI":a._oldDisplayMode="list-item";break;default:a._oldDisplayMode="inline"}}};Sys.UI.DomElement._getWindow=function(a){var b=a.ownerDocument||a.document||a;return b.defaultView||b.parentWindow};Sys.UI.DomElement._getCurrentStyle=function(a){if(a.nodeType===3)return null;var c=Sys.UI.DomElement._getWindow(a);if(a.documentElement)a=a.documentElement;var b=c&&a!==c&&c.getComputedStyle?c.getComputedStyle(a,null):a.currentStyle||a.style;if(!b&&Sys.Browser.agent===Sys.Browser.Safari&&a.style){var g=a.style.display,f=a.style.position;a.style.position="absolute";a.style.display="block";var e=c.getComputedStyle(a,null);a.style.display=g;a.style.position=f;b={};for(var d in e)b[d]=e[d];b.display="none"}return b};Sys.IContainer=function(){};Sys.IContainer.prototype={};Sys.IContainer.registerInterface("Sys.IContainer");Sys._ScriptLoader=function(){this._scriptsToLoad=null;this._sessions=[];this._scriptLoadedDelegate=Function.createDelegate(this,this._scriptLoadedHandler)};Sys._ScriptLoader.prototype={dispose:function(){this._stopSession();this._loading=false;if(this._events)delete this._events;this._sessions=null;this._currentSession=null;this._scriptLoadedDelegate=null},loadScripts:function(d,b,c,a){var e={allScriptsLoadedCallback:b,scriptLoadFailedCallback:c,scriptLoadTimeoutCallback:a,scriptsToLoad:this._scriptsToLoad,scriptTimeout:d};this._scriptsToLoad=null;this._sessions[this._sessions.length]=e;if(!this._loading)this._nextSession()},notifyScriptLoaded:function(){if(!this._loading)return;this._currentTask._notified++;if(Sys.Browser.agent===Sys.Browser.Safari)if(this._currentTask._notified===1)window.setTimeout(Function.createDelegate(this,function(){this._scriptLoadedHandler(this._currentTask.get_scriptElement(),true)}),0)},queueCustomScriptTag:function(a){if(!this._scriptsToLoad)this._scriptsToLoad=[];Array.add(this._scriptsToLoad,a)},queueScriptBlock:function(a){if(!this._scriptsToLoad)this._scriptsToLoad=[];Array.add(this._scriptsToLoad,{text:a})},queueScriptReference:function(a){if(!this._scriptsToLoad)this._scriptsToLoad=[];Array.add(this._scriptsToLoad,{src:a})},_createScriptElement:function(c){var a=document.createElement("script");a.type="text/javascript";for(var b in c)a[b]=c[b];return a},_loadScriptsInternal:function(){var b=this._currentSession;if(b.scriptsToLoad&&b.scriptsToLoad.length>0){var c=Array.dequeue(b.scriptsToLoad),a=this._createScriptElement(c);if(a.text&&Sys.Browser.agent===Sys.Browser.Safari){a.innerHTML=a.text;delete a.text}if(typeof c.src==="string"){this._currentTask=new Sys._ScriptLoaderTask(a,this._scriptLoadedDelegate);this._currentTask.execute()}else{document.getElementsByTagName("head")[0].appendChild(a);Sys._ScriptLoader._clearScript(a);this._loadScriptsInternal()}}else{this._stopSession();var d=b.allScriptsLoadedCallback;if(d)d(this);this._nextSession()}},_nextSession:function(){if(this._sessions.length===0){this._loading=false;this._currentSession=null;return}this._loading=true;var a=Array.dequeue(this._sessions);this._currentSession=a;if(a.scriptTimeout>0)this._timeoutCookie=window.setTimeout(Function.createDelegate(this,this._scriptLoadTimeoutHandler),a.scriptTimeout*1000);this._loadScriptsInternal()},_raiseError:function(a){var c=this._currentSession.scriptLoadFailedCallback,b=this._currentTask.get_scriptElement();this._stopSession();if(c){c(this,b,a);this._nextSession()}else{this._loading=false;throw Sys._ScriptLoader._errorScriptLoadFailed(b.src,a)}},_scriptLoadedHandler:function(a,b){if(b&&this._currentTask._notified)if(this._currentTask._notified>1)this._raiseError(true);else{Array.add(Sys._ScriptLoader._getLoadedScripts(),a.src);this._currentTask.dispose();this._currentTask=null;this._loadScriptsInternal()}else this._raiseError(false)},_scriptLoadTimeoutHandler:function(){var a=this._currentSession.scriptLoadTimeoutCallback;this._stopSession();if(a)a(this);this._nextSession()},_stopSession:function(){if(this._timeoutCookie){window.clearTimeout(this._timeoutCookie);this._timeoutCookie=null}if(this._currentTask){this._currentTask.dispose();this._currentTask=null}}};Sys._ScriptLoader.registerClass("Sys._ScriptLoader",null,Sys.IDisposable);Sys._ScriptLoader.getInstance=function(){var a=Sys._ScriptLoader._activeInstance;if(!a)a=Sys._ScriptLoader._activeInstance=new Sys._ScriptLoader;return a};Sys._ScriptLoader.isScriptLoaded=function(b){var a=document.createElement("script");a.src=b;return Array.contains(Sys._ScriptLoader._getLoadedScripts(),a.src)};Sys._ScriptLoader.readLoadedScripts=function(){if(!Sys._ScriptLoader._referencedScripts){var b=Sys._ScriptLoader._referencedScripts=[],c=document.getElementsByTagName("script");for(i=c.length-1;i>=0;i--){var d=c[i],a=d.src;if(a.length)if(!Array.contains(b,a))Array.add(b,a)}}};Sys._ScriptLoader._clearScript=function(a){if(!Sys.Debug.isDebug)a.parentNode.removeChild(a)};Sys._ScriptLoader._errorScriptLoadFailed=function(b,d){var a;if(d)a=Sys.Res.scriptLoadMultipleCallbacks;else a=Sys.Res.scriptLoadFailed;var e="Sys.ScriptLoadFailedException: "+String.format(a,b),c=Error.create(e,{name:"Sys.ScriptLoadFailedException","scriptUrl":b});c.popStackFrame();return c};Sys._ScriptLoader._getLoadedScripts=function(){if(!Sys._ScriptLoader._referencedScripts){Sys._ScriptLoader._referencedScripts=[];Sys._ScriptLoader.readLoadedScripts()}return Sys._ScriptLoader._referencedScripts};Sys._ScriptLoaderTask=function(b,a){this._scriptElement=b;this._completedCallback=a;this._notified=0};Sys._ScriptLoaderTask.prototype={get_scriptElement:function(){return this._scriptElement},dispose:function(){if(this._disposed)return;this._disposed=true;this._removeScriptElementHandlers();Sys._ScriptLoader._clearScript(this._scriptElement);this._scriptElement=null},execute:function(){this._addScriptElementHandlers();document.getElementsByTagName("head")[0].appendChild(this._scriptElement)},_addScriptElementHandlers:function(){this._scriptLoadDelegate=Function.createDelegate(this,this._scriptLoadHandler);if(Sys.Browser.agent!==Sys.Browser.InternetExplorer){this._scriptElement.readyState="loaded";$addHandler(this._scriptElement,"load",this._scriptLoadDelegate)}else $addHandler(this._scriptElement,"readystatechange",this._scriptLoadDelegate);if(this._scriptElement.addEventListener){this._scriptErrorDelegate=Function.createDelegate(this,this._scriptErrorHandler);this._scriptElement.addEventListener("error",this._scriptErrorDelegate,false)}},_removeScriptElementHandlers:function(){if(this._scriptLoadDelegate){var a=this.get_scriptElement();if(Sys.Browser.agent!==Sys.Browser.InternetExplorer)$removeHandler(a,"load",this._scriptLoadDelegate);else $removeHandler(a,"readystatechange",this._scriptLoadDelegate);if(this._scriptErrorDelegate){this._scriptElement.removeEventListener("error",this._scriptErrorDelegate,false);this._scriptErrorDelegate=null}this._scriptLoadDelegate=null}},_scriptErrorHandler:function(){if(this._disposed)return;this._completedCallback(this.get_scriptElement(),false)},_scriptLoadHandler:function(){if(this._disposed)return;var a=this.get_scriptElement();if(a.readyState!=="loaded"&&a.readyState!=="complete")return;var b=this;window.setTimeout(function(){b._completedCallback(a,true)},0)}};Sys._ScriptLoaderTask.registerClass("Sys._ScriptLoaderTask",null,Sys.IDisposable);Sys.ApplicationLoadEventArgs=function(b,a){Sys.ApplicationLoadEventArgs.initializeBase(this);this._components=b;this._isPartialLoad=a};Sys.ApplicationLoadEventArgs.prototype={get_components:function(){return this._components},get_isPartialLoad:function(){return this._isPartialLoad}};Sys.ApplicationLoadEventArgs.registerClass("Sys.ApplicationLoadEventArgs",Sys.EventArgs);Sys.HistoryEventArgs=function(a){Sys.HistoryEventArgs.initializeBase(this);this._state=a};Sys.HistoryEventArgs.prototype={get_state:function(){return this._state}};Sys.HistoryEventArgs.registerClass("Sys.HistoryEventArgs",Sys.EventArgs);Sys._Application=function(){Sys._Application.initializeBase(this);this._disposableObjects=[];this._components={};this._createdComponents=[];this._secondPassComponents=[];this._appLoadHandler=null;this._beginRequestHandler=null;this._clientId=null;this._currentEntry="";this._endRequestHandler=null;this._history=null;this._enableHistory=false;this._historyFrame=null;this._historyInitialized=false;this._historyInitialLength=0;this._historyLength=0;this._historyPointIsNew=false;this._ignoreTimer=false;this._initialState=null;this._state={};this._timerCookie=0;this._timerHandler=null;this._uniqueId=null;this._unloadHandlerDelegate=Function.createDelegate(this,this._unloadHandler);this._loadHandlerDelegate=Function.createDelegate(this,this._loadHandler);Sys.UI.DomEvent.addHandler(window,"unload",this._unloadHandlerDelegate);Sys.UI.DomEvent.addHandler(window,"load",this._loadHandlerDelegate)};Sys._Application.prototype={_creatingComponents:false,_disposing:false,get_isCreatingComponents:function(){return this._creatingComponents},get_stateString:function(){var a=window.location.hash;if(this._isSafari2()){var b=this._getHistory();if(b)a=b[window.history.length-this._historyInitialLength]}if(a.length>0&&a.charAt(0)==="#")a=a.substring(1);if(Sys.Browser.agent===Sys.Browser.Firefox)a=this._serializeState(this._deserializeState(a,true));return a},get_enableHistory:function(){return this._enableHistory},set_enableHistory:function(a){this._enableHistory=a},add_init:function(a){if(this._initialized)a(this,Sys.EventArgs.Empty);else this.get_events().addHandler("init",a)},remove_init:function(a){this.get_events().removeHandler("init",a)},add_load:function(a){this.get_events().addHandler("load",a)},remove_load:function(a){this.get_events().removeHandler("load",a)},add_navigate:function(a){this.get_events().addHandler("navigate",a)},remove_navigate:function(a){this.get_events().removeHandler("navigate",a)},add_unload:function(a){this.get_events().addHandler("unload",a)},remove_unload:function(a){this.get_events().removeHandler("unload",a)},addComponent:function(a){this._components[a.get_id()]=a},addHistoryPoint:function(c,f){this._ensureHistory();var b=this._state;for(var a in c){var d=c[a];if(d===null){if(typeof b[a]!=="undefined")delete b[a]}else b[a]=d}var e=this._serializeState(b);this._historyPointIsNew=true;this._setState(e,f);this._raiseNavigate()},beginCreateComponents:function(){this._creatingComponents=true},dispose:function(){if(!this._disposing){this._disposing=true;if(this._timerCookie){window.clearTimeout(this._timerCookie);delete this._timerCookie}if(this._endRequestHandler){Sys.WebForms.PageRequestManager.getInstance().remove_endRequest(this._endRequestHandler);delete this._endRequestHandler}if(this._beginRequestHandler){Sys.WebForms.PageRequestManager.getInstance().remove_beginRequest(this._beginRequestHandler);delete this._beginRequestHandler}if(window.pageUnload)window.pageUnload(this,Sys.EventArgs.Empty);var c=this.get_events().getHandler("unload");if(c)c(this,Sys.EventArgs.Empty);var b=Array.clone(this._disposableObjects);for(var a=0,e=b.length;a'");d.write(""+(c||document.title)+"parent.Sys.Application._onIFrameLoad(\''+a+"');");d.close()}this._ignoreTimer=false;var h=this.get_stateString();this._currentEntry=a;if(a!==h){if(this._isSafari2()){var g=this._getHistory();g[window.history.length-this._historyInitialLength+1]=a;this._setHistory(g);this._historyLength=window.history.length+1;var b=document.createElement("form");b.method="get";b.action="#"+a;document.appendChild(b);b.submit();document.removeChild(b)}else window.location.hash=a;if(typeof c!=="undefined"&&c!==null)document.title=c}}},_unloadHandler:function(){this.dispose()},_updateHiddenField:function(b){if(this._clientId){var a=document.getElementById(this._clientId);if(a)a.value=b}}};Sys._Application.registerClass("Sys._Application",Sys.Component,Sys.IContainer);Sys.Application=new Sys._Application;var $find=Sys.Application.findComponent;Type.registerNamespace("Sys.Net");Sys.Net.WebRequestExecutor=function(){this._webRequest=null;this._resultObject=null};Sys.Net.WebRequestExecutor.prototype={get_webRequest:function(){return this._webRequest},_set_webRequest:function(a){this._webRequest=a},get_started:function(){throw Error.notImplemented()},get_responseAvailable:function(){throw Error.notImplemented()},get_timedOut:function(){throw Error.notImplemented()},get_aborted:function(){throw Error.notImplemented()},get_responseData:function(){throw Error.notImplemented()},get_statusCode:function(){throw Error.notImplemented()},get_statusText:function(){throw Error.notImplemented()},get_xml:function(){throw Error.notImplemented()},get_object:function(){if(!this._resultObject)this._resultObject=Sys.Serialization.JavaScriptSerializer.deserialize(this.get_responseData());return this._resultObject},executeRequest:function(){throw Error.notImplemented()},abort:function(){throw Error.notImplemented()},getResponseHeader:function(){throw Error.notImplemented()},getAllResponseHeaders:function(){throw Error.notImplemented()}};Sys.Net.WebRequestExecutor.registerClass("Sys.Net.WebRequestExecutor");Sys.Net.XMLDOM=function(d){if(!window.DOMParser){var c=["Msxml2.DOMDocument.3.0","Msxml2.DOMDocument"];for(var b=0,f=c.length;b0)this._timer=window.setTimeout(Function.createDelegate(this,this._onTimeout),d);this._xmlHttpRequest.send(c);this._started=true},getResponseHeader:function(b){var a;try{a=this._xmlHttpRequest.getResponseHeader(b)}catch(c){}if(!a)a="";return a},getAllResponseHeaders:function(){return this._xmlHttpRequest.getAllResponseHeaders()},get_responseData:function(){return this._xmlHttpRequest.responseText},get_statusCode:function(){var a=0;try{a=this._xmlHttpRequest.status}catch(b){}return a},get_statusText:function(){return this._xmlHttpRequest.statusText},get_xml:function(){var a=this._xmlHttpRequest.responseXML;if(!a||!a.documentElement){a=Sys.Net.XMLDOM(this._xmlHttpRequest.responseText);if(!a||!a.documentElement)return null}else if(navigator.userAgent.indexOf("MSIE")!==-1)a.setProperty("SelectionLanguage","XPath");if(a.documentElement.namespaceURI==="http://www.mozilla.org/newlayout/xml/parsererror.xml"&&a.documentElement.tagName==="parsererror")return null;if(a.documentElement.firstChild&&a.documentElement.firstChild.tagName==="parsererror")return null;return a},abort:function(){if(this._aborted||this._responseAvailable||this._timedOut)return;this._aborted=true;this._clearTimer();if(this._xmlHttpRequest&&!this._responseAvailable){this._xmlHttpRequest.onreadystatechange=Function.emptyMethod;this._xmlHttpRequest.abort();this._xmlHttpRequest=null;this._webRequest.completed(Sys.EventArgs.Empty)}}};Sys.Net.XMLHttpExecutor.registerClass("Sys.Net.XMLHttpExecutor",Sys.Net.WebRequestExecutor);Sys.Net._WebRequestManager=function(){this._defaultTimeout=0;this._defaultExecutorType="Sys.Net.XMLHttpExecutor"};Sys.Net._WebRequestManager.prototype={add_invokingRequest:function(a){this._get_eventHandlerList().addHandler("invokingRequest",a)},remove_invokingRequest:function(a){this._get_eventHandlerList().removeHandler("invokingRequest",a)},add_completedRequest:function(a){this._get_eventHandlerList().addHandler("completedRequest",a)},remove_completedRequest:function(a){this._get_eventHandlerList().removeHandler("completedRequest",a)},_get_eventHandlerList:function(){if(!this._events)this._events=new Sys.EventHandlerList;return this._events},get_defaultTimeout:function(){return this._defaultTimeout},set_defaultTimeout:function(a){this._defaultTimeout=a},get_defaultExecutorType:function(){return this._defaultExecutorType},set_defaultExecutorType:function(a){this._defaultExecutorType=a},executeRequest:function(webRequest){var executor=webRequest.get_executor();if(!executor){var failed=false;try{var executorType=eval(this._defaultExecutorType);executor=new executorType}catch(a){failed=true}webRequest.set_executor(executor)}if(executor.get_aborted())return;var evArgs=new Sys.Net.NetworkRequestEventArgs(webRequest),handler=this._get_eventHandlerList().getHandler("invokingRequest");if(handler)handler(this,evArgs);if(!evArgs.get_cancel())executor.executeRequest()}};Sys.Net._WebRequestManager.registerClass("Sys.Net._WebRequestManager");Sys.Net.WebRequestManager=new Sys.Net._WebRequestManager;Sys.Net.NetworkRequestEventArgs=function(a){Sys.Net.NetworkRequestEventArgs.initializeBase(this);this._webRequest=a};Sys.Net.NetworkRequestEventArgs.prototype={get_webRequest:function(){return this._webRequest}};Sys.Net.NetworkRequestEventArgs.registerClass("Sys.Net.NetworkRequestEventArgs",Sys.CancelEventArgs);Sys.Net.WebRequest=function(){this._url="";this._headers={};this._body=null;this._userContext=null;this._httpVerb=null;this._executor=null;this._invokeCalled=false;this._timeout=0};Sys.Net.WebRequest.prototype={add_completed:function(a){this._get_eventHandlerList().addHandler("completed",a)},remove_completed:function(a){this._get_eventHandlerList().removeHandler("completed",a)},completed:function(b){var a=Sys.Net.WebRequestManager._get_eventHandlerList().getHandler("completedRequest");if(a)a(this._executor,b);a=this._get_eventHandlerList().getHandler("completed");if(a)a(this._executor,b)},_get_eventHandlerList:function(){if(!this._events)this._events=new Sys.EventHandlerList;return this._events},get_url:function(){return this._url},set_url:function(a){this._url=a},get_headers:function(){return this._headers},get_httpVerb:function(){if(this._httpVerb===null){if(this._body===null)return "GET";return "POST"}return this._httpVerb},set_httpVerb:function(a){this._httpVerb=a},get_body:function(){return this._body},set_body:function(a){this._body=a},get_userContext:function(){return this._userContext},set_userContext:function(a){this._userContext=a},get_executor:function(){return this._executor},set_executor:function(a){this._executor=a;this._executor._set_webRequest(this)},get_timeout:function(){if(this._timeout===0)return Sys.Net.WebRequestManager.get_defaultTimeout();return this._timeout},set_timeout:function(a){this._timeout=a},getResolvedUrl:function(){return Sys.Net.WebRequest._resolveUrl(this._url)},invoke:function(){Sys.Net.WebRequestManager.executeRequest(this);this._invokeCalled=true}};Sys.Net.WebRequest._resolveUrl=function(b,a){if(b&&b.indexOf("://")!==-1)return b;if(!a||a.length===0){var d=document.getElementsByTagName("base")[0];if(d&&d.href&&d.href.length>0)a=d.href;else a=document.URL}var c=a.indexOf("?");if(c!==-1)a=a.substr(0,c);c=a.indexOf("#");if(c!==-1)a=a.substr(0,c);a=a.substr(0,a.lastIndexOf("/")+1);if(!b||b.length===0)return a;if(b.charAt(0)==="/"){var e=a.indexOf("://"),g=a.indexOf("/",e+3);return a.substr(0,g)+b}else{var f=a.lastIndexOf("/");return a.substr(0,f+1)+b}};Sys.Net.WebRequest._createQueryString=function(d,b){if(!b)b=encodeURIComponent;var a=new Sys.StringBuilder,f=0;for(var c in d){var e=d[c];if(typeof e==="function")continue;var g=Sys.Serialization.JavaScriptSerializer.serialize(e);if(f!==0)a.append("&");a.append(c);a.append("=");a.append(b(g));f++}return a.toString()};Sys.Net.WebRequest._createUrl=function(a,b){if(!b)return a;var d=Sys.Net.WebRequest._createQueryString(b);if(d.length>0){var c="?";if(a&&a.indexOf("?")!==-1)c="&";return a+c+d}else return a};Sys.Net.WebRequest.registerClass("Sys.Net.WebRequest");Sys.Net.WebServiceProxy=function(){};Sys.Net.WebServiceProxy.prototype={get_timeout:function(){return this._timeout},set_timeout:function(a){if(a<0)throw Error.argumentOutOfRange("value",a,Sys.Res.invalidTimeout);this._timeout=a},get_defaultUserContext:function(){return this._userContext},set_defaultUserContext:function(a){this._userContext=a},get_defaultSucceededCallback:function(){return this._succeeded},set_defaultSucceededCallback:function(a){this._succeeded=a},get_defaultFailedCallback:function(){return this._failed},set_defaultFailedCallback:function(a){this._failed=a},get_path:function(){return this._path},set_path:function(a){this._path=a},_invoke:function(d,e,g,f,c,b,a){if(c===null||typeof c==="undefined")c=this.get_defaultSucceededCallback();if(b===null||typeof b==="undefined")b=this.get_defaultFailedCallback();if(a===null||typeof a==="undefined")a=this.get_defaultUserContext();return Sys.Net.WebServiceProxy.invoke(d,e,g,f,c,b,a,this.get_timeout())}};Sys.Net.WebServiceProxy.registerClass("Sys.Net.WebServiceProxy");Sys.Net.WebServiceProxy.invoke=function(k,a,j,d,i,c,f,h){var b=new Sys.Net.WebRequest;b.get_headers()["Content-Type"]="application/json; charset=utf-8";if(!d)d={};var g=d;if(!j||!g)g={};b.set_url(Sys.Net.WebRequest._createUrl(k+"/"+encodeURIComponent(a),g));var e=null;if(!j){e=Sys.Serialization.JavaScriptSerializer.serialize(d);if(e==="{}")e=""}b.set_body(e);b.add_completed(l);if(h&&h>0)b.set_timeout(h);b.invoke();function l(d){if(d.get_responseAvailable()){var g=d.get_statusCode(),b=null;try{var e=d.getResponseHeader("Content-Type");if(e.startsWith("application/json"))b=d.get_object();else if(e.startsWith("text/xml"))b=d.get_xml();else b=d.get_responseData()}catch(m){}var k=d.getResponseHeader("jsonerror"),h=k==="true";if(h){if(b)b=new Sys.Net.WebServiceError(false,b.Message,b.StackTrace,b.ExceptionType)}else if(e.startsWith("application/json"))b=b.d;if(g<200||g>=300||h){if(c){if(!b||!h)b=new Sys.Net.WebServiceError(false,String.format(Sys.Res.webServiceFailedNoMsg,a),"","");b._statusCode=g;c(b,f,a)}}else if(i)i(b,f,a)}else{var j;if(d.get_timedOut())j=String.format(Sys.Res.webServiceTimedOut,a);else j=String.format(Sys.Res.webServiceFailedNoMsg,a);if(c)c(new Sys.Net.WebServiceError(d.get_timedOut(),j,"",""),f,a)}}return b};Sys.Net.WebServiceProxy._generateTypedConstructor=function(a){return function(b){if(b)for(var c in b)this[c]=b[c];this.__type=a}};Sys.Net.WebServiceError=function(c,d,b,a){this._timedOut=c;this._message=d;this._stackTrace=b;this._exceptionType=a;this._statusCode=-1};Sys.Net.WebServiceError.prototype={get_timedOut:function(){return this._timedOut},get_statusCode:function(){return this._statusCode},get_message:function(){return this._message},get_stackTrace:function(){return this._stackTrace},get_exceptionType:function(){return this._exceptionType}};Sys.Net.WebServiceError.registerClass("Sys.Net.WebServiceError");Type.registerNamespace("Sys.Services");Sys.Services._ProfileService=function(){Sys.Services._ProfileService.initializeBase(this);this.properties={}};Sys.Services._ProfileService.DefaultWebServicePath="";Sys.Services._ProfileService.prototype={_defaultLoadCompletedCallback:null,_defaultSaveCompletedCallback:null,_path:"",_timeout:0,get_defaultLoadCompletedCallback:function(){return this._defaultLoadCompletedCallback},set_defaultLoadCompletedCallback:function(a){this._defaultLoadCompletedCallback=a},get_defaultSaveCompletedCallback:function(){return this._defaultSaveCompletedCallback},set_defaultSaveCompletedCallback:function(a){this._defaultSaveCompletedCallback=a},get_path:function(){return this._path||""},load:function(c,d,e,f){var b,a;if(!c){a="GetAllPropertiesForCurrentUser";b={authenticatedUserOnly:false}}else{a="GetPropertiesForCurrentUser";b={properties:this._clonePropertyNames(c),authenticatedUserOnly:false}}this._invoke(this._get_path(),a,false,b,Function.createDelegate(this,this._onLoadComplete),Function.createDelegate(this,this._onLoadFailed),[d,e,f])},save:function(d,b,c,e){var a=this._flattenProperties(d,this.properties);this._invoke(this._get_path(),"SetPropertiesForCurrentUser",false,{values:a.value,authenticatedUserOnly:false},Function.createDelegate(this,this._onSaveComplete),Function.createDelegate(this,this._onSaveFailed),[b,c,e,a.count])},_clonePropertyNames:function(e){var c=[],d={};for(var b=0;b0)a.append(",");Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(b[c],a,false,g)}a.append("]")}else{if(Date.isInstanceOfType(b)){a.append('"\\/Date(');a.append(b.getTime());a.append(')\\/"');break}var d=[],f=0;for(var e in b){if(e.startsWith("$"))continue;if(e===Sys.Serialization.JavaScriptSerializer._serverTypeFieldName&&f!==0){d[f++]=d[0];d[0]=e}else d[f++]=e}if(i)d.sort();a.append("{");var j=false;for(c=0;c - /// - /// - /// - /// - /// -}; -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) { - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - 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_AjaxContext$get_data() { - /// - if (this._response) { - return this._response.get_responseData(); - } - else { - return null; - } - }, - - get_insertionMode: function Sys_Mvc_AjaxContext$get_insertionMode() { - /// - return this._insertionMode; - }, - - get_loadingElement: function Sys_Mvc_AjaxContext$get_loadingElement() { - /// - return this._loadingElement; - }, - - get_response: function Sys_Mvc_AjaxContext$get_response() { - /// - return this._response; - }, - set_response: function Sys_Mvc_AjaxContext$set_response(value) { - /// - this._response = value; - return value; - }, - - get_request: function Sys_Mvc_AjaxContext$get_request() { - /// - return this._request; - }, - - get_updateTarget: function Sys_Mvc_AjaxContext$get_updateTarget() { - /// - return this._updateTarget; - } -} - - -//////////////////////////////////////////////////////////////////////////////// -// Sys.Mvc.AsyncHyperlink - -Sys.Mvc.AsyncHyperlink = function Sys_Mvc_AsyncHyperlink() { -} -Sys.Mvc.AsyncHyperlink.handleClick = function Sys_Mvc_AsyncHyperlink$handleClick(anchor, evt, ajaxOptions) { - /// - /// - /// - /// - /// - /// - evt.preventDefault(); - Sys.Mvc.MvcHelpers._asyncRequest(anchor.href, 'post', '', anchor, ajaxOptions); -} - - -//////////////////////////////////////////////////////////////////////////////// -// Sys.Mvc.MvcHelpers - -Sys.Mvc.MvcHelpers = function Sys_Mvc_MvcHelpers() { -} -Sys.Mvc.MvcHelpers._serializeForm = function Sys_Mvc_MvcHelpers$_serializeForm(form) { - /// - /// - /// - 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('&'); - } - } - return formBody.toString(); -} -Sys.Mvc.MvcHelpers._asyncRequest = function Sys_Mvc_MvcHelpers$_asyncRequest(url, verb, body, triggerElement, ajaxOptions) { - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - if (ajaxOptions.confirm) { - if (!confirm(ajaxOptions.confirm)) { - return; - } - } - if (ajaxOptions.url) { - url = ajaxOptions.url; - } - if (ajaxOptions.httpMethod) { - verb = ajaxOptions.httpMethod; - } - if (body.length > 0 && !body.endsWith('&')) { - body += '&'; - } - body += 'X-Requested-With=XMLHttpRequest'; - var requestBody = ''; - if (verb.toUpperCase() === 'GET' || verb.toUpperCase() === 'DELETE') { - if (url.indexOf('?') > -1) { - if (!url.endsWith('&')) { - url += '&'; - } - url += body; - } - else { - url += '?'; - url += body; - } - } - else { - requestBody = body; - } - var request = new Sys.Net.WebRequest(); - request.set_url(url); - request.set_httpVerb(verb); - request.set_body(requestBody); - if (verb.toUpperCase() === 'PUT') { - request.get_headers()['Content-Type'] = 'application/x-www-form-urlencoded;'; - } - request.get_headers()['X-Requested-With'] = 'XMLHttpRequest'; - var updateElement = null; - if (ajaxOptions.updateTargetId) { - updateElement = $get(ajaxOptions.updateTargetId); - } - var loadingElement = null; - if (ajaxOptions.loadingElementId) { - loadingElement = $get(ajaxOptions.loadingElementId); - } - var ajaxContext = new Sys.Mvc.AjaxContext(request, updateElement, loadingElement, ajaxOptions.insertionMode); - var continueRequest = true; - if (ajaxOptions.onBegin) { - continueRequest = ajaxOptions.onBegin(ajaxContext) !== false; - } - if (loadingElement) { - Sys.UI.DomElement.setVisible(ajaxContext.get_loadingElement(), true); - } - if (continueRequest) { - request.add_completed(Function.createDelegate(null, function(executor) { - Sys.Mvc.MvcHelpers._onComplete(request, ajaxOptions, ajaxContext); - })); - request.invoke(); - } -} -Sys.Mvc.MvcHelpers._onComplete = function Sys_Mvc_MvcHelpers$_onComplete(request, ajaxOptions, ajaxContext) { - /// - /// - /// - /// - /// - /// - 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$updateDomElement(target, insertionMode, content) { - /// - /// - /// - /// - /// - /// - if (target) { - switch (insertionMode) { - case Sys.Mvc.InsertionMode.replace: - target.innerHTML = content; - break; - case Sys.Mvc.InsertionMode.insertBefore: - if (content && content.length > 0) { - target.innerHTML = content + target.innerHTML.trimStart(); - } - break; - case Sys.Mvc.InsertionMode.insertAfter: - if (content && content.length > 0) { - target.innerHTML = target.innerHTML.trimEnd() + content; - } - break; - } - } -} - - -//////////////////////////////////////////////////////////////////////////////// -// Sys.Mvc.AsyncForm - -Sys.Mvc.AsyncForm = function Sys_Mvc_AsyncForm() { -} -Sys.Mvc.AsyncForm.handleSubmit = function Sys_Mvc_AsyncForm$handleSubmit(form, evt, ajaxOptions) { - /// - /// - /// - /// - /// - /// - evt.preventDefault(); - var body = Sys.Mvc.MvcHelpers._serializeForm(form); - Sys.Mvc.MvcHelpers._asyncRequest(form.action, form.method || 'post', body, 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) -// ----------------------------------- +//!---------------------------------------------------------- +//! Copyright (C) Microsoft Corporation. All rights reserved. +//!---------------------------------------------------------- +//! MicrosoftMvcAjax.js + +Type.registerNamespace('Sys.Mvc'); + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.AjaxOptions + +Sys.Mvc.$create_AjaxOptions = function Sys_Mvc_AjaxOptions() { return {}; } + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.InsertionMode + +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 + +Sys.Mvc.AjaxContext = function Sys_Mvc_AjaxContext(request, updateTarget, loadingElement, insertionMode) { + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + 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_AjaxContext$get_data() { + /// + if (this._response) { + return this._response.get_responseData(); + } + else { + return null; + } + }, + + get_insertionMode: function Sys_Mvc_AjaxContext$get_insertionMode() { + /// + return this._insertionMode; + }, + + get_loadingElement: function Sys_Mvc_AjaxContext$get_loadingElement() { + /// + return this._loadingElement; + }, + + get_response: function Sys_Mvc_AjaxContext$get_response() { + /// + return this._response; + }, + set_response: function Sys_Mvc_AjaxContext$set_response(value) { + /// + this._response = value; + return value; + }, + + get_request: function Sys_Mvc_AjaxContext$get_request() { + /// + return this._request; + }, + + get_updateTarget: function Sys_Mvc_AjaxContext$get_updateTarget() { + /// + return this._updateTarget; + } +} + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.AsyncHyperlink + +Sys.Mvc.AsyncHyperlink = function Sys_Mvc_AsyncHyperlink() { +} +Sys.Mvc.AsyncHyperlink.handleClick = function Sys_Mvc_AsyncHyperlink$handleClick(anchor, evt, ajaxOptions) { + /// + /// + /// + /// + /// + /// + evt.preventDefault(); + Sys.Mvc.MvcHelpers._asyncRequest(anchor.href, 'post', '', anchor, ajaxOptions); +} + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.MvcHelpers + +Sys.Mvc.MvcHelpers = function Sys_Mvc_MvcHelpers() { +} +Sys.Mvc.MvcHelpers._serializeForm = function Sys_Mvc_MvcHelpers$_serializeForm(form) { + /// + /// + /// + 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('&'); + } + } + return formBody.toString(); +} +Sys.Mvc.MvcHelpers._asyncRequest = function Sys_Mvc_MvcHelpers$_asyncRequest(url, verb, body, triggerElement, ajaxOptions) { + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + if (ajaxOptions.confirm) { + if (!confirm(ajaxOptions.confirm)) { + return; + } + } + if (ajaxOptions.url) { + url = ajaxOptions.url; + } + if (ajaxOptions.httpMethod) { + verb = ajaxOptions.httpMethod; + } + if (body.length > 0 && !body.endsWith('&')) { + body += '&'; + } + body += 'X-Requested-With=XMLHttpRequest'; + var requestBody = ''; + if (verb.toUpperCase() === 'GET' || verb.toUpperCase() === 'DELETE') { + if (url.indexOf('?') > -1) { + if (!url.endsWith('&')) { + url += '&'; + } + url += body; + } + else { + url += '?'; + url += body; + } + } + else { + requestBody = body; + } + var request = new Sys.Net.WebRequest(); + request.set_url(url); + request.set_httpVerb(verb); + request.set_body(requestBody); + if (verb.toUpperCase() === 'PUT') { + request.get_headers()['Content-Type'] = 'application/x-www-form-urlencoded;'; + } + request.get_headers()['X-Requested-With'] = 'XMLHttpRequest'; + var updateElement = null; + if (ajaxOptions.updateTargetId) { + updateElement = $get(ajaxOptions.updateTargetId); + } + var loadingElement = null; + if (ajaxOptions.loadingElementId) { + loadingElement = $get(ajaxOptions.loadingElementId); + } + var ajaxContext = new Sys.Mvc.AjaxContext(request, updateElement, loadingElement, ajaxOptions.insertionMode); + var continueRequest = true; + if (ajaxOptions.onBegin) { + continueRequest = ajaxOptions.onBegin(ajaxContext) !== false; + } + if (loadingElement) { + Sys.UI.DomElement.setVisible(ajaxContext.get_loadingElement(), true); + } + if (continueRequest) { + request.add_completed(Function.createDelegate(null, function(executor) { + Sys.Mvc.MvcHelpers._onComplete(request, ajaxOptions, ajaxContext); + })); + request.invoke(); + } +} +Sys.Mvc.MvcHelpers._onComplete = function Sys_Mvc_MvcHelpers$_onComplete(request, ajaxOptions, ajaxContext) { + /// + /// + /// + /// + /// + /// + 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$updateDomElement(target, insertionMode, content) { + /// + /// + /// + /// + /// + /// + if (target) { + switch (insertionMode) { + case Sys.Mvc.InsertionMode.replace: + target.innerHTML = content; + break; + case Sys.Mvc.InsertionMode.insertBefore: + if (content && content.length > 0) { + target.innerHTML = content + target.innerHTML.trimStart(); + } + break; + case Sys.Mvc.InsertionMode.insertAfter: + if (content && content.length > 0) { + target.innerHTML = target.innerHTML.trimEnd() + content; + } + break; + } + } +} + + +//////////////////////////////////////////////////////////////////////////////// +// Sys.Mvc.AsyncForm + +Sys.Mvc.AsyncForm = function Sys_Mvc_AsyncForm() { +} +Sys.Mvc.AsyncForm.handleSubmit = function Sys_Mvc_AsyncForm$handleSubmit(form, evt, ajaxOptions) { + /// + /// + /// + /// + /// + /// + evt.preventDefault(); + var body = Sys.Mvc.MvcHelpers._serializeForm(form); + Sys.Mvc.MvcHelpers._asyncRequest(form.action, form.method || 'post', body, 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) +// ----------------------------------- diff --git a/aspclassiccompiler/AzureStoreAsp/AzureStoreService/bin/Release/AzureStoreService.csx/roles/MVCAzureStore/Scripts/MicrosoftMvcAjax.js b/aspclassiccompiler/AzureStoreAsp/AzureStoreService/bin/Release/AzureStoreService.csx/roles/MVCAzureStore/Scripts/MicrosoftMvcAjax.js index 880c1b4..6d6a7e8 100644 --- a/aspclassiccompiler/AzureStoreAsp/AzureStoreService/bin/Release/AzureStoreService.csx/roles/MVCAzureStore/Scripts/MicrosoftMvcAjax.js +++ b/aspclassiccompiler/AzureStoreAsp/AzureStoreService/bin/Release/AzureStoreService.csx/roles/MVCAzureStore/Scripts/MicrosoftMvcAjax.js @@ -2,7 +2,7 @@ // 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;} diff --git a/aspclassiccompiler/AzureStoreAsp/AzureStoreService/bin/Release/AzureStoreService.csx/roles/MVCAzureStore/Scripts/jquery-1.3.2-vsdoc.js b/aspclassiccompiler/AzureStoreAsp/AzureStoreService/bin/Release/AzureStoreService.csx/roles/MVCAzureStore/Scripts/jquery-1.3.2-vsdoc.js index 50705b2..27aefb8 100644 --- a/aspclassiccompiler/AzureStoreAsp/AzureStoreService/bin/Release/AzureStoreService.csx/roles/MVCAzureStore/Scripts/jquery-1.3.2-vsdoc.js +++ b/aspclassiccompiler/AzureStoreAsp/AzureStoreService/bin/Release/AzureStoreService.csx/roles/MVCAzureStore/Scripts/jquery-1.3.2-vsdoc.js @@ -1,6255 +1,6255 @@ -/* - * This file has been commented to support Visual Studio Intellisense. - * You should not use this file at runtime inside the browser--it is only - * intended to be used only for design-time IntelliSense. Please use the - * standard jQuery library for all production use. - * - * Comment version: 1.3.2a - */ - -/* - * jQuery JavaScript Library v1.3.2 - * - * Copyright (c) 2009 John Resig, http://jquery.com/ - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009) - * Revision: 6246 - */ - -(function(){ - -var - // Will speed up references to window, and allows munging its name. - window = this, - // Will speed up references to undefined, and allows munging its name. - undefined, - // Map over jQuery in case of overwrite - _jQuery = window.jQuery, - // Map over the $ in case of overwrite - _$ = window.$, - - jQuery = window.jQuery = window.$ = function(selector, context) { - /// - /// 1: $(expression, context) - This function accepts a string containing a CSS selector which is then used to match a set of elements. - /// 2: $(html) - Create DOM elements on-the-fly from the provided String of raw HTML. - /// 3: $(elements) - Wrap jQuery functionality around a single or multiple DOM Element(s). - /// 4: $(callback) - A shorthand for $(document).ready(). - /// - /// - /// 1: expression - An expression to search with. - /// 2: html - A string of HTML to create on the fly. - /// 3: elements - DOM element(s) to be encapsulated by a jQuery object. - /// 4: callback - The function to execute when the DOM is ready. - /// - /// - /// 1: context - A DOM Element, Document or jQuery to use as context. - /// - /// - /// The DOM node context originally passed to jQuery() (if none was passed then context will be equal to the document). - /// - /// - /// A selector representing selector originally passed to jQuery(). - /// - /// - - // The jQuery object is actually just the init constructor 'enhanced' - return new jQuery.fn.init( selector, context ); - }, - - // A simple way to check for HTML strings or ID strings - // (both of which we optimize for) - quickExpr = /^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/, - // Is it a simple selector - isSimple = /^.[^:#\[\.,]*$/; - -jQuery.fn = jQuery.prototype = { - init: function( selector, context ) { - /// - /// 1: $(expression, context) - This function accepts a string containing a CSS selector which is then used to match a set of elements. - /// 2: $(html) - Create DOM elements on-the-fly from the provided String of raw HTML. - /// 3: $(elements) - Wrap jQuery functionality around a single or multiple DOM Element(s). - /// 4: $(callback) - A shorthand for $(document).ready(). - /// - /// - /// 1: expression - An expression to search with. - /// 2: html - A string of HTML to create on the fly. - /// 3: elements - DOM element(s) to be encapsulated by a jQuery object. - /// 4: callback - The function to execute when the DOM is ready. - /// - /// - /// 1: context - A DOM Element, Document or jQuery to use as context. - /// - /// - - // Make sure that a selection was provided - selector = selector || document; - - // Handle $(DOMElement) - if ( selector.nodeType ) { - this[0] = selector; - this.length = 1; - this.context = selector; - return this; - } - // Handle HTML strings - if (typeof selector === "string") { - // Are we dealing with HTML string or an ID? - var match = quickExpr.exec(selector); - - // Verify a match, and that no context was specified for #id - if (match && (match[1] || !context)) { - - // HANDLE: $(html) -> $(array) - if (match[1]) - selector = jQuery.clean([match[1]], context); - - // HANDLE: $("#id") - else { - var elem = document.getElementById(match[3]); - - // Handle the case where IE and Opera return items - // by name instead of ID - if (elem && elem.id != match[3]) - return jQuery().find(selector); - - // Otherwise, we inject the element directly into the jQuery object - var ret = jQuery(elem || []); - ret.context = document; - ret.selector = selector; - return ret; - } - - // HANDLE: $(expr, [context]) - // (which is just equivalent to: $(content).find(expr) - } else - return jQuery(context).find(selector); - - // HANDLE: $(function) - // Shortcut for document ready - } else if ( jQuery.isFunction( selector ) ) - return jQuery( document ).ready( selector ); - - // Make sure that old selector state is passed along - if ( selector.selector && selector.context ) { - this.selector = selector.selector; - this.context = selector.context; - } - - return this.setArray(jQuery.isArray( selector ) ? - selector : - jQuery.makeArray(selector)); - }, - - // Start with an empty selector - selector: "", - - // The current version of jQuery being used - jquery: "1.3.2", - - // The number of elements contained in the matched element set - size: function() { - /// - /// The number of elements currently matched. - /// Part of Core - /// - /// - - return this.length; - }, - - // Get the Nth element in the matched element set OR - // Get the whole matched element set as a clean array - get: function( num ) { - /// - /// Access a single matched element. num is used to access the - /// Nth element matched. - /// Part of Core - /// - /// - /// - /// Access the element in the Nth position. - /// - - return num == undefined ? - - // Return a 'clean' array - Array.prototype.slice.call( this ) : - - // Return just the object - this[ num ]; - }, - - // Take an array of elements and push it onto the stack - // (returning the new matched element set) - pushStack: function( elems, name, selector ) { - /// - /// Set the jQuery object to an array of elements, while maintaining - /// the stack. - /// Part of Core - /// - /// - /// - /// An array of elements - /// - - // Build a new jQuery matched element set - var ret = jQuery( elems ); - - // Add the old object onto the stack (as a reference) - ret.prevObject = this; - - ret.context = this.context; - - if ( name === "find" ) - ret.selector = this.selector + (this.selector ? " " : "") + selector; - else if ( name ) - ret.selector = this.selector + "." + name + "(" + selector + ")"; - - // Return the newly-formed element set - return ret; - }, - - // Force the current matched set of elements to become - // the specified array of elements (destroying the stack in the process) - // You should use pushStack() in order to do this, but maintain the stack - setArray: function( elems ) { - /// - /// Set the jQuery object to an array of elements. This operation is - /// completely destructive - be sure to use .pushStack() if you wish to maintain - /// the jQuery stack. - /// Part of Core - /// - /// - /// - /// An array of elements - /// - - // Resetting the length to 0, then using the native Array push - // is a super-fast way to populate an object with array-like properties - this.length = 0; - Array.prototype.push.apply( this, elems ); - - return this; - }, - - // Execute a callback for every element in the matched set. - // (You can seed the arguments with an array of args, but this is - // only used internally.) - each: function( callback, args ) { - /// - /// Execute a function within the context of every matched element. - /// This means that every time the passed-in function is executed - /// (which is once for every element matched) the 'this' keyword - /// points to the specific element. - /// Additionally, the function, when executed, is passed a single - /// argument representing the position of the element in the matched - /// set. - /// Part of Core - /// - /// - /// - /// A function to execute - /// - - return jQuery.each( this, callback, args ); - }, - - // Determine the position of an element within - // the matched set of elements - index: function( elem ) { - /// - /// Searches every matched element for the object and returns - /// the index of the element, if found, starting with zero. - /// Returns -1 if the object wasn't found. - /// Part of Core - /// - /// - /// - /// Object to search for - /// - - // Locate the position of the desired element - return jQuery.inArray( - // If it receives a jQuery object, the first element is used - elem && elem.jquery ? elem[0] : elem - , this ); - }, - - attr: function( name, value, type ) { - /// - /// Set a single property to a computed value, on all matched elements. - /// Instead of a value, a function is provided, that computes the value. - /// Part of DOM/Attributes - /// - /// - /// - /// The name of the property to set. - /// - /// - /// A function returning the value to set. - /// - - var options = name; - - // Look for the case where we're accessing a style value - if ( typeof name === "string" ) - if ( value === undefined ) - return this[0] && jQuery[ type || "attr" ]( this[0], name ); - - else { - options = {}; - options[ name ] = value; - } - - // Check to see if we're setting style values - return this.each(function(i){ - // Set all the styles - for ( name in options ) - jQuery.attr( - type ? - this.style : - this, - name, jQuery.prop( this, options[ name ], type, i, name ) - ); - }); - }, - - css: function( key, value ) { - /// - /// Set a single style property to a value, on all matched elements. - /// If a number is provided, it is automatically converted into a pixel value. - /// Part of CSS - /// - /// - /// - /// The name of the property to set. - /// - /// - /// The value to set the property to. - /// - - // ignore negative width and height values - if ( (key == 'width' || key == 'height') && parseFloat(value) < 0 ) - value = undefined; - return this.attr( key, value, "curCSS" ); - }, - - text: function( text ) { - /// - /// Set the text contents of all matched elements. - /// Similar to html(), but escapes HTML (replace "<" and ">" with their - /// HTML entities). - /// Part of DOM/Attributes - /// - /// - /// - /// The text value to set the contents of the element to. - /// - - if ( typeof text !== "object" && text != null ) - return this.empty().append( (this[0] && this[0].ownerDocument || document).createTextNode( text ) ); - - var ret = ""; - - jQuery.each( text || this, function(){ - jQuery.each( this.childNodes, function(){ - if ( this.nodeType != 8 ) - ret += this.nodeType != 1 ? - this.nodeValue : - jQuery.fn.text( [ this ] ); - }); - }); - - return ret; - }, - - wrapAll: function( html ) { - /// - /// Wrap all matched elements with a structure of other elements. - /// This wrapping process is most useful for injecting additional - /// stucture into a document, without ruining the original semantic - /// qualities of a document. - /// This works by going through the first element - /// provided and finding the deepest ancestor element within its - /// structure - it is that element that will en-wrap everything else. - /// This does not work with elements that contain text. Any necessary text - /// must be added after the wrapping is done. - /// Part of DOM/Manipulation - /// - /// - /// - /// A DOM element that will be wrapped around the target. - /// - - if ( this[0] ) { - // The elements to wrap the target around - var wrap = jQuery( html, this[0].ownerDocument ).clone(); - - if ( this[0].parentNode ) - wrap.insertBefore( this[0] ); - - wrap.map(function(){ - var elem = this; - - while ( elem.firstChild ) - elem = elem.firstChild; - - return elem; - }).append(this); - } - - return this; - }, - - wrapInner: function( html ) { - /// - /// Wraps the inner child contents of each matched elemenht (including text nodes) with an HTML structure. - /// - /// - /// A string of HTML or a DOM element that will be wrapped around the target contents. - /// - /// - - return this.each(function(){ - jQuery( this ).contents().wrapAll( html ); - }); - }, - - wrap: function( html ) { - /// - /// Wrap all matched elements with a structure of other elements. - /// This wrapping process is most useful for injecting additional - /// stucture into a document, without ruining the original semantic - /// qualities of a document. - /// This works by going through the first element - /// provided and finding the deepest ancestor element within its - /// structure - it is that element that will en-wrap everything else. - /// This does not work with elements that contain text. Any necessary text - /// must be added after the wrapping is done. - /// Part of DOM/Manipulation - /// - /// - /// - /// A DOM element that will be wrapped around the target. - /// - - return this.each(function(){ - jQuery( this ).wrapAll( html ); - }); - }, - - append: function() { - /// - /// Append content to the inside of every matched element. - /// This operation is similar to doing an appendChild to all the - /// specified elements, adding them into the document. - /// Part of DOM/Manipulation - /// - /// - /// - /// Content to append to the target - /// - - return this.domManip(arguments, true, function(elem){ - if (this.nodeType == 1) - this.appendChild( elem ); - }); - }, - - prepend: function() { - /// - /// Prepend content to the inside of every matched element. - /// This operation is the best way to insert elements - /// inside, at the beginning, of all matched elements. - /// Part of DOM/Manipulation - /// - /// - /// - /// Content to prepend to the target. - /// - - return this.domManip(arguments, true, function(elem){ - if (this.nodeType == 1) - this.insertBefore( elem, this.firstChild ); - }); - }, - - before: function() { - /// - /// Insert content before each of the matched elements. - /// Part of DOM/Manipulation - /// - /// - /// - /// Content to insert before each target. - /// - - return this.domManip(arguments, false, function(elem){ - this.parentNode.insertBefore( elem, this ); - }); - }, - - after: function() { - /// - /// Insert content after each of the matched elements. - /// Part of DOM/Manipulation - /// - /// - /// - /// Content to insert after each target. - /// - - return this.domManip(arguments, false, function(elem){ - this.parentNode.insertBefore( elem, this.nextSibling ); - }); - }, - - end: function() { - /// - /// End the most recent 'destructive' operation, reverting the list of matched elements - /// back to its previous state. After an end operation, the list of matched elements will - /// revert to the last state of matched elements. - /// If there was no destructive operation before, an empty set is returned. - /// Part of DOM/Traversing - /// - /// - - return this.prevObject || jQuery( [] ); - }, - - // For internal use only. - // Behaves like an Array's method, not like a jQuery method. - push: [].push, - sort: [].sort, - splice: [].splice, - - find: function( selector ) { - /// - /// Searches for all elements that match the specified expression. - /// This method is a good way to find additional descendant - /// elements with which to process. - /// All searching is done using a jQuery expression. The expression can be - /// written using CSS 1-3 Selector syntax, or basic XPath. - /// Part of DOM/Traversing - /// - /// - /// - /// An expression to search with. - /// - /// - - if ( this.length === 1 ) { - var ret = this.pushStack( [], "find", selector ); - ret.length = 0; - jQuery.find( selector, this[0], ret ); - return ret; - } else { - return this.pushStack( jQuery.unique(jQuery.map(this, function(elem){ - return jQuery.find( selector, elem ); - })), "find", selector ); - } - }, - - clone: function( events ) { - /// - /// Clone matched DOM Elements and select the clones. - /// This is useful for moving copies of the elements to another - /// location in the DOM. - /// Part of DOM/Manipulation - /// - /// - /// - /// (Optional) Set to false if you don't want to clone all descendant nodes, in addition to the element itself. - /// - - // Do the clone - var ret = this.map(function(){ - if ( !jQuery.support.noCloneEvent && !jQuery.isXMLDoc(this) ) { - // IE copies events bound via attachEvent when - // using cloneNode. Calling detachEvent on the - // clone will also remove the events from the orignal - // In order to get around this, we use innerHTML. - // Unfortunately, this means some modifications to - // attributes in IE that are actually only stored - // as properties will not be copied (such as the - // the name attribute on an input). - var html = this.outerHTML; - if ( !html ) { - var div = this.ownerDocument.createElement("div"); - div.appendChild( this.cloneNode(true) ); - html = div.innerHTML; - } - - return jQuery.clean([html.replace(/ jQuery\d+="(?:\d+|null)"/g, "").replace(/^\s*/, "")])[0]; - } else - return this.cloneNode(true); - }); - - // Copy the events from the original to the clone - if ( events === true ) { - var orig = this.find("*").andSelf(), i = 0; - - ret.find("*").andSelf().each(function(){ - if ( this.nodeName !== orig[i].nodeName ) - return; - - var events = jQuery.data( orig[i], "events" ); - - for ( var type in events ) { - for ( var handler in events[ type ] ) { - jQuery.event.add( this, type, events[ type ][ handler ], events[ type ][ handler ].data ); - } - } - - i++; - }); - } - - // Return the cloned set - return ret; - }, - - filter: function( selector ) { - /// - /// Removes all elements from the set of matched elements that do not - /// pass the specified filter. This method is used to narrow down - /// the results of a search. - /// }) - /// Part of DOM/Traversing - /// - /// - /// - /// A function to use for filtering - /// - /// - - return this.pushStack( - jQuery.isFunction( selector ) && - jQuery.grep(this, function(elem, i){ - return selector.call( elem, i ); - }) || - - jQuery.multiFilter( selector, jQuery.grep(this, function(elem){ - return elem.nodeType === 1; - }) ), "filter", selector ); - }, - - closest: function( selector ) { - /// - /// Get a set of elements containing the closest parent element that matches the specified selector, the starting element included. - /// - /// - /// - /// An expression to filter the elements with. - /// - /// - - var pos = jQuery.expr.match.POS.test( selector ) ? jQuery(selector) : null, - closer = 0; - - return this.map(function(){ - var cur = this; - while ( cur && cur.ownerDocument ) { - if ( pos ? pos.index(cur) > -1 : jQuery(cur).is(selector) ) { - jQuery.data(cur, "closest", closer); - return cur; - } - cur = cur.parentNode; - closer++; - } - }); - }, - - not: function( selector ) { - /// - /// Removes any elements inside the array of elements from the set - /// of matched elements. This method is used to remove one or more - /// elements from a jQuery object. - /// Part of DOM/Traversing - /// - /// - /// A set of elements to remove from the jQuery set of matched elements. - /// - /// - - if ( typeof selector === "string" ) - // test special case where just one selector is passed in - if ( isSimple.test( selector ) ) - return this.pushStack( jQuery.multiFilter( selector, this, true ), "not", selector ); - else - selector = jQuery.multiFilter( selector, this ); - - var isArrayLike = selector.length && selector[selector.length - 1] !== undefined && !selector.nodeType; - return this.filter(function() { - return isArrayLike ? jQuery.inArray( this, selector ) < 0 : this != selector; - }); - }, - - add: function( selector ) { - /// - /// Adds one or more Elements to the set of matched elements. - /// Part of DOM/Traversing - /// - /// - /// One or more Elements to add - /// - /// - - return this.pushStack( jQuery.unique( jQuery.merge( - this.get(), - typeof selector === "string" ? - jQuery( selector ) : - jQuery.makeArray( selector ) - ))); - }, - - is: function( selector ) { - /// - /// Checks the current selection against an expression and returns true, - /// if at least one element of the selection fits the given expression. - /// Does return false, if no element fits or the expression is not valid. - /// filter(String) is used internally, therefore all rules that apply there - /// apply here, too. - /// Part of DOM/Traversing - /// - /// - /// - /// The expression with which to filter - /// - - return !!selector && jQuery.multiFilter( selector, this ).length > 0; - }, - - hasClass: function( selector ) { - /// - /// Checks the current selection against a class and returns whether at least one selection has a given class. - /// - /// The class to check against - /// True if at least one element in the selection has the class, otherwise false. - - return !!selector && this.is( "." + selector ); - }, - - val: function( value ) { - /// - /// Set the value of every matched element. - /// Part of DOM/Attributes - /// - /// - /// - /// Set the property to the specified value. - /// - - if ( value === undefined ) { - var elem = this[0]; - - if ( elem ) { - if( jQuery.nodeName( elem, 'option' ) ) - return (elem.attributes.value || {}).specified ? elem.value : elem.text; - - // We need to handle select boxes special - if ( jQuery.nodeName( elem, "select" ) ) { - var index = elem.selectedIndex, - values = [], - options = elem.options, - one = elem.type == "select-one"; - - // Nothing was selected - if ( index < 0 ) - return null; - - // Loop through all the selected options - for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) { - var option = options[ i ]; - - if ( option.selected ) { - // Get the specifc value for the option - value = jQuery(option).val(); - - // We don't need an array for one selects - if ( one ) - return value; - - // Multi-Selects return an array - values.push( value ); - } - } - - return values; - } - - // Everything else, we just grab the value - return (elem.value || "").replace(/\r/g, ""); - - } - - return undefined; - } - - if ( typeof value === "number" ) - value += ''; - - return this.each(function(){ - if ( this.nodeType != 1 ) - return; - - if ( jQuery.isArray(value) && /radio|checkbox/.test( this.type ) ) - this.checked = (jQuery.inArray(this.value, value) >= 0 || - jQuery.inArray(this.name, value) >= 0); - - else if ( jQuery.nodeName( this, "select" ) ) { - var values = jQuery.makeArray(value); - - jQuery( "option", this ).each(function(){ - this.selected = (jQuery.inArray( this.value, values ) >= 0 || - jQuery.inArray( this.text, values ) >= 0); - }); - - if ( !values.length ) - this.selectedIndex = -1; - - } else - this.value = value; - }); - }, - - html: function( value ) { - /// - /// Set the html contents of every matched element. - /// This property is not available on XML documents. - /// Part of DOM/Attributes - /// - /// - /// - /// Set the html contents to the specified value. - /// - - return value === undefined ? - (this[0] ? - this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g, "") : - null) : - this.empty().append( value ); - }, - - replaceWith: function( value ) { - /// - /// Replaces all matched element with the specified HTML or DOM elements. - /// - /// - /// The content with which to replace the matched elements. - /// - /// The element that was just replaced. - - return this.after( value ).remove(); - }, - - eq: function( i ) { - /// - /// Reduce the set of matched elements to a single element. - /// The position of the element in the set of matched elements - /// starts at 0 and goes to length - 1. - /// Part of Core - /// - /// - /// - /// pos The index of the element that you wish to limit to. - /// - - return this.slice( i, +i + 1 ); - }, - - slice: function() { - /// - /// Selects a subset of the matched elements. Behaves exactly like the built-in Array slice method. - /// - /// Where to start the subset (0-based). - /// Where to end the subset (not including the end element itself). - /// If omitted, ends at the end of the selection - /// The sliced elements - - return this.pushStack( Array.prototype.slice.apply( this, arguments ), - "slice", Array.prototype.slice.call(arguments).join(",") ); - }, - - map: function( callback ) { - /// - /// This member is internal. - /// - /// - /// - - return this.pushStack( jQuery.map(this, function(elem, i){ - return callback.call( elem, i, elem ); - })); - }, - - andSelf: function() { - /// - /// Adds the previous selection to the current selection. - /// - /// - - return this.add( this.prevObject ); - }, - - domManip: function( args, table, callback ) { - /// - /// Args - /// - /// - /// Insert TBODY in TABLEs if one is not found. - /// - /// - /// If dir<0, process args in reverse order. - /// - /// - /// The function doing the DOM manipulation. - /// - /// - /// - /// Part of Core - /// - - if ( this[0] ) { - var fragment = (this[0].ownerDocument || this[0]).createDocumentFragment(), - scripts = jQuery.clean( args, (this[0].ownerDocument || this[0]), fragment ), - first = fragment.firstChild; - - if ( first ) - for ( var i = 0, l = this.length; i < l; i++ ) - callback.call( root(this[i], first), this.length > 1 || i > 0 ? - fragment.cloneNode(true) : fragment ); - - if ( scripts ) - jQuery.each( scripts, evalScript ); - } - - return this; - - function root( elem, cur ) { - return table && jQuery.nodeName(elem, "table") && jQuery.nodeName(cur, "tr") ? - (elem.getElementsByTagName("tbody")[0] || - elem.appendChild(elem.ownerDocument.createElement("tbody"))) : - elem; - } - } -}; - -// Give the init function the jQuery prototype for later instantiation -jQuery.fn.init.prototype = jQuery.fn; - -function evalScript( i, elem ) { - /// - /// This method is internal. - /// - /// - - if ( elem.src ) - jQuery.ajax({ - url: elem.src, - async: false, - dataType: "script" - }); - - else - jQuery.globalEval( elem.text || elem.textContent || elem.innerHTML || "" ); - - if ( elem.parentNode ) - elem.parentNode.removeChild( elem ); -} - -function now(){ - /// - /// Gets the current date. - /// - /// The current date. - return +new Date; -} - -jQuery.extend = jQuery.fn.extend = function() { - /// - /// Extend one object with one or more others, returning the original, - /// modified, object. This is a great utility for simple inheritance. - /// jQuery.extend(settings, options); - /// var settings = jQuery.extend({}, defaults, options); - /// Part of JavaScript - /// - /// - /// The object to extend - /// - /// - /// The object that will be merged into the first. - /// - /// - /// (optional) More objects to merge into the first - /// - /// - - // copy reference to target object - var target = arguments[0] || {}, i = 1, length = arguments.length, deep = false, options; - - // Handle a deep copy situation - if ( typeof target === "boolean" ) { - deep = target; - target = arguments[1] || {}; - // skip the boolean and the target - i = 2; - } - - // Handle case when target is a string or something (possible in deep copy) - if ( typeof target !== "object" && !jQuery.isFunction(target) ) - target = {}; - - // extend jQuery itself if only one argument is passed - if ( length == i ) { - target = this; - --i; - } - - for ( ; i < length; i++ ) - // Only deal with non-null/undefined values - if ( (options = arguments[ i ]) != null ) - // Extend the base object - for ( var name in options ) { - var src = target[ name ], copy = options[ name ]; - - // Prevent never-ending loop - if ( target === copy ) - continue; - - // Recurse if we're merging object values - if ( deep && copy && typeof copy === "object" && !copy.nodeType ) - target[ name ] = jQuery.extend( deep, - // Never move original objects, clone them - src || ( copy.length != null ? [ ] : { } ) - , copy ); - - // Don't bring in undefined values - else if ( copy !== undefined ) - target[ name ] = copy; - - } - - // Return the modified object - return target; -}; - -// exclude the following css properties to add px -var exclude = /z-?index|font-?weight|opacity|zoom|line-?height/i, - // cache defaultView - defaultView = document.defaultView || {}, - toString = Object.prototype.toString; - -jQuery.extend({ - noConflict: function( deep ) { - /// - /// Run this function to give control of the $ variable back - /// to whichever library first implemented it. This helps to make - /// sure that jQuery doesn't conflict with the $ object - /// of other libraries. - /// By using this function, you will only be able to access jQuery - /// using the 'jQuery' variable. For example, where you used to do - /// $("div p"), you now must do jQuery("div p"). - /// Part of Core - /// - /// - - window.$ = _$; - - if ( deep ) - window.jQuery = _jQuery; - - return jQuery; - }, - - // See test/unit/core.js for details concerning isFunction. - // Since version 1.3, DOM methods and functions like alert - // aren't supported. They return false on IE (#2968). - isFunction: function( obj ) { - /// - /// Determines if the parameter passed is a function. - /// - /// The object to check - /// True if the parameter is a function; otherwise false. - - return toString.call(obj) === "[object Function]"; - }, - - isArray: function(obj) { - /// - /// Determine if the parameter passed is an array. - /// - /// Object to test whether or not it is an array. - /// True if the parameter is a function; otherwise false. - - return toString.call(obj) === "[object Array]"; - }, - - // check if an element is in a (or is an) XML document - isXMLDoc: function( elem ) { - /// - /// Determines if the parameter passed is an XML document. - /// - /// The object to test - /// True if the parameter is an XML document; otherwise false. - - return elem.nodeType === 9 && elem.documentElement.nodeName !== "HTML" || - !!elem.ownerDocument && jQuery.isXMLDoc(elem.ownerDocument); - }, - - // Evalulates a script in a global context - globalEval: function( data ) { - /// - /// Internally evaluates a script in a global context. - /// - /// - - if ( data && /\S/.test(data) ) { - // Inspired by code by Andrea Giammarchi - // http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html - var head = document.getElementsByTagName("head")[0] || document.documentElement, - script = document.createElement("script"); - - script.type = "text/javascript"; - if ( jQuery.support.scriptEval ) - script.appendChild( document.createTextNode( data ) ); - else - script.text = data; - - // Use insertBefore instead of appendChild to circumvent an IE6 bug. - // This arises when a base node is used (#2709). - head.insertBefore( script, head.firstChild ); - head.removeChild( script ); - } - }, - - nodeName: function( elem, name ) { - /// - /// Checks whether the specified element has the specified DOM node name. - /// - /// The element to examine - /// The node name to check - /// True if the specified node name matches the node's DOM node name; otherwise false - - return elem.nodeName && elem.nodeName.toUpperCase() == name.toUpperCase(); - }, - - // args is for internal usage only - each: function( object, callback, args ) { - /// - /// A generic iterator function, which can be used to seemlessly - /// iterate over both objects and arrays. This function is not the same - /// as $().each() - which is used to iterate, exclusively, over a jQuery - /// object. This function can be used to iterate over anything. - /// The callback has two arguments:the key (objects) or index (arrays) as first - /// the first, and the value as the second. - /// Part of JavaScript - /// - /// - /// The object, or array, to iterate over. - /// - /// - /// The function that will be executed on every object. - /// - /// - - var name, i = 0, length = object.length; - - if ( args ) { - if ( length === undefined ) { - for ( name in object ) - if ( callback.apply( object[ name ], args ) === false ) - break; - } else - for ( ; i < length; ) - if ( callback.apply( object[ i++ ], args ) === false ) - break; - - // A special, fast, case for the most common use of each - } else { - if ( length === undefined ) { - for ( name in object ) - if ( callback.call( object[ name ], name, object[ name ] ) === false ) - break; - } else - for ( var value = object[0]; - i < length && callback.call( value, i, value ) !== false; value = object[++i] ){} - } - - return object; - }, - - prop: function( elem, value, type, i, name ) { - /// - /// This method is internal. - /// - /// - // This member is not documented within the jQuery API: http://docs.jquery.com/action/edit/Internals/jQuery.prop - - // Handle executable functions - if ( jQuery.isFunction( value ) ) - value = value.call( elem, i ); - - // Handle passing in a number to a CSS property - return typeof value === "number" && type == "curCSS" && !exclude.test( name ) ? - value + "px" : - value; - }, - - className: { - // internal only, use addClass("class") - add: function( elem, classNames ) { - /// - /// Internal use only; use addClass('class') - /// - /// - - jQuery.each((classNames || "").split(/\s+/), function(i, className){ - if ( elem.nodeType == 1 && !jQuery.className.has( elem.className, className ) ) - elem.className += (elem.className ? " " : "") + className; - }); - }, - - // internal only, use removeClass("class") - remove: function( elem, classNames ) { - /// - /// Internal use only; use removeClass('class') - /// - /// - - if (elem.nodeType == 1) - elem.className = classNames !== undefined ? - jQuery.grep(elem.className.split(/\s+/), function(className){ - return !jQuery.className.has( classNames, className ); - }).join(" ") : - ""; - }, - - // internal only, use hasClass("class") - has: function( elem, className ) { - /// - /// Internal use only; use hasClass('class') - /// - /// - - return elem && jQuery.inArray(className, (elem.className || elem).toString().split(/\s+/)) > -1; - } - }, - - // A method for quickly swapping in/out CSS properties to get correct calculations - swap: function( elem, options, callback ) { - /// - /// Swap in/out style options. - /// - - var old = {}; - // Remember the old values, and insert the new ones - for ( var name in options ) { - old[ name ] = elem.style[ name ]; - elem.style[ name ] = options[ name ]; - } - - callback.call( elem ); - - // Revert the old values - for ( var name in options ) - elem.style[ name ] = old[ name ]; - }, - - css: function( elem, name, force, extra ) { - /// - /// This method is internal only. - /// - /// - // This method is undocumented in jQuery API: http://docs.jquery.com/action/edit/Internals/jQuery.css - - if ( name == "width" || name == "height" ) { - var val, props = { position: "absolute", visibility: "hidden", display:"block" }, which = name == "width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ]; - - function getWH() { - val = name == "width" ? elem.offsetWidth : elem.offsetHeight; - - if ( extra === "border" ) - return; - - jQuery.each( which, function() { - if ( !extra ) - val -= parseFloat(jQuery.curCSS( elem, "padding" + this, true)) || 0; - if ( extra === "margin" ) - val += parseFloat(jQuery.curCSS( elem, "margin" + this, true)) || 0; - else - val -= parseFloat(jQuery.curCSS( elem, "border" + this + "Width", true)) || 0; - }); - } - - if ( elem.offsetWidth !== 0 ) - getWH(); - else - jQuery.swap( elem, props, getWH ); - - return Math.max(0, Math.round(val)); - } - - return jQuery.curCSS( elem, name, force ); - }, - - curCSS: function( elem, name, force ) { - /// - /// This method is internal only. - /// - /// - // This method is undocumented in jQuery API: http://docs.jquery.com/action/edit/Internals/jQuery.curCSS - - var ret, style = elem.style; - - // We need to handle opacity special in IE - if ( name == "opacity" && !jQuery.support.opacity ) { - ret = jQuery.attr( style, "opacity" ); - - return ret == "" ? - "1" : - ret; - } - - // Make sure we're using the right name for getting the float value - if ( name.match( /float/i ) ) - name = styleFloat; - - if ( !force && style && style[ name ] ) - ret = style[ name ]; - - else if ( defaultView.getComputedStyle ) { - - // Only "float" is needed here - if ( name.match( /float/i ) ) - name = "float"; - - name = name.replace( /([A-Z])/g, "-$1" ).toLowerCase(); - - var computedStyle = defaultView.getComputedStyle( elem, null ); - - if ( computedStyle ) - ret = computedStyle.getPropertyValue( name ); - - // We should always get a number back from opacity - if ( name == "opacity" && ret == "" ) - ret = "1"; - - } else if ( elem.currentStyle ) { - var camelCase = name.replace(/\-(\w)/g, function(all, letter){ - return letter.toUpperCase(); - }); - - ret = elem.currentStyle[ name ] || elem.currentStyle[ camelCase ]; - - // From the awesome hack by Dean Edwards - // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291 - - // If we're not dealing with a regular pixel number - // but a number that has a weird ending, we need to convert it to pixels - if ( !/^\d+(px)?$/i.test( ret ) && /^\d/.test( ret ) ) { - // Remember the original values - var left = style.left, rsLeft = elem.runtimeStyle.left; - - // Put in the new values to get a computed value out - elem.runtimeStyle.left = elem.currentStyle.left; - style.left = ret || 0; - ret = style.pixelLeft + "px"; - - // Revert the changed values - style.left = left; - elem.runtimeStyle.left = rsLeft; - } - } - - return ret; - }, - - clean: function( elems, context, fragment ) { - /// - /// This method is internal only. - /// - /// - // This method is undocumented in the jQuery API: http://docs.jquery.com/action/edit/Internals/jQuery.clean - - - context = context || document; - - // !context.createElement fails in IE with an error but returns typeof 'object' - if ( typeof context.createElement === "undefined" ) - context = context.ownerDocument || context[0] && context[0].ownerDocument || document; - - // If a single string is passed in and it's a single tag - // just do a createElement and skip the rest - if ( !fragment && elems.length === 1 && typeof elems[0] === "string" ) { - var match = /^<(\w+)\s*\/?>$/.exec(elems[0]); - if ( match ) - return [ context.createElement( match[1] ) ]; - } - - var ret = [], scripts = [], div = context.createElement("div"); - - jQuery.each(elems, function(i, elem){ - if ( typeof elem === "number" ) - elem += ''; - - if ( !elem ) - return; - - // Convert html string into DOM nodes - if ( typeof elem === "string" ) { - // Fix "XHTML"-style tags in all browsers - elem = elem.replace(/(<(\w+)[^>]*?)\/>/g, function(all, front, tag){ - return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i) ? - all : - front + ">"; - }); - - // Trim whitespace, otherwise indexOf won't work as expected - var tags = elem.replace(/^\s+/, "").substring(0, 10).toLowerCase(); - - var wrap = - // option or optgroup - !tags.indexOf("", "" ] || - - !tags.indexOf("", "" ] || - - tags.match(/^<(thead|tbody|tfoot|colg|cap)/) && - [ 1, "", "
" ] || - - !tags.indexOf("", "" ] || - - // matched above - (!tags.indexOf("", "" ] || - - !tags.indexOf("", "" ] || - - // IE can't serialize and - - - -
- - <% Html.RenderPartial("header") %> - -
- <% Html.RenderPartial("DinnerForm") %> -
-
- - - - + + + + + Host a Dinner + + + + + + + + +
+ + <% Html.RenderPartial("header") %> + +
+ <% Html.RenderPartial("DinnerForm") %> +
+
+ + + + diff --git a/aspclassiccompiler/NerdDinnerAsp/Views/Dinners/Delete.asp b/aspclassiccompiler/NerdDinnerAsp/Views/Dinners/Delete.asp index 8f80028..8943192 100644 --- a/aspclassiccompiler/NerdDinnerAsp/Views/Dinners/Delete.asp +++ b/aspclassiccompiler/NerdDinnerAsp/Views/Dinners/Delete.asp @@ -1,39 +1,39 @@ - - - - - Delete Confirmation: <%=Html.Encode(Model.Title) %> - - - - - - - - -
- - <% Html.RenderPartial("header") %> - -
-

- Delete Confirmation -

- -
-

Please confirm you want to cancel the dinner titled: - <%=Html.Encode(Model.Title) %>?

-
- - <% dim myForm - myForm = Html.BeginForm() %> - - - - <% myForm.dispose() %> -
-
- - - - + + + + + Delete Confirmation: <%=Html.Encode(Model.Title) %> + + + + + + + + +
+ + <% Html.RenderPartial("header") %> + +
+

+ Delete Confirmation +

+ +
+

Please confirm you want to cancel the dinner titled: + <%=Html.Encode(Model.Title) %>?

+
+ + <% dim myForm + myForm = Html.BeginForm() %> + + + + <% myForm.dispose() %> +
+
+ + + + diff --git a/aspclassiccompiler/NerdDinnerAsp/Views/Dinners/Deleted.asp b/aspclassiccompiler/NerdDinnerAsp/Views/Dinners/Deleted.asp index 6d57ba1..fcf7509 100644 --- a/aspclassiccompiler/NerdDinnerAsp/Views/Dinners/Deleted.asp +++ b/aspclassiccompiler/NerdDinnerAsp/Views/Dinners/Deleted.asp @@ -1,33 +1,33 @@ - - - - - Deleted - - - - - - - - -
- - <% Html.RenderPartial("header") %> - -
-

Dinner Deleted

- -
-

Your dinner was successfully deleted.

-
- - -
-
- - - - + + + + + Deleted + + + + + + + + +
+ + <% Html.RenderPartial("header") %> + +
+

Dinner Deleted

+ +
+

Your dinner was successfully deleted.

+
+ + +
+
+ + + + diff --git a/aspclassiccompiler/NerdDinnerAsp/Views/Dinners/Details.asp b/aspclassiccompiler/NerdDinnerAsp/Views/Dinners/Details.asp index dcb9e5e..18430e6 100644 --- a/aspclassiccompiler/NerdDinnerAsp/Views/Dinners/Details.asp +++ b/aspclassiccompiler/NerdDinnerAsp/Views/Dinners/Details.asp @@ -1,57 +1,57 @@ - - - - - <%= Html.Encode(Model.Title) %> - - - - - - - - -
- - <% Html.RenderPartial("header") %> - -
-
- -

<%= Html.Encode(Model.Title) %>

-

- When: - <%= Model.EventDate.ToShortDateString() %> - - @ - <%= Model.EventDate.ToShortTimeString() %> -

-

- Where: - <%= Html.Encode(Model.Address) %>, - <%= Html.Encode(Model.Country) %> -

-

- Description: - <%= Html.Encode(Model.Description) %> -

-

- Organizer: - <%= Html.Encode(Model.HostedBy) %> - (<%= Html.Encode(Model.ContactPhone) %>) -

- - <% Html.RenderPartial("RSVPStatus"); %> - <% Html.RenderPartial("EditAndDeleteLinks"); %> - -
- -
- <% Html.RenderPartial("map"); %> -
-
-
- - - - + + + + + <%= Html.Encode(Model.Title) %> + + + + + + + + +
+ + <% Html.RenderPartial("header") %> + +
+
+ +

<%= Html.Encode(Model.Title) %>

+

+ When: + <%= Model.EventDate.ToShortDateString() %> + + @ + <%= Model.EventDate.ToShortTimeString() %> +

+

+ Where: + <%= Html.Encode(Model.Address) %>, + <%= Html.Encode(Model.Country) %> +

+

+ Description: + <%= Html.Encode(Model.Description) %> +

+

+ Organizer: + <%= Html.Encode(Model.HostedBy) %> + (<%= Html.Encode(Model.ContactPhone) %>) +

+ + <% Html.RenderPartial("RSVPStatus"); %> + <% Html.RenderPartial("EditAndDeleteLinks"); %> + +
+ +
+ <% Html.RenderPartial("map"); %> +
+
+
+ + + + diff --git a/aspclassiccompiler/NerdDinnerAsp/Views/Dinners/Edit.asp b/aspclassiccompiler/NerdDinnerAsp/Views/Dinners/Edit.asp index 6fcc867..8f34a14 100644 --- a/aspclassiccompiler/NerdDinnerAsp/Views/Dinners/Edit.asp +++ b/aspclassiccompiler/NerdDinnerAsp/Views/Dinners/Edit.asp @@ -1,27 +1,27 @@ - - - - - Edit: <%=Html.Encode(Model.Dinner.Title) %> - - - - - - - - -
- - <% Html.RenderPartial("header") %> - -
-

Edit Dinner

- - <% Html.RenderPartial("DinnerForm"); %> -
-
- - - - + + + + + Edit: <%=Html.Encode(Model.Dinner.Title) %> + + + + + + + + +
+ + <% Html.RenderPartial("header") %> + +
+

Edit Dinner

+ + <% Html.RenderPartial("DinnerForm"); %> +
+
+ + + + diff --git a/aspclassiccompiler/NerdDinnerAsp/Views/Dinners/Index.asp b/aspclassiccompiler/NerdDinnerAsp/Views/Dinners/Index.asp index c6b5b89..9314572 100644 --- a/aspclassiccompiler/NerdDinnerAsp/Views/Dinners/Index.asp +++ b/aspclassiccompiler/NerdDinnerAsp/Views/Dinners/Index.asp @@ -1,62 +1,62 @@ - - - - - Upcoming Dinners - - - - - - - - -
- - <% Html.RenderPartial("header") %> - - -
-

- Upcoming Dinners -

- -
    - - <% dim dinner - for each dinner in Model %> - -
  • - <%= Html.ActionLink(dinner.Title, "Details", Html.RouteValue("id", dinner.DinnerID)) %> - on - <%= Html.Encode(dinner.EventDate.ToShortDateString())%> - @ - <%= Html.Encode(dinner.EventDate.ToShortTimeString())%> -
  • - - <% next %> - -
- - - -
-
- - - - + + + + + Upcoming Dinners + + + + + + + + +
+ + <% Html.RenderPartial("header") %> + + +
+

+ Upcoming Dinners +

+ +
    + + <% dim dinner + for each dinner in Model %> + +
  • + <%= Html.ActionLink(dinner.Title, "Details", Html.RouteValue("id", dinner.DinnerID)) %> + on + <%= Html.Encode(dinner.EventDate.ToShortDateString())%> + @ + <%= Html.Encode(dinner.EventDate.ToShortTimeString())%> +
  • + + <% next %> + +
+ + + +
+
+ + + + diff --git a/aspclassiccompiler/NerdDinnerAsp/Views/Dinners/InvalidOwner.asp b/aspclassiccompiler/NerdDinnerAsp/Views/Dinners/InvalidOwner.asp index 7a1c91d..cb6bc95 100644 --- a/aspclassiccompiler/NerdDinnerAsp/Views/Dinners/InvalidOwner.asp +++ b/aspclassiccompiler/NerdDinnerAsp/Views/Dinners/InvalidOwner.asp @@ -1,27 +1,27 @@ - - - - - You Don't Own This Dinner - - - - - - - - -
- - <% Html.RenderPartial("header") %> - -
-

Error Accessing Dinner

- -

Sorry - but only the host of a Dinner can edit or delete it.

-
-
- - - - + + + + + You Don't Own This Dinner + + + + + + + + +
+ + <% Html.RenderPartial("header") %> + +
+

Error Accessing Dinner

+ +

Sorry - but only the host of a Dinner can edit or delete it.

+
+
+ + + + diff --git a/aspclassiccompiler/NerdDinnerAsp/Views/Dinners/Map.asp b/aspclassiccompiler/NerdDinnerAsp/Views/Dinners/Map.asp index 1f9fcd6..2a7a546 100644 --- a/aspclassiccompiler/NerdDinnerAsp/Views/Dinners/Map.asp +++ b/aspclassiccompiler/NerdDinnerAsp/Views/Dinners/Map.asp @@ -1,28 +1,28 @@ - - - - -
-
- - + + + +
+
+ + \ No newline at end of file diff --git a/aspclassiccompiler/NerdDinnerAsp/Views/Dinners/NotFound.asp b/aspclassiccompiler/NerdDinnerAsp/Views/Dinners/NotFound.asp index 8385c57..3672131 100644 --- a/aspclassiccompiler/NerdDinnerAsp/Views/Dinners/NotFound.asp +++ b/aspclassiccompiler/NerdDinnerAsp/Views/Dinners/NotFound.asp @@ -1,29 +1,29 @@ - - - - - Dinner Not Found - - - - - - - - -
- - <% Html.RenderPartial("header") %> - -
- -

Dinner Not Found

- -

Sorry - but the dinner you requested doesn't exist or was deleted.

- -
-
- - - - + + + + + Dinner Not Found + + + + + + + + +
+ + <% Html.RenderPartial("header") %> + +
+ +

Dinner Not Found

+ +

Sorry - but the dinner you requested doesn't exist or was deleted.

+ +
+
+ + + + diff --git a/aspclassiccompiler/NerdDinnerAsp/Views/Home/About.asp b/aspclassiccompiler/NerdDinnerAsp/Views/Home/About.asp index 57b00dd..2bbf758 100644 --- a/aspclassiccompiler/NerdDinnerAsp/Views/Home/About.asp +++ b/aspclassiccompiler/NerdDinnerAsp/Views/Home/About.asp @@ -1,35 +1,35 @@ - - - - - About - - - - - - - - -
- - <% Html.RenderPartial("header") %> - -
-

What is NerdDinner.com?

-

-

Are you a huge nerd? Perhaps a geek? No? Maybe a dork, dweeb or wonk. - Quite possibly you're just a normal person. Either way, you're a social being. You need to get out for a bite - to eat occasionally, preferably with folks that are like you.

-

Enter NerdDinner.com, for all your event planning needs. We're focused on one thing. Organizing the world's - nerds and helping them eat in packs.

-

We're free and fun. Find a dinner near you, or host a dinner. Be social.

-

We also have blog badges and widgets that you can install on your blog or website so your readers can get - involved in the Nerd Dinner movement. Well, it's not really a movement. Mostly just geeks in a food court, but still.

-

-
-
- - - - + + + + + About + + + + + + + + +
+ + <% Html.RenderPartial("header") %> + +
+

What is NerdDinner.com?

+

+

Are you a huge nerd? Perhaps a geek? No? Maybe a dork, dweeb or wonk. + Quite possibly you're just a normal person. Either way, you're a social being. You need to get out for a bite + to eat occasionally, preferably with folks that are like you.

+

Enter NerdDinner.com, for all your event planning needs. We're focused on one thing. Organizing the world's + nerds and helping them eat in packs.

+

We're free and fun. Find a dinner near you, or host a dinner. Be social.

+

We also have blog badges and widgets that you can install on your blog or website so your readers can get + involved in the Nerd Dinner movement. Well, it's not really a movement. Mostly just geeks in a food court, but still.

+

+
+
+ + + + diff --git a/aspclassiccompiler/NerdDinnerAsp/Views/Home/Index.asp b/aspclassiccompiler/NerdDinnerAsp/Views/Home/Index.asp index 1c10b3c..529dd86 100644 --- a/aspclassiccompiler/NerdDinnerAsp/Views/Home/Index.asp +++ b/aspclassiccompiler/NerdDinnerAsp/Views/Home/Index.asp @@ -1,60 +1,60 @@ - - - - - Find a Dinner - - - - - - - - -
- - <% Html.RenderPartial("header") %> - -
- - - -

Find a Dinner

- -
- - - -
-
- -
- -
-
-
- - -
-
- - - - + + + + + Find a Dinner + + + + + + + + +
+ + <% Html.RenderPartial("header") %> + +
+ + + +

Find a Dinner

+ +
+ + + +
+
+ +
+ +
+
+
+ + +
+
+ + + + diff --git a/aspclassiccompiler/NerdDinnerAsp/Views/Shared/LoginStatus.ascx b/aspclassiccompiler/NerdDinnerAsp/Views/Shared/LoginStatus.ascx index a2bb600..0e7120e 100644 --- a/aspclassiccompiler/NerdDinnerAsp/Views/Shared/LoginStatus.ascx +++ b/aspclassiccompiler/NerdDinnerAsp/Views/Shared/LoginStatus.ascx @@ -1,14 +1,14 @@ -<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %> -<% - if (Request.IsAuthenticated) { -%> - Welcome <%= Html.Encode(Page.User.Identity.Name) %>! - [ <%= Html.ActionLink("Log Off", "LogOff", "Account") %> ] -<% - } - else { -%> - [ <%= Html.ActionLink("Log On", "LogOn", "Account") %> ] -<% - } -%> +<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %> +<% + if (Request.IsAuthenticated) { +%> + Welcome <%= Html.Encode(Page.User.Identity.Name) %>! + [ <%= Html.ActionLink("Log Off", "LogOff", "Account") %> ] +<% + } + else { +%> + [ <%= Html.ActionLink("Log On", "LogOn", "Account") %> ] +<% + } +%> diff --git a/aspclassiccompiler/NerdDinnerAsp/Views/Shared/header.asp b/aspclassiccompiler/NerdDinnerAsp/Views/Shared/header.asp index 2a76f73..343b94d 100644 --- a/aspclassiccompiler/NerdDinnerAsp/Views/Shared/header.asp +++ b/aspclassiccompiler/NerdDinnerAsp/Views/Shared/header.asp @@ -1,17 +1,17 @@ -