addstockbox_dom = null; function showaddstockbox(e, obj, id) { var posx = 0; var posy = 0; if (!e) var e = window.event; if (e.pageX || e.pageY) { posx = e.pageX; posy = e.pageY; } else if (e.clientX || e.clientY) { posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft; posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop; } xhrget('admin-nbstock-get.php', function (xhr) { if (!xhr.responseXML) { alert('Ingen responseXML!'); return; } var imgs = Array(); for (i in xhr.responseXML.childNodes) { if (xhr.responseXML.childNodes[i].tagName.toLowerCase() == 'nbimg') { var curid; imgs[curid = imgs.count] = Array(null, null, null, null); for (j in xhr.responseXML.childNodes[i].childNodes) { switch (xhr.responseXML.childNodes[i].childNodes[j].tagName.toLowerCase()) { case 'src': imgs[curid][0] = xhr.responseXML.childNodes[i].childNodes[j].innerText; break; case 'width': imgs[curid][1] = xhr.responseXML.childNodes[i].childNodes[j].innerText; break; case 'height': imgs[curid][2] = xhr.responseXML.childNodes[i].childNodes[j].innerText; break; case 'dbid': imgs[curid][3] = xhr.responseXML.childNodes[i].childNodes[j].innerText; break; } } } } imgs = function (aaah) { var res = Array(); var i; for (i in aaah) if (aaah[i][0] && aaah[i][1] && aaah[i][2] && aaah[i][3]) res[res.length] = aaah[i]; return res; }(imgs); if (imgs.length == 0) { xhrget('admin-nbstock-update.php?mode=add&id=0&imgid='+id, null); return; } if (addstockbox_dom) hideaddstockbox(); stockbox = obj.appendChild(document.createElement('div')); stockbox.style.position = 'absolute'; stockbox.style.left = (posx-10)+'px'; stockbox.style.top = (posy-10)+'px'; stockbox.style.width = '150px'; stockbox.style.height = (50*Math.ceil(imgs.length/3))+'px'; var i = 0; while (i < imgs.length) { var j = 0; while (j < 3 && i < imgs.length) { var width_ = 0; var height_ = 0; if (imgs[i][1] > imgs[i][2]) { width_ = 40; height_ = imgs[i][2] * width_ / imgs[i][1]; } else { height_ = 40; width_ = imgs[i][1] * height_ / imgs[i][2]; } var top_ = Math.floor(i / 3) * 50 + 45 - height_; var left_ = j * 50 + 45 - width_; var curimg = stockbox.appendChild(document.createElement('img')); curimg.addEventListener('click', function () { xhrget('admin-nbstock-update.php?mode=add&id='+imgs[i][3]+'&imgid='+id, function () { stockbox.parentNode.removeChild(stockbox); stockbox = null; }); }, false); curimg.style.position = 'absolute'; curimg.style.left = (posx-10+left_)+'px'; curimg.style.top = (posy-10+top_)+'px'; curimg.style.width = width_+'px'; curimg.style.height = height_+'px'; i++; j++; } } }); } function hideaddstockbox() { if (!addstockbox_dom) return; addstockbox_dom.parentNode.removeChild(addstockbox_dom); addstockbox_dom = null; }