var _DHTMLTOOLS_JS_=true;
var _TOP=_LEFT=0;
var _CENTER=_MIDDLE=1;
var _BOTTOM=_RIGHT=2;
var _whereAmI = "";

var resizeEvents=new Array();


function doDHTMLResize(e){
if(is.ie4) e=event;
var i;
for(i in resizeEvents){
eval(resizeEvents[i]);
}
}


function registerResizeEvent(eventStr){
resizeEvents[resizeEvents.length]=eventStr;
}
window.onresize=doDHTMLResize;

var layerObjs=new Array();






function LayerObject_initMetric(){
var pos=findPosition(this.obj);
this.x=pos.left;
this.y=pos.top;

if (this.obj) {
if(this.obj.offsetWidth){
this.width=this.obj.offsetWidth;
this.height=this.obj.offsetHeight;
} else {
this.width=this.obj.clip.right;
this.height=this.obj.clip.bottom;
}
}
}


function LayerObject_moveTo(x,y){
if(x!=null){
this.x=x;
this.style.left=this.x;
}
if(y!=null){
this.y=y;
this.style.top=this.y;
}
}



function LayerObject_moveToObj(obj){
this.x=obj.x;
this.y=obj.y;
this.style.left=this.x;
this.style.top=this.y;
}


function LayerObject_moveRel(x,y){
this.x+=x;
this.y+=y;
this.style.left=this.x;
this.style.top=this.y;
}







function LayerObject_moveRelToX(target,myAlign,targetAlign,offset){
if(target!=null){
this.hostObj=t=target;
this.hostAlignX=tA=targetAlign;
this.alignToHostX=mA=myAlign;
this.alignOffsetX=o=offset;
}else{
t=this.hostObj;
mA=this.alignToHostX;
tA=this.hostAlignX;
o=this.alignOffsetX;
}
finalOffset=0;
if(mA==_CENTER){
finalOffset=-parseInt(this.width/2);
}else if(mA==_RIGHT){
finalOffset=-this.width;
}
if(tA==_CENTER){
finalOffset+=parseInt(t.width/2);
}else if(tA==_RIGHT){
finalOffset+=t.width;
}
finalOffset+=o;
this.moveTo(t.x+finalOffset,null);
}







function LayerObject_moveRelToY(target,myAlign,targetAlign,offset){
if(target!=null){
this.hostObj=t=target;
this.hostAlignY=tA=targetAlign;
this.alignToHostY=mA=myAlign;
this.alignOffsetY=o=offset;
}else{
t=this.hostObj;
mA=this.alignToHostY;
tA=this.hostAlignY;
o=this.alignOffsetY;
}
finalOffset=0;
if(mA==_CENTER){
finalOffset=-parseInt(this.height/2);
}else if(mA==_BOTTOM){
finalOffset=-this.height;
}
if(tA==_CENTER){
finalOffset+=parseInt(t.height/2);
}else if(tA==_BOTTOM){
finalOffset+=t.height;
}
finalOffset+=o;
this.moveTo(null,t.y+finalOffset);
}


function LayerObject_setClip(t,r,b,l){
if(is.ie4){
this.style.clip="rect("+t+"px "+r+"px "+b+"px "+l+"px)";
}else if(is.ns4){
this.obj.clip.top=t
this.obj.clip.right=r
this.obj.clip.bottom=b
this.obj.clip.left=l
}
}


function LayerObject_setZ(zval){
this.z=zval;
this.style.zIndex=this.z;
}


function LayerObject_show(){
this.visible=true;
this.style.visibility="visible";
}


function LayerObject_hide(){
this.visible=false;
this.style.visibility="hidden";
}


function LayerObject_setVisible(v){
this.visible=v;
this.style.visibility=this.visible?"visible":"hidden";
}


function LayerObject_rewrite(t){
if(is.ie4){
document.all[this.name+"Div"].innerHTML=t;
}else if(is.ns4){
lyr=this.style.document;
lyr.open();
lyr.write(t);
lyr.close();
}
}





function LayerObject_openURL(url){
var u = url;
var iframe = eval("_"+this.name+"Frame");
if(u.indexOf("?") > 0) u+="&";
else u+="?";
u+="_width="+this.width;
if(is.ie4){
u+="&_onload=parent.layerObjs['"+this.name+"'].rewrite(parent._"+this.name+"Frame.document.body.innerHTML)";
iframe.document.location.href=u;
}else if(is.ns4){
this.obj.load(url,this.width);
}
}



function LayerObject(objName){
this.obj = $("#"+objName+"Div")[0];
this.style = this.obj.style;
this.name=objName;
this.initMetric=LayerObject_initMetric;
this.initMetric();
this.z=this.style.zIndex;
this.visible=(this.style.visibility!="hidden");
this.hostObj=null;
this.hostAlignX=null;
this.hostAlignY=null;
this.alignToHostX=null;
this.alignToHostY=null;
this.alignOffsetX=0;
this.alignOffsetY=0;
this.moveTo=LayerObject_moveTo;
this.moveRel=LayerObject_moveRel;
this.moveRelToX=LayerObject_moveRelToX;
this.moveRelToY=LayerObject_moveRelToY;
this.setClip=LayerObject_setClip;
this.setZ=LayerObject_setZ;
this.show=LayerObject_show;
this.hide=LayerObject_hide;
this.setVisible=LayerObject_setVisible;
this.rewrite=LayerObject_rewrite;
this.openURL=LayerObject_openURL;
if(!this.visible){
this.moveTo(0,0);
}
layerObjs[objName]=this;
}






var eventRegistryObjs=new Array();
function registerEvent(eventName,objName,script){
getEventRegistry(objName,true).registerEvent(eventName,script);
}
function doEvent(eventName,objName){
var eventRegistry=getEventRegistry(objName);
if(eventRegistry!=null)
eventRegistry.executeEvent(eventName);
}
function getEventRegistry(name,create){
var eventRegistry=eventRegistryObjs[name];
if(create==true && eventRegistry==null){
eventRegistryObjs[name]=new EventRegistry();
eventRegistry=eventRegistryObjs[name]
}
return eventRegistry;
}
function EventRegistry(){
this.events=new Array();
this.registerEvent=registerEventER;
this.executeEvent=executeEventER;
}
function registerEventER(eventName,script){
var event=this.events[eventName];
if(event==null){
this.events[eventName]=new Array();
event=this.events[eventName];
}
event[event.length]=script;
}
function executeEventER(eventName){
var i,event=this.events[eventName];
if(event==null) return;
for(i in event)
eval(event[i]);
}
var _SR_;
if(_SR_ != null) _SR_.notify("dhtmltools.js");