/*
DynAPI Distribution
Higlighter/Skin Class
The DynAPI Distribution is distributed under the terms of the GNU LGPL license.
requires: DynLayer
*/
// Highlighter
function Highlighter(x,y,w,h,color,image){
this.DynLayer=DynLayer;
if(x && x.constructor==Object) this.DynLayer(x); // use dictionary
else this.DynLayer(null,x||0,y||0,w||0,h||0,color,image);
};
var p = dynapi.setPrototype('Highlighter','DynLayer');
p.addChild=dynapi.functions.Null;
if (!dynapi.ua.ns4){
p._hLight= [
'\n
'
]; // some versions of IE (e.g. 6.0) will not set the correct height if the layer hight is smaller than the font height. To fix this I added to the div
}
else{
p._hLight= [
'\n'
];
};
p.getOuterHTML = function(){
var a=this._hLight;
a[1]=this.id;
a[3]=this.x;
a[5]=this.y;
a[7]=this.w;
a[9]=this.h;
a[11]=this.bgColor||this.parent.bgColor||'none';
a[13]=(this.bgImage==null)? 'none':'url('+this.bgImage+')'; // will prevent image reloading in IE
return a.join('');
};
p.getInnerHTML = function(){
return '';
};
// Skin
function Skin(p,a) {
this.base=Highlighter;
var w=a[0], h=a[1], d1=a[2], d2=a[3], c=a[4], i=a[5]; this.point=p;
if(p=='n') this.base({h:h,color:c,image:i,anchor:{top:0,right:d1,left:d2}});
if(p=='ne') this.base({w:w,h:h,color:c,image:i,anchor:{top:0,right:0}});
if(p=='e') this.base({w:w,color:c,image:i,anchor:{top:d1,right:0,bottom:d2}});
if(p=='se') this.base({w:w,h:h,color:c,image:i,anchor:{right:0,bottom:0}});
if(p=='s') this.base({h:h,color:c,image:i,anchor:{right:d1,bottom:0,left:d2}});
if(p=='sw') this.base({w:w,h:h,color:c,image:i,anchor:{bottom:0,left:0}});
if(p=='w') this.base({w:w,color:c,image:i,anchor:{top:d1,bottom:d2,left:0}});
if(p=='nw') this.base({w:w,h:h,color:c,image:i,anchor:{top:0,left:0}});
};
Skin.prototype=new Highlighter();
Skin.prototype.graft=function(a) {
var w=a[0], h=a[1], d1=a[2], d2=a[3], c=a[4], i=a[5], p=this.point;
this.setSize(w,h); this.setBgColor(c); this.setBgImage(i);
if(p=='n') this.setAnchor({top:0,right:d1,left:d2});
if(p=='e') this.setAnchor({top:d1,right:0,bottom:d2});
if(p=='s') this.setAnchor({right:d1,bottom:0,left:d2});
if(p=='w') this.setAnchor({top:d1,bottom:d2,left:0});
};