var soundboard = new Object();

soundboard.playing = false;
soundboard.delay = 500;

soundboard.playerIsReady = false;
soundboard.playOnPlayerLoad = '';

soundboard.mute = false;

soundboard.playerReady = function(){
		
	soundboard.playerIsReady = true;
	if(soundboard.playOnPlayerLoad != '' && soundboard.mute == false){
		soundboard.play(soundboard.playOnPlayerLoad, null, true);
	}
}

soundboard.thisMovie = function(movieName) {
	return document[movieName];
}

soundboard.isIE = function(){
	return navigator.appName.indexOf("Microsoft") != -1;
}

soundboard.play = function(path, domElem, calledOnPageLoad){
	
	soundboard.stop();
	if(typeof(calledOnPageLoad) == 'boolean'){
		soundboard.domElem = false;
	}
	else{
		soundboard.domElem = domElem;
	}
	
	soundboard.stateBuffering();
	
	if(soundboard.isIE()){
		var mp = document.getElementById('soundboard_mediaplayer');
		mp.URL = path;
		clearInterval(soundboard.playTimeout);
		soundboard.playTimeout = setTimeout(function(){ mp.controls.play(); }, soundboard.delay); // Wait half a second before starting
	}
	else{
		soundboard.playTimeout = setTimeout(function(){ soundboard.thisMovie('soundboard_flash').playFile(path); }, soundboard.delay); // Wait half a second before starting
	}
	
}

soundboard.stop = function(){
	soundboard.clearLoaders();
	if(soundboard.isIE()){
		var mp = document.getElementById('soundboard_mediaplayer');
		mp.controls.stop();
	}
	else{
		soundboard.thisMovie('soundboard_flash').stopFile();
	}
}

soundboard.navSound = function(className, path){
	$('div.v_nav a.' + className).hover(function(){
		clearInterval(soundboard.playTimeout);
		soundboard.play(path, this);
	}, function(){
		soundboard.stop();
		clearInterval(soundboard.playTimeout);
	});
}

soundboard.clearLoaders = function(){
	
	if(typeof(soundboard.domElem) != 'object'){ return false; }
	
	if( !$(soundboard.domElem).parent().parent().parent().hasClass('v_nav') ){
		//$('.soundboard_loader').parent().css('padding-right', '0');
		$(soundboard.domElem).find('img.soundboard_listen_icon').attr('src','/scripts/soundboard/sound_off.gif');
	}
	
	$('.soundboard_loader').remove();
}

soundboard.stateBuffering = function(){
	
	if(typeof(soundboard.domElem) == 'object'){
		soundboard.clearLoaders();
		
		$(soundboard.domElem).blur();
		
		if( $(soundboard.domElem).parent().parent().parent().hasClass('v_nav') ){
			$(soundboard.domElem).append('<img class="soundboard_loader nav" src="/scripts/soundboard/buffering.gif" />');
		}
		else{
			//$(soundboard.domElem).append('<img class="soundboard_loader page" src="/scripts/soundboard/buffering_black.gif" />');
			//$(soundboard.domElem).css('padding-right', '20px');
			
			$(soundboard.domElem).find('img.soundboard_listen_icon').attr('src','/scripts/soundboard/buffering_black.gif');
		}
	}
}

soundboard.statePlaying = function(){
	
	soundboard.playing = true;

	if(typeof(soundboard.domElem) == 'object'){
		if( !$(soundboard.domElem).parent().parent().parent().hasClass('v_nav') ){
			$(soundboard.domElem).find('img.soundboard_listen_icon').attr('src','/scripts/soundboard/sound.gif');
		}
		else{
			soundboard.clearLoaders();
		}
	}
}

soundboard.mediaPlayerState = function(e){
	
	if(typeof(e) == 'number'){
		
		if((e == 10 || e == 1) && soundboard.playing == true){
			soundboard.clearLoaders();
			soundboard.playing = false;
		}
		else if(e == 9){
			soundboard.stateBuffering();
		}
		else if(e == 3){
			soundboard.statePlaying();
		}
		
		
	}
}

soundboard.pageLoadSound = function(relUrl, audioFile){
	var regex = /http:\/\/[^\/]+(\/.+)/
	var currRelUrl = new String(window.location.href);
	currRelUrl = currRelUrl.match(regex);
	
	if(currRelUrl[1] == relUrl){
		soundboard.playOnPlayerLoad = audioFile;
	}
}

soundboard.toggleMute = function(){
	soundboard.stop();
	soundboard.mute = !soundboard.mute;
	$('#soundboard_mute_control').blur();
	soundboard.refreshMuteControl();
}

