var myScriptDialog;
var pTopScript;
var pLeftScript;
var boxWidthScript;
var boxHeightScript;
var scriptBoxOpen;


function setBoxStatus( va){
	scriptBoxOpen = va;
}


var testoScript;
function showScriptBox(boxText) {
	addObserver()
	ScriptHandlerBean.getTopPos( 	setPosTopScript	 ); 
	ScriptHandlerBean.getLeftPos(	setPosLeftScript );
	ScriptHandlerBean.getBoxWidth( 	setBoxWidthScript ); 
	ScriptHandlerBean.getBoxHeight(	setBoxHeightScript );
	ScriptHandlerBean.isOpen(	setBoxStatus );


	testoScript = boxText;
	
	
	setTimeout("showScriptBoxBody()", 600);
	
}
function showScriptBoxFocus(boxText,focElem) {
	addObserver()
	ScriptHandlerBean.getTopPos( 	setPosTopScript	 ); 
	ScriptHandlerBean.getLeftPos(	setPosLeftScript );
	ScriptHandlerBean.getBoxWidth( 	setBoxWidthScript ); 
	ScriptHandlerBean.getBoxHeight(	setBoxHeightScript );
	ScriptHandlerBean.isOpen(	setBoxStatus );


	testoScript = boxText;
	setTimeout("showScriptBoxBody()", 600);
	if (focElem && $(focElem) )
		setTimeout("$('"+focElem+"').focus()", 603);
}


function showScriptBoxBody() {


	if (this.win) this.win.destroy();
	var win = new Window('nome',{
		top: 130, className: "scriptPopup", width:850, height: 70, zIndex: 100, resizable: true, draggable:true, wiredDrag: true
								});
	win.getContent().innerHTML = testoScript;
	win.setSize(  boxWidthScript   , boxHeightScript);
	
		
	if (scriptBoxOpen == true ) {
		win.showCenter(true, pTopScript,pLeftScript); 
		WindowUtilities.enableScreen(); 
		$('nome_top').style.onclick = 'updateScriptPosition()';
	}

}


var positionChanged = false;

function updateScriptPosition(){
	 var position = findPosLeftTop($('nome'));
	 resetScriptBoxPosition(position[1], position[0]);
	 ScriptHandlerBean.setTopPos(position[1]);
	 ScriptHandlerBean.setLeftPos(position[0]);
	 
	 
}


function resetScriptBoxPosition(fromTop, fromLeft) {
	var win = Windows.getWindow('nome')
	win.showCenter(true,fromTop,fromLeft);
	WindowUtilities.enableScreen();
}

function findPosLeftTop(obj) {

	var winScroll = WindowUtilities.getWindowScroll();
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft - winScroll.left;
		curtop = obj.offsetTop	- winScroll.top;
/*		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
*/	
	}
	return [curleft,curtop];
}

function openScriptPopup(){
	ScriptHandlerBean.setOpen(true);
	var win = Windows.getWindow('nome')
	if (win){
		win.showCenter(true, pTopScript,pLeftScript); 
		WindowUtilities.enableScreen(); 
		$('nome_top').style.onclick = 'updateScriptPosition()';
	}
}





function setPosTopScript(tp){	
	pTopScript = parseInt(tp);

}

function setPosLeftScript(lp){	
	pLeftScript = parseInt(lp);
}
function setBoxWidthScript(valore){
	boxWidthScript = valore;
}

function setBoxHeightScript(valore){
	boxHeightScript = valore;
}




/**
 *	myObserver 
 *	observer che controlla l'evento onEndMove per lo scriptPopup e aggiorna la posizione 
 * 	di defalut del popup
 */
function addObserver(){
	var myObserver = {
	  onEndMove: function(eventName, win) {
	 	if (win == Windows.getWindow('nome')  )   updateScriptPosition()
	  }
	};
	
	Windows.addObserver(myObserver);

	var myObserver2 = {
	  onEndResize: function(eventName, win) {
	 	if (win == Windows.getWindow('nome')  )   updateScriptDimensions()
	  }
	};

	Windows.addObserver(myObserver2);

	var myObserver3 = {
	  onClose: function(eventName, win) {
	 	if (win == Windows.getWindow('nome')  )   updateScriptStatus()
	  }
	};

	Windows.addObserver(myObserver3);

}

function updateScriptStatus(){
	
	ScriptHandlerBean.setOpen(false);
	
}

function findDims(obj) {
	var widthNew = heightNew = 0;
	if (obj) {
		widthNew = obj.style.width;
		heightNew = obj.style.height;
	}
	return [widthNew.replace("px",""),heightNew.replace("px","")];
}


function updateScriptDimensions(){
	 var  dimen = findDims($('nome'));
	 ScriptHandlerBean.setBoxWidth(dimen[0]);
	 ScriptHandlerBean.setBoxHeight(dimen[1]);
	 
}


