( function($) {
	function isEmailValid(email){
		var emailPattern = new RegExp('\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*'); 
		return emailPattern.test(email); 
	}

	$(document).ready(function(){
		if($('#subscriber-email').length == 1){
			$('#subscriber-email').val(emptyEmail);
		}
		if($('#keyword').length == 1){
			$('#keyword').val(emptyKeyword);
		}
		
	    $('#keyword').focus(function(){
	    	if($(this).val()==emptyKeyword) $(this).val('');
	    });	
	    $('#keyword').blur(function(){
	    	if($(this).val()=='') $(this).val(emptyKeyword);
	    });
		$('#keyword').keypress(function(e) {    
			code = e.keyCode ? e.keyCode : e.which;    
			if(code == 13) {        
				return doSearch();    
			}
		});	
	    $('#search').click(function(){
	    	return doSearch();
	    });
	    function doSearch(){
	        var keyword = $('#keyword').val();
	        if(keyword !== '' && keyword !== emptyKeyword){
	        	$(window.location).attr('href', urlSearch + '?search=' + keyword);
	        } 	    	
	        return false;
	    }
		
	    
	    $('#subscriber-email').focus(function(){
	    	if($(this).val()==emptyEmail) $(this).val('');
	    });	
	    $('#subscriber-email').blur(function(){
	    	if($(this).val()=='') $(this).val(emptyEmail);
	    });
		$('#subscriber-email').keypress(function(e) {    
			code = e.keyCode ? e.keyCode : e.which;    
			if(code == 13) {        
				return doSubscribeToNewsletter();    
			}
		});
	    $('#subscribe-to-newsletter').click(function(){
	    	return doSubscribeToNewsletter();
	    });
	    function doSubscribeToNewsletter(){
	        var subscriberEmail = $('#subscriber-email').val();
	        if(subscriberEmail !== '' && subscriberEmail !== emptyEmail){
	        	if (isEmailValid(subscriberEmail)){
	        		$(window.location).attr('href', urlNewsletterSubscription + '?email=' + subscriberEmail);
	        	}else {
	        		$('#invalid-email')[0].style.display = '';
	        		return false;
	        	}
	        } 
	        return false;
	    }
	});		
} ) ( jQuery );	

