$(document).ready(function(){

var validator = $('form.newsletter-form').validate({
                rules: {

                     // compound rule
                     semail: {
                       required: true,
                       email: true
                     }
                   },
                   invalidHandler: function(e, validator) {
                    //alert('error');
                    resetInputB($('#semail'));
                    var errors = validator.numberOfInvalids();
                    if (errors) {
                          //alert('error');
                            var msg = errors == 1
                                    ? 'You missed 1 field. It has been highlighted below'
                                    : 'You missed ' + errors + ' fields.  They have been highlighted below';
                            //$("div.error span").html(msg);
                            //$("div.error").show();


                    }
                },
                onkeyup: false,
                onfocus: false,
                onfocusout: false,
                messages: {

                        semail: {
                                required: "Please enter a valid email address, example: you@yourdomain.com",
                                email: "Please enter a valid email address, example: you@yourdomain.com"
                        }
                },
                errorPlacement: function(error, element) {

               },
               showErrors: function(errorMap, errorList) {
                   this.defaultShowErrors();
                   x = errorList;
                   for (var i=0;i<x.length;i++)
                    {
                        var theName = x[i];
                        src = theName;
                       // alert(src.element.id);
                        //$('span#warning_img_'+src.element.id + ' img').attr('alt',src.message);
                        //$('span#warning_img_'+src.element.id + ' img').attr('title',src.message);
                        //$('span#warning_img_'+src.element.id + ' img').attr('style','cursor: pointer');
                        //alert($('span#warning_img_'+src.element.id + ' img').attr('alt'));
                        alert(src.message);
                    }
                },
                submitHandler: function(form) {

                    resetInputB($('#semail'));

                    processform(form);
                },
                debug:true

    });
    function resetInputB(input) {
            if (typeof (input.data('backgroundColor')) != 'undefined') {
                    input.css('backgroundColor', '');
                    //alert(input.attr('id'));
                    if ($('#warning_img_' + input.attr('id'))) $('#warning_img_' + input.attr('id')).remove();
            }
    }

    function processform(form){
        // alert("here " + form);
        dataString = $(form).serialize();
        //alert(dataString);

        sendform(dataString);
    }

    function sendform(dataString){

        //dataString = $.toJSON(dataString);
        //alert(dataString);
        $.ajax({
            type: "POST",
            url: "/subscribetonewsletter",
            data: dataString,
            dataType: "json",
            success: function(data) {
                // alert('in 0');
                if (data){
                    if(data.success){
                        $(':input').not(':button, :submit, :reset, :hidden').each( function() {
                            this.value = this.defaultValue;
                        });

                        alert(data.message);

                    } else {
                        alert(data.message);

                    }
                }

            },
            error: function(data) {
                //alert(data.message);
                msg = "There was an error while submitting your request. Please try again!";
                alert(msg);
            }

        });

    }

});
