/**
 * @author me
 */

var mp3s=new Array();
mp3s[0]="";
mp3s[1]="./mp3/appolonia-01.mp3";
mp3s[2]="./mp3/appolonia-02.mp3";
mp3s[3]="./mp3/appolonia-03.mp3"; 
mp3s[4]="./mp3/appolonia-04.mp3"; 
mp3s[5]="./mp3/appolonia-05.mp3"; 
mp3s[6]="./mp3/appolonia-06.mp3"; 
mp3s[7]="./mp3/appolonia-07.mp3"; 
mp3s[8]="./mp3/appolonia-08.mp3"; 
mp3s[9]="./mp3/appolonia-09.mp3"; 
mp3s[10]="./mp3/appolonia-10.mp3"; 
mp3s[11]="./mp3/appolonia-11.mp3"; 
mp3s[12]="./mp3/appolonia-12.mp3"; 

window.addEvent('onload', function() {
		
})

currState=false;
currTrack=1;
paused=false;

window.addEvent('domready', function() {
	//$('searchform').setStyle('opacity',0.8);
	prepareButtons();

	 var scroll = new Fx.Scroll('demo-wrapper', {
	   wait: false,
	   duration: 500,
	   transition: Fx.Transitions.Quad.easeInOut
	 });

	$$('.nav').each(function(el){
			//remove the current value from the links. 
			var currLink=el.getProperty('rel');
			$(el).addEvent('click', function(event) {
			  event = new Event(event).stop();
			  scroll.toElement(currLink);
			 });
	})
	$('midBar').setStyle('opacity','0.3');
	//$('playlistbox').setStyle('opacity','0.8');

		soundManager.onload = function() {
		  // soundManager is initialised, ready to use. Create a sound for this demo page.
			soundManager.url = '../soundmanager2_flash9.swf'; // override default SWF url
			soundManager.debugMode = true;
			playSong(mp3s[1]);
		}
		
		soundManager.onerror = function() {
		  // soundManager failed to initialise (security restrictions, no support, missing SWF etc.)
		  // Notify user if needed, disable sound-specific functionality etc.
		}
		soundManager.onfinish = function() {
		  playNext();
		}
		
		
		$('dropdown').addEvent('click',function(){
			togglePlaylist();
		})
		
		$('playpause').addEvent('click',function(){
			pauseSound();
		})
		$('playnext').addEvent('click',function(){
			playNext();
		})
		$('playprev').addEvent('click',function(){
			playPrev();
		})	
		$$('.mp3file').each(function(el){
			$(el).addEvent('click', function(event) {
				//$('default').setHTML($(el).getText());
				togglePlaylist();
				song=mp3s[this.getProperty('rel')];
				currTrack=this.getProperty('rel');
				playSong(song);
			})
		})
		
		//FLIR.init( { path: 'facelift/' } );
		//FLIR.replace('h1');
		//FLIR.replace('h2');

});

function togglePlaylist(){
	if (currState){
		currState=false;
		$('playlistContainer').setStyle('display','none');
	} else {
		currState=true;
		$('playlistContainer').setStyle('display','block');
	}
}

function prepareButtons(){
	$$('.noPad').each(function(e,i){
	$(e).setStyles({'opacity':0.6});		
  	var fade = new Fx.Styles(e, {wait:false, duration:500});
  
  
	  e.addEvent('mouseover', function(){
		fade.start({'opacity':1});
	  });
	  e.addEvent('mouseout', function(){
	  	fade.start({'opacity':0.6});
	  }); 
	});

}


function getPage(el,pLink){
	url="pages/"+pLink+".php";
		var fadeOut = new Fx.Style($('main'),'opacity',{duration:300,wait:true,onComplete:function(){
		//$('main').setStyle('opacity',0.1);
		//var log = $('main').empty().addClass('ajax-loading');
		new Ajax(url, {
			method: 'get',
			update: $('main'),
			evalScripts:true,
			onComplete: function() {
				//$('main').setStyle('opacity',0.1);
				$('main').removeClass('ajax-loading');
				var fadeLeft = new Fx.Style($('main'),'opacity',{duration:300,wait:true});
				fadeLeft.start(1);
								
			},
			onFailure:function(){
				$('main').removeClass('ajax-loading');
				$('main').setHTML("<h1>The requested document <br/> <span class='red'> "+url+"</span></h3><p>is unavailable at the moment.</p>");
				var fadeLeft = new Fx.Style($('main'),'opacity',{duration:300,wait:true});
				fadeLeft.start(1);
			}

		}).request();
		}});
		fadeOut.stop();
		fadeOut.start(0);
}

