NewsletterClass = {};

NewsletterClass.init = function(){
    
    $('#newsletter-form .submit a').click(function(){
        $('#newsletter-form form').submit(); 
        return false;  
    });
    
    $('#newsletter-form .field label').removeClass('error');
    $('#Newsletter-success').hide();
    $('#newsletter-form form').show();
    
    $('#newsletter-form form').submit(function(){
        
        $('#newsletter-form .field').removeClass('error');
        $('#Newsletter-success').hide();
        $('#newsletter-form form').show();
        
        var actionUrl = $(this).attr('action');
        var dataArr = $(this).serializeArray();
        var data = NewsletterClass.getFormData( dataArr );
        data['submit'] = true;        
        if( NewsletterClass.isValidEmail( data['email']) ) {            
            $.post( actionUrl, $(this).serialize(), function( data ){            	               
                if( data['success'] ) {
                    if( data['msg'] != undefined ) {
                        $('#Newsletter-success').html( data['msg'] );    
                    } 
                    $('#Newsletter-success').show();
                    $('#newsletter-form form').hide();    
                } else {
                    $('#newsletter-form .field').addClass('error');
                }                
            },'json');       
        } else {
            $('#newsletter-form .field').addClass('error');
        }
                
        return false; 
    });
      	  
}
NewsletterClass.getFormData = function( arr ) {
    var retVal = {};
    for( i = 0; i < arr.length; i++ ) {
        retVal[ arr[i]['name'] ] = arr[i]['value'];
    }
    return( retVal );
}
NewsletterClass.isValidEmail = function( email ){
    var emailRegEx = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	return( email.match(emailRegEx) );
}

$(document).ready(function(){
	NewsletterClass.init();
});
