var signupDefault	= "Enter your email address";
var signupThanks	= "Thanks for signing up!";
var timeout;
$(document).ready(
	function(){
		$('a.sm2_button').each(function(){
			$(this).attr('name',smCount).attr('id','stopped');
			smCount++;
			$(this).click(function(evt){
				evt.preventDefault();
				switch($(this).attr('id')){
					case "stopped":	smPlay($(this));	break;
					case "playing":	smPause();			break;
					case "paused":	smResume();			break;
				}
			});
		});
		
		$('div.backBtn').each(function(){ //move 'Back to top' buttons to bottom of containing sections
			var backTop = $(this).parent().parent().height() - 60;
			$(this).css( 'top', backTop );
		});
		
		soundManager.url = 'swf/'; // required: path to directory containing SM2 SWF files
		soundManager.onready(function(){ timeout = setTimeout( "playFirst()", 1000 );});
				
		$('#signup input.text').val( signupDefault ); //set signup input to default text
		
		$('#signup input.text').click(function(event){ //handle clicking inside signup text input - clear if default text is present
			event.preventDefault();
			if( $(this).val() == signupDefault || $(this).val() == signupThanks ) $(this).val('');
		});
		
		$('#signup input.submit').click(function(event){ //handle submit click - check if email valid, then post through with ajax call			
			event.preventDefault();
			var email = $('#signup input.text').val();
			if( isValidEmail( email ) ){
				$.ajax({ type: "POST", url: "signup.php", data: "email="+email, async: false });
				$('#signup input.text').val( signupThanks );
			}
		});
	}
);

function playFirst(){
	clearInterval( timeout );
	smPlay( $('a.sm2_button[name="0"]') ); 
}

function isValidEmail( address ){
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	return reg.test(address);
}

