$(document).ready(function()
{
  positionMenu();
  
  $(".bouton_participer").bind('click', function () {
    $(this).parents('.concours_item').find(".content_texte2.question").slideDown();
    $(this).fadeOut('slow');
  });
  
  
  $('#messageform').find('input').bind('focus', function(){
    $(this).next('label.error').remove();
  });
  
  $('#messageform').bind('submit', function(e){
    e.preventDefault();
    return contact($(this));
  }).find('input, textarea').each(function(){
    $(this).data('defaultValue', $(this).val());
      $(this).bind('click, focus', function(){
        $(this).removeClass('error');
        if($(this).val() == $(this).data('defaultValue'))
        {
          $(this).val("");
        }
      });
      
      $(this).bind('blur', function(){
        if($(this).val() == '')
          $(this).val($(this).data('defaultValue'));
      });
  });
  
  $('form.concours').find('select[name=Date_Year] option').removeAttr('selected');
  $('form.concours').find('select[name=Date_Year] option').eq(0).attr('selected','selected');
  
  $('form.concours').each(function(){
    $(this).find('input[type=text], textarea').each(function(){
      $(this).data('defaultValue', $(this).val());
      $(this).bind('click, focus', function(){
        $(this).removeClass('error');
        if($(this).val() == $(this).data('defaultValue'))
        {
          $(this).val("");
        }
      });
      
      $(this).bind('blur', function(){
        if($(this).val() == '')
          $(this).val($(this).data('defaultValue'));
      });
      
    });
  });
  
  $('form.concours').bind('submit', function(e){
    e.preventDefault();
    
    var err = 0;
    
    $(this).find('input.required, textarea.required').each(function(){
      if($(this).val() == $(this).data('defaultValue'))
      {
        $(this).addClass('error');
        err = 1;
      }
    });
    
    if($(this).find('input[name=rep_question2]:checked').val() == undefined)
    {
      $(this).find('input[name=rep_question2]').parents('.margin_question').find('.title_bloc').addClass('error');
      err == 1
    }
    else
    {
      $(this).find('input[name=rep_question2]').parents('.margin_question').find('.title_bloc').removeClass('error');
    }
    
    if(err === 1) return false;
    
    var data = {
      type: 'inscription',
      atom_id: $(this).find('input[name=atom_id]').val(),
      meta_nom: $(this).find('input[name=nom]').val(),
      meta_prenom: $(this).find('input[name=prenom]').val(),
      meta_adresse: $(this).find('input[name=adresse]').val(),
      meta_ville: $(this).find('input[name=ville]').val(),
      meta_region: $(this).find('select[name=region]').val(),
      meta_annee_naissance: $(this).find('select[name=Date_Year]').val(),
      meta_courriel: $(this).find('input[name=courriel]').val(),
      meta_question1: $(this).find('textarea[name=rep_question1]').val(), 
      meta_question2: $(this).find('input[name=rep_question2]:checked').val()
    };
    
    if($(this).find('input[name=rep_question3a]').is(':checked')){ data.meta_question3_a = $(this).find('input[name=rep_question3a]').val() }else{ data.meta_question3_a = 0 }
    if($(this).find('input[name=rep_question3b]').is(':checked')){ data.meta_question3_b = $(this).find('input[name=rep_question3b]').val() }else{ data.meta_question3_b = 0 }
    if($(this).find('input[name=rep_question3c]').is(':checked')){ data.meta_question3_c = $(this).find('input[name=rep_question3c]').val() }else{ data.meta_question3_c = 0 }
    if($(this).find('input[name=rep_question3d]').is(':checked')){ data.meta_question3_d = $(this).find('input[name=rep_question3d]').val() }else{ data.meta_question3_d = 0 }
    if($(this).find('input[name=rep_question3e]').is(':checked')){ data.meta_question3_e = $(this).find('input[name=rep_question3e]').val() }else{ data.meta_question3_e = 0 }
        
    heap.api.reactions.create(processInscription, data);
  });
  
  $('.newsHover').each(function(){
    var imgHolder = $(this).find('.replacementImg');
    var imgDefault = $(imgHolder).attr('src');
    
    $(this).find('.newsLink')
      .bind('mouseenter', function(e){
        $(imgHolder).attr('src', $(e.target).attr('rel'));
      })
      .bind('mouseleave', function(e){
        $(imgHolder).attr('src', imgDefault);
      });
  });
  
  
});

