var _nN='nodeName'
function gTarget(E,R){E=E||event;E=E.target||E.srcElement;return R&&!R.test(E[_nN])?!1:E;}

function schowaj(x){
	x=(typeof(x)!='string'?x:document.getElementById(x));
	while(!/^div/i.test(x.nodeName) && (x=x.parentNode));
	with(x.style)
		if ((l=parseInt(left+0))<=-1500){
			left=x.oldLeft+'px';
		} else {
			x.oldLeft=parseInt(left+0);
			left=-1500+'px';
		}
	return!1;
}
function schowaj2(x){
	x=(typeof(x)!='string'?x:document.getElementById(x));
	while(!/^table/i.test(x.nodeName) && (x=x.parentNode));
	with(x.style)
		if ((l=parseInt(left+0))<=-1500){
			left=x.oldLeft+'px';
		} else {
			x.oldLeft=parseInt(left+0);
			left=-1500+'px';
		}
	return!1;
}
function dragDrop(e,ax,ay,d,b,E,f,p){
	//alert(p);
	d=document;E=d.documentElement;b=d.body;if(!E)return
	e=e||event;
	if(e.preventDefault)e.preventDefault();
	p=this;
	// make sure that we got proper element
	if(!/drag/.test(p.className)) {p=gTarget(e);while(!/drag/.test(p.className))p=p.parentNode;}
	with(p.style){
   		zIndex=10;
    	ax=parseInt(left+0)-e.clientX;ay=parseInt(top+0)-e.clientY;
    }
	addEvent(d,'mousemove',f=function(e){
		e=e||event;with(p.style){
			left=ax+e.clientX+(E.scrollLeft||b.scrollLeft)+"px"
			top=ay+e.clientY+(E.scrollTop||b.scrollTop)+"px"
		}
		return!1
	});
	bb=function(e){p.style.zIndex=1;rmEvent(d,'mousemove',f);rmEvent(d,'mouseup',bb);return!1;}
	addEvent(d,'mouseup',bb);
}
function dragDropInit(i,j,a,t){
	for(j=0;t=['div','img'][j++];)
		for(i=0;a=document.getElementsByTagName(t)[i++];) 
			if(/drag/.test(a.className))addEvent(a,'mousedown',dragDrop);
}
function addEvent(o,e,f){(o.a=o.addEventListener)?o.a(/wheel$/.test(e)?'DOMMouseScroll':e,f,1):(o.attachEvent)?o.attachEvent('on'+e,f):!1;return o;}
function rmEvent(o,e,f){(o.r=o.removeEventListener)?o.r(e,f,1):(o.r=o.detachEvent)?o.r('on'+e,f):!1;return o;}
addEvent(window,'load',dragDropInit)
