function setSelectedMaterialCalc(mnuID, name, papierID, linieID)
{
  var target = document.getElementById("calc_txtmaterial");
  if (target)
  {
    var materialText = document.createTextNode(name);
    if (target.firstChild)
    {
      target.removeChild(target.firstChild);
    }
    target.appendChild(materialText);
  }
  
  var price_hint = document.getElementById("price_hint");
  if (price_hint)
  {
    var hintText = document.createTextNode("Die oben angegebenen Preise sind inkl. Mehrwertsteuer, zzgl. Versandkosten.");
    if (name.toLowerCase().search(/canvas/) != -1)
    {
      hintText = document.createTextNode("Die oben angegebenen Preise sind inkl. Aufziehen auf Standard-Keilrahmen bzw. Museums-Keilrahmen, " +
        "sowie inkl. Mehrwertsteuer, zzgl. Versandkosten.");
    }
    if (price_hint.firstChild)
    {
      price_hint.removeChild(price_hint.firstChild);
    }
    price_hint.appendChild(hintText);
  }
  
  var hidden = document.getElementById('calc_paperid');
  if (hidden)
  {
    hidden.value = papierID;
  }
  hidden = document.getElementById('calc_lineid');
  if (hidden)
  {
    hidden.value = linieID;
  }
  
  urltxt = 'xmlcalc.php?lineid=' + linieID + '&paperid=' + papierID;
  dsMaxFormat.setURL(urltxt);
  dsMaxFormat.loadData();

  calc();
}

function calc()
{
  lineid  = document.getElementById('calc_lineid').value;
  paperid = document.getElementById('calc_paperid').value;
  x       = document.getElementById('calc_txt_x').value.replace(/,/g, ".");
  y       = document.getElementById('calc_txt_y').value.replace(/,/g, ".");

  urltxt = 'xmlcalc.php?' + 'x=' + x + '&y=' + y + '&lineid=' + lineid + '&paperid=' + paperid;
  dsResult.setURL(urltxt);
  dsResult.loadData();

  urltxtAverage = 'xmlcalc.php?' + '&lineid=' + lineid + '&average=1';
  dsAverage.setURL(urltxtAverage);
  dsAverage.loadData();

  var xmlurl        = document.getElementById("xmlurl");
  var xmlurlAverage = document.getElementById("xmlurlAverage");
  if (xmlurl)
  {
    while (xmlurl.firstChild)
    {
      xmlurl.removeChild(xmlurl.firstChild);
    }

    var url = document.createTextNode(urltxt);
    var href = document.createAttribute("href");
    var target = document.createAttribute("target");

    href.nodeValue = urltxt;
    target.nodeValue = "_blank";
    xmlurl.setAttributeNode(href);
    xmlurl.setAttributeNode(target);
    xmlurl.appendChild(url);
  }
  if (xmlurlAverage)
  {
    while (xmlurlAverage.firstChild)
    {
      xmlurlAverage.removeChild(xmlurlAverage.firstChild);
    }

    var urlAverage = document.createTextNode(urltxtAverage);
    var hrefAverage = document.createAttribute("href");
    var targetAverage = document.createAttribute("target");

    hrefAverage.nodeValue = urltxtAverage;
    targetAverage.nodeValue = "_blank";
    xmlurlAverage.setAttributeNode(hrefAverage);
    xmlurlAverage.setAttributeNode(targetAverage);
    xmlurlAverage.appendChild(urlAverage);

  }

  fillMatrix();
}

var old_paperid = -1;
var old_lineid = -1;
function fillMatrix()
{
  var hidden = document.getElementById('calc_paperid');
  if (hidden) var paperid = hidden.value;
  hidden2 = document.getElementById('calc_lineid');
  if (hidden2) var lineid = hidden2.value;

  if (old_paperid != paperid || old_lineid != lineid)
  {
    for (xx = 30; xx <= 200; xx = xx + 10)
    {
      for (yy = 20; yy <= 100; yy = yy + 10)
      {
        if (xx >= yy || (yy==20 && xx==30))
        {
          var id = xx + '_' + yy;
          var cell = document.getElementById(id);
          if (cell)
          {
            var dsMatrix = new Spry.Data.XMLDataSet("xmlcalc.php", "data/calc");
            dsMatrix.addObserver(MatrixLoadedObserver);
            dsMatrix.setURL('xmlcalc.php?' + 'x=' + xx + '&y=' + yy + '&lineid=' + lineid + '&paperid=' + paperid);
            dsMatrix.loadData();

            var wait = document.createTextNode("-");
            if (cell.firstChild)
            {
              cell.removeChild(cell.firstChild);
            }
            cell.appendChild(wait);
          }
        }
      }
    }
  }
  old_paperid = paperid;
  old_lineid  = lineid;
}


function MatrixLoadedObserver(notificationType, notifier, data)
{
  if (notificationType == "onPostLoad")
  {
    var xm = notifier.data[0].x;
    var ym = notifier.data[0].y;
    var id = xm + '_' + ym;
    var cell = document.getElementById(id);

    if (cell)
    {
      var p  = parseFloat(notifier.data[0].beauty_price);
      var p2 = parseFloat(notifier.data[0].beauty_price);
      var k = parseFloat(notifier.data[0].keil_beauty_price);
      var m = parseFloat(notifier.data[0].keil_museum_beauty_price);
      
      if (notifier.data[0].line.toLowerCase().search(/canvas/) != -1)
      {
        p += k;
        p2 += m;
      }
      var price = document.createTextNode(p.toFixed(2) + String.fromCharCode(8364));
      if (p2 != p)
      {
        price = document.createTextNode(p.toFixed(2) + String.fromCharCode(8364) + "\r\n" +
          p2.toFixed(2) + String.fromCharCode(8364));
      }
      if (cell.firstChild)
      {
        cell.removeChild(cell.firstChild);
      }
      var title = document.createAttribute("title");
      title.nodeValue = notifier.data[0].price_per_qm + String.fromCharCode(8364) + " / qm";
      if (isAdmin)
      {
        cell.setAttributeNode(title);
      }
      cell.appendChild(price);
    }
  }
}



