function drag_object( evt, obj )
	{
		evt = evt || window.event;
		
		// флаг, которые отвечает за то, что мы кликнули по объекту (готовность к перетаскиванию)
		obj.clicked = true;
		
		// устанавливаем первоначальные значения координат объекта
		obj.mousePosX = evt.clientX;
		obj.mousePosY = evt.clientY;

		// отключаем обработку событий по умолчанию, связанных с перемещением блока (это убирает глюки с выделением текста в других HTML-блоках, когда мы перемещаем объект)
		if( evt.preventDefault ) evt.preventDefault(); 
		else evt.returnValue = false;
		
		// когда мы отпускаем кнопку мыши, убираем «проверочный флаг»
		document.onmouseup = function(){ obj.clicked = false }
		
		// обработка координат указателя мыши и изменение позиции объекта
		document.onmousemove = function( evt )
		{
			evt = evt || window.event;
			if( obj.clicked )
			{
				posLeft = !obj.style.left ? obj.offsetLeft : parseInt( obj.style.left );
				posTop = !obj.style.top ? obj.offsetTop : parseInt( obj.style.top );
	
				mousePosX = evt.clientX;
				mousePosY = evt.clientY;
	
				obj.style.left = posLeft + mousePosX - obj.mousePosX + 'px';
				obj.style.top = posTop + mousePosY - obj.mousePosY + 'px';
				
				obj.mousePosX = mousePosX;
				obj.mousePosY = mousePosY;
			}
		}
	}

	function setcookie( name, value, timeout )
	{
	    timeout = timeout || 1000*60*60*24;
	    expires = (new Date((new Date).getTime() + timeout)).toUTCString();
	    document.cookie = name + '=' + value + ';expires=' + expires;
	}
