// **********************************

// **  Flashmaps AreaSelector 3.3  **

// **     JavaScript Functions     **

// **********************************

// ** (c)2009 Flashmaps Geospatial **

// **   http://www.flashmaps.com   **

// **********************************



// *********************

// ** THEME functions **

// *********************



function fmThemeLoad(theme_xml, area_str) {

//do: load a new theme into the AS



	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideTheme", theme_xml);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideArea", area_str);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideAction", "themeLoad");

	fmEngine.TCallLabel("_root." + fmASMcPath + "ASEngine_mc.outside_mc", "doAction");

}



function fmThemeReloadAreas(areas_xml) {

//do: reload the areas of a theme



	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideAreasXML", areas_xml);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideAction", "themeReloadAreas");

	fmEngine.TCallLabel("_root." + fmASMcPath + "ASEngine_mc.outside_mc", "doAction");



}



function fmThemeReloadPOIs(pois_xml) {

//do: reload the pois of a theme



	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsidePOIsXML", pois_xml);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideAction", "themeReloadPOIs");

	fmEngine.TCallLabel("_root." + fmASMcPath + "ASEngine_mc.outside_mc", "doAction");

}



function fmThemeReloadPolylines(lines_xml) {

//do: reload the polylines of a theme



	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsidePolylinesXML", lines_xml);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideAction", "themeReloadPolylines");

	fmEngine.TCallLabel("_root." + fmASMcPath + "ASEngine_mc.outside_mc", "doAction");

}



// *******************

// ** MAP functions **

// *******************



function fmInitialView() {

//do: return the map to initial view



	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideAction", "themeInitialView");

	fmEngine.TCallLabel("_root." + fmASMcPath + "ASEngine_mc.outside_mc", "doAction");

}



function fmMapBackLevel() {

//do: return the map one level back

	

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideAction", "themeBackLevel");

	fmEngine.TCallLabel("_root." + fmASMcPath + "ASEngine_mc.outside_mc", "doAction");

}



// ************************

// ** MAP MODE functions **

// ************************



function fmMapModeZoom() {

//do: change the map mode to zoom mode



	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideAction", "modeZoom");

	fmEngine.TCallLabel("_root." + fmASMcPath + "ASEngine_mc.outside_mc", "doAction");

}



function fmMapModeSelect() {

//do: change the map mode to select mode



	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideAction", "modeSelect");

	fmEngine.TCallLabel("_root." + fmASMcPath + "ASEngine_mc.outside_mc", "doAction");

}



function fmMapModeAddArea(level, id, id_parent) {

//do: add an area to select mode



	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideLevel", level);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideId", id);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideIdParent", id_parent);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideAction", "modeAddArea");

	fmEngine.TCallLabel("_root." + fmASMcPath + "ASEngine_mc.outside_mc", "doAction");

}



function fmMapModeRemoveArea(level, id, id_parent) {

//do: remove an area to select mode



	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideLevel", level);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideId", id);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideIdParent", id_parent);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideAction", "modeRemoveArea");

	fmEngine.TCallLabel("_root." + fmASMcPath + "ASEngine_mc.outside_mc", "doAction");

}



function fmMapModeExportListAreas() {

//do: return the list of areas selected



	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideAction", "modeExport");

	fmEngine.TCallLabel("_root." + fmASMcPath + "ASEngine_mc.outside_mc", "doAction");

	return fmEngine.GetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideAreasSelected");

}



function fmMapModeCleanAreas() {

//do: clean the list of areas selected



	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideAction", "modeClean");

	fmEngine.TCallLabel("_root." + fmASMcPath + "ASEngine_mc.outside_mc", "doAction");

}



// *********************

// ** AREAS functions **

// *********************



function fmAreaCenter(area_str) {

//do: center the map into an area



	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideArea", area_str);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideAction", "areaCenter");

	fmEngine.TCallLabel("_root." + fmASMcPath + "ASEngine_mc.outside_mc", "doAction");

}



function fmAreaBackAndCenter(area_str) {

//do: back a level and center the map into an area



	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideArea", area_str);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideAction", "areaBackAndCenter");

	fmEngine.TCallLabel("_root." + fmASMcPath + "ASEngine_mc.outside_mc", "doAction");

}



function fmAreaCenterLatLon(area_str, lat, lon, scale, load_pois) {

//do: center the map into a latitude/longitude



	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideArea", area_str);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideLat", lat);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideLon", lon);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideScale", scale);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideLoadPOIs", load_pois);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideAction", "areaCenterLatLon");

	fmEngine.TCallLabel("_root." + fmASMcPath + "ASEngine_mc.outside_mc", "doAction");

}



function fmAreaZoomIn(areas_array) {

//do: zoom in into the map (areas_str array)

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideAreas", areas_array);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideAction", "areaZoomIn");

	fmEngine.TCallLabel("_root." + fmASMcPath + "ASEngine_mc.outside_mc", "doAction");

}



function fmAreaEnabled(area_str, enabled_str) {

//do: enabled / disabled an area



	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideArea", area_str);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideEnabled", enabled_str);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideAction", "areaEnabled");

	fmEngine.TCallLabel("_root." + fmASMcPath + "ASEngine_mc.outside_mc", "doAction");

}



function fmAreaColor(area_str, colorNormal, colorOver, colorPress, colorText) {

//do: change the color of an area



	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideArea", area_str);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideColorNormal", colorNormal);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideColorOver", colorOver);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideColorPress", colorPress);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideColorText", colorText);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideAction", "areaColor");

	fmEngine.TCallLabel("_root." + fmASMcPath + "ASEngine_mc.outside_mc", "doAction");

}



