// StatsSniffer Class

// constructor
	function StatsSniffer()
	{
		// Get Browser Information
			var statsUserAgent = navigator.userAgent;
			statsUserAgent = statsUserAgent.toLowerCase();
			var statsIsIE  = (statsUserAgent.indexOf("msie") > -1);
			var statsIsOpera  = (statsIsIE && (statsUserAgent.indexOf("opera") > -1));
			if (statsIsOpera) statsIsIE = false;
			var statsIsMZ  = ((statsUserAgent.indexOf("mozilla") > -1) && !statsIsIE);
			var statsIsWin = ((statsUserAgent.indexOf("win") > -1) || (statsUserAgent.indexOf("32bit") > -1));

		// screen width and height
			this.w = screen.width;
			this.h = screen.height;

		// referrer
			this.referrer = document.referrer;

		// java
			if (navigator.javaEnabled())
				this.j = 1;
			else
			{
				if (!navigator.javaEnabled)
					this.j = 0;
				else
					this.j = 1;
			}

		// cookies
			if (navigator.cookieEnabled)
				this.c = 1;
			else if (typeof (navigator.cookieEnabled) == "undefined")
			{
				this.c = 1; // assume true

				if (document.cookie == '') 
				{
					document.cookie = 'AcceptsCookiesCheck=yes';

					if(document.cookie.indexOf('AcceptsCookiesCheck=yes') == -1) 
						this.c = 0;
				}
			}
			else
				this.c = 0;

		// detect flash and pdf

			this.f = 0;
			this.pdf = 0;

			if (statsIsIE && statsIsWin) // if ie and windows
			{
				this.f = (this.StatsDetectIE("SWCtl.SWCtl.1") || this.StatsDetectIE("ShockwaveFlash.ShockwaveFlash.1"));
				this.pdf = (this.StatsDetectIE("PDF.PdfCtrl.1") || this.StatsDetectIE('PDF.PdfCtrl.5') || this.StatsDetectIE('PDF.PdfCtrl.6') || this.StatsDetectIE('AcroExch.Document'));

				/*var TRKrp  = awstats_detectIE("rmocx.RealPlayer G2 Control.1"); var TRKmov = awstats_detectIE("QuickTimeCheckObject.QuickTimeCheck.1"); var TRKwma = awstats_detectIE("MediaPlayer.MediaPlayer.1")*/
			}
			else if (statsIsOpera || statsIsMZ || !statsIsWin) // if mozilla or isn't windows
			{
				var theMimetypes = ""; 

				for (var StatsI = 0; StatsI < navigator.mimeTypes.length; StatsI++)
					theMimetypes += navigator.mimeTypes[StatsI].type.toLowerCase();

				this.f = (this.StatsDetectMZ("application/x-director",theMimetypes) || this.StatsDetectMZ("application/x-shockwave-flash",theMimetypes));
				this.pdf = this.StatsDetectMZ("application/pdf",theMimetypes);

				/*var TRKrp  = awstats_detectNS("audio/x-pn-realaudio-plugin"); var TRKmov = awstats_detectNS("video/quicktime"); var TRKwma = awstats_detectNS("application/x-mplayer2")*/
			}
		
		// get appMinorVersion
			this.v = "";

			if (statsIsIE && statsIsWin)
			{
				if (navigator["appMinorVersion"])
					this.v = navigator["appMinorVersion"];
			}

	}

	StatsSniffer.prototype.StatsDetectIE = function(obj)
	{
		var StatsIEResult = ObjCreate(obj);

		return StatsIEResult;
	}

	StatsSniffer.prototype.StatsDetectMZ = function (obj,theMimetypes) 
	{
		var StatsMZResult = 0;
		if (theMimetypes.indexOf(obj) != -1)
		{
			if (navigator.mimeTypes[obj].enabledPlugin != null) 
				StatsMZResult = 1;
		}
		return StatsMZResult;
	}

