// JavaScript Document

var selectedItemName = 'about';
var selectedItemNum  = 0;
var bypassFlash = false;

function setPrintableValues() 
{
	document.printable_form.itemName.value = selectedItemName; 
	document.printable_form.itemNum.value  = selectedItemNum; 
}

var images = [];

var nonFlashPageId = '';

function loadHandler()
{
	//alert("load handler");
	var firstHash = location.hash;
	//alert(firstHash.search("news"));
	//alert(firstHash.search("events"));
	if(firstHash.search("news") != -1 || firstHash.search("events") != -1)
	{
		//alert("true");
		bypassFlash = true;	
	}
	getAllImages();
	//loadAllSWFs();  
}

function getAllImages( parent_node ) {
	
	var out = new Array();
	
	images = document.getElementsByTagName("img");
	
	//window.setTimeout("testAllImagesLoaded()", 1000);
	
	testAllImagesLoaded();
}

function testAllImagesLoaded()
{
	//alert('num images = ' + images.length);
	for (var i = 0; i < images.length; i++)
	{
		if (!images[i].complete)
		{
			//alert('image' + i + ' complete = ' + images[i].complete);
			window.setTimeout("testAllImagesLoaded()", 500);
			return;
		}
	}
	loadAllSWFs();
	return;
}

function loadAllSWFs()
{
	//alert("load all swfs");
	
	// About Menu
	var flashvars = false;
	var params = { 
		wmode:"window", 
		quality:"high" 
	};
	var attributes = {	
		id:"aboutmenu",
		name:"aboutmenu"
	};

	swfobject.embedSWF("flash/about_menu.swf", "container-aboutmenu", "215", "167", "9.0.0", "flash/expressInstall.swf", flashvars, params, attributes);
	swfobject.createCSS("#aboutmenu","outline:none");
	
	// Company Menu
	var flashvars = false;
	var params = { 
		wmode:"window", 
		quality:"high" 
	};
	var attributes = {	
		id:"companymenu",
		name:"companymenu"
	};

	swfobject.embedSWF("flash/companies_menu.swf", "container-companymenu", "215", "167", "9.0.0", "flash/expressInstall.swf", flashvars, params, attributes);
	swfobject.createCSS("#companymenu","outline:none");
	
	// Person Menu
	var flashvars = false;
	var params = { 
		wmode:"window", 
		quality:"high" 
	};
	var attributes = {	
		id:"personmenu",
		name:"personmenu"
	};

	swfobject.embedSWF("flash/people_menu.swf", "container-personmenu", "215", "167", "9.0.0", "flash/expressInstall.swf", flashvars, params, attributes);
	swfobject.createCSS("#personmenu","outline:none");
	
	// Contact Menu
	var flashvars = false;
	var params = { 
		wmode:"window", 
		quality:"high" 
	};
	var attributes = {	
		id:"contactmenu",
		name:"contactmenu"
	};

	swfobject.embedSWF("flash/contact_menu.swf", "container-contactmenu", "215", "167", "9.0.0", "flash/expressInstall.swf", flashvars, params, attributes);
	swfobject.createCSS("#contactmenu","outline:none");
	
	//About Text
	var flashvars = false;
	var params = { 
		wmode:"window", 
		quality:"high" 
	};
	var attributes = {	
		id:"abouttext",
		name:"abouttext"
	};
	
	swfobject.embedSWF("flash/text.swf", "container-abouttext", "442", "157", "9.0.0", "flash/expressInstall.swf", flashvars, params, attributes);
	swfobject.createCSS("#abouttext","outline:none");
	
	//Company Text
	var flashvars = false;
	var params = { 
		wmode:"window", 
		quality:"high" 
	};
	var attributes = {	
		id:"companytext",
		name:"companytext"
	};
	
	swfobject.embedSWF("flash/text.swf", "container-companytext", "442", "157", "9.0.0", "flash/expressInstall.swf", flashvars, params, attributes);
	swfobject.createCSS("#companytext","outline:none");
	
	//Person Text
	var flashvars = false;
	var params = { 
		wmode:"window", 
		quality:"high" 
	};
	var attributes = {	
		id:"persontext",
		name:"persontext"
	};
	
	swfobject.embedSWF("flash/text.swf", "container-persontext", "442", "157", "9.0.0", "flash/expressInstall.swf", flashvars, params, attributes);
	swfobject.createCSS("#persontext","outline:none");
	
	//Contact Text
	var flashvars = false;
	var params = { 
		wmode:"window", 
		quality:"high" 
	};
	var attributes = {	
		id:"contacttext",
		name:"contacttext"
	};
	
	swfobject.embedSWF("flash/text.swf", "container-contacttext", "442", "157", "9.0.0", "flash/expressInstall.swf", flashvars, params, attributes);
	swfobject.createCSS("#contacttext","outline:none");
	
	//People Videos
	var flashvars = false;
	var params = { 
		wmode:"window", 
		quality:"high" 
	};
	var attributes = {	
		id:"peoplevideos",
		name:"peoplevideos"
	};
	
	swfobject.embedSWF("flash/video_menu.swf", "container-peoplevideos", "215", "167", "9.0.0", "flash/expressInstall.swf", flashvars, params, attributes);
	swfobject.createCSS("#peoplevideos","outline:none");
	
	//Logos
	var flashvars = false;
	var params = { 
		wmode:"window", 
		quality:"high" 
	};
	var attributes = {	
		id:"logos",
		name:"logos"
	};
	
	swfobject.embedSWF("flash/logos.swf", "container-logos", "215", "167", "9.0.0", "flash/expressInstall.swf", flashvars, params, attributes);
	swfobject.createCSS("#logos","outline:none");

	//Main Flash
	var flashvars = false;
	var params = { 
		wmode:"transparent", 
		quality:"high" 
	};
	var attributes = {	
		id:"STG",
		name:"STG"
	};
	
	swfobject.embedSWF("flash/SymphonyTechnologyGroup.swf", "flash", "962", "362", "9.0.0", "flash/expressInstall.swf", flashvars, params, attributes);
	swfobject.createCSS("#STG","outline:none");
}	

