moved qdb here because matt is lazy
[public/www-new.git] / pub / qdb / res / themes / default / js / ajax.js
1 /*\r
2 ###############################################################################\r
3 # Chirpy! 0.3, a quote management system                                      #\r
4 # Copyright (C) 2005-2007 Tim De Pauw <ceetee@users.sourceforge.net>          #\r
5 ###############################################################################\r
6 # This program is free software; you can redistribute it and/or modify it     #\r
7 # under the terms of the GNU General Public License as published by the Free  #\r
8 # Software Foundation; either version 2 of the License, or (at your option)   #\r
9 # any later version.                                                          #\r
10 #                                                                             #\r
11 # This program is distributed in the hope that it will be useful, but WITHOUT #\r
12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       #\r
13 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for   #\r
14 # more details.                                                               #\r
15 #                                                                             #\r
16 # You should have received a copy of the GNU General Public License along     #\r
17 # with this program; if not, write to the Free Software Foundation, Inc., 51  #\r
18 # Franklin St, Fifth Floor, Boston, MA  02110-1301  USA                       #\r
19 ###############################################################################\r
20 \r
21 ###############################################################################\r
22 # ajax.js                                                                     #\r
23 # Facilitates access to the browser's AJAX features, if any                   #\r
24 ###############################################################################\r
25 # $Id:: ajax.js 291 2007-02-05 21:24:46Z ceetee                             $ #\r
26 ###############################################################################\r
27 */\r
28 \r
29 var ajaxMethods = new Array(\r
30         function() { return new ActiveXObject("Msxml2.XMLHTTP") },\r
31         function() { return new ActiveXObject("Microsoft.XMLHTTP") },\r
32         function() { return new XMLHttpRequest() }\r
33 );\r
34 \r
35 var ajaxMethodIndex = -1;\r
36 \r
37 for (var i = 0; i < ajaxMethods.length; i++) {\r
38         try {\r
39                 ajaxMethods[i]();\r
40                 ajaxMethodIndex = i;\r
41                 break;\r
42         } catch (e) { }\r
43 }\r
44 \r
45 function ajaxSupported () {\r
46         return (ajaxMethodIndex >= 0);\r
47 }\r
48 \r
49 function getAjaxObject () {\r
50         return (ajaxSupported()\r
51                 ? ajaxMethods[ajaxMethodIndex]()\r
52                 : null);\r
53 }