//JavaScript Bridge v1.05
//JSB last updated 2002-05-30
//LVME 2.01/2.05/2.06 compatible
//Copyright Loris Ltd. 2001-02 www.LorisSoft.com info@LorisSoft.com

//Initializing bridge variables
var MapName = "";
var Location_x=new Array();
var Location_y=new Array();
var Location_title=new Array();
var Location_url=new Array();
var Location_tip=new Array();
var TotalGroups = 0;
var Pointer=new Array();
var LocationsInGroup=new Array();
var GroupsDuplicated = new Array();
var GroupNames = new Array();
var ActivePointerCircleName = "";
var LocationBuffer_G=new Array();
var LocationBuffer_L=new Array();
var LBSize = 0;
var GroupBuffer=new Array();
var GBSize = 0;
var IniCalled = 0; // Add 2002-05-19

//FUNCTION:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
function gotoHome1()
{
var InternetExplorer = navigator.appName.indexOf("Microsoft") != -1;//Added for Netscape
var movie = InternetExplorer ? window.movie : document.embeds[0];//Added for Netscape

movie.SetVariable("/MapObject:_xscale", 70);
movie.SetVariable("/MapObject:_yscale", 70);
movie.SetVariable("/MapObject:_x", 91);
movie.SetVariable("/MapObject:_y", 10);
movie.TCallFrame("/ScriptObject2", 4);
}

//FUNCTION:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
function gotoHome2()
{
var InternetExplorer = navigator.appName.indexOf("Microsoft") != -1;//Added for Netscape
var movie = InternetExplorer ? window.movie : document.embeds[0];//Added for Netscape

var RName = "/MapObject";
movie.TSetProperty(RName, 70, _xscale);
movie.TSetProperty(RName, 70, _yscale);
movie.TSetProperty(RName, 91, _x);
movie.TSetProperty(RName, 10, _y);
movie.TCallFrame("/ScriptObject2", 4);
}




//FUNCTION:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
function addLocation(group_nr, location_nr, x, y, title, url, tip)
{
var InternetExplorer = navigator.appName.indexOf("Microsoft") != -1;//Added for Netscape
var movie = InternetExplorer ? window.movie : document.embeds[0];//Added for Netscape

Location_x[group_nr][location_nr] = x;
Location_y[group_nr][location_nr] = y;
Location_title[group_nr][location_nr] = title;
Location_url[group_nr][location_nr] = url;
Location_tip[group_nr][location_nr] = tip;
if (LocationsInGroup[group_nr] == null){LocationsInGroup[group_nr] = 1;}
else {LocationsInGroup[group_nr]++;}
}

//FUNCTION:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
function addLocationsGroup(group_nr, group_name, pointer, pointer_size)
{
var InternetExplorer = navigator.appName.indexOf("Microsoft") != -1;//Added for Netscape
var movie = InternetExplorer ? window.movie : document.embeds[0];//Added for Netscape

Location_x[group_nr] = new Array();
Location_y[group_nr] = new Array();
Location_title[group_nr] = new Array();
Location_url[group_nr] = new Array();
Location_tip[group_nr] = new Array();
TotalGroups++;
Pointer[group_nr] = pointer;
GroupNames[group_nr] = group_name;
movie.SetVariable("/:GroupsNumber",TotalGroups); 
movie.SetVariable("/:CurrentPointer", pointer); 
movie.SetVariable("/:CPSize", pointer_size); 
movie.TCallFrame("/ScriptObject2", 6);
var pointerName= "/MapObject/Pointer_" + TotalGroups;
movie.TSetProperty(pointerName, 7, 0);
movie.SetVariable("/:GroupsNumber",TotalGroups); 
}

//FUNCTION:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
function showLocation(group_nr, location_nr, zoomlevel)
{
var InternetExplorer = navigator.appName.indexOf("Microsoft") != -1;//Added for Netscape
var movie = InternetExplorer ? window.movie : document.embeds[0];//Added for Netscape

var MapLoaded = movie.GetVariable("/:MapLoaded");

if (zoomlevel > 0) // added 2002.05.20
	{
	movie.TSetProperty("/MapObject", 2, zoomlevel);
	movie.TSetProperty("/MapObject", 3, zoomlevel);
	}

if (MapLoaded != 1)
	{
	LBSize++;
	LocationBuffer_G[LBSize] = group_nr;
	LocationBuffer_L[LBSize] = location_nr;
	//movie.TSetProperty("/Warning", 7, 1);//get rid of not loaded warning
	}
else
	{
	showObject(group_nr, Location_x[group_nr][location_nr], Location_y[group_nr][location_nr], Location_title[group_nr][location_nr], Location_url[group_nr][location_nr], Location_tip[group_nr][location_nr]);
	}
}

