//
//  Copyright (c) 2008 Evanscorp Pty. Limited.  All rights reserved.
//  Web site: http://www.evanscorp.com.au
//  e-mail: software@evanscorp.com.au
//
//  Redistribution and use in source and binary forms, with or without
//  modification, is not permitted without prior written permission.
//  For written permission, please contact Evanscorp: licensing@evanscorp.com.au
//

function CIE6Browser_newSOAPRequest()
{
  return (new ActiveXObject('Microsoft.XMLHTTP'));
}

function CIE7Browser_newSOAPRequest()
{
  return (new XMLHTTPRequest());
}

function CIEBrowser()
{
  this.newSOAPRequest = (window.XMLHTTPRequest) ? CIE7Browser_newSOAPRequest : CIE6Browser_newSOAPRequest;
}

function CFirefoxBrowser_newSOAPRequest()
{
  var newXMLHTTP = new XMLHttpRequest;
  if (newXMLHTTP.overrideMimeType) newXMLHTTP.overrideMimeType('text/html');
  
  return newXMLHTTP;
}

function CFirefoxBrowser()
{
}

function CGenericBrowser_newSOAPRequest()
{
  return (new XMLHttpRequest());
}

function CGenericBrowser()
{
}

CFirefoxBrowser.prototype.newSOAPRequest = CFirefoxBrowser_newSOAPRequest;
CIEBrowser.prototype.newSOAPRequest = CIE6Browser_newSOAPRequest;
CGenericBrowser.prototype.newSOAPRequest = CGenericBrowser_newSOAPRequest;

var gBrowser = null;

// Cannot use Opera because of its lousy implementation of the 'onunload' event
if (navigator.userAgent.toLowerCase().indexOf('opera') != -1) gBrowser = null; // Has to be done this way due to spoofing
else if (window.Iterator) gBrowser = new CFirefoxBrowser();
else if (document.compatMode && document.all) gBrowser = new CIEBrowser();
else if (window.XMLHttpRequest) gBrowser = new CGenericBrowser();


