/************************************************************************************
Popup Windows - V 4.0
Author: Brian Gosselin
Site URL: http://scriptasylum.com

Browser compatibility:
IE4+, NS4+, NS6+ (with limited functionality in pre 5.0 browsers)

Supported Features:
(V 3.1)
> Seperate Drag and Drop (selectable), minimize/restore/close, resizability, and
  fonts/colors/dimensions/placement for each popup.
> Allows any number of popups per page limited only by browser/computer performance.
> Popups are created even after page loadtime allowing for truly dynamic windows. For
  popups that appear at page loadtime, put the popup construnctor in a window.onload
  function.
> Popups can be created in their "closed" state and then opened (or closed) via
  javascript function if desired.
> Degrades gracefully in older browsers by creating normal browser windows (selectable).

Thanks to Robert V. Zwink for a tweak which adds better compliance for Netscape 3.04

(V 4.0)
> Can now load external HTML files, even when using "old-browser" mode. Thanks to
  DynamicDrive.com for this idea.
> Added cookie functionality so popups will not reappear if the user goes back to
  the page (selectable). Thanks again to DynamicDrive.com for this idea.
> Removed minimize/maximize buttons if popup is non-resizeable.
> Optimized "old-browser" mode to utilize more of the user defined settings such as
  window position and resizability. Also supports the selectable "external page mode".
> Use the wizard to set up your popup parameters. Just plug in the values you want, test
  by creating a popup, then paste the generated code into your page! Easy as that!

**************************************************************************************
********************** EDIT THE LINES BELOW AT YOUR OWN RISK :) **********************
*************************************************************************************/

var w3c=(document.getElementById)? true: false;
var ns4=(document.layers)?true:false;
var ie5=(w3c && document.all)? true : false;
var ns6=(w3c && !document.all)? true: false;
var ifouad=1;
currIDb=null; xoff=0; yoff=0;
currRS=null; rsxoff=0; rsyoff=0;
oldac=null; newac=null; zdx=1; mx=0; my=0;

var idlist=new Array();
idlist.btns=new Array();
idlist.btns[0]=new Image(); idlist.btns[0].src="./popup/min.gif";
idlist.btns[1]=new Image(); idlist.btns[1].src="./popup/max.gif";
idlist.btns[2]=new Image(); idlist.btns[2].src="./popup/close.gif";
idlist.btns[3]=new Image(); idlist.btns[3].src="./popup/resize.gif";

function virtualtour(){
W=350;
H=340;
var c=(document.all&&navigator.userAgent.indexOf("Win")!=-1)?1:0
var w=window.screen.width; var h=window.screen.height
var W=W||w; W=(typeof(W)=='string'?Math.ceil(parseInt(W)*w/100):W); W+=2*c
var H=H||h; H=(typeof(H)=='string'?Math.ceil(parseInt(H)*h/100):H); H+=23*c
var X=X||Math.ceil((w-W)/2)
var Y=Y||Math.ceil((h-H)/2)
var s=",width="+W+",height="+H
new popUp(X, Y-100, 350, 340, "Div"+ifouad, "virtual.asp", "white", "#00385c", "16pt serif", " Visite virtuelle / Tabarka.org", "#FF9900", "white", "#FF9900", "#FF9900", "black", true, true, true, true, true, false);
ifouad=ifouad+1;
}

function hidebox(id){
if(w3c){
document.getElementById(id+'_b').style.display='none';
document.getElementById(id+'_s').style.display='none';
}}

function showbox(id){
if(w3c){
var bx=document.getElementById(id+'_b').style;
var sh=document.getElementById(id+'_s').style;
bx.display='block';
sh.display='block';
sh.zIndex=++zdx;
bx.zIndex=++zdx;
}}

function minimize(){
if(w3c){
this.IDS[0].style.height=(ie5)? '28px':'24px';
this.IDS[3].style.height='28px';
this.IDS[2].style.display='none';
this.IDS[4].style.display='none';
if(ns6)setTimeout('ns6bugfix()',100);
}}

function restore(){
if(w3c){
var h=this.IDS[10];
this.IDS[0].style.height=h+'px'; //box
this.IDS[3].style.height=(ie5)? h+'px':h+5+'px'; //shd
this.IDS[2].style.display='block';
this.IDS[4].style.display='block';
if(ns6)setTimeout('ns6bugfix()',100);
}}

function ns6bugfix(){
self.resizeBy(0,1);
self.resizeBy(0,-1);
}

function trackmouse(evt){
mx=(ie5)?event.clientX+document.body.scrollLeft:evt.pageX;
my=(ie5)?event.clientY+document.body.scrollTop:evt.pageY;
if(!ns6)movepopup();
if((currIDb!=null)||(currRS!=null))return false;
}

