forked from science-ation/science-ation
134 lines
4.2 KiB
PHP
134 lines
4.2 KiB
PHP
|
<? require_once("ajax.inc.php"); ?>
|
||
|
<div class="SFIABDialog" id="SFIABDialog" style="position: absolute; visibility: hidden;">
|
||
|
<div class="SFIABDialogInner" id="SFIABDialogInner"></div>
|
||
|
</div>
|
||
|
<div id="FadeScreenDiv" style="visibility: hidden; top: 0px; left: 0px;"></div>
|
||
|
<script type="text/javascript">
|
||
|
var SFIABDialogGrowWidth=0;
|
||
|
var SFIABDialogGrowHeight=0;
|
||
|
var SFIABDialogFinalWidth=100;
|
||
|
var SFIABDialogFinalHeight=100;
|
||
|
var SFIABDialogGrowWidthStep=0;
|
||
|
var SFIABDialogGrowHeightStep=0;
|
||
|
var SFIABDialogGrowTime=0; //0 means no animation, i dont know why i coded the animation thing to begin with, who knows, maybe we'll want it somewhere at some point
|
||
|
var SFIABDialogGrowSteps=5;
|
||
|
var SFIABDialogInnerPre='<form id="SFIABDialogForm" method="post" action="<?=$_SERVER['PHP_SELF']?>">';
|
||
|
var SFIABDialogInnerPost='<table width="100%"><tr><td style="width: 50%; text-align: center;"><input onclick="return SFIABDialogSubmit()" type="submit" value="<?=i18n("Save")?>"></td><td style="text-align: center;"><input onclick="return SFIABDialogCancel()" type="button" value="<?=i18n("Cancel")?>"></td></tr></table></form>';
|
||
|
|
||
|
function SFIABDialog(e, url, width, height) {
|
||
|
var posx = 0;
|
||
|
var posy = 0;
|
||
|
|
||
|
//get this going while we do the other stuff
|
||
|
SFIABDialogFill(url);
|
||
|
|
||
|
if(!e) var e = window.event;
|
||
|
if (e.pageX || e.pageY) {
|
||
|
posx = e.pageX;
|
||
|
posy = e.pageY;
|
||
|
}
|
||
|
else if (e.clientX || e.clientY) {
|
||
|
posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
|
||
|
posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
|
||
|
}
|
||
|
|
||
|
var d=document.getElementById('SFIABDialog');
|
||
|
var di=document.getElementById('SFIABDialogInner');
|
||
|
var fs=document.getElementById('FadeScreenDiv');
|
||
|
fs.style.visibility="visible";
|
||
|
d.style.top=posy+'px';
|
||
|
d.style.left=posx+'px';
|
||
|
di.style.visibility='hidden';
|
||
|
|
||
|
if(SFIABDialogGrowTime==0) {
|
||
|
d.style.visibility='visible';
|
||
|
d.style.width=width+"px";
|
||
|
d.style.height=height+"px";
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
//expand it in over time...
|
||
|
SFIABDialogGrowWidth=1;
|
||
|
SFIABDialogGrowHeight=1;
|
||
|
|
||
|
//set the final width&&height
|
||
|
SFIABDialogFinalWidth=width;
|
||
|
SFIABDialogFinalHeight=height;
|
||
|
|
||
|
//set the steps
|
||
|
SFIABDialogGrowWidthStep=Math.round(width/SFIABDialogGrowSteps);
|
||
|
SFIABDialogGrowHeightStep=Math.round(height/SFIABDialogGrowSteps);
|
||
|
|
||
|
//set the size to start us off, and go visible
|
||
|
d.style.width=SFIABDialogGrowWidth+"px";
|
||
|
d.style.height=SFIABDialogGrowHeight+"px";
|
||
|
d.style.visibility='visible';
|
||
|
|
||
|
//startup the timer
|
||
|
setTimeout('growDialog()',Math.round(SFIABDialogGrowTime/SFIABDialogGrowSteps));
|
||
|
}
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
function growDialog() {
|
||
|
SFIABDialogGrowWidth+=SFIABDialogGrowWidthStep;
|
||
|
SFIABDialogGrowHeight+=SFIABDialogGrowHeightStep;
|
||
|
if(SFIABDialogGrowWidth>SFIABDialogFinalWidth)
|
||
|
SFIABDialogGrowWidth=SFIABDialogFinalWidth;
|
||
|
if(SFIABDialogGrowHeight>SFIABDialogFinalHeight)
|
||
|
SFIABDialogGrowHeight=SFIABDialogFinalHeight;
|
||
|
|
||
|
var d=document.getElementById('SFIABDialog');
|
||
|
d.style.width=SFIABDialogGrowWidth+"px";
|
||
|
d.style.height=SFIABDialogGrowHeight+"px";
|
||
|
|
||
|
if(SFIABDialogGrowWidth<SFIABDialogFinalWidth || SFIABDialogGrowHeight<SFIABDialogFinalHeight)
|
||
|
{
|
||
|
setTimeout('growDialog()',Math.round(SFIABDialogGrowTime/SFIABDialogGrowSteps));
|
||
|
}
|
||
|
else {
|
||
|
var di=document.getElementById('SFIABDialogInner');
|
||
|
di.style.visibility="visible";
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
function SFIABDialogFill(url) {
|
||
|
var d=document.getElementById('SFIABDialogInner');
|
||
|
d.innerHTML="";
|
||
|
d.style.visibility='hidden';
|
||
|
http.open("GET",url,true);
|
||
|
http.onreadystatechange=SFIABDialogFillResponse;
|
||
|
http.send(null);
|
||
|
}
|
||
|
|
||
|
function SFIABDialogFillResponse() {
|
||
|
try {
|
||
|
if(http.readyState==4) {
|
||
|
var di=document.getElementById('SFIABDialogInner');
|
||
|
var objhtml=http.responseText;
|
||
|
di.innerHTML=SFIABDialogInnerPre+objhtml+SFIABDialogInnerPost;
|
||
|
di.style.visibility='visible';
|
||
|
}
|
||
|
}
|
||
|
catch (e) {
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function SFIABDialogSubmit() {
|
||
|
//we let it submit the form, which reloads the page
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
function SFIABDialogCancel() {
|
||
|
var d=document.getElementById('SFIABDialog');
|
||
|
var di=document.getElementById('SFIABDialogInner');
|
||
|
var fs=document.getElementById('FadeScreenDiv');
|
||
|
fs.style.visibility="hidden";
|
||
|
d.style.visibility="hidden";
|
||
|
di.style.visibility="hidden";
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
</script>
|