rendered paste bodyfunction init(){};function getxhr() { var A; try { A = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { try { A = new ActiveXObject("Msxml2.XMLHTTP"); } catch (oc) { A = null; } } if(!A && typeof XMLHttpRequest != "undefined") { A = new XMLHttpRequest(); } if (!A) { alert("Advarsel: Din browser understøtter ikke funktionen til at kommunikere med webservere dynamisk.\n\n"+ "Find en browser, der understøtter \"XMLHTTPRequest\" - Firefox er et godt valg!"); } return A;}function xhrget(url, callback) { if (!(xhr = getxhr())) return false; xhr.onreadystatechange = function () { if (xhr.readyState != 4) return; if (callback) callback(xhr); xhr = false; } xhr.open('GET', url, true); if (xhr.overrideMimeType) xhr.overrideMimeType('text/xml'); xhr.send(null); return true;}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 || !xhr.responseXML.childNodes.length) { alert('Ingen responseXML!'); return; } var imgs = new Array(); var resdoc; for (var i = 0; i < xhr.responseXML.childNodes.length; i++) { if ((resdoc = xhr.responseXML.childNodes[i]).childNodes.length) break; else resdoc = null; } if (!resdoc) { /*var s = ''; for (var i = 0; i < xhr.responseXML.childNodes.length; i++) { s += 'Node §'+xhr.responseXML.childNodes[i].nodeType+'\n'; if (xhr.responseXML.childNodes[i].nodeType == 1) { s += '<'+xhr.responseXML.childNodes[i].tagName.toLowerCase()+'>'; s += '['+xhr.responseXML.childNodes[i].childNodes.length+']'; s += '</.>\n'; } } alert(s); return;*/ imgs = new Array(); } else { for (var i = 0; i < resdoc.childNodes.length; i++) { if (resdoc.childNodes[i].nodeType != 1) { //alert('Node type: '+resdoc.childNodes[i].nodeType); } else if (resdoc.childNodes[i].tagName.toLowerCase() == 'nbimg') { var resdoc_ = resdoc.childNodes[i]; var curid; var toset = ['src', 'width', 'height', 'dbid']; imgs[curid = imgs.length] = Array(false, false, false, false); for (var j = 0; j < resdoc_.childNodes.length; j++) { if (resdoc_.childNodes[j].nodeType != 1) { //alert('Node_ type: '+resdoc_.childNodes[j].nodeType); } else { var tagname = resdoc_.childNodes[j].tagName.toLowerCase(); var content; if ((typeof (content = resdoc_.childNodes[j].innerText)) == 'undefined') if ((typeof (content = resdoc_.childNodes[j].textContent)) == 'undefined') if ((typeof (content = resdoc_.childNodes[j].innerHTML)) == 'undefined') content = resdoc_.childNodes[j].firstChild.nodeValue; for (var k = 0; k < toset.length; k++) { if (tagname == toset[k]) imgs[curid][k] = content; } } } } } imgs = function (aaah) { var res = Array(); var i; for (i = 0; i < aaah.length; i++) if (aaah[i][0] && aaah[i][1] && aaah[i][2] && aaah[i][3]) res[res.length] = aaah[i]; return res; }(imgs); } //alert(imgs.length); if (imgs.length == 0) { 0 ? xhrget('admin-nbstock-update.php?mode=add&id=0&imgid='+id, null) : alert('Add!'); return; } if (addstockbox_dom) hideaddstockbox(); /////////////// SETTINGS /////////////////// var contsize = 100; var imgsize = contsize-10; var columns = 3; //////////////////////////////////////////// stockbox = document.body.appendChild(document.createElement('div')); addstockbox_dom = stockbox; stockbox.className = 'umenustockbox'; stockbox.style.position = 'absolute'; var stockbox_x; stockbox.style.left = (stockbox_x = (posx+5))+'px'; var stockbox_y; stockbox.style.top = (stockbox_y = (posy+5))+'px'; stockbox.style.width = contsize*3+'px'; stockbox.style.height = (contsize*Math.ceil(imgs.length/3))+'px'; var i = 0; while (i < imgs.length) { var j = 0; while (j < columns && i < imgs.length) { var width_ = 0; var height_ = 0; if (imgs[i][1] < imgs[i][2]) { width_ = imgs[i][4] = imgsize; height_ = imgs[i][5] = (imgs[i][2] * width_ / imgs[i][1]); } else { height_ = imgs[i][5] = imgsize; width_ = imgs[i][4] = (imgs[i][1] * height_ / imgs[i][2]); } var top_ = imgs[i][6] = (Math.floor(i / 3) * contsize + (contsize - height_)/2); var left_ = imgs[i][7] = (j * contsize + (contsize - width_)/2); var curimg = stockbox.appendChild(document.createElement('img')); /*curimg.onclick = function (url,id) { return function () { xhrget('admin-nbstock-update.php?mode=add&id='+url+'&imgid='+id, function () { stockbox.parentNode.removeChild(stockbox); stockbox = null; }); }; }(imgs[i][3], id);*/ curimg.style.position = 'absolute'; curimg.style.left = (left_)+'px'; curimg.style.top = (top_)+'px'; curimg.style.width = width_+'px'; curimg.style.height = height_+'px'; curimg.src = imgs[i][0]; i++; j++; } } stockbox.onclick = function (e) { 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; } posx -= stockbox_x; posy -= stockbox_y; var imgid = -1; var row = ((posy-(posy%contsize))/contsize); var beforeid = -1; for (var i = 0; i < imgs.length; i++) { var currow = ((i-(i%columns))/columns); if (posy <= (imgs[i][7]+imgs[i][5])) { if (posx >= imgs[i][6] && posx <= (imgs[i][6]+imgs[i][4]) && posy >= imgs[i][7]) { imgid = i; break; } else if (currow == row) beforeid = i; } } if (imgid >= 0) { //alert('Replace!'); xhrget('admin-nbstock-update.php?mode=add&id='+imgs[imgid][3]+'&imgid='+id, function () { xhrget('admin-nbstock-update.php?mode=delete&id='+imgs[imgid][3], function () { alert('Success!'); hideaddstockbox(); }); }); } else if (beforeid >= 0) { alert('Add!'); xhrget('admin-nbstock-update.php?mode=add'+(beforeid-- ? ('&id='+imgs[beforeid][3]) : '')+'&imgid='+id, function () { alert('Success!'); hideaddstockbox(); }); } else if ((currow == row) && (posx > (imgs[imgs.length-1][6]+imgs[imgs.length-1][4]))) { alert('Add @ last!'); xhrget('admin-nbstock-update.php?mode=add&id='+imgs[imgs.length-1][3]+'&imgid='+id, function () { alert('Success!'); hideaddstockbox(); }); } } });}function hideaddstockbox() { if (!addstockbox_dom) return; addstockbox_dom.parentNode.removeChild(addstockbox_dom); addstockbox_dom = null;}