var myImg = [  
	{idn:'about'}, 
	{idn:'news'}, 
	{idn:'companies'},
	{idn:'people'}, 
	{idn:'contact'}];

var imageObjA = new Object();

for (i = 0; i < myImg.length; i++) 
{
	imageObjA[myImg[i].idn + '_over'] = new Image();
	imageObjA[myImg[i].idn + '_over'].src = 'http://www.symphonytg.com/images/nav/' + myImg[i].idn + '_over.gif';
	imageObjA[myImg[i].idn + '_off'] = new Image();
	imageObjA[myImg[i].idn + '_off'].src = 'http://www.symphonytg.com/images/nav/' + myImg[i].idn + '_off.gif';
	imageObjA[myImg[i].idn + '_on'] = new Image();
	imageObjA[myImg[i].idn + '_on'].src = 'http://www.symphonytg.com/images/nav/' + myImg[i].idn + '_on.gif';
}

function imageOff(imageObj) 
{ 
	if (selectedItemName == 'company')
	{
		itemName = 'companies';
	} 
	else if (selectedItemName == 'person')
	{
		itemName = 'people';
	}
	else
	{
		itemName = selectedItemName;
	}
	
	if (imageObj.id != itemName)
	{
		imageObj.src = imageObjA[imageObj.id + '_off'].src;
	}
}

function imageOver(imageObj) 
{ 
	if (selectedItemName == 'company')  
	{
		itemName = 'companies';
	} 
	else if (selectedItemName == 'person')
	{
		itemName = 'people';
	}
	else if (selectedItemName == 'events')
	{
		itemName = 'news';
	}
	else
	{
		itemName = selectedItemName;
	}
	
	if (imageObj.id != itemName)
	{
		imageObj.src = imageObjA[imageObj.id + '_over'].src;
	}
}

function imageOn(itemName) 
{ 
	setMainNavOff();

	var navImage = new Image();
	navImage.src = 'http://www.symphonytg.com/images/nav/' + itemName + '_on.gif';
	
	if (navigator.appName.indexOf("Microsoft") != -1) 
	{
		window[itemName].src = navImage.src;
	} 
	else if (/Safari/.test(navigator.userAgent))
	{
		window[itemName].src = navImage.src;	
	}
	else 
	{
		document[itemName].src = navImage.src;
	}
	
	getTextIEHack();
}

