var isTesting = false;
var root = findRoot();

var isFF = false;
var isIE = false;
var isIE6 = false;
var isOpera = false;
var isSafari = false;
var isWin = false;
var isMac = false;
//now find out which browser is being used
wbrowsertype();

var hasFlash = DetectFlashVer(9, 0, 0);
var myLightbox;
var flashBoxHTML = "";
var flashBoxDescription = "";

function findRoot(){
	var rootPath = "";
	var currentLocation = String(window.location);
	var onlineTest = currentLocation.split(":");
	var folders = currentLocation.split("/");
	var homeTarget = "";
	if(onlineTest[0] == "file"){
		isTesting = true;
		homeTarget = folders[5];
	}
	else{
		homeTarget = folders[2];
	}
	if(folders[folders.length - 1] == homeTarget || folders[folders.length - 2] == homeTarget){
		return rootPath;
	}
	else{
		for(var i = folders.length - 2;folders[i]!=homeTarget;i--){
			rootPath += "../";
		}
	}
	return rootPath;
}

function findSettings(){
	if(!isTesting){
		return 'sameDomain';
	}
	else{
		return 	'always';
	}
}

function wbrowsertype() {
	browser_detect = navigator.userAgent.toLowerCase();

	// MAC OS
	if ((browser_detect.indexOf("macintosh") + 1)) {
		isMac = true;
	}
	if((browser_detect.indexOf("win") + 1)){
		isWin = true;
	}
	
	if ((browser_detect.indexOf("firefox") + 1)) { 
		btfound = 1; 
		isFF = true; 
	}
	else if ((browser_detect.indexOf("msie") + 1)) { 
		btfound = 1; 
		isIE = true;
	}
	else if ((browser_detect.indexOf("opera") + 1)) { 
		btfound = 1; 
		isOpera = true; 
	}
	else if ((browser_detect.indexOf("safari") + 1)) { 
		btfound = 1; 
		isSafari = false; 
	}
	else if ((browser_detect.indexOf("mac_powerpc") + 1)) { 
		btfound = 1; 
		isIE = true;
	}
	
	if(isIE){
		if(navigator.appVersion.toLowerCase().indexOf("msie 6") + 1){
			isIE6 = true;
		}
	}
}

function resizeDiv(targetId,widthId,heightId){
	var target = document.getElementById(targetId);
	var widthField = document.getElementById(widthId);
	var heightField = document.getElementById(heightId);
	var width = widthField.value;
	var height = heightField.value;
	if(target){
		if(width != null && width > 0){
			target.style.width = width + "px";
			flashMovie('resizeable_3').width = width;
		}
		if(height != null && height > 0){
			target.style.height = height + "px";
			flashMovie('resizeable_3').height = height;	
		}
	}
}

function toggleVisible(elemName){
	var elem = document.getElementById(elemName);
	if(elem){
		if(elem.style.display == "block"){
			elem.style.display = "none";	
		}
		else{
			elem.style.display = "block";	
		}
	}
}

function setOver(image){
	image.src = image.src.replace(".png","_over.png");	
}

function setOut(image){
	image.src = image.src.replace("_over","");	
}

function flashBox(moviePath,width,height,description){
	var movieName = "smallPlayer.swf";
	if(width > 400){
		movieName = "largePlayer.swf";	
	}
	flashBoxHTML = "";
	flashBoxHTML += "<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0' width='" + width + "' height='" + height + "' id='dynFlash' align='middle' VIEWASTEXT>";
	flashBoxHTML += "<param name='allowScriptAccess' value=" + findSettings() +" />";
	flashBoxHTML += "<param name='allowFullScreen' value='false' />";
	flashBoxHTML += "<param name='wmode' value='transparent' />";
	flashBoxHTML += "<param name='flashvars' value='video=" + moviePath + "' />";
	flashBoxHTML += "<param name='movie' value='" + root + movieName + "' /><param name='quality' value='high' />";
	flashBoxHTML += "<embed src='" + root + movieName + "' quality='high' name='dynFlash' flashvars='video=" + moviePath + "' align='middle' width='" + width + "' height='" + height + "' allowScriptAccess=" + findSettings() + " allowFullScreen='false' type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer' />";
	flashBoxHTML += "</object>";
	if(description){
		flashBoxDescription = description;
	}
	else{
		flashBoxDescription = "";	
	}
	myLightbox.startFlash(width,height);
}

