// Code to sum permutations using price in brackets from Drop-Down Lists V1.01

function CommaFormatted(num){		// Comma format a number.
  var sep = ',';
  num = num.toString().split('').reverse().join('');		// reverse number
  num = num.replace(/(\d\d\d)(?=\d)(?!\d*\.)/g,'$1' + sep);	// add commas
  return num.split('').reverse().join('');			// reverse number back;
}

function selchange(ref,ppraw){		// called when SELECT tag changes
  var span = document.getElementById(ref + '_clist');
  var sels = span.getElementsByTagName('select');
  var rtot = 0;
  for ( var i=0; i < sels.length; i++ )
    {
    thissel = sels[i];
    if ( thissel.options[thissel.selectedIndex].getAttribute('price') )
      {
      rtot += thissel.options[thissel.selectedIndex].getAttribute('price') - 0;
      }
    }
  if ( document.getElementById(ref + '_ctotal') )
    {
    document.getElementById(ref + '_ctotal').innerHTML = CommaFormatted(((rtot-0) + (ppraw-0)).toFixed(2));
    }
}

function setupclist(ref,ppraw,pricingmodel){	// Add onchange to SELECT tags. Set inital total.
  //Product Price: 0, Sum of Component Prices: 1, Sum of Product and Component: Prices 2
  if ( pricingmodel == 1 ) ppraw = 0;
  var span = document.getElementById(ref + '_clist');
  var sels = span.getElementsByTagName('select');
  for ( var i=0; i < sels.length; i++ )
    {
    thissel = sels[i];
    thissel.onchange = function(){selchange(ref,ppraw);};
    }
  selchange(ref,ppraw);
}


