function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}


function AddProductIntoWindow(name, qty, sku, price) {

    var doc = null;

    if (!window.top.orderWindow || !window.top.orderWindow.document) {
        var newWindow = window.top.open('order.aspx', 'order', 'scrollbars=yes,resizable=yes,width=600,height=600');
        setTimeout(function () { AddProductIntoWindow(name, qty, sku, price) }, 500);
        return;
    }
    else {
        doc = window.top.orderWindow.document;
    }  
    
    var newNode = doc.getElementById('ProductLineRecord').getElementsByTagName("table")[0].cloneNode(true);
    doc.getElementById('OrderForm').insertBefore(newNode, doc.getElementById('NewItemButton'));

    $(newNode).find('input[name="ProductName"]').val(name);
    $(newNode).find('input[name="ProductNumber"]').val(qty);
    $(newNode).find('input[name="ProductQty"]').val(sku);
    $(newNode).find('input[name="ProductPrice"]').val(price);

    FormatPrice($(newNode).find('input[name="ProductPrice"]').get(0), doc);

    if (window.top.orderWindow) {
        $('#AddedToOrderNotice').fadeIn(500).delay(2000).fadeOut(500);
    }
    return (false);
}

function AddProduct() {
    if (document.getElementById('ProductLineRecord')) {
        var newNode = document.getElementById('ProductLineRecord').getElementsByTagName("table")[0].cloneNode(true);
        document.getElementById('OrderForm').insertBefore(newNode, document.getElementById('NewItemButton'));
    }
}
AddProduct();
AddProduct();

function FormatPrice(TextBox, doc) {
    if (TextBox.value == "") {
        TextBox.value = "0";
    }
    var num = parseFloat(TextBox.value.replace(/[^0-9.]/g, ""));
    if (isNaN(num)) {
        alert("Please restrict your entry in the box to only numbers and \"$\"");
        TextBox.value = "";
    }
    else {
        TextBox.value = "$" + num.toFixed(2);
    }
    CalculateTotal(doc);
}
function FormatQty(TextBox, doc) {
    var num = parseFloat(TextBox.value.replace(/[^0-9.]/g, ""));
    if (isNaN(num)) {
        num = 1;
    }
    TextBox.value = Math.max(1, num);
    CalculateTotal(doc);
}

function CalculateTotal(doc) {
    var prices = doc.getElementsByName("ProductPrice");
    var qtys = doc.getElementsByName("ProductQty");
    var total = 0;
    for (p = 0; p < prices.length; p++) {
        var itemPrice = parseFloat(prices[p].value.replace(/[^0-9.]/g, ""));
        var itemQty = parseFloat(qtys[p].value.replace(/[^0-9.]/g, ""));
        if (!isNaN(itemPrice) && !isNaN(itemQty)) {
            total += itemPrice * itemQty;
        }
    }
    doc.getElementById("TotalPrice").innerHTML = "Sub-Total: $" + total.toFixed(2);
}
