﻿function validateEmail(source)
{
    var xBlnFlg = true;
    
    if(source == 'header')
     em = jQuery('#txtnewsletter_header').val();
    else
     em = jQuery('#txtnewsletter_footer').val();
    
    //var email = document.getElementById('ctrlHeader_txtNewsLatter').value;
    
    if(!IsValidEmail(em))
    {
        alert('Veuillez vérifier votre adresse email');
        xBlnFlg = false;
        
        if(source == 'header')
         document.getElementById('txtnewsletter_header').focus();
        else
         document.getElementById('txtnewsletter_footer').focus();
    }
    
    if(xBlnFlg)
    {
        $.get("subscribe-newslatter.aspx",{
                            email:em, 
                            rand: Math.random()}, 
                            function(response) 
                            {
                                var res = $.trim($(response).find('#response span:nth-child(2)').html());
                                
                                alert($.trim($(response).find('#response span:nth-child(1)').html()));
                                
                                if(source == 'header')
                                 jQuery('#txtnewsletter_header').val('');
                                else
                                 jQuery('#txtnewsletter_footer').val('');
                            });
    }
}

function IsValidEmail(email)
{
    if (email==null) 
        return false;
    if (email.length==0) 
        return false;
        
    if (this.HasValidChars(email)) 
    {  
        if (email.indexOf("@") < 1) 
        { 
            return false;
        } 
        else if (email.lastIndexOf(".") <= email.indexOf("@")) 
        {  // last dot must be after the @
            return false;
        } 
        else if (email.indexOf("@") == email.length) 
        {  // @ must not be the last character
            return false;
        } 
        else if (email.indexOf("..") >=0) 
        { // two periods in a row is not valid
            return false;
        } 
        else if (email.indexOf(".") == email.length) 
        {  // . must not be the last character
            return false;
        }
         
        return true;
    }
    else
    {
        return false;
    }
}

function HasValidChars(email)
{
  var valid = true;
  var xValidChars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";
  for (var i=0; i < email.length; i++) 
  {
    var c = email.charAt(i).toLowerCase();
    if (xValidChars.indexOf(c) == -1)
    {
        valid = false;
        break;
    }
  }
  return valid;
}