function toggle(div) {
	var elem = $(div);
	if (elem.style.display=='') {
		elem.style.display='none';
		$(div).setStyle('opacity',0.8);
		return;
		}
	elem.style.display='';
}
function playSong(song){
	$('default').setHTML($('mp'+currTrack).getText());	
	soundManager.stop('mySound1');
	soundManager.destroySound('mySound1'); 
	soundManager.createSound({
	 id:'mySound1',
	 url:song,
	 onfinish:function(){
	 	playNext();
	 },
	 whileplaying: function() {
  		$('midBar').setStyle('width',Math.round((this.position/this.duration)*140)+"px");
//		$('default').setHTML(Math.round((this.position/this.duration)*140));
	}
	});
	paused=false;
	$('playpauseicon').removeClass('pauseplay');
	$('playpauseicon').addClass('playpause');
	soundManager.play('mySound1');
}


function playNext(){
		currTrack++;
		if (currTrack>12) currTrack=1;
		playSong(mp3s[currTrack]);
}
function playPrev(){
		currTrack--;
		if (currTrack<1) currTrack=12;
		playSong(mp3s[currTrack]);
}

function playSound(divID){
	for (var i = 1; i <= 12; i++){
		$('cntrl-'+i).setHTML("<img src='./images/play.jpg' onclick='playSound("+i+");'>&nbsp;");
	}
		$('cntrl-'+divID).setHTML("<img src='./images/playing.gif' onclick='stopSound("+divID+");'>&nbsp;");	
	soundManager.stop('mySound1');
	soundManager.destroySound('mySound1'); 
	soundManager.createSound({
	 id:'mySound1',
	 url:mp3s[divID],
	 onfinish:function(){
		for (var i = 1; i <= 12; i++){
			$('cntrl-'+i).setHTML("<img src='./images/play.jpg' onclick='playSound("+i+");'>&nbsp;");	
		}
	}	

	});

	soundManager.play('mySound1');
}
function pauseSound(){
	if (paused){
		paused=false;
		$('playpauseicon').removeClass('pauseplay');
		$('playpauseicon').addClass('playpause');
		soundManager.resume('mySound1');
	} else {
		paused=true;
		$('playpauseicon').removeClass('playpause');
		$('playpauseicon').addClass('pauseplay');
		soundManager.pause('mySound1');
	}
	
}
function stopSound(divID){
	soundManager.stop('mySound1');
	soundManager.destroySound('mySound1'); 
	for (var i = 1; i <= 12; i++){
		$('cntrl-'+i).setHTML("<img src='./images/play.jpg' onclick='playSound("+i+");'>&nbsp;");	
	}
}


function submitForm(){

	if ($('dname').value===" name:" ||  $('dname').value===""){
		alert("Please enter you Name");
		$('dname').focus();
		$('dname').select();
		return false;
	}
	else if (!validEmail($('dmail').value)){
		alert ("Please enter a valid E-Mail Address");
		$('dmail').focus();
		$('dmail').select();
		return false;
	}
	else if ($('dmessage').value===" message:" ||  $('dmessage').value===""){
		alert("Please enter your message");
		$('dmessage').focus();
		$('dmessage').select();
		return false;
	}
	else return true;
}


function nsubmitForm(){
  if (!validEmail($('nmail').value)){
		alert ("Please enter a valid E-Mail Address");
		$('nmail').focus();
		$('nmail').select();
		return false;
	}
	else return true;
}

// check the email address is valid. 
function validEmail(email){
	invalidChars=" /:,;";
	if (email==""){
		return false;
		}
	for (i=0;i<invalidChars.lenght;i++){
		badChar=invalidChar.charAt(i);
		if (email.indexOf(badChar,0)>-1){
			return false;
		}
	}
	atPos=email.indexOf("@",1);
	if (atPos==-1){
		return false;
		}
	if (email.indexOf("@",atPos+1)>-1){
		//alert("1");
		return false;
		}
	periodPos=email.indexOf(".",atPos);
	if (periodPos==-1){
		//alert("2");
		return false;
		}
	if (periodPos+3 > email.lenght){
		//alert("3");
		return false;
		}
	return true;
}

function Querystring(qs) { // optionally pass a querystring to parse
	this.params = new Object()
	this.get=Querystring_get
	
	if (qs == null)
		qs=location.search.substring(1,location.search.length)

	if (qs.length == 0) return

// Turn <plus> back to <space>
// See: http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.13.4.1
	qs = qs.replace(/\+/g, ' ')
	var args = qs.split('&') // parse out name/value pairs separated via &
	
// split out each name=value pair
	for (var i=0;i<args.length;i++) {
		var value;
		var pair = args[i].split('=')
		var name = unescape(pair[0])

		if (pair.length == 2)
			value = unescape(pair[1])
		else
			value = name
		
		this.params[name] = value
	}
}

function Querystring_get(key, default_) {
	// This silly looking line changes UNDEFINED to NULL
	if (default_ == null) default_ = null;
	
	var value=this.params[key]
	if (value==null) value=default_;
	
	return value
}
