// Code to sum permutations using price in brackets from Drop-Down Lists V1.00
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
  ppraw = ppraw * 1.175;	// Add in VAT
  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];
    // look for 1st n.nn starting from end
    thistext = thissel.options[thissel.selectedIndex].text.replace(/,/g,'').split('').reverse().join('');
    var textbits = thistext.match(/(\d\d\.\d+)/);
    if ( textbits != null ) rtot += (textbits[1].split('').reverse().join('')-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);
}

