﻿//<div class="hbs_form" formid="15">
//<input type="text" name="name" />
//<input type="radio" name="myradio" value="myradio2" />
//<input type="password" name="mypassword" />
//<textarea name="" rows="" cols=""></textarea>
//<input type="text" name="email" />
//<input type="submit"/>
//</div>

////////////////////////////////////////////////
//2009.12.18
//this functionality for support article form submit. 
////////////////////////////////////////////////
$(function() {

    function reName(str) {
        try {
            return str.replace(/[^0-9a-zA-Z-_]+/g, "");
        } catch (e) {
            return str;
        }
    }
    $(".hbs_form .submit,.hbs_form .Submit").each(function(i) {
        $(this).click(function() {
            var isCheckPass = true;
            var fdiv = $(this).parents("div.hbs_form");
            var sformid = fdiv.attr("formid");
            if (sformid == undefined || sformid == "undefined") {
                //$(this).val("error form, please send email to administrator report it.").attr("disabled", "disabled");
                //return false;
                sformid = "0";
            }
            var sEmailto = fdiv.attr("emailto");
            if (sEmailto == undefined || sEmailto == "undefined") 
                sEmailto = "";
            var FormInceptUrl = "/ajax/FormIncept.ashx";
            var summery_desc1 = "";
            var summery_desc2 = "";
            var sDataXML = "<?xml version=\"1.0\" encoding=\"utf-8\" ?><content>";

            fdiv.find(":text,:password, textarea").each(function(i) {//text password textarea
                sDataXML += "<item num=\"" + i + "\">";
                sDataXML += "<name><![CDATA[" + reName($(this).attr("name")) + "]]></name>";
                sDataXML += "<type>" + $(this).attr("type") + "</type>";
                sDataXML += "<value><![CDATA[" + $(this).val() + "]]></value>";
                sDataXML += "</item>";
                if (i == 1) summery_desc1 = $(this).val();
                if (i == 2) summery_desc2 = $(this).val();
                try {
                    var labelText = $(this).parents(".forminput").find("div:frist").text().trim();
                    if ($(this).val() == "" && labelText.indexOf("*") == 0) {
                        alert(needFillTip + " " + labelText);
                        $(this).focus();
                        isCheckPass = false;
                        return false;
                    }
                } catch (e) { }
            });

            fdiv.find("select").each(function(i) {//select
                sDataXML += "<item num=\"" + i + "\">";
                sDataXML += "<name><![CDATA[" + reName($(this).attr("name")) + "]]></name>";
                sDataXML += "<type>selected</type>";
                sDataXML += "<value><![CDATA[" + $(this).val() + "]]></value>";
                sDataXML += "</item>";
            });

            fdiv.find("input:checked").each(function(i) {// radio checkbox
                sDataXML += "<item num=\"" + i + "\">";
                sDataXML += "<name><![CDATA[" + reName($(this).attr("name")) + "]]></name>";
                sDataXML += "<type>checkbox</type>";
                sDataXML += "<value><![CDATA[" + $(this).val() + "]]></value>";
                sDataXML += "</item>";
            });
            sDataXML += "</content>";
            if (isCheckPass) {
                var submitText = $(this).val();
                if (submitText == "") submitText = $(this).html(); try {
                    $(this).val($(this).val() + "...").attr("disabled", "disabled").html($(this).val() + "...");
                } catch (e) { }
                $.post(FormInceptUrl, {
                    formid: sformid,
                    emailto:sEmailto,
                    summery1: summery_desc1,
                    summery2: summery_desc2,
                    urlreferrer: document.URL,
                    dataxml: sDataXML
                }, function(responseText, textStatus, XMLHttpRequest) {
                    var result = responseText.toString();
                    var submitButton = $(".hbs_form[formid='" + sformid + "'] .submit,.hbs_form[formid='" + sformid + "'] .Submit");
                    if ((result == "ok" || result == "Successfully") && submitButton.attr("successurl") != null)
                        location.href = submitButton.attr("successurl");
                    else {
                        if (result.substr(0, 5) != "error") {
                            fdiv.find(":text,:password, textarea").val("");
                        }
                        alert(result);

                        submitButton.removeAttr("disabled");
                        if (submitButton == "")
                            submitButton.removeAttr("value");
                        else {
                            try {
                                submitButton.val(submitText).html(submitText);
                            } catch (e) { }
                        }
                    }
                });
            }
            return false;
        });
    });
});