/*<![CDATA[*/
// Image Preview (23-February-2008)  DRAFT
// by Vic Phillips http://www.vicsjavascripts.org.uk/

function zxcIntPreview(obj,img,width,height,txt){
 if (typeof(obj)=='string') obj=document.getElementById(obj);
 if (obj.preview) return;
 obj.img=[img,width,height];
 obj.preview=zxcES('DIV',{position:'absolute',overflow:'hidden',visibility:'hidden',width:width+'px',height:height+'px'},document.getElementsByTagName('BODY')[0]);
 obj.preview.className='PreviewDiv';
 zxcES('DIV',{},obj.preview,txt||'').className='PreviewTxt';
 zxcAddEvt(obj,'zxcPreview','mouseover');
 zxcAddEvt(obj,'zxcPreview','mouseout');
 zxcAddEvt(obj,'zxcMseMove','mousemove');
}

function zxcPreview(evt){
 if (evt.type=='mouseover') zxcMseMove(evt,this);
 else zxcES(this.preview,{visibility:'hidden'});
 if (!this.imgobj){
  this.imgobj=zxcES('IMG',{position:'relative',left:'0px',top:'0px',width:this.img[1]+'px'},this.preview);
  this.imgobj.src=this.img[0];
  zxcES(this.preview.getElementsByTagName('DIV')[0],{},this.preview);
 }
 if (window['zxcAddIFrame']) zxcAddIFrame(this.preview);
}

function zxcMseMove(evt,obj){
 if (!obj) obj=this;
 zxcES(obj.preview,{visibility:'visible',left:((zxcMse(evt)[0]+15+obj.preview.offsetWidth<zxcWWHS()[0])?zxcMse(evt)[0]+5:zxcMse(evt)[0]-obj.preview.offsetWidth-5)+'px',top:Math.max(zxcMse(evt)[1]-obj.img[2]-5,zxcWWHS()[3]+2)+'px'});
 if (window['zxcAddIFrame']) zxcAddIFrame(this.preview);
}

function zxcMse(evt){
 if(!evt) var evt=window.event;
 if (document.all) return [evt.clientX+zxcDocS()[0],evt.clientY+zxcDocS()[1]];
 return [evt.pageX,evt.pageY];
}

function zxcDocS(){
 if (!document.body.scrollTop) return [document.documentElement.scrollLeft,document.documentElement.scrollTop];
 return [document.body.scrollLeft,document.body.scrollTop];
}

function zxcEventAdd(o,t,f) {
 if ( o.addEventListener ){ o.addEventListener(t, function(e){ o[f](e);}, false); }
 else if ( o.attachEvent ){ o.attachEvent('on'+t,function(e){ o[f](e); }); }
 else {
  var Prev=o["on" + t];
  if (Prev){ o['on'+t]=function(e){ Prev(e); o[f](e); }; }
  else { o['on'+t]=o[f]; }
 }
}

function zxcAddEvt(obj,fun,evt){
 if (obj['zxcadd'+fun+evt]) return;
 obj['zxcadd'+fun+evt]=window[fun];
 zxcEventAdd(obj,evt,'zxcadd'+fun+evt);
}

function zxcES(ele,style,par,txt){
 if (typeof(ele)=='string') ele=document.createElement(ele);
 for (key in style) ele.style[key]=style[key];
 if (par) par.appendChild(ele);
 if (txt) ele.appendChild(document.createTextNode(txt));
 return ele;
}

function zxcWWHS(){
 if (window.innerHeight) return [window.innerWidth-10,window.innerHeight-10,window.pageXOffset,window.pageYOffset];
 else if (document.documentElement.clientHeight) return [document.documentElement.clientWidth-10,document.documentElement.clientHeight-10,document.documentElement.scrollLeft,document.documentElement.scrollTop];
 return [document.body.clientWidth,document.body.clientHeight,document.body.scrollLeft,document.body.scrollTop];
}

/*]]>*/