var validstate = false;
var finalprice = 0.00;

var objects = new Array();

function init() {
   objects = new Array(document.quote.sv, document.quote.fml, document.quote.tfcl, document.quote.vb, document.quote.wfl);
}

function validate(evt, obj) {
  var key_code = (evt.charCode) ? evt.charCode : ((evt.which) ? evt.which : evt.keyCode);
  var Regex = new RegExp("[0-9]");

  if ((key_code != 8) && (key_code != 9) && (key_code != 46) && (!Regex.exec(String.fromCharCode(key_code)))) {
     document.getElementById("err").innerHTML = "Invalid input for " + obj.getAttribute("label") + ".";
     validstate = false;
     return false;
  }
      			
  document.getElementById("err").innerHTML = "&nbsp;";
      			   
  validstate = true;
}

function toggleAll() {
   for (i = 0; i < objects.length; i++) {
      objects[i].disabled = false;
      objects[i].enabled = true;
   }
}

function clearAll() {
   validstate = false;
   forcevalue = false;
   total = 0;
   
   for (i = 0; i < objects.length; i++)
      objects[i].value = "0";
   
   document.getElementById("pricequote").innerHTML = "Total: <b>$0.00</b>";
   document.getElementById("err").innerHTML = "&nbsp;";
   
}

function validateForm() {
   if (objects[0].value.length == 0)
   {
      document.getElementById("err").innerHTML = "Please fill out this form before continuing.";
      return false;
   }
   
   if (document.getElementById("err").innerHTML == "&nbsp;")
   {
      document.quote.price.value = finalprice;
      document.quote.submit();
   }
   else
      return false;
}

function updateForm(obj) {
   var price = 0.0;
   var phonelines = 0;

   if ((objects[0].value.length == 0) || (!validstate)) return;
   
   phonelines = parseInt(objects[0].value);
   
   if ((phonelines < 4) || (phonelines > 24))  {
      document.getElementById("err").innerHTML = "You can only have 4-24 phone lines.";
      return;
   }
   
   for (i = 1; i < objects.length; i++)
      if (objects[i].value.length > 0)
         if (parseInt(objects[i].value) > phonelines) {
            document.getElementById("err").innerHTML = "Invalid input for " + objects[i].getAttribute("label") + ".";
            objects[i].focus();
            return;
         }
         
   price = parseFloat(((phonelines - 4) * 34) + 150);
   
   for (i = 1; i < objects.length; i++) {
      if (objects[i].value.length > 0) {
         var num = parseInt(objects[i].value);
         if (num > 0) {
            var lineprice = parseFloat(objects[i].getAttribute("price"));
            price += (num * lineprice);
         }
      }
   }
   
   finalprice = price.toFixed(2);
   
   document.getElementById("err").innerHTML = "&nbsp;";
   document.getElementById("pricequote").innerHTML = "Total: <b>$" + finalprice + "</b>";
   toggleAll();
}