﻿$(function() {
   $('#btnCreateAccount').show();

   $('#btnCreateAccount').click(function() {
      $('#main-body').hide('blind', {}, 2000);
      $('#createAccount').show('blind', {}, 2000);

      $('#loginctrl').hide('slide', {}, 1000);
      $('#createctrl').show('slide', {}, 1000);
      return false;
   });

   $('#btnShowLogin').click(function() {
      $('#createAccount').hide('blind', {}, 500);
      $('#main-body').show('blind', {}, 2000);

      $('#createctrl').hide('slide', {}, 1000);
      $('#loginctrl').show('slide', {}, 1000);
      return false;
   });

   hideErrorWarning();
   $('#c_txtPassword').blur(function() {
      if ($('#c_txtPassword').val().length < 7 && $('#c_txtPassword').val() != '') {
         setError('c_message', 'Password must be at least 7 characters long.');
      } else {
         hideErrorWarning();
      }
   });
   $('#c_txtPasswordConfirm').blur(function() {
      validatePasswords();
   });

   $('#c_txtEmailConfirm').blur(function() {
      validateEmails();
   });

   $('#c_btnCreateAccount').button('disable');
   $('#c_btnCreateAccount').click(function() {
      createAccount();
      return false;
   });

   $('#btn_accept_cond').click(function() {
      $('#c_btnCreateAccount').button('enable');
      return false;
   });

   $('#btn_exit').click(function() {
      window.location = 'http://www.ebrra.org/';
      return false;
   });

   $('#btnShowChangePassword').click(function() {
      $('#divChangePassword').show();
      return false;
   });

   $('#btnChangePassword').click(function() {
      changePassword();
      return false;
   });
});

function changePassword() {
    if ($('#txtNewPassword').val() != $('#txtNewPasswordConfirm').val()) {
        setError('divLoggedInMessage', 'New Passwords do not match.');
    } else if ($('#txtNewPassword').val().length < 7) {
        setError('divLoggedInMessage', 'The new password must be at least 7 characters long.');
    } else {
        var d = " { 'pass': '" + $('#txtOldPassword').val() + "', 'newpass': '" + $('#txtNewPassword').val() + "' }";
        $.ajax({
            type: "POST",
            url: "LoginService.aspx/ChangePassword",
            data: d,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(msg) {
                setHighlight('divLoggedInMessage', msg.d);
                $('#divChangePassword').hide();
            },
            error: function(xhr, ajaxOptions, thrownError) {
                alert(xhr.status);
                alert(xhr.responseText);
            }
        });   
    }
        
}

function validateEmails() {
    if ($('#c_txtEmailConfirm').val() != $('#c_txtEmail').val()) {
        setError('c_message', 'E-mail Addresses do not match.');
    } else {
        hideErrorWarning();
    }
}

function validatePasswords() {
    if ($('#c_txtPasswordConfirm').val() != $('#c_txtPassword').val()) {
        setError('c_message', 'Passwords do not match.');
    } else {
        hideErrorWarning();
    }
}
function validateForm() {
    var create = true;

    if ($('#c_txtUsername').val() == '') {
        create = false;
        setError('c_message', 'Username is a required field.');
    } else if ($('#c_txtPassword').val() == '') {
        create = false;
        setError('c_message', 'Password is a required field.');
    } else if ($('#c_txtPassword').val().length < 7) {
        create = false;
        setError('c_message', 'Passwords must be 7 characters long.');
    } else if ($('#c_txtPassword').val() != $('#c_txtPasswordConfirm').val()) {
        create = false;
        setError('c_message', 'Passwords do not match.');
    } else if ($('#c_txtFirstName').val() == '') {
        create = false;
        setError('c_message', 'First name is a requried field.');
    } else if ($('#c_txtLastName').val() == '') {
        create = false;
        setError('c_message', 'Last name is a requried field.');
    } else if ($('#c_txtEmail').val() == '') {
        create = false;
        setError('c_message', 'E-mail is a requried field.');
    } else if ($('#c_txtEmail').val() != $('#c_txtEmailConfirm').val()) {
        create = false;
        setError('c_message', 'E-mail Addresses do not match.');
    } else if ($('#c_txtDepartment').val() == '') {
        create = false;
        setError('c_message', 'Department is a required field.');
    } else if ($('#c_txtPosition').val() == '') {
        create = false;
        setError('c_message', 'Position is a required field.');
    } else if ($('#c_txtAddress1').val() == '') {
        create = false;
        setError('c_message', 'Address 1 is a required field.');
    } else if ($('#c_txtCity').val() == '') {
        create = false;
        setError('c_message', 'City is a required field.');
    } else if ($('#c_txtState').val() == '0') {
        create = false;
        setError('c_message', 'State is a required field.');
    } else if ($('#c_txtZip').val() == '') {
        create = false;
        setError('c_message', 'Zip Code is a required field.');
    } else if ($('#c_txtPhone').val() == '') {
        create = false;
        setError('c_message', 'Office Phone is a required field.');
    } else if ($('#c_txtQuestion').val() == '0') {
        create = false;
        setError('c_message', 'Security Question is a required field.');
    } else if ($('#c_txtAnswer').val() == '') {
        create = false;
        setError('c_message', 'Answer is a required field.');
    }

    return create;
}

function createAccount() {
    var create = validateForm();
    if (create == true) {
        var d = "{user:{ Username: '" + $('#c_txtUsername').val() + "', Password: '" + $('#c_txtPassword').val() + "', Email: '" + $('#c_txtEmail').val() + "',";
        d += " Question: '" + $('#c_txtQuestion :selected').text() + "', Answer: '" + $('#c_txtAnswer').val() + "', FirstName: '" + $('#c_txtFirstName').val() + "',";
        d += " LastName: '" + $('#c_txtLastName').val() + "', Position: '" + $('#c_txtPosition').val() + "', Department: '" + $('#c_txtDepartment').val() + "',";
        d += " Address1: '" + $('#c_txtAddress1').val() + "', Address2: '" + $('#c_txtAddress2').val() + "', City: '" + $('#c_txtCity').val() + "',";
        d += " State: '" + $('#c_txtState').val() + "', ZipCode: '" + $('#c_txtZip').val() + "', OfficePhone: '" + $('#c_txtPhone').val() + "'";
        d += "}}";        
        $.ajax({
            type: "POST",
            url: "LoginService.aspx/CreateAccount",
            data: d,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(msg) {                
                setHighlight('c_message', msg.d);
            },
            error: function(xhr, ajaxOptions, thrownError) {
                alert(xhr.status);
                alert(xhr.responseText);
            }
        });        
    }    
}

function hideErrorWarning(div) {
    $('#' + div).hide();
}

function setHighlight(div, str) {
    $('#' + div).attr('class', 'ui-widget');
    var s = '<div class=\'ui-state-highlight ui-corner-all\' style=\'padding: 0.7em\'>';
    s += '<p><span class=\'ui-icon ui-icon-info\' style=\'float:left; margin-right: .3em\'></span>';
    s += str;
    s += '</p></div>';
    $('#' + div).html(s);
    $('#' + div).show('bounce', {}, 500);
}

function setError(div, str) {
    $('#' + div).attr('class', 'ui-widget');
    var s = '<div class=\'ui-state-error ui-corner-all\' style=\'padding: 0.7em\'>';
    s += '<p><span class=\'ui-icon ui-icon-alert\' style=\'float:left; margin-right: .3em\'></span>';
    s += str;
    s += '</p></div>';
    $('#' + div).html(s);
    $('#' + div).show('bounce', {}, 500);
}
