function mycarousel_initCallback(carousel) {
    jQuery('.jcarousel-control a').bind('click', function() {
        carousel.scroll(jQuery.jcarousel.intval(jQuery(this).text()));
        activateHand(parseFloat(this.innerHTML));
        return false;
    });
};

function isValidEmailAddress(emailAddress) {
	var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
	return pattern.test(emailAddress);
}

jQuery(document).ready(function() {
	
	// carousel
    jQuery("#caruselBox").jcarousel({
        scroll: 1,
        initCallback: mycarousel_initCallback,
        // This tells jCarousel NOT to autobuild prev/next buttons
        buttonNextHTML: null,
        buttonPrevHTML: null
    });
    
    // slider
    var sudoSlider = jQuery("#slider").sudoSlider({ 
        fade: true,
        auto: true,
        prevNext: false,
        pause: '5000' 
     });
    
    // external links
    jQuery("a.external").click(function() {
    	window.open( jQuery(this).attr('href'), 'external');
    	return false;
    });
    
    // fancybox
    jQuery(".gallery a[rel=fancybox]").fancybox({
    	'transitionIn'		: 'none',
		'transitionOut'		: 'none',
		'titlePosition' 	: 'over',
		'titleFormat'		: function(title, currentArray, currentIndex, currentOpts) {
			return '<span id="fancybox-title-over">Image ' + (currentIndex + 1) + ' / ' + currentArray.length + (title.length ? ' &nbsp; ' + title : '') + '</span>';
		}
	});
    
    // libre dor
    $('#livre-modal-ok').dialog({ modal: true, autoOpen: false, close: function(event, ui) {
		$('#postForm').hide('slow', function () {
	        $(this).remove();
	    });
	}});
    $('#livre-modal-error').dialog({ modal: true, autoOpen: false })
    jQuery("#postForm").submit(function() {
    	if($('#message-nom').val().trim().length == 0) {
    		errorTxt = "Vous devez saisir votre nom ou pseudo.";
    		$('#livre-modal-error').text(errorTxt);
    		$('#livre-modal-error').dialog('open');
    		return false;
    	}
    	if(!isValidEmailAddress($('#message-email').val().trim())) {
    		errorTxt = "Votre email n'est pas valide.";
    		$('#livre-modal-error').text(errorTxt);
    		$('#livre-modal-error').dialog('open');
    		return false;
    	}
    	if($('#message-reponse').val().trim().length > 0)
			$.ajax({
			  type: "POST",
			  async: false,
			  url: $(this).attr('action'),
			  data: "message="+$('#message-reponse').val()+"&nom="+$('#message-nom').val()+"&email="+$('#message-email').val()+"&site="+$('#message-site').val(),
			  success: function(data) {
				$('#livre-modal-ok').dialog('open');
			  },
			  error: function(xhr, text, err) {
				errorTxt = "Erreur interne.";
	    		$('#livre-modal-error').text(errorTxt);
	    		$('#livre-modal-error').dialog('open');
			  }
			});
		else {
			errorTxt = "Votre message est vide ou ne contient pas assez de caractères.";
    		$('#livre-modal-error').text(errorTxt);
    		$('#livre-modal-error').dialog('open');
		}
		return false;
    });
    
    jQuery().UItoTop({ easingType: 'easeOutQuart' });

});

function activateHand(number) {
	$('#hands a').removeClass('act');
	$('#hands a').eq(number-1).addClass('act');
}
