/**
 * Compact labels plugin
 */
(function($){$.fn.compactize=function(){return this.each(function(){var label=$(this),input=$('#'+label.attr('for'));input.focus(function(){label.hide();}).blur(function(){if(input.val()===''){label.show();}});window.setTimeout(function(){if(input.val()!==''){label.hide();}},50);});};})(jQuery);

/*
 * hrefID jQuery extention - returns a valid #hash string from link href attribute in Internet Explorer
 */
(function($){$.fn.extend({hrefId:function(){return $(this).attr('href').substr($(this).attr('href').indexOf('#'));}});})(jQuery);

/*
 * Scripts
 *
 */
jQuery(function($) {

  var Engine = {
    utils : {
      links : function(){
        $('a[rel*=external]').click(function(e){
          e.preventDefault();
          window.open($(this).attr('href'));
        });
      },
      mails : function(){
        $('a[href^=mailto:]').each(function(){
          var mail = $(this).attr('href').replace('mailto:','');
          var replaced = mail.replace('/at/','@');
          $(this).attr('href','mailto:'+replaced);
          if($(this).text() == mail) {
            $(this).text(replaced);
          }
        });
      }
    },
    forms : {
      labels : function(){
        $('form.sidesearch-a p label').compactize();
      }
    }
  };

  Engine.utils.links();
  Engine.utils.mails();
  Engine.forms.labels();

  if($("#new_contact").size()>0)
    manageContactForm();
  manageShowcase();

});

/*
 * reCaptcha options
 *
 */

var RecaptchaOptions = {
   theme : 'clean'
};

function manageShowcase() {
  $('.more li a').click(function() {

    //Change class on link
    $(this).parents().filter('ul').find('.active').removeClass();
    $(this).addClass('active');

    //Change image
    var img_url = $(this).attr("href");
    var selected_div = $(this).parents().filter('div');
    var div_class = '.' + selected_div.attr('class');
    var img_to_change = selected_div.find(div_class + ' .screen img');

    img_to_change.fadeOut(100, function(){
      img_to_change.attr('src', img_url);
    });
    img_to_change.fadeIn(300);

    return false;
  });
};


/* Contact validation */

function manageContactForm(){
  var name = $("#contact_name").val();
  if(name != "") {
    $("#contact_name").parent().append(" <span class='ok'>Nice to meet you " + name + " !</span>");
  }

  var email = $("#contact_email").val();
  var reg = /^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,6}$/;
  if(email != "" && email.match(reg)) {
    $("#contact_email").parent().append(" <span class='ok'>That's fine !</span>");
  }

  var message = $("#contact_message").val();
  if(message != "") {
    $("#contact_message").parent().append(" <span class='ok'>That's fine !</span>");
  }

  $("#contact_name").blur(function() {
    var name = $(this).val();
    $("#contact_name + span").remove();
    if(name != "") {
      $(this).parent().append(" <span class='ok'>Nice to meet you " + name + " !</span>");
    }else{
     $(this).parent().append(" <span class='error'>Please give me your name !</span>");
    }
  });

  $("#contact_email").blur(function() {
    var email = $(this).val();
    var reg = /^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,6}$/;
    $("#contact_email + span").remove();
    if(email != "" && email.match(reg)) {
      $(this).parent().append(" <span class='ok'>That's fine !</span>");
    }else{
     $(this).parent().append(" <span class='error'>Oops, the address seems wrong</span>");
    }
  });

  $("#contact_message").blur(function() {
    var message = $(this).val();
    $("#contact_message + span").remove();
    if(message != "") {
      $(this).parent().append(" <span class='ok'>That's fine !</span>");
    }else{
     $(this).parent().append(" <span class='error'>Oops, there is no message !</span>");
    }
  });
/* Sending contact message */
  $("#new_contact").submit(function() {
    $("#contact_submit").attr("disabled", "disabled");
    $("#contact_submit").parent().append(" <span class='sending'>Sending your message now...</span>");
  });
}