var hbsidebar_options = {
    waitText: 'Processing... Please be patient lolz',
    redirectText: 'Taking you somewhere... Please be still lolz',
    resubmitText: 'Try again. Haha!',
    executeBeforeSend: function(obj){
        var firstName = obj.find('input[name="first_name"]');
        var lastName = obj.find('input[name="last_name"]');
        var emailAddress = obj.find('input[name="email_address"]');
        var failsend = false;
        
        firstName.data('default_border',firstName.css('border'));
        lastName.data('default_border',lastName.css('border'));
        emailAddress.data('default_border',emailAddress.css('border'));
        
        function inputIsEmpty(value){
            var i;
            if(typeof value == 'undefined' || value == '')return true;
            for(i in value){
                if(value[i] != ' ')return false;
            }
            return true;
        }
        
        //inputIsEmpty(firstName.prop('value'));
        
        if(inputIsEmpty(firstName.prop('value')) || firstName.prop('value') === '' || firstName.prop('value') === undefined || firstName.prop('value') === null){
            firstName.css('border','solid 1px #f00');
            firstName.prop('value','');
            failsend = true;
        }
        else {
            firstName.css('border',firstName.data('default_border'));
        }
        
        if(inputIsEmpty(lastName.prop('value')) || lastName.prop('value') === '' || lastName.prop('value') === undefined || lastName.prop('value') === null){
            lastName.css('border','solid 1px #f00');
            lastName.prop('value','');
            failsend = true;
        }
        else {
            lastName.css('border',lastName.data('default_border'));
        }
        
        if(inputIsEmpty(emailAddress.prop('value')) || emailAddress.prop('value') === '' || emailAddress.prop('value') === undefined || emailAddress.prop('value') === null){
            emailAddress.css('border','solid 1px #f00');
            emailAddress.prop('value','');
            failsend = true;
        }
        else {
            emailAddress.css('border',emailAddress.data('default_border'));
        }
        
        if(failsend) return false;
    },
    executeOnFinish: function(obj){
        //alert('executeOnFinish');
        if(obj.serverReturnedData.search('errorcode:666') != -1){
            
            obj.messageContainer.html(obj.serverReturnedData.substring(obj.serverReturnedData.indexOf(':')+4));
            obj.submitButton.setContent(obj.submitButton.data('otext')).enable();
            
        }
        else {
            
            obj.messageContainer.html('');
            obj.submitButton.setContent('Submitted!');
            
            if(obj.find('input[name="redirect_url"]').length != 0){
                var redirect_to = obj.find('input[name="redirect_url"]').prop('value');
                var param = obj.find('input[name="full_name"]').serialize();
                if(obj.find('input[name="send_details"]').length != 0)redirect_to+='?'+param;
                //alert(redirect_to);
                window.top.location.href = redirect_to;
            }
            else alert('Form submission successful!');
            
        }
        
    }
};
jQuery(document).ready(function(){
    /*
    jQuery('#rules-subscription-form.mc-form').formSender(hbsidebar_options);
    */
	jQuery('#rules-subscription-form.mc-form').formSender(hbsidebar_options);
});
