var mapsroutenlinien_color = "#A53E00";var maps_mouse_pos_x, maps_mouse_pos_y;var maps_routen_img, alt_tooltip_x, alt_tooltip_y;var routensavename, routennavigname;var routen_temp_route, b_kartenpunkte;var last_routenpunkt_x, last_routenpunkt_y, last_routenpunkt_flag;var maps_route_punkte_karte = Array();var maps_route_punkte_loeschen = Array();var maps_route_punkte_new = Array();var maps_last_routepart, maps_last_point_on_map, maps_no_point;var tooltip_currentshown = null;var tooltip_show = null;var tooltip_action = null;var visibleToolTip=false;var tooltipStyleTop = Array();var tooltipStyleLeft = Array();var maps_gpsposition_complete = Array();var maps_gpsposition_nswe = Array();var maps_gpsposition_gms = Array();var maps_gpsposition_format;var maps_gpsposition_refresh = Array();var b_gpsposition, b_gpsposition_is_active;var maps_gpsposition_kante;var docEl = (typeof document.compatMode != "undefined" && document.compatMode != "BackCompat") ? "documentElement" : "body";var context_timeout, context_timeout_2;var maps_contextmenu_lastx, maps_contextmenu_lasty, maps_contextmenu_lastid;var maps_point_max_array = 0;var maps_curr_max_p_id = 0;var maps_max_id = 0;var maps_move_selected_point = false;var maps_move_selected_punkt = false;var move_point_ebene;var tt_is_active = false, tt_active_x;var maps_letzter_routenpunkt;var sightstooltip_timer = 0;var no_show_context_menu = false;sttpos = new Array();function showDiv(x) {if (document.getElementById(x)) o = document.getElementById(x);if (o.style.display == "none")o.style.display = "block";else o.style.display = "none";}function hideAllDivs(x) {var o;for(i=0; i<20; i++) {if (document.getElementById(x+i))o = document.getElementById(x+i);else o = false;if (o) o.style.display = "none";}}function showAllDivs(x) {var o;for (i=0; i<20; i++) {if (document.getElementById(x+i))o = document.getElementById(x+i);else o = false;if (o) o.style.display = "block";}}function initRoutenmanager() {var temp_routen;if (document.getElementById("routenmanagerminimaps")) temp_routen = document.getElementById("routenmanagerminimaps").value;if (temp_routen) {var routen = temp_routen.split("#");var c_rpunkte = new Array();for (r in routen) {var route = routen[r].split(";");var c_id = route[0];var punkte = route[1].split("|");c_rpunkte[c_id] = new Array();for (t in punkte) {var punkt = punkte[t].split(",");var p = new Array();p["x"] = punkt[0];p["y"] = punkt[1];c_rpunkte[c_id].push(p);}}}jg = new Array();var erster = new Array();var letzter = new Array();var vorletzter = new Array();var vorvorletzter = new Array();if (c_rpunkte) for(id in c_rpunkte) {if (document.getElementById("routenminidiv_" + id)) {jg[id] = new jsGraphics("routenminidiv_" + id);jg[id].setColor(mapsroutenlinien_color);jg[id].setStroke(2);var polyx = new Array();var polyy = new Array();for(t in c_rpunkte[id]) {polyx.push(parseInt(c_rpunkte[id][t]["x"]));polyy.push(parseInt(c_rpunkte[id][t]["y"]));}erster = c_rpunkte[id].shift();letzter = c_rpunkte[id].pop();if (!letzter) {if (erster)letzter = erster;else {letzter = new Array();letzter["x"] = NaN;letzter["y"] = NaN;}}vorletzter = c_rpunkte[id].pop();if (!vorletzter) {if (erster)vorletzter = erster;else {vorletzter = new Array();vorletzter["x"] = NaN;vorletzter["y"] = NaN;}}vorvorletzter = c_rpunkte[id].pop();if (!vorvorletzter) {if (erster)vorvorletzter = erster;else {vorvorletzter = new Array();vorvorletzter["x"] = NaN;vorvorletzter["y"] = NaN;}}jg[id].fillRect(erster["x"] - 3, erster["y"] - 3, 6, 6);var pfeil = mkPfeil(parseInt(letzter["x"]), parseInt(letzter["y"]), parseInt(vorletzter["x"]), parseInt(vorletzter["y"]), parseInt(vorvorletzter["x"]), parseInt(vorvorletzter["y"]), NaN, NaN, 8, 5, 4);var tpolypfeilx = new Array(pfeil["n1_x"], pfeil["n2_x"], pfeil["n3_x"]);var tpolypfeily = new Array(pfeil["n1_y"], pfeil["n2_y"], pfeil["n3_y"]);jg[id].fillPolygon(tpolypfeilx, tpolypfeily);jg[id].drawPolyline(polyx, polyy);jg[id].paint();}}}function shTooltip(x) {if (o = document.getElementById(x)) {o.style.visibility = "visible";tt_is_active = true;tt_active_x = x;o.style.top = context_mouse_pos_y + 12;o.style.left = context_mouse_pos_x + 12;}}function hdTooltip(x) {if (o = document.getElementById(x)) {o.style.visibility = "hidden";tt_is_active = false;}}function mvTooltip(x) {if (o = document.getElementById(x)) {o.style.top = context_mouse_pos_y + 12;o.style.left = context_mouse_pos_x + 12;}}function showContextMenu() {if ((!no_show_context_menu) && (o = document.getElementById("mapscontextmenu"))) {o.style.display="block";o.style.left = parseInt(context_mouse_pos_x);o.style.top = parseInt(context_mouse_pos_y);stoppContextShow();stoppShowContextMenu();} else {no_show_context_menu = false;}}function startShowContextMenu(x, y, a) {maps_contextmenu_lastx = x;maps_contextmenu_lasty = y;maps_contextmenu_lastid = a;window.clearTimeout(context_timeout_2);context_timeout_2 = setTimeout("showContextMenu(1)", 10);}function stoppShowContextMenu() {window.clearTimeout(context_timeout_2);}function hideContextMenu() {if (o = document.getElementById("mapscontextmenu")) {o.style.display="none";stoppShowContextMenu();}}function startContextShow() {window.clearTimeout(context_timeout);}function stoppContextShow() {window.clearTimeout(context_timeout);context_timeout = setTimeout("hideContextMenu()", 2000);}function changeClass(o, m) {o.className = m;}function mkPunkt() {srp(maps_contextmenu_lastx, maps_contextmenu_lasty);hideContextMenu();}function movePunkt() {maps_move_selected_punkt = true;routen_move_point.style.display = "block";move_point_ebene.style.visibility = "visible";hideContextMenu();}function setMovedPoint() {maps_route_punkte_karte[maps_contextmenu_lastid]["x"] = maps_mouse_pos_x;maps_route_punkte_karte[maps_contextmenu_lastid]["y"] = maps_mouse_pos_y;maps_move_selected_punkt = false;routen_move_point.style.display = "none";move_point_ebene.style.visibility = "hidden";paintRoute();}function splitPunkt() {var temp_punkte_vorne = Array();var temp_punkte_hinter = Array();var b_found = false;var last_real_org_id = -1;var b_next_found = false;var b_next_found2 = false;for (i in maps_route_punkte_karte) {if (parseInt(i) == (parseInt(maps_contextmenu_lastid) + 1)) {temp_punkt_neu = Array();temp_punkt_neu["x"] = parseInt((parseInt(maps_route_punkte_karte[i-1]["x"]) + parseInt(maps_route_punkte_karte[i]["x"])) / 2);temp_punkt_neu["y"] = parseInt((parseInt(maps_route_punkte_karte[i-1]["y"]) + parseInt(maps_route_punkte_karte[i]["y"])) / 2);temp_punkt_neu["flag"] = maps_route_punkte_karte[i]["flag"];temp_punkt_neu["routepart"] = maps_route_punkte_karte[i]["routepart"];temp_punkt_neu["org_id"] = -1;temp_punkt_neu["vorg_id"] = last_real_org_id;temp_punkt_neu_id = parseInt(maps_contextmenu_lastid) + 1;b_found = true;} else if (((parseInt(maps_contextmenu_lastid) + 1) == maps_route_punkte_karte.length) && (parseInt(i) == (parseInt(maps_contextmenu_lastid) - 1))) {temp_punkt_neu = Array();temp_punkt_neu["x"] = parseInt((parseInt(maps_route_punkte_karte[parseInt(i)+1]["x"]) + parseInt(maps_route_punkte_karte[i]["x"])) / 2);temp_punkt_neu["y"] = parseInt((parseInt(maps_route_punkte_karte[parseInt(i)+1]["y"]) + parseInt(maps_route_punkte_karte[i]["y"])) / 2);temp_punkt_neu["flag"] = maps_route_punkte_karte[i]["flag"];temp_punkt_neu["routepart"] = maps_route_punkte_karte[i]["routepart"];temp_punkt_neu["org_id"] = -1;temp_punkt_neu["vorg_id"] = last_real_org_id;temp_punkt_neu_id = parseInt(maps_contextmenu_lastid);b_next_found = true;}if (b_found) {temp_punkte_hinter[i] = Array();temp_punkte_hinter[i] = maps_route_punkte_karte[i];} else {b_found = b_next_found;temp_punkte_vorne[i] = Array();temp_punkte_vorne[i] = maps_route_punkte_karte[i];if (maps_route_punkte_karte[i]["org_id"] >= 0)last_real_org_id = maps_route_punkte_karte[i]["org_id"];}}maps_route_punkte_karte = Array();for(i in temp_punkte_vorne) {addArray2Route(temp_punkte_vorne[i], i);}addArray2Route(temp_punkt_neu, temp_punkt_neu_id);for(i in temp_punkte_hinter) {temp_punkte_hinter[i];addArray2Route(temp_punkte_hinter[i], parseInt(i)+1);}maps_point_max_array = 0;paintRoute();hideContextMenu();if (o = document.getElementsByName("mapsanzahlpunkte")[0]) {o.value = parseInt(o.value) + 1;}}function delPunkt() {var temp_punkte_vorher = Array();var temp_punkte_hinter = Array();if (maps_route_punkte_karte[maps_contextmenu_lastid]["org_id"] != "-1")maps_route_punkte_loeschen.push(maps_route_punkte_karte[maps_contextmenu_lastid]["org_id"]);var b_found = false;for(i in maps_route_punkte_karte) {if (parseInt(i) == parseInt(maps_contextmenu_lastid)) {b_found = true;} else if (b_found) {temp_punkte_hinter[i] = Array();temp_punkte_hinter[i] = maps_route_punkte_karte[i];} else {temp_punkte_vorher[i] = Array();temp_punkte_vorher[i] = maps_route_punkte_karte[i];}}maps_route_punkte_karte = Array();maps_max_id = 0;for(i in temp_punkte_vorher) {addArray2Route(temp_punkte_vorher[i], maps_max_id);maps_max_id++;}for(i in temp_punkte_hinter) {addArray2Route(temp_punkte_hinter[i], maps_max_id);maps_max_id++;}paintRoute();hideContextMenu();if (o = document.getElementsByName("mapsanzahlpunkte")[0]) {o.value = parseInt(o.value) - 1;}}function addArray2Route(a, i) {maps_route_punkte_karte[i] = Array();maps_route_punkte_karte[i]["x"] = a["x"];maps_route_punkte_karte[i]["y"] = a["y"];maps_route_punkte_karte[i]["flag"] = a["flag"];maps_route_punkte_karte[i]["routepart"] = a["routepart"];maps_route_punkte_karte[i]["org_id"] = a["org_id"];maps_route_punkte_karte[i]["vorg_id"] = a["vorg_id"];maps_route_punkte_karte[i]["last_id"] = a["last_id"];}function paintRoute() {var lastx=NaN;var lasty=NaN;var last_flag = NaN;jg.clear();for(i in maps_route_punkte_karte) {var currx = maps_route_punkte_karte[i]["x"];var curry = maps_route_punkte_karte[i]["y"];var curr_flag = maps_route_punkte_karte[i]["flag"];if ((lastx && lasty) || ((lastx.toString() == "0") || (lasty.toString() == "0"))) {var onClickParamOld = 'onMouseDown="javascript:srp(\'' + lastx + '\', \'' + lasty + '\', \'0\')" onMouseOver="javascript:startShowContextMenu(\'' + lastx + '\', \'' + lasty + '\', \'' + lastid + '\')" onMouseOut="javascript:stoppShowContextMenu()"';if (last_flag != "e") jg.drawLine(lastx, lasty, currx, curry);if (last_flag == "n") jg.drawImage(maps_routen_img, lastx-4, lasty-4, 8, 8, onClickParamOld);}maps_point_max_array++;lastx = currx;lasty = curry;last_flag = curr_flag;lastid = i;}if ((lastx && lasty) || ((lastx.toString == "0") || (lasty.toString() == "0"))) {var onClickParamOld = 'onMouseDown="javascript:srp(\'' + lastx + '\', \'' + lasty + '\', \'0\')" onMouseOver="javascript:startShowContextMenu(\'' + lastx + '\', \'' + lasty + '\', \'' + lastid + '\')" onMouseOut="javascript:stoppShowContextMenu()"';if (last_flag == "n") jg.drawImage(maps_routen_img, lastx-4, lasty-4, 8, 8, onClickParamOld);last_routenpunkt_x = lastx;last_routenpunkt_y = lasty;} else {last_routenpunkt_x = NaN;last_routenpunkt_y = NaN;}jg.paint();}var maps_b_move_point = false;var tooltip_move = false;var tooltip_move_tooltip_x, tooltip_move_tooltip_y, tooltip_move_cursor_x, tooltip_move_cursor_y, tooltip_move_tooltip_id;var document_tooltip_position_x = null;var document_tooltip_position_y = null;var tooltip_angepinnt = false;citysam.DOM.bindEvent("onmousemove", document, updateMousePos);function updateMousePos(e) {var x = (document.all) ? window.event.offsetX : e.layerX;var y = (document.all) ? window.event.offsetY : e.layerY;if (x != null) {if (document.all) {maps_mouse_pos_x = x;maps_mouse_pos_y = y;tooltip_mouse_pos_x = window.event.clientX;tooltip_mouse_pos_y = window.event.clientY;context_mouse_pos_x = window.event.clientX + document[docEl].scrollLeft;context_mouse_pos_y = window.event.clientY + document[docEl].scrollTop;} else {maps_mouse_pos_x = x;maps_mouse_pos_y = y;tooltip_mouse_pos_x = e.pageX - pageXOffset;tooltip_mouse_pos_y = e.pageY - pageYOffset;context_mouse_pos_x = e.pageX;context_mouse_pos_y = e.pageY;}}if (tooltip_action && !tooltip_move && !tooltip_angepinnt) {if (o = document.getElementById(tooltip_currentshown)) {o.style.display = tooltip_action;if (tooltip_action == "none") {tooltip_currentshown = null;tooltip_move = false;citysam.gui.showSel("mpS3k2");}tooltip_action = null;}}if (tooltip_show) {tooltip_action = tooltip_show;tooltip_show = null;}if (maps_gpsposition_refresh["move"] == "true") {UpdateGPSPosition(x, y);}if ((maps_move_selected_punkt) && (maps_b_move_point)) {routen_move_point.style.top = parseInt(maps_mouse_pos_y) + 2;routen_move_point.style.left = parseInt(maps_mouse_pos_x) + 6;}if (tt_is_active) {mvTooltip(tt_active_x);}if (tooltip_move && (o = document.getElementById(tooltip_move_tooltip_id))) {o.style.left = context_mouse_pos_x - tooltip_move_cursor_x;o.style.top = context_mouse_pos_y - tooltip_move_cursor_y;document_tooltip_position_x = o.style.left;document_tooltip_position_y = o.style.top;}}function updateMovePoint(x) {maps_b_move_point = x;}function InitGraphics() {InitTooltipEventHndl(true);jg = new jsGraphics("routenebene");jg.setColor(mapsroutenlinien_color);jg.setStroke(2);if (o = document.getElementsByName("routenimg")[0]) maps_routen_img = o.value;if (o = document.getElementsByName("alttooltipposx")[0]) alt_tooltip_x = parseInt(o.value);if (o = document.getElementsByName("alttooltipposy")[0]) alt_tooltip_y = parseInt(o.value);if (o = document.getElementsByName("routensavename")[0]) routensavename = o.value;if (o = document.getElementsByName("routendeletename")[0]) routendeletename = o.value;if (o = document.getElementsByName("routennavigname")[0]) routennavigname = o.value;if (o = document.getElementsByName("routendeletepointsname")[0]) routendeletepointsname = o.value;if (o = document.getElementsByName("lastpointonmap")[0]) maps_last_point_on_map = o.value;if (o = document.getElementsByName("sights_divs")[0]) {sights_divs = o.value;sights_divs = sights_divs.substr(0, sights_divs.length-1);a_sights_divs = sights_divs.split(',');}if (o = document.getElementById("routenmovepoint")) routen_move_point = o;if (o = document.getElementById("movepointebene")) move_point_ebene = o;if (o = document.getElementsByName("routentemproute")[0]) routen_temp_route = o.value;if (o = document.getElementsByName("aktiviere_route")[0]) AktiviereRoute(o, 1);if (o = document.getElementsByName("mapsgpspositionnswe")[0]) var temp_nswe = o.value;if (o = document.getElementsByName("mapsgpspositiongms")[0]) var temp_gms = o.value;if (o = document.getElementsByName("mapsgpspositionformat")[0]) maps_gpsposition_format = o.value;if (o = document.getElementsByName("mapsgpspositionstr")[0]) InitGPSPosition(o.value, temp_nswe, temp_gms);if (o = document.getElementsByName("mapsgpspositionkante")[0]) maps_gpsposition_kante = o.value;if (o = document.getElementsByName("mapsgpspositionrefreshclick")[0]) maps_gpsposition_refresh["click"] = o.value;if (o = document.getElementsByName("mapsgpspositionrefreshmove")[0]) maps_gpsposition_refresh["move"] = o.value;if (routen_temp_route) temp_r = routen_temp_route.split("#"); else temp_r = new Array();maps_temp_route = Array();if (temp_r[0]) maps_temp_route = temp_r[0].split("|");maps_letzter_routenpunkt = Array();if (temp_r[1]) maps_letzter_routenpunkt = temp_r[1].split("|");var temp_min_id = -2;var last_x = NaN;var last_y = NaN;var last_routepart = 1;var last_flag = NaN;var i = 0;var j = 0;maps_max_id = 0;for (temp_route in maps_temp_route) {temp_p = maps_temp_route[temp_route].split(",");curr_x = parseInt(temp_p[0]);curr_y = parseInt(temp_p[1]);flag = temp_p[2];curr_id = parseInt(temp_p[3]);if ((last_x && last_y) || ((last_x.toString() == "0") || (last_y.toString() == "0"))) {var onClickParamOld = 'onMouseDown="javascript:srp(\'' + last_x + '\', \'' + last_y + '\', \'0\')" onMouseOver="javascript:startShowContextMenu(\'' + last_x + '\', \'' + last_y + '\', \'' + maps_max_id + '\')" onMouseOut="javascript:stoppShowContextMenu()"';if (last_flag != "e") jg.drawLine(last_x, last_y, curr_x, curr_y);if (last_flag == "n") jg.drawImage(maps_routen_img, last_x-4, last_y-4, 8, 8, onClickParamOld);if ((last_flag == "e") || (last_flag == "a")) {last_id = temp_min_id;temp_min_id--;}maps_route_punkte_karte[maps_max_id] = Array();maps_route_punkte_karte[maps_max_id]["x"] = last_x;maps_route_punkte_karte[maps_max_id]["y"] = last_y;maps_route_punkte_karte[maps_max_id]["flag"] = last_flag;maps_route_punkte_karte[maps_max_id]["routepart"] = last_routepart;maps_route_punkte_karte[maps_max_id]["org_id"] = last_id;maps_route_punkte_karte[maps_max_id]["vorg_id"] = last_id;maps_route_punkte_karte[maps_max_id]["last_id"] = last_id;maps_max_id++;if (flag == "e") last_routepart++;}last_x = curr_x;last_y = curr_y;last_flag = flag;last_id = curr_id;}maps_last_routepart = last_routepart;if ((last_x && last_y) || ((last_x.toString() == "0") || (last_y.toString() == "0"))) {var onClickParamOld = 'onMouseDown="javascript:srp(\'' + last_x + '\', \'' + last_y + '\', \'0\')" onMouseOver="javascript:startShowContextMenu(\'' + last_x + '\', \'' + last_y + '\', \'' + maps_max_id + '\')" onMouseOut="javascript:stoppShowContextMenu()"';if (last_flag == "n") jg.drawImage(maps_routen_img, last_x-4, last_y-4, 8, 8, onClickParamOld);maps_route_punkte_karte[maps_max_id] = Array();maps_route_punkte_karte[maps_max_id]["x"] = last_x;maps_route_punkte_karte[maps_max_id]["y"] = last_y;maps_route_punkte_karte[maps_max_id]["flag"] = last_flag;maps_route_punkte_karte[maps_max_id]["routepart"] = last_routepart;maps_route_punkte_karte[maps_max_id]["org_id"] = last_id;maps_route_punkte_karte[maps_max_id]["vorg_id"] = last_id;maps_route_punkte_karte[maps_max_id]["last_id"] = last_id;maps_max_id++;last_routenpunkt_x = last_x;last_routenpunkt_y = last_y;last_routenpunkt_flag = flag;}jg.paint();}var InfoTimer = 0;function AktiviereRoute(x, show) {if (x.checked) {var sichtbar="visible";var unsichtbar="block";b_kartenpunkte = true;var sichtbar2 = "block";} else {var sichtbar="hidden";var unsichtbar="none";b_kartenpunkte = false;var sichtbar2 = "none";}if (document.getElementById("obersteebene")) {document.getElementById("obersteebene").style.visibility = sichtbar;}if ((document.getElementById("mapsrouteinkartezeichneninfo")) && (!show)) {document.getElementById("mapsrouteinkartezeichneninfo").style.display = unsichtbar;var temp_zeit = 2000;if (maps_route_punkte_karte.length == 0) temp_zeit = 7000;window.clearTimeout(InfoTimer);InfoTimer = setTimeout("hideRouteInKarteZeichnenInfo()", temp_zeit);}if (o = document.getElementById("routenbox_hide")) o.style.display = sichtbar2;if (o_form = document.getElementsByName("navigate_form")) {if (sichtbar == "visible") {navigate_form.rz.value="1";} else {navigate_form.rz.value="2";}}}function hideRouteInKarteZeichnenInfo() {if (document.getElementById("mapsrouteinkartezeichneninfo")) {document.getElementById("mapsrouteinkartezeichneninfo").style.display = "none";}}function berechne_kartenschnittpunkt(p1x, p1y) {if (!maps_letzter_routenpunkt) return false;p2x = parseInt(maps_letzter_routenpunkt[0]);p2y = parseInt(maps_letzter_routenpunkt[1]);m1 = (p2y - p1y) / (p2x - p1x);if (p2x > p1x) {tx1 = parseInt(maps_letzter_routenpunkt[2]);} else {tx1 = 0;}ty1 = (m1 * (tx1 - p1x)) + p1y;if (p2y > p1y) {ty2 = parseInt(maps_letzter_routenpunkt[3]);} else {ty2 = 0;}m2 = (p2x - p1x) / (p2y - p1y);tx2 = (m2 * (ty2 - p1y)) + p1x;switch (true) {case ((ty1 >= 0) && (ty1 <= parseInt(maps_letzter_routenpunkt[3]))):x = tx1;y = ty1;break;case ((tx2 >= 0) && (tx2 <= parseInt(maps_letzter_routenpunkt[2]))):x = tx2;y = ty2;break;default:return false;}ret = Array();ret["x"] = x;ret["y"] = y;return ret;}var gesetztepunkte_anzahl = 0;function srp(x, y, typ) {var temp_paint_no_last_image = false;if (b_kartenpunkte) {if (!maps_no_point) {var posx = (x) ? parseInt(x) : parseInt(maps_mouse_pos_x);var posy = (y) ? parseInt(y) : parseInt(maps_mouse_pos_y);if ((posx == 0) || (posy == 0)) return false;if ((typ == 0) && document.all) maps_no_point = 1;var onClickParam = 'onMouseOver="javascript:startShowContextMenu(\'' + posx + '\', \'' + posy + '\', \'' + maps_max_id + '\')" onMouseOut="javascript:stoppShowContextMenu()"';var onClickParamOld = 'onMouseOver="javascript:startShowContextMenu(\'' + last_routenpunkt_x + '\', \'' + last_routenpunkt_y + '\', \'' + (maps_max_id-1) + '\')" onMouseOut="javascript:stoppShowContextMenu()"';if (!maps_last_point_on_map) {temp_ret = berechne_kartenschnittpunkt(posx, posy);if (temp_ret) {last_routenpunkt_x = temp_ret["x"];last_routenpunkt_y = temp_ret["y"];maps_route_punkte_karte[maps_max_id] = Array();maps_route_punkte_karte[maps_max_id]["x"] = last_routenpunkt_x;maps_route_punkte_karte[maps_max_id]["y"] = last_routenpunkt_y;maps_route_punkte_karte[maps_max_id]["flag"] = "a";maps_route_punkte_karte[maps_max_id]["routepart"] = maps_last_routepart;maps_route_punkte_karte[maps_max_id]["org_id"] = -1;maps_route_punkte_karte[maps_max_id]["vorg_id"] = -1;maps_max_id++;maps_last_point_on_map = 1;temp_paint_no_last_image = true;}}if ((last_routenpunkt_x || (last_routenpunkt_x == 0)) && (last_routenpunkt_y || (last_routenpunkt_y == 0))) {if (maps_last_point_on_map)jg.drawLine(last_routenpunkt_x, last_routenpunkt_y, posx, posy);if (!temp_paint_no_last_image)jg.drawImage(maps_routen_img, last_routenpunkt_x-4, last_routenpunkt_y-4, 8, 8, onClickParamOld);else temp_paint_no_last_image = false;}jg.drawImage(maps_routen_img, posx-4, posy-4, 8, 8, onClickParam);last_routenpunkt_x = posx;last_routenpunkt_y = posy;maps_route_punkte_karte[maps_max_id] = Array();maps_route_punkte_karte[maps_max_id]["x"] = posx;maps_route_punkte_karte[maps_max_id]["y"] = posy;maps_route_punkte_karte[maps_max_id]["flag"] = "n";maps_route_punkte_karte[maps_max_id]["routepart"] = maps_last_routepart;maps_route_punkte_karte[maps_max_id]["org_id"] = -1;maps_route_punkte_karte[maps_max_id]["vorg_id"] = -1;maps_max_id++;maps_point_max_array++;jg.paint();b_kartenpunkte = true;maps_last_point_on_map = 1;if (o = document.getElementsByName("mapsanzahlpunkte")[0]) {o.value = parseInt(o.value) + 1;}if ((gesetztepunkte_anzahl++ == 2) && (o = document.getElementById("maps_alertinformationbox"))) {o.style.display = "none";}no_show_context_menu = true;} else {maps_no_point = 0;}}}function delRouteLast() {maps_contextmenu_lastid = maps_max_id-1;if ((maps_route_punkte_karte[maps_contextmenu_lastid]["routepart"] == maps_last_routepart) && (maps_route_punkte_karte[maps_contextmenu_lastid]["flag"] == "n"))delPunkt();}function delRouteAll() {jg.clear();jg.paint();maps_route_punkte_karte = null;maps_route_punkte_karte = Array();last_routenpunkt_x = null;last_routenpunkt_y = null;b_kartenpunkte = false;}var form_not_submitted = true;var form_not_submitted_href = "";function navigateRoute(x) {if ((form_not_submitted) && (o_form = document.getElementsByName("navigate_form"))) {if (typeof o_form[0] == "undefined") return false;var s = "";for (i in maps_route_punkte_karte) {t = maps_route_punkte_karte[i];if ((t["flag"] != "e") && (t["flag"] != "a")) s = s + t["x"] + "," + t["y"] + "," + t["org_id"] + "," + t["vorg_id"] + "|";}b = maps_route_punkte_loeschen.join("|");s = s.substr(0, s.length-1);if (o_route = document.getElementsByName(routennavigname)[0]) o_route.value = s;if ((typeof routendeletepointsname != "undefined") && (o_delpt = document.getElementsByName(routendeletepointsname)[0])) o_delpt.value = b;form_not_submitted = false;if (x.href) o_form[0].action = x.href;form_not_submitted_href = x.href;x.href="javascript:navigate_form.submit()";} else {x.href = form_not_submitted_href;return false;}}function saveRoute(x, val) {if (o_save = document.getElementsByName(routensavename)) {o_save[0].value = val;navigateRoute(x);}}function deleteRoute(x) {if (o_delete = document.getElementsByName(routendeletename)) {o_delete[0].value = "true";navigateRoute(x);}}function karteChangeNavigClass(id, c) {if (o = document.getElementById(id)) {o.className = c;}}function InitGPSPosition(s, nswe, gms) {var temp_s = s.split(";");for(i in temp_s) {maps_gpsposition_complete[i] = Array();temp_p = Array();temp_p = temp_s[i].split("|");for(j in temp_p) {maps_gpsposition_complete[i][j] = Array();temp_punkt = temp_p[j].split(",");maps_gpsposition_complete[i][j]["x"] = temp_punkt[0];maps_gpsposition_complete[i][j]["y"] = temp_punkt[1];}}temp_s = nswe.split("|");maps_gpsposition_nswe["n"] = temp_s[0];maps_gpsposition_nswe["s"] = temp_s[1];maps_gpsposition_nswe["w"] = temp_s[2];maps_gpsposition_nswe["e"] = temp_s[3];temp_s = gms.split("|");maps_gpsposition_gms["g"] = temp_s[0];maps_gpsposition_gms["m"] = temp_s[1];maps_gpsposition_gms["s"] = temp_s[2];b_gpsposition_is_active = false;}function BerechneGPSPosition(x, y) {if (!maps_gpsposition_kante) maps_gpsposition_kante = 100;var i = -1, j = -1;while (x > 0) {j++;x = x - maps_gpsposition_kante;}x = x + maps_gpsposition_kante;while (y > 0) {i++;y = y - maps_gpsposition_kante;}y = y + maps_gpsposition_kante;var x1, x2, x3, x4;var y1, y2, y3, y4;x1 = parseFloat(maps_gpsposition_complete[i][j]["x"]);y1 = parseFloat(maps_gpsposition_complete[i][j]["y"]);x2 = parseFloat(maps_gpsposition_complete[i+1][j]["x"]);y2 = parseFloat(maps_gpsposition_complete[i+1][j]["y"]);x3 = parseFloat(maps_gpsposition_complete[i][j+1]["x"]);y3 = parseFloat(maps_gpsposition_complete[i][j+1]["y"]);x4 = parseFloat(maps_gpsposition_complete[i+1][j+1]["x"]);y4 = parseFloat(maps_gpsposition_complete[i+1][j+1]["y"]);var dx = (Math.abs(x1 - x4) + Math.abs(x2 - x3)) / 2;var dy = (Math.abs(y1 - y2) + Math.abs(y3 - y4)) / 2;var ret = Array();ret["x"] = ((Math.abs(x) / maps_gpsposition_kante) * dx) + ((x1 + x2) / 2);ret["y"] = ((Math.abs(y) / maps_gpsposition_kante) * dy * (-1)) + ((y1 + y3) / 2);return ret;}function UpdateGPSPosition(x, y) {if (b_gpsposition_is_active) {var ret = BerechneGPSPosition(x, y);gpsx = ret["x"];gpsy = ret["y"];var gx = gpsx.toFixed(parseInt(maps_gpsposition_gms["g"]));var Gx = Math.floor(Math.abs(gpsx));var tempmx = (Math.abs(gpsx) - Gx) * 60;var mx = tempmx.toFixed(parseInt(maps_gpsposition_gms["m"]));var Mx = Math.floor(tempmx);var tempsx = (tempmx - Mx) * 60;var sx = tempsx.toFixed(parseInt(maps_gpsposition_gms["s"]));var Sx = Math.floor(tempsx);var ostwest = (gpsx < 0) ? maps_gpsposition_nswe["w"] : maps_gpsposition_nswe["e"];Gx = Math.abs(Gx);var gy = gpsy.toFixed(parseInt(maps_gpsposition_gms["g"]));var Gy = Math.floor(gpsy);var tempmy = (Math.abs(gpsy) - Gy) * 60;var my = tempmy.toFixed(parseInt(maps_gpsposition_gms["m"]));var My = Math.floor(tempmy);var tempsy = (tempmy - My) * 60;var sy = tempsy.toFixed(parseInt(maps_gpsposition_gms["s"]));var Sy = Math.floor(tempsy);var nordsued = (gpsy < 0) ? maps_gpsposition_nswe["s"] : maps_gpsposition_nswe["n"];Gy = Math.abs(Gy);var ow = str_replace("g", gx.toString(), maps_gpsposition_format);ow = str_replace("G", Gx.toString(), ow);ow = str_replace("m", mx.toString(), ow);ow = str_replace("M", Mx.toString(), ow);ow = str_replace("s", sx.toString(), ow);ow = str_replace("S", Sx.toString(), ow);ow = str_replace("H", ostwest, ow);var ns = str_replace("g", gy.toString(), maps_gpsposition_format);ns = str_replace("G", Gy.toString(), ns);ns = str_replace("m", my.toString(), ns);ns = str_replace("M", My.toString(), ns);ns = str_replace("s", sy.toString(), ns);ns = str_replace("S", Sy.toString(), ns);ns = str_replace("H", nordsued, ns);if (o = document.getElementById("gpspositionausgabe"))o.value = "[" + ns + "] [" + ow + "]";}}function str_replace(suchen,ersetzen,string) {ausgabe = "" + string;while (ausgabe.indexOf(suchen)>-1) {pos= ausgabe.indexOf(suchen);ausgabe = "" + (ausgabe.substring(0, pos) + ersetzen + ausgabe.substring((pos + suchen.length), ausgabe.length));}return ausgabe;}function AktiviereGPSPosition(x) {if (x.checked) {var sichtbar="visible";b_gpsposition = true;} else {var sichtbar="hidden";b_gpsposition = true;}if (document.getElementById) {document.getElementById("gpspositionausgabe").style.visibility = sichtbar;document.getElementById("gpspositionebene").style.visibility = sichtbar;}}function SetGPSPositionActive() {b_gpsposition_is_active = true;}function SetGPSPositionInactive() {b_gpsposition_is_active = false;}var ajtt = new Array();var tAj = null;function ajstt(id) {if (typeof ajtt[id] == "undefined") {if (tAj == null) tAj = new csAjax(true);tstr = "s=" + id.substr(2);tAj.getData(ajfilecb1a, tstr, ajaw, id);} else {stt(id);}}function ajaw(data, id) {if (o = document.getElementById(id)) {o.innerHTML = data;}ajtt[id] = true;stt(id);}function stt(id) {if (id != tooltip_currentshown) {var o = document.getElementById(id);o.style.display = "block";visibleToolTip = true;tooltip_show = "block";tooltip_action = null;if (tooltip_currentshown) {obj = document.getElementById(tooltip_currentshown);obj.style.display = "none";}tooltip_currentshown = id;var s_x;var s_y;if (document.all) {s_x = document.body.clientWidth;s_y = document.body.clientHeight;} else {s_x = window.innerWidth;s_y = window.innerHeight;}if (sttpos[id] != undefined) {o.style.top = sttpos[id]["y"];o.style.left = sttpos[id]["x"];} else if (intg) {o.style.top = context_mouse_pos_y;o.style.left = context_mouse_pos_x + 50;} else {o.style.top = context_mouse_pos_y;o.style.left = context_mouse_pos_x;}if (tooltipStyleTop[id]) {styleTop = tooltipStyleTop[id];} else {styleTop = o.style.top;tooltipStyleTop[id] = styleTop;}if (tooltipStyleLeft[id]) {styleLeft = tooltipStyleLeft[id];} else {styleLeft = o.style.left;tooltipStyleLeft[id] = styleLeft;}if (tooltip_mouse_pos_y>(s_y - (s_y / 3))) {o.style.top = parseInt(styleTop) - 150;} else {if (tooltip_mouse_pos_y<(s_y / 3)) {o.style.top = parseInt(styleTop);} else {o.style.top = parseInt(styleTop) - 40;}}if (tooltip_mouse_pos_x>(s_x - (s_x / 3))) {o.style.left = parseInt(styleLeft) - 300;} else {o.style.left = parseInt(styleLeft);}if (b_kartenpunkte || b_gpsposition) {o.style.left = parseInt(alt_tooltip_x);o.style.top = parseInt(alt_tooltip_y);}if (document_tooltip_position_x && document_tooltip_position_y) {o.style.left = parseInt(document_tooltip_position_x);o.style.top = parseInt(document_tooltip_position_y);}citysam.gui.hideSelP("mpS3k2", o);}}function stt2(id) {if (!visibleToolTip) {var o = document.getElementById(id);o.style.display = "block";visibleToolTip = true;tooltip_currentshown = id;tooltip_show = "block";tooltip_action = null;}}function htt(id) {if (!visibleToolTip) {tooltip_currentshown = id;tooltip_show = "none";}}function htt2(id) {visibleToolTip = false;tooltip_currentshown = id;tooltip_show = "none";}function fst(id) {var l = "htt2('" + id + "')";window.clearTimeout(sightstooltip_timer);sightstooltip_timer = setTimeout(l, 3000);}function sft() {window.clearTimeout(sightstooltip_timer);}function est(id) {if (visibleToolTip && (o = document.getElementById(id))) {o.style.display = "none";visibleToolTip = false;tooltip_show = "none";tooltip_action = null;}}function sst(id) {if (!tooltip_angepinnt) {o = document.getElementById(id);tooltip_move = true;tooltip_move_tooltip_x = context_mouse_pos_x;tooltip_move_tooltip_y = context_mouse_pos_y;tooltip_move_cursor_x = context_mouse_pos_x - parseInt(o.style.left);tooltip_move_cursor_y = context_mouse_pos_y - parseInt(o.style.top);tooltip_move_tooltip_id = id;}}function cst(id) {tooltip_move = false;}function pst(id, img_normal, img_aktiv) {var o, i;tooltip_angepinnt = !tooltip_angepinnt;if (o = document.getElementsByName(id)) {for(i=0; i<o.length; i++) {if (tooltip_angepinnt)o[i].src = img_aktiv;else o[i].src = img_normal;}}}var hAj=false;var hoCa=[];var hWt=false;function cb1aajmhot(o,i) {if (hoCa[i]) {sHd(o,hoCa[i]);return;}if (hWt) return;if (!hAj) {hAj=new csAjax(true);}tstr="hii="+i+"&ho=m";var opt=[];opt["o"]=o;opt["i"]=i;hAj.getData(ajfile_hcb1a,tstr,rHd,opt);hWt=true;}function rHd(d,opt) {hWt=false;hoCa[opt["i"]]=d;sHd(opt["o"],d);citysam.DOM.bindEvent("onmouseout", opt["o"], shHd);citysam.DOM.bindEvent("onmouseover", opt["o"], thHd);}var hDd=false;var hDd_t=false;function sHd(o,t) {if (!hDd) {hDd=document.createElement("div");hDd.className="djb8e";document.getElementsByTagName("body")[0].appendChild(hDd);citysam.DOM.bindEvent("onmouseout", hDd, shHd);citysam.DOM.bindEvent("onmouseover", hDd, thHd);}thHd();hDd.innerHTML=t;hDd.style.display="block";var p=citysam.DOM.getElementPos(o);hDd.style.left=(p.x+10) + "px";hDd.style.top=(p.y+10) + "px";citysam.gui.hideSelP("hHd15f", hDd);}function shHd() {thHd();hDd_t=window.setTimeout(hHd, 200);}function thHd() {if (hDd_t) {window.clearTimeout(hDd_t);hDd_t=false;}}function hHd() {hDd.style.display="none";citysam.gui.showSel("hHd15f");}function change_img(obj, img) {obj.src = img;}function InitGraphicsSights() {InitTooltipEventHndl(false);if (document.getElementsByName("sightsroutenfield")) maps_sights_routenfield = document.getElementsByName("sightsroutenfield")[0].value;if (document.getElementsByName("sightsroutenkarten")) temp_sights_routenname = document.getElementsByName("sightsroutenkarten")[0].value;if (document.getElementById("mapsoverviewmappoints")) temp_overviewmap_points = document.getElementById("mapsoverviewmappoints").value;maps_sights_routenname = temp_sights_routenname.split("|");jg = new Array();var last_x, last_y, last_typ;var save_x, save_y;var b = 4;for (temp_name in maps_sights_routenname) {temp_n = maps_sights_routenname[temp_name];if (document.getElementById(temp_n)) {jg[temp_n] = new jsGraphics(temp_n);jg[temp_n].setColor(mapsroutenlinien_color);jg[temp_n].setStroke(2);}}temp_routen = maps_sights_routenfield.split("#");for (temp_routenid in temp_routen) {temp_route = temp_routen[temp_routenid].split(";");temp_id = temp_route[0];if (temp_route[1])temp_points = temp_route[1].split(",");else temp_points = new Array();temp_x_val = new Array();temp_y_val = new Array();var i = 1;var temp_x_val = new Array();var temp_y_val = new Array();var last_flag = "n";for (p in temp_points) {koord = temp_points[p].split("|");pos_x = parseInt(koord[0]);pos_y = parseInt(koord[1]);if ((koord[2] == "a") && (last_flag == "e")) i++;if (!temp_x_val[i]) temp_x_val[i] = new Array();if (!temp_y_val[i]) temp_y_val[i] = new Array();temp_x_val[i] = temp_x_val[i].concat(pos_x);temp_y_val[i] = temp_y_val[i].concat(pos_y);if (koord[2] == "e") {pfeil = mkPfeil(pos_x, pos_y, last_x, last_y, save_x, save_y);t_poly_pfeil_x = new Array(pfeil["n1_x"], pfeil["n2_x"], pfeil["n3_x"]);t_poly_pfeil_y = new Array(pfeil["n1_y"], pfeil["n2_y"], pfeil["n3_y"]);if (document.getElementById(temp_id))jg[temp_id].fillPolygon(t_poly_pfeil_x, t_poly_pfeil_y);}if (koord[2] == "a") {if (document.getElementById(temp_id))jg[temp_id].fillRect(pos_x - b, pos_y - b, b*2, b*2);}save_x = last_x;save_y = last_y;last_x = pos_x;last_y = pos_y;last_flag = koord[2];}for (p in temp_x_val) {if (document.getElementById(temp_id))jg[temp_id].drawPolyline(temp_x_val[p], temp_y_val[p]);}if (document.getElementById(temp_id))jg[temp_id].paint();}var temp_points = temp_overviewmap_points.split("|");jg_overview = new jsGraphics("mapsoverviewmap");jg_overview.setColor(mapsroutenlinien_color);jg_overview.setStroke(2);var lastx;var lasty;var polyx = new Array();var polyy = new Array();var foundfirst = false;var currx, curry, lastx, lasty, save_x, save_y;for(i in temp_points) {temp_punkte = temp_points[i].split(",");var posx = parseInt(temp_punkte[0]);var posy = parseInt(temp_punkte[1]);currx = posx;curry = posy;polyx = polyx.concat(posx);polyy = polyy.concat(posy);if (!foundfirst) {jg_overview.fillRect(posx - b, posy - b, b*2, b*2);foundfirst = true;}if (i != temp_points.length - 1) {save_x = lastx;save_y = lasty;lastx = currx;lasty = curry;}}var pfeil = mkPfeil(currx, curry, lastx, lasty, save_x, save_y);var tpolypfeilx = new Array(pfeil["n1_x"], pfeil["n2_x"], pfeil["n3_x"]);var tpolypfeily = new Array(pfeil["n1_y"], pfeil["n2_y"], pfeil["n3_y"]);jg_overview.fillPolygon(tpolypfeilx, tpolypfeily);jg_overview.drawPolyline(polyx, polyy);jg_overview.paint();}function mkPfeil(p1_x, p1_y, p2_x, p2_y, p3_x, p3_y, p4_x, p4_y, l_neu, b_neu, v_neu) {if (!p3_x) p3_x = p2_x;if (!p4_x) p4_x = p3_x;if (!p3_y) p3_y = p2_y;if (!p4_y) p4_y = p3_y;ret = new Array();l = 12;b = 7;v = 5;if (l_neu) l = l_neu;if (b_neu) b = b_neu;if (v_neu) v = v_neu;vp_x = p2_x - p1_x;vp_y = p2_y - p1_y;vo_x = vp_y;vo_y = 0 - vp_x;b_vp = Math.sqrt(vp_x*vp_x + vp_y*vp_y);if (b_vp < l) {vp_x = p3_x - p1_x;vp_y = p3_y - p1_y;vo_x = vp_y;vo_y = 0 - vp_x;b_vp = Math.sqrt(vp_x*vp_x + vp_y*vp_y);}pk_x = p1_x + vp_x * (l / b_vp);pk_y = p1_y + vp_y * (l / b_vp);b_vo = Math.sqrt(vo_x*vo_x + vo_y*vo_y);ret["n1_x"] = pk_x - vo_x * (b / b_vo);ret["n1_y"] = pk_y - vo_y * (b / b_vo);ret["n2_x"] = pk_x + vo_x * (b / b_vo);ret["n2_y"] = pk_y + vo_y * (b / b_vo);ret["n3_x"] = p1_x - vp_x * (v / b_vp);ret["n3_y"] = p1_y - vp_y * (v / b_vp);return ret;}function ZoomKarte_Jump2Link(x, m, t, l, b) {if (o = document.getElementById("ov_nmt")) o.value=t;if (o = document.getElementById("ov_nzo")) o.value=m;if (o = document.getElementById("ov_nl")) o.value=l;if (o = document.getElementById("ov_nb")) o.value=b;document.location.href = x;}var int_quali = 0;var int_karte = 0;var maps_routen = new Array();function KarteQuali_ChangeKarte(x) {s_karte = document.forms["hiddenfields"].elements["aviable_karte"].value;s_karte = s_karte.substr(0, s_karte.length - 1);a_karte = s_karte.split("|");s_this_quali = x.value;for (temp_karte in a_karte) {s_element = "hidden_" + s_this_quali + "_" + a_karte[temp_karte];o_url = document.forms["hiddenfields"].elements[s_element];var deaktiviert = true;if (o_url) {s_url = o_url.value;if (s_url != "") {deaktiviert=false;}}j = a_karte.length;for (i=0; i<j; i++) {if (temp_o = document.changeviewform.nt[i]) {if (temp_o.value == a_karte[temp_karte]) {temp_o.disabled = deaktiviert;}}}}int_quali = x.value;}function KarteQuali_ChangeQuali(x) {s_quali = document.forms["hiddenfields"].elements["aviable_quali"].value;s_quali = s_quali.substr(0, s_quali.length - 1);a_quali = s_quali.split("|");s_this_karte = x.value;for (temp_quali in a_quali) {s_element = "hidden_" + a_quali[temp_quali] + "_" + s_this_karte;o_url = document.forms["hiddenfields"].elements[s_element];var deaktiviert = true;if (o_url) {s_url = o_url.value;if (s_url != "") {deaktiviert=false;}}j = a_quali.length;for (i=0; i<j; i++) {if (temp_o = document.changeviewform.nq[i]) {if (temp_o.value == a_quali[temp_quali]) {temp_o.disabled = deaktiviert;}}}}int_karte = x.value;}function KarteQuali_Init() {s_quali = document.forms["hiddenfields"].elements["aviable_quali"].value;s_quali = s_quali.substr(0, s_quali.length - 1);a_quali = s_quali.split("|");j = a_quali.length;if (document.changeviewform.nq) for (i=0; i<j; i++) {if (temp_o = document.changeviewform.nq[i]) {if (temp_o.checked) {KarteQuali_ChangeKarte(temp_o);}}}s_karte = document.forms["hiddenfields"].elements["aviable_karte"].value;s_karte = s_karte.substr(0, s_karte.length - 1);a_karte = s_karte.split("|");j = a_karte.length;if (document.changeviewform.nt) for (ite=0; ite<j; ite++) {if (temp_o_2 = document.changeviewform.nt[ite]) {if (temp_o_2.checked) {KarteQuali_ChangeQuali(temp_o_2);}}}}function KarteQuali_Jump2Link() {s_element = "hidden_" + int_quali + "_" + int_karte;s_url = document.forms["hiddenfields"].elements[s_element].value;if (s_url != "") {document.location.href = s_url;}}function InitTour() {InitTooltipEventHndl(true);}function InitTooltipEventHndl(use) {if (o=document.getElementById("ttcmpl")) {tt=o.value.split("-");for(t in tt) {if (p=document.getElementById("tp"+tt[t])) {p.onmouseout=function() {htt2(this.id);};p.onmouseover=function() {stt2(this.id);sft();};if (use) {sttpos["tp"+tt[t]] = new Array();sttpos["tp"+tt[t]]["x"] = p.style.left;sttpos["tp"+tt[t]]["y"] = p.style.top;}}}}}var jg_ihtm, jg_ie, jg_fast, jg_dom, jg_moz;jg_n4 = (document.layers && typeof document.classes != "undefined");function integer_compare(x,y){return (x < y) ? -1 : ((x > y)*1);}function chkDHTM(x, i){x = document.body || null;jg_ie = x && typeof x.insertAdjacentHTML != "undefined";jg_dom = (x && !jg_ie &&typeof x.appendChild != "undefined" &&typeof document.createRange != "undefined" &&typeof (i = document.createRange()).setStartBefore != "undefined" &&typeof i.createContextualFragment != "undefined");jg_ihtm = !jg_ie && !jg_dom && x && typeof x.innerHTML != "undefined";jg_fast = jg_ie && document.all && !window.opera;jg_moz = jg_dom && typeof x.style.MozOpacity != "undefined";}function pntDoc(){this.wnd.document.write(jg_fast? this.htmRpc() : this.htm);this.htm = '';}function pntCnvDom(){var x = document.createRange();x.setStartBefore(this.cnv);x = x.createContextualFragment(jg_fast? this.htmRpc() : this.htm);this.cnv.appendChild(x);this.htm = '';}function pntCnvIe(){this.cnv.insertAdjacentHTML("BeforeEnd", jg_fast? this.htmRpc() : this.htm);this.htm = '';}function pntCnvIhtm(){this.cnv.innerHTML += this.htm;this.htm = '';}function pntCnv(){this.htm = '';}function mkDiv(x, y, w, h){this.htm += '<div style="position:absolute;'+'left:' + x + 'px;'+'top:' + y + 'px;'+'width:' + w + 'px;'+'height:' + h + 'px;'+'clip:rect(0,'+w+'px,'+h+'px,0);'+'background-color:' + this.color +(!jg_moz? ';overflow:hidden' : '')+';"><\/div>';}function mkDivIe(x, y, w, h){this.htm += '%%'+this.color+';'+x+';'+y+';'+w+';'+h+';';}function mkDivPrt(x, y, w, h){this.htm += '<div style="position:absolute;'+'border-left:' + w + 'px solid ' + this.color + ';'+'left:' + x + 'px;'+'top:' + y + 'px;'+'width:0px;'+'height:' + h + 'px;'+'clip:rect(0,'+w+'px,'+h+'px,0);'+'background-color:' + this.color +(!jg_moz? ';overflow:hidden' : '')+';"><\/div>';}function mkLyr(x, y, w, h){this.htm += '<layer '+'left="' + x + '" '+'top="' + y + '" '+'width="' + w + '" '+'height="' + h + '" '+'bgcolor="' + this.color + '"><\/layer>\n';}var regex =  /%%([^;]+);([^;]+);([^;]+);([^;]+);([^;]+);/g;function htmRpc(){return this.htm.replace(regex,'<div style="overflow:hidden;position:absolute;background-color:'+'$1;left:$2;top:$3;width:$4;height:$5"></div>\n');}function htmPrtRpc(){return this.htm.replace(regex,'<div style="overflow:hidden;position:absolute;background-color:'+'$1;left:$2;top:$3;width:$4;height:$5;border-left:$4px solid $1"></div>\n');}function mkLin(x1, y1, x2, y2){if (x1 > x2){var _x2 = x2;var _y2 = y2;x2 = x1;y2 = y1;x1 = _x2;y1 = _y2;}var dx = x2-x1, dy = Math.abs(y2-y1),x = x1, y = y1,yIncr = (y1 > y2)? -1 : 1;if (dx >= dy){var pr = dy<<1,pru = pr - (dx<<1),p = pr-dx,ox = x;while ((dx--) > 0){++x;if (p > 0){this.mkDiv(ox, y, x-ox, 1);y += yIncr;p += pru;ox = x;}else p += pr;}this.mkDiv(ox, y, x2-ox+1, 1);}else {var pr = dx<<1,pru = pr - (dy<<1),p = pr-dy,oy = y;if (y2 <= y1){while ((dy--) > 0){if (p > 0){this.mkDiv(x++, y, 1, oy-y+1);y += yIncr;p += pru;oy = y;}else {y += yIncr;p += pr;}}this.mkDiv(x2, y2, 1, oy-y2+1);}else {while ((dy--) > 0){y += yIncr;if (p > 0){this.mkDiv(x++, oy, 1, y-oy);p += pru;oy = y;}else p += pr;}this.mkDiv(x2, oy, 1, y2-oy+1);}}}function mkLin2D(x1, y1, x2, y2){if (x1 > x2){var _x2 = x2;var _y2 = y2;x2 = x1;y2 = y1;x1 = _x2;y1 = _y2;}var dx = x2-x1, dy = Math.abs(y2-y1),x = x1, y = y1,yIncr = (y1 > y2)? -1 : 1;var s = this.stroke;if (dx >= dy){if (dx > 0 && s-3 > 0){var _s = (s*dx*Math.sqrt(1+dy*dy/(dx*dx))-dx-(s>>1)*dy) / dx;_s = (!(s-4)? Math.ceil(_s) : Math.round(_s)) + 1;}else var _s = s;var ad = Math.ceil(s/2);var pr = dy<<1,pru = pr - (dx<<1),p = pr-dx,ox = x;while ((dx--) > 0){++x;if (p > 0){this.mkDiv(ox, y, x-ox+ad, _s);y += yIncr;p += pru;ox = x;}else p += pr;}this.mkDiv(ox, y, x2-ox+ad+1, _s);}else {if (s-3 > 0){var _s = (s*dy*Math.sqrt(1+dx*dx/(dy*dy))-(s>>1)*dx-dy) / dy;_s = (!(s-4)? Math.ceil(_s) : Math.round(_s)) + 1;}else var _s = s;var ad = Math.round(s/2);var pr = dx<<1,pru = pr - (dy<<1),p = pr-dy,oy = y;if (y2 <= y1){++ad;while ((dy--) > 0){if (p > 0){this.mkDiv(x++, y, _s, oy-y+ad);y += yIncr;p += pru;oy = y;}else {y += yIncr;p += pr;}}this.mkDiv(x2, y2, _s, oy-y2+ad);}else {while ((dy--) > 0){y += yIncr;if (p > 0){this.mkDiv(x++, oy, _s, y-oy+ad);p += pru;oy = y;}else p += pr;}this.mkDiv(x2, oy, _s, y2-oy+ad+1);}}}function mkLinDott(x1, y1, x2, y2){if (x1 > x2){var _x2 = x2;var _y2 = y2;x2 = x1;y2 = y1;x1 = _x2;y1 = _y2;}var dx = x2-x1, dy = Math.abs(y2-y1),x = x1, y = y1,yIncr = (y1 > y2)? -1 : 1,drw = true;if (dx >= dy){var pr = dy<<1,pru = pr - (dx<<1),p = pr-dx;while ((dx--) > 0){if (drw) this.mkDiv(x, y, 1, 1);drw = !drw;if (p > 0){y += yIncr;p += pru;}else p += pr;++x;}if (drw) this.mkDiv(x, y, 1, 1);}else {var pr = dx<<1,pru = pr - (dy<<1),p = pr-dy;while ((dy--) > 0){if (drw) this.mkDiv(x, y, 1, 1);drw = !drw;y += yIncr;if (p > 0){++x;p += pru;}else p += pr;}if (drw) this.mkDiv(x, y, 1, 1);}}function jsGraphics(id, wnd){this.setColor = new Function('arg', 'this.color = arg.toLowerCase();');this.setStroke = function(x){this.stroke = x;if (!(x+1)){this.drawLine = mkLinDott;}else if (x-1 > 0){this.drawLine = mkLin2D;}else {this.drawLine = mkLin;}};this.setPrintable = function(arg){this.printable = arg;if (jg_fast){this.mkDiv = mkDivIe;this.htmRpc = arg? htmPrtRpc : htmRpc;}else this.mkDiv = jg_n4? mkLyr : arg? mkDivPrt : mkDiv;};this.drawPolyline = this.drawPolyLine = function(x, y, s){for (var i=0 ; i<x.length-1 ; i++ )this.drawLine(x[i], y[i], x[i+1], y[i+1]);};this.fillRect = function(x, y, w, h){this.mkDiv(x, y, w, h);};this.fillPolygon = function(array_x, array_y){var i;var y;var miny, maxy;var x1, y1;var x2, y2;var ind1, ind2;var ints;var n = array_x.length;if (!n) return;miny = array_y[0];maxy = array_y[0];for (i = 1; i < n; i++){if (array_y[i] < miny)miny = array_y[i];if (array_y[i] > maxy)maxy = array_y[i];}for (y = miny; y <= maxy; y++){var polyInts = new Array();ints = 0;for (i = 0; i < n; i++){if (!i){ind1 = n-1;ind2 = 0;}else {ind1 = i-1;ind2 = i;}y1 = array_y[ind1];y2 = array_y[ind2];if (y1 < y2){x1 = array_x[ind1];x2 = array_x[ind2];}else if (y1 > y2){y2 = array_y[ind1];y1 = array_y[ind2];x2 = array_x[ind1];x1 = array_x[ind2];}else continue;if ((y >= y1) && (y < y2))polyInts[ints++] = Math.round((y-y1) * (x2-x1) / (y2-y1) + x1);else if ((y == maxy) && (y > y1) && (y <= y2))polyInts[ints++] = Math.round((y-y1) * (x2-x1) / (y2-y1) + x1);}polyInts.sort(integer_compare);for (i = 0; i < ints; i+=2)this.mkDiv(polyInts[i], y, polyInts[i+1]-polyInts[i]+1, 1);}};this.drawImage = function(imgSrc, x, y, w, h, a){this.htm += '<div style="position:absolute; z-index: 120;'+'left:' + x + 'px;'+'top:' + y + 'px;'+'width:' +  w + ';'+'height:' + h + ';">'+'<img src="' + imgSrc + '" width="' + w + '" height="' + h + '"' + (a? (' '+a) : '') + '>'+'<\/div>';};this.redrawDivs = function(x, y, z, a, csscode){if (!csscode) csscode = 'm31';if (z) {x_2 = parseInt(x) + 10;y_2 = parseInt(y) + 7;this.htm += '<div style="cursor:crosshair; position:absolute; left: ' + x + '; top: ' + y + ';" class="cb1a'+csscode+'"' +'onMouseOver=\'javascript:stt("tooltip_' + a + '")\'' +'onMouseOut=\'javascript:htt("tooltip_' + a + '")\'' +'onMouseDown=\'javascript:srp("' + x_2 + '", "' + y_2 + '", "' + a + '", this)\'' +'>' + z + '</div>';}};this.clear = function(){this.htm = "";if (this.cnv) this.cnv.innerHTML = this.defhtm;};this.setStroke(1);this.color = '#000000';this.htm = '';this.wnd = wnd || window;if (!(jg_ie || jg_dom || jg_ihtm)) chkDHTM();if (typeof id != 'string' || !id) this.paint = pntDoc;else {this.cnv = document.all? (this.wnd.document.all[id] || null): document.getElementById? (this.wnd.document.getElementById(id) || null): null;this.defhtm = (this.cnv && this.cnv.innerHTML)? this.cnv.innerHTML : '';this.paint = jg_dom? pntCnvDom : jg_ie? pntCnvIe : jg_ihtm? pntCnvIhtm : pntCnv;}this.setPrintable(true);}