$(document).ready(function(){
  //init toolbar email send
  $('#email-send').click(function(){
    if(!$('#email-container').is(':visible')){
      $('#email-title').html($('input#contentTitle').val());
      $('#email-container').show('blind', { direction: 'vertical' }, 500);
    }
    return false;
  });

  $('#email-close').click(function(){
    $('#email-container').hide('blind', { direction: 'vertical' }, 500);
    return false;
  });

  //ajax send email
  $('#submit_email').click(function(){

    if(!validContentEmail())
      return false;

    $('#email-send-progress').show();
    $.post('/scripts/content_toolbar.php?c='+$('input#contentName').val()+'&id='+$('input#contentID').val()+'&p='+$('input#projectName').val()+'&t='+$('input#contentTitle').val()+'&q='+Math.random().toString(),
      $("#email_form").serialize(),
      function(error){
        $('#email-send-progress').hide();
        if(error!=''){
          var errors_html='<p>Não foi possível enviar o email:</p><p>'+error+'</p>';
          $('#email-result').removeClass('successBox').addClass('errorBox').html(errors_html).show();
          return false;
        }else{
          var success_html='<p>O email foi enviado com sucesso</p>';
          $('#email-result').removeClass('errorBox').addClass('successBox').html(success_html).show();
          return false;
        }
      }
    );
  });

  function isValidEmail(email){
    if(email===null)
      return false;

    var re = new RegExp('^[\_]*([a-z0-9]+(\.|\_*)?)+@([a-z][a-z0-9\-]+(\.|\-*\.))+[a-z]{2,6}$');
    m = email.match(re);

    return (m!==null);
  }

  function validContentEmail(){
    var obj_list=[];
    obj_list['Nome']=$('input#sender_name');
    obj_list['Email']=$('input#sender_email');
    obj_list['Destinatários']=$('input#dest_emails');

    var errors='';
    
    for (var name in obj_list)
  	{
      var val=obj_list[name].val();
      
      if(val=='')
        errors+='<li>'+name+'</li>';
      else if(name=='Email'){
        if(!isValidEmail(val))
          errors+='<li>'+name+' válido</li>';
      }else if(name=='Destinatários'){
        var dest_emails=val.replace(' ','').split(',');
        for(var i=0;i<dest_emails.length;i++){
          var email_addr=trim(dest_emails[i]);
          if(email_addr!='' && !isValidEmail(email_addr)){
            errors+='<li>Destinatários válidos</li>';
            break;
          }
        }
      }
  	}

    if(errors!=''){
      var errors_html='<p>Por favor indique o(s) seguinte(s) dado(s):</p><ul style="list-style-type:disc;margin-left:16px;">'+errors+'</ul>';
      $('#email-result').removeClass('successBox').addClass('errorBox').html(errors_html).show();
      return false;
    }
    
    return true;
  }

});


function trim(str, chars) {
	return ltrim(rtrim(str, chars), chars);
}

function ltrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}

function rtrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}

function htmlentities (string) {
  return string.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;');
}
