﻿// JScript File

function addBlurEventToSizeQuantityBoxes(item, eventFunction)
{
    var objItem = jQuery(item);
    
    var objInputs = objItem.find('input');
    objInputs.blur(eventFunction);
}

function getDeltaPrice(text)
{
    var dex = text.indexOf('[');
    var deltaPrice = 0.0;
    if (dex >= 0.0)
        deltaPrice = parseFloat(text.substring(dex+1, text.length-1).replace('+', '').replace('$', ''));
    if (isNaN(deltaPrice))
        deltaPrice = 0.0;
        
     return deltaPrice;
}

function getRow(eleTarget)
{
    var name = eleTarget.name;
    
    var elements = name.split('_');
    if (elements.length >= 4)
        return parseInt(elements[3]);
        
    return -1;
}

function onBlurSizeQuantity(evnt)
{
    var row = getRow(evnt.target);

    if (row == -1)
        return;

    var colorRow = row + 2;
    var productID = jQuery(evnt.target).parents('.VtxQtyTable').find('.VtxProductID').html();
    var variantID = jQuery(evnt.target).parents('.VtxQtyTable').find('.VtxVariantID').html();

    var inputSelector = 'Qty_' + productID + '_' + variantID + '_' + row;
    var objQuantities = jQuery(evnt.target).parents('.VtxQtyTable').find("input[name^='" + inputSelector + "']");
    var objDeltaPricesSize = jQuery(evnt.target).parents('.VtxQtyTable').find("table tr:first td");
   
    var objDeltaPricesColor = jQuery(evnt.target).parents('.VtxQtyTable').find("table tr:nth-child(" + colorRow  + ") td:first");
       
    var regularPrice = parseFloat(jQuery('#VtxQtyTable_' + variantID + '_Price').html());
    if (isNaN(regularPrice))
        regularPrice = 0.0;
      
    var i = 1;
    var totalPrice = 0.0;
    objQuantities.each( function (o)
    {
        if ((this.className == '') || (this.className != 'VtxQtyTable_TotalPrice'))
        {
            var qty = parseInt(this.value);
            if (isNaN(qty))
                qty = 0;
                
            var deltaPriceSize = getDeltaPrice(jQuery(objDeltaPricesSize[i++]).html());
            var deltaPriceColor = getDeltaPrice(objDeltaPricesColor.html());
  
            var loctot = (deltaPriceSize + deltaPriceColor + regularPrice) * qty;
            totalPrice += loctot;
        }
    });
    
    jQuery('#VtxQtyTable_' + productID + '_' + variantID + '_TotalPrice_Row' + row).val('$' + totalPrice.toFixed(2));
}


jQuery(document).ready(function()
{        
    jQuery('.VtxQtyTable').each(function (i)
    {
         addBlurEventToSizeQuantityBoxes(this,onBlurSizeQuantity);
    });    
});