soundboard.refreshMuteControl = function(){
	if(soundboard.mute){
		$('#soundboard_mute_control img').attr('src', '/scripts/soundboard/sound_off.gif');
		$('#soundboard_mute_control span').html('Enable engine noises');
		$.cookie("soundboard_mute", "true");
		
		//$('.groupList_item_audio').css('display', 'none');
	}
	else{
		$('#soundboard_mute_control img').attr('src', '/scripts/soundboard/sound.gif');
		$('#soundboard_mute_control span').html('Disable engine noises');
		$.cookie("soundboard_mute", "false");
		
		//$('.groupList_item_audio').css('display', 'inline');
	}
}

soundboard.addMuteControl = function(){
	
	var cookieInit = $.cookie("soundboard_mute");
	if(cookieInit == 'true'){ soundboard.mute = true; }
	
	$('div.site_wrapper_main:first, div.site_wrapper:first').append('<a href="javascript:;" id="soundboard_mute_control"><img src="/scripts/soundboard/sound.gif" alt="" title="" /><span>Disable engine noises</span></a>');
	
	$('#soundboard_mute_control').css('opacity',0.75);
	
	soundboard.refreshMuteControl();
	
	$('#soundboard_mute_control').hover(function(){
		$(this).fadeTo(250, 1);
	}, function(){
		$(this).fadeTo(250, 0.75);
	});
	
	$('#soundboard_mute_control').click(soundboard.toggleMute);
	
}

$(document).ready(function(){
			  
	var thisUrl = window.location.href;
	
	$('body').append('<div id="soundboard_wrapper"></div>');
	
	soundboard.addMuteControl();
	
	//soundboard.navSound('aston_martin', '/scripts/soundboard/sounds/Aston Martin Vanquish \'S\'.mp3');
	//soundboard.navSound('bentley', '/scripts/soundboard/sounds/Bentley Brooklands.mp3');
	//soundboard.navSound('bugatti', '/scripts/soundboard/sounds/Bugatti Veyron 16.4.mp3');
	//soundboard.navSound('ferarri', '/scripts/soundboard/sounds/Ferrari 599 GTB.mp3');
	//soundboard.navSound('lamborghini', '/scripts/soundboard/sounds/Lamborghini Gallardo LP560-4.mp3');
	//soundboard.navSound('mercedes', '/scripts/soundboard/sounds/Mercedes CLK63 AMG Black Series.mp3');
	//soundboard.navSound('porsche', '/scripts/soundboard/sounds/Porsche 997 C4 S Cab.mp3');
	
	soundboard.pageLoadSound('/module/romansInt_cars?groupList=4', '/scripts/soundboard/sounds/Aston Martin Vanquish \'S\'.mp3');
	soundboard.pageLoadSound('/module/romansInt_cars?groupList=5', '/scripts/soundboard/sounds/Bentley Brooklands.mp3');
	soundboard.pageLoadSound('/module/romansInt_cars?groupList=20', '/scripts/soundboard/sounds/Bugatti Veyron 16.4.mp3');
	soundboard.pageLoadSound('/module/romansInt_cars?groupList=1', '/scripts/soundboard/sounds/Ferrari 599 GTB.mp3');
	soundboard.pageLoadSound('/module/romansInt_cars?groupList=6', '/scripts/soundboard/sounds/Lamborghini Gallardo LP560-4.mp3');
	soundboard.pageLoadSound('/module/romansInt_cars?groupList=3', '/scripts/soundboard/sounds/Mercedes CLK63 AMG Black Series.mp3');
	soundboard.pageLoadSound('/module/romansInt_cars?groupList=10', '/scripts/soundboard/sounds/Porsche 997 C4 S Cab.mp3');
	soundboard.pageLoadSound('/module/romansInt_cars?groupList=18', '/scripts/soundboard/sounds/Alfa-Romeo 8C Competizione.mp3');
	
	// Attach media player/flash
	if(!soundboard.isIE()){
		soundboard.so = new SWFObject("/scripts/soundboard/soundboard.swf", "soundboard_flash", "1", "1", "8");
		soundboard.so.write("soundboard_wrapper");
	}
	else{
		$('#soundboard_wrapper').html('<object id="soundboard_mediaplayer" width="1" height="1" style="display: none;" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" type="application/x-oleobject"><param name="SendPlayStateChangeEvents" value="True"><param name="AutoStart" value="False"><param name="uiMode" value="none"><param name="PlayCount" value="1"></object>');
		document.getElementById('soundboard_mediaplayer').attachEvent("playStateChange",soundboard.mediaPlayerState);
		soundboard.playerReady();
	}
	
	var reg = /downloads\.html/g
	if(reg.test(thisUrl)){
		$('#scroll_content').append('<div id="soundboard_links"><p>Loading samples...</p></div>');
		$('#soundboard_links').load('/scripts/soundboard/links.php');
	}
	
});