function movepopup(){
if((currIDb!=null)&&w3c){
var x=mx+xoff;
var y=my+yoff;
currIDb.style.left=x+'px';
currIDs.style.left=x+8+'px';
currIDb.style.top=y+'px';
currIDs.style.top=y+8+'px';
}
if((currRS!=null)&&w3c){
var rx=mx+rsxoff;
var ry=my+rsyoff;
var c=currRS;
c.style.left=Math.max(rx,((ie5)?88:92))+'px';
c.style.top=Math.max(ry,((ie5)?68:72))+'px';
c.IDS[0].style.width=Math.max(rx+((ie5)?12:8),100)+'px';
c.IDS[0].style.height=Math.max(ry+((ie5)?12:8),80)+'px';
c.IDS[1].style.width=Math.max(rx+((ie5)?4:3),((ns6)?95:92))+'px';
c.IDS[5].style.left=parseInt(c.IDS[1].style.width)-48+'px';
c.IDS[3].style.width=Math.max(rx+12,((ie5)?100:104))+'px';
c.IDS[3].style.height=Math.max(ry+((ie5)?12:13),((ie5)?80:86))+'px';
c.IDS[2].style.width=Math.max(rx-((ie5)?-5:5),((ie5)?92:87))+'px';
c.IDS[2].style.height=Math.max(ry-((ie5)?24:28),44)+'px';
c.IDS[10]=parseInt(c.IDS[0].style.height);
}}

function startRS(evt){
var ex=(ie5)?event.clientX+document.body.scrollLeft:evt.pageX;
var ey=(ie5)?event.clientY+document.body.scrollTop:evt.pageY;
rsxoff=parseInt(this.style.left)-ex;
rsyoff=parseInt(this.style.top)-ey;
currRS=this;
if(ns6)this.IDS[2].style.overflow='hidden';
return false;
}

function changez(){
if(oldac!=null)oldac.IDS[1].style.backgroundColor=oldac.inactivecolor;
if(ns6)this.IDS[2].style.overflow='auto';
oldac=this;
this.IDS[1].style.backgroundColor=this.activecolor;
this.IDS[3].style.zIndex=++zdx;
this.style.zIndex=++zdx;
}

function stopdrag(){
currIDb=null;
this.IDS[11].style.display="none";
if(ns6)ns6bugfix();
}

function grab_id(evt){
var ex=(ie5)?event.clientX+document.body.scrollLeft:evt.pageX;
var ey=(ie5)?event.clientY+document.body.scrollTop:evt.pageY;
xoff=parseInt(this.IDS[0].style.left)-ex;
yoff=parseInt(this.IDS[0].style.top)-ey;
currIDb=this.IDS[0];
currIDs=this.IDS[3];
this.IDS[11].style.display="block";
return false;
}

function subBox(x,y,w,h,bgc,id){
var v=document.createElement('div');
v.setAttribute('id',id);
v.style.position='absolute';
v.style.left=x+'px';
v.style.top=y+'px';
v.style.width=w+'px';
v.style.height=h+'px';
if(bgc!='')v.style.backgroundColor=bgc;
v.style.visibility='visible';
v.style.padding='0px 0px 0px 0px';
return v;
}

// THANKS TO DYNAMICDRIVE.COM FOR COOKIE USAGE CONCEPT AND CODE

function get_cookie(Name) {
var search=Name+"=";
var returnvalue="";
if(document.cookie.length>0){
offset=document.cookie.indexOf(search);
if(offset!=-1){
offset+=search.length;
end=document.cookie.indexOf(";",offset);
if(end==-1)end=document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset,end));
}}
return returnvalue;
}

