function setSelectedMaterial(mnuID, orderID, name, key, papierID, produktLinieID)
{
  var target = document.getElementById("txtmaterial_" + orderID);
  if (target)
  {
    var materialText = document.createTextNode(name);
    if (name == "") 
      var materialText = document.createTextNode("Noch kein Medium gew"+String.fromCharCode(228)+"hlt!");
    if (target.firstChild)
    {
      target.removeChild(target.firstChild);
    }
    target.appendChild(materialText);
  }
  var hidden = document.getElementById('txtmaterial_key_' + orderID);
  if (hidden) hidden.value = key;
  
  hidden = document.getElementById('txtmaterial_name_' + orderID);
  if (hidden) hidden.value = name;

  hidden = document.getElementById('txtmaterial_id_' + orderID);
  if (hidden) hidden.value = papierID;

  hidden = document.getElementById('txtlinie_id_' + orderID);
  if (hidden) hidden.value = produktLinieID;

  urltxt = 'xmlcalc.php?lineid=' + produktLinieID + '&paperid=' + papierID;
  dsMaxFormat.setURL(urltxt);
  dsMaxFormat.loadData();
}

function calcEdge(img_x, img_y, orderID)
{
  var inputValue = document.getElementById('txtseitenlaenge_' + orderID);
  if (inputValue)
  {
    var v = inputValue.value.replace(/,/g, ".");
    var val = parseFloat(v);    
    var val_x   = val.toFixed(1);
    var val_y   = (val * (img_y / img_x)).toFixed(1);
    var val_ppi = (img_x / (val / 2.54)).toFixed(0);
    var val_qm = ((val_x / 100) * (val_y / 100)).toFixed(3);
    
    if (val == 0 || val > 1000)
    {
      val_x = "--- ";
      val_y = "--- ";
      val_ppi = 0;
      val_qm = 0;
    }
    else
    {
      if (isNaN(val_x)) val_x = "--- ";
      if (isNaN(val_y)) val_y = "--- ";
      if (isNaN(val_ppi)) val_ppi = 0;
      if (isNaN(val_qm))  val_qm = 0;
    }
    
    text_x = document.getElementById('edge_x_' + orderID);
    if (text_x)
    {
      var materialText = document.createTextNode(val_x);
      if (text_x.firstChild)
      {
        text_x.removeChild(text_x.firstChild);
      }
      text_x.appendChild(materialText);
    }
    text_y = document.getElementById('edge_y_' + orderID);
    if (text_y)
    {
      var materialText = document.createTextNode(val_y);
      if (text_y.firstChild)
      {
        text_y.removeChild(text_y.firstChild);
      }
      text_y.appendChild(materialText);
    }
    text_ppi = document.getElementById('edge_ppi_' + orderID);
    if (text_ppi)
    {
      var materialText = document.createTextNode(val_ppi);
      if (text_ppi.firstChild)
      {
        text_ppi.removeChild(text_ppi.firstChild);
      }
      text_ppi.appendChild(materialText);
      
      var edge_values = document.getElementById('edge_values_' + orderID);
      if (edge_values)
      {
        if (val_ppi < 100)      { edge_values.style.backgroundColor = "#f00"; edge_values.style.color = "#fff"; } 
        else if (val_ppi < 180) { edge_values.style.backgroundColor = "#cf0"; edge_values.style.color = ""; } 
        else                    { edge_values.style.backgroundColor = "#6f6"; edge_values.style.color = ""; } 
      }
    }
    text_qm = document.getElementById('edge_qm_' + orderID);
    if (text_qm)
    {
      var materialText = document.createTextNode(val_qm);
      if (text_qm.firstChild)
      {
        text_qm.removeChild(text_qm.firstChild);
      }
      text_qm.appendChild(materialText);
    }
    
    hidden_x   = document.getElementById('txtedge_x_' + orderID);
    hidden_y   = document.getElementById('txtedge_y_' + orderID);
    hidden_ppi = document.getElementById('txtppi_' + orderID);
    hidden_qm  = document.getElementById('txtqm_' + orderID);
    if (hidden_x && hidden_y && hidden_ppi && hidden_qm)
    {
      hidden_x.value = val_x;
      hidden_y.value = val_y;
      hidden_ppi.value = val_ppi;
      hidden_qm.value = val_qm;
    }
  }

  calcPrices(orderID);
}

