var popups=new Popups(); 

function Popup(name,layer,flashObj,extraLayer,dragLayer) {
	this.name=name;
	this.layer=layer;
	this.flashObj=flashObj;
	this.extraLayer=extraLayer;
	this.dragLayer=dragLayer;
	this.visible=false;
	if(layer)
		this.zIndex=layer.style.zIndex;	
}

function Popup_raise(level) {
	
	if(this.layer) {
		this.layer.style.visibility='hidden';
		this.layer.style.zIndex=level;
		this.layer.style.visibility='visible';
	}
	
	if(this.extraLayer)
		this.extraLayer.style.zIndex=level+1;
	
	if(this.dragLayer)
		this.dragLayer.style.zIndex=level+2;

}

function Popup_degrade() {
	if(this.layer)
		this.layer.style.zIndex=this.zIndex;
	if(this.extraLayer)
		this.extraLayer.style.zIndex=this.zIndex+1;
	if(this.dragLayer)
		this.dragLayer.style.zIndex=this.zIndex+2;

}

Popup.prototype.raise=Popup_raise;
Popup.prototype.degrade=Popup_degrade;

function Popups_addPopup(popup) {
	this.popups[popup.name]=popup;
}

function Popups_getPopup(name) {
	return this.popups[name];
}

function Popups_beginDragPopup(name) {
	this.draggingWindow=true;
	this.draggedPopup=this.getPopup(name);
	this.winMouseX=event.clientX;
	this.winMouseY=event.clientY;
	//this.originalIndex=this.draggedPopup.layer.style.zIndex;
	
	this.raise(name);
	
	document.getElementById('popupsDiv').style.visibility='visible';
	//this.draggedPopup.layer.style.zIndex=50000;
	
	/*this.draggedPopup.layer.style.filter='alpha(opacity=50)';
	if(this.draggedPopup.flashObj!=null && this.draggedPopup.flashObj!=undefined) {
		this.oldAlpha=this.draggedPopup.flashObj.getVariable('_level0._alpha');
		//this.draggedPopup.flashObj.setVariable('_level0._alpha',50);
	}*/
	//document.schedaMovie.
	this.winX=this.draggedPopup.layer.style.pixelLeft;
	this.winY=this.draggedPopup.layer.style.pixelTop;
	if(this.draggedPopup.extraLayer) {
		this.extraWinX=this.draggedPopup.extraLayer.style.pixelLeft;
		this.extraWinY=this.draggedPopup.extraLayer.style.pixelTop;
		//this.draggedPopup.extraLayer.style.zIndex=50001;
	}
	
}

function Popups_dragPopup() {
	if(this.draggingWindow) {
		
		var diffX=event.clientX-this.winMouseX;
		var diffY=event.clientY-this.winMouseY;
		this.draggedPopup.layer.style.pixelLeft=this.winX+diffX;
		this.draggedPopup.layer.style.pixelTop=this.winY+diffY;
		if(this.draggedPopup.extraLayer) {
			this.draggedPopup.extraLayer.style.pixelLeft=this.extraWinX+diffX;
			this.draggedPopup.extraLayer.style.pixelTop=this.extraWinY+diffY;
		}
	}
}

function Popups_endDragPopup() {
	if(this.draggingWindow) {
		/*this.draggedPopup.layer.style.zIndex=this.originalIndex;
		
		if(this.draggedPopup.extraLayer)
			this.draggedPopup.extraLayer.style.zIndex=this.originalIndex+1;*/
		//this.draggedPopup.layer.style.filter='alpha(opacity=100)';
		/*this.draggedPopup.layer.style.filter='';
		if(this.draggedPopup.flashObj!=null && this.draggedPopup.flashObj!=undefined) {
			this.draggedPopup.flashObj.setVariable('_level0._alpha',100);
		}*/
		document.getElementById('popupsDiv').style.visibility='hidden';
		this.draggingWindow=false;
		this.draggedPopup=null;
	}
}

function Popups_togglePopup(name) {
	var popup=this.getPopup(name);
	if(popup.layer.style.visibility=='hidden') {
		popup.layer.style.visibility='visible';
		popup.visible=true;
		
	} else {
		popup.layer.style.visibility='hidden'
		popup.visible=false;
	}
}	

function Popups_isVisible(name) {
	var popup=this.getPopup(name);
	return popup.visible;
}
	
function Popups_raise(name) {
	for (var pos in this.popups) {
		var popup=this.popups[pos];
		if(popup.name==name)
			popup.raise(5000000);
		else
			popup.degrade();
	}
}

function Popups() {
	this.popups=new Array();
	this.draggingWindow=false;
	this.winMouseX=0;		  // posizione X del mouse (aggiornato durante il dragging)
	this.winMouseY=0;		  // posizione Y del mouse (aggiornato durante il dragging)
	this.winX=0;				  // posizione X del layer spostato (aggiornato durante il dragging)
	this.winY=0;				  // posizione Y del layer spostato (aggiornato durante il dragging)
	this.extraWinX=0;
	this.extraWinY=0;
	this.draggedPopup=null;
	this.originalIndex=0;
	this.oldAlpha=0;
}

Popups.prototype.raise=Popups_raise;
Popups.prototype.addPopup=Popups_addPopup;
Popups.prototype.getPopup=Popups_getPopup;
Popups.prototype.beginDragPopup=Popups_beginDragPopup;
Popups.prototype.dragPopup=Popups_dragPopup;
Popups.prototype.endDragPopup=Popups_endDragPopup;
Popups.prototype.togglePopup=Popups_togglePopup;
Popups.prototype.isVisible=Popups_isVisible;
