(function($) {
  $.fn.doCalc = function(e){
    if ($(this).find('select[name=province] option:selected').val() == '-1')
    {
      alert('Please select Province');
      $(this).find('input[name=province]').focus();
      return false;
    }
    if ($(this).find('input[name=income]').val() == '')
    {
      alert('Please enter income');
      $(this).find('input[name=income]').focus();
      return false;
    }
    if ($(this).find('select[name=children] option:selected').val() == '-1')
    {
      alert('Please select Number of children');
      $(this).find('input[name=children]').focus();
      return false;
    }
    
    var frmParent = $(this).parent().find('form');
    var data = frmParent.serialize();
    data = 'url=http://divorceinontario.ca/calc.php&method=post&params=' + encodeURIComponent(data);
    var btnSubmit = $(this).find('input[type=submit]');
    var btnValue = $(btnSubmit).val();
    if (frmParent.find('#calc_result').length == 0)
       frmParent.append('<div id="calc_result">Please wait...</div>');
    else
       frmParent.find('#calc_result').html('Please wait...');
    $(btnSubmit).attr('disabled', true);
    $.ajax({
      type: 'GET',
      url: '/cross_ajax.php',
      data: data,
      dataType: 'json',
      success: function(msg){
        if (msg['result'] == false)
        {
          alert('An error occured while calculating.');
          //$(btnSubmit).val(btnValue);
          frmParent.find('#calc_result').html('');
          $(btnSubmit).attr('disabled', false);
          return false; 
        }
  frmParent.find('#calc_result').html('The child support amount would be <span>' + msg['value_formatted'] + '</span> a month.');
        //frmParent.find('#calc_notice').html('Use this calculator to calculate your payments amounts.');
        $(btnSubmit).attr('disabled', false);
      }
    });
  };
  
  $('#calc').bind('submit', function(e){
    $(this).doCalc(e);
    return false;
  });
  
  $('.frmCalc').bind('submit', function(e){
    $(this).doCalc(e);
    return false;
  });
})(jQuery);
