 $(document).ready(function() {
    // Contact form processing
    $("#enquiryBtn").click(function() {
    
        // clean all previous errors
        $("p.error").remove();

        // required set fields
        var requiredFields = new Array("name", "address", "phone", "email", "company");
        var optionalFields = new Array("notes");
        var validationErrors = false;
        var dataObj = new Object();

        // validate input
        for (var i in requiredFields) {
            var fieldID = "#" + requiredFields[i] + "Fld";
            if ($(fieldID).val() != "") {
                var val = $(fieldID).val();
                // validate email if applicable
                if (requiredFields[i] == "email" && !validateEmail(val)) {
                    $(fieldID).after("<p class='error'>"+ERR_INVALID_EMAIL+"</p>");
                    validationErrors = true;
                    continue;
                }
                dataObj[requiredFields[i]] = val;
            } else {
                $(fieldID).after("<p class='error'>"+ERR_MISSING_FIELD+"</p>");
                validationErrors = true;
            }
        }
        
        if (validationErrors) return false;
        
        if ($("#notesFld").val() != "") {
            dataObj['notes'] = $("#notesFld").val();
        }

        // set language
        dataObj['lang'] = lang;

        // hide everything and display a loader
        $(".formRow").hide();
        $("h2.enquiryHeader").after("<p id='loader'><img src='img/loader.gif' alt='"+ERR_PROCESSING+"' title='"+ERR_PROCESSING+"' /></p>");

        $.post("plugins/contact_form/enquiry.php", dataObj,
                function(data, textStatus) {
                    $("#loader").remove();
                    if (textStatus == 'success') {
                        if (data.Success) {
                            pageTracker._trackPageview("/enquery-success");
                            $("h2.enquiryHeader").empty().append(data.Success);
                        } else {
                            $("h2.enquiryHeader").after("<p class='error'>"+data.Error+"</p>");
                            $(".formRow").show();
                        }
                    } else {
                        $("h2.enquiryHeader").after("<p class='error'>"+data.Error+"</p>");
                        $(".formRow").show();
                    }
                }
            ,'json');
    });
});