/* Minification failed. Returning unminified contents.
(1,28): run-time error CSS1031: Expected selector, found '='
(1,28): run-time error CSS1025: Expected comma or open brace, found '='
(2,1): run-time error CSS1019: Unexpected token, found '('
(2,11): run-time error CSS1031: Expected selector, found '('
(2,11): run-time error CSS1025: Expected comma or open brace, found '('
(15,2): run-time error CSS1019: Unexpected token, found '('
(15,9): run-time error CSS1031: Expected selector, found ')'
(15,9): run-time error CSS1025: Expected comma or open brace, found ')'
(17,1): run-time error CSS1019: Unexpected token, found '$'
(17,2): run-time error CSS1019: Unexpected token, found '('
(17,11): run-time error CSS1031: Expected selector, found ')'
(17,11): run-time error CSS1025: Expected comma or open brace, found ')'
(27,2): run-time error CSS1019: Unexpected token, found ')'
(28,19): run-time error CSS1031: Expected selector, found '='
(28,19): run-time error CSS1025: Expected comma or open brace, found '='
(120,1): run-time error CSS1019: Unexpected token, found '$'
(120,2): run-time error CSS1019: Unexpected token, found '('
(120,11): run-time error CSS1031: Expected selector, found ')'
(120,11): run-time error CSS1025: Expected comma or open brace, found ')'
(210,2): run-time error CSS1019: Unexpected token, found ')'
 */
var globalAjaxErrorMessage = "חלה תקלה כלשהי. נסה שוב מאוחר יותר, ואם התקלה נמשכת פנה לצוות האתר.";
(function ($)
{
    if (jQuery.validator)
    {
        jQuery.validator.addMethod("israelianPhone", function (phone_number, element) {
            phone_number = phone_number.replace(/\s+/g, "");
            return (this.optional(element) ||
            phone_number.match(/^0\d([\d]{0,1})([-]{0,1})\d{7}$/)) && (phone_number.length != 9 || !(phone_number.match("^05")));
        });
        jQuery.validator.setDefaults({
            highlight: function (el, error, valid) { $(el).siblings('.errormsg').remove; }
        });
    }
}(jQuery));

$(document).ready(function ()
{
    $('.form-ingroup textarea').focus(function ()
    {
        $(this).parent().addClass('cf');
    });
    $('.form-ingroup textarea').focusout(function ()
    {
        $(this).parent().removeClass('cf');
    });
});
var formValidator = {
    displayValidationSummaryErrors: function (form, errors)
    {
        var errorSummary = formValidator.getValidationSummaryErrors(form).removeClass('validation-summary-valid').addClass('validation-summary-errors fc-or');
        var items = $.map(errors, function (error)
        {
            return '<li>' + error + '</li>';
        }).join('');
        var ul = errorSummary.find('ul').empty().append(items);
    },

    getValidationSummaryErrors: function ($form)
    {
        var errorSummary = $form.find('#validationSummary');
        if (!errorSummary.length)
        {
            errorSummary = $('<div class="validation-summary-errors" id="validationSummary"><ul></ul></div>').prependTo($form);
        }
        return errorSummary;
    },

    clearValidationSummaryErrors: function (form)
    {
        var errorSummary = form.find('#validationSummary');
        errorSummary.find('ul').empty();
        errorSummary.removeClass('validation-summary-errors fc-or').addClass('validation-summary-valid');
    },

    resetForm: function ($form)
    {
        // We reset the form so we make sure unobtrusive errors get cleared out.
        $form[0].reset();
        formValidator.getValidationSummaryErrors($form).removeClass('validation-summary-errors').addClass('validation-summary-valid');
    },

    //displays all form errors from json call
    displayErrors: function ($form, errors, jqueryValidator)
    {
        var inputErrorsRes = {};
        var globalErrorsRes = [];
        if (errors)
        {
            $.each(errors, function (key, errorMessage)
            {
                if (errorMessage.length > 0)
                {
                    if (key === "global")
                    {
                        globalErrorsRes.push(errorMessage);
                    }
                    else
                    {
                        inputErrorsRes[key] = [errorMessage];
                    }
                }
            });
            jqueryValidator.showErrors(inputErrorsRes);
            formValidator.displayValidationSummaryErrors($form, globalErrorsRes);
        }
    },
    addValidationError:function(element)
    {
        var $element = $(element);
        if ($element.parent().hasClass('form-control-area'))
        {
            $element.parent().removeClass('blk-lb').addClass('blk-or');
            $element.siblings('label').removeClass('cl-lb').addClass('cl-or');
            $element.addClass('fc-or').removeClass('fc-lb');
        }
        else
        {
            $element.removeClass('fc-lb').removeClass('blk-lb');
            $element.addClass('fc-or').addClass('blk-or');
        }
    },
    removeValidationError:function(element)
    {
        var $element = $(element);
        if ($element.parent().hasClass('form-control-area'))
        {
            $element.parent().removeClass('blk-or').addClass('blk-lb');
            $element.siblings('label').removeClass('cl-or').addClass('cl-lb');
            $element.addClass('fc-lb').removeClass('fc-or');
        }
        else
        {
            $element.removeClass('fc-or').removeClass('blk-or');
            $element.addClass('fc-lb').addClass('blk-lb');
        }
    }
}

$(document).ready(function () {
    $('.contact-form').submit(function (e) {
        var $this = $(this);
        var validator = $(this).validate({
            errorPlacement: function (error, element) { },
            rules:
            {
                Name:
                {
                    required: true,
                    maxlength: 100,
                    minlength: 2
                },
                Phone:
                {
                    required: true,
                    israelianPhone: true
                },
                Email:
                {
                    email: true
                },
                Comments:
                {
                    maxlength: 1024
                },
                City:
                {
                    maxlength: 50
                },
                BusinessName:
                {
                    maxlength: 50
                }
            },
            highlight: function (element, errorClass)
            {
                formValidator.addValidationError(element);
            },
            unhighlight: function (element, errorClass)
            {
                formValidator.removeValidationError(element);
            }
        });
        if ($this.valid())
        {
            $('.frm-submit-wrp').fadeOut('slow', function ()
            {
                $('.loading').fadeIn('slow');
            });
            var postData = $this.serializeArray();
            var formURL = $this.attr("action");
            $.ajax({
                type: "POST",
                url: formURL,
                data: postData,
                success: function (result)
                {
                    if (result.Status === 1)
                    {
                        $('.contact-form-wrp').fadeOut('slow', function ()
                        {
                            $('.message-send').fadeIn('slow');
                        });
                    }
                    else if (result.Status == 0)
                    {
                        setTimeout(function ()
                        {
                            $('.loading').fadeOut('slow', function ()
                            {
                                $('.frm-submit-wrp').fadeIn('slow');
                            });
                            var errors = result.Errors;
                            formValidator.displayErrors($this, errors, validator);
                        }, 1000);
                    }
                },
                error:function(jqXHR, textStatus, errorThrown)
                {
                    alert(globalAjaxErrorMessage);
                    $('.loading').fadeOut('slow', function ()
                    {
                        $('.frm-submit-wrp').fadeIn('slow');
                    });
                },
            });
        }
        e.preventDefault();
    });
});



