﻿var maxAttInIti = 20;var numAttInIti = 0;var itineraryPoints = new Array(0);var attraction_index_itinerary = new Array();var marks_itinerary = new Array();var PolItinerary = null;DoMarkItineraryInMap = (function (attindex, point) {if (point) {attraction_index_itinerary[itineraryPoints.length] = attindex;itineraryPoints.push(point);AddRowItineraryV2(attindex, attraction_names[attindex]);}});var degreesPerRadian = 180 / Math.PI;function bearing(from, to) {var lat1 = from.latRadians();var lon1 = from.lngRadians();var lat2 = to.latRadians();var lon2 = to.lngRadians();var angle = -Math.atan2(Math.sin(lon1 - lon2) * Math.cos(lat2), Math.cos(lat1) * Math.sin(lat2) - Math.sin(lat1) * Math.cos(lat2) * Math.cos(lon1 - lon2));if (angle < 0) {angle += Math.PI * 2;}angle = angle * degreesPerRadian;angle = angle.toFixed(1);return angle;}function midArrows(points) {var arrowIcon = new GIcon();arrowIcon.iconSize = new GSize(24, 24);arrowIcon.shadowSize = new GSize(1, 1);arrowIcon.iconAnchor = new GPoint(12, 12);for (i = 0; i < marks_itinerary.length; i++) {G_Map.removeOverlay(marks_itinerary[i]);}for (i = 1; i < points.length; i++) {var dir = bearing(points[i - 1], points[i]);var dir = Math.round(dir / 3) * 3;while (dir >= 120) {dir -= 120;}arrowIcon.image = "http://www.google.com/intl/en_ALL/mapfiles/dir_" + dir + ".png";marks_itinerary.push(new GMarker(points[i], arrowIcon));G_Map.addOverlay(marks_itinerary[marks_itinerary.length - 1]);}}var _eventDoItineraryInMap;function AddEventToItinerary() {_eventDoItineraryInMap = GEvent.addListener(G_Map, "click", DoMarkItineraryInMap);}function RemoveEventToItinerary() {GEvent.removeListener(_eventDoItineraryInMap);}function clearItinerary() {itineraryPoints = new Array();attraction_index_itinerary = new Array();var tbl = document.getElementById("tbl_itinerary");while (tbl.tBodies[0].rows.length > 0) {tbl.tBodies[0].deleteRow(0);}PolItinerary = null;isFirst = true;}function AddRowItinerary(attindex, _cellText) {var tbl = document.getElementById("tbl_itinerary");var tblb = tbl.tBodies[0];var row = document.createElement("tr");var cell1 = document.createElement("td");var cell2 = document.createElement("td");var cell3 = document.createElement("td");var cell4 = document.createElement("td");cell1.innerHTML = itineraryPoints.length;cell1.className = "order";cell2.innerHTML = "<img src=\"images/arrow_down.gif\" title=\"Down\"  onclick=\"setIndex(this);setDown()\" width=\"9\" style=\"padding-left:3px;padding-right:4px\" height=\"10\" /><img title=\"Up\" onclick=\"setIndex(this);setUp()\" src=\"images/arrow_up.gif\" width=\"9\" height=\"10\" />";cell3.innerHTML = _cellText;cell4.setAttribute("align", "center");cell4.innerHTML = "<img src=\"images/cross.gif\" width=\"11\" height=\"11\" title=\"Remove\" onclick=\"RemoveRowItinerary(" + attindex + ")\" />";row.appendChild(cell1);row.appendChild(cell2);row.appendChild(cell3);row.appendChild(cell4);tblb.appendChild(row);}function AddRowItineraryV2(attindex, _cellText) {var tbl = document.getElementById("tbl_itinerary");var tblb = tbl.tBodies[0];var row = document.createElement("tr");row.setAttribute("atti", attindex);var cell0 = document.createElement("td");var cell1 = document.createElement("td");var cell2 = document.createElement("td");cell0.innerHTML = String.fromCharCode("A".charCodeAt(0) + tbl.rows.length);cell1.innerHTML = _cellText;cell0.style.width = "15px";cell2.style.width = "15px";cell0.setAttribute("align", "center");cell2.setAttribute("align", "center");cell0.style.cursor = "move";cell1.style.cursor = "move";cell2.style.cursor = "pointer";cell0.className = "nohighlight";cell1.className = "nohighlight";cell2.className = "nohighlight";cell2.innerHTML = "<img src=\"images/cross.gif\" width=\"11\" height=\"11\" title=\"Remove\" onclick=\"RemoveRowItinerary(" + attindex + ")\" />";row.appendChild(cell0);row.appendChild(cell1);row.appendChild(cell2);tblb.appendChild(row);}function RemoveRowItinerary(index) {var i;var indexRow = 0;var band = true;for (i = 0; i < attraction_index_itinerary.length && band; i++) {if (attraction_index_itinerary[i] == index) {indexRow = i;band = false;}}if (band) {return;}attraction_index_itinerary.splice(indexRow, 1);var tbl = document.getElementById("tbl_itinerary");itineraryPoints.splice(indexRow, 1);tbl.tBodies[0].deleteRow(indexRow);showCustomIti = false;doDisplayRouteCustomIti();}function ShowUpdatedItinerary() {if (PolItinerary != null) {G_Map.removeOverlay(PolItinerary);}if (itineraryPoints.length > 0) {UpdatePosition(0);PolItinerary = new GPolyline(itineraryPoints, "#0000FF");G_Map.addOverlay(PolItinerary);midArrows(itineraryPoints);}}function setItinerary() {var _attids = document.getElementById("iti_attids");var i = 0;_attids.value = "";if (itiDisSelected == -1) {for (i = 0; i < itineraryPoints.length; i++) {_attids.value = _attids.value + attraction_ids[attraction_index_itinerary[i]] + ",";}} else {for (i = 0; i < arrItiAttractionID[itiDisSelected].length; i++) {_attids.value = _attids.value + arrItiAttractionID[itiDisSelected][i] + ",";}}_attids.value = _attids.value.substring(0, _attids.value.length - 1);document.getElementById("iti_cliid").value = client_ID;document.getElementById("iti_urlmap").value = window.location.href;document.getElementById("iti_lang").value = Language;document.frm_getiti.submit();return true;}function chkAddIti(checked, index, lon, lat) {if (checked) {if (numAttInIti != maxAttInIti) {document.getElementById("att_add_iti").style.display = "none";document.getElementById("att_remove_iti").style.display = "";DoCrossRequest("call=atratype&type=4");DoMarkItineraryInMap(index, new GLatLng(parseFloat(lat), parseFloat(lon)));numAttInIti++;} else {alert("Cannot add attraction to the itinerary,\nthe route already has the number of attractions allowed (20).");}} else {document.getElementById("att_add_iti").style.display = "";document.getElementById("att_remove_iti").style.display = "none";RemoveRowItinerary(index);numAttInIti--;}}function isChecked(index) {for (i = 0; i < attraction_index_itinerary.length; i++) {if (attraction_index_itinerary[i] == index) {document.getElementById("att_add_iti").style.display = "none";document.getElementById("att_remove_iti").style.display = "";}}}var itiDisSelected = -1;var markItiDisplay = [];var showCustomIti = false;var isFirstIti = true;function doDisplayRouteCustomIti() {if (isFirstIti) {isFirstIti = false;return;}if (itiDisSelected != -1) {itiDisSelected = -1;showCustomIti = false;}emptyIti();show_hideLigthBoxMsg("lBMsg", true);if (showCustomIti) {showCustomIti = false;return;}if (itineraryPoints.length > 1) {markItiDisplay = [];G_Dir.loadFromWaypoints(itineraryPoints);showCustomIti = true;} else {document.getElementById("imgVsIti").style.visibility = "hidden";show_hideLigthBoxMsg("lBMsg", false);}}function doDisplayRouteIti(i) {showCustomIti = false;if (i == itiDisSelected) {itiDisSelected = -1;emptyIti();return;}if (arrItiDisplay[i].length > 1) {show_hideLigthBoxMsg("lBMsg", true);itiDisSelected = i;markItiDisplay = [];G_Dir.loadFromWaypoints(arrItiDisplay[i]);}}function emptyIti() {for (var i = 0; i < markItiDisplay.length; i++) {G_Map.removeOverlay(markItiDisplay[i]);}markItiDisplay = [];G_Dir.clear();show_hideLigthBoxMsg("lBMsg", false);}function onG_DirAddOverlayIti() {var geocode;var route;var rMarker;var rLatLngs;var rIcon;var rLength = G_Dir.getNumRoutes();var rTitle;for (var i = 0; i < rLength; i++) {route = G_Dir.getRoute(i);geocode = route.getStartGeocode();rMarker = G_Dir.getMarker(i);rLatLngs = rMarker.getLatLng();rIcon = rMarker.getIcon();if (itiDisSelected != -1) {rTitle = arrItiAttraction[itiDisSelected][i];} else {rTitle = attraction_names[attraction_index_itinerary[i]];}markItiDisplay[i] = new GMarker(rLatLngs, {icon:rIcon, title:rTitle});G_Map.addOverlay(markItiDisplay[i]);}if (rLength > 0) {i = rLength;rMarker = G_Dir.getMarker(i);rIcon = rMarker.getIcon();geocode = route.getEndGeocode();rLatLngs = rMarker.getLatLng();if (itiDisSelected != -1) {rTitle = arrItiAttraction[itiDisSelected][i];} else {rTitle = attraction_names[attraction_index_itinerary[i]];}markItiDisplay[i] = new GMarker(rLatLngs, {icon:rIcon, title:rTitle});G_Map.addOverlay(markItiDisplay[i]);}show_hideLigthBoxMsg("lBMsg", false);showTooltip(document.getElementById("imgVsIti"), "<b>View/Share Itinerary</b><br>- View Detail Directions.<br>- Print.<br>- Send to a friend.");setTimeout("hideTooltip()", 4000);}function vSharedIti() {if (itiDisSelected == -1) {if (itineraryPoints.length < 2) {alert("Please select points to itinerary.");return false;} else {return setItinerary();}} else {return setItinerary();}}function UpdateOrderCustomIti() {var trs = document.getElementById("tbl_itinerary").getElementsByTagName("tr");for (var i = 0; i < trs.length; i++) {var attindex = trs[i].getAttribute("atti");attraction_index_itinerary[i] = attindex;itineraryPoints[i] = new GLatLng(parseFloat(position[attindex][0]), parseFloat(position[attindex][1]));trs[i].cells[0].innerHTML = String.fromCharCode("A".charCodeAt(0) + i);}showCustomIti = false;doDisplayRouteCustomIti();}