/*
Drag&Drop ver1.14
Copyright 2001 Mugi
mail : mugi@wa2.so-net.ne.jp
site : http://mugi.ca.tc/
*/

var dragableID=/drag/
var together=[]
var X,Y,DX=[],DY=[],o=null
window.onload=function(){
ie=!!document.all
nn4=!!document.layers
op=!!(window.opera&&window.print&&!document.createTextNode)
dom=(document.all||document.getElementById)
if(!ie&&dom){document.all=document.getElementById}
if(nn4){
setTimeout("window.onresize=function(){location.reload()}",1000)
document.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP)
for(var i=0;i<document.layers.length;i++){
if(document.layers[i].id.match(dragableID)!=null){
document.layers[i].captureEvents(Event.MOUSEDOWN)
document.layers[i].onmousedown=dragdrop
}
}
}else{
document.onmousedown=dragdrop
}
}

function dragdrop(e){
if(o==null||nn4){
if(op){
o=event.target
X=e.clientX
Y=e.clientY
while(o.id.match(dragableID)==null){if(!o.offsetParent){o=null;return null};X+=o.offsetLeft;Y+=o.offsetTop;o=o.offsetParent}
X-=o.style.left
Y-=o.style.top
}else
if(ie){
o=window.event.srcElement
X=window.event.offsetX
Y=window.event.offsetY
while(o.id.match(dragableID)==null){if(!o.offsetParent){o=null;return null};X+=o.offsetLeft;Y+=o.offsetTop;o=o.offsetParent}
if(o.setCapture)o.setCapture()
}else
if(dom){
o=e.target
while(!o.id||o.id.match(dragableID)==null){if(!o.parentNode){o=null;return null};o=o.parentNode}
X=e.layerX
Y=e.layerY
}else
if(nn4){
o=this
X=e.x
Y=e.y
}
if(together[o.id]){
DX.length=0
DY.length=0
var a=together[o.id].split(",")
for(i=0;i<a.length;i++){
if(dom){
DX[i]=parseInt(document.all(a[i]).style.left)-parseInt(o.style.left)
DY[i]=parseInt(document.all(a[i]).style.top)-parseInt(o.style.top)
}else
if(nn4){
DX[i]=document.layers[a[i]].left-o.left
DY[i]=document.layers[a[i]].top-o.top
}
}
}
document.onmousemove=function(e){
if(dom){
o.style.left=(op?e.clientX:ie?window.event.clientX+document.body.scrollLeft:e.pageX)-X
o.style.top=(op?e.clientY:ie?window.event.clientY+document.body.scrollTop:e.pageY)-Y
if(ie){window.event.returnValue=false}
}else
if(nn4){
o.moveTo(e.pageX-X,e.pageY-Y)
}
if(together[o.id]){
var a=together[o.id].split(",")
for(i=0;i<a.length;i++){
if(a[i]==o.id){continue}
if(dom){
document.all(a[i]).style.left=parseInt(o.style.left)+DX[i]
document.all(a[i]).style.top=parseInt(o.style.top)+DY[i]
}else
if(nn4){
document.layers[a[i]].left=o.left+DX[i]
document.layers[a[i]].top=o.top+DY[i]
}
}
}
return false
}
document.onmouseup=function(){
if(o.releaseCapture)o.releaseCapture()
o=null
document.onmouseup=null
document.onmousemove=null
return false
}
return false
}
}
