infoBox=function() {
	this.showing=false; //box is showing
	this.loaderObj=null; //the loader object
	
	this.fgcolor=null;
	this.bgcolor=null;
	this.holderName=null; //div id
	this.movieHolderName=null; //movie id div
	
	this.xsize=null;
	this.ysize=null;
	
	this.year=null; //current year
	this.month=null; //current month
	this.closeText=new Array();
	this.closeText['de']='X schliessen'; //depends on language;
	this.closeText['fr']='X fermer'; //depends on language;
	this.closeText['it']='X chiudere'; //depends on language;
	
	this.movieName=''; //currently playing movie to stop it!
	this.moviePlay=false;
}

/*
	create the box, but dont display it
*/
infoBox.prototype.createContentBox=function(id,fgcolor,bgcolor,xsize,ysize,loaderObj) {
	this.fgcolor=fgcolor;
	this.bgcolor=bgcolor;
	this.loaderObj=loaderObj;
	this.holderName=id;
	this.xsize=xsize;
	this.ysize=ysize;
	var self=this;
	var strup="<img id='cscrollup' src='./_img/scroll_arrow_up.png' />";
	var strdown="<img id='cscrolldown' src='./_img/scroll_arrow_down.png' />";
	var holder=document.getElementById(this.holderName);
	var csspos='fixed';
	if(this.loaderObj.ie) {
		if(this.loaderObj.version<7) {
			csspos='absolut';
			strdown="<img id='cscrolldown' src='./_img/scroll_arrow_down.gif' />";
			strup="<img id='cscrollup' src='./_img/scroll_arrow_up.gif' />";
		}
	}
	holder.style.cssText='position:'+csspos+';width:100%;height:100%;top:0px;left:0px;display:none;z-index:7';
	
	var bgel=document.createElement('div');
	bgel.id='bgel';
	bgel.style.cssText=	"z-index:10;background-color:"+bgcolor+";FILTER: alpha(opacity: 60);opacity:.60;moz-opacity:.60;" +
						"width:100%;height:100%;position:absolute;top:0px;left:0px";
	var fgel=document.createElement('div');
	fgel.id="contentbox";
	//var fxpos=window.innerWidth/2-this.xsize/2;
	var fxpos=document.body.offsetWidth/2-this.xsize/2;
	//var fypos=window.innerHeight/2-this.ysize/2;
	var fypos=10;//screen.height/2-this.ysize/2;
	//alert("fypos: "+fypos+" fxpos: "+fxpos);
	fgel.style.cssText=	"z-index:11;background-color:"+fgcolor+";position:absolute;" +
						"top:"+fypos+"px;left:"+fxpos+"px;" +
						"overflow:auto;" +
						"width:"+this.xsize+"px;height:"+this.ysize+"px;display:none;";
						
	var mgel=document.createElement('div');
	mgel.id="moviebox";
	//alert("fypos: "+fypos+" fxpos: "+fxpos);
	mgel.style.cssText=	"z-index:11;background-color:"+fgcolor+";position:absolute;" +
						"top:"+fypos+"px;left:"+fxpos+"px;" +
						"overflow:auto;" +
						"width:"+this.xsize+"px;height:"+this.ysize+"px;display:none";
						
	var self=this;			
	
	holder.appendChild(bgel);
	holder.appendChild(fgel);
	holder.appendChild(mgel);
	
	//this.loaderObj.addEvent(document.getElementById('arrup'),'click',scrollMove,false);
	//this.loaderObj.addEvent(document.getElementById('arrdown'),'click',scrollMove,false);
	
	var so=new SWFObject("../_flash/vp01.swf",'vp',640,480, 8);
	so.addParam("scale","noscale");
	so.addParam("name","vp");
	so.addParam("allowScriptAccess","always");
	so.write("moviebox");
	
	var movieCloser=document.createElement('div');
	movieCloser.id='mcloser';
	movieCloser.style.cssText='text-decoration:underline;cursor:pointer;padding-top:-15px;';
	movieCloser.innerHTML='X schliessen';
	mgel.appendChild(movieCloser);
	var cl=document.getElementById('mcloser');
	var self=this;
	cl.onclick=function() {
		//alert("close");
		self.hideContentBox();
	}
	
}

