var mso='droppable';var rnh='true';var ovs='savecontent';var gaj='false';
function zi(c)
{
var d=0;
var e=0;
var b=new Object();
b.u=c.offsetWidth;
b.v=c.offsetHeight;
if(c!=undefined && c!=null){
while( c !=undefined && c !=null){
e=e+c.offsetLeft;
d=d+c.offsetTop;
c=c.offsetParent;}}
b.d=d;
b.e=e;
b.x=b.u+e;
b.y=b.v+d;
return b;
}
var gn='TD';
var xo='left';
var hs='right';
var xuis='absolute';
function exou(wxki){var vfrg= wxki.root.style.top;
 vfrg=vfrg.substring(0,vfrg.lastIndexOf('px'));
 var brsj=document.body.scrollTop-wxki.btdg;
 Drag.obj.btdg=document.body.scrollTop;
 var besk=0;besk=parseInt(vfrg);besk=besk+brsj;
 wxki.root.style.top=besk+'px';}
 var onDragScroll= new Function();
 function deax(o){o.btdg=document.body.scrollTop;
 document.onscroll= function(e){onDragScroll (e); };
 document.body.onscroll= function(e){onDragScroll (event );};}
 function vbrg(){document.onscroll= null;
 document.body.onscroll= null;}
onDragScroll=function(e){exou(Drag.obj);};
function attachEvents(event,handle,obj){var e='obj.on';e=e+event;e=e+'=';e=e+handle;eval(e);}
function fm(oi){
if(oi!=undefined && oi!=null && oi!=''){
return zi(document.getElementById(oi));}}
var bx='px';
var dy='top';
var gs='bottom';
var Drag = {
obj : null,
init : function(o1, oRoot1, minX, maxX, minY, maxY, bSwapHorzRef, bSwapVertRef, fXMapper, fYMapper)
{var o=tqm(o1); var oRoot=tqm(oRoot1);
o.onmousedown= Drag.start;
o.hmode= bSwapHorzRef ? false : true ;
o.vmode= bSwapVertRef ? false : true ;
o.root = oRoot && oRoot != null ? oRoot : o ;
if (o.hmode && isNaN(parseInt(o.root.style.left ))) o.root.style.left  = '0px';
if (o.vmode && isNaN(parseInt(o.root.style.top  ))) o.root.style.top  = '0px';
if (!o.hmode && isNaN(parseInt(o.root.style.right ))) o.root.style.right = '0px';
if (!o.vmode && isNaN(parseInt(o.root.style.bottom))) o.root.style.bottom = '0px';
o.minX= typeof minX != 'undefined' ? minX : null;
o.minY= typeof minY != 'undefined' ? minY : null;
o.maxX= typeof maxX != 'undefined' ? maxX : null;
o.maxY= typeof maxY != 'undefined' ? maxY : null;
o.xMapper = fXMapper ? fXMapper : null;
o.yMapper = fYMapper ? fYMapper : null;
if(!Drag.onDragStart)Drag.onDragStart= new Function();
if(!Drag.onDragEnd)Drag.onDragEnd= new Function();
if(!Drag.onDrag)Drag.onDrag= new Function();
},
start : function(e)
{
var o = Drag.obj = this;
e = Drag.fixE(e);
var y = parseInt(o.vmode ? o.root.style.top : o.root.style.bottom);
var x = parseInt(o.hmode ? o.root.style.left : o.root.style.right );
gsd(x,y);
o.lastMouseX= e.clientX;
o.lastMouseY= e.clientY;
if (o.hmode) {
if (o.minX != null)o.minMouseX= e.clientX - x + o.minX;
if (o.maxX != null)o.maxMouseX= o.minMouseX + o.maxX - o.minX;
} else {
if (o.minX != null) o.maxMouseX = -o.minX + e.clientX + x;
if (o.maxX != null) o.minMouseX = -o.maxX + e.clientX + x;
}
if (o.vmode) {
if (o.minY != null)o.minMouseY= e.clientY - y + o.minY;
if (o.maxY != null)o.maxMouseY= o.minMouseY + o.maxY - o.minY;
} else {
if (o.minY != null) o.maxMouseY = -o.minY + e.clientY + y;
if (o.maxY != null) o.minMouseY = -o.maxY + e.clientY + y;
}
document.onmousemove= Drag.drag;
document.onmouseup= Drag.end;
deax(o);return false;
},
drag : function(e)
{
e = Drag.fixE(e);
var o = Drag.obj;
var ey= e.clientY;
var ex= e.clientX;
var y = parseInt(o.vmode ? o.root.style.top : o.root.style.bottom);
var x = parseInt(o.hmode ? o.root.style.left : o.root.style.right );
var nx, ny;
if (o.minX != null) ex = o.hmode ? Math.max(ex, o.minMouseX) : Math.min(ex, o.maxMouseX);
if (o.maxX != null) ex = o.hmode ? Math.min(ex, o.maxMouseX) : Math.max(ex, o.minMouseX);
if (o.minY != null) ey = o.vmode ? Math.max(ey, o.minMouseY) : Math.min(ey, o.maxMouseY);
if (o.maxY != null) ey = o.vmode ? Math.min(ey, o.maxMouseY) : Math.max(ey, o.minMouseY);
nx = x + ((ex - o.lastMouseX) * (o.hmode ? 1 : -1));
ny = y + ((ey - o.lastMouseY) * (o.vmode ? 1 : -1));
if (o.xMapper)nx = o.xMapper(y)
else if (o.yMapper)ny = o.yMapper(x)
Drag.obj.root.style[o.hmode ? 'left' : 'right'] = nx + 'px';
Drag.obj.root.style[o.vmode ? 'top' : 'bottom'] = ny + 'px';
Drag.obj.lastMouseX= ex;
Drag.obj.lastMouseY= ey;
Drag.onDrag(Drag.obj.root);
return false;
},
end : function()
{
document.onmousemove = null;
document.onmouseup  = null;vbrg();
sbh(parseInt(Drag.obj.root.style[Drag.obj.hmode ? 'left' : 'right']), 
parseInt(Drag.obj.root.style[Drag.obj.vmode ? 'top' : 'bottom']));
Drag.obj = null;
},
fixE : function(e)
{
if (typeof e == 'undefined') e = window.event;
if (typeof e.layerX == 'undefined') e.layerX = e.offsetX;
if (typeof e.layerY == 'undefined') e.layerY = e.offsetY;
return e;
}
};
function gsd(x,y)
{
var a = Drag.obj.root;
if(a==null)return;
var ee=a.parentNode;
if(ee==undefined || ee==null){return ;}
if(ee.tagName!=gn){return ;}
Drag.obj.a=ee;
var o = Drag.obj.root;
var b=zi(o);ee.style.height=a.offsetHeight;
o.style.width=o.offsetWidth;o.style.position=xuis;
var d=bx;
d=b.d+d;
var e=bx;
e=b.e+e;
o.style[xo] = e;
o.style[dy] = d;
o.style.zIndex= 65535;Drag.onDragStart(a, ee);
}
var fp='TR'
function gw(b ,x,y){return y>=b.d && x>=b.e && x<=b.x && y<= b.y;}
var geft='relative';
function vks(vk,x,y)
{
var yy = document.body.getElementsByTagName(vk);
var o = Drag.obj.root;
var sh=null;
for( i=0;i<yy.length;i++){
var b=zi(yy.item(i));
if(gw(b ,x,y)){
if(yy.item(i).style.position!=xuis){
sh=yy.item(i);}}}
return sh;
}
var kd='TBODY';
function jd()
{
var a = Drag.obj.root;
if(a==null)return;
var ee=Drag.obj.a;
if(ee==undefined || ee==null)return ;
if(ee.tagName!=gn)return;
a.style.top=0;
a.style.left=0;
a.style.position=geft;
ee.appendChild(a);
}

