var xhr = false;
var dgbcnt = 0;
// preload loading image
loading1 = new Image();
loading1.src = "http://www.pwmwa.com/test/gfx/loading1.gif";
function dbg(message){
dgbcnt ++;
//document.getElementById('debug').innerHTML += dgbcnt+': '+message+'
\n';
}
function XHRInit() {
dbg('XHRInit called...');
if(xhr){
return true;
} else {
req = false;
// xhr object not ActiveX (IE 7 will use object not ActiveX, could both)
if(window.XMLHttpRequest) {
dbg('XHR native support detected...');
try {
xhr = new XMLHttpRequest();
dbg('XHR object created');
} catch(e) {
xhr = false;
dbg('ERROR creating XHR object');
}
// IE ActiveX version
} else if(window.ActiveXObject) {
dbg('XHR ActiveXObject support detected...');
try {
xhr = new ActiveXObject('Msxml2.XMLHTTP');
dbg('XHR using Msxml2.XMLHTTP');
} catch(e) {
try {
xhr = new ActiveXObject('Microsoft.XMLHTTP');
dbg('XHR using Microsoft.XMLHTTP');
} catch(e) {
xhr = false;
dbg('ERROR creating XHR object');
}
}
} else {
dbg('ERROR no XHR support at all detected');
xhr = false;
return false;
}
return true;
}
}
function SubmitComment(url, event_id, returnvalue){
// fill details div
return XHRrequest(url, 'commentform_'+event_id, false, returnvalue);
}
function CloseDetails(responsediv_id){
// hide details div
document.getElementById('eventdetailexpand_'+responsediv_id).style.display = 'none';
// show summary div
document.getElementById('eventdetails_'+responsediv_id).style.display = 'block';
return false;
}
function ShowDetails(url, responsediv_id, addcontent, returnvalue){
// hide summary div
document.getElementById('eventdetails_'+responsediv_id).style.display = 'none';
// show details div
document.getElementById('eventdetailexpand_'+responsediv_id).style.display = 'block';
// put loading message into div
document.getElementById('eventdetailexpand_'+responsediv_id).innerHTML = '
loading details...
';
// fill details div
return XHRrequest(url, 'eventdetailexpand_'+responsediv_id, addcontent, returnvalue);
}
function XHRrequest(url, responsediv, addcontent, returnvalue){
dbg('starting XHRrequest...');
// is the xhr object there?
if(XHRInit()){
dbg('XHR initialized successfully');
// let's make POST requests
xhr.open('POST', url, true);
dbg('xhr.open done');
// the web service requires the request to be a real XML document
//xhr.setRequestHeader('Content-Type', 'text/xml; charset=utf-8');
xhr.setRequestHeader('Content-Type', 'text/html; charset=utf-8');
dbg('xhr.setRequestHeader(1) done');
// send SOAPAction header to invoke the webservice
//xhr.setRequestHeader('SOAPAction', 'http://webservice_url');
//dbg('xhr.setRequestHeader(2) done');
// define the callback, called when state of xhr object changes
xhr.onreadystatechange = function(){
if (xhr.readyState == 4){
ProcessXHR(xhr, responsediv, addcontent);
}
}
dbg('xhr callback set');
// finally send the HTTP request
xhr.send('');
}
return returnvalue;
}
function ProcessXHR(xmlHttpReq, responsediv, addcontent){
dbg('ProcessXHR() called');
var responseText = '';
// Fetch the values from our response XML
/*
var responseTag = xmlHttpReq.responseXML.getElementsByTagName('ResponseText');
dbg('length of response tag: '+responseTag.length);
// get tag content
if(responseTag.length){
responseText = responseTag[0].firstChild.data;
dbg('response tag value = '+responseText);
} else {
responseText = 'no content';
}
*/
// pure HTML version
var responseText = xmlHttpReq.responseText;
// fill div "result" with the response value
if(addcontent){
document.getElementById(responsediv).innerHTML += responseText;
} else {
document.getElementById(responsediv).innerHTML = responseText;
}
}
function OverlayOpen(title, url, message){
if(message != ''){
document.getElementById('overlaytitle').innerHTML = title;
} else {
document.getElementById('overlaytitle').innerHTML = 'System Message';
}
if(url != ''){
document.getElementById('overlaycontent').innerHTML = '
loading...

';
XHRrequest(url, 'overlaycontent', false);
} else {
document.getElementById('overlaycontent').innerHTML = message;
}
document.getElementById('overlaybutton').innerHTML = 'close message';
document.getElementById('overlay').style.display = 'block';
document.getElementById('overlaybutton').focus();
document.getElementById('footlink').style.display = 'none';
}
function OverlayClose(footlinkcontent){
document.getElementById('overlay').style.display = 'none';
document.getElementById('footlink').style.display = 'block';
}