function popUp(x,y,w,h,cid,text,bgcolor,textcolor,fontstyleset,title,titlecolor,titletextcolor,bordercolor,scrollcolor,shadowcolor,showonstart,isdrag,isresize,oldOK,isExt,popOnce){
var okPopUp=false;
if (popOnce){
if (get_cookie(cid)==""){
okPopUp=true;
document.cookie=cid+"=yes"
}}
else okPopUp=true;
if(okPopUp){
if(w3c){
var tw, th;
w=Math.max(w,100);
h=Math.max(h,80);
var rdiv=new subBox(w-((ie5)?12:8),h-((ie5)?12:8),7,7,'',cid+'_rs');
if(isresize){
rdiv.innerHTML='<img src="resize.gif" width="7" height="7">';
rdiv.style.cursor='move';
}
tw=(ie5)?w:w+4;
th=(ie5)?h:h+6;
var shadow=new subBox(x+8,y+8,tw,th,shadowcolor,cid+'_s');
if(ie5)shadow.style.filter="alpha(opacity=50)";
else shadow.style.MozOpacity=.5;
shadow.style.zIndex=++zdx;
var tw,th;
var outerdiv=new subBox(x,y,w,h,bordercolor,cid+'_b');
outerdiv.style.borderStyle="outset";
outerdiv.style.borderWidth="1px";
outerdiv.style.borderColor=bordercolor;
outerdiv.style.zIndex=++zdx;
tw=(ie5)?w-5:w-4;
th=(ie5)?h+4:h-4;
var titlebar=new subBox(1,1,tw,20,titlecolor,cid+'_t');
titlebar.style.overflow="hidden";
titlebar.style.cursor="default";
var tmp=(isresize)?'<img src="min.gif" id="'+cid+'_min"><img src="./images/spacer.gif" width="2"><img src="max.gif"  id="'+cid+'_max">':'';
titlebar.innerHTML='<span style="position:absolute; left:3px; top:1px; font:10pt sans-serif; color:'+titletextcolor+'; height:18px; overflow:hidden; clip-height:16px;"><font class="title">'+title+'</font></span><div id="'+cid+'_btt" style="position:absolute; width:48px; height:16px; left:'+(tw-48)+'px; top:2px; text-align:right">'+tmp+'<img src="./images/spacer.gif" width="2"><img src="close.gif" id="'+cid+'_cls"></div>';
tw=(ie5)?w-5:w-13;
th=(ie5)?h-36:h-36;
var content=new subBox(1,22,tw,th,bgcolor,cid+'_c');
content.style.borderColor=bordercolor;
content.style.borderWidth="1px";
if(isExt){
content.innerHTML='<iframe id="'+cid+'_ifrm" src="" width="100%" height="100%">';
content.style.overflow="hidden";
}else{
if(ie5)content.style.scrollbarBaseColor=scrollcolor;
content.style.borderStyle="inset";
content.style.overflow="auto";
content.style.padding="0px 0px 0px 0px";
content.innerHTML=text;
content.style.font=fontstyleset;
content.style.color=textcolor;
}
// THE NEXT 4 LINES ARE PART OF THE "EXTERNAL FILE WORKAROUND" FOR WHICH I
// CREDIT DYNAMICDRIVE.COM. THEY CREATE A "FALSE" DIV THAT COVERS THE CONTENT
// AREA FOR DRAGGING TO EVERCOME A BUG WHEN USING AN EXTERNAL FILE.
var extWA=new subBox(2,24,0,0,'',cid+'_extWA');
extWA.style.display="none";
extWA.style.width='100%';
extWA.style.height='100%';
outerdiv.appendChild(titlebar);
outerdiv.appendChild(content);
outerdiv.appendChild(extWA);
outerdiv.appendChild(rdiv);
document.body.appendChild(shadow);
document.body.appendChild(outerdiv);
if(isExt)document.getElementById(cid+'_ifrm').src=text;
if(!showonstart)hidebox(cid);
var IDS=new Array();
IDS[0]=document.getElementById(cid+'_b');
IDS[1]=document.getElementById(cid+'_t');
IDS[2]=document.getElementById(cid+'_c');
IDS[3]=document.getElementById(cid+'_s');
IDS[4]=document.getElementById(cid+'_rs');
IDS[5]=document.getElementById(cid+'_btt');
IDS[6]=document.getElementById(cid+'_min');
IDS[7]=document.getElementById(cid+'_max');
IDS[8]=document.getElementById(cid+'_cls');
IDS[9]=cid;
IDS[10]=h;
IDS[11]=document.getElementById(cid+'_extWA');
this.IDb=IDS[0]; this.IDb.IDS=IDS;
this.IDt=IDS[1]; this.IDt.IDS=IDS;
this.IDc=IDS[2]; this.IDc.IDS=IDS;
this.IDs=IDS[3]; this.IDs.IDS=IDS;
this.IDrs=IDS[4]; this.IDrs.IDS=IDS;
this.IDbtt=IDS[5]; this.IDbtt.IDS=IDS;
if(isresize){
this.IDmin=IDS[6]; this.IDmin.IDS=IDS;
this.IDmax=IDS[7]; this.IDmax.IDS=IDS;
}
this.IDcls=IDS[8]; this.IDcls.IDS=IDS;
this.IDb.activecolor=titlecolor;
this.IDb.inactivecolor=scrollcolor;
if(oldac!=null)oldac.IDS[1].style.backgroundColor=oldac.inactivecolor;
oldac=this.IDb;
this.IDcls.onclick=new Function("hidebox('"+cid+"');");
if(isresize){
this.IDmin.onclick=minimize;
this.IDmax.onclick=restore;
this.IDrs.onmousedown=startRS;
this.IDrs.onmouseup=new Function("currRS=null");
}
this.IDb.onmousedown = changez;
if(isdrag){
this.IDt.onmousedown=grab_id;
this.IDt.onmouseup=stopdrag;
}
}else{
if(oldOK){
var ctr=new Date();
ctr=ctr.getTime();
var t=(isExt)?text:'';
var posn=(ns4)? ',screenX='+x+',screenY='+y: ',left='+x+',top='+y;
var win=window.open(t , "abc"+ctr , "status=no,menubar=no,width="+w+",height="+h+",resizable="+((isresize)?"yes":"no")+",scrollbars=yes,"+posn);
if(!isExt){
t='<html><head><title>'+title+'</title></head><body bgcolor="'+bgcolor+'"><font style="font:'+fontstyleset+'; color:'+textcolor+'">'+text+'</font></body></html>';
win.document.write(t);
win.document.close();
}}}}}

if(ns6)setInterval('movepopup()',40);

if(w3c){
document.onmousemove=trackmouse;
document.onmouseup=new Function("currRS=null");
}