var signupFormObj = {

    error_string: "",
    element_count: "2",

    drawForm: function() {
        if(this.error_string != '') {
            document.write(this.error_string);
        }
        else {
            //All old forms will be calling a drawForm method on signupFormObj
            //with no paramaters passed in.
            var json_data = {"content": "\n\n<div class=\"e2ma_signup_form\" id=\"e2ma_signup_form\">\n    \n    <div class=\"e2ma_signup_image_container\" id=\"e2ma_signup_image_container\"><img src=\"https://d31hzlhk6di2h5.cloudfront.net/20181017/10/34/ba/f2/d061d9ace473de472881bfb0_480x387.jpg\" width=\"480\" height=\"387\"></div>\n    \n    <div class=\"e2ma_signup_message\" id=\"e2ma_signup_message\">    \n        <div>\n<h2 style=\"text-align: center;\"><span style=\"font-family: helvetica; font-size: 16pt; color: #b91122;\">ALL THE COOL PARENTS GET IT</span></h2>\n<div style=\"text-align: center;\"><span style=\"font-family: helvetica; font-size: 14pt; background-color: #ffffff; color: #75685c;\">Sign up for our enews: adventures, tips, tools, fun, getaways, giveaways.</span></div>\n</div>\n    </div>\n    <div class=\"e2ma_signup_form_container\" id=\"e2ma_signup_form_container\">\n        <form method=\"post\" id=\"e2ma_signup\" onSubmit=\"return signupFormObj.checkForm(this)\" action=\"https://app.e2ma.net/app2/audience/signup/1833977/1782148/\" >\n    \n    <input id=\"id_prev_member_email\" name=\"prev_member_email\" type=\"hidden\" />\n    \n    <input id=\"id_source\" name=\"source\" type=\"hidden\" />\n    \n    \n    \n    \n    \n    \n    \n    <input id=\"id_group_2124164\" name=\"group_2124164\" type=\"hidden\" value=\"2124164\" />\n    \n    <input id=\"id_group_2126212\" name=\"group_2126212\" type=\"hidden\" value=\"2126212\" />\n    \n    <input id=\"id_group_2125188\" name=\"group_2125188\" type=\"hidden\" value=\"2125188\" />\n    \n    <input id=\"id_group_2123140\" name=\"group_2123140\" type=\"hidden\" value=\"2123140\" />\n    \n      <input type=\"hidden\" name=\"private_set\" value=\"{num_private}\">\n\n    \n    \n    \n    \n    \n    <div class=\"e2ma_signup_form_row\">\n      <div class=\"e2ma_signup_form_label\">\n        Region\n        \n        <span class=\"e2ma_signup_form_required_asterix\">*</span>\n        \n      </div>\n      <div class=\"e2ma_signup_form_element\"><ul id=\"id_member_field_regions\"><li><label for=\"id_member_field_regions_0\"><input field_id=\"641412\" id=\"id_member_field_regions_0\" name=\"member_field_regions\" type=\"checkbox\" value=\"Seattle Area\" /> Seattle Area</label></li>\n<li><label for=\"id_member_field_regions_1\"><input field_id=\"641412\" id=\"id_member_field_regions_1\" name=\"member_field_regions\" type=\"checkbox\" value=\"Eastside\" /> Eastside</label></li>\n<li><label for=\"id_member_field_regions_2\"><input field_id=\"641412\" id=\"id_member_field_regions_2\" name=\"member_field_regions\" type=\"checkbox\" value=\"South Sound\" /> South Sound</label></li>\n<li><label for=\"id_member_field_regions_3\"><input field_id=\"641412\" id=\"id_member_field_regions_3\" name=\"member_field_regions\" type=\"checkbox\" value=\"North Sound\" /> North Sound</label></li>\n<li><label for=\"id_member_field_regions_4\"><input field_id=\"641412\" id=\"id_member_field_regions_4\" name=\"member_field_regions\" type=\"checkbox\" value=\"National\" /> National</label></li></ul></div>\n    </div>\n    \n    \n    \n    <div class=\"e2ma_signup_form_row\">\n      <div class=\"e2ma_signup_form_label\">\n        Email\n        \n        <span class=\"e2ma_signup_form_required_asterix\">*</span>\n        \n      </div>\n      <div class=\"e2ma_signup_form_element\"><input id=\"id_email\" name=\"email\" type=\"email\" /></div>\n    </div>\n    \n    \n    \n    <div class=\"e2ma_signup_form_row\">\n      <div class=\"e2ma_signup_form_label\">\n        Source\n        \n      </div>\n      <div class=\"e2ma_signup_form_element\"><input field_id=\"540036\" id=\"id_member_field_source\" name=\"member_field_source\" type=\"text\" /></div>\n    </div>\n    \n    \n    \n    \n    \n    \n    \n\n\n\n\n    <div class=\"e2ma_signup_form_required_footnote\"><span class=\"e2ma_signup_form_required_asterix\">*</span> = required field</div>\n    <div class=\"e2ma_signup_form_button_row\" id=\"e2ma_signup_form_button_row\">\n    <input id=\"e2ma_signup_submit_button\" class=\"e2ma_signup_form_button\" type=\"submit\" name=\"Submit\" value=\"Submit\" {disabled}>\n    </div>\n  </form>\n  </div>\n</div>\n<script type=\"text/javascript\">\n    (function() {\n        var loadCheckEl = document.getElementById('load_check');\n\n        // Hide the link to emma\n        if (loadCheckEl) {\n            loadCheckEl.style.display = 'none';\n        }\n    })();\n</script>\n"};
            
            //print form
            document.write(json_data.content);
            
        }
    },
    
    checkForm: function(form_obj) {
        //now handle required field validation
        json_fields = {"data": [{"widget_type": "check_multiple", "field_type": "text[]", "required": true, "name": "Region", "short_name": "regions"}, {"widget_type": "text", "field_type": "text", "required": true, "name": "Email", "short_name": "email"}]};
        var element_array = json_fields.data;
        var why = "";
        for (var loop = 0; loop < element_array.length; loop++) 
        {
            if(element_array[loop].widget_type == 'text' || element_array[loop].widget_type == 'long')
            {   
                if(form_obj[element_array[loop].short_name].value == "")
                {
                    why += element_array[loop].name + " is a required field.\n"
                }
                else if(element_array[loop].short_name == 'email')
                {
                    var filter=/^[a-z0-9_\-\.\+]+@[a-z0-9_\-\.]+\.[a-z]{2,4}$/i;

                    if (!filter.test(form_obj[element_array[loop].short_name].value))
                    {
                        why += element_array[loop].name + " must be a valid email address.\n";
                    }
                }
                continue;
            }
            else if (element_array[loop].widget_type == 'check_multiple')
            {
                var element = form_obj[element_array[loop].short_name];
                if(signupFormObj.checkMulti(element))
                {
                    continue;
                }
                why += element_array[loop].name + " is a required field.\n";
            }
            else if (element_array[loop].widget_type == 'radio')
            {
                var flag = 'false';
                var element = form_obj[element_array[loop].short_name];
                if (signupFormObj.checkMulti(element))
                {
                    continue;
                }
                why += element_array[loop].name + " is a required field.\n";
            } 
            else if (element_array[loop].widget_type == 'select one')
            {
                var index = form_obj[element_array[loop].short_name].selectedIndex;
                if(form_obj[element_array[loop].short_name].options[index].value == "")
                {
                    why += element_array[loop].name + " is a required field.\n";
                }
            }
            else if (element_array[loop].widget_type == 'select multiple')
            {
                var element = form_obj[element_array[loop].short_name];
                if(!signupFormObj.checkSelMulti(element)) {
                    why += element_array[loop].name + " is a required field.\n";
                }
            }
            else if (element_array[loop].widget_type == 'date')
            {
                var str_month = element_array[loop].widget_type + "_month";
                var str_day = element_array[loop].widget_type + "_day";
                var str_year = element_array[loop].widget_type + "_year";

                if (form_obj[str_month].selectedIndex < 1 || form_obj[str_day].selectedIndex < 1 || form_obj[str_year].selectedIndex < 1) 
                {
                    why += element_array[loop].name + " is a required field.\n";
                }
            }
        }
        if (why != "") {
            alert(why);
            return false;
        } 

        return true;   
        
    },
    
    checkSelMulti: function (element) {
        for(var i = 0; i < element.length; i++) {
            if(element[i].selected) {
                return true;
            }
        }
        return false;
    },

    checkMulti: function (element) {
        for (var i = 0; i < element.length; i++) {
            if (element[i].checked)
            {
                return true;
            }
        }
        return false;
    }
}
