/*merge pentru: ie, netscape 7, mozilla
	aproape merge in Opera 6 si 7
	<script language=JavaScript src="../js/calWindowPosition.js"></script>
	apelare: <body onload="calendarInit();">
	sau
	<header>
	<script>
		calendarInit();
	</script>
	apelarea functziei care deschidere fereastra: eveniment="calendarOpen('file_path','window_name',width,height,'scrollbars=yes,status=1,resizable=1,toolbar=1,menubar=1','centru');"
*/

var n6 = document.getElementById && !document.all;
var n4 = document.layers;
var ie = document.all && navigator.userAgent.indexOf("Opera")==-1;
var op = navigator.userAgent.indexOf("Opera") != -1;
var o6 = ((navigator.userAgent.indexOf("Opera 6")!=-1)||(navigator.userAgent.indexOf("Opera/6")!=-1));

function calendarInit(){
		if(window.openwindow && !window.openwindow.closed){
			openwindow.close();
		}
		openwindow=null;
        document.onmousemove = calendarMouseMove;
        if (n4) document.captureEvents(Event.MOUSEDOWN | Event.MOUSEMOVE | Event.MOUSEUP);
}

function calendarMouseMove(e) {
		if(ie){
        	x = event.x;				//pozitzia mouse-ului in fereastra activa
        	y = event.y;
			windL=window.screenLeft;  // distanta de la marginea din stg monitorului la ferestra activa
			windT=window.screenTop;  // distanta de la marginea de sus monitorului la ferestra activa
	 	}
		if(n6){
			x = e.clientX;
			y = e.clientY;
		}			
		if (n4){
        	x = e.pageX-window.pageXOffset; 
        	y = e.pageY-window.pageYOffset;
        }	

	    if(op){
	        x = event.x;
        	y = event.y;
	    }
	    if(o6){
	        x = event.x-document.body.scrollLeft;
        	y = event.y-document.body.scrollTop;
		}	
		//status = "x:"+x+" y:"+y;				
        return true;
}

