192 lines
7.2 KiB
JavaScript
192 lines
7.2 KiB
JavaScript
/* ==========================================================================
|
|
Simple Ajax Request
|
|
========================================================================== */
|
|
|
|
var xhr = {};
|
|
xhr.request = function(seite, post, fertigfunktion) {//1. Seite 2. Post ubergabe 3. funktion die am ende den quellcode bekommt
|
|
var HTTP = null;
|
|
if (window.XMLHttpRequest) {
|
|
var HTTP = new XMLHttpRequest();
|
|
} else if (window.ActiveXObject) {
|
|
try {
|
|
var HTTP = new ActiveXObject("Msxml2.HTTP");
|
|
} catch (ex) {
|
|
try {
|
|
var HTTP = new ActiveXObject("Microsoft.HTTP");
|
|
} catch (ex) {
|
|
}
|
|
}
|
|
}
|
|
;
|
|
HTTP.open("POST", seite, true);
|
|
HTTP.onreadystatechange = function() {
|
|
if (HTTP.readyState == 4) {
|
|
fertigfunktion(HTTP);
|
|
} else {
|
|
//ansonsten wird die seite gerade geladen.
|
|
}
|
|
};
|
|
HTTP.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
|
|
HTTP.setRequestHeader("Connection", "close");
|
|
HTTP.send(post);
|
|
};
|
|
|
|
/*
|
|
Provide the XMLHttpRequest constructor for Internet Explorer 5.x-6.x:
|
|
Other browsers (including Internet Explorer 7.x-9.x) do not redefine
|
|
XMLHttpRequest if it already exists.
|
|
|
|
This example is based on findings at:
|
|
http://blogs.msdn.com/xmlteam/archive/2006/10/23/using-the-right-version-of-msxml-in-internet-explorer.aspx
|
|
*/
|
|
if (typeof XMLHttpRequest === "undefined") {
|
|
XMLHttpRequest = function () {
|
|
try { return new ActiveXObject("Msxml2.XMLHTTP.6.0"); }
|
|
catch (e) {}
|
|
try { return new ActiveXObject("Msxml2.XMLHTTP.3.0"); }
|
|
catch (e) {}
|
|
try { return new ActiveXObject("Microsoft.XMLHTTP"); }
|
|
catch (e) {}
|
|
throw new Error("This browser does not support XMLHttpRequest.");
|
|
};
|
|
}
|
|
//var test = new XMLHttpRequest();
|
|
//console.log(test);
|
|
/* ==========================================================================
|
|
TinyBox2 windows
|
|
========================================================================== */
|
|
|
|
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));
|
|
}
|
|
};
|
|
}(); |