infoBox.prototype.boxPosCorrection=function() { /*only used by ie<7!*/
	var holder=document.getElementById(this.holderName);
	var fgel=document.getElementById('contentbox');
	var mgel=document.getElementById('moviebox');
	var bgel=document.getElementById('bgel');
	var arrup=document.getElementById('arrup');
	var arrdown=document.getElementById('arrdown');
	var fypos=10;
	var fxpos=document.body.offsetWidth/2-this.xsize/2;
	var pos=0;
	if(this.loaderObj.ie) {
		if(this.loaderObj.version<7) {
			pos=this.loaderObj.scrollerObject.getCurrentYPos();
			//alert("box pos correction to: "+pos);
			holder.style.top=pos;
			fgel.style.top=pos+fypos;
			mgel.style.top=pos+fypos;
			bgel.style.top=pos;
			bgel.style.width=document.documentElement.clientWidth+'px'; //ie6 not accepting 100% width
			bgel.style.height=document.documentElement.clientHeight+'px'; //ie6 not accepting 100% height
			arrup.style.top=fypos+this.ysize-21+pos;
			arrdown.style.top=fypos+this.ysize+pos;
			arrup.style.left=fxpos+this.xsize+21;
			arrdown.style.left=fxpos+this.xsize+21;
			bgel.style.width=document.body.offsetWidth;
			bgel.style.height=screen.height;
		}
	}
}

infoBox.prototype.getInformation=function() {
	var xmlHttp=this.loaderObj.createXMLHttpRequest();
	//alert("asking with: "+"../_php/controller.php?&op=getwikicontent&year="+this.year+"&month="+this.month);
	xmlHttp.open("get", "../_php/controller.php?&op=getwikicontent&year="+this.year+"&month="+escape(this.month) , false);
	xmlHttp.send("op=getwikicontent&year="+this.year+"&month="+this.month); 
    if (xmlHttp.status == 200) {
    	if (xmlHttp.responseText) {
    		return xmlHttp.responseText;
        }
    } else {
    	return "error in Information getting!";
    }
}

/*
	show box on fixed xpos,ypos with html inside
*/
infoBox.prototype.showWikiBox=function(year,month) {
	this.year=year;
	this.month=month;
	//this.showScrollArrows();
	var element=document.getElementById(this.holderName);
	document.getElementById('contentbox').style.display='';
	document.getElementById('moviebox').style.display='none';
	var info=this.getInformation();
	if(info==null) { //nothing
		info="no information available";
	}
	element.style.display='';
	//alert("setpos: "+(this.loaderObj.scrollerObject.getCurrentYPos()).toString()+"px;");
	element.top=(this.loaderObj.scrollerObject.getCurrentYPos()).toString()+"px;";
	element=document.getElementById('contentbox')
	var closepos=0;
	if(this.loaderObj.ie) {
		closepos=this.xsize-200;
	} else {
		closepos=this.xsize-100;
	}
	//alert(this.closeText[this.loaderObj.lang]);
	info="<img style='float:left;'src='../_img/wikipedia_logo.png' /><div style='text-decoration:underline;cursor:pointer;position:absolute;margin-top:15px;margin-left:"+closepos+"px;' id='wcloser'>"+this.closeText[this.loaderObj.lang]+"</div>"+info;
	element.innerHTML=info;
	var cl=document.getElementById('wcloser');
	var self=this;
	cl.onclick=function() {
		//alert("close");
		self.hideContentBox();
	}
	this.boxPosCorrection(); //ie6 only!
	//alert(info);
	this.showing=true;
}

