. */ var dom = (document.getElementById) ? true : false; var ns5 = ((navigator.userAgent.indexOf("Gecko")>-1) && dom) ? true: false; var ie5 = ((navigator.userAgent.indexOf("MSIE")>-1) && dom) ? true : false; var ns4 = (document.layers && !dom) ? true : false; var ie4 = (document.all && !dom) ? true : false; var nodyn = (!ns5 && !ns4 && !ie4 && !ie5) ? true : false; // resize fix for ns4 var origWidth, origHeight; if (ns4) { origWidth = window.innerWidth; origHeight = window.innerHeight; window.onresize = function() { if (window.innerWidth != origWidth || window.innerHeight != origHeight) history.go(0); } } // avoid error of passing event object in older browsers if (nodyn) { event = "nope" } /////////////////////// CUSTOMIZE HERE //////////////////// // settings for tooltip // Do you want tip to move when mouse moves over link? var tipFollowMouse= false; // Be sure to set tipWidth wide enough for widest image var tipWidth= 204; var offX= 20; // how far from mouse to show tip var offY= 12; var tipFontFamily= "Verdana, arial, helvetica, sans-serif"; var tipFontSize= "8pt"; // set default text color and background color for tooltip here // individual tooltips can have their own (set in messages arrays) // but don't have to var tipFontColor= "#000000"; var tipBgColor= "#DDECFF"; var tipBorderColor= "#000080"; var tipBorderWidth= 3; var tipBorderStyle= "ridge"; var tipPadding= 4; // tooltip content goes here (image, description, optional bgColor, optional textcolor) var messages = new Array(); // multi-dimensional arrays containing: // image and text for tooltip // optional: bgColor and color to be sent to tooltip messages[0] = new Array('../../maps/individuals/icons/court.jpg','Court House',"#FFFFFF"); messages[1] = new Array('../../maps/individuals/icons/marche_house.jpg','Marče house',"#FFFFFF"); messages[2] = new Array('../../maps/individuals/icons/colombani.jpg','Colombani house',"#FFFFFF"); messages[3] = new Array('../../maps/individuals/icons/kavana.jpg','Gradska Kavana',"#FFFFFF"); messages[4] = new Array('../../maps/individuals/icons/vucemilovic_house.jpg','Vučemilović and Batošić house',"#FFFFFF"); messages[5] = new Array('../../maps/individuals/icons/jerkovic_house.jpg','Jerković house',"#FFFFFF"); messages[6] = new Array('../../maps/individuals/icons/county.jpg','County House',"#FFFFFF"); messages[7] = new Array('../../maps/individuals/icons/ferrari_house.jpg','Ferrari house',"#FFFFFF"); messages[8] = new Array('../../maps/individuals/icons/vrdoljak_house2.jpg','Vrdoljak house',"#FFFFFF"); messages[9] = new Array('../../maps/individuals/icons/coloman_jerkovic.jpg','Koloman and Delić houses',"#FFFFFF"); messages[10] = new Array('../../maps/individuals/icons/nikolic.jpg','Nikolić house',"#FFFFFF"); messages[11] = new Array('../../maps/individuals/icons/ligutica_house.jpg','Ligutić house',"#FFFFFF"); messages[12] = new Array('../../maps/individuals/icons/benzon.jpg','Benzon house',"#FFFFFF"); messages[13] = new Array('../../maps/individuals/icons/tadic_vukovic.jpg','Tadić & Vuković house',"#FFFFFF"); messages[14] = new Array('../../maps/individuals/icons/gospind.jpg','Gospin Dolac',"#FFFFFF"); messages[15] = new Array('../../maps/individuals/icons/topana.jpg','Topana',"#FFFFFF"); messages[16] = new Array('../../maps/individuals/icons/bilusine.jpg','Bilušine',"#FFFFFF"); messages[17] = new Array('../../maps/individuals/icons/skalini.jpg','Skalini',"#FFFFFF"); messages[18] = new Array('../../maps/individuals/icons/pazar_tin.jpg','Tin Ujević statue',"#FFFFFF"); messages[19] = new Array('../../maps/individuals/icons/pazar_vucemilovic.jpg','Vučemilović house',"#FFFFFF"); messages[20] = new Array('../../maps/individuals/icons/pazar_centar.jpg','Stjepan Radić Bulevard',"#FFFFFF"); messages[21] = new Array('../../maps/individuals/icons/IMA.jpg','IMA',"#FFFFFF"); messages[22] = new Array('../../maps/individuals/icons/domjan.jpg','Domjan house',"#FFFFFF"); messages[23] = new Array('../../maps/individuals/icons/church.jpg','St. Francis Church',"#FFFFFF"); messages[24] = new Array('../../maps/individuals/icons/samostan.jpg','Monastery',"#FFFFFF"); messages[25] = new Array('../../maps/individuals/icons/gimnazija.jpg','Old High School',"#FFFFFF"); messages[26] = new Array('../../maps/individuals/icons/oskola.jpg','Primary School',"#FFFFFF"); messages[27] = new Array('../../maps/individuals/icons/djombusa.jpg','Djombuša Cemetery',"#FFFFFF"); messages[28] = new Array('../../maps/individuals/icons/nzgrade.jpg','War veterans buildings',"#FFFFFF"); messages[29] = new Array('../../maps/individuals/icons/nskola.jpg','New High School',"#FFFFFF"); messages[30] = new Array('../../maps/individuals/icons/posta.jpg','Post Office',"#FFFFFF"); messages[31] = new Array('../../maps/individuals/icons/muzej.jpg','Museum',"#FFFFFF"); messages[32] = new Array('../../maps/individuals/icons/duvanska.jpg','Old Tobacco station',"#FFFFFF"); messages[33] = new Array('../../maps/individuals/icons/trimot.jpg','Trimot factory', "#FFFFFF"); messages[34] = new Array('../../maps/individuals/icons/old_baby_ward.jpg','Old Baby Ward',"#FFFFFF"); messages[35] = new Array('../../maps/individuals/icons/whiteh.jpg','White House & Ciciljani house',"#FFFFFF"); messages[36] = new Array('../../maps/individuals/icons/Sportska dvorana.jpg','Sport arena',"#FFFFFF"); messages[37] = new Array('../../maps/individuals/icons/hotel-kino.jpg','Cinema nad Hotel Imota',"#FFFFFF"); messages[38] = new Array('../../maps/individuals/icons/Macove kuce.jpg','Mazzi houses',"#FFFFFF"); messages[39] = new Array('../../maps/individuals/icons/malic.jpg','Malić house',"#FFFFFF"); messages[40] = new Array('../../maps/individuals/icons/berta_percilic_house.jpg','Berta Pelicarić house',"#FFFFFF"); messages[41] = new Array('../../maps/individuals/icons/djacki_dom.jpg','Old boarding school',"#FFFFFF"); messages[42] = new Array('../../maps/individuals/icons/dunda.jpg','Old Dunda hotel',"#FFFFFF"); messages[43] = new Array('../../maps/individuals/icons/gospa_andjela.jpg','Lady of the Angels church',"#FFFFFF"); messages[44] = new Array('../../maps/individuals/icons/igralista-samatorija.jpg','School sport facilities',"#FFFFFF"); messages[45] = new Array('../../maps/individuals/icons/kostela.jpg','Kostela tree on Djirada',"#FFFFFF"); messages[46] = new Array('../../maps/individuals/icons/rukometasice tekma.jpg','Partizan',"#FFFFFF"); messages[47] = new Array('../../maps/individuals/icons/spomenikg.jpg','Croatian independence war monument',"#FFFFFF"); messages[48] = new Array('../../maps/individuals/icons/topana ulazg.jpg','Entrance to Topana',"#FFFFFF"); messages[49] = new Array('../../maps/individuals/icons/volat.jpg','Volat',"#FFFFFF"); messages[50] = new Array('../../maps/individuals/icons/colombani_old_house.jpg','Old Marče house',"#FFFFFF"); messages[51] = new Array('../../maps/individuals/icons/rajic.jpg','Rajić house',"#FFFFFF"); messages[52] = new Array('../../maps/individuals/icons/old_hospital_station.jpg','Old hospital station',"#FFFFFF"); messages[53] = new Array('../../maps/individuals/icons/pavicic.jpg','Prof Pavičić house',"#FFFFFF"); messages[54] = new Array('../../maps/individuals/icons/sa_zvonika_03.jpg','New condominium',"#FFFFFF"); //////////////////// END OF CUSTOMIZATION AREA /////////////////// // preload images that are to appear in tooltip // from arrays above if (document.images) { var theImgs = new Array(); for (var i=0; i'; var endStr = ''; //////////////////////////////////////////////////////////// // initTip - initialization for tooltip. // Global variables for tooltip. // Set styles for all but ns4. // Set up mousemove capture if tipFollowMouse set true. //////////////////////////////////////////////////////////// var tooltip, tipcss; var tooltipm, tipcssm; function initTip() { if (nodyn) return; tooltip = (ns4)? document.tipDiv.document: (ie4)? document.all['tipDiv']: (ie5||ns5)? document.getElementById('tipDiv'): null; tipcss = (ns4)? document.tipDiv: tooltip.style; tooltipm = (ns4)? document.tipDivm.document: (ie4)? document.all['tipDivm']: (ie5||ns5)? document.getElementById('tipDivm'): null; tipcssm = (ns4)? document.tipDivm: tooltipm.style; if (ie4||ie5||ns5) { // ns4 would lose all this on rewrites tipcss.width = tipWidth+"px"; tipcss.fontFamily = tipFontFamily; tipcss.fontSize = tipFontSize; tipcss.color = tipFontColor; tipcss.backgroundColor = tipBgColor; tipcss.borderColor = tipBorderColor; tipcss.borderWidth = tipBorderWidth+"px"; tipcss.padding = tipPadding+"px"; tipcss.borderStyle = tipBorderStyle; } if (ie4||ie5||ns5) { // ns4 would lose all this on rewrites tipcssm.width = 10+"px"; tipcssm.height = 10+"px"; tipcssm.backgroundColor = "red"; tipcssm.borderWidth = 0+"px"; tipcssm.padding = 0+"px"; } if (tooltip&&tipFollowMouse) { if (ns4) document.captureEvents(Event.MOUSEMOVE); document.onmousemove = trackMouse; } //doTooltip(event,0, messages); Try setting the lupe on the Court House } var inDropDown = 0; // make sure there is no drop thru from DropDown to image ///////////////////////////////////////////////// // doTooltip function // Assembles content for tooltip and writes // it to tipDiv ///////////////////////////////////////////////// var t1,t2; // for setTimeouts var tipOn = false; // check if over tooltip link function doTooltip2(evt,num,imagesStr, coors ) { var x, y; var i; var callparams = coors.split(","); // iterate over params and find average of x and y coords x = 0.0; for ( i = 0; i < callparams.length; i=i+2 ) { x += Math.floor(callparams[i]); } x = x/callparams.length*2.0; y = 0.0; for ( i = 1; i <= callparams.length; i=i+2 ) { y += Math.floor(callparams[i]); } y = y/callparams.length*2.0; moveLupe( Math.floor(x), Math.floor(y) ); inDropDown = -2; doTooltipOrig(evt,num,imagesStr, (Math.floor(x)-getClipleft()+largeleft), (Math.floor(y)-getCliptop()+largetop) ); } function doTooltip(evt,num,imagesStr) { inDropDown++; if( inDropDown > 0 ) doTooltipOrig(evt,num,imagesStr, -1, -1); } function doTooltipOrigOld(evt,num,imagesStr, x, y) { if (!tooltip) initTip(); if (!tooltip) return; if (t1) clearTimeout(t1); if (t2) clearTimeout(t2); tipOn = true; // set colors if included in imagesStr array if (imagesStr[num][2]) var curBgColor = imagesStr[num][2]; else curBgColor = tipBgColor; if (imagesStr[num][3]) var curFontColor = imagesStr[num][3]; else curFontColor = tipFontColor; if (ns4) { var tip = '
'+ startStr + imagesStr[num][0] + midStr + '' + imagesStr[num][1] + '' + endStr + '
'; tooltip.write(tip); tooltip.close(); } else if (ie4||ie5||ns5) { var tip = startStr + imagesStr[num][0] + midStr + '' + imagesStr[num][1] + '' + endStr; tipcss.backgroundColor = curBgColor; tooltip.innerHTML = tip; } if (!tipFollowMouse) positionTip(evt, x, y); else t1=setTimeout("tipcss.visibility='visible'",100); } function doTooltipOrig(evt,num,imagesStr, x, y) { if (!tooltip) initTip(); if (!tooltip) return; if( num == 5555 ) { var tip = "No street images."; if (ns4) { tooltip.write(tip); tooltip.close(); } else { tooltip.innerHTML = tip; } } else { if (t1) clearTimeout(t1); if (t2) clearTimeout(t2); tipOn = true; // set colors if included in imagesStr array if (imagesStr[num][2]) var curBgColor = imagesStr[num][2]; else curBgColor = tipBgColor; if (imagesStr[num][3]) var curFontColor = imagesStr[num][3]; else curFontColor = tipFontColor; if (ns4) { var tip = '
'+ startStr + imagesStr[num][0] + midStr + '' + imagesStr[num][1] + '' + endStr + '
'; tooltip.write(tip); tooltip.close(); } else if (ie4||ie5||ns5) { var tip = startStr + imagesStr[num][0] + midStr + '' + imagesStr[num][1] + '' + endStr; tipcss.backgroundColor = curBgColor; tooltip.innerHTML = tip; } } if (!tipFollowMouse) positionTip(evt, x, y); else t1=setTimeout("tipcss.visibility='visible'",100); } var mouseX, mouseY; function trackMouse(evt, x, y) { mouseX = (ns4||ns5)? evt.pageX: window.event.clientX + document.body.scrollLeft; mouseY = (ns4||ns5)? evt.pageY: window.event.clientY + document.body.scrollTop; if (tipOn) positionTip(evt, -1, -1); } ///////////////////////////////////////////////////////////// // positionTip function // If tipFollowMouse set false, so trackMouse function // not being used, get position of mouseover event. // Calculations use mouseover event position, // offset amounts and tooltip width to position // tooltip within window. ///////////////////////////////////////////////////////////// function positionTip(evt, x, y) { if ( evt) { if (!tipFollowMouse ) { mouseX = (ns4||ns5)? evt.pageX: window.event.clientX + document.body.scrollLeft; mouseY = (ns4||ns5)? evt.pageY: window.event.clientY + document.body.scrollTop; } // tooltip width and height var tpWd = (ns4)? tooltip.width: (ie4||ie5)? tooltip.clientWidth: tooltip.offsetWidth; var tpHt = (ns4)? tooltip.height: (ie4||ie5)? tooltip.clientHeight: tooltip.offsetHeight; // document area in view (subtract scrollbar width for ns) var winWd = (ns4||ns5)? window.innerWidth-20+window.pageXOffset: document.body.clientWidth+document.body.scrollLeft; var winHt = (ns4||ns5)? window.innerHeight-20+window.pageYOffset: document.body.clientHeight+document.body.scrollTop; // check mouse position against tip and window dimensions // and position the tooltip if ((mouseX+offX+tpWd)>winWd) tipcss.left = (ns4)? mouseX-(tpWd+offX): mouseX-(tpWd+offX)+"px"; else tipcss.left = (ns4)? mouseX+offX: mouseX+offX+"px"; if ((mouseY+offY+tpHt)>winHt) tipcss.top = (ns4)? winHt-(tpHt+offY): winHt-(tpHt+offY)+"px"; else tipcss.top = (ns4)? mouseY+offY: mouseY+offY+"px"; } if (!tipFollowMouse) t1=setTimeout("tipcss.visibility='visible'",100); tipcss.left = 25; tipcss.top = 330; if (!tipFollowMouse) t1=setTimeout("tipcssm.visibility='visible'",100); if( x > 0 ) { tipcssm.left = x; tipcssm.top = y; } else { setTimeout("tipcssm.visibility='hidden'",100); } } function hideTip() { if (!tooltip) return; t2=setTimeout("tipcss.visibility='hidden'",100); t2=setTimeout("tipcssm.visibility='hidden'",100); tipOn = false; } //-->

 

Legend

The upper map was made in 2004.
The lower map was made in 1835.



Directions

The upper image has hot
spots that show icons at the left.
Both images could be dragged.