function initGallery(){
	$('.galleria_gallery_unstyled').addClass('galleria_gallery'); 
	$('ul.galleria_gallery').galleria({
		history   : false, 
		clickNext : true, 
		insert    : '#main_image', 
		onImage   : function(image,caption,thumb) { 	
			// fade in the image & caption
			image.css('display','none').fadeIn(1000);
			caption.css('display','none').fadeIn(1000);
			// fetch the thumbnail container
			var _li = thumb.parents('li');
			// fade out inactive thumbnail
			_li.siblings().children('img.selected').fadeTo(500,0.3);
			// fade in active thumbnail
			thumb.fadeTo('fast',1).addClass('selected');
			// add a title for the clickable image
			image.attr('title','Next image >>');
		},
		onThumb : function(thumb) { // thumbnail effects goes here
			// fetch the thumbnail container
			var _li = thumb.parents('li');
			// if thumbnail is active, fade all the way.
			var _fadeTo = _li.is('.active') ? '1' : '0.3';
			// fade in the thumbnail when finnished loading
			thumb.css({display:'none',opacity:_fadeTo}).fadeIn(1500);
			// hover effects
			thumb.hover(
				function() { thumb.fadeTo('fast',1); },
				function() { _li.not('.active').children('img').fadeTo('fast',0.3); } // don't fade out if the parent is active
			)
		}
	});
}

function initSearch(){
		$('#search').hint();
}

function initSubscribeBox(){
  $('#subscribe_inner').hide();
  $('#subscribe').click(function() {
    if(toggled){
      $('#subscribe').removeClass("closed").addClass("down");
    } else {
      $('#subscribe').removeClass("down").addClass("closed");
    }
    toggled = !toggled;
    $('#subscribe_inner').slideToggle(400);
    return false;
  });
	$('#subscribe_inner input:text').hint()
}

toggled=true;

function initPostcodeValidator() {
	
	var pcodeRegxp = /^([A-Za-z]{1,2})([0-9]{2,3})([A-Za-z]{2})$/;

	$('#submit_subscribe').click(function() {
		// get a stripped down version of the poscode
		var pcode = $('#extra_fields_postcode').val().replace(' ', '');	
					
		if (pcodeRegxp.test(pcode)!=true) {
			alert('Please enter a valid postcode');
			return false;
		}
   	});
	
}

$(document).ready(function(){
	initGallery();
	initSearch();
	initSubscribeBox();
	initPostcodeValidator();
});