 var TotalMinutes = 0;
  var TotalInches = 0;
  var PoundVar = 0;
  var XHR;
  
  $(document).ready(function(){
    //only allow numbers
    $("#WhatYouPaidFor, #wire-step2-form input").keypress(function(e) {
        if ((e.which >= 48 && e.which <= 57) || e.which == 8 || e.which == 0 || e.which == 46) {
            return true;
        }
        return false;
    });
        
    $("#SubmitContactInfo").click(function(){
      //validate form
      var IsValid = true;
      $("#wirecalc-contactcontainer input").each(function(){
        if($(this).hasClass("req")){
          if(this.value == ""){
            $(this).addClass("error");
            IsValid = false;
          }
          else{
            $(this).removeClass("error");
          }
        }
        if($(this).hasClass("email")){
          if(!IsValidEmail(this.value)){
            $(this).addClass("error");
          }
        }
      });
      
      if(IsValid){
        if (XHR != null) {
          XHR.abort();
        }
        XHR = $.ajax({
            type: "POST",
            url: "WireCalcService.asmx/SubmitContactInfo",
            data: "{'FName' : '" + $("#FName").val() + "', " +
                           "'LName' : '" + $("#LName").val() + "', " +
                           "'Name' : '" + $("#Name").val() + "', " +
                           "'Company' : '" + $("#Company").val() + "', " +
                           "'Email' : '" + $("#Email").val() + "', " +
                           "'Phone' : '" + $("#Phone").val() + "', " +
                           "'Country' : '" + $("#Country").val() + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(result) {
              $("#wirecalc-contactcontainer fieldset").fadeOut(200);
              $("#wirecalc-contact-thankyou").fadeIn(200);
            }
        });
      }
    });
    
    $("#Recalculate").click(function(){
      $("#wire-results").fadeOut(200, function(){
        $("#wire-step2").fadeIn(200);
      });
    });
    
    $("#SubmitCalc").click(function(){
        //validate form
        var IsValid = true;
        var FirstPassSpeed = $("#FirstPassSpeed").val();
        var FirstPassTime = $("#FirstPassTime").val();
         
        if($("#WireType option:selected").val() == ""){
          $("#wire-step1-errormsg").html("Please select your wire type.").focus();
          IsValid = false;
        }
        else{
          $("#wire-step1-errormsg").html("");          
        }
        if($("#FirstPassSpeed").val() == "" || $("#FirstPassTime").val() == ""){
          $("#wire-step2-errormsg").html("Please enter a wire speed/pass and machining time/pass.").focus();
          IsValid = false;
        }
        else{
          $("#wire-step2-errormsg").html("");
        }
        if($("#WhatYouPaidFor").val() == ""){
          $("#whatyoupaid-errormsg").html("Please enter what you paid for.");
          IsValid = false;
        }
        else{
          $("#whatyoupaid-errormsg").html("");
        }
        
        if(IsValid){
          //reset variables
          TotalMinutes = 0;
          TotalInches = 0;
          PoundVar = 0;
          
          //set pound multiplier
          switch($("#WireType option:selected").val()){
            case ".012":
              PoundVar = 818.1818;
              break;
            case ".01":
              PoundVar = 1181.8182;
              break;
            case ".008":
              PoundVar = 1872.7273;
              break;
            case ".006":
              PoundVar = 3300;
              break;
            case ".004":
              PoundVar = 3909.0909;
              break;
          }
          SetValues("1", FirstPassSpeed, FirstPassTime);
          
          var SecondPassSpeed = $("#SecondPassSpeed ").val();
          var SecondPassTime = $("#SecondPassTime").val();
          var ThirdPassSpeed = $("#ThirdPassSpeed ").val();
          var ThirdPassTime = $("#ThirdPassTime").val();
          var FourthPassSpeed = $("#FourthPassSpeed").val();
          var FourthPassTime = $("#FourthPassTime").val();
          var FifthPassSpeed = $("#FifthPassSpeed").val();
          var FifthPassTime = $("#FifthPassTime").val();
          var SixthPassSpeed = $("#SixthPassSpeed").val();
          var SixthPassTime = $("#SixthPassTime").val();
          
          if(SecondPassSpeed != "" && SecondPassTime){
            SetValues("2", SecondPassSpeed, SecondPassTime);
          }
          if(ThirdPassSpeed != "" && ThirdPassTime){
            SetValues("3", ThirdPassSpeed, ThirdPassTime);
          }
          if(FourthPassSpeed != "" && FourthPassTime){
            SetValues("4", FourthPassSpeed, FourthPassTime);
          }
          if(FifthPassSpeed != "" && FifthPassTime){
            SetValues("5", FifthPassSpeed, FifthPassTime);
          }
          if(SixthPassSpeed != "" && SixthPassTime){
            SetValues("6", SixthPassSpeed, SixthPassTime);
          }
          
          //set totals
          $("#TotalMinutes").html(Math.round(TotalMinutes * 1000) / 1000);
          $("#TotalInches").html(Math.round(TotalInches * 1000) / 1000);
          $("#TotalYards").html(Math.round(TotalInches / 36 * 1000) / 1000);
          var TotalPounds = TotalInches / 36 / PoundVar;
          $("#TotalPounds").html(Math.round(TotalPounds * 1000) / 1000);
          $("#PoundsPerHour").html(Math.round(TotalPounds / (TotalMinutes / 60) * 1000) / 1000);
          
          var WhatYouPaid = $("#WhatYouPaidFor").val();
          $("#WhatYouPaid").html("$" + (+WhatYouPaid).toFixed(2));
          $("#ConsumptionCosts").html("$" + (WhatYouPaid * TotalPounds).toFixed(2));
          $("#ConsumptionCostHour").html("$" + (WhatYouPaid * (TotalPounds / (TotalMinutes / 60))).toFixed(2));
          
          $("#YouCouldSave2, #YouCouldSave").html("$" + (WhatYouPaid * TotalPounds * .6).toFixed(2));

          $("#wire-step2").fadeOut(200, function(){
            $("#wire-results").fadeIn(200);
          });
          
        }
    });
  });
  
  
  function IsValidEmail(strValue) {
      strValue = $.trim(strValue);
      var objRegExp = /(^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6})/i;
      return objRegExp.test(strValue);
  }
  
  function SetValues(PassNum, Speed, Time){
    var PassRow = $("#Pass" + PassNum + " td");
    
    $(PassRow[1]).html(Speed);
    $(PassRow[2]).html(Time);
    
    var Inches = ((Speed*10)*(Time*60))*0.03937;
    $(PassRow[3]).html(Math.round(Inches * 1000)/1000);
    
    var Yards = Inches / 36;
    $(PassRow[4]).html(Math.round(Yards * 1000)/1000);
    $(PassRow[5]).html(Math.round(Yards / PoundVar * 1000)/1000);
    
    //increment totals
    TotalMinutes += (+Time);
    TotalInches += Inches;
  }