function calcPrices(orderID)
{
  var lineid     = document.getElementById('txtlinie_id_'    + orderID);
  var materialid = document.getElementById('txtmaterial_id_' + orderID);
  var edge_x     = document.getElementById('txtedge_x_'      + orderID);
  var edge_y     = document.getElementById('txtedge_y_'      + orderID);
  
  if (lineid && materialid && edge_x && edge_y && typeof(dsPrices) != 'undefined')
  {
    urltxt = 'xmlcalc.php?' + 'x=' + edge_x.value + '&y=' + edge_y.value + '&lineid=' + lineid.value + '&paperid=' + materialid.value;
    dsPrices.setURL(urltxt);
    dsPrices.loadData();
    dsPrices.addObserver(pricesCalcedObserver);

    setValueForID('txtprice_'        + orderID, "");
    setValueForID('txtprice_keil_'   + orderID, "");
    setValueForID('txtprice_gesamt_' + orderID, "");
  }
}

function pricesCalcedObserver(notificationType, notifier, data)
{
  if (notificationType == "onDataChanged")
  {
    var txtid = document.getElementById('txtid');
    var id    = txtid.value;
    
    var prices = notifier.getData();
    if  (prices[0]["error"].length > 0)
    {
      setDisabled('btnweiter', true);
      setValue('btnweiter', '   ' + prices[0]["error"] + '   ');
      setDisabled('btnfertig', true);
      setValue('btnfertig', '   ' + prices[0]["error"] + '   ');
    }
    else if  (prices[0]["beauty_price"] == "-")
    {
      setDisabled('btnweiter', true);
      setValue('btnweiter', '   Noch nicht fertig!   ');
      setDisabled('btnfertig', true);
      setValue('btnfertig', '   Noch nicht fertig!   ');
    }
    else
    {
      setDisabled('btnweiter', false);
      setValue('btnweiter', '  Weiter >>  ');
      setDisabled('btnfertig', false);
      setValue('btnfertig', '  Fertig  ');
      
      var txtmenge = document.getElementById('txtmenge_' + id);
      var menge    = 0;
      if (txtmenge)
      {
        menge = txtmenge.value;
      }

      var keilOption = false;
      var keilXMLPriceTag;
      var mainform = document.getElementById('mainform');
      for (ii = 0; mainform && ii < mainform.elements.length; ++ii)
      {
        var elname  = mainform.elements[ii].name;
        var ellen   = elname.length;
        var eloptid = elname.substr(ellen - id.length);
        
        if (elname.match(/option_group/g) && eloptid == id)
        {// the id attribute has the information!
        // Format: #optionname#xml-price-tag#number
        // Bsp.:   #  keil    #  keil_beauty_price #  1_1
          var optid   = mainform.elements[ii].id;
          var checked = mainform.elements[ii].checked;
          if (optid.match(/#keil#/g) && checked)
          {
            keilOption = true;
            var reg = /#.*#(.*)#/;
            var tok = reg.exec(optid);
            keilXMLPriceTag = tok[1];
          }          
        }        
      }

      var beauty_price = parseFloat(prices[0]["beauty_price"]);


      var keil_price   = 0;
      if (keilOption) keil_price = parseFloat(prices[0][keilXMLPriceTag]);
      var options_price = keil_price;

      var gesamt_price = menge * (beauty_price + options_price);
      var versand_price = parseFloat(prices[0]["versand"]);
      
      createTextNode('beauty_price_' + id, beauty_price.toFixed(2));
      createTextNode('keil_price_'   + id, keil_price.toFixed(2));
      createTextNode('gesamt_price_' + id, gesamt_price.toFixed(2));

      setValueForID('txtprice_'        + id, beauty_price.toFixed(2));
      setValueForID('txtprice_keil_'   + id, keil_price.toFixed(2));
      setValueForID('txtprice_gesamt_' + id, gesamt_price.toFixed(2));
      setValueForID('txtprice_versand_' + id, versand_price.toFixed(2));
    }
  }
}



