function renderTopNav(pathToXML){
	var html = "";
	var securitySettings = findSettings();
	var width = "710";
	var height = "330";
	var externalAlerts = false;
	if(!pathToXML){
		pathToXML = '';	
	}
	if(hasFlash){
		html += "<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' align='center' valign='top' width='" + width + "' height='" + height + "' id='flashTopNav'>";
		html += "<param name='allowScriptAccess' value='" + securitySettings + "' />";
		html += "<param name='movie' value='" + root + "TopNav.swf' />";
		html += "<param name='quality' value='high' />";
		html += "<param name='wmode' value='transparent' />";
		html += "<param name='scale' value='noscale'/>";
		html += "<param name='flashVars' value='xmlPath=" + pathToXML + "&rootPath=" + root + "&isIE=" + isIE + "&isOpera=" + isOpera + "&isMac=" + isMac + "&external=" + externalAlerts + "' />";
		html += "<embed src='" + root + "TopNav.swf' flashVars='xmlPath=" + pathToXML + "&rootPath=" + root + "&isIE=" + isIE + "&isOpera=" + isOpera + "&isMac=" + isMac + "&external=" + externalAlerts + "' wmode='transparent' quality='high' width='" + width + "' height='" + height + "' name='flashTopNav' allowScriptAccess='" + securitySettings + "' type='application/x-shockwave-flash' scale='noscale' pluginspage='http://www.macromedia.com/go/getflashplayer' />";
		html += "</object>";
	}
	else{
		html += "<table cellpadding='0' cellspacing='0' border='0' id='topNavTable'>";
		html += "<tr><td><img src='" + root + "images/logo.png' width='171' height='156' /></td>"
		html += "<td rowspan='7' id='topNavTableContent'>";
		html += "This site requires Flash Player version 9 or higher. <a href='http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash' target='_blank'>Download Flash Player</a>";
		html += "</td></tr>";
		html += "<tr><td class='navLink'><a href='" + root + "index.html'>";
		html += "<img src='" + root + "images/home.png' onmouseover='setOver(this)' onmouseout='setOut(this)' class='navLink' /></a></td></tr>";
		html += "<tr><td class='navLink'><a href='" + root + "flash/flash.html''>";
		html += "<img src='" + root + "images/flash.png' onmouseover='setOver(this)' onmouseout='setOut(this)' class='navLink' /></a></td></tr>";
		html += "<tr><td class='navLink'><a href='" + root + "web/web.html'>";
		html += "<img src='" + root + "images/web.png' onmouseover='setOver(this)' onmouseout='setOut(this)' class='navLink' /></a></td></tr>";
		html += "<tr><td class='navLink'><a href='" + root + "art/art.html'>";
		html += "<img src='" + root + "images/art.png' onmouseover='setOver(this)' onmouseout='setOut(this)' class='navLink' /></a></td></tr>";
		html += "<tr><td class='navLink'><a href='" + root + "3d/3d.html'>";
		html += "<img src='" + root + "images/3d.png' onmouseover='setOver(this)' onmouseout='setOut(this)' class='navLink' /></a></td></tr>";
		html += "<tr><td class='navLink'><a href='" + root + "contact/contact.html'>";
		html += "<img src='" + root + "images/contact.png' onmouseover='setOver(this)' onmouseout='setOut(this)' class='navLink' /></a></td></tr>";
		html += "</table>";
	}
	document.write(html);
}

