/* Original drag by Mike Hall (http://www.brainjar.com/dhtml/drag/). */ var isMSIE = document.attachEvent != null; var isGecko = !document.attachEvent && document.addEventListener; var DraggingItem = new Object(); function Startmove (event, _this, _afteraction) { DraggingItem.This = _this; DraggingItem.AfterAction = _afteraction; var nextX = 800; var nextY = 10; DraggingItem.This.style.left = nextX + "px"; DraggingItem.This.style.top = nextY + "px"; CountItems(); } function StartDrag (event, _this, _afteraction) { DraggingItem.This = _this; DraggingItem.AfterAction = _afteraction; var position = new Object(); if (isMSIE) { position.x = window.event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft; position.y = window.event.clientY + document.documentElement.scrollTop + document.body.scrollTop; } if (isGecko) { position.x = event.clientX + window.scrollX; position.y = event.clientY + window.scrollY; } DraggingItem.cursorStartX = position.x; DraggingItem.cursorStartY = position.y; DraggingItem.StartLeft = parseInt (DraggingItem.This.style.left); DraggingItem.StartTop = parseInt (DraggingItem.This.style.top); if (isNaN (DraggingItem.StartLeft)) DraggingItem.StartLeft = 0; if (isNaN (DraggingItem.StartTop)) DraggingItem.StartTop = 0; if (isMSIE) { document.attachEvent ("onmousemove", ProceedDrag); document.attachEvent ("onmouseup", StopDrag); window.event.cancelBubble = true; window.event.returnValue = false; } if (isGecko) { document.addEventListener ("mousemove", ProceedDrag, true); document.addEventListener ("mouseup", StopDrag, true); event.preventDefault(); } } function ProceedDrag (event) { var position = new Object(); if (isMSIE) { position.x = window.event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft; position.y = window.event.clientY + document.documentElement.scrollTop + document.body.scrollTop; } if (isGecko) { position.x = event.clientX + window.scrollX; position.y = event.clientY + window.scrollY; } var nextX = DraggingItem.StartLeft + position.x - DraggingItem.cursorStartX; if (nextX < 90) nextX = 90; if (nextX > 1100) nextX = 1100; DraggingItem.This.style.left = nextX + "px"; var nextY = DraggingItem.StartTop + position.y - DraggingItem.cursorStartY; if (nextY > 750) nextY = 750; if (nextY < 1) nextY = 1; DraggingItem.This.style.top = nextY + "px"; if (isMSIE) { window.event.cancelBubble = true; window.event.returnValue = false; } if (isGecko) event.preventDefault(); } function StopDrag (event) { if (isMSIE) { document.detachEvent ("onmousemove", ProceedDrag); document.detachEvent ("onmouseup", StopDrag); } if (isGecko) { document.removeEventListener ("mousemove", ProceedDrag, true); document.removeEventListener ("mouseup", StopDrag, true); } if (DraggingItem.AfterAction) DraggingItem.AfterAction (DraggingItem.This); SaveDesktop(); } function SaveDesktop() { var draggables = document.getElementsByTagName ('div'); var desktopLayout = ''; for (var c = 0; c != draggables.length; c++) { var current = draggables[c]; if (current.className == 'draggable') { desktopLayout += current.id + '(' + parseInt (current.style.left) + ',' + parseInt (current.style.top) + ');'; } } var expires = new Date(); expires = new Date (expires.getYear() + 1901, expires.getMonth(), 1); setCookie ('layoutN', desktopLayout, expires, '/'); CountItems(); } function CountItems() { var draggables = document.getElementsByTagName ('div'); var desktopLayout = ''; var count = 0; for (var c = 0; c != draggables.length; c++) { var current = draggables[c]; if (current.className == 'draggable') { var tts = 's' + current.id; var left = parseInt (current.style.left); var top = parseInt (current.style.top); if (left > 500 && left < 1000 && top > -20 && top < 100) { count++; desktopLayout += current.id this[current.id].style.display='none'; var expires = new Date(); expires = new Date (expires.getYear() + 1901, expires.getMonth(), 1); setCookie ('basket', desktopLayout, expires, '/'); } } } var ItemsCounter = document.getElementById ('ItemsCounter'); var ItemsCounters = document.getElementById ('ItemsCounters'); if (ItemsCounter) { var flexia = ''; switch (count) { case 1: break; case 2: case 3: case 4: flexia = 'а'; break; default: flexia = 'ов'; break; } ItemsCounter.innerHTML = count ? count + ' предмет' + flexia : ' ничего нет'; ItemsCounters.innerHTML = count ? '' : ''; } } function PutBack (item) { item.style.zIndex = 2;; } function setCookie (name, value, expire, path) { document.cookie = name + '=' + escape (value) + ((expire == null)? '' : ('; expires=' + expire.toGMTString())) + ((path == null)? '' : ('; path=' + path)); }