function browsersniffer(){
var thenavigator = navigator.appName.toLowerCase();
var theuseragent = navigator.userAgent.toLowerCase();

	if(theuseragent.indexOf('opera') != -1){
		this.name= "OP"
		this.fullname = "Opera"
		version = theuseragent
		x = version.indexOf('opera') + 5
		version = version.substring(x)
		x = version.indexOf('[')
		version = version.substring(0,x)
		version = parseFloat(version)
		this.version = version
	}
	else if(thenavigator.indexOf('microsoft internet explorer') != -1) {
		this.name = "MSIE"
		this.fullname = "Microsoft Internet Explorer"
		version = navigator.appVersion
		x = version.indexOf('MSIE') + 4
		version = version.substring(x)
		x = version.indexOf(';')
		version = version.substring(0,x)
		version = parseFloat(version)
		this.version = version
	}
	else if(theuseragent.indexOf('gecko/') != -1 && theuseragent.indexOf('netscape/') == -1){
		this.name= "MOZ"
		this.fullname = "Mozilla"
		version = theuseragent
		x = version.indexOf('rv:') + 3
		version = version.substring(x)
		x = version.indexOf(')')
		version = version.substring(0,x)
		version = parseFloat(version)
		this.version = version
	}
	else if(thenavigator.indexOf('netscape') != -1){
	this.name = "NS"
	this.fullname = "Netscape"
		if(theuseragent.indexOf('netscape/') != -1){
			var version = theuseragent
			x = theuseragent.indexOf('netscape/') + 9
			version = parseFloat(version.substring(x))
		}
		else if(theuseragent.indexOf('mozilla/') != -1){
			var version = theuseragent
			x = theuseragent.indexOf('mozilla/') + 8
			version = parseFloat(version.substring(x,eval(x+4)))
		}
	this.version = version
	}
	else {
	this.name = "UNK"
	this.fullname = "I don't know"
	}

	if(navigator.userAgent.indexOf('IRIX') != -1) { 
  		var OpSys = "Irix"; 
	}
	else if(navigator.userAgent.indexOf('Linux') != -1) { 
  		var OpSys = "LIN"; 
	}
	else if(navigator.userAgent.indexOf('Win') != -1) { 
  		var OpSys = "WIN"; 
	}
	else if(navigator.userAgent.indexOf('Mac') != -1) { 
  		var OpSys = "MAC"; 
	}
	else { 
  		var OpSys = "other"; 
	}
this.os = OpSys;
	
var result = false


	if (navigator.plugins && navigator.plugins["Shockwave Flash"]) {
		result = navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin;
		if(result) {
			result = navigator.plugins["Shockwave Flash"].description
			x = result.indexOf("Shockwave Flash") + 16
			result = parseFloat(result.substring(x,eval(x+4)))
			
		} 
	} 
	else if (document.all && (navigator.appVersion.indexOf("Mac")==-1)) {
	document.write('<span style="behavior:url(#default#clientCaps)" id="cc"></span>')
	eval ('try {var xObj = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");if (xObj)	result = cc.getComponentVersion("{D27CDB6E-AE6D-11cf-96B8-444553540000}", "componentid"); xObj = null;	} catch (e)	{}');
	if(result != false) {
	x = result.indexOf(",")
	resulta = result.substring(0,x)
	resultb = result.substring(eval(x+1))
	y = resultb.indexOf(",")
	resultb = resultb.substring(0,y)
	result = parseFloat(resulta + "." + resultb)
	}
	}
this.flashinstalled = result;

var result = false
var xObj = null
 
if (navigator.plugins && findnsplugins("Windows Media") != false) {
		result = findnsmimes("video/x-ms-asf-plugin")
		resultb = findnsmimes("video/x-ms-asf")
		if(result && resultb) {
			result = 6.4
		} 
	} 
	else if (document.all && (navigator.appVersion.indexOf("Mac")==-1)) {
	document.write('<object id="wmplayer" classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" codebase="#Version=6,2,5,715" width="1" height="1" style="visibility:hidden;position:absolute;"></object>')	
	if (wmplayer.volume) xObj = true
	if (xObj) {
		result = cc.getComponentVersion("{6BF52A52-394A-11D3-B153-00C04F79FAA6}", "componentid");
	if (result == "")
		result = cc.getComponentVersion("{22D6F312-B0F6-11D0-94AB-0080C74C7E95}", "componentid"); 
	}
	
	if(result != false) {
	x = result.indexOf(",")
	resulta = result.substring(0,x)
	resultb = result.substring(eval(x+1))
	y = resultb.indexOf(",")
	resultb = resultb.substring(0,y)
	result = parseFloat(resulta + "." + resultb)
	}
	}
this.wminstalled = result;

var result = false
var xObj = null
var temp = findnsplugins("RealPlayer")
if(!temp)
var temp = findnsplugins("rpnp.so")
var RealPlayer5=false
var RealPlayer4=false
var RealPlayerG2=false

 
if (navigator.plugins && (findnsplugins("RealPlayer") || findnsplugins("rpnp.so"))) {
		result = findnsmimes("audio/x-pn-realaudio")
		if(result) {
		if (temp.indexOf("G2") != -1)
			result = 6.0
		else
			result = 5.0
		} 
	} 
	else if (document.all && (navigator.appVersion.indexOf("Mac")==-1)) {
	RealPlayerG2 = detectActiveXControl('rmocx.RealPlayer G2 Control');
	RealPlayer5 = detectActiveXControl('RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)');
	RealPlayer4 = detectActiveXControl('RealVideo.RealVideo(tm) ActiveX Control (32-bit)');
	if (RealPlayerG2)
	result = 6.0
	else if (RealPlayer5)
	result = 5.0
	else if (RealPlayer4)
	result = 4.0
	}
this.realinstalled = result;

var result = false
var xObj = null
var quicktimeVersion = false
 
if (navigator.plugins && findnsplugins("QuickTime") != false) {
		result = findnsmimes("video/quicktime")
		if(result) {
			result = findnsplugins("QuickTime")
			result = parseFloat(result.substring(18));
		} 
	} 
	else if (document.all && (navigator.appVersion.indexOf("Mac")==-1)) {
	
	document.write('<scr' + 'ipt language="VBScript"\> \n');
	document.write('on error resume next \n');
	document.write('dim obQuicktime \n');
	document.write('set obQuicktime = CreateObject("QuickTimeCheckObject.QuickTimeCheck.1") \n');
	document.write('if IsObject(obQuicktime) then \n');
	document.write('   if obQuicktime.IsQuickTimeAvailable(0) then \n');
	document.write('      quicktimeVersion = CInt(Hex(obQuicktime.QuickTimeVersion) / 1000000) \n');
	document.write('   end if \n');
	document.write('end if \n');
	document.write('</scr' + 'ipt\> \n');
	
	result = quicktimeVersion
	}
this.qtinstalled = result;

this.write = writeinfo
}

