function Plugin()
{
	this.Exists				= false;
	this.FullVersion		= "0.0.0";
	this.MajorVersion		= 0;
	this.MinorVersion		= 0;
	this.RevisionVersion	= 0;
}

//*** Support Deteections

var FlashPlugin 		= new Plugin();
var QuicktimePlugin		= new Plugin();
var WindowsMediaPlugin 	= new Plugin();

//*** Browser Detection

var isIE 	= (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin 	= (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera	= (navigator.userAgent.indexOf("Opera") != -1) ? true : false;

// *** Plugin Detection Functions

function GetFlashPluginInfo()
{
	var obj = new Plugin();
	
	if (isIE && isWin && !isOpera) 
	{
		for ( var i=25; i>0; i-- ) 
		{	
			var ver = GetFlashVersionVB(i);
			if( ver != null )
			{
				obj.Exists	= true;
				try
				{
					var tempArray		= ver.split(" ");
					var tempString		= tempArray[1];
					var versionArray	= tempString .split(",");				
					obj.MajorVersion	= versionArray[0];
					obj.MinorVersion	= versionArray[1];
					obj.RevisionVersion	= versionArray[2];
					obj.FullVersion		= obj.MajorVersion + "." + obj.MinorVersion + "." + obj.RevisionVersion;
					}
				catch(e){}
				break;
			}	
		}
	} 
	else 
	{
		if ( navigator.plugins != null && navigator.plugins.length > 0 && ( navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"] ) )
		{
			obj.Exists	= true;
			try
			{
				var ver 			= navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
				var descArray 		= navigator.plugins["Shockwave Flash" + ver].description.split(" ");
				var tempArrayMajor 	= descArray[2].split(".");
				obj.MajorVersion	= tempArrayMajor[0];
				obj.MinorVersion	= tempArrayMajor[1];
				if ( descArray[3] != "" ) tempArrayMinor = descArray[3].split("r");
				else tempArrayMinor = descArray[4].split("r");
				obj.RevisionVersion = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0;
				obj.FullVersion		= obj.MajorVersion + "." + obj.MinorVersion + "." + obj.RevisionVersion;
			}
			catch(e){}
	    } 
	}
	
	return obj;
} 

function GetWindowsMediaPluginInfo()
{
	var obj = new Plugin();
	
	if (isIE && isWin && !isOpera) 
	{
		var ver	= GetWindowsMediaVersionVB();
		if( ver != null )
		{
			obj.Exists	= true;
			try
			{
				temp 				= ver.split(".");
				obj.MajorVersion 	= temp[0];
				obj.MinorVersion	= temp[1];
				obj.RevisionVersion	= temp[2];
				obj.FullVersion		= obj.MajorVersion + "." + obj.MinorVersion + "." + obj.RevisionVersion;
			}
			catch(e){}
		}
	} 
	else 
	{
		try
		{
			var name 	= navigator.mimeTypes["application/x-mplayer2"].enabledPlugin.name;
			//START-->Added by Hemant Angane on 5 feb 2007 for SFE ID 248
			var fHasMP1  = false;
			var fHasMP   = false;
			var fHasMP2  = false;
			if (typeof(WMPlay) != "undefined")
			{
				fHasMP2 = (WMPlay.FileName == "");
			}

			fHasMP1  =  navigator.mimeTypes && navigator.mimeTypes["video/x-ms-wm"] && navigator.mimeTypes["video/x-ms-wm"].enabledPlugin;
			fHasMP  = fHasMP1  || fHasMP2;
			
			if (fHasMP)
			{
				//alert("You have Microsoft Windows Media Player version 6.2 or later.");
			obj.MajorVersion = 10;
			}
			else
			{
				//alert("You do not have Microsoft Windows Media Player version 6.2 or later.");
			}

			//END-->Added by Hemant Angane on 5 feb 2007 for SFE ID 248
			obj.Exists	= true;
		}
		catch(e){}
	}
	
	return obj;
}


function GetQuicktimePluginInfo() 
{

	var obj = new Plugin();
	
	if (isIE && isWin && !isOpera) 
	{
		var ver = GetQuicktimeVersionVB();
		if( ver != null )
		{
			obj.Exists	= true;
			try
			{
				while( ver.length < 3 ) ver = ver + "0";
				obj.MajorVersion	= ver.toString().charAt(0);
				obj.MinorVersion	= ver.toString().charAt(1);
				obj.RevisionVersion	= ver.toString().charAt(2);
				obj.FullVersion		= obj.MajorVersion + "." + obj.MinorVersion + "." + obj.RevisionVersion;
			}
			catch(e){}
		}	
	} 
	else 
	{
		for (i=0; i < navigator.plugins.length; i++ ) 
		{
			var plugin = navigator.plugins[i];
			if (plugin.name.indexOf("QuickTime") > -1)
			{
				obj.Exists 			= true;
				ver 				= plugin.name.substring(18);
				versionArray		= ver.split(".");
				obj.MajorVersion	= versionArray[0];
				if( versionArray[1] ) obj.MinorVersion		= versionArray[1];
				if( versionArray[2] ) obj.RevisionVersion	= versionArray[2];
				obj.FullVersion 	= obj.MajorVersion + "." + obj.MinorVersion + "." + obj.RevisionVersion;;
			}
		}
	}
	
	return obj;
}

function GetJavaPluginInfo() 
{

	var obj = new Plugin();
	
	if (isIE && isWin && !isOpera) 
	{
		// not implemented
	} 
	else 
	{
		for (i=0; i < navigator.plugins.length; i++ ) 
		{
			var plugin = navigator.plugins[i];
			if (plugin.name.indexOf("QuickTime") > -1)
			{
				obj.Exists 			= true;
				ver 				= plugin.name.substring(18);
				versionArray		= ver.split(".");
				obj.MajorVersion	= versionArray[0];
				if( versionArray[1] ) obj.MinorVersion		= versionArray[1];
				if( versionArray[2] ) obj.RevisionVersion	= versionArray[2];
				obj.FullVersion 	= obj.MajorVersion + "." + obj.MinorVersion + "." + obj.RevisionVersion;;
			}
		}
	}
	
	return obj;
}
