/** AJAX HANDLER **/
function ajaxHandler(request)
{
  var funcArray = new Array();
  var msgArray  = new Array();
  
  //alert(request.responseText);
  
  
  if((events = request.responseXML.getElementsByTagName("events"))) {
  	if(events[0]) {
  		theDate 	= events[0].getAttribute('date');
	  	p			= document.getElementById('slidablurb');
	  	p.innerHTML	= '';
	  	
	  	div						= document.createElement('div');
	  	div.style.font			= 'bold 14px arial';
	  	div.style.marginBottom	= '3px';
	  	div.innerHTML			= 'Events on ' + theDate;
	  	
	  	//p.innerHTML = '<div style="font: bold 14px arial; margin-bottom: 3px;">Events on ' + theDate + '</div>';
	  	p.appendChild(div);
	  	
	  	e = events[0].getElementsByTagName("event");
	  	
	  	
	  	for(node = 0; node < e.length; node++) 
	  	{
	  		if(e[node]) {
  				title = e[node].getAttribute('title');
  				
  				if(e[node].firstChild) { 
  					textNode	= document.createElement('p');
  					textNode.innerHTML = '<strong>' + title + '</strong><br />' + e[node].firstChild.data + '<br /><br />';
  					p.appendChild(textNode);
  				} else if (title) { 
  					textNode	= document.createElement('p');
  					textNode.innerHTML = '<strong>' + title + '</strong><br />';
  					p.appendChild(textNode);
  				}
	  		}
  		}
  		
  		
  	}
  }
  
  if((months = request.responseXML.getElementsByTagName("month"))) {
  	if(months[0]) {
	  	mName 			= months[0].getAttribute('name');
  		mYear			= parseInt(months[0].getAttribute('year'));  	
  		document.getElementById('yearName').innerHTML = mYear;
  		document.getElementById('monthName').innerHTML = mName;
  		mMonth 			= parseInt(months[0].firstChild.data);
  	
  		top.prevYear = mYear - 1; 
  		top.nextYear = mYear + 1; 
   	 	top.curYear  = mYear;
   		top.curMonth = mMonth;
  
    
    	el = document.getElementById('innerThing');
    	el.innerHTML = '';
    	for(i = (mYear - 5); i < (mYear + 5); i++)
    	{
	    	el.innerHTML += '<a style="display: block;" href="#" onclick="goYear('+i+'); return false;">'+i+'</a>';
	    }
    
	  	top.nextMonth 	= ((mMonth + 1) > 12) ? 1 : (mMonth + 1);
	  	top.prevMonth 	= ((mMonth - 1) < 1)  ? 12  : mMonth - 1; 	
	  	
	  	document.getElementById('theedate').childNodes[0].href = '/pages/calendar/calendar.php?month='+mMonth+'&year=' + mYear;
  	}
  }
  
  if((cNodes = request.responseXML.getElementsByTagName("calendar"))) {	
  	if(cNodes[0]) {
	  	el = document.getElementById('days');
  		el.parentNode.innerHTML = '<table id="days" cellspacing=0 cellpadding=0>' + cNodes[0].firstChild.data + '</table>';
  	}
  }
 

  eNodes = request.responseXML.getElementsByTagName("error");
  if(eNodes && eNodes[0]) {
    alert(eNodes[0].firstChild.data);
    return false;
  }

  //alert(request.responseText);
  rNodes = request.responseXML.getElementsByTagName("result");
  for(node = 0; node < rNodes.length; node++)
  {
    if( (aNodes = rNodes[node].getElementsByTagName("action"))) {
      for(i = 0; i < aNodes.length; i++)
      {
        funcArray.push(aNodes[i].firstChild.data);
      }
    }
    if( (sNodes = rNodes[node].getElementsByTagName("string"))) {
      for(i = 0; i < sNodes.length; i++)
      {
        msgArray.push(sNodes[i].firstChild.data);
      }
    }
  }


  /** Display all the text... **/
  for(i = 0; i < msgArray.length; i++)
  {
    alert(msgArray[i]);
  }

  /** Now do all the functions... **/
  for(i = 0; i < funcArray.length; i++)
  {
    switch(funcArray[i])
    {
      case "reloadpage": window.location.reload(); break;
      default: break;
    }
  }
}

/** XML POST **/
function xmlPost(postURI, postData, postReturnHandler) {
  var postObj = false;
  if (window.XMLHttpRequest) {
    postObj = new XMLHttpRequest();
    if (postObj.overrideMimeType) { postObj.overrideMimeType('text/xml'); }
  } else if (window.ActiveXObject) {
    postObj = new ActiveXObject('Microsoft.XMLHTTP');
  }
  
  postObj.open('POST', postURI, true);
  postObj.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  postObj.onreadystatechange = function() {
    if (postObj.readyState == 4) {
      eval(postReturnHandler + '(postObj);');
    }
  }
  postObj.send(postData);
}


