﻿// JScript File

 

//var partLen = 300;


function popup(url, name)
{
    window.open(url, name, "width=640,height=480,directories=no,location=no,resizable=yes,menubar=no,toolbar=no,scrollbars=yes,status=no");
}

function updateParent(field, value)
{
    window.opener.document.getElementById(field).value = value;
}

function updateParentAndClose(field, value)
{
    updateParent(field, value);
    window.close();
}

function formatCurrency(num) {
    num = num.toString().replace(/\$|\,/g,'');
    if(isNaN(num))
        num = "0";
    sign = (num == (num = Math.abs(num)));
    num = Math.floor(num*100+0.50000000001);
    cents = num%100;
    num = Math.floor(num/100).toString();
    if(cents<10)
        cents = "0" + cents;
    for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
        num = num.substring(0,num.length-(4*i+3))+','+
    num.substring(num.length-(4*i+3));
    return (((sign)?'':'-') + '$' + num + '.' + cents);
}


// *************** Product Configurator Stuff ***************** //

function createParts(length)
{
    partLen = length;
    parts = MultiDimensionalArray(partLen,2);
}

function checkPart(part)
{
    for( i=0; i<parts.length; i++ )
    {
        if( parts[i][0] == part )
            return true;
    }

    return false;
}
function getPrice(part)
{
    for( i=0; i<parts.length; i++ )
    {
        if( parts[i][0] == part )
            return parts[i][1];
    }
    return 0; 
}
function validateBuild()
{
}

function calcTotal()
{
    //  alert('entered calcTotal');
    
    var total = 0;
    
    //alert('total = 0;');
    
    var tot = document.getElementById('totalPrice');
    
    //alert('var tot = document.getElementById("totalPrice");');
    
    var elems = document.getElementsByTagName('input');
    
    //alert('var elems = document.getElementsTagName("input");');
    
    for( var i=0; i<elems.length; i++ )
    {
        //alert(elems[i].id);
        var str = new String(elems[i].id);
        if( str.indexOf("_", 0) > 0 )
        {
            //alert(str);
            var parts = str.split("_");
            if( parts[0] == 'pri' )
            {
                var qty = document.getElementById('qty_' + parts[1]);
                if( !isNaN(qty.value) && !isNaN(elems[i].value) )
                {
                    total += qty.value * elems[i].value;
                }
            }
        }
    }
    tot.value = formatCurrency(total);
}

 function changePart(lineNum)
{
    // Get the part, quantity, hidden price, and price fields
    var part = document.getElementById('part_' + lineNum);
    var qty = document.getElementById('qty_' + lineNum);
    var pri = document.getElementById('pri_' + lineNum);
    var ext = document.getElementById('ext_' + lineNum);
    var tot = document.getElementById('totalPrice');
    
    if( part == null || qty == null || pri == null || ext == null )
        return;
    
    // Make sure the part is valid
    if( !checkPart(part.value) )
    {
        part.style.background = '#FF8080';
        part.style.fontWeight = 'bolder';
        pri.value = '';
        ext.value = '';
    }
    else
    {
        part.style.background = '#FFFFFF';
        part.style.fontWeight = '';
        pri.value = getPrice(part.value);
        if( !isNaN(qty.value) )
        {
            ext.value = formatCurrency(pri.value * qty.value);
        }
        
        // Is it a case?
        var spart = new String(part.value);
        if( "CA-MICRO" == spart.substr(0, 8) ||
            "CA-MID" == spart.substr(0, 6) ||
            "CA-FULL" == spart.substr(0, 7) )
        {
            var thImg = document.getElementById('theImg');
            var thumb = document.getElementById('thumbID');
            if( thImg != null )
                thImg.src = '/ccbv/imgs/stock/thumbs150/' + spart + '.jpg';
            if( thumb != null )
                thumb.value = spart;
        }
    }
    calcTotal();
}