function calendarOpen(path,name,xsize,ysize,parameters,centru){
		//if(window.openwindow && !window.openwindow.closed){
		if(openwindow != null) openwindow.close();
		if(parameters) parameters = ","+parameters;
		else parameters='';
		if(!centru) centru = "";
		xsize = Number(xsize);
		ysize = Number(ysize);
		distX=5;      //deplasare pe x fatza de punctul curent
		distY=15;    //deplasare pe y fatza de punctul curent
		distXop=15;  //deplasare pe x in Opera
		netY=30;   //eroarea din netscape pe y
		opY=40;   //eroare opera pe y
		cor_bott=25;  //corectzie in cazul pozitzionarii screen bottom (bara titlul ferestrei)
		cor_op6=45;
		browser = "na";
		if(n4) browser = "n4";
		if(ie) browser = "ie";
		if(n6) browser = "n6";
		if(op) browser = "op";
		if(o6) browser = "o6";
		switch(browser){
			case 'ie':
				if(centru){
					wleft=window.screen.width/2-Number(xsize)/2;
					wtop=window.screen.height/2-Number(ysize)/2;
					pozCentru(path,name,wleft,wtop,xsize,ysize,0,parameters);
					break;
				}
				if (Number(windL)+Number(x)+Number(distX)+Number(xsize) < window.screen.availWidth){ //corectzie fatza de marginea din dreapta a ecranului	
					wleft=Number(windL)+Number(x)+Number(distX);
				}else{
					wleft=Number(windL)+Number(x)-Number(distX)-Number(xsize);
				}
				
				if (Number(windT)+Number(y)+Number(distY)+Number(ysize)+Number(cor_bott) < window.screen.availHeight){  //corectzie fatza de marginea de jos a ecranului					
					wtop=Number(windT)+Number(y)+Number(distY);
				}else{
					wtop=Number(windT)+Number(y)-Number(distY)-Number(ysize)-Number(cor_bott);
				}
				param='width='+xsize+',height='+ysize+',top='+wtop+',left='+wleft+parameters;
				openwindow = window.open(path,name,param);
				break;			
						
			case 'n6':
				
				if(centru){
					wleft=window.screen.width/2-Number(xsize)/2;
					wtop=window.screen.height/2-Number(ysize)/2;
					pozCentru(path,name,wleft,wtop,xsize,ysize,0,parameters);
					break;
				}
				ysize=Number(ysize); //nu suporta top=0			
				if(Number(window.screenX)+Number(window.outerWidth)-Number(window.innerWidth)+Number(x)+Number(distX)+Number(xsize) < window.screen.availWidth){ //corectzie fatza de marginea din dreapta a ecranului	
					wleft=Number(window.screenX)+Number(window.outerWidth)-Number(window.innerWidth)+Number(x)+Number(distX);
				}else{
					wleft=Number(window.screenX)+Number(window.outerWidth)-Number(window.innerWidth)+Number(x)-Number(distX)-Number(xsize);
				}					
				if(Number(window.screenY)+Number(window.outerHeight)-Number(window.innerHeight)-Number(netY)+Number(y)+Number(distY)+Number(ysize)+Number(cor_bott) < window.screen.availHeight){
					wtop=Number(window.screenY)+Number(window.outerHeight)-Number(window.innerHeight)-Number(netY)+Number(y)+Number(distY);
				}else{
					wtop=Number(window.screenY)+Number(window.outerHeight)-Number(window.innerHeight)-Number(netY)+Number(y)-Number(distY)-Number(ysize)-Number(cor_bott);
				}	
																																	
				param='width='+xsize+',height='+ysize+',screenY='+wtop+',screenX='+wleft+parameters;
				openwindow = window.open(path,name,param);
				break;
											
			case 'n4':
				if(centru){// netestata
					wleft=window.screen.width/2-Number(xsize)/2;
					wtop=window.screen.height/2-Number(ysize)/2;
					pozCentru(path,name,wleft,wtop,xsize,ysize,0,parameters);
					break;
				}
				ysize=ysize+50; //nu suporta top=0																												
				if(window.screenX+window.outerWidth-window.innerWidth+x+distX+xsize < window.screen.availWidth){ //corectzie fatza de marginea din dreapta a ecranului	
					wleft=window.screenX+window.outerWidth-window.innerWidth+x+distX;
				}else{
					wleft=window.screenX+window.outerWidth-window.innerWidth+x-xsize-distX;
				}					
				if(window.screenY+window.outerHeight-window.innerHeight-netY+y+ysize+netY+distY < window.screen.availHeight){
					wtop=window.screenY+window.outerHeight-window.innerHeight-netY+y+distY;
				}else{
					wtop=window.screenY+window.outerHeight-window.innerHeight-netY+y-distY-ysize-cor_bott;
				}
				wtop=100;
				wleft=100;
				param='width='+xsize+',height='+ysize+',screenY='+Number(wtop)+',screenX='+Number(wleft)+parameters;
				openwindow = window.open(path,name,param);
				break;

			case 'op':
				if(centru){// netestata
					wleft=window.screen.width/2-Number(xsize)/2;
					wtop=window.screen.height/2-Number(ysize)/2;
					pozCentru(path,name,wleft,wtop,xsize,ysize,0,parameters);
					break;
				}
				if(window.screenLeft+window.screenX+window.outerWidth-window.innerWidth+x+distX+xsize < window.screen.availWidth){ //corectzie fatza de marginea din dreapta a ecranului	
					wleft=window.screenX+window.outerWidth-window.innerWidth+x+distX;
				}else{
					wleft=x;
				}					
				if(window.screenTop+window.outerHeight-window.innerHeight-netY+y+ysize+distY < window.screen.availHeight){
					wtop=y+window.outerHeight-window.innerHeight-distY;
				}else{
					wtop=y;
				}
				ysize=ysize-10; //nu suporta top=0																																																		
				param='width='+xsize+',height='+ysize+',top='+wtop+',left='+wleft+parameters;
				openwindow = window.open(path,name,param);
				break;

			case 'o6':
				if(centru){
					wleft=window.screen.width/2-Number(xsize)/2;
					wtop=window.screen.height/2-Number(ysize)/2;
					pozCentru(path,name,wleft,wtop,xsize,ysize,0,parameters);
					break;
				}
				wleft=x;					
				if(window.screenY+window.outerHeight-window.innerHeight+y+ysize+netY+distY+cor_op6 < window.screen.availHeight){
					wtop=y+window.outerHeight-window.innerHeight-distY;
				}else{
					wtop=y+window.outerHeight-window.innerHeight-opY-ysize-cor_op6;
				}
				ysize=ysize-10; //nu suporta top=0
				xsize=xsize;
				param='width='+xsize+',height='+ysize+',top='+wtop+',left='+wleft+parameters;
				openwindow = window.open(path,name,param);
				break;

			default:
				if(centru){// nu fct working
					wleft=window.screen.width/2-Number(xsize)/2;
					wtop=window.screen.height/2-Number(ysize)/2;
					pozCentru(path,name,wleft,wtop,xsize,ysize,0,parameters);
					break;
				}
				wleft=0;
				wtop=0;
				param='width='+xsize+',height='+ysize+',top='+wtop+',left='+wleft+parameters;
				openwindow = window.open(path,name,param);
				break;												
		}
		if(openwindow != null) openwindow.focus();
}

function pozCentru(path,name,wleft,wtop,xsize,ysize,corect,parameters){
		ysize=ysize+corect;
		param='width='+xsize+',height='+ysize+',top='+wtop+',left='+wleft+parameters;
		openwindow = window.open(path,name,param);
}