/***********************************************
* Dynamic Ajax Content- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/

var bustcachevar=1 //bust potential caching of external pages after initial request? (1=yes, 0=no)
var loadedobjects=""
var rootdomain="http://"+window.location.hostname
var bustcacheparameter=""

function ajaxpage(url, containerid){
  var page_request = false
  if (window.XMLHttpRequest) // if Mozilla, Safari etc
    page_request = new XMLHttpRequest()
  else if (window.ActiveXObject){ // if IE
    try {
      page_request = new ActiveXObject("Msxml2.XMLHTTP")
    } 
    catch (e){
      try{
        page_request = new ActiveXObject("Microsoft.XMLHTTP")
      }
      catch (e){}
    }
  } else return false;
  page_request.onreadystatechange=function(){
    loadpage(page_request, containerid)
  }
  if (bustcachevar) //if bust caching of external page
    bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime();
  page_request.open('GET', url+bustcacheparameter, true);
  page_request.send(null);
}

function loadpage(page_request, containerid){
  if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1)){
    document.getElementById(containerid).innerHTML=page_request.responseText
  }
}

function loadobjs(){
  if (!document.getElementById)return;
  for (i=0; i<arguments.length; i++){
    var file=arguments[i];
    var fileref="";
    if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding
      if (file.indexOf(".js")!=-1){ //If object is a js file
        fileref=document.createElement('script');
        fileref.setAttribute("type","text/javascript");
        fileref.setAttribute("src", file);
      } else if (file.indexOf(".css")!=-1){ //If object is a css file
        fileref=document.createElement("link");
        fileref.setAttribute("rel", "stylesheet");
        fileref.setAttribute("type", "text/css");
        fileref.setAttribute("href", file);
      }
    }
    if (fileref!=""){
      document.getElementsByTagName("head").item(0).appendChild(fileref)
      loadedobjects+=file+" " //Remember this object as being already added to page
    }
  }
}
var ajax_browser='not set';
function AJAX_makeRequest(url,callbackFunc,callbackparam) {
  var httpRequest;

  if (window.XMLHttpRequest) { // Mozilla, Safari, ...
    ajax_browser='Mozilla, Safari';
    httpRequest = new XMLHttpRequest();
    if (httpRequest.overrideMimeType) {
//        httpRequest.overrideMimeType('text/xml');
        // See note below about this line
    }
  } 
  else if (window.ActiveXObject) { // IE
    ajax_browser='IE';
    try {
      httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
    } 
    catch (e) {
      try {
        httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch (e) {
        ajax_browser='IE +no ajax support';
        return false;
      }//catch 2
    }//catch 1
  }else{//if IE
    ajax_browser='No ajax at all';
    return false;
  }

  if (!httpRequest) {
//    alert('Giving up :( Cannot create an XMLHTTP instance');
    return false;
  }
  httpRequest.onreadystatechange = function() {
//    eval(callbackFunc+'(httpRequest)');
    try{
      switch(httpRequest.readyState) {
        case 0 : //uninitialized 
        break;
        case 1 : //loading
        break;
        case 2 : //loaded
        break;
        case 3 : //interactive
        break;
        case 4 :// everything is good, the response is received
          if (httpRequest.status == 200) {
//            document.getElementById('ajax_span').innerHTML=httpRequest.responseText;
          callbackFunc(httpRequest,callbackparam);
            // perfect!
          } else {
//            alert('There was a problem with the request.');
            return false;
            // there was a problem with the request,
            // for example the response may be a 404 (Not Found)
            // or 500 (Internal Server Error) response codes
          }
        break;
      }//switch
    }
    catch(e) {
//      alert('Caught Exception: ' + e.description);
    }
  };

  httpRequest.open('GET', url, true);
  httpRequest.send(null);
  return true;

}
function xml_new_messages(msginfo_node){
  var hasmail=msginfo_node.getElementsByTagName('hasmail').item(0);
  var msgnum=msginfo_node.getElementsByTagName('msgnum').item(0);
  var new_msg_icon=document.getElementById('new_msg_icon');
  new_msg_icon.style.display=(msgnum.firstChild.data>0?'':'none');
  new_msg_icon.setAttribute("title","You have "+msgnum.firstChild.data+" new messages");
  new_msg_icon.setAttribute("alt","You have "+msgnum.firstChild.data+" new messages");
  n=msgnum.firstChild.data.valueOf();
//  if(n>0 && !getCookie('salert',0)){
//  alert(getCookie('salert',0));
  var alerted=(getCookie('salert',0)==1);
  if(n>0 && !alerted){
    soundAlert('/mp3/newmail.mp3');
    setCookie('salert','1',3600);
  }
//  alert('play');
//  alert(msgnum.firstChild.data);
}
function xml_usersinfo(usersinfo_node){
  var ou_count=usersinfo_node.getElementsByTagName('onlineusers').item(0);
  var og_count=usersinfo_node.getElementsByTagName('onlineguests').item(0);
  var online_guests=document.getElementById('online_guests');
  var online_users=document.getElementById('online_users');
  online_users.innerHTML=ou_count.firstChild.data;
  online_guests.innerHTML=og_count.firstChild.data;
//  alert(ou_count.firstChild.data);
}