function sbh(x,y)
{
var ff=vks(gn,x,y);
if(ff==undefined || ff==null)return jd();
if(ff.tagName!=gn)return jd();
var aa=ff.parentNode;
if(aa.tagName!=fp)return jd();
var tt=aa.parentNode;
if(tt.tagName!=kd)return jd();
var gg=document.createElement(fp);
var qq=document.createElement(gn);
gg.appendChild(qq);
var xud=vwg(ff);
if(xud!=null){
xud.appendChild(gg);}
else{xud=tt;
tt.insertBefore(gg , aa);}
var a = Drag.obj.root;
if(a==null)return;
var ee=Drag.obj.a;
if(ee==undefined || ee==null)return ;
if(ee.tagName!=gn)return;
var w=ee.parentNode;
if(w.tagName!=fp)return;
var z=w.parentNode;
if(z.tagName!=kd)return;
a.style.top=0;
a.style.left=0;
a.style.position=geft;a.style.width='';a.style.zIndex=0;
if(xud.parentNode.getAttribute(mso)==rnh){
qq.appendChild(a);
z.removeChild(w);
}else{ee.style.height='';
ee.appendChild(a);
xud.removeChild(gg);
}
Drag.onDragEnd(a,qq);}
var dhy='';
 var tsp='TABLE';
