/** * mapper.js 1.01 (21-Dec-2007) * (c) by Christian Effenberger * All Rights Reserved * Source: mapper.netzgesta.de * Distributed under NSL * License permits free of charge * use on non-commercial and * private web sites only **/ // To add the highlighting for a map just // set class="mapper" to an image surrounded // by a block level element (e.g. div,p..). var canvascheck = document.createElement('canvas'); var isIE = window.navigator.systemLanguage?1:0; var isVM = document.namespaces?1:0; var isJG = 0; var isCV = canvascheck.getContext?1:0; var jg = new Array(); if(isVM) { if(document.namespaces['v'] == null) { var stl = document.createStyleSheet(); stl.addRule("v\\:*", "behavior: url(#default#VML); antialias: true;"); document.namespaces.add("v", "urn:schemas-microsoft-com:vml"); } } function getClasses(classes,string){ var temp = ''; for (var j=0;j=1) { mapid = document.getElementsByName(mapname[1]); if(mapid) { if(child.id=='') {child.id = 'map_'+i;} elements.push(child); break; } } } } } return elements; } function fadeCanvas(id,opac) { var obj = document.getElementById(id); if(opac<=100) { obj.style.opacity = opac/100; opac += 10; window.setTimeout("fadeCanvas('"+id+"',"+opac+")",10); } } function setAreaOver(obj,id,b,c,o,n,f,z) { var i, j, x, y, context, p = '', canvas = document.getElementById(id); var v = obj.coords.split(","); if(isVM) { if(obj.shape.toLowerCase()=='rect') { canvas.innerHTML = ''; }else if(obj.shape.toLowerCase()=='circle') { canvas.innerHTML = ''; }else { for(j=2;j'; } }else if(isCV) { if(f<1) {canvas.style.opacity = 0;} context = canvas.getContext("2d"); context.beginPath(); if(obj.shape.toLowerCase()=='rect') { context.rect(0.5+parseInt(v[0]),0.5+parseInt(v[1]),parseInt(v[2]-v[0]),parseInt(v[3]-v[1])); context.closePath(); }else if(obj.shape.toLowerCase()=='circle') { context.arc(0.5+parseInt(v[0]),0.5+parseInt(v[1]),parseInt(v[2]),0,(Math.PI/180)*360,false); }else { context.moveTo(parseInt(v[0]),parseInt(v[1])); for(j=2;j'].join('')); }else {canvas = document.createElement('div');} canvas.id = image.id+'_canvas'; classes = image.className.split(' '); o = getClassValue(classes,"iopacity"); b = getClassRGBColor(classes,"iborder",'0000ff'); c = getClassRGBColor(classes,"icolor",'000000'); n = getClassAttribute(classes,"noborder"); f = getClassAttribute(classes,"nofade"); o = o==0?0.33:o/100; newClasses = getClasses(classes,"mapper"); image.className = newClasses; mname = image.useMap.split("#"); mapid = document.getElementsByName(mname[1]); for(j=0;j