﻿// version 2.0
// auteur:serge
// notes : new version all in document.all . as it works with new browsers

var objX;
var objY;
var objW;
var objH;

function FindObjectInWindow(objname)
{
	 //if (document.all) {
	 	//alert("FindObjectInWindow :object :" + objname);
		object=(document.getElementById(objname)!=null)?document.getElementById(objname):document.getElementsByName(objname);
		return object;
	 //}
}

function findPagePos(obj)
{
	//var coordinates=new Object();
	var x=0,y=0;

 //	if (document.all) {
		x=ObjPosition_getPageOffsetLeft(obj);
		y=ObjPosition_getPageOffsetTop(obj);
//		}
//	else {
//		return [0,0];
//		}
//alert(x +","+y);
	return [x,y];
}



function ObjPosition_getPageOffsetLeft (el) {
	var ol=el.offsetLeft;
	while ((el=el.offsetParent) != null) { ol += el.offsetLeft; }
	return ol;
	}
function ObjPosition_getPageOffsetTop (el) {
	var ot=el.offsetTop;
	while((el=el.offsetParent) != null) { ot += el.offsetTop; }
	return ot;
	}
	
function AlignToFormObject(objname,alignH,offsetH,alignV,offsetV,oldtype){
var resY;
var resX; 
//alert ("LayerAlignToObject : objname :" + objname);
var obj = FindObjectInWindow(objname);
if(obj!=null && obj!="")
{ 
	objX = findPagePos(obj)[0];
	objY = findPagePos(obj)[1];
	objW = obj.offsetWidth;
	objH = obj.offsetHeight; 		
	
	
	var LayerW = document.getElementById('LA_ActorLayer').offsetWidth;
	var LayerH = document.getElementById('LA_ActorLayer').offsetHeight; 
	//alert("objname:"+objname+  " ,objX:" + objX + ",objY:" + objY + ",objW:" + objW + ",objH:" + objH + ",LayerW:" + LayerW + ",LayerH:" + LayerH );
	
	
	if(alignH=="LEFT")
	{
	resX = objX - (LayerW/2) - offsetH;
	}
	else if(alignH=="RIGHT")
	{  	
	resX = objX + objW + (LayerW/2) + offsetH; 		
	}
	else if(alignH=="MIDDLE")
	{  	
	resX = objX + (objW/2) + offsetH; 		
	}
	
	if(alignV=="TOP")
	{
	resY = objY - offsetV;
	}
	else if(alignV=="BOTTOM")
	{
	resY = objY + objH + LayerH + offsetV - 15;//15 is toolBar Height
	}
	else if(alignV=="MIDDLE")
	{
	resY = objY + (objH/2) + (LayerH/2) + offsetV - 15;//15 is toolBar Height
	}
}
else
{
sizeOfWindow =new getWindowSize;
resY =sizeOfWindow.Height/2;
resX =sizeOfWindow.Width/2;
}
resX = Math.floor(resX);
resY = Math.floor(resY);
//alert("resX: " + resX + " ,resY: " + resY);
stringtodo= "ACTOR.PlaceAtPixel(" + resX+40 + "," + resY + ");";
eval(stringtodo);
}


/*
function TargetObject(objname,command_name)
{

 if (!NAV4){
 	var obj = findObjectInTree(objname);
 	if(obj!=null)
 	{ 
 	objX = FindScreenPos(obj).x;
	objY = FindScreenPos(obj).y;
 	objW = obj.offsetWidth;
 	objH = obj.offsetHeight; 		
 	}
 	else
 	{
 	return
 	}
}else{
    var ancre=objname+"_anchor";
    var ancreR=ancre+"_r";
    if(document.anchors[ancre]!=null){
		objX=document.anchors[ancre].x+window.screenX + window.outerWidth  - window.innerWidth;
		objY=document.anchors[ancre].y+window.screenY + window.outerHeight  - window.innerHeight;
		if ( document.anchors[ancreR]!=null){
			 objW=document.anchors[ancreR].x-document.anchors[ancre].x;
			 objH=1;
		}
		else
		{
			objW=1;
			objH=1;
		}    
    }
    else
    {
    return
    }
}

 if(obj||ancre!="")
  { 
  var resX = objX + (objW/2);
  var resY = objY + (objH/2);
  }
  else
  {
  var resY =0;
  var resX =0;
 }

resX = Math.floor(resX);
resY = Math.floor(resY);
 var stringtodo; 
 if(command_name=="LookAt")
  stringtodo = "Layer.LookAtPixel(" + resX + "," + resY + ");";
 else if (command_name=="GestureAt")
  stringtodo = "Layer.GestureAtPixel(" + resX + "," + resY + ");";
 eval(stringtodo);

}
*/

function centerOnObject(objname)
{
	var obj = FindObjectInWindow(objname);
	sizeOfWindow =new getWindowSize;
	if(obj!=null)
	{ 
		objY = findPagePos(obj)[1];
		deltaY=objY-(sizeOfWindow.Height/2);
	}
	else return
window.scrollTo(1,deltaY);
}
