Subversion Repositories bacoAlunos

Rev

Rev 53 | Rev 159 | 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
 
92 jmachado 89
function hide(id,showId)
90
{
91
    getObjectById(id).style.visibility='hidden';
92
    getObjectById(id).style.position='absolute';
93
    getObjectById(showId).style.visibility='visible';
94
    getObjectById(showId).style.position='relative';
95
}
96
function show(id,hideId)
97
{
98
    getObjectById(id).style.visibility='visible';
99
    getObjectById(id).style.position='relative';
100
    getObjectById(hideId).style.visibility='hidden';
101
    getObjectById(hideId).style.position='absolute';
102
 
103
}
104
 
1 fvelez 105
/**
53 jmachado 106
 * Creates a new XmlHttpObject
107
 * @author Jorge Machado
108
 * @date April 2008
1 fvelez 109
 *
53 jmachado 110
 * params:
111
 * @handler target xmlHttpObject function
1 fvelez 112
 */
53 jmachado 113
function GetXmlHttpObject(handler)
1 fvelez 114
{
53 jmachado 115
    var objXmlHttp = null;
116
    if (navigator.userAgent.indexOf("Opera")>=0)
117
    {
118
        alert("This example doesn't work in Opera") ;
119
        return objXmlHttp;
120
    }
121
    if (navigator.userAgent.indexOf("MSIE")>=0)
122
    {
123
        var strName="Msxml2.XMLHTTP";
124
        if (navigator.appVersion.indexOf("MSIE 5.5")>=0)
1 fvelez 125
        {
53 jmachado 126
            strName="Microsoft.XMLHTTP";
1 fvelez 127
        }
53 jmachado 128
        try
129
        {
130
            objXmlHttp=new ActiveXObject(strName);
131
            objXmlHttp.onreadystatechange=handler ;
132
            return objXmlHttp;
133
        }
134
        catch(e)
135
        {
136
            alert("Error. Scripting for ActiveX might be disabled") ;
137
            return objXmlHttp;
138
        }
139
    }
140
    if (navigator.userAgent.indexOf("Mozilla")>=0)
141
    {
142
        objXmlHttp=new XMLHttpRequest();
143
        objXmlHttp.onload=handler;
144
        objXmlHttp.onerror=handler;
145
        return objXmlHttp;
146
    }
1 fvelez 147
}
148
 
53 jmachado 149
/***************************************************
150
 TopFlashNews
151
***************************************************/
152
var xmlHttpTopFlashNews;
153
var getFlashNewsTimeout;
154
var getFlashNewsJsp;
1 fvelez 155
 
53 jmachado 156
function getFlashNews(jsp,timeout)
48 fvelez 157
{
53 jmachado 158
    getFlashNewsJsp = jsp;
159
    getFlashNewsTimeout = timeout;
160
    getFlashNewsTimeoutCall();
48 fvelez 161
}
53 jmachado 162
function getFlashNewsTimeoutCall()
48 fvelez 163
{
53 jmachado 164
    xmlHttpTopFlashNews=GetXmlHttpObject(stateChangedGetFlashNews);
165
    startRequest(xmlHttpTopFlashNews,"","flashTopNews",stateChangedGetFlashNews,"",getFlashNewsJsp)
48 fvelez 166
}
167
function stateChangedGetFlashNews()
168
{
53 jmachado 169
    if (xmlHttpTopFlashNews.readyState==4 || xmlHttpTopFlashNews.readyState=="complete")
170
    {
171
        getObjectById("flashTopNews").innerHTML=xmlHttpTopFlashNews.responseText;
172
        setTimeout(getFlashNewsTimeoutCall,getFlashNewsTimeout);
173
    }
48 fvelez 174
}
1 fvelez 175
 
176
 
92 jmachado 177
/***************************************************
178
 Search
179
***************************************************/
180
var xmlHttpSearch;
181
var searchResultsDiv;
1 fvelez 182
 
92 jmachado 183
function searchCall(div,query,searchType,page,module,action)
184
{
185
    searchResultsDiv = div;
186
    xmlHttpSearch=GetXmlHttpObject(stateChangedSearchCall);
187
    startRequest(xmlHttpSearch,"dispatch=searchModule&query=" + query + "&searchType=" + searchType + "&page=" + page + "&module=" + module,"",stateChangedSearchCall,"",action);
188
}
189
function stateChangedSearchCall()
190
{
191
    if (xmlHttpSearch.readyState==4 || xmlHttpSearch.readyState=="complete")
192
    {
193
        getObjectById(searchResultsDiv).innerHTML=xmlHttpSearch.responseText;
194
    }
195
}
1 fvelez 196
 
197
 
198
 
199
 
200
 
201
 
202
 
203
 
204
 
48 fvelez 205
 
206
 
207
 
208
 
92 jmachado 209
 
210
 
211