function ctype_decide()
{
  var choice = document.getElementById('ctype_dropdown').options[document.getElementById('ctype_dropdown').selectedIndex].value;
  
  if (choice == "Visa")
  {
    cardFixVisa();
  }
  else if (choice == "MasterCard")
  {
    cardFixMasterCard();
  }
  else if (choice == "Discover")
  {
    cardFixDiscover();
  }
  else if (choice == "Amex")
  {
    cardFixAmex();
  }
  else
  {
    alert("There is an error with your card type selection.");
  }
}

function cardFixVisa()
{
  document.getElementById('cvv2').size=3;
  document.getElementById('cnum').innerHTML = '<input type="text" name="cnumber1" id="cnumber1" size="4" maxlength="4"> - <input type="text" name="cnumber2" id="cnumber2" size="4" maxlength="4"> - <input type="text" name="cnumber3" id="cnumber3" size="4" maxlength="4"> -  <input type="text" name="cnumber4" id="cnumber4" size="4" maxlength="4">';
}

function cardFixMasterCard()
{
  document.getElementById('cvv2').size=3;
  document.getElementById('cnum').innerHTML = '<input type="text" name="cnumber1" id="cnumber1" size="4" maxlength="4"> - <input type="text" name="cnumber2" id="cnumber2" size="4" maxlength="4"> - <input type="text" name="cnumber3" id="cnumber3" size="4" maxlength="4"> -  <input type="text" name="cnumber4" id="cnumber4" size="4" maxlength="4">';
}

function cardFixDiscover()
{
  document.getElementById('cvv2').size=3;
  document.getElementById('cnum').innerHTML = '<input type="text" name="cnumber1" id="cnumber1" size="4" maxlength="4"> - <input type="text" name="cnumber2" id="cnumber2" size="4" maxlength="4"> - <input type="text" name="cnumber3" id="cnumber3" size="4" maxlength="4"> -  <input type="text" name="cnumber4" id="cnumber4" size="4" maxlength="4">';
}

function cardFixAmex()
{
  document.getElementById('cvv2').size=4;
  document.getElementById('cnum').innerHTML = "<input type='text' name='cnumber1' id='cnumber1' size='4' maxlength='4'> - <input type='text' name='cnumber2' id='cnumber2' size='6' maxlength='6'> - <input type='text' name='cnumber3' id='cnumber3' size='5' maxlength='5'><input type='hidden' name='cnumber4' id='cnumber4' value=''>";
}

