﻿
function IsEmailAddress(email)
{
    var s = "", re;
    s = "" + email + "";

    s = s.replace(/^\s*|\s*$/g, "");
    if (s == "undefined" || s.length < 6) { return false; }

    re = /\s+/g
    if (re.test(s)) { return false; }

    re = /^(\w|[^_]\.|[\-])+((\@){1}([^_]))(([a-z]|[\d]|[\-]|\.)+|([^_]\.[^_])*)+\.[a-z]{2,3}$/i
    if (!re.test(s)) { return false; }

    re = /\.(a[c-gil-oq-uwz]|b[a-bd-jm-or-tvwyz]|c[acdf-ik-orsuvx-z]|d[ejkmoz]|e[ceghr-u]|f[i-kmorx]|g[abd-ilmnp-uwy]|h[kmnrtu]|i[delm-oq-t]|j[emop]|k[eg-imnprwyz]|l[a-cikr-vy]|m[acdghk-z]|n[ace-giloprtuz]|om|p[ae-hk-nrtwy]|qa|r[eouw]|s[a-eg-ort-vyz]|t[cdf-hjkm-prtvwz]|u[agkmsyz]|v[aceginu]|w[fs]|y[etu]|z[admrw]|com|edu|net|org|mil|gov)$/i
    if (!re.test(s)) { return false; }

    re = /\@\@/
    return (!re.test(s));
}


function ShowWait()
{
    $(".ui-dialog-buttonpane").addClass('ajaxLoader');
    $(".ui-dialog-buttonpane > button").attr('disabled', 'disabled');
}

function HideWait(_this, clear)
{
    if (clear)
    {
        _this.find('.errorLabel').text('');
        _this.find('.fields').val('');
    }

    $(".ui-dialog-buttonpane").removeClass('ajaxLoader');
    $(".ui-dialog-buttonpane > button").removeAttr('disabled');
}

function sendMessage()
{
    var errorLabel = $('#errorLabel');
    errorLabel.text('');

    var Email = $('#ContactEmail').val();
    var Message = $('#ContactMessage').val();

    if (Email == '')
    {
        errorLabel.text(locals.Register_EnterEmail);
        return false;
    }
    else
    {
        if (!IsEmailAddress(Email))
        {
            errorLabel.text(locals.Register_EnterValidEmail);
            return false;
        }
    }

    if (Message == '')
    {
        errorLabel.text(locals.Contact_EnterMessage);
        return false;
    }

    ShowWait();
    ClientService.ContactUs
	(
		Email, Message,
		function(result)
		{
		    HideWait($(this), true);
		    if (result.IsSuccessfull == true)
		    {
		        ShowMessage(locals.Contact_MessageWasSent);
		        return true;
		    }
		    else
		    {
		        Recaptcha.reload();
		        errorLabel.text(result.ErrorMessage);
		        return false;
		    }
		},
          function()
          {
              HideWait($(this), false);
              errorLabel.text(locals.Message_AjaxConnectionFailed).show();
              return false;
          }
      );
    return false;
}