function writeinfo() {
	document.write("Name: " + this.name);
	document.write("<br>FullName: ")
	document.write(this.fullname);
	document.write("<br>Version: ")
	document.write(this.version);
	document.write("<br>OS: ")
	document.write(this.os);
	document.write("<br>Flash Installed: ")
	document.write(this.flashinstalled);
	document.write("<br>WM Installed: ")
	document.write(this.wminstalled);
	document.write("<br>Real Installed: ")
	document.write(this.realinstalled);
	document.write("<br>QT Installed: ")
	document.write(this.qtinstalled);
	document.write("<br>UserAgent: ")
	document.write(navigator.userAgent);
}

function findnsplugins(what) {
for (i = 0; i < navigator.plugins.length; i++) {
    if (navigator.plugins[i].name.indexOf(what) != -1)
	return navigator.plugins[i].name
  }
return false
}

function findnsmimes(what) {
for (i = 0; i < navigator.mimeTypes.length; i++) {
    if (navigator.mimeTypes[i].type.indexOf(what) != -1)
	return true
  }
return false
}

if ((navigator.userAgent.indexOf('MSIE') != -1) && (navigator.userAgent.indexOf('Win') != -1)) {
    document.writeln('<script language="VBscript">');

    document.writeln('\'do a one-time test for a version of VBScript that can handle this code');
    document.writeln('detectableWithVB = False');
    document.writeln('If ScriptEngineMajorVersion >= 2 then');
    document.writeln('  detectableWithVB = True');
    document.writeln('End If');

    document.writeln('\'this next function will detect most plugins');
    document.writeln('Function detectActiveXControl(activeXControlName)');
    document.writeln('  on error resume next');
    document.writeln('  detectActiveXControl = False');
    document.writeln('  If detectableWithVB Then');
    document.writeln('     detectActiveXControl = IsObject(CreateObject(activeXControlName))');
    document.writeln('  End If');
    document.writeln('End Function');

    document.writeln('\'and the following function handles QuickTime');
    document.writeln('Function detectQuickTimeActiveXControl()');
    document.writeln('  on error resume next');
    document.writeln('  detectQuickTimeActiveXControl = False');
    document.writeln('  If detectableWithVB Then');
    document.writeln('    detectQuickTimeActiveXControl = False');
    document.writeln('    hasQuickTimeChecker = false');
    document.writeln('    Set hasQuickTimeChecker = CreateObject("QuickTimeCheckObject.QuickTimeCheck.1")');
    document.writeln('    If IsObject(hasQuickTimeChecker) Then');
    document.writeln('      If hasQuickTimeChecker.IsQuickTimeAvailable(0) Then ');
    document.writeln('        detectQuickTimeActiveXControl = True');
    document.writeln('      End If');
    document.writeln('    End If');
    document.writeln('  End If');
    document.writeln('End Function');

    document.writeln('</scr' + 'ipt>');
}
