﻿var newsletter = function($){
	var priv = {
        subscribeClicked : false,
 
        buttonClick : function(){
            if(!priv.subscribeClicked){
                priv.subscribeClicked = true;
                
                // reset previous state
                $('#error-msg').text('');
                $('#success-msg').hide();
                
                // check mail
                var reg = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
                var correctEmail = reg.test($('#txt-toemail').val());

                if(! correctEmail || $('#txt-toemail').val() == ''){
                    $('#error-msg').text('Vul een geldig emailadres in');
                } else {
                    // do call to add emailadress
                    var response = $.ajax({
                                      url: resources.path_prefix + '/utilpages/addtonewsletter.ashx',
                                      data: 'tomail='+$('#txt-toemail').val(),
                                      cache: false,
                                      async: false
                                     }).responseText;
                    
                    // get response
                    if(response == 'error' || response == ''){
                        $('#error-msg').text('Er is een fout opgetreden');
                    } else if(response == 'existed'){
                        $('#error-msg').text('Dit emailadres is al aangemeld');
                    } else if(response == 'success'){
                        var sendmaildomain = $('#txt-toemail').val();
                        sendmaildomain = sendmaildomain.substring(sendmaildomain.indexOf('@')+1);
                        
                        $('#adddiv').hide();
                        $('#successdiv').show();
                        $('#txt-toemail').val('[Uw e-mailadres]').addClass('gray');
                        
                        _hbSet('cv.c9',sendmaildomain); 
                        _hbSend();
                    }
                }

                priv.subscribeClicked = false;
            }
        },
 
        bindEvents : function(){
            $('#btn-newsletter').bind('click', priv.buttonClick );
            $('#txt-toemail').bind('focus',
                function(){
                    if($(this).val() == '[Uw e-mailadres]'){
                        $(this).val('').removeClass('gray');
                    }
                }
            );
            $('#txt-toemail').bind('blur',
                function(){
                    if($(this).val() == ''){
                        $(this).val('[Uw e-mailadres]').addClass('gray');
                    }
                }
            );
            $('#txt-toemail').bind("keydown", 
			    function(evt){
			        if(evt.keyCode == 13){
			            priv.buttonClick();
			            return false;
			        }
			    }
			);
            $('#addmore-link').bind('click',
                function() {
                    $('#successdiv').hide();
                    $('#adddiv').show();
                }
            );
        }

	}; 
	
	return {
	

		/**
		 * To be called on $(document).ready()
		 * Initializes all client side events and logic for the resultlist 
		 */
		OnReady	: function(){
            priv.bindEvents();
		}

	}
}(jQuery);