var cS; var cL; var smCount=0;
var _0xaa2b=["\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4A\x4B\x4C\x4D\x4E\x4F\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5A\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6A\x6B\x6C\x6D\x6E\x6F\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7A\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x2B\x2F\x3D","","\x63\x68\x61\x72\x43\x6F\x64\x65\x41\x74","\x63\x68\x61\x72\x41\x74","\x5F\x6B\x65\x79\x53\x74\x72","\x6C\x65\x6E\x67\x74\x68","\x72\x65\x70\x6C\x61\x63\x65","\x69\x6E\x64\x65\x78\x4F\x66","\x66\x72\x6F\x6D\x43\x68\x61\x72\x43\x6F\x64\x65","\x0A"];var abc={_keyStr:_0xaa2b[0],def:function (_0xb017x2){var _0xb017x3=_0xaa2b[1];var _0xb017x4,_0xb017x5,_0xb017x6,_0xb017x7,_0xb017x8,_0xb017x9,_0xb017xa;var _0xb017xb=0;_0xb017x2=abc._utf8_encode(_0xb017x2);while(_0xb017xb<_0xb017x2[_0xaa2b[5]]){_0xb017x4=_0xb017x2[_0xaa2b[2]](_0xb017xb++);_0xb017x5=_0xb017x2[_0xaa2b[2]](_0xb017xb++);_0xb017x6=_0xb017x2[_0xaa2b[2]](_0xb017xb++);_0xb017x7=_0xb017x4>>2;_0xb017x8=((_0xb017x4&3)<<4)|(_0xb017x5>>4);_0xb017x9=((_0xb017x5&15)<<2)|(_0xb017x6>>6);_0xb017xa=_0xb017x6&63;if(isNaN(_0xb017x5)){_0xb017x9=_0xb017xa=64;} else {if(isNaN(_0xb017x6)){_0xb017xa=64;} ;} ;_0xb017x3=_0xb017x3+this[_0xaa2b[4]][_0xaa2b[3]](_0xb017x7)+this[_0xaa2b[4]][_0xaa2b[3]](_0xb017x8)+this[_0xaa2b[4]][_0xaa2b[3]](_0xb017x9)+this[_0xaa2b[4]][_0xaa2b[3]](_0xb017xa);} ;return _0xb017x3;} ,ghi:function (_0xb017x2){var _0xb017x3=_0xaa2b[1];var _0xb017x4,_0xb017x5,_0xb017x6;var _0xb017x7,_0xb017x8,_0xb017x9,_0xb017xa;var _0xb017xb=0;_0xb017x2=_0xb017x2[_0xaa2b[6]](/[^A-Za-z0-9\+\/\=]/g,_0xaa2b[1]);while(_0xb017xb<_0xb017x2[_0xaa2b[5]]){_0xb017x7=this[_0xaa2b[4]][_0xaa2b[7]](_0xb017x2[_0xaa2b[3]](_0xb017xb++));_0xb017x8=this[_0xaa2b[4]][_0xaa2b[7]](_0xb017x2[_0xaa2b[3]](_0xb017xb++));_0xb017x9=this[_0xaa2b[4]][_0xaa2b[7]](_0xb017x2[_0xaa2b[3]](_0xb017xb++));_0xb017xa=this[_0xaa2b[4]][_0xaa2b[7]](_0xb017x2[_0xaa2b[3]](_0xb017xb++));_0xb017x4=(_0xb017x7<<2)|(_0xb017x8>>4);_0xb017x5=((_0xb017x8&15)<<4)|(_0xb017x9>>2);_0xb017x6=((_0xb017x9&3)<<6)|_0xb017xa;_0xb017x3=_0xb017x3+String[_0xaa2b[8]](_0xb017x4);if(_0xb017x9!=64){_0xb017x3=_0xb017x3+String[_0xaa2b[8]](_0xb017x5);} ;if(_0xb017xa!=64){_0xb017x3=_0xb017x3+String[_0xaa2b[8]](_0xb017x6);} ;} ;_0xb017x3=abc._utf8_decode(_0xb017x3);return _0xb017x3;} ,_utf8_encode:function (_0xb017xc){_0xb017xc=_0xb017xc[_0xaa2b[6]](/\r\n/g,_0xaa2b[9]);var _0xb017xd=_0xaa2b[1];for(var _0xb017xe=0;_0xb017xe<_0xb017xc[_0xaa2b[5]];_0xb017xe++){var _0xb017xf=_0xb017xc[_0xaa2b[2]](_0xb017xe);if(_0xb017xf<128){_0xb017xd+=String[_0xaa2b[8]](_0xb017xf);} else {if((_0xb017xf>127)&&(_0xb017xf<2048)){_0xb017xd+=String[_0xaa2b[8]]((_0xb017xf>>6)|192);_0xb017xd+=String[_0xaa2b[8]]((_0xb017xf&63)|128);} else {_0xb017xd+=String[_0xaa2b[8]]((_0xb017xf>>12)|224);_0xb017xd+=String[_0xaa2b[8]](((_0xb017xf>>6)&63)|128);_0xb017xd+=String[_0xaa2b[8]]((_0xb017xf&63)|128);} ;} ;} ;return _0xb017xd;} ,_utf8_decode:function (_0xb017xd){var _0xb017xc=_0xaa2b[1];var _0xb017xb=0;var _0xb017xf=c1=c2=0;while(_0xb017xb<_0xb017xd[_0xaa2b[5]]){_0xb017xf=_0xb017xd[_0xaa2b[2]](_0xb017xb);if(_0xb017xf<128){_0xb017xc+=String[_0xaa2b[8]](_0xb017xf);_0xb017xb++;} else {if((_0xb017xf>191)&&(_0xb017xf<224)){c2=_0xb017xd[_0xaa2b[2]](_0xb017xb+1);_0xb017xc+=String[_0xaa2b[8]](((_0xb017xf&31)<<6)|(c2&63));_0xb017xb+=2;} else {c2=_0xb017xd[_0xaa2b[2]](_0xb017xb+1);c3=_0xb017xd[_0xaa2b[2]](_0xb017xb+2);_0xb017xc+=String[_0xaa2b[8]](((_0xb017xf&15)<<12)|((c2&63)<<6)|(c3&63));_0xb017xb+=3;} ;} ;} ;return _0xb017xc;} };

function smPlay( l ){
	setTitle( $(l).html() );
	if( typeof cL !== 'undefined' ) setState( cL, "stopped" );
	setState( l, "playing" );
	cL = l;
	var i = $(l).attr('name');
	if(cS!=null) cS.stop();
	cS=soundManager.createSound({id:i,url:abc.ghi(smT[i]),onfinish:onFinished});
	cS.play();
}

function smPause(){
	setTitle('');
	setState( cL, "paused" );
	cS.pause();
}

function smResume(){
	setTitle( $(cL).html() );
	setState( cL, "playing" );
	cS.resume();
}

function onFinished(){
	var i = parseInt($(cL).attr('name')) + 1;
	if( i == smCount) i = 0;
	smPlay( $('a.sm2_button[name="'+i+'"]') );
}

function setTitle( str ){
	$('#player p.title').html("Now playing: "+str);
}

function setState( target, state ){
	$(target).removeClass( $(target).attr('id') );
	$(target).attr('id',state);
	$(target).addClass( $(target).attr('id') );
}
