//////////////////////////////////////////////////////////////////////////////
//
//      Script: equiry.js
// Description: Registration entryform ajax client.
//      Author: Ivan Lutrov <ivan@provisionit.com.au>
//
//////////////////////////////////////////////////////////////////////////////

function checkfield(s, f) {
   if (isempty(s)) {
      return "Please enter a " + f + ".\n";
   }
   var badchars = /[\(\)\<\>\,\;\:\\\"\[\]]/;
   if (s.match(badchars)) {
      return "The " + f + " contains illegal characters.\n";
   }
   if (f == 'email address') {
      var filter = /^.+@.+\..{2,3}$/;
      if ((filter.test(s))) {
         var badchars = /[\(\)\<\>\,\;\:\\\"\[\]]/;
         if (s.match(badchars)) {
            return "The email address contains illegal characters.\n";
         }
      } else {
         return "Please enter a valid email address.\n";
      }
   }
   return '';
}

function isempty(s) {
   s = trim(s);
   if (s.length == 0) {
      return true;
   }
   return false;
}

function trim(s) {
   while (s.substring(0, 1) == ' ') {
      s = s.substring(1, s.length);
   }
   while (s.substring(s.length - 1, s.length) == ' ') {
      s = s.substring(0, s.length - 1);
   }
   return s;
}

$(document).ready(
   function() {
      $('#entryform input[name=submit]').click(
         function() {
            error = checkfield($('#entryform input[name=businessname]').val(), 'business name');
            if (!isempty(error)) {
               $('#entryform input[name=businessname]').focus();
               $.growl(error);
               return false;
            }
            error = checkfield($('#entryform input[name=contactname]').val(), 'contact person');
            if (!isempty(error)) {
               $('#entryform input[name=contactname]').focus();
               $.growl(error);
               return false;
            }
            error = checkfield($('#entryform input[name=email]').val(), 'email address');
            if (!isempty(error)) {
               $('#entryform input[name=email]').focus();
               $.growl(error);
               return false;
            }
            error = checkfield($('#entryform input[name=mobile]').val(), 'mobile phone');
            if (!isempty(error)) {
               $('#entryform input[name=mobile]').focus();
               $.growl(error);
               return false;               
            }
            data =
               '&businessname=' + $('#entryform input[name=businessname]').val() +
               '&contactname=' + $('#entryform input[name=contactname]').val() +
               '&address=' + $('#entryform input[name=address]').val() +
               '&city=' + $('#entryform input[name=city]').val() +
               '&state=' + $('#entryform select[name=state]').val() +
               '&postcode=' + $('#entryform input[name=postcode]').val() +
               '&email=' + $('#entryform input[name=email]').val() +
               '&phone=' + $('#entryform input[name=phone]').val() +
               '&mobile=' + $('#entryform input[name=mobile]').val() +
               '&expenses=' + $('#entryform input[name=expenses]').val() +
               '&accountant=' + $('#entryform input[name=accountant]').val() +
               '&packages=' + $('#entryform input[name=packages]').val() +
               '&referral=' + $('#entryform select[name=referral]').val() +
               '&ifother=' + $('#entryform input[name=ifother]').val() +
               '&time=' + $('#entryform input[name=time]').val() +
               '&ip=' + $('#entryform input[name=ip]').val() +
               '&referer=' + $('#entryform input[name=referer]').val() +
               '&ua=' + $('#entryform input[name=ua]').val()
            ;
            $.ajax(
               {
                  type: 'POST',
                  url: 'index.php',
                  data: data,
                  success: function(r) {
                     $('#entryform input[name=submit]').attr('disabled', 'true');
                     $.growl("Your application has been sent to our team and an automated response will be sent to you shortly.", {header: 'Thank you.'});
                  }
               }
            );
         }
      );
      $('#entryform select[name=referral]').change(
         function() {
            if ($('#entryform select[name=referral]').val() == 'Other') {
               $('#entryform input[name=ifother]').removeAttr('disabled');
               $('#entryform input[name=ifother]').focus();
            } else {
               $('#entryform input[name=ifother]').attr('disabled', true);
            }
         }
      );
   }
);