Roo.form.DayPicker - final tweaks and documentation rebuild
[roojs1] / docs / symbols / src / Roo_lib_Ajax.js.html
1 <html><head><title>../roojs1/Roo/lib/Ajax.js</title><link rel="stylesheet" type="text/css" href="../../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
2  * Portions of this file are based on pieces of Yahoo User Interface Library
3  * Copyright (c) 2007, Yahoo! Inc. All rights reserved.
4  * YUI licensed under the BSD License:
5  * http://developer.yahoo.net/yui/license.txt
6  * &lt;script type=&quot;text/javascript&quot;&gt;
7  *
8  */
9
10 </span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() {
11     
12     </span><span class="jsdoc-var">Roo.lib.Ajax </span><span class="jsdoc-syntax">= {
13         </span><span class="jsdoc-var">request </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">method</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">uri</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cb</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">data</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">options</span><span class="jsdoc-syntax">) {
14             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">options</span><span class="jsdoc-syntax">){
15                 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">hs </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">options.headers</span><span class="jsdoc-syntax">;
16                 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">hs</span><span class="jsdoc-syntax">){
17                     </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">h </span><span class="jsdoc-keyword">in </span><span class="jsdoc-var">hs</span><span class="jsdoc-syntax">){
18                         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">hs.hasOwnProperty</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">h</span><span class="jsdoc-syntax">)){
19                             </span><span class="jsdoc-var">this.initHeader</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">h</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">hs</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">h</span><span class="jsdoc-syntax">], </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">);
20                         }
21                     }
22                 }
23                 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">options.xmlData</span><span class="jsdoc-syntax">){
24                     </span><span class="jsdoc-var">this.initHeader</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'Content-Type'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'text/xml'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">);
25                     </span><span class="jsdoc-var">method </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">'POST'</span><span class="jsdoc-syntax">;
26                     </span><span class="jsdoc-var">data </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">options.xmlData</span><span class="jsdoc-syntax">;
27                 }
28             }
29
30             </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.asyncRequest</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">method</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">uri</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cb</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">data</span><span class="jsdoc-syntax">);
31         },
32
33         </span><span class="jsdoc-var">serializeForm </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">form</span><span class="jsdoc-syntax">) {
34             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">form </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">'string'</span><span class="jsdoc-syntax">) {
35                 </span><span class="jsdoc-var">form </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">document.getElementById</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">form</span><span class="jsdoc-syntax">) || </span><span class="jsdoc-var">document.forms</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">form</span><span class="jsdoc-syntax">]);
36             }
37
38             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">name</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">val</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">disabled</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">data </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">hasSubmit </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
39             </span><span class="jsdoc-keyword">for </span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">form.elements.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++) {
40                 </span><span class="jsdoc-var">el </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">form.elements</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">];
41                 </span><span class="jsdoc-var">disabled </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">form.elements</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.disabled</span><span class="jsdoc-syntax">;
42                 </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">form.elements</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.name</span><span class="jsdoc-syntax">;
43                 </span><span class="jsdoc-var">val </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">form.elements</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.value</span><span class="jsdoc-syntax">;
44
45                 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">disabled </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">name</span><span class="jsdoc-syntax">){
46                     </span><span class="jsdoc-keyword">switch </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el.type</span><span class="jsdoc-syntax">)
47                             {
48                         </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">'select-one'</span><span class="jsdoc-syntax">:
49                         </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">'select-multiple'</span><span class="jsdoc-syntax">:
50                             </span><span class="jsdoc-keyword">for </span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">j </span><span class="jsdoc-syntax">= 0; </span><span class="jsdoc-var">j </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">el.options.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">j</span><span class="jsdoc-syntax">++) {
51                                 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el.options</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">j</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.selected</span><span class="jsdoc-syntax">) {
52                                     </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.isIE</span><span class="jsdoc-syntax">) {
53                                         </span><span class="jsdoc-var">data </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">Roo.encodeURIComponent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">name</span><span class="jsdoc-syntax">) + </span><span class="jsdoc-string">'=' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">Roo.encodeURIComponent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el.options</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">j</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.attributes</span><span class="jsdoc-syntax">[</span><span class="jsdoc-string">'value'</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.specified </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">el.options</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">j</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.value </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">el.options</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">j</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.text</span><span class="jsdoc-syntax">) + </span><span class="jsdoc-string">'&amp;'</span><span class="jsdoc-syntax">;
54                                     }
55                                     </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
56                                         </span><span class="jsdoc-var">data </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">Roo.encodeURIComponent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">name</span><span class="jsdoc-syntax">) + </span><span class="jsdoc-string">'=' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">Roo.encodeURIComponent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el.options</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">j</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.hasAttribute</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'value'</span><span class="jsdoc-syntax">) ? </span><span class="jsdoc-var">el.options</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">j</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.value </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">el.options</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">j</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.text</span><span class="jsdoc-syntax">) + </span><span class="jsdoc-string">'&amp;'</span><span class="jsdoc-syntax">;
57                                     }
58                                 }
59                             }
60                             </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
61                         </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">'radio'</span><span class="jsdoc-syntax">:
62                         </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">'checkbox'</span><span class="jsdoc-syntax">:
63                             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el.checked</span><span class="jsdoc-syntax">) {
64                                 </span><span class="jsdoc-var">data </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">Roo.encodeURIComponent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">name</span><span class="jsdoc-syntax">) + </span><span class="jsdoc-string">'=' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">Roo.encodeURIComponent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">val</span><span class="jsdoc-syntax">) + </span><span class="jsdoc-string">'&amp;'</span><span class="jsdoc-syntax">;
65                             }
66                             </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
67                         </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">'file'</span><span class="jsdoc-syntax">:
68
69                         </span><span class="jsdoc-keyword">case </span><span class="jsdoc-var">undefined</span><span class="jsdoc-syntax">:
70
71                         </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">'reset'</span><span class="jsdoc-syntax">:
72
73                         </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">'button'</span><span class="jsdoc-syntax">:
74
75                             </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
76                         </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">'submit'</span><span class="jsdoc-syntax">:
77                             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">hasSubmit </span><span class="jsdoc-syntax">== </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">) {
78                                 </span><span class="jsdoc-var">data </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">Roo.encodeURIComponent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">name</span><span class="jsdoc-syntax">) + </span><span class="jsdoc-string">'=' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">Roo.encodeURIComponent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">val</span><span class="jsdoc-syntax">) + </span><span class="jsdoc-string">'&amp;'</span><span class="jsdoc-syntax">;
79                                 </span><span class="jsdoc-var">hasSubmit </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
80                             }
81                             </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
82                         </span><span class="jsdoc-keyword">default</span><span class="jsdoc-syntax">:
83                             </span><span class="jsdoc-var">data </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">Roo.encodeURIComponent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">name</span><span class="jsdoc-syntax">) + </span><span class="jsdoc-string">'=' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">Roo.encodeURIComponent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">val</span><span class="jsdoc-syntax">) + </span><span class="jsdoc-string">'&amp;'</span><span class="jsdoc-syntax">;
84                             </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
85                     }
86                 }
87             }
88             </span><span class="jsdoc-var">data </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">data.substr</span><span class="jsdoc-syntax">(0, </span><span class="jsdoc-var">data.length </span><span class="jsdoc-syntax">- 1);
89             </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">data</span><span class="jsdoc-syntax">;
90         },
91
92         </span><span class="jsdoc-var">headers</span><span class="jsdoc-syntax">:{},
93
94         </span><span class="jsdoc-var">hasHeaders</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
95
96         </span><span class="jsdoc-var">useDefaultHeader</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
97
98         </span><span class="jsdoc-var">defaultPostHeader</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">'application/x-www-form-urlencoded'</span><span class="jsdoc-syntax">,
99
100         </span><span class="jsdoc-var">useDefaultXhrHeader</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
101
102         </span><span class="jsdoc-var">defaultXhrHeader</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">'XMLHttpRequest'</span><span class="jsdoc-syntax">,
103
104         </span><span class="jsdoc-var">hasDefaultHeaders</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
105
106         </span><span class="jsdoc-var">defaultHeaders</span><span class="jsdoc-syntax">:{},
107
108         </span><span class="jsdoc-var">poll</span><span class="jsdoc-syntax">:{},
109
110         </span><span class="jsdoc-var">timeout</span><span class="jsdoc-syntax">:{},
111
112         </span><span class="jsdoc-var">pollInterval</span><span class="jsdoc-syntax">:50,
113
114         </span><span class="jsdoc-var">transactionId</span><span class="jsdoc-syntax">:0,
115
116         </span><span class="jsdoc-var">setProgId</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">)
117         {
118             </span><span class="jsdoc-var">this.activeX.unshift</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">);
119         },
120
121         </span><span class="jsdoc-var">setDefaultPostHeader</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">)
122         {
123             </span><span class="jsdoc-var">this.useDefaultHeader </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">;
124         },
125
126         </span><span class="jsdoc-var">setDefaultXhrHeader</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">)
127         {
128             </span><span class="jsdoc-var">this.useDefaultXhrHeader </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">;
129         },
130
131         </span><span class="jsdoc-var">setPollingInterval</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">)
132         {
133             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">'number' </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">isFinite</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">)) {
134                 </span><span class="jsdoc-var">this.pollInterval </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">;
135             }
136         },
137
138         </span><span class="jsdoc-var">createXhrObject</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">transactionId</span><span class="jsdoc-syntax">)
139         {
140             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">obj</span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">http</span><span class="jsdoc-syntax">;
141             </span><span class="jsdoc-keyword">try
142             </span><span class="jsdoc-syntax">{
143
144                 </span><span class="jsdoc-var">http </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">XMLHttpRequest</span><span class="jsdoc-syntax">();
145
146                 </span><span class="jsdoc-var">obj </span><span class="jsdoc-syntax">= { </span><span class="jsdoc-var">conn</span><span class="jsdoc-syntax">:</span><span class="jsdoc-var">http</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">tId</span><span class="jsdoc-syntax">:</span><span class="jsdoc-var">transactionId </span><span class="jsdoc-syntax">};
147             }
148             </span><span class="jsdoc-keyword">catch</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">)
149             {
150                 </span><span class="jsdoc-keyword">for </span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">this.activeX.length</span><span class="jsdoc-syntax">; ++</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">) {
151                     </span><span class="jsdoc-keyword">try
152                     </span><span class="jsdoc-syntax">{
153
154                         </span><span class="jsdoc-var">http </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">ActiveXObject</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.activeX</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]);
155
156                         </span><span class="jsdoc-var">obj </span><span class="jsdoc-syntax">= { </span><span class="jsdoc-var">conn</span><span class="jsdoc-syntax">:</span><span class="jsdoc-var">http</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">tId</span><span class="jsdoc-syntax">:</span><span class="jsdoc-var">transactionId </span><span class="jsdoc-syntax">};
157                         </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
158                     }
159                     </span><span class="jsdoc-keyword">catch</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">) {
160                     }
161                 }
162             }
163             </span><span class="jsdoc-keyword">finally
164             </span><span class="jsdoc-syntax">{
165                 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">obj</span><span class="jsdoc-syntax">;
166             }
167         },
168
169         </span><span class="jsdoc-var">getConnectionObject</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
170         {
171             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">;
172             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">tId </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.transactionId</span><span class="jsdoc-syntax">;
173
174             </span><span class="jsdoc-keyword">try
175             </span><span class="jsdoc-syntax">{
176                 </span><span class="jsdoc-var">o </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.createXhrObject</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">tId</span><span class="jsdoc-syntax">);
177                 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">) {
178                     </span><span class="jsdoc-var">this.transactionId</span><span class="jsdoc-syntax">++;
179                 }
180             }
181             </span><span class="jsdoc-keyword">catch</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">) {
182             }
183             </span><span class="jsdoc-keyword">finally
184             </span><span class="jsdoc-syntax">{
185                 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">;
186             }
187         },
188
189         </span><span class="jsdoc-var">asyncRequest</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">method</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">uri</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">callback</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">postData</span><span class="jsdoc-syntax">)
190         {
191             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">o </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getConnectionObject</span><span class="jsdoc-syntax">();
192
193             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">) {
194                 </span><span class="jsdoc-keyword">return null</span><span class="jsdoc-syntax">;
195             }
196             </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
197                 </span><span class="jsdoc-var">o.conn.open</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">method</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">uri</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
198
199                 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.useDefaultXhrHeader</span><span class="jsdoc-syntax">) {
200                     </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.defaultHeaders</span><span class="jsdoc-syntax">[</span><span class="jsdoc-string">'X-Requested-With'</span><span class="jsdoc-syntax">]) {
201                         </span><span class="jsdoc-var">this.initHeader</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'X-Requested-With'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.defaultXhrHeader</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
202                     }
203                 }
204
205                 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">postData </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.useDefaultHeader</span><span class="jsdoc-syntax">){
206                     </span><span class="jsdoc-var">this.initHeader</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'Content-Type'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.defaultPostHeader</span><span class="jsdoc-syntax">);
207                 }
208
209                  </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.hasDefaultHeaders </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">this.hasHeaders</span><span class="jsdoc-syntax">) {
210                     </span><span class="jsdoc-var">this.setHeader</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">);
211                 }
212
213                 </span><span class="jsdoc-var">this.handleReadyState</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">callback</span><span class="jsdoc-syntax">);
214                 </span><span class="jsdoc-var">o.conn.send</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">postData </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">);
215
216                 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">;
217             }
218         },
219
220         </span><span class="jsdoc-var">handleReadyState</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">callback</span><span class="jsdoc-syntax">)
221         {
222             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">oConn </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
223
224             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">callback </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">callback.timeout</span><span class="jsdoc-syntax">) {
225                 </span><span class="jsdoc-var">this.timeout</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">o.tId</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">window.setTimeout</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() {
226                     </span><span class="jsdoc-var">oConn.abort</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">callback</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
227                 }, </span><span class="jsdoc-var">callback.timeout</span><span class="jsdoc-syntax">);
228             }
229
230             </span><span class="jsdoc-var">this.poll</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">o.tId</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">window.setInterval</span><span class="jsdoc-syntax">(
231                     </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() {
232                         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o.conn </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">o.conn.readyState </span><span class="jsdoc-syntax">== 4) {
233                             </span><span class="jsdoc-var">window.clearInterval</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">oConn.poll</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">o.tId</span><span class="jsdoc-syntax">]);
234                             </span><span class="jsdoc-keyword">delete </span><span class="jsdoc-var">oConn.poll</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">o.tId</span><span class="jsdoc-syntax">];
235
236                             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">callback </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">callback.timeout</span><span class="jsdoc-syntax">) {
237                                 </span><span class="jsdoc-var">window.clearTimeout</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">oConn.timeout</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">o.tId</span><span class="jsdoc-syntax">]);
238                                 </span><span class="jsdoc-keyword">delete </span><span class="jsdoc-var">oConn.timeout</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">o.tId</span><span class="jsdoc-syntax">];
239                             }
240
241                             </span><span class="jsdoc-var">oConn.handleTransactionResponse</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">callback</span><span class="jsdoc-syntax">);
242                         }
243                     }
244                     , </span><span class="jsdoc-var">this.pollInterval</span><span class="jsdoc-syntax">);
245         },
246
247         </span><span class="jsdoc-var">handleTransactionResponse</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">callback</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">isAbort</span><span class="jsdoc-syntax">)
248         {
249
250             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">callback</span><span class="jsdoc-syntax">) {
251                 </span><span class="jsdoc-var">this.releaseObject</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">);
252                 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
253             }
254
255             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">httpStatus</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">responseObject</span><span class="jsdoc-syntax">;
256
257             </span><span class="jsdoc-keyword">try
258             </span><span class="jsdoc-syntax">{
259                 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o.conn.status </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-var">undefined </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">o.conn.status </span><span class="jsdoc-syntax">!= 0) {
260                     </span><span class="jsdoc-var">httpStatus </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">o.conn.status</span><span class="jsdoc-syntax">;
261                 }
262                 </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
263                     </span><span class="jsdoc-var">httpStatus </span><span class="jsdoc-syntax">= 13030;
264                 }
265             }
266             </span><span class="jsdoc-keyword">catch</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">) {
267
268
269                 </span><span class="jsdoc-var">httpStatus </span><span class="jsdoc-syntax">= 13030;
270             }
271
272             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">httpStatus </span><span class="jsdoc-syntax">&gt;= 200 &amp;&amp; </span><span class="jsdoc-var">httpStatus </span><span class="jsdoc-syntax">&lt; 300) {
273                 </span><span class="jsdoc-var">responseObject </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.createResponseObject</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">callback.argument</span><span class="jsdoc-syntax">);
274                 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">callback.success</span><span class="jsdoc-syntax">) {
275                     </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">callback.scope</span><span class="jsdoc-syntax">) {
276                         </span><span class="jsdoc-var">callback.success</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">responseObject</span><span class="jsdoc-syntax">);
277                     }
278                     </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
279
280
281                         </span><span class="jsdoc-var">callback.success.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">callback.scope</span><span class="jsdoc-syntax">, [</span><span class="jsdoc-var">responseObject</span><span class="jsdoc-syntax">]);
282                     }
283                 }
284             }
285             </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
286                 </span><span class="jsdoc-keyword">switch </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">httpStatus</span><span class="jsdoc-syntax">) {
287
288                     </span><span class="jsdoc-keyword">case </span><span class="jsdoc-syntax">12002:
289                     </span><span class="jsdoc-keyword">case </span><span class="jsdoc-syntax">12029:
290                     </span><span class="jsdoc-keyword">case </span><span class="jsdoc-syntax">12030:
291                     </span><span class="jsdoc-keyword">case </span><span class="jsdoc-syntax">12031:
292                     </span><span class="jsdoc-keyword">case </span><span class="jsdoc-syntax">12152:
293                     </span><span class="jsdoc-keyword">case </span><span class="jsdoc-syntax">13030:
294                         </span><span class="jsdoc-var">responseObject </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.createExceptionObject</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o.tId</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">callback.argument</span><span class="jsdoc-syntax">, (</span><span class="jsdoc-var">isAbort </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">isAbort </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">));
295                         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">callback.failure</span><span class="jsdoc-syntax">) {
296                             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">callback.scope</span><span class="jsdoc-syntax">) {
297                                 </span><span class="jsdoc-var">callback.failure</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">responseObject</span><span class="jsdoc-syntax">);
298                             }
299                             </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
300                                 </span><span class="jsdoc-var">callback.failure.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">callback.scope</span><span class="jsdoc-syntax">, [</span><span class="jsdoc-var">responseObject</span><span class="jsdoc-syntax">]);
301                             }
302                         }
303                         </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
304                     </span><span class="jsdoc-keyword">default</span><span class="jsdoc-syntax">:
305                         </span><span class="jsdoc-var">responseObject </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.createResponseObject</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">callback.argument</span><span class="jsdoc-syntax">);
306                         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">callback.failure</span><span class="jsdoc-syntax">) {
307                             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">callback.scope</span><span class="jsdoc-syntax">) {
308                                 </span><span class="jsdoc-var">callback.failure</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">responseObject</span><span class="jsdoc-syntax">);
309                             }
310                             </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
311                                 </span><span class="jsdoc-var">callback.failure.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">callback.scope</span><span class="jsdoc-syntax">, [</span><span class="jsdoc-var">responseObject</span><span class="jsdoc-syntax">]);
312                             }
313                         }
314                 }
315             }
316
317             </span><span class="jsdoc-var">this.releaseObject</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">);
318             </span><span class="jsdoc-var">responseObject </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">;
319         },
320
321         </span><span class="jsdoc-var">createResponseObject</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">callbackArg</span><span class="jsdoc-syntax">)
322         {
323             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">obj </span><span class="jsdoc-syntax">= {};
324             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">headerObj </span><span class="jsdoc-syntax">= {};
325
326             </span><span class="jsdoc-keyword">try
327             </span><span class="jsdoc-syntax">{
328                 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">headerStr </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">o.conn.getAllResponseHeaders</span><span class="jsdoc-syntax">();
329                 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">header </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">headerStr.split</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'\n'</span><span class="jsdoc-syntax">);
330                 </span><span class="jsdoc-keyword">for </span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">header.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++) {
331                     </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">delimitPos </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">header</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">':'</span><span class="jsdoc-syntax">);
332                     </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">delimitPos </span><span class="jsdoc-syntax">!= -1) {
333                         </span><span class="jsdoc-var">headerObj</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">header</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.substring</span><span class="jsdoc-syntax">(0, </span><span class="jsdoc-var">delimitPos</span><span class="jsdoc-syntax">)] = </span><span class="jsdoc-var">header</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.substring</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">delimitPos </span><span class="jsdoc-syntax">+ 2);
334                     }
335                 }
336             }
337             </span><span class="jsdoc-keyword">catch</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">) {
338             }
339
340             </span><span class="jsdoc-var">obj.tId </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">o.tId</span><span class="jsdoc-syntax">;
341             </span><span class="jsdoc-var">obj.status </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">o.conn.status</span><span class="jsdoc-syntax">;
342             </span><span class="jsdoc-var">obj.statusText </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">o.conn.statusText</span><span class="jsdoc-syntax">;
343             </span><span class="jsdoc-var">obj.getResponseHeader </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">headerObj</span><span class="jsdoc-syntax">;
344             </span><span class="jsdoc-var">obj.getAllResponseHeaders </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">headerStr</span><span class="jsdoc-syntax">;
345             </span><span class="jsdoc-var">obj.responseText </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">o.conn.responseText</span><span class="jsdoc-syntax">;
346             </span><span class="jsdoc-var">obj.responseXML </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">o.conn.responseXML</span><span class="jsdoc-syntax">;
347
348             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">callbackArg </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-var">undefined</span><span class="jsdoc-syntax">) {
349                 </span><span class="jsdoc-var">obj.argument </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">callbackArg</span><span class="jsdoc-syntax">;
350             }
351
352             </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">obj</span><span class="jsdoc-syntax">;
353         },
354
355         </span><span class="jsdoc-var">createExceptionObject</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">tId</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">callbackArg</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">isAbort</span><span class="jsdoc-syntax">)
356         {
357             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">COMM_CODE </span><span class="jsdoc-syntax">= 0;
358             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">COMM_ERROR </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">'communication failure'</span><span class="jsdoc-syntax">;
359             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ABORT_CODE </span><span class="jsdoc-syntax">= -1;
360             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ABORT_ERROR </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">'transaction aborted'</span><span class="jsdoc-syntax">;
361
362             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">obj </span><span class="jsdoc-syntax">= {};
363
364             </span><span class="jsdoc-var">obj.tId </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">tId</span><span class="jsdoc-syntax">;
365             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">isAbort</span><span class="jsdoc-syntax">) {
366                 </span><span class="jsdoc-var">obj.status </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ABORT_CODE</span><span class="jsdoc-syntax">;
367                 </span><span class="jsdoc-var">obj.statusText </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ABORT_ERROR</span><span class="jsdoc-syntax">;
368             }
369             </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
370                 </span><span class="jsdoc-var">obj.status </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">COMM_CODE</span><span class="jsdoc-syntax">;
371                 </span><span class="jsdoc-var">obj.statusText </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">COMM_ERROR</span><span class="jsdoc-syntax">;
372             }
373
374             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">callbackArg</span><span class="jsdoc-syntax">) {
375                 </span><span class="jsdoc-var">obj.argument </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">callbackArg</span><span class="jsdoc-syntax">;
376             }
377
378             </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">obj</span><span class="jsdoc-syntax">;
379         },
380
381         </span><span class="jsdoc-var">initHeader</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">label</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">isDefault</span><span class="jsdoc-syntax">)
382         {
383             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">headerObj </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">isDefault</span><span class="jsdoc-syntax">) ? </span><span class="jsdoc-var">this.defaultHeaders </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.headers</span><span class="jsdoc-syntax">;
384
385             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">headerObj</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">label</span><span class="jsdoc-syntax">] === </span><span class="jsdoc-var">undefined</span><span class="jsdoc-syntax">) {
386                 </span><span class="jsdoc-var">headerObj</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">label</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">;
387             }
388             </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
389
390
391                 </span><span class="jsdoc-var">headerObj</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">label</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">value </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">&quot;,&quot; </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">headerObj</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">label</span><span class="jsdoc-syntax">];
392             }
393
394             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">isDefault</span><span class="jsdoc-syntax">) {
395                 </span><span class="jsdoc-var">this.hasDefaultHeaders </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
396             }
397             </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
398                 </span><span class="jsdoc-var">this.hasHeaders </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
399             }
400         },
401
402
403         </span><span class="jsdoc-var">setHeader</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">)
404         {
405             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.hasDefaultHeaders</span><span class="jsdoc-syntax">) {
406                 </span><span class="jsdoc-keyword">for </span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">prop </span><span class="jsdoc-keyword">in </span><span class="jsdoc-var">this.defaultHeaders</span><span class="jsdoc-syntax">) {
407                     </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.defaultHeaders.hasOwnProperty</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">prop</span><span class="jsdoc-syntax">)) {
408                         </span><span class="jsdoc-var">o.conn.setRequestHeader</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">prop</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.defaultHeaders</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">prop</span><span class="jsdoc-syntax">]);
409                     }
410                 }
411             }
412
413             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.hasHeaders</span><span class="jsdoc-syntax">) {
414                 </span><span class="jsdoc-keyword">for </span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">prop </span><span class="jsdoc-keyword">in </span><span class="jsdoc-var">this.headers</span><span class="jsdoc-syntax">) {
415                     </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.headers.hasOwnProperty</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">prop</span><span class="jsdoc-syntax">)) {
416                         </span><span class="jsdoc-var">o.conn.setRequestHeader</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">prop</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.headers</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">prop</span><span class="jsdoc-syntax">]);
417                     }
418                 }
419                 </span><span class="jsdoc-var">this.headers </span><span class="jsdoc-syntax">= {};
420                 </span><span class="jsdoc-var">this.hasHeaders </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
421             }
422         },
423
424         </span><span class="jsdoc-var">resetDefaultHeaders</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() {
425             </span><span class="jsdoc-keyword">delete </span><span class="jsdoc-var">this.defaultHeaders</span><span class="jsdoc-syntax">;
426             </span><span class="jsdoc-var">this.defaultHeaders </span><span class="jsdoc-syntax">= {};
427             </span><span class="jsdoc-var">this.hasDefaultHeaders </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
428         },
429
430         </span><span class="jsdoc-var">abort</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">callback</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">isTimeout</span><span class="jsdoc-syntax">)
431         {
432             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.isCallInProgress</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">)) {
433                 </span><span class="jsdoc-var">o.conn.abort</span><span class="jsdoc-syntax">();
434                 </span><span class="jsdoc-var">window.clearInterval</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.poll</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">o.tId</span><span class="jsdoc-syntax">]);
435                 </span><span class="jsdoc-keyword">delete </span><span class="jsdoc-var">this.poll</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">o.tId</span><span class="jsdoc-syntax">];
436                 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">isTimeout</span><span class="jsdoc-syntax">) {
437                     </span><span class="jsdoc-keyword">delete </span><span class="jsdoc-var">this.timeout</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">o.tId</span><span class="jsdoc-syntax">];
438                 }
439
440                 </span><span class="jsdoc-var">this.handleTransactionResponse</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">callback</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
441
442                 </span><span class="jsdoc-keyword">return true</span><span class="jsdoc-syntax">;
443             }
444             </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
445                 </span><span class="jsdoc-keyword">return false</span><span class="jsdoc-syntax">;
446             }
447         },
448
449
450         </span><span class="jsdoc-var">isCallInProgress</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">)
451         {
452             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">o.conn</span><span class="jsdoc-syntax">) {
453                 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">o.conn.readyState </span><span class="jsdoc-syntax">!= 4 &amp;&amp; </span><span class="jsdoc-var">o.conn.readyState </span><span class="jsdoc-syntax">!= 0;
454             }
455             </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
456
457                 </span><span class="jsdoc-keyword">return false</span><span class="jsdoc-syntax">;
458             }
459         },
460
461
462         </span><span class="jsdoc-var">releaseObject</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">)
463         {
464
465             </span><span class="jsdoc-var">o.conn </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">;
466
467             </span><span class="jsdoc-var">o </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">;
468         },
469
470         </span><span class="jsdoc-var">activeX</span><span class="jsdoc-syntax">:[
471         </span><span class="jsdoc-string">'MSXML2.XMLHTTP.3.0'</span><span class="jsdoc-syntax">,
472         </span><span class="jsdoc-string">'MSXML2.XMLHTTP'</span><span class="jsdoc-syntax">,
473         </span><span class="jsdoc-string">'Microsoft.XMLHTTP'
474         </span><span class="jsdoc-syntax">]
475
476
477     };
478 })();</span></code></body></html>