function fixSelection()
{
    //alert("fixSelection");
    var _l = document.location.toString().split("?");   // _l now contains parameter string
    if (_l[1]) {                                        // are there any parameters in this URL?
        var _m = _l[1].split("&");                      // _m contains array of all parameters
        // if a product was specified, change selected list item
        if (_m[0].indexOf("product") >= 0 ) {
            //                alert("product found");
            for (var i=1; i < aProducts.length; ++i) {
                if (_m[0].indexOf(aProducts[i][0]) >= 0 ) {
                    document.Order.item.selectedIndex = i;
                    //                              alert("set index to " + i);
                }
            }
        }
    }
    doRecalc(document.Order);
}

function doRecalc(form)
{
    // set form's price, count, freight, itemCode and orderCode values
    form.itemCode.value = aProducts[form.item.selectedIndex][1];
    form.itemName.value = aProducts[form.item.selectedIndex][2];
	if ( form.itemName.value.indexOf("Reader") >= 0) {
        form.freight.value = 0.00;
		form.delivery[0].checked = true;
		form.delivery[1].checked = false; form.delivery[1].enabled = false;
		form.delivery[2].checked = false; form.delivery[2].enabled = false;
		form.shipMethod.value = "DL";
	}
	else {
		form.delivery[1].enabled = true;
		form.delivery[2].enabled = true;
	}
    form.price.value = aProducts[form.item.selectedIndex][3];
    form.count.value = form.quantity.selectedIndex + 1;

    form.total.value = "$" + Cash(parseInt(form.count.value) * form.price.value + parseInt(form.freight.value));
    form.orderCode.value = form.itemCode.value + pad(form.count.value,3) + form.shipMethod.value;
    //alert("orderCode is " + form.orderCode.value);
}

function doButton(form)
{
    // handle radio button settings and set form's freight and shipMethod value
    //alert("doButton");
    if (form.delivery[0].checked == true) {
        //         alert("download!");   
        form.freight.value = 0.00;
        form.shipMethod.value = "DL";
        form.delivery[1].checked = false;
        form.delivery[2].checked = false;
    } else if (form.delivery[1].checked == true) {
        //         alert("ground!"); 
        form.freight.value = 20.00;
        form.shipMethod.value = "GR";
        form.delivery[0].checked = false;
        form.delivery[2].checked = false;
    } else {
        //          alert("overnight!"); 
        form.freight.value = 45.00;
        form.shipMethod.value = "ON";
        form.delivery[0].checked = false;
        form.delivery[1].checked = false;
    }
    doRecalc(form);
}
function completeOrder(form)
{
	
//	alert("ISC's on-line store is closed for the holidays. We will resume normal operations on Jan. 5. For immediate assistance, try calling our Deerfield office: +1 847 405-0500");
//	return false;

    //alert("completing order");
    if (document.Order.item.selectedIndex == 0) {
        alert("Please select the ISC product you wish to purchase.");
        return false;
    }
    doButton(document.Order);
    doRecalc(document.Order);             // just in case!
    // PayPal defaults have already been set
    // now read input form and set remaining variables
    form.item_name.value=document.Order.itemName.value;
    if (document.Order.count.value > 1)
        form.item_name.value = form.item_name.value + " (" + document.Order.count.value + " user licenses)";
    else
        form.item_name.value = form.item_name.value + " (single user license)";
    //       alert("item_name = " + form.item_name.value);
    form.item_number.value = document.Order.orderCode.value;
    // alert("item_number = " + form.item_number.value);

	form.amount.value=Cash(parseInt(document.Order.count.value) * document.Order.price.value);
    // alert("amount = " + form.amount.value);
    form.on0.value="Delivery method";
    if (document.Order.delivery[1].checked == true) {
        form.os0.value="CD-ROM media, ground shipping";
        form.shipping.value = "20.00";
    } else if (document.Order.delivery[2].checked == true) {
        form.os0.value="CD-ROM media, overnight shipping";
        form.shipping.value = "45.00";
    } else {
        form.os0.value="download link";
        form.shipping.value = "0.00";
    }
    // alert("Delivery method = " + form.os0.value);
    // alert("Shipping cost = " + form.shipping.value);
    if (document.Order.shipMethod.value == "DL") {
        form.no_note.value = "0";
        form.on1.value="Special instructions";
        //          form.os1.value="please specify your e-mail and ground addresses in the Optional Instructions field on the next form.";
    }
    document.BuyNow.submit();
}
function Cash(money) 
{
    money=Math.round(money*100).toString(); 
    if (money<10) return '0.0'+money;
    return(money<100)?'0.'+money:+money.substring(0,money.length-2)+'.'+money.substring(money.length-2,money.length); 
} 

function pad(number,length) 
{
    var str = '' + number;
    if (str.length > length) {
        first = 0;
        while (str.charAt(first) == ' ' && first < length)
            first++; 
        str = str.substr(first);
    }
    while (str.length < length)
        str = '0' + str;
    return str;
}

function gup( tag )
{
  tag = tag.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+tag+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location );
  if( results == null )
    return "";
  else
    return results[1];
}

function setTab()
{
	var tabID = gup("tab");
	if ( tabID != "" ) {
/*		alert("tabID=" + tabID);
*/        Tabs1.showPanel(parseInt(tabID));
	}
}

function OnLoadPage()
{
//    alert("OnLoadPage");
    var q = document.forms['Order'].item;
	var i = 0;
	while ( !(aProducts[i][0] == null) ) {
		if (i == 0)
			q.options[i] = new Option(aProducts[i][2], aProducts[i][0]);
		else
			q.options[i] = new Option(aProducts[i][2] + "   ($" + aProducts[i][3] + ")", aProducts[i][0]);
		i = i + 1;
	}
    q.selectedIndex = 0;

    q = document.forms['Order'].quantity;
	for (i = 0; i < 24; i++) {
        q.options[i] = new Option(i+1,i+1);
    }
    q.selectedIndex = 0;

	fixSelection();
	setTab();
}


