var playerLoaded = false;

$(document).ready(function () {
    //Splash screen
    $('#index01b').mouseover(function() {
    	$(this).attr('src', '/imgs/index02.jpg');
    }).mouseout(function() {
    	$(this).attr('src', '/imgs/index01b.jpg');
    });
    
    $('#home').click(function() {
    	loadSite();
    }) ;
    
    //Copyright
    $('#copyright').click(function(){
    	$('#copyrightData').toggle();
    });
    
    //Logo
    $('#logo').click(function() {
    	$('#player').text('');
    	playerLoaded = false;
		loadPage('home');
    });
    
    //Menu
    $('#menu li a').each(function() {
    	$(this).click(function() {
    		loadPage($(this).attr('rel'));
    	});
    });
});

function loadSite() {
	loadPage('home', function() {
		$('#site').fadeIn('slow');
	});
}

var players 		= new Array();
var playersPlaying	= new Array();
var playersPausing	= new Array();
var global_lp		= 1;

function initPlayer(infos) {
	var infosData	= infos.split("###");
	var text 		= infosData[0];
	var track 		= infosData[1];
	var id			= infosData[2];
	
	$('#player').append('<div class="track">\
							<div class="trackTitle">'+text+'</div>\
							<div id="play'+id+'"  class="button"><img src="/imgs/play01.gif" alt="" /></div>\
							<div id="pause'+id+'" class="button"><img src="/imgs/pause01.gif" alt="" /></div>\
							<div id="sliderPlayback'+id+'" class="trackSlider"></div>\
							<div id="pl'+id+'" class="trackPlayer"></div>\
						</div>');

	var p = $('#pl'+id).jPlayer({
		ready: function () {
			$(this).setFile('/'+track);
			playersPlaying[id] = false;
			playersPausing[id] = false;
		}
	})
	.onProgressChange( function(lp,ppr,ppa,pt,tt) {
 		var lpInt = parseInt(lp);
 		var ppaInt = parseInt(ppa);
 		global_lp = lpInt;
		
 		$('#sliderPlayback'+id).slider('option', 'value', ppaInt);
	})
	.onSoundComplete( function() {
		//$(this).play();
	});

	$('#play'+id).click(function() {
		//$("#col1").load("/ajax/getTrackInfos.php?id="+id);
		
		for (var i = 0; i < players.length; i++) {
			$('#pl'+players[i]).pause();
			
			if (playersPlaying[players[i]]) {
				$('#play'+players[i]).children('img').attr('src', '/imgs/play01.gif');
				$('#pause'+players[i]).children('img').attr('src', '/imgs/pause02.gif');
				$('#sliderPlayback'+players[i]).children('a').css('background', '#000');
				playersPlaying[i] = false;
				playersPausing[i] = true;
			}
		}
		playersPlaying[id] = true;
		playersPausing[id] = false;
		$('#pl'+id).play();
		$(this).children('img').attr('src', '/imgs/play02.gif');
		$(this).next().children('img').attr('src', '/imgs/pause01.gif');
		
		$('#sliderPlayback'+id).children('a').css('background', '#97131e');

		return false;
	}).mouseover(function() {
		$(this).children('img').attr('src', '/imgs/play02.gif');		
	}).mouseout(function() {
		if (!playersPlaying[this.id.replace(/play/, '')]) $(this).children('img').attr('src', '/imgs/play01.gif');		
	});

	$('#pause'+id).click(function() {
		$('#pl'+id).pause();
		playersPlaying[id] = false;
		playersPausing[id] = true;
		$(this).children('img').attr('src', '/imgs/pause02.gif');
		$(this).prev().children('img').attr('src', '/imgs/play01.gif');
		$('#sliderPlayback'+id).children('a').css('background', '#000');
		return false;
	}).mouseover(function() {
		$(this).children('img').attr('src', '/imgs/pause02.gif');		
	}).mouseout(function() {
		//document.title = playersPausing; //[this.id.replace(/play/, '')]; 
		if (!playersPausing[this.id.replace(/pause/, '')]) $(this).children('img').attr('src', '/imgs/pause01.gif');		
	});

	// Slider
	$('#sliderPlayback'+id).slider({
		max: 100,
		range: 'min',
		animate: true,
		slide: function(event, ui) {
	   		$('#pl'+id).playHead(ui.value*(100.0/global_lp));
   		}
	});
						
	players.push(id);
	playersPlaying[id] = false;
}

