// JavaScript Document

var Accordion = {
				init: function() {
					var stretches = $$('ul.stretch');
						stretches.each(function(item){
							item.setStyles({'height': '0', 'overflow': 'hidden'});
						});

					var toggleys = $$('li.toggley');

					
					toggleys.each(function(toggley, i){
						toggley.color = toggley.getStyle('color');
						toggley.first = toggley.getFirst();
					});
					
					var myAccordion2 = new Fx.Accordion(toggleys, stretches, {duration:500, opacity:true, start: 'first-open', alwaysHide: false, transition: Fx.Transitions.sineOut,
						onActive: function(toggley){
							toggley.first.setStyle('color', '#FF6600');
						},
					
						onBackground: function(toggley){
							toggley.setStyle('color', toggley.color).first.setStyle('color', '');
						}
					});
			
				}
};

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: "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"
						}
					]
				
				};
				

function loadMe(url) {
	closeStory();
	//var boxyStatus = $('boxy').getStyle('opacity');
	var mStatus = $('menu').getStyle('margin-top');
	
	//change menubar colors
	switch(url) {
		case 'home': tocolor = '#003399'; break;
		case 'about': tocolor = '#CC0000'; break;
		case 'fame': tocolor = '#669900'; break;
		case 'events': tocolor = '#CC6600'; break;
		case 'contact': tocolor = '#663366'; break;
	}
	
	if (url != "home") {
		$('menu').setStyle('zIndex','4');
		$('content').setHTML('<img src=\"images/ajax-loader2.gif\" alt=\"loading\" />&nbsp;&nbsp;Please wait while data is loaded&hellip;');
		var ccolor = $('mcolor').getStyle('backgroundColor');
		$('menu').effect('margin-top', {duration: 2000, transition: Fx.Transitions.expoOut,
				onComplete: function(){
					new Fx.Style('mcolor', 'backgroundColor', {duration: 2000, transition: Fx.Transitions.expoOut}).start(ccolor,tocolor)
				}
			}).start(mStatus, 450);
		$('popad').setStyle('display','none');
	} else {
		$('menu').setStyle('zIndex','6');
		var ccolor = $('mcolor').getStyle('backgroundColor');
		if(mStatus != 300) {
			$('menu').effect('margin-top', {duration: 2000, transition: Fx.Transitions.expoOut,
					onComplete: function(){
						new Fx.Style('mcolor', 'backgroundColor', {duration: 2000, transition: Fx.Transitions.expoOut}).start(ccolor,tocolor)
					}
				}).start(mStatus, 300);	
		}
		$('popad').setStyle('display','block');
	}
	
	//if (url != "home") {
		htm = url + ".html";	
		//load url into content DIV
		var myFx = new Fx.Style('content', 'opacity', {duration:1000, transition: Fx.Transitions.expoOut,
			onComplete: function(){ 
				new Ajax(htm ,{ 
					method: 'get', 
					onComplete: fadeup,
					update: 'content' 
				}).request();
			} 
		}).start(1,0); //fade out content first
	//}
}

function player() {
	var playerLoc = $('player').getStyle('margin-top').toInt();
	if (playerLoc == 18) {
		new Fx.Style('player', 'margin-top', {duration: 1000, transition: Fx.Transitions.expoOut }).start(18, -17);
	} else {
		new Fx.Style('player', 'margin-top', {duration: 1000, transition: Fx.Transitions.expoOut }).start(-17, 18);
	}
}


function fadeup() {
	var myContent = new Fx.Style('content', 'opacity', {duration: 1000, transition: Fx.Transitions.expoOut }).start(0,1);
	Accordion.init();
	listLinker();
	aboutLinker();
}

function fadeup2() {
	$$('p.status').setStyle('display','none');
	var myContent = new Fx.Style('textloader', 'opacity', {duration: 1000, transition: Fx.Transitions.expoOut }).start(0,1);
}

function loadStory(url) {
	$('pop_container').setStyle('display','block');
	htm = "famous/" + url + ".html";	
	new Ajax(htm ,{ 
		method: 'get', 
		onComplete: function(){ 
			$$('span.status').setStyle('display', 'none');
			new Fx.Style('popper', 'margin-top', {duration: 1500, transition: Fx.Transitions.backOut }).start(-525,-100);
		},
		update: 'popstory' 
	}).request();
}

function loadAbout(uri) {
	$$('p.status').setStyle('display','block');
	html = "about/" + uri + ".html";
	var myFx = new Fx.Style('textloader', 'opacity', {duration:1000, transition: Fx.Transitions.expoOut,
		onComplete: function(){ 
			new Ajax(html ,{ 
				method: 'get', 
				onComplete: fadeup2,
				onFailure: function() {
					$$('p.fail').setStyle('display','block');
					$$('p.status').setStyle('display','none');
				},
				update: 'textloader' 
			}).request();
		} 
	}).start(1,0);
}

function closeStory() {
	new Fx.Style('popper', 'margin-top', {duration: 1000, transition: Fx.Transitions.backIn,
		onComplete: function(){
			$('popstory').setHTML('');
			$('pop_container').setStyle('display','none');
			$$('span.status').setStyle('display', 'block');
		}
	}).start(-100,-435)
}

function listLinker(){
	var famers = $$('td');
	famers.each(function(item){
		item.setStyle('cursor','pointer');
		item.addEvent('mouseover', function(){
			item.addClass('linker');
		});
		item.addEvent('mouseout', function(){
			item.removeClass('linker');
		});
		item.addEvent('click', function(){
			//clean title text to filename standards
			name = item.getText();
			name = (name.replace('"',''));
			name = (name.replace('"',''));
			name = (name.replace('\'',''));
			name = (name.replace('. ','_'));
			name = (name.replace('-','_'));
			name = (name.replace('.','_'));
			name = (name.replace(' & ','_'));
			name = (name.replace(' ','_'));
			name = (name.replace(' ','_'));
			name = (name.replace(' ','_'));
			urll = name.toLowerCase()
			//alert(urll);			
			loadStory(urll)
		});
	});	
}

function aboutLinker(){
	var abouts = $$('a.toggler');
	abouts.each(function(item){
		item.addEvent('click', function(){
			$$('p.fail').setStyle('display','none');
			//clean title text to filename standards
			name = item.getText();
			name = (name.replace('"',''));
			name = (name.replace('"',''));
			name = (name.replace('\'',''));
			name = (name.replace('. ','_'));
			name = (name.replace('-','_'));
			name = (name.replace('.','_'));
			name = (name.replace(' & ','_'));
			name = (name.replace(' ','_'));
			name = (name.replace(' ','_'));
			name = (name.replace(' ','_'));
			uri = name.toLowerCase();
			$('textloader').setHTML('');
			//alert(urll);
			loadAbout(uri);
		});
	});	
}


window.addEvent('load', function(){
	var openPage = new Fx.Style('loading', 'opacity', {duration: 2000, transition: Fx.Transitions.expoOut,
		onComplete: function() {
			$('content').setOpacity(0);

			//load welcome content
			loadMe('home');
			
			//fadeout & remove loading graphic
			$('loading').setStyle('display','none');
			
			//start image slideshow
			startSlide();
		}
		
	});
	
	//preload interface graphics
	new Asset.images(['images/pop.png','images/bplate.png','images/bplate_ie.png','images/menubar.png','images/menubarie.png','images/hilite.png','images/home.jpg','images/bk.jpg','images/close.png','images/ad.png'],{
			onComplete: function(){					
				openPage.start(0);				
			}
	});
									
});