var processInscription = function(response)
{
  $('#concours-'+response.data.atom_id).find('div.question').fadeOut('normal', function(){
    $('#concours-'+response.data.atom_id).find('div.participation').fadeIn();
  });
}

function formulaire_click(inputc)
{
  inputc.bind('click', function() {
    if($(this).val() == this.name ){
      $(this).val('');
    } 
  }).bind('blur', function() {
    if($(this).val() == ''){

      switch (this.name) {
      
        case this.name='Nom*':
          $(this).val(this.name);
          break;
        
        case this.name='Prénom*':
          $(this).val(this.name);
          break;
        
        case this.name='Compagnie':
          $(this).val(this.name);
          break;
        
        case this.name='Courriel*':
          $(this).val(this.name);
          break;
        
        case this.name='Message*':
          $(this).val(this.name);
          break;
        
        case this.name='Adresse*':
          $(this).val(this.name);
          break;
        
        case this.name='Ville*':
          $(this).val(this.name);
          break;
        
        case this.name='Réponse*':
          $(this).val(this.name);
          break;
      
        default:
      }
    }
  });
}

function formulaire_focus(inputc) 
{
  inputc.bind('focus', function() {
    if($(this).val() == this.name ){
      $(this).val('');
    } 
  }).bind('blur', function() {
    if($(this).val() == ''){

      switch (this.name) {
      
        case this.name='Nom*':
          $(this).val(this.name);
          break;
        
        case this.name='Prénom*':
          $(this).val(this.name);
          break;
        
        case this.name='Compagnie':
          $(this).val(this.name);
          break;
        
        case this.name='Courriel*':
          $(this).val(this.name);
          break;
        
        case this.name='Message*':
          $(this).val(this.name);
          break;
        
        case this.name='Adresse*':
          $(this).val(this.name);
          break;
        
        case this.name='Ville*':
          $(this).val(this.name);
          break;
        
        case this.name='Réponse*':
          $(this).val(this.name);
          break;
      
        default:
      }
    }
  });	
}

function valider_click(inputc) 
{
  inputc.bind('click', function() {
    $(".condition_icon_contact").fadeIn('slow');
  });	
}

function valider_click_conc(inputc) 
{
  inputc.bind('click', function() {
    $(".condition_icon").fadeIn('slow');
  });	
}

var contact = function(form)
{
  var err = false;
  $(form).find('.required').each(function(){
    if($(this).val() == '' || $(this).val() == $(this).data('defaultValue'))
    {
      if($(this).next().is('label.error'))
        $(this).next().html('Ce champ est requis').show();
      else
        $('<label class="error">Ce champ est requis</label>').insertAfter($(this));
      
      err = true;
    }
    else
    {
      if($(this).next().is('label.error'))
        $(this).next().hide();
    }
  });
  
  $(form).find('.email').each(function(){
    if(validateEmail($(this).val()) === false)
    {
      if($(this).next().is('label.error'))
        $(this).next().html('Veuillez entrer un courriel valide').show();
      else
        $('<label class="error">Veuillez entrer un courriel valide</label>').insertAfter($(this));
        
      err = true;
    }
  });
  
  if(err == false)
  { 
    var data = {
      nom: $(form).find('input[name=nom]').val(),
      prenom: $(form).find('input[name=prenom]').val(),
      compagnie: $(form).find('input[name=compagnie]').val(),
      courriel: $(form).find('input[name=courriel]').val(),
      message: $(form).find('textarea[name=message]').val()
    }
    
    $.ajax({
      type: 'POST',
      data: data,
      dataType: 'html',
      url: $(form).attr('action'),
      success: function(){
        
        $(form).find('fieldset').fadeOut('normal', function(){
          $(form).find('.success-message').fadeIn();
        });
        
        $(form).find('input[type=text], textarea').each(function(){
          $(this).val($(this).data('defaultValue'));
        });
      }
    });
  }
  
  return false;
}

function validateEmail(elementValue){  
  var emailPattern = /^[a-zA-Z0-9+._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
  return emailPattern.test(elementValue);  
}

var positionMenu = function()
{
  $('.menu').css({position: 'absolute', left: '-30px'});
  $('.menu').css({left: $('.menu').offset().left, position: 'fixed'});
}

$(window).resize(function(){ positionMenu(); });