function tqm(tablename){
if(typeof tablename == 'string'){
return document.getElementById(tablename);}
else{return tablename;}}
 function wna(vwh)
 {
 var exk=tqm(vwh);
 if(exk==undefined || exk==null)return ;
 exk.innerHTML=dhy;
 dhy='';
 }
 function wls(vwh)
 {
 var exk=tqm(vwh);
 if(exk==undefined || exk==null)return null;
 dhy=exk.innerHTML;
 if(!exk.hasChildNodes())return null;
 for (jj=0;jj<exk.childNodes.length;jj++)
 {
 if(exk.childNodes.item(jj).tagName==tsp)
 {
 return exk.childNodes.item(jj);
 }
 }
 return null;
 }
 function eventfilter(fun,forbiturl){var a=document.getElementsByTagName("a");for ( i = 0 ; i < a.length; i++){e=a[i];var r=forbiturl(e.href);if(r){attachEvents('click',fun,e);}}}
 function vwg(vwh)
 {
 var exk=wls(vwh);
 if(exk==null)return null;
 if(!exk.hasChildNodes())return null;
 for (jj1=0;jj1<exk.childNodes.length;jj1++)
 {
 if(exk.childNodes.item(jj1).tagName==kd)
 {
 return exk.childNodes.item(jj1);
 }
 }
 return null;
 }
 var ixd='DIV';
 function rfa(exk)
 {
 if(exk==null)return null;
 if(!exk.hasChildNodes())return null;
 for (jj2=0;jj2<exk.childNodes.length;jj2++)
 {
 if(exk.childNodes.item(jj2).tagName==gn)
 {
 return exk.childNodes.item(jj2);
 }
 }
 return null;
 }
 function gqb(exk)
 {
 var exk=rfa(exk);
 if(exk==null)return null;
 if(!exk.hasChildNodes())return null;
 for (jj3=0;jj3<exk.childNodes.length;jj3++)
 {
 if(exk.childNodes.item(jj3).tagName==ixd)
 {
 return exk.childNodes.item(jj3);
 }
 }
 return null;
 }
function nfi(exk){
if(exk==null)return null;
if(!exk.hasChildNodes())return null;
for (jj3a=0;jj3a<exk.childNodes.length;jj3a++){
if(exk.childNodes.item(jj3a).tagName==ixd){
var gzt=exk.childNodes.item(jj3a);
if(gzt.getAttribute(ovs)==gaj){
gzt.innerHTML='';}}}return null;}
 function cpq(exk)
 {
 var exk=gqb(exk);
 if(exk==null)return null;
if(exk.getAttribute(ovs)==gaj){
 exk.innerHTML='';
}else{nfi(exk);}
 }
 function vql(vwh)
 {
 var exk=vwg(vwh);
 if(exk==null)return ;
 if(!exk.hasChildNodes())return ;
 for (jj4=0;jj4<exk.childNodes.length;jj4++)
 {
 if(exk.childNodes.item(jj4).tagName==fp)
 {
 cpq( exk.childNodes.item(jj4) );
 }
 }
 return ;
 }
 function savedragresult(vwh)
 {
 vql(vwh);
 var exk=tqm(vwh);
 if(exk==undefined || exk==null)return null;
 var vy=exk.innerHTML;
 vy=vy.replace(/&nbsp;/g,'');
 vy=vy.replace(/<TBODY>/ig,'');
 vy=vy.replace(/<\/TBODY>/ig,'');
 exk.innerHTML=dhy;
 return vy;
 }
function ajaxincludedraggable(url,dragdivid,async)
{var dragdiv = document.getElementById(dragdivid);
if(dragdiv == undefined || dragdiv==null)return false;
dragdiv.setAttribute(ovs,gaj);get(url,dragdivid,async);}
function ksuc(dragdivid)
{var dragdiv = document.getElementById(dragdivid);
if(dragdiv == undefined || dragdiv==null)return null;
var dragdivparent=dragdiv.parentNode;
if(dragdivparent == undefined || dragdivparent==null)return null;
if(dragdivparent.tagName==ixd){return dragdivparent;}return null;}
function initdraggable(o,  minX, maxX, minY, maxY, bSwapHorzRef, bSwapVertRef, fXMapper, fYMapper){
Drag.init(o, ksuc(o), minX, maxX, minY, maxY, bSwapHorzRef, bSwapVertRef, fXMapper, fYMapper);}
