var jdi = jdi || {}; 

$(document).ready(function(){
  jdi.ini();
});

// initialize and refresh calculations
jdi.ini = function(){
  var g6  = parseInt($('#g6').attr('value'));
  var g7  = parseInt($('#g7').attr('value'));
  var g8  = parseInt($('#g8').attr('value'));
  var g9  = parseInt($('#g9').attr('value'));
  var g19 = parseInt($('#g19').attr('value'));
  
  var i7  = parseInt($('#i7').attr('value'));
  
  var e6  = parseInt($('#e6').attr('value'));
  var e7  = parseInt($('#e7').attr('value'));
  var e8  = parseInt($('#e8').attr('value'));
  var e17 = parseInt($('#e17').attr('value'));
  var e18 = parseInt($('#e18').attr('value')); 
  var e20 = parseInt($('#e20').attr('value')); 
  var e21 = parseInt($('#e21').attr('value')); 
  var e22 = parseInt($('#e22').attr('value')); 
  
  var d10 = parseInt($('#d10').attr('value'));
  var d11 = parseInt($('#d11').attr('value'));
  var d12 = parseInt($('#d12').attr('value'));
  var d18 = parseInt($('#d18').attr('value')); 

  $('#i7').attr('value', 17-g8-g7);
  
  $('#g9').attr('value',( g6 + g7 + g8 ) + 2); 
  
  if (((g6 + g7 + g8) + 2) <= 20){
    $('p.d10').remove();
    $('#d10').attr('value', g7 * e7 + g8 * e8 + g6 * e6 );
  }else{
    $('p.d10').remove();
    $('#d10').after('<p class="d10">Not Achievable in Largest Chassis<p>');
  }
  
  $('#d11').attr('value',g7 * e7);
  $('#d12').attr('value',g8 * e8);

  $('#g17').attr('value',20-1-e18-e17);
  
  $('#g19').attr('value', (e17 + e18) + 1); 
  
  if (e17 + e18 <= 19){
    $('p.e20').remove();
    $('p.e21').remove();
    $('p.e22').remove();  
    $('#e20').attr('value', e17 * 4);
    $('#e21').attr('value', e18 * 2);
    $('#e22').attr('value', e18 * d18); 
  }else{
    $('p.e20').remove();
    $('p.e21').remove();
    $('p.e22').remove();
    $('#e20').after('<p class="e20">Not Achievable in Largest Chassis<p>');
    $('#e21').after('<p class="e20">Not Achievable in Largest Chassis<p>'); 
    $('#e22').after('<p class="e20">Not Achievable in Largest Chassis<p>');   
  }
  
  if((g6 + g7 + g8) + 2 <= 20){
    $('p.d25').remove();
    $('#d25').attr('value',g6 + g7 + g8 + 2);
  }else{  
    $('p.d25').remove();
    $('#d25').after('<p class="d25">Not Achievable in Any Chassis<p>');  
  }

  if((e17 + e18) + 1 <= 20){
    $('p.d26').remove();
    $('#d26').attr('value', (e17 + e18) + 1);
  }else{
    $('p.d26').remove();
    $('#d26').after('<p class="d26">Not Achievable in Any Chassis<p>');    
  }
  
  if((g6 + g7 + g8) + 2 + (e17 + e18) <= 20){
    $('p.d27').remove();
    $('#d27').attr('value', (g6 + g7 + g8) + 2 + (e17 + e18));
  }else{
    $('p.d27').remove();
    $('#d27').after('<p class="d27">Not Achievable in Any Chassis<p>');  
  }
  
}

// increase
jdi.inc = function(e, upto){
  var number = parseInt($(e).attr('value'));
  if (number < upto){
    $(e).attr('value', ++number);
  }
  
  jdi.ini();
}

// decrease
jdi.dec = function(e){
  var number = parseInt($(e).attr('value'));
  if (number > 0){
    $(e).attr('value', --number);
  }
  
  jdi.ini();   
}

// uncheck
jdi.uncheck = function(e){
  if (e = 'c28'){
    var checked = $('#c28').attr('checked');
    if (checked){
      $('#c25').attr('checked', false);
      $('#c26').attr('checked', false);  
    }
  }else{
    $('#c28').attr('checked', false);
  } 
}

// validate form submission
jdi.pre_submit = function(){
  var name    = $('#quote_name').attr('value');
  var email   = $('#quote_email').attr('value');
  var company = $('#quote_company').attr('value');
      
  if (name && email && company){
    var form = document.getElementById("quote_calculator_form");
    form.submit();
  }else{
    alert('Please enter your name, email, and company.');
  }
}

// reset to base configuration
jdi.reset = function($num){
    switch($num)
    {
        case 1:
            $('#g7').attr('value', 2);
            $('#g8').attr('value', 1);    
        break;
        case 2:
            $('#e17').attr('value', 1);
            $('#e18').attr('value', 1);
        break; 
    }
    jdi.ini();
}