MediaWiki: Common.js: Unterschied zwischen den Versionen
Aus LehramtsWiki
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
/* Jedes JavaScript hier wird für alle Benutzer für jede Seite geladen. */ | /* Jedes JavaScript hier wird für alle Benutzer für jede Seite geladen. */ | ||
TINY={}; | |||
TINY.box=function(){ | |||
var j,m,b,g,v,p=0; | |||
return{ | |||
show:function(o){ | |||
v={opacity:70,close:1,animate:1,fixed:1,mask:1,maskid:'',boxid:'',topsplit:2,url:0,post:0,height:0,width:0,html:0,iframe:0}; | |||
for(s in o){v[s]=o[s]} | |||
if(!p){ | |||
j=document.createElement('div'); j.className='tbox'; | |||
p=document.createElement('div'); p.className='tinner'; | |||
b=document.createElement('div'); b.className='tcontent'; | |||
m=document.createElement('div'); m.className='tmask'; | |||
g=document.createElement('div'); g.className='tclose'; g.v=0; | |||
document.body.appendChild(m); document.body.appendChild(j); j.appendChild(p); p.appendChild(b); | |||
m.onclick=g.onclick=TINY.box.hide; window.onresize=TINY.box.resize | |||
}else{ | |||
j.style.display='none'; clearTimeout(p.ah); if(g.v){p.removeChild(g); g.v=0} | |||
} | |||
p.id=v.boxid; m.id=v.maskid; j.style.position=v.fixed?'fixed':'absolute'; | |||
if(v.html&&!v.animate){ | |||
p.style.backgroundImage='none'; b.innerHTML=v.html; b.style.display=''; | |||
p.style.width=v.width?v.width+'px':'auto'; p.style.height=v.height?v.height+'px':'auto' | |||
}else{ | |||
b.style.display='none'; | |||
if(!v.animate&&v.width&&v.height){ | |||
p.style.width=v.width+'px'; p.style.height=v.height+'px' | |||
}else{ | |||
p.style.width=p.style.height='100px' | |||
} | |||
} | |||
if(v.mask){this.mask(); this.alpha(m,1,v.opacity)}else{this.alpha(j,1,100)} | |||
if(v.autohide){p.ah=setTimeout(TINY.box.hide,1000*v.autohide)}else{document.onkeyup=TINY.box.esc} | |||
}, | |||
fill:function(c,u,k,a,w,h){ | |||
if(u){ | |||
if(v.image){ | |||
var i=new Image(); i.onload=function(){w=w||i.width; h=h||i.height; TINY.box.psh(i,a,w,h)}; i.src=v.image | |||
}else if(v.iframe){ | |||
this.psh('<iframe src="'+v.iframe+'" width="'+v.width+'" frameborder="0" height="'+v.height+'"></iframe>',a,w,h) | |||
}else{ | |||
var x=window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject('Microsoft.XMLHTTP'); | |||
x.onreadystatechange=function(){ | |||
if(x.readyState==4&&x.status==200){p.style.backgroundImage=''; TINY.box.psh(x.responseText,a,w,h)} | |||
}; | |||
if(k){ | |||
x.open('POST',c,true); x.setRequestHeader('Content-type','application/x-www-form-urlencoded'); x.send(k) | |||
}else{ | |||
x.open('GET',c,true); x.send(null) | |||
} | |||
} | |||
}else{ | |||
this.psh(c,a,w,h) | |||
} | |||
}, | |||
psh:function(c,a,w,h){ | |||
if(typeof c=='object'){b.appendChild(c)}else{b.innerHTML=c} | |||
var x=p.style.width, y=p.style.height; | |||
if(!w||!h){ | |||
p.style.width=w?w+'px':''; p.style.height=h?h+'px':''; b.style.display=''; | |||
if(!h){h=parseInt(b.offsetHeight)} | |||
if(!w){w=parseInt(b.offsetWidth)} | |||
b.style.display='none' | |||
} | |||
p.style.width=x; p.style.height=y; | |||
this.size(w,h,a) | |||
}, | |||
esc:function(e){e=e||window.event; if(e.keyCode==27){TINY.box.hide()}}, | |||
hide:function(){TINY.box.alpha(j,-1,0,3); document.onkeypress=null; if(v.closejs){v.closejs()}}, | |||
resize:function(){TINY.box.pos(); TINY.box.mask()}, | |||
mask:function(){m.style.height=this.total(1)+'px'; m.style.width=this.total(0)+'px'}, | |||
pos:function(){ | |||
var t; | |||
if(typeof v.top!='undefined'){t=v.top}else{t=(this.height()/v.topsplit)-(j.offsetHeight/2); t=t<20?20:t} | |||
if(!v.fixed&&!v.top){t+=this.top()} | |||
j.style.top=t+'px'; | |||
j.style.left=typeof v.left!='undefined'?v.left+'px':(this.width()/2)-(j.offsetWidth/2)+'px' | |||
}, | |||
alpha:function(e,d,a){ | |||
clearInterval(e.ai); | |||
if(d){e.style.opacity=0; e.style.filter='alpha(opacity=0)'; e.style.display='block'; TINY.box.pos()} | |||
e.ai=setInterval(function(){TINY.box.ta(e,a,d)},20) | |||
}, | |||
ta:function(e,a,d){ | |||
var o=Math.round(e.style.opacity*100); | |||
if(o==a){ | |||
clearInterval(e.ai); | |||
if(d==-1){ | |||
e.style.display='none'; | |||
e==j?TINY.box.alpha(m,-1,0,2):b.innerHTML=p.style.backgroundImage='' | |||
}else{ | |||
if(e==m){ | |||
this.alpha(j,1,100) | |||
}else{ | |||
j.style.filter=''; | |||
TINY.box.fill(v.html||v.url,v.url||v.iframe||v.image,v.post,v.animate,v.width,v.height) | |||
} | |||
} | |||
}else{ | |||
var n=a-Math.floor(Math.abs(a-o)*.5)*d; | |||
e.style.opacity=n/100; e.style.filter='alpha(opacity='+n+')' | |||
} | |||
}, | |||
size:function(w,h,a){ | |||
if(a){ | |||
clearInterval(p.si); var wd=parseInt(p.style.width)>w?-1:1, hd=parseInt(p.style.height)>h?-1:1; | |||
p.si=setInterval(function(){TINY.box.ts(w,wd,h,hd)},20) | |||
}else{ | |||
p.style.backgroundImage='none'; if(v.close){p.appendChild(g); g.v=1} | |||
p.style.width=w+'px'; p.style.height=h+'px'; b.style.display=''; this.pos(); | |||
if(v.openjs){v.openjs()} | |||
} | |||
}, | |||
ts:function(w,wd,h,hd){ | |||
var cw=parseInt(p.style.width), ch=parseInt(p.style.height); | |||
if(cw==w&&ch==h){ | |||
clearInterval(p.si); p.style.backgroundImage='none'; b.style.display='block'; if(v.close){p.appendChild(g); g.v=1} | |||
if(v.openjs){v.openjs()} | |||
}else{ | |||
if(cw!=w){p.style.width=(w-Math.floor(Math.abs(w-cw)*.6)*wd)+'px'} | |||
if(ch!=h){p.style.height=(h-Math.floor(Math.abs(h-ch)*.6)*hd)+'px'} | |||
this.pos() | |||
} | |||
}, | |||
top:function(){return document.documentElement.scrollTop||document.body.scrollTop}, | |||
width:function(){return self.innerWidth||document.documentElement.clientWidth||document.body.clientWidth}, | |||
height:function(){return self.innerHeight||document.documentElement.clientHeight||document.body.clientHeight}, | |||
total:function(d){ | |||
var b=document.body, e=document.documentElement; | |||
return d?Math.max(Math.max(b.scrollHeight,e.scrollHeight),Math.max(b.clientHeight,e.clientHeight)): | |||
Math.max(Math.max(b.scrollWidth,e.scrollWidth),Math.max(b.clientWidth,e.clientWidth)) | |||
} | |||
} | |||
}(); |
Version vom 4. Mai 2012, 14:19 Uhr
/* Jedes JavaScript hier wird für alle Benutzer für jede Seite geladen. */ TINY={}; TINY.box=function(){ var j,m,b,g,v,p=0; return{ show:function(o){ v={opacity:70,close:1,animate:1,fixed:1,mask:1,maskid:'',boxid:'',topsplit:2,url:0,post:0,height:0,width:0,html:0,iframe:0}; for(s in o){v[s]=o[s]} if(!p){ j=document.createElement('div'); j.className='tbox'; p=document.createElement('div'); p.className='tinner'; b=document.createElement('div'); b.className='tcontent'; m=document.createElement('div'); m.className='tmask'; g=document.createElement('div'); g.className='tclose'; g.v=0; document.body.appendChild(m); document.body.appendChild(j); j.appendChild(p); p.appendChild(b); m.onclick=g.onclick=TINY.box.hide; window.onresize=TINY.box.resize }else{ j.style.display='none'; clearTimeout(p.ah); if(g.v){p.removeChild(g); g.v=0} } p.id=v.boxid; m.id=v.maskid; j.style.position=v.fixed?'fixed':'absolute'; if(v.html&&!v.animate){ p.style.backgroundImage='none'; b.innerHTML=v.html; b.style.display=''; p.style.width=v.width?v.width+'px':'auto'; p.style.height=v.height?v.height+'px':'auto' }else{ b.style.display='none'; if(!v.animate&&v.width&&v.height){ p.style.width=v.width+'px'; p.style.height=v.height+'px' }else{ p.style.width=p.style.height='100px' } } if(v.mask){this.mask(); this.alpha(m,1,v.opacity)}else{this.alpha(j,1,100)} if(v.autohide){p.ah=setTimeout(TINY.box.hide,1000*v.autohide)}else{document.onkeyup=TINY.box.esc} }, fill:function(c,u,k,a,w,h){ if(u){ if(v.image){ var i=new Image(); i.onload=function(){w=w||i.width; h=h||i.height; TINY.box.psh(i,a,w,h)}; i.src=v.image }else if(v.iframe){ this.psh('<iframe src="'+v.iframe+'" width="'+v.width+'" frameborder="0" height="'+v.height+'"></iframe>',a,w,h) }else{ var x=window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject('Microsoft.XMLHTTP'); x.onreadystatechange=function(){ if(x.readyState==4&&x.status==200){p.style.backgroundImage=''; TINY.box.psh(x.responseText,a,w,h)} }; if(k){ x.open('POST',c,true); x.setRequestHeader('Content-type','application/x-www-form-urlencoded'); x.send(k) }else{ x.open('GET',c,true); x.send(null) } } }else{ this.psh(c,a,w,h) } }, psh:function(c,a,w,h){ if(typeof c=='object'){b.appendChild(c)}else{b.innerHTML=c} var x=p.style.width, y=p.style.height; if(!w||!h){ p.style.width=w?w+'px':''; p.style.height=h?h+'px':''; b.style.display=''; if(!h){h=parseInt(b.offsetHeight)} if(!w){w=parseInt(b.offsetWidth)} b.style.display='none' } p.style.width=x; p.style.height=y; this.size(w,h,a) }, esc:function(e){e=e||window.event; if(e.keyCode==27){TINY.box.hide()}}, hide:function(){TINY.box.alpha(j,-1,0,3); document.onkeypress=null; if(v.closejs){v.closejs()}}, resize:function(){TINY.box.pos(); TINY.box.mask()}, mask:function(){m.style.height=this.total(1)+'px'; m.style.width=this.total(0)+'px'}, pos:function(){ var t; if(typeof v.top!='undefined'){t=v.top}else{t=(this.height()/v.topsplit)-(j.offsetHeight/2); t=t<20?20:t} if(!v.fixed&&!v.top){t+=this.top()} j.style.top=t+'px'; j.style.left=typeof v.left!='undefined'?v.left+'px':(this.width()/2)-(j.offsetWidth/2)+'px' }, alpha:function(e,d,a){ clearInterval(e.ai); if(d){e.style.opacity=0; e.style.filter='alpha(opacity=0)'; e.style.display='block'; TINY.box.pos()} e.ai=setInterval(function(){TINY.box.ta(e,a,d)},20) }, ta:function(e,a,d){ var o=Math.round(e.style.opacity*100); if(o==a){ clearInterval(e.ai); if(d==-1){ e.style.display='none'; e==j?TINY.box.alpha(m,-1,0,2):b.innerHTML=p.style.backgroundImage='' }else{ if(e==m){ this.alpha(j,1,100) }else{ j.style.filter=''; TINY.box.fill(v.html||v.url,v.url||v.iframe||v.image,v.post,v.animate,v.width,v.height) } } }else{ var n=a-Math.floor(Math.abs(a-o)*.5)*d; e.style.opacity=n/100; e.style.filter='alpha(opacity='+n+')' } }, size:function(w,h,a){ if(a){ clearInterval(p.si); var wd=parseInt(p.style.width)>w?-1:1, hd=parseInt(p.style.height)>h?-1:1; p.si=setInterval(function(){TINY.box.ts(w,wd,h,hd)},20) }else{ p.style.backgroundImage='none'; if(v.close){p.appendChild(g); g.v=1} p.style.width=w+'px'; p.style.height=h+'px'; b.style.display=''; this.pos(); if(v.openjs){v.openjs()} } }, ts:function(w,wd,h,hd){ var cw=parseInt(p.style.width), ch=parseInt(p.style.height); if(cw==w&&ch==h){ clearInterval(p.si); p.style.backgroundImage='none'; b.style.display='block'; if(v.close){p.appendChild(g); g.v=1} if(v.openjs){v.openjs()} }else{ if(cw!=w){p.style.width=(w-Math.floor(Math.abs(w-cw)*.6)*wd)+'px'} if(ch!=h){p.style.height=(h-Math.floor(Math.abs(h-ch)*.6)*hd)+'px'} this.pos() } }, top:function(){return document.documentElement.scrollTop||document.body.scrollTop}, width:function(){return self.innerWidth||document.documentElement.clientWidth||document.body.clientWidth}, height:function(){return self.innerHeight||document.documentElement.clientHeight||document.body.clientHeight}, total:function(d){ var b=document.body, e=document.documentElement; return d?Math.max(Math.max(b.scrollHeight,e.scrollHeight),Math.max(b.clientHeight,e.clientHeight)): Math.max(Math.max(b.scrollWidth,e.scrollWidth),Math.max(b.clientWidth,e.clientWidth)) } } }();