function getTextIEHack()
{
	if (navigator.appName.indexOf("Microsoft") != -1  && firstTime[selectedItemName] == false) 
	{
		getText(selectedItemName, selectedItemNum);
	} 
}

function setMainNavOff()
{
	var mainNav = ['about', 'news', 'companies', 'people', 'contact'];	
	
	for (var i = 0; i < mainNav.length; i++)
	{
		//alert('http://www.symphonytg.com/images/nav/' + mainNav[i] + '_off.gif');
		var navImage = new Image();
  		navImage.src = 'http://www.symphonytg.com/images/nav/' + mainNav[i] + '_off.gif';
		
		if (navigator.appName.indexOf("Microsoft") != -1) 
		{
			window[mainNav[i]].src = navImage.src;
		} 
		else if (/Safari/.test(navigator.userAgent))
		{
			window[mainNav[i]].src = navImage.src;
		}
		else 
		{
			document[mainNav[i]].src = navImage.src;
		}	
	}
}

function goNonFlashNews()
{
	hidePages();
	
	var showDiv = document.getElementById(nonFlashPageId + '-content');	
	showDiv.style.display = 'block';
	
	var flashDiv = document.getElementById('container-flash');	
	var contentDiv = document.getElementById('container-content');	
	var promoDiv = document.getElementById('container-promo');

	//flashDiv.style.display = 'none';
	flashDiv.style.visibility = 'hidden';
	flashDiv.style.height = '0px'; 
	
	contentDiv.style.display = 'none';
	promoDiv.style.display = 'none';
}

function showPage(pageId)
{
	if ((pageId == 'news') || (pageId == 'events'))
	{
		//go straight to news, bypass intro
		if (bypassFlash == true)
		{
			nonFlashPageId = pageId;
			goNonFlashNews();
			bypassFlash = false;
		} 
		else
		{
			if ((nonFlashPageId == 'news') || (nonFlashPageId == 'events'))
			{
				nonFlashPageId = pageId;
				goNonFlashNews();
			}
			else
			{
				getFlash('news', 0);	
			}
		}
		nonFlashPageId = pageId;
	}
	else
	{
		nonFlashPageId = '';
		hidePages();
		
		var showDiv = document.getElementById(pageId + '-content');	
		showDiv.style.display = 'block';
		
		var flashDiv = document.getElementById('container-flash');	
		var contentDiv = document.getElementById('container-content');	
		var promoDiv = document.getElementById('container-promo');
		
		if ((pageId == 'news') || (pageId == 'events') || (pageId == 'terms') || (pageId == 'privacy'))
		{
			//flashDiv.style.display = 'none';
			flashDiv.style.visibility = 'hidden';
			flashDiv.style.height = '0px'; 
			
			contentDiv.style.display = 'none';
			promoDiv.style.display = 'none';
		}
		else
		{
			//flashDiv.style.display = 'block';	
			flashDiv.style.visibility = 'visible';
			flashDiv.style.height = '362px'; 
			
			contentDiv.style.display = 'block';  
			promoDiv.style.display = 'block';
		}
	}
}

function hidePages()
{
	var pages = ['about', 'news', 'events', 'companies', 'people', 'contact', 'terms', 'privacy'];	
	
	for (var i = 0; i < pages.length; i++)
	{
		var hideDiv = document.getElementById(pages[i] + '-content');	
		hideDiv.style.display = 'none';	
	}
}

function setHash(hashValue) 
{
	location.hash = hashValue;	
}

function getHash()
{
	var hashValue = location.hash;
	
	return hashValue;
}

