// samo napisi atribut micanje, na apsolutno pozicioniranom elementu

var elMove = null ;
var thisEl = null ;
var dblc = false ;
var ie5 = document.all != null && document.getElementsByTagName != null;

var elDragged = null
var tmpZindex = 101

function doMouseMove() {
  if ((1 == event.button) && (elDragged != null)) {
    var intTop = event.clientY+document.body.scrollTop; 
    var intLeft = event.clientX + document.body.scrollLeft;
    var intLessTop  = 0; var intLessLeft = 0;
    var elCurrent = elDragged.offsetParent;
    while (elCurrent.offsetParent!=null) {
      intLessTop+=elCurrent.offsetTop;
      intLessLeft+=elCurrent.offsetLeft;
      elCurrent = elCurrent.offsetParent;
    }
    elDragged.style.pixelTop = intTop  - intLessTop - elDragged.y;
    elDragged.style.pixelLeft = intLeft - intLessLeft  - elDragged.x;
    event.returnValue = false;
  };
};

function checkDrag(elCheck) {
  if (null == elCheck.getAttribute("rucka")) return null;
  while (elCheck!=null) {
    if (null!=elCheck.getAttribute("micanje")) 
       return elCheck
    elCheck = elCheck.parentElement
  }      
  return null
}

function doMouseDown() {
  var elCurrent = checkDrag(event.srcElement)
  if (null!=elCurrent) {
      elCurrent.style.zIndex = tmpZindex++;
      elDragged = elCurrent;
      elDragged.x = event.offsetX
      elDragged.y = event.offsetY
      var op = event.srcElement
      if ((elDragged!=op.offsetParent) && (elDragged!=event.srcElement)) {
        while (op!=elDragged) {
          elDragged.x+=op.offsetLeft
          elDragged.y+=op.offsetTop
          op=op.offsetParent
        }
      }
  }
}

function doSelectStart() {
  return (null==checkDrag(event.srcElement) && (elDragged!=null))
}

function getLeftPos(el) 
{
	if (ie5)
	{ 
		if (el.currentStyle.left == "auto") return 0;
		else return parseInt(el.currentStyle.left);
	}
	else return el.style.pixelLeft;
}

function getTopPos(el) 
{
	if (ie5)
	{
		if (el.currentStyle.top == "auto") return 0;
		else return parseInt(el.currentStyle.top);
	}
	else return el.style.pixelTop;
}

function startResize(el)
{
	if (elMove) return ;

	var e=el ;
	while (e.nodeName != 'TABLE') e=e.parentNode ;
	elMove=e; thisEl=el;
	elMove.oldX = window.event.clientX ; 
	elMove.oldY = window.event.clientY ;	
	elMove.oldW = elMove.offsetWidth ; 
	elMove.oldH = elMove.tBodies[0].offsetHeight ;
	with (elMove.style) { pixelLeft = getLeftPos(elMove) ; pixelTop  = getTopPos(elMove) ; }
	elMove.tBodies[0].style.height = elMove.rows[1].offsetHeight;
	elMove.style.xxW = elMove.style.pixelWidth = elMove.offsetWidth ;		

	el.onmousemove=doResize; 
	el.setCapture(false) ;
}

function doResize() 
{
	if (!elMove) return ;
	var x = event.clientX ; var y = event.clientY ;
	var dx = x - elMove.oldX ;
	var dy = y - elMove.oldY;
	var dw = dx;
	var dh = dy;
	//var kol = elMove.rows.length;
	//var ispis = "";
	//for (var i; i <  kol; i++) { ispis += " row " + elMove.rows[i] }
	//alert(ispis)
	elMove.tBodies[0].style.pixelHeight += dh;
	elMove.style.pixelWidth += dw ;
	elMove.oldX = x ; elMove.oldY = y ;
}

function endResize() {
	if (!elMove) return ;
	elMove.releaseCapture() ;
	thisEl.releaseCapture() ;
	thisEl.onmousemove=null ;
	thisEl = elMove = null ;	
}

document.onmousedown = doMouseDown;
document.onmousemove = doMouseMove;
document.onmouseup = new Function("elDragged=null");
document.onselectstart = doSelectStart;


