--- ECHO_content/js/hl_lib.js 2004/12/10 19:33:09 1.5 +++ ECHO_content/js/hl_lib.js 2005/06/09 16:35:51 1.7 @@ -22,17 +22,18 @@ var hlAreas = new Object(); var hlTrafos = new Object(); // Area class -function Area(id, target_id, a_x, a_y, a_w, a_h, type) { +function Area(id, target_id, a_x, a_y, a_w, a_h, type, perm) { this.id = id; this.target_id = target_id; this.rect = new Rectangle(a_x, a_y, a_w, a_h); this.type = type; + this.permanent = (perm.toLowerCase() == 'true'); this.pxarea = 0; return this; } -function addArea(id, target_id, a_x, a_y, a_w, a_h, type) { - hlAreas[id] = new Area(id, target_id, a_x, a_y, a_w, a_h, type); +function addArea(id, target_id, a_x, a_y, a_w, a_h, type, perm) { + hlAreas[id] = new Area(id, target_id, a_x, a_y, a_w, a_h, type, perm); } function parseTrafo(target) { @@ -69,6 +70,16 @@ function placeAreas() { // N4: grow layer for border img.resizeBy(2,2); } + } else if (area.type == "text") { + var txt = getElement("t."+area.id); + if (img.layers) { + // for N4 we size a transparent image as the area + var li = img.document.images[0]; + li.width = rect.width; + li.height = rect.height; + } + moveElement(img, rect); + moveElement(txt, rect); } else { if (img.layers) { // for N4 we size a transparent image as the area @@ -78,6 +89,7 @@ function placeAreas() { } moveElement(img, rect); } + highlightPair(area.id, area.permanent); } } // add z-index (largest value for smallest area) @@ -110,6 +122,16 @@ function highlightPair(id, highlight) { } else if (img.layers) { img.bgColor = "#0000ff"; } + } else if (area.type == "text") { + if (img.style) { + img.style.background = "url(area_img)"; + } else if (img.layers) { + img.background.src = "area_img"; + } + var txt = getElement("t."+id); + if (txt.style) { + txt.style.visibility = "visible"; + } } else if (area.type == "area") { if (img.style) { img.style.background = "url(area_img)"; @@ -118,22 +140,35 @@ function highlightPair(id, highlight) { } } } else { + // unhighlight if (link.style) { link.style.backgroundColor = ""; } else if (link.layers) { link.bgColor = null; } - if (area.type == "arrow") { - if (img.style) { - img.style.borderStyle = "none"; - } else if (img.layers) { - img.bgColor = null; - } - } else if (area.type == "area") { - if (img.style) { - img.style.background = "url(trans_img)"; - } else if (img.layers) { - img.background.src = null; + if (! area.permanent) { + if (area.type == "arrow") { + if (img.style) { + img.style.borderStyle = "none"; + } else if (img.layers) { + img.bgColor = null; + } + } else if (area.type == "text") { + if (img.style) { + img.style.background = "url(trans_img)"; + } else if (img.layers) { + img.background.src = null; + } + var txt = getElement("t."+id); + if (txt.style) { + txt.style.visibility = "hidden"; + } + } else if (area.type == "area") { + if (img.style) { + img.style.background = "url(trans_img)"; + } else if (img.layers) { + img.background.src = null; + } } } }