| 
					
				 | 
			
			
				@@ -0,0 +1,317 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @Module:      xajax.js 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @Version:     0.6.0  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @Desc:        simple ajax class 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @Last Update: 2019-01-04 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @Author:      ls 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @E-Mail:      shucx@139.com 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @Site:        http://www.chuangxin1.com 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Copyright (c) 2007-2018 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Thanks dojo (http://dojotoolkit.org) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+if (typeof xajax !== 'object') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    xajax = { version: '0.6.0' }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'use strict'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var _x = xajax, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        _doc = window.document, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        _enc = encodeURIComponent; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _x.ERR_OK = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _x.ERR_EXCEPTION = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _x.ERR_TIMEOUT = 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _x.CONTENT_TYPE_URL = 'application/x-www-form-urlencoded; charset=utf-8'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _x.CONTENT_TYPE_JSON = 'application/json; charset=utf-8'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _x.CONTENT_TYPE_XML = 'application/xml; charset=utf-8'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var _timeout = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /* Not support IE6 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _x.$ = function(selectors) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return _doc.querySelector(selectors); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _x.$$ = function(selectors) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return _doc.querySelectorAll(selectors); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _x.xhrObj = function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var _xhr = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (window.XMLHttpRequest) { /* FireFox\Opera\Safari\Chrome\IE7+ ... */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                _xhr = new XMLHttpRequest(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } catch (ff) {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else if (window.ActiveXObject) { /* <= MSIE6 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var xml = ['MSXML2.XMLHTTP.6.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (var i = 0; i < 3; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    _xhr = new ActiveXObject(xml[i]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } catch (ie) {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return _xhr; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _x._ioSetArgs = function(args) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var ioArgs = { args: args, url: args.url }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ioArgs.async = (typeof args.async === 'undefined') ? true : false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ioArgs.query = args.data || null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ioArgs.headers = args.headers || null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ioArgs.contentType = args.contentType || null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ioArgs.handleAs = args.handleAs || 'text'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ioArgs.handle = args.handle || function(obj, ioargs) {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ioArgs.error = args.error || null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ioArgs.timeout = (args.timeout || _timeout) * 1000; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ioArgs.response = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ioArgs.status = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ioArgs.err = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ioArgs.errno = _x.ERR_OK; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return ioArgs; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _x._ioResponse = function(ioArgs) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var obj = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ioArgs.status = ioArgs.xhr.status; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ioArgs.response = ioArgs.xhr.responseText; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        switch (ioArgs.handleAs) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case 'text': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                obj = ioArgs.response; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case 'json': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    obj = eval('(' + ioArgs.response + ')'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } catch (e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ioArgs.err = e.description; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ioArgs.errno = _x.ERR_EXCEPTION; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case 'xml': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                obj = ioArgs.xhr.responseXML; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case 'javascript': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    obj = eval(ioArgs.response); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } catch (e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ioArgs.err = e.description; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ioArgs.errno = _x.ERR_EXCEPTION; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                obj = ioArgs.response; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return obj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _x._ioNotifyStart = function(ioArgs) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (ioArgs.timeout > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ioArgs.starttime = (new Date()).getTime(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ioArgs.objTimeout = setInterval(_x._ioInterval, 50); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ioArgs.xhr.onreadystatechange = function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (ioArgs.xhr.readyState === 4) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (ioArgs.timeout > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    clearInterval(ioArgs.objTimeout); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ioArgs.handle(_x._ioResponse(ioArgs), ioArgs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _x._ioInterval = function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var now = (new Date()).getTime(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if ((now - _x.ioArgs.starttime) > _x.ioArgs.timeout) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            _x.cancel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            _x.ioArgs.err = 'Timeout'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            _x.ioArgs.errno = _x.ERR_TIMEOUT; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (_x.ioArgs.error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                _x.ioArgs.error(_x.ioArgs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _x.xhr = function(method, args, hasBody) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var xhr = null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ioArgs = _x._ioSetArgs(args); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        xhr = ioArgs.xhr = _x.xhrObj(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (xhr === null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return (null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        _x.ioArgs = ioArgs; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            xhr.open(method, ioArgs.url, ioArgs.async); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            _x._ioNotifyStart(ioArgs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (args.contentType) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                xhr.setRequestHeader('Content-Type', args.contentType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (args.headers) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                for (var hdr in args.headers) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    xhr.setRequestHeader(hdr, args.headers[hdr]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            xhr.send(hasBody ? ioArgs.query : null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } catch (e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            _x.cancel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ioArgs.err = e.description; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ioArgs.errno = _x.ERR_EXCEPTION; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (ioArgs.error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ioArgs.error(ioArgs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return ioArgs || null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _x.cancel = function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (_x.ioArgs.xhr) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (_x.ioArgs.timeout > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                clearInterval(_x.ioArgs.objTimeout); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            _x.ioArgs.xhr.abort(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _x.Get = function(args) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return _x.xhr('GET', args, false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _x.Head = function(args) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return _x.xhr('HEAD', args, false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _x.Post = function(args) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        args.contentType = args.contentType || _x.CONTENT_TYPE_URL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return _x.xhr('POST', args, true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _x.Put = function(args) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        args.contentType = args.contentType || _x.CONTENT_TYPE_URL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return _x.xhr('PUT', args, true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _x.Delete = function(args) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        args.contentType = args.contentType || _x.CONTENT_TYPE_URL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return _x.xhr('DELETE', args, true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _x.isArray = function(args) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return args && (args instanceof Array || typeof args === 'array'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _x.isFunction = function(args) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return args && (typeof args === 'function'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _x.setValue = function(obj, key, value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (value === null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var val = obj[key]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (typeof val === 'string') { // inline'd type check 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            obj[key] = [val, value]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else if (_x.isArray(val)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            val.push(value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            obj[key] = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _x.fieldToObject = function(item) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var obj = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (item) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var name = item.name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                type = (item.type || '').toLowerCase(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (name && type && !item.disabled) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (type === 'radio' || type === 'checkbox') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (item.checked) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        obj = item.value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } else if (item.multiple) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    obj = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    var opt = item.options, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        n = opt.length; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    for (var i = 0; i < n; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if (opt[i].selected) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            obj.push(opt.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    obj = item.value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return obj; // Object 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _x.objectToQuery = function(obj) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var pairs = [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            backstop = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (var key in obj) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var value = obj[key]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (value !== backstop[key]) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                var assign = _enc(key) + '='; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (_x.isArray(value)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    for (var i = 0, n = value.length; i < n; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        pairs.push(assign + _enc(value[i])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    pairs.push(assign + _enc(value)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return pairs.join('&'); // String 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _x.formToObject = function(obj) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (!obj) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var el = obj.elements, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            n = el.length, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            s = {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            exclude = 'file|submit|image|reset|button|'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (var i = 0; i < n; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var item = el[i], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                name = item.name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                type = (item.type || '').toLowerCase(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (name && type && exclude.indexOf(type) === -1 && !item.disabled) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                _x.setValue(s, name, _x.fieldToObject(item)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return s; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _x.formToQuery = function(obj) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (!obj) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return _x.objectToQuery(_x.formToObject(obj)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+})(); 
			 |