//FUNCTION:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
function showLocationsGroup(group_nr)
{
var InternetExplorer = navigator.appName.indexOf("Microsoft") != -1;//Added for Netscape
var movie = InternetExplorer ? window.movie : document.embeds[0];//Added for Netscape

//Hide NotMapped warning if displayed
movie.TSetProperty("/NotMapped", 7, 0);
//Check if the map is loaded, if not will not do anything
var MapLoaded = movie.GetVariable("/:MapLoaded");
if (MapLoaded != 1)
	{
	GBSize++;
	GroupBuffer[GBSize] = group_nr;
	//if Map is not loaded, display warning
	//movie.TSetProperty("/Warning", 7, 1);
	}
else
	{
	//hide active pointer circle
	if (ActivePointerCircleName != "")
		{
		movie.TSetProperty(ActivePointerCircleName, 6, 10);
		ActivePointerCircleName = "";
		}
	// If this group hasn't been cloned then need to create duplicated objects for every location
	if (GroupsDuplicated[group_nr] != 1)
     		{
     		GroupsDuplicated[group_nr] = 1;
     		for (i=1;i<LocationsInGroup[group_nr] + 1;i++)
     			{
     			movie.SetVariable("/:CGroup", group_nr); 
     			movie.SetVariable("/:CLocation", i);
     			movie.SetVariable("/:CurrentPointer", Pointer[group_nr]);
     			movie.TCallFrame("/ScriptObject2", 8);
     			//initially hide the pointers
     			var LocationName = "/MapObject/Pointer_" + group_nr + "_" + i;
     			movie.TSetProperty(LocationName, 7, 0);
     			//setup myurl, mytip and mytitle vars in the new pointer
     			var PNameVar = LocationName + ":myname";
			movie.SetVariable(PNameVar, Location_title[group_nr][i]);
			var PUrlVar = LocationName + ":myurl";
			movie.SetVariable(PUrlVar, Location_url[group_nr][i]);
			var PTipVar = LocationName + ":mytip";
			movie.SetVariable(PTipVar, Location_tip[group_nr][i]);
     			}   		
		}
	//Now make all group visible
	if (MapName == ""){MapName = movie.GetVariable("/:OriginalMapName");}
	if (GroupNames[group_nr] != ""){NewMapName = MapName + " - " + GroupNames[group_nr];}
	movie.SetVariable("/:mapname", NewMapName);

	for (i=1;i<LocationsInGroup[group_nr] + 1;i++)
		{
		if (Location_x[group_nr][i] == 0 && Location_y[group_nr][i] == 0)
			{
			}
		else
			{
			var LocationName = "/MapObject/Pointer_" + group_nr + "_" + i;
			movie.TSetProperty(LocationName, 0, Location_x[group_nr][i]);
			movie.TSetProperty(LocationName, 1, Location_y[group_nr][i]);
			movie.TSetProperty(LocationName, 7, 1);
			}
		}
	}
}

//FUNCTION:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
function iniMap(mode,formname,xname,yname,offsetname,recx,recy,recscale)
{

var InternetExplorer = navigator.appName.indexOf("Microsoft") != -1;
var movie = InternetExplorer ? window.movie : document.embeds[0];

if (mode == "EditorNormal")
	{
	var epx = formname;
	var epy = xname;
	movie.TSetProperty("/EditorClip", 7, 1);
	movie.TSetProperty("/MapObject/EditorPointer", 0, epx);
	movie.TSetProperty("/MapObject/EditorPointer", 1, epy);
	movie.TSetProperty("/MapObject/EditorPointer", 7, 1);
	movie.SetVariable("/:EditorMode", 1);
	}
if (mode == "EditorAuto")
	{
	var epx = offsetname;
	var epy = recx;
	movie.TSetProperty("/EditorAutoClip", 7, 1);
	movie.TSetProperty("/MapObject/EditorPointer", 0, epx);
	movie.TSetProperty("/MapObject/EditorPointer", 1, epy);
	movie.TSetProperty("/MapObject/EditorPointer", 7, 1);
	movie.SetVariable("/:EditorAutoMode", 1);
	movie.SetVariable("/MapObject/EditorPointer:FormName", formname);
	movie.SetVariable("/MapObject/EditorPointer:XFieldName", xname);
	movie.SetVariable("/MapObject/EditorPointer:YFieldName", yname);
	}
if (mode == "Search")
	{
	var RName = "/MapObject/MapRect";
	movie.TSetProperty(RName, 0, recx);
	movie.TSetProperty(RName, 1, recy);
	movie.TSetProperty(RName, 2, recscale);
	movie.TSetProperty(RName, 3, recscale);
	movie.TSetProperty(RName, 7, 1);
	movie.SetVariable("/:SearchMode", 1);
	movie.SetVariable("/MapObject/MapRect:FormName", formname);
	movie.SetVariable("/MapObject/MapRect:XFieldName", xname);
	movie.SetVariable("/MapObject/MapRect:YFieldName", yname);
	movie.SetVariable("/MapObject/MapRect:OffsetFieldName", offsetname);
	movie.TCallFrame("/ScriptObject2", 10);
	}
}