function loadPage(pageName, callBack) {
	if (callBack == undefined) callBack = function() {};
	
	if (pageName == 'musics' && !playerLoaded) {
		playerLoaded = true;
		
		$.get('/ajax/getTracks.php', function(data) {
			var tracks = data.split('####');
			
			for (var i = 0; i < tracks.length-1; i++) {
				initPlayer(tracks[i]);
			}
  		});	
	}
	if (pageName == 'concerts' || pageName == 'gallery') {
		$("#col2").load("/ajax/getPage.php?mode=col2&page="+pageName, '', function() {
			$("#col1").load("/ajax/getPage.php?mode=col1&page="+pageName, '', function() { initScroll(callBack); });	
		});
	} else {
		$("#col1").load("/ajax/getPage.php?mode=col1&page="+pageName);
		$("#col2").load("/ajax/getPage.php?mode=col2&page="+pageName, '', callBack);
	}
	
}

function submitNewsLetter() {
	$('#form').get(0).submit();
}

function doEmail() {
	$('#email').click(function(){
		if ($(this).attr('value') == 'adresse e-mail') $(this).attr('value', '');
	});
}

function bigImage(imageFile) {
	$('#bigImage').attr('src', '/'+imageFile);
}

function setImage(id, file) {
	$('#'+id).attr('src', '/'+file);
}

function restorImage(id, file) {
	$('#'+id).attr('src', '/'+file);
}

function initScroll(callBack) {
	var containerHeight = $('#dataContainer').height();
	var dataHeight = $('#dataData').height();
	
	if (dataHeight > containerHeight) {
		$("#scrollArea").slider({ orientation: 'vertical', min: 1, max:(dataHeight-containerHeight), value:(dataHeight-containerHeight), 
			slide: function(event, ui) {
				var height = (dataHeight-containerHeight);	
				$('#dataData').css('top', -(height-ui.value)+'px');
			}, 	
			change: function(event, ui) {
				var height = (dataHeight-containerHeight);	
				$('#dataData').css('top', -(height-ui.value)+'px');
				
			}
		});
	}
	
	//images
	$('#scrollUp').click(function() {
		var containerHeight = $('#dataContainer').height();
		var dataHeight = $('#dataData').height();
		var height = (dataHeight-containerHeight);	

		var value = $('#scrollArea').slider('option', 'value');
		var newValue = value+20;
		if(newValue > height) newValue = height
		
		$("#scrollArea").slider('option', 'value', newValue);
		$('#dataData').css('top', -(height-newValue)+'px');
	});

	$('#scrollDown').click(function() {
		var containerHeight = $('#dataContainer').height();
		var dataHeight = $('#dataData').height();
		var height = (dataHeight-containerHeight);	

		var value = $('#scrollArea').slider('option', 'value');
		var newValue = value-20;		
		if(newValue < 1) newValue = 1
		
		$("#scrollArea").slider('option', 'value', newValue);
		$('#dataData').css('top', -(height-newValue)+'px');
	});
	
	//Scroll
	if (jQuery.browser.mozilla) {
		$('#dataContainer').bind('DOMMouseScroll', function(event) {
			scroll(event);
		});
	} else {
		$('#dataContainer').bind('mousewheel', function(event) {
			scroll(event);
		});
	}

	callBack();
}

function scroll(event) {
	if (!event)
	event = window.event;
	    
	if (event.wheelDelta) {
		delta = event.wheelDelta/120;
		if (window.opera)
		delta = -delta;
	} else if (event.detail) {
	    delta = -event.detail/3;
	}
	
	if (delta > 0) {
		var containerHeight = $('#dataContainer').height();
		var dataHeight = $('#dataData').height();
		var height = (dataHeight-containerHeight);	

		var value = $('#scrollArea').slider('option', 'value');
		var newValue = value+10;
		if(newValue > height) newValue = height
		
		$("#scrollArea").slider('option', 'value', newValue);
		$('#dataData').css('top', -(height-newValue)+'px');
	} else {
		var containerHeight = $('#dataContainer').height();
		var dataHeight = $('#dataData').height();
		var height = (dataHeight-containerHeight);	

		var value = $('#scrollArea').slider('option', 'value');
		var newValue = value-10;		
		if(newValue < 1) newValue = 1
		
		$("#scrollArea").slider('option', 'value', newValue);
		$('#dataData').css('top', -(height-newValue)+'px');
	}
 
	if (event.preventDefault)
	    event.preventDefault();
	    
	event.returnValue = false;

}
