// File: xhr.js

var piIsIE = (pi_browser_type() == "IE");
var piIsFF = (pi_browser_type() == "FF");

// Create XMLHttpRequest object in
// browser-independent fashion
function getHTTPObject () {
   var xhr = null;
   if(window.XMLHttpRequest) {
      try {
         xhr = new XMLHttpRequest( );
      }
      catch (e) {
         xhr = null;
      }
   }
   else if (window.ActiveXObject) {
      try {
         xhr = new ActiveXObject("MSXML2.XMLHTTP.3.0");
      }
      catch (e) {
         try {
            xhr = new ActiveXObject("Microsoft.XMLHTTP");
         }
         catch (e) {
            xhr = null;
         }
      }
   }
   return xhr;
}

// Remove HTML tags from a string
function stripHTML (str) {
   return str.replace(/(<([^>]+)>)/ig,"");
}

// Get event object in a platform independent manner
function pi_event (evt) {
   return ((evt)? evt : ((window.event)? event : null));
}

// Get object that received event in a platform independent manner
function pi_event_obj (evt) {
   var ev = pi_event(evt);
   return ((ev.target)? ev.target : ev.srcElement);
}

// Get browser type:
//  IE: Internet Explorer
//  FF: Firefox
//  NN: Netscape Navigator
//  MZ: Mozilla
//  OP: Opera
function pi_browser_type () {
   if (navigator.userAgent.indexOf("Opera") != -1) return "OP";
   if (navigator.appName == "Netscape") {
      if (navigator.userAgent.indexOf("Firefox") != -1) return "FF";
      if (navigator.userAgent.indexOf("Mozilla") != -1) return "MZ";
      if (navigator.userAgent.indexOf("Netscape") != -1) return "NN";
   }
   else if (navigator.appName == "Microsoft Internet Explorer") return "IE";
}