//FUNCTION:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
function showObject(group_nr, x, y, title, url,tip)
{
var InternetExplorer = navigator.appName.indexOf("Microsoft") != -1;//Added for Netscape
var movie = InternetExplorer ? window.movie : document.embeds[0];//Added for Netscape

var MapLoaded = movie.GetVariable("/:MapLoaded");
if (MapLoaded != 1)
	{
	movie.TSetProperty("/Warning", 7, 1);
	}
else
{
if (MapName == ""){MapName = movie.GetVariable("/:OriginalMapName");}
var pointerName = "/MapObject/Pointer_" + group_nr;
var NewMapName = MapName;
//blend previous pointer circle, if it exists
if (ActivePointerCircleName != "")
	{
	movie.TSetProperty(ActivePointerCircleName, 6, 10);
	}
//highlight active pointer circle
NewPCName = pointerName + "/PointerCircle";
movie.TSetProperty(NewPCName, 6, 100);
ActivePointerCircleName = NewPCName;

if (title != ""){NewMapName = MapName + " - " + title;}
movie.SetVariable("/:mapname", NewMapName); 
if((y==0 || y=="" || y==null) && (x==0 || x=="" || x==null))
	{
	movie.TSetProperty("/NotMapped", 7, 1);
	}
else
	{
	movie.TSetProperty("/NotMapped", 7, 0);
	movie.TSetProperty(pointerName, 7, 1);
	movie.TSetProperty(pointerName, 0, x);
	movie.TSetProperty(pointerName, 1, y);
	var PNameVar = pointerName + ":myname";
	movie.SetVariable(PNameVar, title);
	var PTipVar = pointerName + ":mytip";
	movie.SetVariable(PTipVar, tip);
	var PUrlVar = pointerName + ":myurl";
	movie.SetVariable(PUrlVar, url);
	var Mzoom = movie.TGetProperty("/MapObject", 2);
	movie.TSetProperty("/MapObject", 0, Math.round(270-x*(Mzoom/100)));
	movie.TSetProperty("/MapObject", 1, Math.round(220-y*(Mzoom/100)));
	}
}
}

//FUNCTION:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
function hideGroup(group_nr)
{
var InternetExplorer = navigator.appName.indexOf("Microsoft") != -1;//Added for Netscape
var movie = InternetExplorer ? window.movie : document.embeds[0];//Added for Netscape

movie.TSetProperty("/NotMapped", 7, 0);
if (GroupsDuplicated[group_nr] == 1)
{
if (MapName == ""){MapName = movie.GetVariable("/:OriginalMapName");}
NewMapName = MapName;
movie.SetVariable("/:mapname", NewMapName); 
//hide active pointer circles
if (ActivePointerCircleName != "")
	{
	movie.TSetProperty(ActivePointerCircleName, 6, 10);
	ActivePointerCircleName = "";
	}
for (i=1;i<LocationsInGroup[group_nr] + 1;i++)
	{
	if (Location_x[group_nr][i] == 0 && Location_y[group_nr][i] == 0)
		{
		}
	else
		{
		var LocationName = "/MapObject/Pointer_" + group_nr + "_" + i;
		movie.TSetProperty(LocationName, 7, 0);
		}	
	}
}
//hide the root object too
var RootLocationName = "/MapObject/Pointer_" + group_nr;
movie.TSetProperty(RootLocationName, 7, 0);
}
//FUNCTION:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
function setAutoXY(formname, xname, xvalue, yname, yvalue)
{
if (xvalue == 0 && yvalue == 0)
	{
	xvalue = 1;
	yvalue = 1;
	}
var execute = "document."+formname+"."+xname+".value="+xvalue+"; document."+formname+"."+yname+".value="+yvalue; 
eval(execute);
}

function setAutoXYO(formname, xname, xvalue, yname, yvalue, oname, ovalue)
{
var execute = "document."+formname+"."+xname+".value="+xvalue+"; document."+formname+"."+yname+".value="+yvalue+"; document."+formname+"."+oname+".value="+ovalue; 
eval(execute);
}

//FUNCTION:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
function onMapLoaded()
{
if (IniCalled == 0) //Add 2002-05-19
	{
	InitializeMap();
	SF();
	IniCalled=1;
	}

//Display all in Locations buffer
if(LBSize > 0)
	{
	for (var i=1;i<=LBSize;i++)
		{
		showLocation(LocationBuffer_G[i], LocationBuffer_L[i]);
		}
	}
if(GBSize > 0)
	{
	for (var i=1;i<GBSize+1;i++)
		{
		showLocationsGroup(GroupBuffer[i]);
		}
	}
}

function SF()
{
}