/* * $Name: MQSA_Samples_v2 $ */ //--LMIC Ajax Support var dburl = "/web/mq/sa.nsf/"; function loadMQMap2() { var frm1 = document.forms["form1"]; var frm2 = document.forms["query"]; frm1.mq_city.value = frm2.city.value; frm1.mq_state.value = frm2.stateProvince.value; frm1.mq_zip.value = frm2.postalCode.value; frm1.mq_county.value = frm2.county.value; loadMQMap(frm1); } //-- End LMIC Support //--Moved from form.xsl - script not "seen" when loaded via ajax function DropDown (value) { var valText = value.split("|"); var city = valText[0]; var state = valText[1]; var county = valText[2]; document.query.city.value = city; document.query.stateProvince.value = state; document.query.county.value = county; } //------------- /* * Browser detection code */ function Browser () { var name = navigator.appName; if (name == "Netscape") this.name = "ns"; else if (name == "Microsoft Internet Explorer") this.name = "ie"; this.version = navigator.appVersion; this.vMajor = parseInt(this.version); this.isNS = (this.name =="ns" && this.vMajor >= 4); this.isNS4 = (this.name =="ns" && this.vMajor == 4); this.isNS6 = (this.name =="ns" && this.vMajor == 5); this.isIE = (this.name =="ie" && this.vMajor >= 4); this.isIE4 = (this.version.indexOf ('MSIE 4') >0); this.isIE5 = (this.version.indexOf ('MSIE 5') >0); this.isDOM = (document.createElement && document.appendChild && document.getElementsByTagName) ? true : false; var ua = navigator.userAgent.toLowerCase(); if (ua.indexOf ("win") > - 1) this.platform = "win"; else if (ua.indexOf("mac") > -1) this.platform = "mac"; else this.platform="other"; } var browser = new Browser; /* * Map control code */ function Map (id, level, sessionId) { this.id = id; this.level = level; this.sessionId = sessionId; this.element = document.getElementById (id); this.offset_x = 0; this.offset_y = 0; if (this.element) { var el = this.element; this.url = el.src; if (browser.isDOM && !browser.isIE) { while (el.offsetParent) { this.offset_x += el.offsetLeft; this.offset_y += el.offsetTop; el = el.offsetParent; } } } this.recenter = function (x, y) { if (this.element) { this.element.src = this.url + "&mapbrowse=center&x=" + (x - this.offset_x) + "&y=" + (y - this.offset_y) + "&rand=" + Math.random (); } }; this.zoom = function (level) { if (this.element) { this.element.src = this.url + "&mapbrowse=zoom_" + level + "&rand=" + Math.random (); this.level = level; } }; this.pan = function (dir) { if (this.element) { this.element.src = this.url + "&mapbrowse=pan_" + dir + "&rand=" + Math.random(); } }; this.recenterzoom = function (x, y) { if (this.element) { this.element.src = this.url + "&mapbrowse=center_zoom&x=" + (x - this.offset_x) + "&y=" + (y - this.offset_y) + "&rand=" + Math.random (); if (map.level < 10) { ++this.level; showZoomState (); showVendor (); } } }; this.identify = function (x, y) { url = window.location.protocol + "//" + window.location.host + window.location.pathname + '?template=identify&transaction=locMap&identifyIcon=' + this.sessionId + '&x=' + (x - this.offset_x) + '&y=' + (y - this.offset_y); var width = 255; var height = 255; infoWindow = window.open (url, Math.floor (Math.random () * 100000), "height=" + height + ",width=" + width + ",toolbar=no,scrollbars=no,resize=yes"); infoWindow.moveTo ((screen.width - width) / 2, (screen.height - height) / 2); }; } var map; function mqaMapClick (e) { var x, y; if (browser.isIE) { if (!(event.button == 1 || (browser.platform == "mac" && event.button == 0))) return; x = event.offsetX; y = event.offsetY; } else if (browser.isDOM) { if (e.which != 1) return; x = e.pageX; y = e.pageY; } if (document.mapClick.clickAction[0].checked) { // Zoom mqaMapZoomIn (); } else if (document.mapClick.clickAction[1].checked) { // Recenter map.recenter (x, y); } else if (document.mapClick.clickAction[2].checked) { // Identify Icon if (document.mapClick.clickAction[2].value == 'identify') { map.identify (x, y); } else { map.recenterzoom (x, y); } } } function mqaMapInit (id, level, sessionId) { map = new Map (id, level, sessionId); if (map.element) { if (browser.isIE) { map.element.onmouseup = mqaMapClick; } else if (browser.isDOM) { map.element.addEventListener ("mouseup", mqaMapClick, true); } showZoomState (); showVendor (); } } function mqaMapZoom (level) { if (! map) { alert ('you must call mqaMapInit(mapurl) before you can call this function'); } else { map.zoom (level); showZoomState (); showVendor (); } } function mqaMapZoomIn (name) { if (map.level < 10) mqaMapZoom (map.level + 1); } function mqaMapZoomOut (name) { if (map.level > 1) mqaMapZoom (map.level - 1); } function showZoomState () { for (var i = 1; i <= 10; ++i) { var image = i == map.level ? 'zoom_on.gif' : 'zoom.gif'; eval ("document.zoom" + i + ".src='" + dburl + image + "'"); } } function showVendor () { if (! document.vendor) return; if ((map.level <= 10) && (map.level >= 6)) { var vendImage = 'navteq.gif'; } else { var vendImage = 't.gif'; } eval ("document.vendor.src='" + dburl + vendImage + "'"); } function mqaMapPan (dir) { if (! map) { alert ('you must call mqaMapInit(mapurl) before you can call this function'); } else { map.pan (dir); } }