ASNMTAP
view release on metacpan or search on metacpan
applications/htmlroot/JSFX_Layer.js view on Meta::CPAN
}
if(ns4)
JSFX.Layer.prototype.resizeTo = function(w,h)
{
this.style.clip.width =w;
this.style.clip.height =h;
}
/**********************************************************************************/
/*** getX/Y ***/
JSFX.Layer.prototype.getX = function() { return parseInt(this.style.left); }
JSFX.Layer.prototype.getY = function() { return parseInt(this.style.top); }
if(ns4)
{
JSFX.Layer.prototype.getX = function() { return this.style.left; }
JSFX.Layer.prototype.getY = function() { return this.style.top; }
}
/**********************************************************************************/
/*** getWidth/Height ***/
JSFX.Layer.prototype.getWidth = function() { return this.elem.offsetWidth; }
JSFX.Layer.prototype.getHeight = function() { return this.elem.offsetHeight; }
if(!document.getElementById)
JSFX.Layer.prototype.getWidth = function()
{
//Extra processing here for clip
return this.elem.scrollWidth;
}
if(ns4)
{
JSFX.Layer.prototype.getWidth = function() { return this.style.clip.right; }
JSFX.Layer.prototype.getHeight = function() { return this.style.clip.bottom; }
}
/**********************************************************************************/
/*** Opacity ***/
if(ns4)
{
JSFX.Layer.prototype.setOpacity = function(pc) {return 0;}
}
else if(document.all)
{
JSFX.Layer.prototype.setOpacity = function(pc)
{
if(this.style.filter=="")
this.style.filter="alpha(opacity=100);";
this.elem.filters.alpha.opacity=pc;
}
}
else
{
/*** Assume NS6 ***/
JSFX.Layer.prototype.setOpacity = function(pc){ this.style.MozOpacity=pc+'%' }
}
/**************************************************************************/
/*** Event Handling - Start ***/
/*** NS4 ***/
if(ns4)
{
JSFX.eventmasks = {
onabort:Event.ABORT, onblur:Event.BLUR, onchange:Event.CHANGE,
onclick:Event.CLICK, ondblclick:Event.DBLCLICK,
ondragdrop:Event.DRAGDROP, onerror:Event.ERROR,
onfocus:Event.FOCUS, onkeydown:Event.KEYDOWN,
onkeypress:Event.KEYPRESS, onkeyup:Event.KEYUP, onload:Event.LOAD,
onmousedown:Event.MOUSEDOWN, onmousemove:Event.MOUSEMOVE,
onmouseout:Event.MOUSEOUT, onmouseover:Event.MOUSEOVER,
onmouseup:Event.MOUSEUP, onmove:Event.MOVE, onreset:Event.RESET,
onresize:Event.RESIZE, onselect:Event.SELECT, onsubmit:Event.SUBMIT,
onunload:Event.UNLOAD
};
JSFX.Layer.prototype.addEventHandler = function(eventname, handler)
{
this.elem.captureEvents(JSFX.eventmasks[eventname]);
var xl = this;
this.elem[eventname] = function(event) {
event.clientX = event.pageX;
event.clientY = event.pageY;
event.button = event.which;
event.keyCode = event.which;
event.altKey =((event.modifiers & Event.ALT_MASK) != 0);
event.ctrlKey =((event.modifiers & Event.CONTROL_MASK) != 0);
event.shiftKey =((event.modifiers & Event.SHIFT_MASK) != 0);
return handler(xl, event);
}
}
JSFX.Layer.prototype.removeEventHandler = function(eventName)
{
this.elem.releaseEvents(JSFX.eventmasks[eventName]);
this.elem[eventName] = null;
}
}
/**************************************************************************/
/** IE 4/5+***/
else
if(document.all)
{
JSFX.Layer.prototype.addEventHandler = function(eventName, handler)
{
var xl = this;
this.elem[eventName] = function()
{
var e = window.event;
e.cancelBubble = true;
if(document.getElementById)
{
e.layerX = e.offsetX;
e.layerY = e.offsetY;
}
else
{
/*** Work around for IE 4 : clone window.event ***/
ev = new Object();
for(i in e)
ev[i] = e[i];
ev.layerX = e.offsetX;
ev.layerY = e.offsetY;
e = ev;
}
return handler(xl, e);
}
}
( run in 1.121 second using v1.01-cache-2.11-cpan-39bf76dae61 )