function setPage()
{
	var hashStr = getHash();
	var totalItems;
	hashStr = (hashStr.replace(/^#+/,'')).replace(/\W+$/,'');
	
	if (hashStr != '')
	{
		hashValues = hashStr.split('\.');
		itemName = hashValues[0];
		itemNum = hashValues[1];
		
		//alert('itemName = ' + itemName + '  itemNum = ' + itemNum);
		
		if (itemName == 'about')
		{
			totalItems = aboutTotal;
		}
		else if (itemName == 'company') 
		{
			totalItems = companiesTotal;
		}
		else if (itemName == 'person') 
		{
			totalItems = peopleTotal;
		}
		else if (itemName == 'news') 
		{
			totalItems = newsTotal;
		}
		else 
		{
			totalItems = 1;
		}
		
		if (itemName == 'person')
		{
			imageOn('people');
			getFlash('people', itemNum);
			showPage('people');
		}
		else if (itemName == 'company')
		{
			imageOn('companies');
			getFlash('company', itemNum);
			showPage('companies');
		}
		else
		{
			if (itemName == 'events')
			{
				imageOn('news');
				getFlash('news', 0);
			}
			else if ((itemName != 'privacy') && (itemName != 'terms'))
			{
				imageOn(itemName);
				getFlash(itemName, itemNum);
			}
			else
			{
				getFlash('news', 0);
			}
			
			showPage(itemName);
		}
		
		setPageValues(itemName, itemNum);
		showItem(itemName, itemNum, totalItems);
	}
	else
	{
		imageOn('about');
	}
}

function showItem(itemName, itemNum, total)
{	
	if(BrowserDetect.browser == "Firefox" && BrowserDetect.OS == "Mac")
	{
		//alert("You're on a firefox on a mac, so must do hack");	
		setTimeout(delayedShowItem, 500, itemName, itemNum, total);
		//delayedShowItem(itemName, itemNum, total);
		//alert("firefox on mac");
	}else
	{
	
	//alert('itemName = ' + itemName + '  itemNum = ' + itemNum + '  total = ' + total);
	var promoPeople = document.getElementById('promo_people');
	var promoCompanies = document.getElementById('promo_companies');
	
	if ((itemName == 'news') || (itemName == 'events') || (itemName == 'terms') || (itemName == 'privacy'))
	{
		showItemSubPage(itemName, itemNum, total);
	}
	else
	{
		setHash(itemName + '.' + itemNum);
		
		for (i = 0; i <= total; i++)
		{
			if (itemName != 'contact')
			{
				var titleHideDiv = document.getElementById(itemName + i + '_title');
				titleHideDiv.style.display = 'none';
			}
		}
	
		if (itemName != 'contact')
		{
			var titleShowDiv = document.getElementById(itemName + itemNum + '_title');
			titleShowDiv.style.display = 'block';
		}
		
		if (itemName == 'person')
		{
			if (itemNum == 0)
			{
				promoPeople.style.display = 'none';
				promoCompanies.style.display = 'block';
			}
			else
			{
				promoPeople.style.display = 'block';
				promoCompanies.style.display = 'none';
			}
		}
		else
		{
			promoPeople.style.display = 'none';
			promoCompanies.style.display = 'block';
		}
	}
	
	if (selectedItemName == itemName)
	{
		if (itemName != 'contact')
		{
			setMenuOn(itemName, itemNum);
		}
		
		getText(itemName, itemNum);	
		
		if (itemName == 'person')
		{
			if ((selectedItemNum > 0) && (itemNum > 0))
			{
				getVideos(itemNum);
			}
		}
		else if (itemName == 'company')  
		{
			getLogos(itemNum);
		}
		
		/*if (itemNum == 0)
		{
			getLogos(0);
		}
		else if (itemName == 'person')
		{
			getVideos(itemNum);
		}
		else if (itemName != 'about')  
		{
			getLogos(itemNum);
		}*/
	}/*
	else
	{
		
	}*/
	
	
	setPageValues(itemName, itemNum);
	//alert('selectedItemName = ' + selectedItemName + ' selectedItemNum = ' + selectedItemNum);
	}
}

function showItemSubPage(itemName, itemNum, total)
{
	for (i = 0; i < total; i++)
	{	
		var textHideDiv = document.getElementById(itemName + i + '_text');
		textHideDiv.style.display = 'none';
	}
	
	var textShowDiv = document.getElementById(itemName + itemNum + '_text');
	textShowDiv.style.display = 'block';
	
	if (itemName == 'news')
	{
		document.location.href = '#top';	
	}

	setHash(itemName + '.' + itemNum);
}

function setPageValues(itemName, itemNum)
{	
	selectedItemName = itemName;
	selectedItemNum  = itemNum;
}

function getMenuNum()
{
	//alert('getMenuNum - ' + selectedItemName);
	setMenuOn(selectedItemName, selectedItemNum);
}

function setMenuOn(itemName, itemNum)
{
	var flashId = itemName + 'menu';
	//alert('setMenuOn - itemNum = ' + itemNum);
	
	string1 = "<invoke name=\"setMenuOn\" returntype=\"javascript\"><arguments><string>"+itemNum+"</string></arguments></invoke>";
	window.document[flashId].CallFunction(string1);
}

var firstTime = new Object();

function getTextValues()  
{
	firstTime[selectedItemName] = false;
	getText(selectedItemName, selectedItemNum);
}

function getText(itemName, itemNum)
{
	//alert("getText " + itemName + itemNum);
	var flashId = itemName + 'text';
		
	string1 = "<invoke name=\"getText\" returntype=\"javascript\"><arguments><string>"+itemName+"</string><string>"+itemNum+"</string></arguments></invoke>";
	window.document[flashId].CallFunction(string1);
}

function getPeopleNum()
{
	//alert('itemNum = ' + selectedItemNum);
	getVideos(selectedItemNum);
}

function getVideos(itemNum)    
{
	string1 = "<invoke name=\"getVideos\" returntype=\"javascript\"><arguments><string>"+itemNum+"</string></arguments></invoke>";
	window.document.peoplevideos.CallFunction(string1);
}

function getCompanyNum()
{
	//alert('itemNum = ' + selectedItemNum);
	if (selectedItemName == 'company')
	{
		getLogos(selectedItemNum);
	}
	else
	{
		getLogos(0);
	}
	
	/*if (selectedItemName != 'about')
	{
		getLogos(selectedItemNum);
	}
	else
	{
		getLogos(0);
	}*/
}

function getLogos(itemNum)    
{
	string1 = "<invoke name=\"getLogos\" returntype=\"javascript\"><arguments><string>"+itemNum+"</string></arguments></invoke>";
	window.document.logos.CallFunction(string1);
}   

var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();

function delayedShowItem(itemName, itemNum, total)
{	
	
	//alert('itemName = ' + itemName + '  itemNum = ' + itemNum + '  total = ' + total);
	var promoPeople = document.getElementById('promo_people');
	var promoCompanies = document.getElementById('promo_companies');
	
	if ((itemName == 'news') || (itemName == 'events') || (itemName == 'terms') || (itemName == 'privacy'))
	{
		showItemSubPage(itemName, itemNum, total);
	}
	else
	{
		setHash(itemName + '.' + itemNum);
		
		for (i = 0; i <= total; i++)
		{
			if (itemName != 'contact')
			{
				var titleHideDiv = document.getElementById(itemName + i + '_title');
				titleHideDiv.style.display = 'none';
			}
		}
	
		if (itemName != 'contact')
		{
			//alert("not contact");
			var titleShowDiv = document.getElementById(itemName + itemNum + '_title');
			titleShowDiv.style.display = 'block';
		}
		
		if (itemName == 'person')
		{
			//alert("not person");
			if (itemNum == 0)
			{
				promoPeople.style.display = 'none';
				promoCompanies.style.display = 'block';
			}
			else
			{
				promoPeople.style.display = 'block';
				promoCompanies.style.display = 'none';
			}
		}
		else
		{
			promoPeople.style.display = 'none';
			promoCompanies.style.display = 'block';
		}
	}
	
	if (selectedItemName == itemName)
	{
		//alert("selectedItemName == itemName");
		if (itemName != 'contact')
		{
			setMenuOn(itemName, itemNum);
		}
		
			
		
		if (itemName == 'person')
		{
			if ((selectedItemNum > 0) && (itemNum > 0))
			{
				getVideos(itemNum);
			}
		}
		else if (itemName == 'company')  
		{
			getLogos(itemNum);
		}
		
		/*if (itemNum == 0)
		{
			getLogos(0);
		}
		else if (itemName == 'person')
		{
			getVideos(itemNum);
		}
		else if (itemName != 'about')  
		{
			getLogos(itemNum);
		}*/
	}/*
	else
	{
		
	}*/
	getText(itemName, itemNum);
	
	setPageValues(itemName, itemNum);
	//alert('selectedItemName = ' + selectedItemName + ' selectedItemNum = ' + selectedItemNum);
}