

var isflver = window.isflver || {};
isflver.utils = isflver.utils || {};
isflver.utils.flashsniffer = {
	lastMajorRelease: 9,
	installed: false,
	version: null,
	detect: function()
	{
		var fp,fpd,fAX;
		if (navigator.plugins && navigator.plugins.length)
		{
			fp = navigator.plugins["Shockwave Flash"];
			if (fp)
			{
				isflver.utils.flashsniffer.installed = true;
				if (fp.description)
				{
					fpd = fp.description;
					isflver.utils.flashsniffer.version = fpd.charAt(fpd.indexOf('.')-1);
				}
			}
			else
			{
				isflver.utils.flashsniffer.installed = false;
			}
			if (navigator.plugins["Shockwave Flash 2.0"]){
				isflver.utils.flashsniffer.installed = true;
				isflver.utils.flashsniffer.version = 2;
			}
		}
		else if (navigator.mimeTypes && navigator.mimeTypes.length)
		{
			fp = navigator.mimeTypes['application/x-shockwave-flash'];
			if (fp && fp.enabledPlugin)
			{
				isflver.utils.flashsniffer.installed = true;
			}
			else
			{
				isflver.utils.flashsniffer.installed = false;
			}
		}
		else
		{
			for(var i=isflver.utils.flashsniffer.lastMajorRelease;i>=2;i--)
			{
				try
				{
					fAX = new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+i);
					isflver.utils.flashsniffer.installed = true;
					isflver.utils.flashsniffer.version = i;
					break;
				}
				catch(e)
				{
				}
			}
			if(isflver.utils.flashsniffer.installed == null){
				try
				{
					fAX = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
					isflver.utils.flashsniffer.installed = true;
					isflver.utils.flashsniffer.version = 2;
				}
				catch(e)
				{
				}
			}
			if(isflver.utils.flashsniffer.installed == null)
			{
				isflver.utils.flashsniffer.installed = false;
			}
			fAX = null;
		}
	},
	isVersion: function(exactVersion)
	{
		return (isflver.utils.flashsniffer.version!=null && isflver.utils.flashsniffer.version==exactVersion);
	},
	isLatestVersion: function()
	{
		return (isflver.utils.flashsniffer.version!=null && isflver.utils.flashsniffer.version==isflver.utils.flashsniffer.lastMajorRelease);
	},
	meetsMinVersion: function(minVersion)
	{
		return (isflver.utils.flashsniffer.version!=null && isflver.utils.flashsniffer.version>=minVersion);
	}
};
isflver.utils.flashsniffer.detect();
