Using the itemBox api

When you click the button on the box, its text is appended to the paragraph we are at (top,left).
Write your comment here and add it to an element

We could of course modify this action by marking some paragraphs or divs by a certain class to select others than "all paragraphs"

Duften minner mest om epler og har et lite streif av gjærbakst. Syrefrisk og harmonisk smak med god fylde, fin syrefasthet i ettersmaken. Duft av modne epler og gjær. Syrlig anslag, deretter streif av honning i smaken. Litt lite nyansert. Aromatisk duft av solbærblader, stikkelsbær, nesle og urter. Smaksrik og lang, med frisk bitterhet i ettersmaken. Rik duft av mineraler, sitrus og toast. Velbalansert og fyldig smak med både syretørrhet og fruktsødme. Kompleks og lang ettersmak med en liten brentkarakter i avslutningen.

Brentpreg i duften med toastkarakter. Litt smøraktig sødme og aprikos i smaken, litt tung stil, men avslutningen er overraskende syrlig. Søt og moden duft av rosiner og aprikos. Myk og rund smak med innslag av tørkete frukter og karamellsødme. Bra syrefasthet og en utpreget brentkarakter i ettersmaken. Tung duftsødme av blomster og tropiske frukter. Mektig rosinsmak med stor søthetsgrad, litt lite syre gir en relativt kort ettersmak. Kobbergylden vin med litt overmoden duft. Fyldig og knallsøt smak med rosinkarakter, aprikos og honningsødme. Ettersmaken er ikke så varig som forventet. Brentkarakter og sødme av rosiner og aprikos i duften. Tørkete frukter i smaken, vinen virker litt for oksydert, og har en relativt tørr ettersmak. Rødfiolett farge, og ferskt bærpreg med brent toastkarakter i duften. Bløt og fyldig morellsødme pluss fatpreg i smaken. Avrundet ettersmak, prisgunstig hverdagsvin for nå-konsum.

It is a good idea look at the source
and inspect elements
function makeComment(id){
  // find position (left,top)
  var box=itemHolder.getBoxById(id);
  var pos=itemHolder.getPosition(box.getWrapperElement());
  var target=document.elementFromPoint(pos.left-2, pos.top-2);
  // we keep away from itemboxes
  if(target.parentNode.classList.contains("readybox"))
	return
  var content=box.getContentElement().cloneNode(true);
  // remove button i you like
  // var but=content.getElementsByTagName("button")[0];
  // content.removeChild(but);
  // ok we have the target and the source. then what ?
  // we try a simple append string to content 
  target.innerHTML+=''+
                     content.textContent+'';
  // This is an other possibility, append :
  // target.parentNode.insertBefore(content, target.nextSibling);

  // We could kill the box
  //var wrapper=box.getWrapperElement();
  //wrapper.parentNode.removeChild(wrapper);
 }