function Dollar (val) {  // force to valid dollar amount
  var str,pos,rnd=0;
  if (val < .995) rnd = 1;  // for old Netscape browsers
  str = escape (val*1.0 + 0.005001 + rnd);  // float, round, escape
  pos = str.indexOf (".");
  if (pos > 0) str = str.substring (rnd, pos + 3);
  return str;
}

function ReadForm (obj1) { // process un-named selects
  var i,amt,des,obj,pos,val;
  amt = obj1.baseamt.value*1.0;       // base amount
  des = obj1.basedes.value;           // base description
  for (i=0; i<obj1.length; i++) {     // run entire form
    obj = obj1.elements[i];           // a form element
    if (obj.type == "select-one" &&   // just get selects
      obj.name == "" ||     			// must be un-named
        obj.type == "radio") {        //  and radios
      if (obj.checked & obj.type =="radio") {
        val = obj.value;                // the value of the selection
        pos  = val.indexOf ("@");       // price set?
        if (pos > 0) amt = val.substring (pos + 1)*1.0;
        pos  = val.indexOf ("+");       // price increment?
        if (pos > 0) amt = amt + val.substring (pos + 1)*1.0;
        pos  = val.indexOf ("-");       // price increment?
        if (pos > 0) amt = amt - val.substring (pos + 1)*1.0;
        pos  = val.indexOf ("%");       // percent change?
        if (pos > 0) amt = amt + (amt * val.substring (pos + 1)/100.0)
        if (obj.value == "No Bags - 20.00") {
			if(obj1.item_number.value=="3") obj1.item_number.value = "11";
			if(obj1.item_number.value=="2") obj1.item_number.value = "10";
			if(obj1.item_number.value=="25") obj1.item_number.value = "27";
			obj1.os0.value = "No Bags";
			obj1.os1.value = "No Bags";
		}
        else if (obj.value == "With Bags" && (obj1.os0.value == "No Bags" | obj1.os1.value == "No Bags")) {
			if(obj1.item_number.value=="11") obj1.item_number.value = "3";
			if(obj1.item_number.value=="10") obj1.item_number.value = "2";
			if(obj1.item_number.value=="27") obj1.item_number.value = "25";
			obj1.os0.value = "Red";
			obj1.os1.value = "Blue";
		}       
        des = des + ", " + val;         // accumulate value, or text
        }
      else if (obj.type == "select-one" &&   // just get selects
      	 obj.name == "") {             // must be un-named
      	 pos = obj.selectedIndex;        // which option selected
      	 val = obj.options[pos].value;   // selected value
      	 pos  = val.indexOf ("@");       // price set?
      	 if (pos > 0) amt = val.substring (pos + 1)*1.0;
      	 pos  = val.indexOf ("+");       // price increment?
      	 if (pos > 0) amt = amt + val.substring (pos + 1)*1.0;
      	 pos  = val.indexOf ("-");       // price increment?
      	 if (pos > 0) amt = amt - val.substring (pos + 1)*1.0;
      	 pos  = val.indexOf ("%");       // percent change?
      	 if (pos > 0) amt = amt + (amt * val.substring (pos + 1)/100.0)
      	 des = des + ", " + val;         // accumulate value, or text
      	 if (obj.value == "Pickup") {
      	 obj1.shipping.value = "0.00";
      	 obj1.shipping2.value = "0.00";}
      	 else if (obj.value == "UPS Ground") {
      	 obj1.shipping.value = obj1.shipvalue1.value;
      	 obj1.shipping2.value = obj1.shipvalue2.value;}
		 if (obj.value.match("Combo Set")) {
      	 obj1.item_number.value = "9";}
      	 else if (obj.value.match("Single")) {
      	 obj1.item_number.value = "8";}
		 else if (obj.value.match("8 Bags")) {
      	 obj1.item_number.value = "5";}
      	 else if (obj.value.match("6 Bags")) {
      	 obj1.item_number.value = "6";}
        }
      }
  }
  obj1.item_name.value = des;
  obj1.amount.value = Dollar (amt);
  if (obj1.tot) obj1.tot.value = "$" + Dollar (amt);
}