$(document).ready(function() {
  
  // Set external links - XHTML Compatibility reasons
    $("a[rel='external']").attr("target","_blank");
    
  // Front page carousel.
  $(function() {   
      $('#store-preview #carousel').jMyCarousel({   
          visible: '750px',
          step: 100,
          btnPrev: $('#store-preview .prev'),
          btnNext: $('#store-preview .next')
      });   
  });
  
  
  // Carousel controls: prevent default on anchors.
  $(function() {
    $('#store-preview .prev, #store-preview .next').click(function(e) {
      e.preventDefault();
    });
  });
  
  
});

// Form validation 
    $(".required").after('<strong class="astrix">*</strong>');

    $("form").submit(function(e) {

        var trigger = "0";
        var emailre = /^[a-z0-9._-]+@[a-z0-9.-]+\.[a-z]{2,4}$/i;
        $(".validation").remove();
        $("input").blur();
        $("#message").html("");
        
        $(".required",this).each ( function() {
            var listItem = $(this).parent().get(0);
            var theLabel = $(this).attr("id");
            
            if($(this).attr("value") == '') {
                $(listItem).addClass("invalid");
                $(listItem).append('<div class="validation">Required Field</div>');
                trigger = "1";
            }
            else {
                $(listItem).removeClass("invalid");
            }
        });

        $(".required" + ".email",this).each ( function() {
            var listItem = $(this).parent().get(0);
            var theLabel = $(this).attr("id");

            if((!$(this).attr("value").match(emailre)) && ($(this).attr("value") != '')) {
                $(listItem).addClass("invalid");
                $(listItem).append('<div class="validation">Invalid Email</div>');
                trigger = "1";
            }
        });        
        
        if(trigger == "1") {
            $(".validation").fadeIn();
            e.preventDefault();
        }
        else {
            e.preventDefault();
            var inputs = [];
          
            $(':input',this).each(function() {
                inputs.push(this.name + '=' + escape(this.value));
            })
          
            jQuery.ajax({
                data: inputs.join('&'),
                url: this.action,
                timeout: 2000,
                error: function() {
                    console.log("Failed to submit");
                },
            success: function(r) { 
              $('#message').append(r).fadeIn();
            }
          })        
        
        }

        $(".invalid > .required:first").focus();
    });	


$(function () {
  $(".opacify").fadeTo(1, 0.5);
  $(".opacify").hover(
    function () {
      $(this).fadeTo("fast", 1);
    },
    function () {
      $(this).fadeTo("normal", 0.5);
    }
  );
});