$(document).ready(function() {
    $("form.mail-the-form").each(function(i, form){
        $("h1, h2, h3, h4, h5, h6, legend", form).each(function(j, header){
            var header_input = document.createElement("input");
            header_input.name = header.tagName + "_" + j;
            header_input.value = $(header).text();
            $(header_input).hide();
            $(header).append(header_input);
        });
        
        var field_names = document.createElement("input");
        var field_names_array = [];
        
        var checkbox_input_names = document.createElement("input");
        var checkbox_input_names_array = [];
        
        var radio_input_names = document.createElement("input");
        var radio_input_names_array = [];
        
        var select_names = document.createElement("input");
        var select_names_array = [];
        
        var text_input_names = document.createElement("input");
        var text_input_names_array = [];
        
        var textarea_names = document.createElement("input");
        var textarea_names_array = [];
        
        $("input, select, textarea", form).each(function(j, input){
            if (0 < input.name.length) {
                switch(input.tagName.toLowerCase()) {
                case "input":
                    switch(input.type.toLowerCase()) {
                    case "checkbox": checkbox_input_names_array.push(input.name); break;
                    case "radio":    radio_input_names_array.push(input.name);    break;
                    case "text":     text_input_names_array.push(input.name);     break;
                    }
                    break;
                case "select":   select_names_array.push(input.name);   break;
                case "textarea": textarea_names_array.push(input.name); break;
                }
                field_names_array.push(input.name);
            }
        });
        
        field_names.name = "field_names";
        field_names.value = field_names_array.join(",");
        $(field_names).hide();
        $(form).append(field_names);
        
        checkbox_input_names.name = "checkbox_input_names";
        checkbox_input_names.value = checkbox_input_names_array.join(",");
        $(checkbox_input_names).hide();
        $(form).append(checkbox_input_names);
        
        radio_input_names.name = "radio_input_names";
        radio_input_names.value = radio_input_names_array.join(",");
        $(radio_input_names).hide();
        $(form).append(radio_input_names);
        
        select_names.name = "select_names";
        select_names.value = select_names_array.join(",");
        $(select_names).hide();
        $(form).append(select_names);
        
        text_input_names.name = "text_input_names";
        text_input_names.value = text_input_names_array.join(",");
        $(text_input_names).hide();
        $(form).append(text_input_names);
        
        textarea_names.name = "textarea_names";
        textarea_names.value = textarea_names_array.join(",");
        $(textarea_names).hide();
        $(form).append(textarea_names);
    });
});
