Rev 48 | Rev 92 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
53 | jmachado | 1 | /** |
2 | * |
||
3 | * AJAX Functions |
||
4 | * |
||
5 | * This code is protected under GNU LGPL License |
||
6 | * |
||
7 | * @author Jorge Machado |
||
8 | * @date April 2008 |
||
9 | **/ |
||
1 | fvelez | 10 | |
53 | jmachado | 11 | /** |
12 | * Starts XMLHTTP Ajax request |
||
13 | * |
||
14 | * @author Jorge Machado |
||
15 | * @date April 2008 |
||
16 | * |
||
17 | * params: |
||
18 | * @params HTTP GET Parameters for query string |
||
19 | * @xmlHttpRequest request |
||
20 | * @id target element |
||
21 | * @stateChanged target function |
||
22 | * @innerPhrase to put while waiting for response |
||
23 | * @navjsp requested jsp |
||
24 | */ |
||
25 | function startRequest(xmlHttpRequest,params,id,stateChanged,innerPhrase,navjsp) |
||
26 | { |
||
27 | if(innerPhrase != '') |
||
28 | getObjectById(id).innerHTML = innerPhrase; |
||
29 | if (xmlHttpRequest==null) |
||
30 | { |
||
31 | alert ("Browser does not support HTTP Request"); |
||
32 | return; |
||
33 | } |
||
34 | var url= navjsp; |
||
35 | if(params != null && params.length > 0) |
||
36 | { |
||
37 | url=url+"?"+ params; |
||
38 | url=url+"&sid="+Math.random(); |
||
39 | } |
||
40 | else |
||
41 | { |
||
42 | url=url+"?sid="+Math.random(); |
||
43 | } |
||
44 | xmlHttpRequest.onreadystatechange=stateChanged; |
||
45 | xmlHttpRequest.open("GET",url,true); |
||
46 | xmlHttpRequest.send(null); |
||
47 | } |
||
1 | fvelez | 48 | |
53 | jmachado | 49 | /** |
50 | * Return an HTML element given ID |
||
51 | * |
||
52 | * @author Jorge Machado |
||
53 | * @date April 2008 |
||
54 | * |
||
55 | * params: |
||
56 | * @objectId required object |
||
57 | */ |
||
58 | function getObjectById(objectId) |
||
59 | { |
||
60 | // cross-browser function to get an object's style object given its id |
||
61 | try |
||
62 | { |
||
63 | if(document.getElementById && document.getElementById(objectId)) |
||
1 | fvelez | 64 | { |
65 | // W3C DOM |
||
53 | jmachado | 66 | return document.getElementById(objectId); |
67 | } |
||
68 | else if (document.all(objectId)) |
||
69 | { |
||
1 | fvelez | 70 | // MSIE 4 DOM |
53 | jmachado | 71 | return document.all(objectId); |
72 | } |
||
73 | else if (document.layers && document.layers[objectId]) |
||
74 | { |
||
1 | fvelez | 75 | // NN 4 DOM.. note: this won't find nested layers |
53 | jmachado | 76 | return document.layers[objectId]; |
1 | fvelez | 77 | } |
53 | jmachado | 78 | else |
1 | fvelez | 79 | { |
80 | return false; |
||
81 | } |
||
53 | jmachado | 82 | } |
83 | catch(e) |
||
84 | { |
||
85 | return false; |
||
86 | } |
||
1 | fvelez | 87 | } |
88 | |||
89 | /** |
||
53 | jmachado | 90 | * Creates a new XmlHttpObject |
91 | * @author Jorge Machado |
||
92 | * @date April 2008 |
||
1 | fvelez | 93 | * |
53 | jmachado | 94 | * params: |
95 | * @handler target xmlHttpObject function |
||
1 | fvelez | 96 | */ |
53 | jmachado | 97 | function GetXmlHttpObject(handler) |
1 | fvelez | 98 | { |
53 | jmachado | 99 | var objXmlHttp = null; |
100 | if (navigator.userAgent.indexOf("Opera")>=0) |
||
101 | { |
||
102 | alert("This example doesn't work in Opera") ; |
||
103 | return objXmlHttp; |
||
104 | } |
||
105 | if (navigator.userAgent.indexOf("MSIE")>=0) |
||
106 | { |
||
107 | var strName="Msxml2.XMLHTTP"; |
||
108 | if (navigator.appVersion.indexOf("MSIE 5.5")>=0) |
||
1 | fvelez | 109 | { |
53 | jmachado | 110 | strName="Microsoft.XMLHTTP"; |
1 | fvelez | 111 | } |
53 | jmachado | 112 | try |
113 | { |
||
114 | objXmlHttp=new ActiveXObject(strName); |
||
115 | objXmlHttp.onreadystatechange=handler ; |
||
116 | return objXmlHttp; |
||
117 | } |
||
118 | catch(e) |
||
119 | { |
||
120 | alert("Error. Scripting for ActiveX might be disabled") ; |
||
121 | return objXmlHttp; |
||
122 | } |
||
123 | } |
||
124 | if (navigator.userAgent.indexOf("Mozilla")>=0) |
||
125 | { |
||
126 | objXmlHttp=new XMLHttpRequest(); |
||
127 | objXmlHttp.onload=handler; |
||
128 | objXmlHttp.onerror=handler; |
||
129 | return objXmlHttp; |
||
130 | } |
||
1 | fvelez | 131 | } |
132 | |||
53 | jmachado | 133 | /*************************************************** |
134 | TopFlashNews |
||
135 | ***************************************************/ |
||
136 | var xmlHttpTopFlashNews; |
||
137 | var getFlashNewsTimeout; |
||
138 | var getFlashNewsJsp; |
||
1 | fvelez | 139 | |
53 | jmachado | 140 | function getFlashNews(jsp,timeout) |
48 | fvelez | 141 | { |
53 | jmachado | 142 | getFlashNewsJsp = jsp; |
143 | getFlashNewsTimeout = timeout; |
||
144 | getFlashNewsTimeoutCall(); |
||
48 | fvelez | 145 | } |
53 | jmachado | 146 | function getFlashNewsTimeoutCall() |
48 | fvelez | 147 | { |
53 | jmachado | 148 | xmlHttpTopFlashNews=GetXmlHttpObject(stateChangedGetFlashNews); |
149 | startRequest(xmlHttpTopFlashNews,"","flashTopNews",stateChangedGetFlashNews,"",getFlashNewsJsp) |
||
48 | fvelez | 150 | } |
151 | function stateChangedGetFlashNews() |
||
152 | { |
||
53 | jmachado | 153 | if (xmlHttpTopFlashNews.readyState==4 || xmlHttpTopFlashNews.readyState=="complete") |
154 | { |
||
155 | getObjectById("flashTopNews").innerHTML=xmlHttpTopFlashNews.responseText; |
||
156 | setTimeout(getFlashNewsTimeoutCall,getFlashNewsTimeout); |
||
157 | } |
||
48 | fvelez | 158 | } |
1 | fvelez | 159 | |
160 | |||
161 | |||
162 | |||
163 | |||
164 | |||
165 | |||
166 | |||
167 | |||
168 | |||
169 | |||
170 | |||
48 | fvelez | 171 | |
172 | |||
173 | |||
174 |