/*
	show a movie in a box
*/
infoBox.prototype.showMovieBox=function(moviename) {
	this.movieName=moviename;
	var element=document.getElementById(this.holderName);
	element.style.display='';
	document.getElementById('contentbox').style.display='none';
	var mbox=document.getElementById('moviebox');
	mbox.style.display='';
	var mcl=document.getElementById('mcloser');
	mcl.innertHTML=this.closeText[this.loaderObj.lang]
	//this.hideScrollArrows();
	
	var fxpos=document.body.offsetWidth/2-this.xsize/2;
	//var fypos=window.innerHeight/2-this.ysize/2;
	var fypos=10;//screen.height/2-this.ysize/2;
	mbox.style.cssText="z-index:11;position:absolute;" + //background-color:"+fgcolor+"
						"top:"+fypos+"px;left:"+fxpos+"px;" +
						"overflow:auto;" +
						"width:"+this.xsize+"px;height:"+this.ysize+"px;";
	//alert("xpos: "+xpos+" ypos: "+ypos);
	mov=null;
	//alert(mov);
	while(mov==null) {
		mov=(navigator.appName.indexOf ("Microsoft") !=-1)?window["vp"]:document["vp"];
	}
	
	var ctr=0;
	var action = setInterval('wait()',500);
	var self=this;
	wait=function() { //wait hack, to start the movie why the heck?
		if(ctr==5) {
			clearInterval(action);
			mov.playMovie('./movies/'+moviename);
			self.moviePlay=true;
		}
		ctr++;
	}
	
	var cl=document.getElementById('bgel');
	var self=this;
	cl.onclick=function() {
		//alert("close");
		self.hideContentBox();
	}
	//alert(info);
	this.boxPosCorrection(); //ie6 only!
	this.showing=true;
}

infoBox.prototype.showCidBox=function(cid) {
	//alert('show cid box!');
	//this.showScrollArrows();
	var element=document.getElementById(this.holderName);
	element.style.display='';
	document.getElementById('contentbox').style.display='';
	document.getElementById('moviebox').style.display='none';
	//alert("setpos: "+(this.loaderObj.scrollerObject.getCurrentYPos()).toString()+"px;");
	element.top=(this.loaderObj.scrollerObject.getCurrentYPos()).toString()+"px;";
	element=document.getElementById('contentbox')
	var closepos=0;
	if(this.loaderObj.ie) {
		closepos=this.xsize-200;
	} else {
		closepos=this.xsize-100;
	}
	
	//alert("xpos: "+xpos+" ypos: "+ypos);
	var str=this.loaderObj.getContent(cid);
	
	info="<div style='text-decoration:underline;cursor:pointer;position:absolute;top:5px;margin-left:"+closepos+"px;' id='wcloser'>"+this.closeText[this.loaderObj.lang]+"</div>";
	info+="<div>"+str+"</div>";
	element.innerHTML=info;
	
	var cl=document.getElementById('wcloser');
	var self=this;
	cl.onclick=function() {
		//alert("close");
		self.hideContentBox();
	}
	//alert(info);
	this.boxPosCorrection(); //ie6 only!
	this.showing=true;
}

infoBox.prototype.hideContentBox=function() {
	var mov=null;
	if(this.moviePlay) {
		mov=(navigator.appName.indexOf ("Microsoft") !=-1)?window["vp"]:document["vp"];
		if(mov!=null)
		{
			mov.stopMovie('./movies/'+this.movieName);
		}
		this.moviePlay=false;
	}
	var element=document.getElementById(this.holderName);
	element.style.display='none';
	element=document.getElementById('contentbox');
	innertHTML='';
	this.showing=false;
}

infoBox.prototype.showScrollArrows=function() {
	var arrup=document.getElementById('arrup');
	var arrdown=document.getElementById('arrdown');
	arrup.style.display='';
	arrdown.style.display='';
}

infoBox.prototype.hideScrollArrows=function() {
	var arrup=document.getElementById('arrup');
	var arrdown=document.getElementById('arrdown');
	arrup.style.display='none';
	arrdown.style.display='none';
}

infoBox.prototype.centerBoxes=function() { //set in siteloader to center box
	var fxpos=0;
	fxpos=document.body.offsetWidth/2-this.xsize/2;//window.innerWidth/2-this.xsize/2;
	//alert("document.body.offsetWidth: "+document.body.offsetWidth);
	//alert("set the pos to: "+fxpos);
	document.getElementById('contentbox').style.left=fxpos+'px';
	document.getElementById('moviebox').style.left=fxpos+'px';
	document.getElementById('arrup').style.left=(fxpos+this.xsize+21)+'px';
	document.getElementById('arrdown').style.left=(fxpos+this.xsize+21)+'px';
}
