/*********************************************************************

 *

 * Built to add to a modified 2000 Macromedia Flash Dispatcher -- a scriptable detector for Flash Player

 * This takes an object I build in the Dispatcher and creates diagnostics screens for display.

 * The original Dispatcher redirects to other locations. This version retains the info and displays it.

 * Dave Stacey

 *********************************************************************/





var gSWDispatchVars = new Object();

var MM_SWControlInstalled ;



// Build the gScreenItems object with all the text for the screen.

// Then write out the screen table



function checkDirector( contentVersion, installURL) {

/// From Macromedia Technote- 

//  http://www.macromedia.com/support/director/ts/documents/playerdetection.htm

	

	// Passed arguments - contentVersion

	if (contentVersion == null) {

		gSWDispatchVars.contentVersion = "8.5.1.106"

	} else {

		gSWDispatchVars.contentVersion = contentVersion ;

    }

	

	// Passed arguments - installURL

	if (installURL == null) {

	gSWDispatchVars.installURL = "http://www.macromedia.com/shockwave/download/" ;

	} else {

	gSWDispatchVars.installURL = installURL ;

    }





	// graphics: 

	var markCheckMark = '<' + 'img src=\"access/images/MarkCheck32.gif\" alt=\"checkmark\" >';

	var markCrossMark = '<' + 'img src=\"access/images/MarkCross32.gif\" alt=\"xmark\" >';

	var markQuestMark = '<' + 'img src=\"access/images/MarkQuest.gif\" alt=\"Qmark\" >';



	

	// Global Object for functions

 	gSWDispatchVars.ShockwaveLogo = '<'+'img src=\"access/images/icon_sw.gif\" alt=\"Shockwave\" >';

	gSWDispatchVars.plugInName = " Macromedia Shockwave Player " ;

	gSWDispatchVars.uninstallURL = "http://www.macromedia.com/support/shockwave/ts/documents/playerfaq.htm#10_2" ;

	gSWDispatchVars.DirSwFAQsURL = "http://sdc.shockwave.com/support/shockwave/faq.html" ;

	gSWDispatchVars.Technical_Message = GetSWTech() ;



	// SW Checker:

	var ShockMode = 0;

	

// 01- check for Navigator and director

	if (navigator.mimeTypes && navigator.mimeTypes["application/x-director"] && navigator.mimeTypes["application/x-director"].enabledPlugin) { 

 // 02- check for plugin and the version

		if (navigator.plugins && navigator.plugins["Shockwave for Director"] && (versionIndex = navigator.plugins["Shockwave for Director"].description.indexOf(".")) != - 1) {	

	// The Plugin Exists and has a description ...

		var versionString = navigator.plugins["Shockwave for Director"].description.substring(versionIndex-1, versionIndex);

		var subVersionString = navigator.plugins["Shockwave for Director"].description.substring(versionIndex+1, versionIndex+2);

		versionIndex = parseInt( versionString );

		subVersionIndex = parseInt(subVersionString);

		

		gSWDispatchVars.version = versionIndex ;

		gSWDispatchVars.subVersion = subVersionIndex ;

		

			if ( versionIndex == 8 ) {

				if (subVersionIndex >= 5) {

					ShockMode = 1;

				} else if ( versionIndex >8 ) {

					ShockMode = 1;

				}

			}

			

		}// close 02

	}// close Navigator check



	// Check for IE...

	if (navigator.userAgent && navigator.userAgent.indexOf("MSIE")>=0 

   && (navigator.userAgent.indexOf("Windows 95")>=0 || navigator.userAgent.indexOf("Windows 98")>=0 || navigator.userAgent.	indexOf("Windows NT")>=0 )) {

   

   		gSWDispatchVars.implementation = "ActiveX control";

		gSWDispatchVars.autoInstallable = true;

				 

// vars from SWDispatcher.vbs

		if (MM_SWControlInstalled != null )

		{ 	 

		ShockMode = 1;

		// SWDispatcher.vbs ran and found Object SWCtl.SWCtl.8.5

		gSWDispatchVars.installed = MM_SWControlInstalled;

		

		// unreliable-- gSWDispatchVars.version = MM_SWControlVersion;

		}

		

	} // Close Check for IE...



	if (ShockMode) {

	//---------// Version is GOOD

	gSWDispatchVars.ShockwaveOK = 1

	gSWDispatchVars.dirmarkStatusSym = markCheckMark ;

	gSWDispatchVars.commentText = " You have Shockwave Player" ;

	gSWDispatchVars.commentURL = gSWDispatchVars.DirSwFAQsURL ;

	writeFinal();

	}



	if (!ShockMode) {

	//---------// Version is NOT GOOD

	gSWDispatchVars.dirmarkStatusSym = markCrossMark ;

	gSWDispatchVars.commentText = " Get Shockwave Player" ;

	gSWDispatchVars.commentURL = gSWDispatchVars.installURL ;

	writeFinal() ;

	

	}

} // close checkDirector





