<?xml version="1.0" encoding="utf-8"?>
<plugin compatible="108">
	<panel caption="CD Ejector" description="Ejects the CD drive." category="system_cat" categoryIcon="basicpanels.dll,254,7" author="GoMa">
		<canvas layout="docklayout">
			<listoutput id="main" click="onClick" />
		</canvas>
		<script>
		<![CDATA[

		/******** Without Windows Media Player (OLD - only eject) *******
		var fso = new ActiveXObject("Scripting.FileSystemObject");
		var shell = new ActiveXObject("Shell.Application");
		
		fillDriveList();

		function fillDriveList()
		{
			var e = new Enumerator(fso.Drives);
			var current;
			var row;
			for(; !e.atEnd(); e.moveNext())
			{
				current = e.item();
				if(current.DriveType == 4)
				{
					var row = GetControl("main").AddRow();
					row.SetText("Toggle drive " + current.DriveLetter + ":\\");
					row.SetUserData2(0, current.DriveLetter);
				}
					
				
			}
		}

		function onClick(listOutput, row)
		{
			//sidebar.MsgBox("test", row.GetUserData2(0), 0);
			var drive = row.GetUserData2(0) + ":\\";
			shell.Namespace(17).ParseName(drive).InvokeVerb("E&ject");
		}
		********/
		
		var wmp = new ActiveXObject("WMPlayer.OCX.7");

		fillDriveList();

		function fillDriveList()
		{
			cdDrives = wmp.cdromCollection;
			var specifier;
			var row;
			for(var i = 0; i < cdDrives.Count; i++)
			{
				row = GetControl("main").AddRow();
				specifier = cdDrives.item(i).driveSpecifier;
				row.SetText("Toggle drive " + specifier);
				row.SetUserData2(0, specifier);
			}
		}

		function onClick(listOutput, row)
		{
			var specifier = row.GetUserData2(0);
			wmp.cdromCollection.getByDriveSpecifier(specifier).eject();
		}

		]]>
		</script>
	</panel>
</plugin>