var $_obj_pusher_dt = {
	'event_type': '',
	'name_form': '',
	'name_step': '',
	'value_step': ''
};

var dtPackage;

$(function() {
    dtPackage = dtPackage || (function($) {
        
        return {
            get: function() {
                return dataLayer;
            },

            setAuto: function() {
                
                if($("INPUT").length>0) {
                    $(document).on('DOMNodeInserted', function(e) {
                        if ( $(e.target).hasClass('error-help-block') ) {
                            if (e.target.innerText != '') {
                                dtPackage.setManual(e.target.innerText, true);
                            }
                        }
                    });
                }
            },

            setManual: function(info_dt, has_error = false, event_name_no_error='') {
                if($_obj_pusher_dt.event_type=='')
		            alert("Es obligatorio poner el tipo de evento");

                if(has_error && info_dt=='')
                    alert("Cuando es un error de formulario es obligatorio especificar cual");

                var $_data_object = {};

                $_data_object.event = (event_name_no_error!='') ? event_name_no_error : $_obj_pusher_dt.event_type;
                if($_obj_pusher_dt.name_form!='') $_data_object.nameForm = $_obj_pusher_dt.name_form;
                if($_obj_pusher_dt.name_step!='' && $_obj_pusher_dt.value_step!='') $_data_object[$_obj_pusher_dt.name_step] = $_obj_pusher_dt.value_step;
                if(info_dt!='' && has_error) $_data_object.errorMessage = getDictionary(info_dt);
	
                for (dto of dataLayer)
                    if (dto.errorMessage == $_data_object.errorMessage) return;
	
                dataLayer.push($_data_object);
            },

            push: function(object) {
                dataLayer.push(object);
            }
        }

    })(jQuery);
});