document.observe("dom:loaded", function () {
	
	$('infolettre_form').observe('submit', validateForm);

	$('overlay').setStyle({
        width: document.viewport.getWidth() + 'px',
        height: document.viewport.getHeight() + 'px'
    });

    var top = (document.viewport.getHeight() - $('popup').getHeight()) / 2;
    var left = (document.viewport.getWidth() - $('popup').getWidth()) / 2;
    
    $('popup').setStyle({
      top: top + 'px',
      left:  left + 'px'
    });
    
    $('unsubscribe').observe('click', function(){
        $('overlay').show();
        $('popup').show();
    });
    
    $('cancel_button').observe('click', function(){
        $('ctl_unsubscribe_email').value = '';
        $('ctl_unsubscribe_email').removeClassName('erreur');
        $('popup').hide();
        $('overlay').hide();
    });
    
    $('unsubscribe_button').observe('click', function(){
        var emailRegEx = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
        
        if( $('ctl_unsubscribe_email').getValue().match(emailRegEx) ){
            new Ajax.Request('/unsubscribe.php', {
                method: 'post',
                parameters: { email: $('ctl_unsubscribe_email').getValue()},
                onSuccess: function(transport){
                    alert(transport.responseText);
                }
            });
            $('ctl_unsubscribe_email').value = '';
            $('ctl_unsubscribe_email').removeClassName('erreur');
            $('popup').hide();
            $('overlay').hide();
        } else {
            $('ctl_unsubscribe_email').addClassName('erreur');
        }
    });
    
    function validateForm(event)
    {
		var form = event.element();
        var valid = true;
        var emailRegEx = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
        
        ['ctl_nom', 'ctl_prenom', 'ctl_courriel'].each(function(el) {
          var element = $(el);
          if( element.getValue() == '')
          {
              element.addClassName('erreur');
              valid = false;
          }else if(el == 'ctl_courriel' && !element.getValue().match(emailRegEx) ){
              element.addClassName('erreur');
              valid = false;
          }else{
              element.removeClassName('erreur');
          }
        });
        
        if(valid)
            form.submit();
    }
    
    $('ctl_nom').observe('blur', notEmpty);
    $('ctl_prenom').observe('blur', notEmpty);
    $('ctl_courriel').observe('blur', emailValid);

    function notEmpty(event) {
      var element = event.element();
      if( element.getValue() == '')
      {
          element.addClassName('erreur');
      }else{
          element.removeClassName('erreur');
      }   
    }
    
    function emailValid(event) {
      var element = event.element();
      var emailRegEx = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

      if( element.getValue() == '' || !element.getValue().match(emailRegEx))
      {
          element.addClassName('erreur');
      }else{
          element.removeClassName('erreur');
      }
        
    }
});
