_MAX_TOP_COORDINATE = 400;
_MAX_LEFT_COORDINATE = 300;
if(isIE=window.attachEvent) window.attachEvent("onload",dragOn); else if(window.addEventListener)
window.addEventListener("load",dragOn,false); else document.addEventListener("load",dragOn,false);

function dragOn(){
var divs = document.getElementsByTagName("div");

/* ten element jest po to aby IE6 nie wysiwetlal selectów PONAD zdjeciem */
_frame=document.getElementById('puts_selects_behind_for_ie6');
/* ten element jest po to aby IE6 nie wysiwetlal selectów PONAD zdjeciem */

for (i=0; i < divs.length; i++){
		if (/\bdrag\b/i.test(divs[i].className)) {
			divs[i].style.width = getStyle(divs[i],"width")||divs[i].offsetWidth+"px";
			divs[i].style.height = getStyle(divs[i],"height")||divs[i].offsetHeight+"px";
			divs[i].style.left = parseInt(getStyle(divs[i],"left"))+divs[i].offsetLeft+"px";
			divs[i].style.top = parseInt(getStyle(divs[i],"top"))+divs[i].offsetTop+"px";
			divs[i].style.position = 'absolute';
		}
		if (/\bhandler\b/i.test(divs[i].className)) 
			(isIE)?divs[i].attachEvent("onmousedown",initElementDragging):divs[i].addEventListener("mousedown",initElementDragging,false);
}
}
function drag(e){
	(isIE)?event.returnValue = false:e.preventDefault();
	
	var top = e.clientY+(document.documentElement.scrollTop || document.body.scrollTop)+deltaYd+"px";
	var left = e.clientX+(document.documentElement.scrollLeft || document.body.scrollLeft)+deltaXd+"px";
	//top = (parseInt(top) > _MAX_TOP_COORDINATE) ? _MAX_TOP_COORDINATE+"px" : top;
	//left = (parseInt(left) > _MAX_LEFT_COORDINATE) ? _MAX_LEFT_COORDINATE+"px" : left;
	drag_el.style.top = _frame.style.top = top;
	drag_el.style.left = _frame.style.left = left;
	
	/* ten element jest po to aby IE6 nie wysiwetlal selectów PONAD zdjeciem */
	/* ten element jest po to aby IE6 nie wysiwetlal selectów PONAD zdjeciem */
	
}
function initElementDragging(e){

	//document.getElementById('forBetterDragging').style.display="block";
	
	drag_el = getElement(e);
	deltaXd = parseInt(drag_el.style.left)-e.clientX-(document.documentElement.scrollLeft || document.body.scrollLeft);
	deltaYd = parseInt(drag_el.style.top)-e.clientY-(document.documentElement.scrollTop || document.body.scrollTop);
	(isIE)?document.attachEvent("onmousemove",drag):document.addEventListener("mousemove",drag,false);
	(isIE)?document.attachEvent("onmouseup",mouseup):document.addEventListener("mouseup",mouseup,false);
}
function getElement(e){
	var drag_el = (e.srcElement || e.target);
	while (!/\bdrag\b/i.test(drag_el.className))	drag_el = drag_el.parentNode;
	return drag_el;
}
function mouseup(){
	//document.getElementById('forBetterDragging').style.display="none";
	(isIE)?document.detachEvent("onmousemove",drag):document.removeEventListener("mousemove",drag,false);
}
function getStyle(el,styleProp){
	if (window.getComputedStyle)
			var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
		 else if (el.currentStyle){
			 styleProp=styleProp.replace(/-\D/g,function(w){return w.charAt(1).toUpperCase()})
			 var y = eval('el.currentStyle.' + styleProp);}
		 return (y=="auto")?false:y;
} 