Index: platform/inc/ajax.js =================================================================== diff -u -N --- platform/inc/ajax.js (revision 12930) +++ platform/inc/ajax.js (revision 0) @@ -1,263 +0,0 @@ -function preg_print_pre(obj, reg) -{ - if (!reg) reg = /.*/; - var p = '' - for (var prop in obj) { - if (prop.match(reg) ) { - p += prop + ': '+obj[prop] + '\n' - } - } - alert(p) -} - - -// Main AJAX classs -function Request() {} - -Request.timeout = 60000; //60 seconds -Request.method = 'GET'; -Request.headers = new Array(); -Request.params = null; - -Request.makeRequest = function(p_url, p_busyReq, p_progId, p_successCallBack, p_errorCallBack, p_pass, p_object) { - //p_url: the web service url - //p_busyReq: is a request for this object currently in progress? - //p_progId: element id where progress HTML should be shown - //p_successCallBack: callback function for successful response - //p_errorCallBack: callback function for erroneous response - //p_pass: string of params to pass to callback functions - //p_object: object of params to pass to callback functions - - if (p_busyReq) return; - var req = Request.getRequest(); - if (req != null) { - p_busyReq = true; - Request.showProgress(p_progId); - req.onreadystatechange = function() { - if (req.readyState == 4) { - p_busyReq = false; - window.clearTimeout(toId); - try { - if (req.status == 200) { - // preg_print_pre(req) - p_successCallBack(req, p_pass, p_object); - } else { - p_errorCallBack(req, p_pass, p_object); - } - Request.hideProgress(p_progId); - } - catch (e) { -// alert('AJAX error') - } - } - } - var $ajax_mark = (p_url.indexOf('?') ? '&' : '?') + 'ajax=yes'; - req.open(Request.method, p_url + $ajax_mark, true); - - if (Request.method == 'POST') { - Request.headers['Content-type'] = 'application/x-www-form-urlencoded'; - Request.headers['referer'] = p_url; - } - else { - Request.headers['If-Modified-Since'] = 'Sat, 1 Jan 2000 00:00:00 GMT'; - } - - Request.sendHeaders(req); - if (Request.method == 'POST') { - req.send(Request.params); - Request.method = 'GET'; // restore method back to GET - } - else { - req.send(null); - } - - var toId = window.setTimeout( function() {if (p_busyReq) req.abort();}, Request.timeout ); - } -} - -Request.processRedirect = function($request) { - var $match_redirect = new RegExp('^#redirect#(.*)').exec($request.responseText); - if ($match_redirect != null) { - // redirect to external template requested - window.location.href = $match_redirect[1]; - return true; - } - return false; -} -Request.sendHeaders = function($request) { - for (var $header_name in Request.headers) { - if (typeof Request.headers[$header_name] == 'function') { - continue; - } - $request.setRequestHeader($header_name, Request.headers[$header_name]); - } - Request.headers = new Array(); // reset header afterwards -} - -Request.getRequest = function() { - var xmlHttp; - try { xmlHttp = new ActiveXObject('MSXML2.XMLHTTP'); return xmlHttp; } catch (e) {} - try { xmlHttp = new ActiveXObject('Microsoft.XMLHTTP'); return xmlHttp; } catch (e) {} - try { xmlHttp = new XMLHttpRequest(); return xmlHttp; } catch(e) {} - return null; -} - -Request.showProgress = function(p_id) { - if (p_id != '') { - Request.setOpacity(20, p_id); - - if (!document.getElementById(p_id + '_progress')) { - document.body.appendChild(Request.getProgressObject(p_id)); - } - else { - var $progress_div = document.getElementById(p_id + '_progress'); - $progress_div.style.top = getRealTop(p_id) + 'px'; - $progress_div.style.height = document.getElementById(p_id).clientHeight; - $progress_div.style.display = 'block'; - } -// document.getElementById(p_id).innerHTML = Request.getProgressHtml(); - } -} - -Request.hideProgress = function(p_id) { - if (p_id != '') { - document.getElementById(p_id + '_progress').style.display = 'none'; - Request.setOpacity(100, p_id); - } -} - -Request.setOpacity = function (opacity, id) { - var elem = typeof(id)=='string' ? document.getElementById(id) : id; - var object = elem.style; - object.opacity = (opacity / 100); - object.MozOpacity = (opacity / 100); - object.KhtmlOpacity = (opacity / 100); - object.filter = "alpha(opacity=" + opacity + ")"; -} - -Request.getProgressHtml = function() { - return "
" + Request.progressText + "
'+Request.progressText+' |