// version 1.6.0.0

var objX;
var objY;
var objW;
var objH;

var currentWindow = null;

function findObjectInTree(objname)
{
  var frames = top.window.frames.length;
  if(frames>0)
  {
	  for(i=0;i<frames;i++) // for all frames
	  {
	  	if(FindObjectInWindow(top.window.frames[i],objname))
			return FindObjectInWindow(top.window.frames[i],objname);
	  }
  }
  else
  {
  	if(FindObjectInWindow(window,objname))
	  	return FindObjectInWindow(window,objname);
  }
	return null;
}
  
  
function FindObjectInWindow(aWindow,objname)
{
		 if (document.all && document.getElementById) // IE
		 {
			 if(aWindow.document.all.item(objname))
			 {
				 currentWindow=aWindow;
				 return aWindow.document.all.item(objname);
			 }
		 }

		 else if (document.getElementById) // NP6 Moz
		 {
			 if(aWindow.document.getElementById(objname))
			 {
				 currentWindow=aWindow;
				 return  aWindow.document.getElementById(objname);
			 }
			
			 else
			 if(aWindow.document.getElementsByTagName(objname))
			 {
				 currentWindow=aWindow;
				 var tempoarray=aWindow.document.getElementsByTagName(objname);
				 return tempoarray.item(0);
			 }                                            
		 }
		 
		 else if(document.layers) // NP4
		 {
			for (var i=0; i<aWindow.document.anchors.length; i++) 
			{
				if (aWindow.document.anchors[i].name==objname)
					{
						currentWindow=aWindow;
						return aWindow.document.anchors[i] 
					}
			}
		 }	
}




function FindScreenPos(obj)
{
	var coordinates=findPagePos(obj);
	//alert(coordinates.x +" , " + coordinates.y);
	if (document.getElementById) {
		if (isNaN(currentWindow.screenX)) {
			x=coordinates.x-currentWindow.document.body.scrollLeft+currentWindow.screenLeft;
			y=coordinates.y-currentWindow.document.body.scrollTop+currentWindow.screenTop;
			}
		else {
			//alert("currentWindow.screenX " + currentWindow.screenX);
			//alert("currentWindow.outerWidth " + currentWindow.outerWidth);
			//alert("currentWindow.innerWidth " + currentWindow.innerWidth);
			//alert("currentWindow.pageXOffset " + currentWindow.pageXOffset);
			//alert("currentWindow.document.body.offsetLeft " + currentWindow.document.body.offsetLeft );
			x=coordinates.x+currentWindow.screenX+(currentWindow.outerWidth-currentWindow.innerWidth)-currentWindow.pageXOffset;
			y=coordinates.y+currentWindow.screenY+(currentWindow.outerHeight-24-currentWindow.innerHeight)-currentWindow.pageYOffset;
			}
		}
	else if (document.all) {
		x=coordinates.x-currentWindow.document.body.scrollLeft+currentWindow.screenLeft;
		y=coordinates.y-currentWindow.document.body.scrollTop+currentWindow.screenTop;
		}
	else if (document.layers) {
		x=coordinates.x+currentWindow.screenX+(currentWindow.outerWidth-currentWindow.innerWidth)-currentWindow.pageXOffset;
		y=coordinates.y+currentWindow.screenY+(currentWindow.outerHeight-24-currentWindow.innerHeight)-currentWindow.pageYOffset;
		}
	coordinates.x=x;
	coordinates.y=y;
	return coordinates;		
}

function MyCoordinates() 
{
  var x,y;	
}
function findPagePos(obj)
{
	var useWindow=false;
	var coordinates=new MyCoordinates();

	var x=0,y=0;
	// Browser capability sniffing
	var use_gebi=false, use_css=false, use_layers=false;
	if (document.getElementById) { use_gebi=true; }
	else if (document.all) { use_css=true; }
	else if (document.layers) { use_layers=true; }
	// Logic to find position
 	if (use_gebi && document.all) {
		x=ObjPosition_getPageOffsetLeft(obj);
		y=ObjPosition_getPageOffsetTop(obj);
		}
	else if (use_gebi) {
		x=ObjPosition_getPageOffsetLeft(obj);
		y=ObjPosition_getPageOffsetTop(obj);
		}
 	else if (use_css) {
		x=ObjPosition_getPageOffsetLeft(obj);
		y=ObjPosition_getPageOffsetTop(obj);
		}
	else if (use_layers) {
		x=obj.x;
		y=obj.y;
		}
	else {
		coordinates.x=0; coordinates.y=0; return coordinates;
		}
	coordinates.x=x;
	coordinates.y=y;
	return coordinates;
}




function ObjPosition_getPageOffsetLeft (el) {
	var ol=el.offsetLeft;
	while ((el=el.offsetParent) != null) { ol += el.offsetLeft; }
	return ol;
	}
