var placeholder = function(){
	
	this.$placeholder;
	this.$input;
}

placeholder.prototype.init = function(el){
	
	var self = this;
	
	self.$placeholder = $(el);
	self.$input = self.$placeholder.next();
	
	//if element is empty show placeholder
	if(isEmpty(self.$input.val())){
		self.$placeholder.css({'opacity': '1'}).removeClass('hidden');
	}
	
	//on focus of input
	self.$input.bind('focus',function(){
		self.$placeholder.css({'opacity': '.5'});
	});
	
	//on blur of input
	self.$input.bind('blur', function(){
		
		var val = $(this).val();
		if(isEmpty(val)){
			self.$placeholder.css({'opacity': '1'}).removeClass('hidden');	
		}else{
			self.$placeholder.css({'opacity': '1'}).addClass('hidden');
		}
	});
}

var Modal = function(){

}

Modal.prototype.addModal = function(title, body){
	
	var self = this;
	
	//Remove any existing Modal Windows
	$(".modalWindow").remove();
	
	var el = ["<div class='modalWindow'>"];
	el.push("<div class='modalTop'>");
	el.push("<span class='left'>"+title+"</span>");
	el.push("</div>");
	el.push("<div class='modalBody'>");
	el.push("<p>"+body+"</p>");
	el.push("</div></div>");
	
	$modalWindow = $(el.join(''));
	
	$("body").append($modalWindow);
	
	$(".modalWindow").css({top: $(window).scrollTop()+150+'px'}).fadeIn(350, function(){
		var cb = function(){
			$('.modalWindow').fadeOut(350, function(){
				self.closeModal();
			});
		}
		setTimeout(cb, 5000);
	});
}

Modal.prototype.closeModal =function(){
	$(".modalWindow").remove();	
}

//jQuery Starter
$(document).ready(function() {
	
	var modal = new Modal();
	
	var $players = $('.player');
	if($players.length){
		
		AudioPlayer.setup(custom_path + 'js/player.swf', {  
    		width: 290
    		,transparentpagebg: "yes"   
    	});
		
		$players.each(function(){
			
			$el = $(this);
			var song = $el.attr('rel');
			console.log(song);
			AudioPlayer.embed(this.id, {soundFile: custom_path + 'music/' + song}); 
			
		});
		
	}
	
		

		
        
        
		
	
	//Stuff to do as soon as the DOM is ready;
	var $phEls = $('span.placeholder');
	if($phEls.length){
		$phEls.each(function(){
			
			var ph  = new placeholder;
			ph.init(this);
		});
	}
	
	//contact forms
	$('.submit').bind('click', function(evt){
		evt.preventDefault();
		
		$form = $(this).parents('#contactForm:eq(0)');
		
		var email = $('#contact_email').val();
		var filter = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
		if (!filter.test(email)) {
			modal.addModal('Error','Please provide a valid email address');
		}else{
			$.ajax({
				url: site_url + 'lib/ajax_email'
				,type: 'POST'
				,data: $form.serialize()
				,dataType: 'json'
				,success:function(data){
					if(data.success){
						modal.addModal('Success!', data.msg);
					}else{
						modal.addModal('Error','There was an error sending, please try again.');
					}
				}
				,error:function(data){
					modal.addModal('Error','There was an error sending, please try again.');
				}
			});
		}
	});
});

