/////////////////////////////////////////////////////////////
// Version 6    17th Apr 2006                              
//
// Added get URL over-ride  to force use of specific viewer
// to use type: 
//
// http://...../switch.htm?plugin=java/quicktime/shockwave
// 
// Be aware that this will only work from the Web not from the file system. 


var agt = navigator.userAgent.toLowerCase();
var ie  = (agt.indexOf("msie") != -1);
var ns  = (navigator.appName.indexOf("Netscape") != -1);
var win = ((agt.indexOf("win")!=-1) || (agt.indexOf("32bit")!=-1));
var mac =  (agt.indexOf("mac")!=-1);
var pluginlist="";

if (ie && win) { 
    pluginlist = detectIE("SWCtl.SWCtl","Shockwave Director") + 
    		 detectIE("QuickTimeCheckObject.QuickTimeCheck.1","QuickTime"); 
    }



if (ns || !win) {
	if (navigator.plugins) {
 	  for (i=0; i < navigator.plugins.length; i++ ) {
     	  if (navigator.plugins[i].name.indexOf("QuickTime") >= 0) {
		  pluginlist +="QuickTime,";
	 	  }
          if (navigator.plugins[i].name.indexOf("Shockwave for Director") >= 0) {
                  pluginlist +="Shockwave Director,";
		  }
 	  }
	}
   }


pluginlist += navigator.javaEnabled() ? "Java" : "";

//for (i=0; i < navigator.plugins.length; i++ ) {
//       document.writeln(navigator.plugins[i].name);
//       document.writeln("<BR>");
//     }


var wdth=600;
var hght=400;

var  _qt       ='<BR>Click and drag with the mouse to look around. Use Shift and Ctrl keys to zoom';
var  _java     ='<BR>Click and drag with the mouse to look around. Use A and Z keys to zoom.';
var  _shockwave='<BR>Click and drag with the mouse to look around. Use Shift and Ctrl keys to zoom';


var shock_button="Install Shockwave";
var java_button ="Install Java     ";
var quick_button="Install Quicktime";


if (pluginlist.indexOf("Shockwave Director")!=-1) {
   shock_button="Use Shockwave";
   }

if (pluginlist.indexOf("Java")!=-1){
   java_button ="Use Java     ";
   }
			
if (pluginlist.indexOf("QuickTime")!=-1){
   quick_button="Use Quicktime";
   } 


////////////////////////////////////////////////////////////////////////////////////////////


function detectIE(ClassID,name) { 
	result = false;
	document.write('<SCRIPT LANGUAGE=VBScript>\n on error resume next \n result = IsObject(CreateObject("' + ClassID + '"))</SCRIPT>\n');
	if (result) return name+',';
	else return ''; 
}


function detectNS(ClassID,name) {
   if (navigator.mimeTypes && navigator.mimeTypes.length){
       n = ""; if (nse.indexOf(ClassID) != -1) if (navigator.mimeTypes[ClassID].enabledPlugin != null) n = name+","; return n;
   }
}



////////////////////////////////////////////////////////////////////////////////////////////


function show3d(){

var viewer =ReadCookie('WhichPlugin' );
var plugin =getVar("plugin");


   if (plugin==""){
	if (viewer != "") {
	 switch (viewer.toLowerCase()) {
		case 'shockwave' : 	useshockwave();
		break;
		case 'java' :   	usejava();
 		break;
		case 'quicktime' :	usequicktime();
 		break;
	      }
	 }
	else
	 {
	 	if (pluginlist.indexOf("Director")!=-1) {
			useshockwave();
		} else {
			if (pluginlist.indexOf("Java")!=-1){
				usejava();
			} else {
				if (pluginlist.indexOf("QuickTime")!=-1){
					usequicktime();
				} else {
	                                useshockwave();
				   	
				}
  			}
		   }
	   } //end viewer else
	} else {

	     switch (plugin.toLowerCase()) {
	         case 'shockwave' : 	useshockwave();
	  	 break;
	         case 'java' :   	usejava();
 	       	 break;
	         case 'quicktime' :     usequicktime();
 	         break;
	 	}


	}//end plugin else
}




function ReadCookie(cookieName) {
 var theCookie=""+document.cookie;
 var ind=theCookie.indexOf(cookieName);
 if (ind==-1 || cookieName=="") return "";
 var ind1=theCookie.indexOf(';',ind);
 if (ind1==-1) ind1=theCookie.length; 
 return unescape(theCookie.substring(ind+cookieName.length+1,ind1));
}



function SetCookie(cookieName,cookieValue,nDays) {
 var today = new Date();
 var expire = new Date();
 if (nDays==null || nDays==0) nDays=1;
 expire.setTime(today.getTime() + 3600000*24*nDays);
 document.cookie = cookieName+"="+escape(cookieValue)
                 + ";expires="+expire.toGMTString();
}



function DeleteCookie(CookieName) {
   SetCookie(CookieName,"",-1);
}



function usejava(){
 document.getElementById('sbtn').value=shock_button;
 document.getElementById("sbtn").style.backgroundColor="White";
 document.getElementById('jbtn').value="Using Java";
 document.getElementById("jbtn").style.backgroundColor="gray"  
 document.getElementById('qbtn').value=quick_button;
 document.getElementById("qbtn").style.backgroundColor="white";
 document.getElementById('jg3d').innerHTML=_java;
}


function usequicktime(){
 document.getElementById('sbtn').value=shock_button;
 document.getElementById("sbtn").style.backgroundColor="white";
 document.getElementById('jbtn').value=java_button;
 document.getElementById("jbtn").style.backgroundColor="white"  
 document.getElementById('qbtn').value='Using Quicktime';
 document.getElementById("qbtn").style.backgroundColor="gray";
 document.getElementById('jg3d').innerHTML=_qt;
}


function useshockwave(){
 document.getElementById('sbtn').value='Using Shockwave';
 document.getElementById("sbtn").style.backgroundColor="gray";
 document.getElementById('jbtn').value=java_button;
 document.getElementById("jbtn").style.backgroundColor="white"  
 document.getElementById('qbtn').value=quick_button;
 document.getElementById("qbtn").style.backgroundColor="white";
 document.getElementById('jg3d').innerHTML=_shockwave;
}




function getVar(name)
         {
         get_string = document.location.search;         
         return_value = '';
         
         do { 
            name_index = get_string.indexOf(name + '=');
            
            if(name_index != -1)
              {
              get_string = get_string.substr(name_index + name.length + 1, get_string.length - name_index);
              
              end_of_value = get_string.indexOf('&');
              if(end_of_value != -1)                
                value = get_string.substr(0, end_of_value);                
              else                
                value = get_string;                
                
              if(return_value == '' || value == '')
                 return_value += value;
              else
                 return_value += ', ' + value;
              }
            } while(name_index != -1)
            

         space = return_value.indexOf('+');
         while(space != -1)
              { 
              return_value = return_value.substr(0, space) + ' ' + 
              return_value.substr(space + 1, return_value.length);
							 
              space = return_value.indexOf('+');
              }
          
         return(return_value);        
         }



function schedule(objectID, functionCall)
{
	if (document.getElementById(objectID))
	{
		eval(functionCall);
	}
	else
	{
		setTimeout("schedule('" + objectID + "', '" + functionCall + "')", 100);
	}
	
	return true;
}