function ObjPosition_getWindowOffsetLeft (el) {
	return AnchorPosition_getPageOffsetLeft(el)-currentWindow.document.body.scrollLeft;
	}	
function ObjPosition_getPageOffsetTop (el) {
	var ot=el.offsetTop;
	while((el=el.offsetParent) != null) { ot += el.offsetTop; }
	return ot;
	}
function ObjPosition_getWindowOffsetTop (el) {
	return AnchorPosition_getPageOffsetTop(el)-currentWindow.document.body.scrollTop;
	}

	
function AlignToFormObject(objname,alignH,offsetH,alignV,offsetV,command_name)
{
	
 var ancre=objname+"_anchor";
 var resY;
 var resX; 
 var ActorW = Math.floor(ACTOR.GetActorWidth());
 var ActorH = Math.floor(ACTOR.GetActorHeight()); 
 var obj = findObjectInTree(objname);
 if(obj!=null)
	{ 
	objX = FindScreenPos(obj).x;
	objY = FindScreenPos(obj).y;
	objW = obj.offsetWidth;
	objH = obj.offsetHeight; 		
	 }
	 else
	 {
		return
	 }
  
//alert("objX:" + objX + ",objY:" + objY + ",objW:" + objW + ",objH:" + objH + ",ActorW:" + ActorW + ",ActorH:" + ActorH );

 var minx = objX - ActorW;
 var maxx = objX + objW + ActorW;
 var miny = objY - ActorH;
 var maxy = objY + objH + ActorH;

//alert(minx + "," + maxx + "," + miny + "," + maxy  );
 
 var cangoleft = minx > 0;
 var cangotop = miny > 0;
 var cangoright = maxx < screen.width;
 var cangobottom = maxy < screen.height;
 
 //alert(cangoleft + "," + cangotop + "," + cangoright + "," + cangobottom  );

 if(obj||ancre!="")
 {
  resY = objY + (objH/2);
  resX = objX + (objW/2);
 }
 else
 {
  resY =0;
  resX =0;
 }
 
 if(alignH=="LEFT")
 {
 	if(cangoleft)
 	{if (minx-offsetH<=0)
 	       offsetH=minx;
 	resX = objX - (ActorW/2) - offsetH;
 	}
 	else
 	{
           resX = objX + objW + (ActorW/2);
 		
 	}
 }
  else if(alignH=="RIGHT")
  {  	
 	if(cangoright)
 	{       if (maxx+offsetH>=screen.width)
 	       		offsetH=screen.width-maxx;
 		resX = objX + objW +  (ActorW/2) + offsetH; 		
 	
 	}
 	else
 	{
 		resX = objX - (ActorW/2);
 		
 	}
  }
 if(alignV=="TOP")
 {
 	if(cangotop)
 	{
 	        if (miny-offsetV<=0)
 	       		offsetV=miny;
 		resY = objY - (ActorH/2) - offsetV;
 	}
 	else
 	{
 		
 		resY = objY + (objH) + (ActorH/2);
 	}
 }
else  if(alignV=="BOTTOM")
 {
 	if(cangobottom)
 	{
 		if (maxy+offsetV>=screen.height)
 	       		offsetV=screen.height-maxy;
 		resY = objY + (objH) + (ActorH/2) + offsetV;
 	}
 	else
 	{
 		
 		resY = objY - (ActorH/2) ;
 	}
 }


resX = Math.floor(resX);
resY = Math.floor(resY);
 var stringtodo;
 if(command_name=="MoveTo")
 stringtodo= "ACTOR.MoveToPixel(" + resX + "," + resY + ");";
 else if(command_name=="PlaceAt")
 stringtodo= "ACTOR.PlaceAtPixel(" + resX + "," + 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 = "ACTOR.LookAtPixel(" + resX + "," + resY + ");";
 else if (command_name=="GestureAt")
  stringtodo = "ACTOR.GestureAtPixel(" + resX + "," + resY + ");";
 eval(stringtodo);

}

function centerOnObject(objname)
{
 
if (!NAV4){
 	var obj = findObjectInTree(objname);
 	if(obj!=null)
 	{ 
	objY = FindScreenPos(obj).y;
	  if (NAV6)
	  {
		deltaY=objY-(window.screenY+window.innerHeight/2+window.outerHeight  - window.innerHeight);
	  }
	  else
	  {
		deltaY=objY-(window.screenTop+document.body.clientHeight/2);		
	  }	
		
 	}
 	else
 	{
 	return
 	}
}else{
    var ancre=objname+"_anchor";
    var ancreR=ancre+"_r";
    if(document.anchors[ancre]!=null){
		objY=document.anchors[ancre].y+window.screenY + window.outerHeight  - window.innerHeight;
		deltaY=objY-(window.screenY+window.innerHeight/2+window.outerHeight  - window.innerHeight);
	}
    else
    {
    return
    }
}

 
this.scrollBy(1,deltaY)
}

