var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();

    function loadXMLString(txt) 
    {
    try //Internet Explorer
      {
      xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
      xmlDoc.async="false";
      xmlDoc.loadXML(txt);
      return(xmlDoc); 
      }
    catch(e)
      {
      try //Firefox, Mozilla, Opera, etc.
        {
        parser=new DOMParser();
        xmlDoc=parser.parseFromString(txt,"text/xml");
        return(xmlDoc);
        }
      catch(e) {alert(e.message)}
      }
    return(null);
    }

  function Ajax1(url)
  {
    this.url = url;
    this.method = "POST";
    this.xmlHttp = null;
    this.request = '';
    this.response = "";
    this.isFirefox = 'false';
    this.documentElement = null;

    this.Create = function()
    {
      try
      {      
        this.xmlHttp = new XMLHttpRequest();        
          this.isFirefox = 'false';
      }
      catch(e)
      {
        try
        {
          this.xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch(e)
        {
          try
          {
            this.xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
          }
          catch(e)
          {
            alert("Your browse does not support AJAX!");
            return false;
          }
        }        
      }
    };

	this.OnComplete = function()
	  {
	  }; 

    this.Run = function()
    {
      var self = this;
      this.xmlHttp.onreadystatechange = function()
      {
        switch(self.xmlHttp.readyState)
        {
          case 4:
                
                switch(BrowserDetect.browser)
                {
                    case "Firefox":
                        self.response = self.xmlHttp.responseXML.childNodes.item("string").childNodes.item(0).nodeValue;        
                        break;
                    case "Explorer":
                        self.response = self.xmlHttp.responseXML.documentElement.childNodes.item(0).text;            
                        break;
                    default:
                        try
                        {
                            self.response = self.xmlHttp.responseXML.childNodes.item("string").childNodes.item(0).nodeValue;                                    
                        }
                        catch(ex)
                        {
                            self.response = self.xmlHttp.responseXML.documentElement.childNodes.item(0).text;            
                        }
                }          
                self.OnComplete();
                break;
        }
      };
      this.xmlHttp.open(this.method,this.url,true);
	  this.xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
      this.xmlHttp.send(this.request);

    };
    this.Create();
  }
function setCookie(c_name,value,expiredays)
{
    var exdate=new Date();
    exdate.setDate(exdate.getDate()+expiredays);
    document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}
function getCookie(c_name)
{
    if (document.cookie.length>0)
    {
        c_start=document.cookie.indexOf(c_name + "=");
        if (c_start!=-1)
        { 
            c_start=c_start + c_name.length+1; 
            c_end=document.cookie.indexOf(";",c_start);
            if (c_end==-1) c_end=document.cookie.length;
            return unescape(document.cookie.substring(c_start,c_end));
        } 
    }                
    return "";
}