function updateShipping()
{
  var ship_type = document.getElementById('ship_type').selectedIndex;
  
  var is_backordered = document.getElementById('is_backordered').value;
  
  var ship_date = new Date();
  if (ship_date.getUTCHours() >= 16) //05 is the UTC equivalent of Noon EST
  {    
    ship_date.setTime(ship_date.getTime() + 86400000);
  }
  
  if (is_backordered > 0)
  {
    ship_date.setTime(ship_date.getTime() + (86400000 * 10));
  }

  document.getElementById('ship_date_span').innerHTML= Number(ship_date.getMonth() + 1) + "/" + ship_date.getDate() + "/" + ship_date.getFullYear();
  
  if (ship_type==0)
  {
    var disc_p = document.getElementById('ship_disc_p_' + ship_type).value;
    var disc_f = document.getElementById('ship_disc_f_' + ship_type).value;
  
    var rate = Number(document.getElementById('usps_price').value);
  
    //alert("|" + rate + "|");
  
    rate = (rate - disc_f) * disc_p;
    
    if (rate < 0)
    {
      rate = 0;
    }

    //alert("|" + rate + "|");

    document.getElementById('shipping').value = rate.toFixed(2);
    document.getElementById('ship_span').innerHTML = String(rate.toFixed(2));
    
    ship_date.setTime(ship_date.getTime() + (86400000 * 10));
    //alert(ship_date.getUTCHours() + "||");
    document.getElementById('inhands_date_span').innerHTML= Number(ship_date.getMonth() + 1) + "/" + ship_date.getDate() + "/" + ship_date.getFullYear();
    
    updateTax();
  }
  else
  {
  
    var end_zip = document.getElementById('szip').value;
    var weight = document.getElementById('weight').value;

    //alert("|" + weight + "|");

    var url = 'ups_ajax.php';  

    var params = 'end_zip=' + end_zip + '&';
        params += 'weight=' + weight + '&';
        params += 'code=' + String(Number(4-ship_type));


    new Ajax.Request(url, {method: 'post', parameters: params,
      onSuccess: function(transport) 
      {
        var disc_p = document.getElementById('ship_disc_p_' + ship_type).value;
        var disc_f = document.getElementById('ship_disc_f_' + ship_type).value;
        
        var response = transport.responseText;
      
        var rate = Number(response);
      
        //alert("|" + response + "|");
      
        rate = (rate - disc_f) * disc_p;
        
         if (rate < 0)
          {
            rate = 0;
          }
          
              updateTax();

        //alert("|" + rate + "|");

        document.getElementById('shipping').value = rate.toFixed(2);
        document.getElementById('ship_span').innerHTML = String(rate.toFixed(2));
        
        var url2 = 'ups_transit_ajax.php';  

        var params2 = 'end_zip=' + end_zip + '&';
           params2 += 'start_zip=48103&';
           params2 += 'date=' + String(ship_date.getFullYear()) + String(ship_date.getMonth() + 1) + String(ship_date.getDate()) + '&';
           params2 += 'code=' + String(Number(4-ship_type));

        new Ajax.Request(url2, {method: 'post', parameters: params2,
          onSuccess: function(transport) 
          {
            var transit_time = Number(transport.responseText);
            if (transit_time == 0) {transit_time = 1;}
            
            ship_date.setTime(ship_date.getTime() + (86400000 * transit_time));
            document.getElementById('inhands_date_span').innerHTML= Number(ship_date.getMonth() + 1) + "/" + ship_date.getDate() + "/" + ship_date.getFullYear();
          }
        });
      }
    });
  }
}

function updateTax()
{
  var zip = document.getElementById('szip').value;
  var state = document.getElementById('sstate').value;
  var shipping = Number(document.getElementById('shipping').value);
  var cart_size = Number(document.getElementById('cart_size').value);
  var sub_total = Number(document.getElementById('subtotal').value);
    
  var url = 'tax_ajax.php';  
  
  var params = 'zip=' + zip + '&';
      params += 'state=' + state + '&';
      params += 'shipping=' + shipping + '&';
      params += 'sub_total=' + sub_total + '&';
  
  var i=0;
      
  for (i=0; i < cart_size; i++)
  {
      params += 'cost' + i + '=' + document.getElementById('cost' + i).value + '&';
      params += 'apparel' + i + '=' + document.getElementById('apparel' + i).value + '&';
  }
    
  params += 'cart_size=' + cart_size;
  
  //alert(params);
  
  new Ajax.Request(url, {method: 'post', parameters: params,
    onSuccess: function(transport)
    {
      var result = transport.responseText;
      
      //alert(result);
      
      var tax = Number(result);
      
      document.getElementById('tax').value = tax.toFixed(2);
      document.getElementById('tax_span').innerHTML = String(tax.toFixed(2));
      
      updateTotal();
    }
  });
}

function updateTotal()
{ 
  var total = Number(document.getElementById('tax').value) + Number(document.getElementById('shipping').value) + Number(document.getElementById('subtotal').value);

  document.getElementById('datotal').value = total.toFixed(2);
  document.getElementById('total_span').innerHTML = String(total.toFixed(2));

  //document.getElementById('total_span').innerHTML = String(total.toFixed(2)) + "<input type='hidden' name='datotal' value='" + String(total.toFixed(2)) + "'>";
}

function updateAll()
{
  updateShipping();
  updateTax();
  updateTotal();
}