function renderInline(source,width,height,name){
	var html="";
	if(hasFlash){
		html += "<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0' width='" + width + "' height='" + height + "' id='" + name + "'>";
		html += "<param name='allowScriptAccess' value='" + findSettings() + "' />";
		html += "<param name='movie' value='" + source + "' />";
		html += "<param name='quality' value='high' />";
		html += "<param name='wmode' value='transparent' />";
		html += "<embed src='" + source + "' wmode='transparent' quality='high' width='" + width + "' height='" + height + "' name='" + name + "' allowScriptAccess='" + findSettings() + "' type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer' />";
		html += "</object>";
	}
	else{
		html += "<h3>This requires Flash Player Version 9 or Higher.  <a href='http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash' target='_blank'>Download Flash Player</a>";
	}
	document.write(html);
}

function flashTest(message){
	alert(message);
}

function flashMovie(movieName) {
    if (isIE) {
        return window[movieName]
    }
    else {
        return document[movieName]
    }
}

// Flash Player Version Detection - Rev 1.5
// Detect Client Browser type
// Copyright(c) 2005-2006 Adobe Macromedia Software, LLC. All rights reserved.
function ControlVersion(){
	var version;
	var axo;
	var e;

	// NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry

	try {
		// version will be set for 7.X or greater players
		axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		version = axo.GetVariable("$version");
	} catch (e) {
	}

	if (!version){
		try {
			// version will be set for 6.X players only
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
			
			// installed player is some revision of 6.0
			// GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
			// so we have to be careful. 
			
			// default to the first public version
			version = "WIN 6,0,21,0";

			// throws if AllowScripAccess does not exist (introduced in 6.0r47)		
			axo.AllowScriptAccess = "always";

			// safe to call for 6.0r47 or greater
			version = axo.GetVariable("$version");

		} catch (e) {
		}
	}

	if (!version){
		try {
			// version will be set for 4.X or 5.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = axo.GetVariable("$version");
		} catch (e) {
		}
	}

	if (!version){
		try {
			// version will be set for 3.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = "WIN 3,0,18,0";
		} catch (e) {
		}
	}

	if (!version){
		try {
			// version will be set for 2.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			version = "WIN 2,0,0,11";
		} catch (e) {
			version = -1;
		}
	}
	
	return version;
}

// JavaScript helper required to detect Flash Player PlugIn version information
function GetSwfVer(){
	// NS/Opera version >= 3 check for Flash plugin in plugin array
	var flashVer = -1;
	
	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
			var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;			
			var descArray = flashDescription.split(" ");
			var tempArrayMajor = descArray[2].split(".");
			var versionMajor = tempArrayMajor[0];
			var versionMinor = tempArrayMajor[1];
			if ( descArray[3] != "" ) {
				tempArrayMinor = descArray[3].split("r");
			} else {
				tempArrayMinor = descArray[4].split("r");
			}
			var versionRevision = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0;
			var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
		}
	}
	// MSN/WebTV 2.6 supports Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	// WebTV 2.5 supports Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	// older WebTV supports Flash 2
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	else if ( isIE && isWin && !isOpera ) {
		flashVer = ControlVersion();
	}	
	return flashVer;
}

// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision){
	versionStr = GetSwfVer();
	if (versionStr == -1 ) {
		return false;
	} else if (versionStr != 0) {
		if(isIE && isWin && !isOpera) {
			// Given "WIN 2,0,0,11"
			tempArray         = versionStr.split(" "); 	// ["WIN", "2,0,0,11"]
			tempString        = tempArray[1];			// "2,0,0,11"
			versionArray      = tempString.split(",");	// ['2', '0', '0', '11']
		} else {
			versionArray      = versionStr.split(".");
		}
		var versionMajor      = versionArray[0];
		var versionMinor      = versionArray[1];
		var versionRevision   = versionArray[2];

        	// is the major.revision >= requested major.revision AND the minor version >= requested minor
		if (versionMajor > parseFloat(reqMajorVer)) {
			return true;
		} else if (versionMajor == parseFloat(reqMajorVer)) {
			if (versionMinor > parseFloat(reqMinorVer))
				return true;
			else if (versionMinor == parseFloat(reqMinorVer)) {
				if (versionRevision >= parseFloat(reqRevision))
					return true;
			}
		}
		return false;
	}
}
//end Adobe's scripts