function writeFinal() {

	///////////// Final READOUT 

		// Check Mark Graphic

		var htm = ""

		

		var htm = ' <tr> <td>' + gSWDispatchVars.dirmarkStatusSym + ' </td> ';

		

		// add Logo

		htm += ' <td>' + gSWDispatchVars.ShockwaveLogo + ' </td> ';

		

		// add Title

		htm += ' <td valign=\"bottom\">  <strong>'  + gSWDispatchVars.plugInName + ' </strong> ' ;

		

		// add spacer

		htm += ' <img src="access/images/spacer20T.gif" width="1" height="20" /> <br /> ' ;

		

		// add diagnostics Text

		htm += ' <a href=" ' + gSWDispatchVars.commentURL + ' " target="_blank"  title="commentText" > ' + gSWDispatchVars.commentText ;

		

		if ( gSWDispatchVars.version > "1" ) {

		 htm += " " + gSWDispatchVars.version ;

		}

		

		htm += '.</a> ';

		

		//if ( gSWDispatchVars.ShockwaveOK ) {

		// htm += GetSWHTML() ;

		//}

		

		//htm += GetSWHTML( "access/javascript/SelfChecker.dcr" ) ;

		

		GetSWHTML2 = AC_SW_RunContent (

			"ID","SelfChecker", 

			"width","75", 

			"height","15", 

			"src","access/javascript/SelfChecker", 

			"swRemote", "swSaveEnabled='false' swVolume='false' swRestart='false' swPausePlay='false' swFastForward='false' swContextMenu='true' ", 

			"swStretchStyle","none",

			"bgColor","#FFFFFF" );

		

		htm += GetSWHTML2 ;



		

		// add Requirements text

		htm +=  "<br />"  + gSWDispatchVars.Technical_Message + "</td>" + "</tr>"  ;

		

		// add MoreInfo text

		//htm +=  gScreenItems.More_Info + "</td>" + "</tr>" 

		

	document.write( htm ) ;



}



function GetSWHTML(url) {

var SWhtm = "" ;



	SWhtm += ' <OBJECT classid=\"clsid:166B1BCA-3F9C-11CF-8075-444553540000\" ' ;

	SWhtm += ' codebase=\"http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0\" ' ;

	SWhtm += ' ID=SelfChecker WIDTH=75 HEIGHT=15> ' ;

	SWhtm += ' <PARAM NAME=src VALUE=\"detect_Shockwave/SelfChecker.dcr\"> ' ;

	SWhtm += ' <PARAM NAME=swStretchStyle VALUE=none> ' ;

	SWhtm += ' <PARAM NAME=swRemote VALUE=\" ' ;

	SWhtm += ' swSaveEnabled=\"false\" swVolume=\"false\" swRestart=\"false\" swPausePlay=\"false" ' ;

	SWhtm +=  ' swFastForward=\"false\" swContextMenu=\"true\" ' ;

	SWhtm += ' >\n '  ;

	SWhtm += ' <EMBED SRC=\" ' + url + ' \" ' ;

	SWhtm += ' bgColor=#FFFFFF progress=FALSE logo=FALSE  WIDTH=60 HEIGHT=20 swStretchStyle=none ' ;

	SWhtm += 'swRemote=\" ' ;

	SWhtm += ' swSaveEnabled=\"false\" swVolume=\"false\" swRestart=\"false\" swPausePlay=\"false\" swFastForward=\"false\" swContextMenu=\"true\" ' ;

	SWhtm += ' TYPE=\"application/x-director\" PLUGINSPAGE= ' ;

	SWhtm += ' \"http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveDirector\"> '  ;

	SWhtm += ' </EMBED> ' ;

	SWhtm += ' </OBJECT> ' ;

	

	return SWhtm

}





		

function GetSWTech() {

	var htm = "" ;

	htm = ' Check your version of Shockwave.';

	htm += ' It should be greater than or equal to ' + gSWDispatchVars.contentVersion ;

	htm += '. If you have an old version you should  ';

	htm += ' <a href= \" ' + gSWDispatchVars.uninstallURL + ' \" target=\"_blank\"  title=  \"remove Shockwave\" > remove Shockwave</a> ';

	htm += ' and ';

	htm += ' <a href= \" ' + gSWDispatchVars.installURL + ' \" target="_blank\"  title=  \"reinstall Shockwave\" > reinstall</a> ';

	htm += ' the latest version. '			

		

		return htm

}



