// JavaScript Document

//PROTOTYPE

document.observe("dom:loaded", function() {
  
  $('store_button').observe('click', function(){
			Effect.toggle('wrapper-top', 'slide', { delay: 0 });
					
									  });

$('buy-new-album').observe('click', function(){
			Effect.toggle('wrapper-top', 'slide', { delay: 0 });
					
									  });

$('play-new-album').observe('click', function(){
			$('mp3player').playsample('Whatever It Takes');
								  });
  
  $('news_btn').observe('click', function(){
			loadPage('news');	
										  });
  
  $('band_btn').observe('click', function(){
			loadPage('band');						  
										  });
  
  $('gallery_btn').observe('click', function(){
			loadPage('gallery');						  
										  });
  
  $('contact_btn').observe('click', function(){
			loadPage('contact');						  
										  });
 
 $('more-btn').observe('click', function(){
			loadPage('gallery');						  
										  });
 $('myspace_btn').observe('mouseover', function(){
			new Effect.Opacity('myspace_btn', {duration:0, from:1, to:0.8});
   						  
										  });
 $('myspace_btn').observe('mouseout', function(){
			new Effect.Opacity('myspace_btn', {duration:0.5, from:0.8, to:1});
   						  
										  });
 $('facebook_btn').observe('mouseover', function(){
			new Effect.Opacity('facebook_btn', {duration:0, from:1, to:0.8});
   						  
										  });
 $('facebook_btn').observe('mouseout', function(){
			new Effect.Opacity('facebook_btn', {duration:0.5, from:0.8, to:1});
   						  
										  });
   
  loadPage('news')
  
});

function pan(box, content, dir)
{
	
	var boxWidth = $(box).getWidth();	
	var contentWidth = $(content).getWidth();
	
	var contentPosition = $(content).cumulativeOffset();
	var boxPosition = $(box).cumulativeOffset();
	
	var maxOffset = (contentPosition + contentWidth) - (boxPosition + boxWidth) -(120-70);	
	var offset = (120+25)*3;
	var decalage = offset;
	
	switch (dir){
		case 'left':
		if ((boxPosition[0] - contentPosition[0]) > 0) 
		{
			new Effect.Move(content, { x: decalage, y: 0, mode: 'relative' });
		}
		break;
		
		case 'right':
		if ((contentPosition[0] + contentWidth ) > (boxPosition[0] + boxWidth)) 
		{
			new Effect.Move(content, { x: -decalage, y: 0, mode: 'relative' });
		}
		break;
		
	}
 
}


function panLeft(c,g)
{
	var contentPosition = $(g).cumulativeOffset();
	var boxPosition = $(c).cumulativeOffset();
	
	if ((boxPosition[0] - contentPosition[0]) > 0) 
	{
		new Effect.Move(g, { x: 300, y: 0, mode: 'relative' });
	}

}

function panRight(c,g)
{	
	var contentPosition = $(g).cumulativeOffset();
	var boxPosition = $(c).cumulativeOffset();
	var contentWidth = $(g).getWidth();
	
	if ((contentPosition[0] + contentWidth ) > (boxPosition[0] + 500)) 
	{
		new Effect.Move(g, { x: -300, y: 0, mode: 'relative' });
	}

}



var activePage = 'news';

function loadPage(id)
{	
	new Ajax.Updater('content-left', 'php/pageLoader.php', {method: 'post', parameters: 'id='+id, evalScripts: true, onComplete: function(){displayModule(id)}});
}


function displayModule(pageID)
{	
	var btnActive = activePage+'_btn';
	Element.removeClassName(btnActive, 'selected');
	
	activePage = pageID;
	var btnActiveNew = activePage+'_btn';
	Element.addClassName(btnActiveNew, 'selected');	
	
	var modules = ['gigs', 'photos', 'twitter', 'reviews', 'network'];
	
	var newsModules = ['gigs', 'photos', 'twitter'];
	var bandModules = ['reviews', 'photos'];
	var galleryModules = ['reviews', 'twitter'];
	var contactModules = ['network', 'twitter'];
	
	for(var j=0; j<modules.length; j++)
	{
		$(modules[j]).hide();
	}
	
	
	switch(pageID)
		{
		case 'news':
		for(var i=0; i<newsModules.length; i++)
		{
			$(newsModules[i]).appear();
		}
  		break;
		
		case 'band':
  		for(var i=0; i<bandModules.length; i++)
		{
			$(bandModules[i]).appear();
		}
  		break;
		
		case 'gallery':
		for(var i=0; i<galleryModules.length; i++)
		{
			$(galleryModules[i]).appear();
		}
  		break;
		
		case 'contact':
  		for(var i=0; i<contactModules.length; i++)
		{
			$(contactModules[i]).appear();
		}
  		break;
		
		default:
 		//code to be executed if n is different from case 1 and 2
		}	
	
}

function processEmailForm()
{
	
	
	if(checkForm())
	{
		var message = '&message='+$('message').getValue();
		var params = $('email_form').serialize()+message;
		
		var url = 'php/emailProcessor.php';	
		
		new Ajax.Request(url,
  		{
			 method:'post',
			parameters:params,
   			 onSuccess: function(){ showActivity();},
   			 onFailure: function(){ alert('Something went wrong..., please try again.') },
			 onComplete: function(transport){				
				var response = transport.responseText;
				if(response == 'sent') { showSuccess(); }
				else if(response == 'notsent') { showDenied(); }
			}
 		});
	}
	
			function showActivity()
		{
		$('contactSending').show();
		}
	
		function showSuccess()
		{
		$('contactSending').hide();
		$('contactSendingOk').appear();
		}
	
		function showDenied()
		{
		$('contactSending').hide();
		$('contactSendingFailed').appear();
		}
	
}


var error= [];

function checkForm()
{
	
	var name = $F('name');
	var email = $F('email');
	//var message = $F('message');
	
	//hide previous errors
		if(error != "")
		{
			for (var i = 0; i<error.length; i++ )
			{
				errorDiv = error[i]+"_error";
				$(errorDiv).hide();
			}
			
			error = [];
		}		
		
		//check wether fields are empty
		if(name == "") {error.push('name'); }
		if(email == "") {error.push('email') };
		if(email != "" && isValidEmail(email) == false) {error.push('wrongemail') };		
		
		//display errors
		if(error != "") {
			for (var i = 0; i<error.length; i++ )
			{
				errorDiv = error[i]+"_error";
				$(errorDiv).appear();

			}
			return false;
		}
		return true;
}

function isValidEmail(strEmail)
	{		
 		 validRegExp = /^[^@]+@[^@]+.[a-z]{2,}$/i; 		 
  		// search email text for regular exp matches
   		 if (strEmail.search(validRegExp) == -1) 
   		{
     		return false;
   		} 
    return true; 
	};

	
function submitpaypal(item)
	{
		$(item).submit();	
	}
  