//********************

//** POIS FUNCTIONS **

//********************



function fmPOIsShowCategory(category_str) {

//do: show all pois of a category (* for all categories)

	

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideCategory", category_str);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideAction", "POIsShowCategory");

	fmEngine.TCallLabel("_root." + fmASMcPath + "ASEngine_mc.outside_mc", "doAction");

}



function fmPOIsHideCategory(category_str) {

//do: hide all pois of a category (* for all categories)

	

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideCategory", category_str);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideAction", "POIsHideCategory");

	fmEngine.TCallLabel("_root." + fmASMcPath + "ASEngine_mc.outside_mc", "doAction");

}



function fmPOIAddEvent(event_str, target_str, url_str, id_str) {

//do: add an event to a POI



	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideEvent", event_str);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideTarget", target_str);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideUrl", url_str);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideId", id_str);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideAction", "POIEvent");

	fmEngine.TCallLabel("_root." + fmASMcPath + "ASEngine_mc.outside_mc", "doAction");

}



function fmPOIRollOver(id_str, icon_str) {

//do: rollover over a POI

	

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideId", id_str);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideIcon", icon_str);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideAction", "POIRollOver");

	fmEngine.TCallLabel("_root." + fmASMcPath + "ASEngine_mc.outside_mc", "doAction");

}



function fmPOIRollOut(id_str) {

//do: rollout over a POI

	

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideId", id_str);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideAction", "POIRollOut");

	fmEngine.TCallLabel("_root." + fmASMcPath + "ASEngine_mc.outside_mc", "doAction");

}



function fmPOIHighlight(id_str, icon_str) {

//do: rollover over a POI

	

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideId", id_str);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideIcon", icon_str);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideAction", "POIHighlight");

	fmEngine.TCallLabel("_root." + fmASMcPath + "ASEngine_mc.outside_mc", "doAction");

}



function fmPOIUnhighlight() {

//do: rollout over a POI

	

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideAction", "POIUnhighlight");

	fmEngine.TCallLabel("_root." + fmASMcPath + "ASEngine_mc.outside_mc", "doAction");

}





//************************

//** POLYLINE FUNCTIONS **

//************************



function fmPolylinesShowCategory(category_str) {

//do: show all polylines of a category (* for all categories)

	

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideCategory", category_str);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideAction", "PolylineShowCategory");

	fmEngine.TCallLabel("_root." + fmASMcPath + "ASEngine_mc.outside_mc", "doAction");

}



function fmPolylinesHideCategory(category_str) {

//do: hide all polylines of a category (* for all categories)

	

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideCategory", category_str);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideAction", "PolylineHideCategory");

	fmEngine.TCallLabel("_root." + fmASMcPath + "ASEngine_mc.outside_mc", "doAction");

}



//****************************

//** ALERT WINDOW FUNCTIONS **

//****************************



function fmShowAlert(title_str, text_str) {

//do: show an alert window

	

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideTitle", title_str);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideText", text_str);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideAction", "showAlert");

	fmEngine.TCallLabel("_root." + fmASMcPath + "ASEngine_mc.outside_mc", "doAction");

}



function fmHideAlert() {

//do: hide an alert window

	

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideAction", "hideAlert");

	fmEngine.TCallLabel("_root." + fmASMcPath + "ASEngine_mc.outside_mc", "doAction");

}



//****************************

//** ALERT WINDOW FUNCTIONS **

//****************************



function fmShowCrossHair(lat, lon, scale) {

//do: show an alert window

	

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideLat", lat);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideLon", lon);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideScale", scale);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideAction", "showCrossHair");

	fmEngine.TCallLabel("_root." + fmASMcPath + "ASEngine_mc.outside_mc", "doAction");

}



function fmHideCrossHair() {

//do: hide the cross hair

	

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideAction", "hideCrossHair");

	fmEngine.TCallLabel("_root." + fmASMcPath + "ASEngine_mc.outside_mc", "doAction");

}



//************************

//*** OBJECT FUNCTIONS ***

//************************



function fmObjectShow(id_str) {

//do: show an object

	

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideObject", id_str);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideAction", "objectShow");

	fmEngine.TCallLabel("_root." + fmASMcPath + "ASEngine_mc.outside_mc", "doAction");

}



function fmObjectHide(id_str) {

//do: hide an object

	

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideObject", id_str);

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideAction", "objectHide");

	fmEngine.TCallLabel("_root." + fmASMcPath + "ASEngine_mc.outside_mc", "doAction");

}



//***********************

//** POITEXT FUNCTIONS **

//***********************



function fmShowPOIText() {

//do: show poitext over the map

	

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideAction", "showPOIText");

	fmEngine.TCallLabel("_root." + fmASMcPath + "ASEngine_mc.outside_mc", "doAction");

}



function fmHidePOIText() {

//do: hide poitext over the map

	

	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideAction", "hidePOIText");

	fmEngine.TCallLabel("_root." + fmASMcPath + "ASEngine_mc.outside_mc", "doAction");

}



//*********************

//** PRINT FUNCTIONS **

//*********************



function fmPrint() {

//do: print the current view



	fmEngine.SetVariable("_root." + fmASMcPath + "ASEngine_mc.outsideAction", "print");

	fmEngine.TCallLabel("_root." + fmASMcPath + "ASEngine_mc.outside_mc", "doAction");

}