function updateSelection(sel, val, conf_obj, opt_cfg, opt_num) {

  //alert('sel: ' + sel + "\n" + 'val: ' + val  + "\n" + 'conf: ' + conf_obj  + "\n" + ' opt num: ' + opt_num + "\n" );
  var s = document.getElementById(sel);
  var prefix = 'attribute-current-';
  
  if(s == undefined && conf_obj == undefined) return;
  
  for (i = 0; i < s.length; i++) {
    
    if(s.options[i].value == val) {
      s.options[i].selected = true;
    }
    
  }
  
  updateDisplay(opt_cfg[opt_num], prefix);
  conf_obj.reloadPrice();
  
  if(hundredGramPrice) {
    hundredGramPrice.changePrice('product', Number(opt_cfg[opt_num]['price_hundred']));
    hundredGramPrice.reload();
  }
    
}  

function updateDisplay(cfg, prefix) {
  
  for (var s in cfg) {
   
    var elem = document.getElementById(prefix + s);
    if(!elem) continue;
    
    elem.innerHTML = cfg[s];
    
  }
}

function showColorSelector(btn, elemid, tableid, state) {
  
  var elem = $(elemid);
  var tble = $(tableid);
  // TODO: position box next to btn
  var enode = elem.parentNode.removeChild(elem);
  tble.parentNode.appendChild(elem);
  
  if(!elem) return;
  
  if(state) 
    elem.style.display = 'block';
  else 
    elem.style.display = 'none';

}
