MENU desplegable + Frame

saalomos
01 de Mayo del 2004
Tengo un marco general llamado index, compuesto por dos partes: Menu.html donde tengo archivo menu.js y otro llamado mainFrame.html donde quiero que salagan cada opcion elejida en el menu. Bueno el problema es que en cada llamada se abre en la parte del Menu.html portanto pierdo el menu.....
Si alguien puede ayudar Desde ya Muchas Gracias y Que Dios les Bendiga.

Aqui esta el codigo el menu es muy BUENO

var JDWMinNS4 = (navigator.appName.indexOf("Netscape") >= 0 && parseFloat(navigator.appVersion) >= 4) ? 1 : 0;
var JDWMinNS6 = (navigator.appName.indexOf("Netscape") >= 0 && parseFloat(navigator.appVersion) == 6) ? 1 : 0;
var JDWMinIE4 = (document.all) ? 1 : 0;
var JDWMinIE5 = (JDWMinIE4 && navigator.appVersion.indexOf("5.") >= 0) ? 1 : 0;
var JDWMinIE55 = (JDWMinIE5 && navigator.appVersion.indexOf("5.5") >= 0) ? 1 : 0;
function hideLayer(layer) {
if (JDWMinNS4) layer.visibility = "hide";
if (JDWMinIE4) layer.style.visibility = "hidden";
}
function showLayer(layer) {
if (JDWMinNS4) layer.visibility = "show";
if (JDWMinIE4) layer.style.visibility = "visible";
}
function inheritLayer(layer) {
if (JDWMinNS4) layer.visibility = "inherit";
if (JDWMinIE4) layer.style.visibility = "inherit";
}
function getVisibility(layer) {
if (JDWMinNS4) {
if (layer.visibility == "show")
return "visible";
if (layer.visibility == "hide")
return "hidden";
return layer.visibility;
}
if (JDWMinIE4)
return layer.style.visibility;
return "";
}
function moveLayerTo(layer, x, y) {
if (JDWMinNS4)
layer.moveTo(x, y);
if (JDWMinIE4) {
layer.style.left = x;
layer.style.top = y;
}
}
function moveLayerBy(layer, dx, dy) {
if (JDWMinNS4)
layer.moveBy(dx, dy);
if (JDWMinIE4) {
layer.style.pixelLeft += dx;
layer.style.pixelTop += dy;
}
}
function getLeft(layer) {
if (JDWMinNS4)
return layer.left;
if (JDWMinIE4)
return layer.style.pixelLeft;
return -1;
}
function getTop(layer) {
if (JDWMinNS4)
return layer.top;
if (JDWMinIE4)
return layer.style.pixelTop;
return -1;
}
function getRight(layer) {
if (JDWMinNS4)
return layer.left + getWidth(layer);
if (JDWMinIE4)
return layer.style.pixelLeft + getWidth(layer);
return -1;
}
function getBottom(layer) {
if (JDWMinNS4)
return layer.top + getHeight(layer);
if (JDWMinIE4)
return layer.style.pixelTop + getHeight(layer);
return -1;
}
function getPageLeft(layer) {
var x;
if (JDWMinNS4)
return layer.pageX;
if (JDWMinIE4) {
x = 0;
while (layer.offsetParent != null) {
x += layer.offsetLeft;
layer = layer.offsetParent;
}
x += layer.offsetLeft;
return x;
}
return -1;
}
function getPageTop(layer) {
var y;
if (JDWMinNS4)
return layer.pageY;
if (JDWMinIE4) {
y = 0;
while (layer.offsetParent != null) {
y += layer.offsetTop;
layer = layer.offsetParent;
}
y += layer.offsetTop;
return y;
}
return -1;
}
function getWidth(layer) {
if (JDWMinNS4) {
if (layer.document.width)
return layer.document.width;
else
return layer.clip.right - layer.clip.left;
}
if (JDWMinIE4) {
if (layer.style.pixelWidth)
return layer.style.pixelWidth;
else
return layer.clientWidth;
}
return -1;
}
function getHeight(layer) {
if (JDWMinNS4) {
if (layer.document.height)
return layer.document.height;
else
return layer.clip.bottom - layer.clip.top;
}
if (JDWMinIE4) {
if (layer.style.pixelHeight)
return layer.style.pixelHeight;
else
return layer.clientHeight;
}
return -1;
}
function getzIndex(layer) {
if (JDWMinNS4)
return layer.zIndex;
if (JDWMinIE4)
return layer.style.zIndex;
return -1;
}
function setzIndex(layer, z) {
if (JDWMinNS4)
layer.zIndex = z;
if (JDWMinIE4)
layer.style.zIndex = z;
}
function clipLayer(layer, clipleft, cliptop, clipright, clipbottom) {
if (JDWMinNS4) {
layer.clip.left = clipleft;
layer.clip.top = cliptop;
layer.clip.right = clipright;
layer.clip.bottom = clipbottom;
}
if (JDWMinIE4)
layer.style.clip = 'rect(' + cliptop + ' ' + clipright + ' ' + clipbottom + ' ' + clipleft +')';
}
function getClipLeft(layer) {
if (JDWMinNS4)
return layer.clip.left;
if (JDWMinIE4) {
var str = layer.style.clip;
if (!str)
return 0;
var clip = getIEClipValues(layer.style.clip);
return(clip[3]);
}
return -1;
}
function getClipTop(layer) {
if (JDWMinNS4)
return layer.clip.top;
if (JDWMinIE4) {
var str = layer.style.clip;
if (!str)
return 0;
var clip = getIEClipValues(layer.style.clip);
return clip[0];
}
return -1;
}
function getClipRight(layer) {
if (JDWMinNS4)
return layer.clip.right;
if (JDWMinIE4) {
var str = layer.style.clip;
if (!str)
return layer.style.pixelWidth;
var clip = getIEClipValues(layer.style.clip);
return clip[1];
}
return -1;
}
function getClipBottom(layer) {
if (JDWMinNS4)
return layer.clip.bottom;
if (JDWMinIE4) {
var str = layer.style.clip;
if (!str)
return layer.style.pixelHeight;
var clip = getIEClipValues(layer.style.clip);
return clip[2];
}
return -1;
}
function getClipWidth(layer) {
if (JDWMinNS4)
return layer.clip.width;
if (JDWMinIE4) {
var str = layer.style.clip;
if (!str)
return layer.style.pixelWidth;
var clip = getIEClipValues(layer.style.clip);
return clip[1] - clip[3];
}
return -1;
}
function getClipHeight(layer) {
if (JDWMinNS4)
return layer.clip.height;
if (JDWMinIE4) {
var str = layer.style.clip;
if (!str)
return layer.style.pixelHeight;
var clip = getIEClipValues(layer.style.clip);
return clip[2] - clip[0];
}
return -1;
}
function getIEClipValues(str) {
var clip = new Array();
var i;
i = str.indexOf("(");
clip[0] = parseInt(str.substring(i + 1, str.length), 10);
i = str.indexOf(" ", i + 1);
clip[1] = parseInt(str.substring(i + 1, str.length), 10);
i = str.indexOf(" ", i + 1);
clip[2] = parseInt(str.substring(i + 1, str.length), 10);
i = str.indexOf(" ", i + 1);
clip[3] = parseInt(str.substring(i + 1, str.length), 10);
return clip;
}
function scrollLayerTo(layer, x, y, bound) {
var dx = getClipLeft(layer) - x;
var dy = getClipTop(layer) - y;
scrollLayerBy(layer, -dx, -dy, bound);
}
function scrollLayerBy(layer, dx, dy, bound) {
var cl = getClipLeft(layer);
var ct = getClipTop(layer);
var cr = getClipRight(layer);
var cb = getClipBottom(layer);
if (bound) {
if (cl + dx < 0)
dx = -cl;
else if (cr + dx > getWidth(layer))
dx = getWidth(layer) - cr;
if (ct + dy < 0)
dy = -ct;
else if (cb + dy > getHeight(layer))
dy = getHeight(layer) - cb;
}
clipLayer(layer, cl + dx, ct + dy, cr + dx, cb + dy);
moveLayerBy(layer, -dx, -dy);
}
function setBgColor(layer, color) {
if (JDWMinNS4)
layer.bgColor = color;
if (JDWMinIE4)
layer.style.backgroundColor = color;
}
function setBgImage(layer, src) {
if (JDWMinNS4)
layer.background.src = src;
if (JDWMinIE4)
layer.style.backgroundImage = "url(" + src + ")";
}
function getLayer(name) {
if (JDWMinNS4)
return findLayer(name, document);
if (JDWMinIE4)
return eval('document.all.' + name);
return null;
}
function findLayer(name, doc) {
var i, layer;
for (i = 0; i < doc.layers.length; i++) {
layer = doc.layers[i];
if (layer.name == name)
return layer;
if (layer.document.layers.length > 0)
if ((layer = findLayer(name, layer.document)) != null)
return layer;
}
return null;
}
function getImage(name) {
if (JDWMinNS4) {
return findImage(name, document);
}
if (JDWMinIE4)
return eval('document.all.' + name);
return null;
}
function findImage(name, doc) {
var i, img;
for (i = 0; i < doc.images.length; i++)
if (doc.images[i].name == name)
return doc.images[i];
for (i = 0; i < doc.layers.length; i++)
if ((img = findImage(name, doc.layers[i].document)) != null) {
img.container = doc.layers[i];
return img;
}
return null;
}
function getImagePageLeft(img) {
var x, obj;
if (JDWMinNS4) {
if (img.container != null)
return img.container.pageX + img.x;
else
return img.x;
}
if (JDWMinIE4) {
x = 0;
obj = img;
while (obj.offsetParent != null) {
x += obj.offsetLeft;
obj = obj.offsetParent;
}
x += obj.offsetLeft;
return x;
}
return -1;
}
function getImagePageTop(img) {
var y, obj;
if (JDWMinNS4) {
if (img.container != null)
return img.container.pageY + img.y;
else
return img.y;
}
if (JDWMinIE4) {
y = 0;
obj = img;
while (obj.offsetParent != null) {
y += obj.offsetTop;
obj = obj.offsetParent;
}
y += obj.offsetTop;
return y;
}
return -1;
}
function getWindowWidth() {
if (JDWMinNS4)
return window.innerWidth;
if (JDWMinIE4)
return document.body.clientWidth;
return -1;
}
function getWindowHeight() {
if (JDWMinNS4)
return window.innerHeight;
if (JDWMinIE4)
return document.body.clientHeight;
return -1;
}
function getPageWidth() {
if (JDWMinNS4)
return document.width;
if (JDWMinIE4)
return document.body.scrollWidth;
return -1;
}
function getPageHeight() {
if (JDWMinNS4)
return document.height;
if (JDWMinIE4)
return document.body.scrollHeight;
return -1;
}
function getPageScrollX() {
if (JDWMinNS4)
return window.pageXOffset;
if (JDWMinIE4)
return document.body.scrollLeft;
return -1;
}
function getPageScrollY() {
if (JDWMinNS4)
return window.pageYOffset;
if (JDWMinIE4)
return document.body.scrollTop;
return -1;
}
// dhtml Funcs End.
// bug with IE 5.5.
var JDWITEMs = new Array(); // buscar barras de navegación.
/*ITEM constructor.*/
function ITEM(text, link) {
this.text = text;
this.link = link;
}
/*ECSmenu constructor.*/
function ECSmenu(hdrWidth, menuWidth) {
this.hdrWidth = hdrWidth;
this.width = menuWidth;
this.height = 0;
this.items = new Array();
// Define methods.
this.addItem = ECSmenuaddItem;
}
// ECSmenu métodos.
function ECSmenuaddItem(item) {
this.items[this.items.length] = item;
}
// JDWITEM constructor.
function JDWITEM(width) {
this.x = 0;
this.y = 0;
this.width = width;
this.height = 0;
this.align = "left";
this.minWidth = 0;
this.inverted = false;
this.menus = new Array();
this.created = false;
// tamaños predeterminados.
this.border = 2;
this.padding = 4;
this.separator = 1;
// colores predeterminados.
this.borderColor = "#000000";
this.hdrFgColor = "#000000";
this.hdrBgColor = "#999999";
this.hdrHiFgColor = "#ffffff";
this.hdrHiBgColor = "#666666";
this.itmFgColor = "#000000";
this.itmBgColor = "#cccccc";
this.itmHiFgColor = "#ffffff";
this.itmHiBgColor = "#000080";
// fuentes predeterminadas.
this.hdrFontFamily = "Arial,Helvetica,sans-serif";
this.hdrFontStyle = "plain";
this.hdrFontWeight = "bold";
this.hdrFontSize = "10pt";
this.itmFontFamily = "MS Sans Serif,Arial,Helvetica,sans-serif";
this.itmFontStyle = "plain";
this.itmFontWeight = "bold";
this.itmFontSize = "8pt";
// definir métodos.
this.setSizes = JDWITEMSetSizes;
this.setColors = JDWITEMSetColors;
this.setFonts = JDWITEMSetFonts;
this.addNAVm = JDWITEMaddNAVm;
this.create = JDWITEMCreate;
this.hide = JDWITEMHide;
this.show = JDWITEMShow;
this.moveTo = JDWITEMMoveTo;
this.moveBy = JDWITEMMoveBy;
this.getzIndex = JDWITEMGetzIndex;
this.setzIndex = JDWITEMSetzIndex;
this.getWidth = JDWITEMGetWidth;
this.getMinWidth = JDWITEMGetMinWidth;
this.getAlign = JDWITEMGetAlign;
this.setAlign = JDWITEMSetAlign;
this.resize = JDWITEMResize;
this.invert = JDWITEMInvert;
this.isInverted = JDWITEMIsInverted;
// agregar a la lista.
this.index = JDWITEMs.length;
JDWITEMs[this.index] = this;
}
function JDWITEMSetSizes(border, padding, separator) {
if (!this.created) {
this.border = border;
this.padding = padding;
this.separator = separator;
}
}
function JDWITEMSetColors(bdColor,
hdrFgColor, hdrBgColor, hdrHiFgColor, hdrHiBgColor,
itmFgColor, itmBgColor, itmHiFgColor, itmHiBgColor) {
if (!this.created) {
this.borderColor = bdColor;
this.hdrFgColor = hdrFgColor;
this.hdrBgColor = hdrBgColor;
this.hdrHiFgColor = hdrHiFgColor;
this.hdrHiBgColor = hdrHiBgColor;
this.itmFgColor = itmFgColor;
this.itmBgColor = itmBgColor;
this.itmHiFgColor = itmHiFgColor;
this.itmHiBgColor = itmHiBgColor;
}
}
function JDWITEMSetFonts(hdrFamily, hdrStyle, hdrWeight, hdrSize,
itmFamily, itmStyle, itmWeight, itmSize) {
if (!this.created) {
this.hdrFontFamily = hdrFamily;
this.hdrFontStyle = hdrStyle;
this.hdrFontWeight = hdrWeight;
this.hdrFontSize = hdrSize;
this.itmFontFamily = itmFamily;
this.itmFontStyle = itmStyle;
this.itmFontWeight = itmWeight;
this.itmFontSize = itmSize;
}
}
function JDWITEMaddNAVm(menu) {
if (!this.created)
this.menus[this.menus.length] = menu;
}
function JDWITEMCreate() {
var str;
var i, j;
var norm, high, end;
var width, height;
var x, y;
var scrX, scrY;
if (this.created || (!JDWMinNS4 && !JDWMinIE4))
return;
// Armar HTML
str = "";
// Para IE4.
if (JDWMinIE4 && !JDWMinIE5) {
scrX = getPageScrollX();
scrY = getPageScrollY();
window.scrollTo(getPageWidth(), getPageHeight());
}
if (JDWMinNS4)
str += '<layer name="JDWITEM' + this.index + '_filler"></layer>n'
+ '<layer name="JDWITEM' + this.index + '_hdrsBase">n';
if (JDWMinIE4)
str += '<div id="JDWITEM' + this.index + '_filler"'
+ ' style="position:absolute;">'
+ '</div>n'
+ '<div id="JDWITEM' + this.index + '_hdrsBase"'
+ ' style="position:absolute;">n';
// Armar HTML para los encabezados.
for (i = 0; i < this.menus.length; i++) {
norm = '<table border=0 cellpadding=' + this.padding
+ ' cellspacing=0'
+ (this.menus[i].hdrWidth > 0 ? ' width=' + this.menus[i].hdrWidth : '')
+ ((JDWMinIE4 && !JDWMinIE5) ? ' id="JDWITEM' + this.index + '_tbl' + i + '"': '')
+ '><tr><td'
+ (this.menus[i].hdrWidth == 0 ? ' nowrap=1' + this.menus[i].hdrWidth : '')
+ '>'
+ '<span style="color:' + this.hdrFgColor + ';'
+ 'font-family:' + this.hdrFontFamily + ';'
+ 'font-size:' + this.hdrFontSize + ';'
+ 'font-style:' + this.hdrFontStyle + ';'
+ 'font-weight:' + this.hdrFontWeight + ';">';
high = '<table border=0 cellpadding=' + this.padding
+ ' cellspacing=0'
+ (this.menus[i].hdrWidth > 0 ? ' width=' + this.menus[i].hdrWidth : '')
+ '><tr><td'
+ (this.menus[i].hdrWidth == 0 ? ' nowrap=1' + this.menus[i].hdrWidth : '')
+ '>'
+ '<span style="color:' + this.hdrHiFgColor + ';'
+ 'font-family:' + this.hdrFontFamily + ';'
+ 'font-size:' + this.hdrFontSize + ';'
+ 'font-style:' + this.hdrFontStyle + ';'
+ 'font-weight:' + this.hdrFontWeight + ';">';
end = '</span></td></tr></table>';
if (JDWMinNS4)
str += '<layer name="JDWITEM' + this.index + '_head' + i + '">'
+ norm + this.menus[i].items[0].text + end
+ '</layer>n'
+ '<layer name="JDWITEM' + this.index + '_headHigh' + i + '">'
+ high + this.menus[i].items[0].text + end
+ '</layer>n'
+ '<layer name="JDWITEM' + this.index + '_headDummy' + i + '">'
+ '</layer>n';
if (JDWMinIE4) {
str += '<div id="JDWITEM' + this.index + '_head' + i + '"'
+ ' style="position:absolute;">'
+ norm + this.menus[i].items[0].text + end
+ '</div>n'
+ '<div id="JDWITEM' + this.index + '_headHigh' + i + '"'
+ ' style="position:absolute;">'
+ high + this.menus[i].items[0].text + end
+ '</div>n'
+ '<div id="JDWITEM' + this.index + '_headDummy' + i + '"'
+ ' style="position:absolute;">';
if (JDWMinIE55)
str += '<table cellspacing=0 width="100%" height="100%"><tr><td> </td></tr></table>';
str += '</div>n';
}
}
if (JDWMinNS4) {
str += '</layer>n';
this.baseLayer = new Layer(this.width);
this.baseLayer.document.open();
this.baseLayer.document.write(str);
this.baseLayer.document.close();
}
if (JDWMinIE4) {
str += '</div>n';
str = '<div id="JDWITEM' + this.index + '"'
+ ' style="position:absolute;left:0px;top:0px;">n'
+ str
+ '</div>n';
document.body.insertAdjacentHTML("beforeEnd", str);
this.baseLayer = getLayer("JDWITEM" + this.index);
}
// posición y G6JDWinitialize de cada encabezado.
width = 0;
height = 0;
for (i = 0; i < this.menus.length; i++) {
this.menus[i].hdrNormLayer = getLayer('JDWITEM' + this.index + '_head' + i);
this.menus[i].hdrHighLayer = getLayer('JDWITEM' + this.index + '_headHigh' + i);
this.menus[i].hdrDmmyLayer = getLayer('JDWITEM' + this.index + '_headDummy' + i);
height = Math.max(height, getHeight(this.menus[i].hdrNormLayer));
this.height = height + 2 * this.border;
// Adaptado para IE4.
if (JDWMinIE4 && !JDWMinIE5) {
width = this.menus[i].hdrWidth;
if (width == 0)
width = eval('document.all.JDWITEM' + this.index + '_tbl' + i + '.clientWidth');
JDWITEMIEResizeLayer(this.menus[i].hdrNormLayer, width, height);
JDWITEMIEResizeLayer(this.menus[i].hdrHighLayer, width, height);
JDWITEMIEResizeLayer(this.menus[i].hdrDmmyLayer, width, height);
}
}
x = this.border;
y = this.border;
for (i = 0; i < this.menus.length; i++) {
width = Math.max(this.menus[i].hdrWidth, getWidth(this.menus[i].hdrNormLayer));
if (this.menus[i].width == 0)
this.menus[i].width = width + 2 * this.border;
moveLayerTo(this.menus[i].hdrNormLayer, x, y);
setBgColor(this.menus[i].hdrNormLayer, this.hdrBgColor);
clipLayer(this.menus[i].hdrNormLayer, 0, 0, width, height);
inheritLayer(this.menus[i].hdrNormLayer);
moveLayerTo(this.menus[i].hdrHighLayer, x, y);
setBgColor(this.menus[i].hdrHighLayer, this.hdrHiBgColor);
clipLayer(this.menus[i].hdrHighLayer, 0, 0, width, height);
hideLayer(this.menus[i].hdrHighLayer);
moveLayerTo(this.menus[i].hdrDmmyLayer, x, y);
if (JDWMinIE4)
JDWITEMIEResizeLayer(this.menus[i].hdrDmmyLayer, width, height);
clipLayer(this.menus[i].hdrDmmyLayer, 0, 0, width, height);
inheritLayer(this.menus[i].hdrDmmyLayer);
this.menus[i].hdrDmmyLayer.highLayer = this.menus[i].hdrHighLayer;
this.menus[i].hdrLeft = x;
x += width + this.border;
this.menus[i].hdrRight = x;
}
// Guardar resultados del ancho del encabezado.
this.minWidth = x;
this.width = Math.max(this.minWidth, this.width);
// Posición y G6JDWinitialize base.
moveLayerTo(this.baseLayer, this.x, this.y);
setBgColor(this.baseLayer, this.borderColor);
if (JDWMinIE4)
JDWITEMIEResizeLayer(this.baseLayer, this.width, this.height);
clipLayer(this.baseLayer, 0, 0, this.width, this.height);
this.fillerLayer = getLayer('JDWITEM' + this.index + '_filler');
moveLayerTo(this.fillerLayer, this.border, this.border);
setBgColor(this.fillerLayer, this.hdrBgColor);
width = this.width - 2 * this.border;
height = this.height - 2 * this.border;
if (JDWMinIE4)
JDWITEMIEResizeLayer(this.fillerLayer, width, height);
clipLayer(this.fillerLayer, 0, 0, width, height);
inheritLayer(this.fillerLayer);
this.hdrsBaseLayer = getLayer('JDWITEM' + this.index + '_hdrsBase');
if (this.align == "left")
this.hdrsOffsetX = 0;
else if (this.align == "center")
this.hdrsOffsetX = Math.round((this.width - this.minWidth) / 2);
else if (this.align == "right")
this.hdrsOffsetX = this.width - this.minWidth;
else
this.hdrsOffsetX = Math.min(parseInt(this.align, 10), this.width - this.minWidth);
moveLayerTo(this.hdrsBaseLayer, this.hdrsOffsetX, 0);
setBgColor(this.hdrsBaseLayer, this.borderColor);
if (JDWMinIE4)
JDWITEMIEResizeLayer(this.hdrsBaseLayer, this.minWidth, this.height);
clipLayer(this.hdrsBaseLayer, 0, 0, this.minWidth, this.height);
inheritLayer(this.hdrsBaseLayer);
// preparar eventos.
for (i = 0; i < this.menus.length; i++) {
this.menus[i].hdrDmmyLayer.index = this.index;
this.menus[i].hdrDmmyLayer.offsetX = this.menus[i].hdrLeft - this.border;
if (this.menus[i].hdrDmmyLayer.offsetX + this.menus[i].width > this.width)
this.menus[i].hdrDmmyLayer.offsetX = this.menus[i].hdrRight - this.menus[i].width;
this.menus[i].hdrDmmyLayer.offsetY = this.height - this.border;
this.menus[i].hdrDmmyLayer.onmouseover = JDWITEMHeaderOn;
this.menus[i].hdrDmmyLayer.onmouseout = JDWITEMHeaderOff;
if (JDWMinNS4) {
this.menus[i].hdrDmmyLayer.document.highLayer = this.menus[i].hdrHighLayer;
this.menus[i].hdrDmmyLayer.document.link = this.menus[i].items[0].link;
this.menus[i].hdrDmmyLayer.document.captureEvents(Event.MOUSEUP);
this.menus[i].hdrDmmyLayer.document.onmouseup = JDWITEMItemClick;
}
if (JDWMinIE4) {
this.menus[i].hdrDmmyLayer.highLayer = this.menus[i].hdrHighLayer;
this.menus[i].hdrDmmyLayer.link = this.menus[i].items[0].link;
this.menus[i].hdrDmmyLayer.onclick = JDWITEMItemClick;
}
}
// Crear las subcategorías.
norm = '<table border=0 cellpadding=' + this.padding
+ ' cellspacing=0 width="100%"><tr><td>'
+ '<span style="color:' + this.itmFgColor + ';'
+ 'font-family:' + this.itmFontFamily + ';'
+ 'font-size:' + this.itmFontSize + ';'
+ 'font-style:' + this.itmFontStyle + ';'
+ 'font-weight:' + this.itmFontWeight + ';">';
high = '<table border=0 cellpadding=' + this.padding
+ ' cellspacing=0 width="100%"><tr><td>'
+ '<span style="color:' + this.itmHiFgColor + ';'
+ 'font-family:' + this.itmFontFamily + ';'
+ 'font-size:' + this.itmFontSize + ';'
+ 'font-style:' + this.itmFontStyle + ';'
+ 'font-weight:' + this.itmFontWeight + ';">';
end = '</span></td></tr></table>';
for (i = 0; i < this.menus.length; i++) {
width = this.menus[i].width - 2 * this.border;
str = "";
for (j = 1; j < this.menus[i].items.length; j++) {
if (JDWMinNS4)
str += '<layer name="JDWITEM' + this.index + '_menu' + i + '_norm' + j + '"'
+ ' width=' + width + '>'
+ norm + this.menus[i].items[j].text + end
+ '</layer>n'
+ '<layer name="JDWITEM' + this.index + '_menu' + i + '_high' + j + '"'
+ ' width=' + width + '>'
+ high + this.menus[i].items[j].text + end
+ '</layer>n'
+ '<layer name="JDWITEM' + this.index + '_menu' + i + '_dmmy' + j + '"'
+ ' width=' + width + '>'
+ '</layer>n';
if (JDWMinIE4) {
str += '<div id="JDWITEM' + this.index + '_menu' + i + '_norm' + j + '"'
+ ' style="position:absolute;width:' + width + 'px;">'
+ norm + this.menus[i].items[j].text + end
+ '</div>n'
+ '<div id="JDWITEM' + this.index + '_menu' + i + '_high' + j + '"'
+ ' style="position:absolute;width:' + width + 'px;">'
+ high + this.menus[i].items[j].text + end
+ '</div>n'
+ '<div id="JDWITEM' + this.index + '_menu' + i + '_dmmy' + j + '"'
+ ' style="position:absolute;width:' + width + 'px;">';
if (JDWMinIE55)
str += '<table cellspacing=0 width="100%" height="100%"><tr><td> </td></tr></table>';
str += '</div>n';
}
}
if (JDWMinNS4) {
this.menus[i].baseLayer = new Layer(this.menus[i].width);
this.menus[i].baseLayer.document.open();
this.menus[i].baseLayer.document.write(str);
this.menus[i].baseLayer.document.close();
}
if (JDWMinIE4) {
str = '<div id="JDWITEM' + this.index + '_menu' + i + '"'
+ ' style="position:absolute;left:0px; top:0px;'
+ 'width:' + this.menus[i].width + 'px;visibility:hidden;">n'
+ str
+ '</div>n';
document.body.insertAdjacentHTML("beforeEnd", str);
this.menus[i].baseLayer = getLayer("JDWITEM" + this.index + "_menu" + i);
}
}
// restaurar posición original del scroll en IE4.
if (JDWMinIE4 && !JDWMinIE5)
window.scrollTo(x, y);
// Posición y G6JDWinitialize de cada menú.
for (i = 0; i < this.menus.length; i++) {
moveLayerTo(this.menus[i].baseLayer, this.menus[i].hdrDmmyLayer.offsetX, this.menus[i].hdrDmmyLayer.offsetY);
setBgColor(this.menus[i].baseLayer, this.borderColor);
if (this.menus[i].items.length > 1) {
this.menus[i].hdrDmmyLayer.menuLayer = this.menus[i].baseLayer;
if (JDWMinNS4)
this.menus[i].hdrDmmyLayer.document.menuLayer = this.menus[i].baseLayer;
}
else {
this.menus[i].hdrDmmyLayer.menuLayer = null;
if (JDWMinNS4)
this.menus[i].hdrDmmyLayer.document.menuLayer = this.menus[i].baseLayer;
}
// Posición y G6JDWinitialize de cada item del menú.
x = this.border;
y = this.border;
width = this.menus[i].width - 2 * this.border;
for (j = 1; j < this.menus[i].items.length; j++) {
this.menus[i].items[j].normLayer = getLayer('JDWITEM' + this.index + '_menu' + i + '_norm' + j);
this.menus[i].items[j].highLayer = getLayer('JDWITEM' + this.index + '_menu' + i + '_high' + j);
this.menus[i].items[j].dmmyLayer = getLayer('JDWITEM' + this.index + '_menu' + i + '_dmmy' + j);
height = getHeight(this.menus[i].items[j].normLayer);
moveLayerTo(this.menus[i].items[j].normLayer, x, y);
setBgColor(this.menus[i].items[j].normLayer, this.itmBgColor);
clipLayer(this.menus[i].items[j].normLayer, 0, 0, width, height);
inheritLayer(this.menus[i].items[j].normLayer);
moveLayerTo(this.menus[i].items[j].highLayer, x, y);
setBgColor(this.menus[i].items[j].highLayer, this.itmHiBgColor);
clipLayer(this.menus[i].items[j].highLayer, 0, 0, width, height);
hideLayer(this.menus[i].items[j].highLayer);
moveLayerTo(this.menus[i].items[j].dmmyLayer, x, y);
if (JDWMinIE4)
JDWITEMIEResizeLayer(this.menus[i].items[j].dmmyLayer, width, height);
clipLayer(this.menus[i].items[j].dmmyLayer, 0, 0, width, height);
inheritLayer(this.menus[i].items[j].dmmyLayer);
this.menus[i].items[j].dmmyLayer.highLayer = this.menus[i].items[j].highLayer;
this.menus[i].items[j].dmmyLayer.onmouseover = JDWITEMItemOn;
this.menus[i].items[j].dmmyLayer.onmouseout = JDWITEMItemOff;
if (JDWMinNS4) {
this.menus[i].items[j].dmmyLayer.document.highLayer = this.menus[i].items[j].highLayer;
this.menus[i].items[j].dmmyLayer.document.parentHighLayer = this.menus[i].hdrHighLayer;
this.menus[i].items[j].dmmyLayer.document.menuLayer = this.menus[i].baseLayer;
this.menus[i].items[j].dmmyLayer.document.link = this.menus[i].items[j].link;
this.menus[i].items[j].dmmyLayer.document.captureEvents(Event.MOUSEUP);
this.menus[i].items[j].dmmyLayer.document.onmouseup = JDWITEMItemClick;
}
if (JDWMinIE4) {
this.menus[i].items[j].dmmyLayer.highLayer = this.menus[i].items[j].highLayer;
this.menus[i].items[j].dmmyLayer.parentHighLayer = this.menus[i].hdrHighLayer;
this.menus[i].items[j].dmmyLayer.menuLayer = this.menus[i].baseLayer;
this.menus[i].items[j].dmmyLayer.link = this.menus[i].items[j].link;
this.menus[i].items[j].dmmyLayer.onclick = JDWITEMItemClick;
}
y += height + this.separator;
}
width = this.menus[i].width;
height = y - this.separator + this.border;
this.menus[i].baseLayer.width = this.menus[i].width;
this.menus[i].baseLayer.height = height;
if (JDWMinIE4)
JDWITEMIEResizeLayer(this.menus[i].baseLayer, width, height);
clipLayer(this.menus[i].baseLayer, 0, 0, width, height);
this.menus[i].baseLayer.parentHighLayer = this.menus[i].hdrHighLayer;
this.menus[i].baseLayer.onmouseout = ECSmenuOff;
}
this.created = true;
this.resize(this.width);
showLayer(this.baseLayer);
}
function JDWITEMHide() {
if (this.created)
hideLayer(this.baseLayer);
}
function JDWITEMShow() {
if (this.created)
showLayer(this.baseLayer);
}
function JDWITEMMoveTo(x, y) {
this.x = x;
this.y = y;
if (this.created)
moveLayerTo(this.baseLayer, this.x, this.y);
}
function JDWITEMMoveBy(dx, dy) {
this.x += dx;
this.y += dy;
if (this.created)
moveLayerTo(this.baseLayer, this.x, this.y);
}
function JDWITEMGetzIndex() {
if (this.created)
return getzIndex(this.baseLayer);
return 0;
}
function JDWITEMSetzIndex(z) {
var i;
if (this.created) {
setzIndex(this.baseLayer, z);
for (i = 0; i < this.menus.length; i++)
setzIndex(this.menus[i].baseLayer, z);
}
}
function JDWITEMGetWidth() {
return this.width;
}
function JDWITEMGetMinWidth() {
return this.minWidth;
}
function JDWITEMGetAlign() {
return this.align;
}
function JDWITEMSetAlign(align) {
this.align = align;
if (this.created)
this.resize(this.width);
}
function JDWITEMResize(width) {
if (this.created) {
this.width = Math.max(width, this.minWidth);
if (JDWMinIE4) {
JDWITEMIEResizeLayer(this.fillerLayer, this.width - 2 * this.border, this.height - 2 * this.border);
JDWITEMIEResizeLayer(this.baseLayer, this.width, this.height);
}
clipLayer(this.fillerLayer, 0, 0, this.width - 2 * this.border, this.height - 2 * this.border);
clipLayer(this.baseLayer, 0, 0, this.width, this.height);
if (this.align == "left")
this.hdrsOffsetX = 0;
else if (this.align == "center")
this.hdrsOffsetX = Math.round((this.width - this.minWidth) / 2);
else if (this.align == "right")
this.hdrsOffsetX = this.width - this.minWidth;
else
this.hdrsOffsetX = Math.min(parseInt(this.align, 10), this.width - this.minWidth);
moveLayerTo(this.hdrsBaseLayer, this.hdrsOffsetX, 0);
for (i = 0; i < this.menus.length; i++) {
this.menus[i].hdrDmmyLayer.offsetX = this.menus[i].hdrLeft - this.border;
if (this.hdrsOffsetX + this.menus[i].hdrDmmyLayer.offsetX + this.menus[i].width > this.width)
this.menus[i].hdrDmmyLayer.offsetX = this.menus[i].hdrRight - this.menus[i].width;
}
}
else
this.width = width;
}
function JDWITEMInvert() {
this.inverted = !this.inverted;
}
function JDWITEMIsInverted() {
return this.inverted;
}
// Fución layer resize para IE.
function JDWITEMIEResizeLayer(layer, width, height) {
layer.style.pixelWidth = width;
layer.style.pixelHeight = height;
}
// manejar eventos de la barra de navegación.
function JDWITEMHeaderOn(e) {
var bar;
var x, y;
bar = JDWITEMs[this.index];
// Posición de las subcategorías.
if (this.menuLayer != null) {
x = bar.x + bar.hdrsOffsetX + this.offsetX;
y = bar.y + this.offsetY;
if (bar.inverted)
y = bar.y - this.menuLayer.height + bar.border;
moveLayerTo(this.menuLayer, x, y);
// Guardar subcategorías y mostrarlas.
this.menuLayer.left = getPageLeft(this.menuLayer);
this.menuLayer.top = getPageTop(this.menuLayer);
this.menuLayer.right = this.menuLayer.left + this.menuLayer.width + 1;
this.menuLayer.bottom = this.menuLayer.top + this.menuLayer.height + 1;
}
// Esconder encabezados activos.
if (JDWMinIE4) {
if (bar.activeHeader != null && bar.activeHeader != this) {
hideLayer(bar.activeHeader.highLayer);
if (bar.activeHeader.menuLayer != null)
hideLayer(bar.activeHeader.menuLayer);
}
bar.activeHeader = this;
}
// Mostrar encabezado.
showLayer(this.highLayer);
if (this.menuLayer != null)
showLayer(this.menuLayer);
}
function JDWITEMHeaderOff(e) {
// Si subcategoría abierta, salir. De lo contrario, esconder menu.
if (this.menuLayer != null) {
if (JDWMinIE4) {
mouseX = window.event.clientX + document.body.scrollLeft;
mouseY = window.event.clientY + document.body.scrollTop;
}
if (mouseX >= this.menuLayer.left &&
mouseX <= this.menuLayer.right &&
mouseY >= this.menuLayer.top &&
mouseY <= this.menuLayer.bottom)
return;
hideLayer(this.menuLayer);
}
hideLayer(this.highLayer);
}
function ECSmenuOff(e) {
// Si sobre el encabezado, salir.
if (JDWMinIE4) {
mouseX = window.event.clientX + document.body.scrollLeft;
mouseY = window.event.clientY + document.body.scrollTop;
if (mouseX >= this.left &&
mouseX <= this.right &&
mouseY >= this.top &&
mouseY <= this.bottom)
return;
}
// De lo contrario, esconder menú.
hideLayer(this);
hideLayer(this.parentHighLayer);
}
function JDWITEMItemOn() {
showLayer(this.highLayer);
}
function JDWITEMItemOff() {
hideLayer(this.highLayer);
}
function JDWITEMItemClick(e) {
// Si no hay links, salir.
if (this.link == "")
return true;
// Esconder subcategorías.
if (this.menuLayer != null) {
hideLayer(this.menuLayer);
}
if (this.parentHighLayer != null) {
hideLayer(this.parentHighLayer);
}
hideLayer(this.highLayer);
// Si el link comienza con "javascript:" ejecutar el código. Si no,
// ir a la URL.
if (this.link.indexOf("javascript:") == 0)
eval(this.link);
else{

window.location.href = this.link; //*****Aqui creo es el problema, o la solucion al problema****


}
return true;
}
// MOUSE TRACKING
// Estas variables marcan la posición del mouse.
var mouseX = 0;
var mouseY = 0;
// Capturar evento.
if (JDWMinNS4)
document.captureEvents(Event.MOUSEMOVE);
document.onmousemove = JDWITEMGetMousePosition;
function JDWITEMGetMousePosition(e) {
// Guardar posición del mouse.
if (JDWMinNS4) {
mouseX = e.pageX;
mouseY = e.pageY;
}
if (JDWMinIE4) {
mouseX = window.event.clientX + document.body.scrollLeft;
mouseY = window.event.clientY + document.body.scrollTop;
}
}
// EVENTO: Window Resizing
// Esta variable se utiliza para determinarlo en las versiones viejas del NS4
var origWidth;
var origHeight;
// Recargar página en caso de que el browser cambie el tamaño.
if (JDWMinNS4) {
origWidth = window.innerWidth;
origHeight = window.innerHeight;
}
window.onresize = JDWITEMReload;
function JDWITEMReload() {
if (JDWMinNS4 && origWidth == window.innerWidth && origHeight == window.innerHeight)
return;
// Para IE
if (JDWMinIE4){
setTimeout('window.location.href = window.location.href', 2000);
}
else{
window.location.href = window.location.href;

}
}
function G6JDWinit()
{
fullWidth = getWindowWidth() - (JDWMinNS4 && getWindowHeight() < getPageHeight() ? 16 : 0);
JDWBAR1.create();
JDWBAR1.moveTo(0,-getWindowHeight()+43);
JDWBAR1.setzIndex(1);
JDWBAR1.resize(fullWidth);
JDWBAR1.setAlign(getWindowWidth()+60);
JDWBAR1.hide();JDWBAR2.create();
JDWBAR2.moveBy(0,-getWindowHeight()+17);
JDWBAR2.resize(fullWidth);
JDWBAR2.setzIndex(2);
NAVupdatePOSY();
}
/* Dispararlo!! */
window.onload=G6JDWinit;
function NAVupdatePOSY() {
var viewTop;
var viewBottom;
var dy;
viewTop = getPageScrollY();
viewBottom = viewTop + getWindowHeight();
dy = Math.round(Math.abs(viewTop - JDWBAR1.y)); /* NO ANIM */
if (viewTop < JDWBAR1.y) dy = -dy;
dy = Math.round(Math.abs(viewTop - JDWBAR2.y)); /* NO ANIM */
if (viewTop < JDWBAR2.y) dy = -dy;
if (JDWBAR1.bottom < viewTop)
JDWBAR1.moveTo(0, viewTop - JDWBAR1.height);
if (JDWBAR1.top > viewBottom)
JDWBAR1.moveTo(0, viewBottom);
if (JDWBAR2.bottom < viewTop)
JDWBAR2.moveTo(0, viewTop - JDWBAR2.height);
if (JDWBAR2.top > viewBottom)
JDWBAR2.moveTo(0, viewBottom);
JDWBAR1.moveBy(0, dy);
JDWBAR2.moveBy(0, dy);
setTimeout('NAVupdatePOSY()', 0); /* INFINITLY SMALL VALUE */
}
/*************
Función para Maximizar la ventana en MSIE y NS.
*************/
function maximizeWin() {
if (window.screen) {
var aw = screen.availWidth;
var ah = screen.availHeight;
window.moveTo(0, 0);
window.resizeTo(aw, ah);
}
}

/*
ITEMS DEL MENU:
(Bordes, colores, títulos, color de fondo,
fuentes, tamaños
*/

// ___________________________________
var JDWBAR2 = new JDWITEM(0);
JDWBAR2.setSizes (1, 4, 1);
JDWBAR2.setColors ("#808080","#FFFFFF","#000000","#000000","#A6D2FF","#FFFFFF","#000000","#ffffff","#004080");
JDWBAR2.setFonts ("Arial, Verdana","plain","bold","10px","Arial, Verdana","plain","bold","10px");
var JDWBAR1 = new JDWITEM(0);
JDWBAR1.setSizes (1, 1, 1);
JDWBAR1.setColors ("#000000","#000000","#F5E4C1","#000000","#1CA0E4","#000000","#F5E4C1","#000000","#1CA0E4");
JDWBAR1.setFonts ("Arial, Verdana","plain","bold","10px","Arial, Verdana","plain","bold","10px");
// ___________________________________

/* ITEMS DEL MENU */
//var target1 = "mainFrame";
siteMenu = new ECSmenu(0, 80); // 80 = ancho en pixeles del menu
siteMenu.addItem(new ITEM("<center> INICIO </center>", "index.html"));
siteMenu.addItem(new ITEM(" Vision", "inicio.htm" ));
siteMenu.addItem(new ITEM(" Mision","/zoe/cgi/inicio.php","mainFrame"));
siteMenu.addItem(new ITEM(" Contacto", "http://"));
siteMenu.addItem(new ITEM(" Información", "http://"));
JDWBAR2.addNAVm(siteMenu); // agregar menú

siteMenu = new ECSmenu(0, 100);
siteMenu.addItem(new ITEM(" EVANGELISMO ", ""));
siteMenu.addItem(new ITEM(" Noticias","http://"));
siteMenu.addItem(new ITEM(" Categorías","http://"));
siteMenu.addItem(new ITEM(" Lista A-Z","http://"));
siteMenu.addItem(new ITEM(" Libros","http://"));
siteMenu.addItem(new ITEM(" Tutoriales","http://"));
JDWBAR2.addNAVm(siteMenu);

siteMenu = new ECSmenu(0, 100);
siteMenu.addItem(new ITEM("<center> CONSOLIDACION </center>", ""));
siteMenu.addItem(new ITEM(" JavaScript","http://"));
siteMenu.addItem(new ITEM(" VB Script","http://"));
siteMenu.addItem(new ITEM(" Ayuda","http://"));
siteMenu.addItem(new ITEM(" Pedidos","http://"));
JDWBAR2.addNAVm(siteMenu);

siteMenu = new ECSmenu(0, 100);
siteMenu.addItem(new ITEM("<center> ORACION </center>", ""));
siteMenu.addItem(new ITEM(" Preguntas","http://"));
siteMenu.addItem(new ITEM(" Acerca de...","http://"));
JDWBAR2.addNAVm(siteMenu);

siteMenu = new ECSmenu(0, 100);
siteMenu.addItem(new ITEM("<center> INICIAR SESION </center>", ""));
siteMenu.addItem(new ITEM(" Bajar Script","http://www.stas.net/2/webtutorial/menu.zip"));
JDWBAR2.addNAVm(siteMenu);

A
01 de Mayo del 2004
Me parece que el problema puede ser que "mainFrame" debe ser el nombre del marco, no el del archivo HTML que se carga en él. Prueba así en index.html:
<frame name=mainFrame src=loquesea.html>

Me interesa este menú. ¿Cómo llamas a la función que lo genera?
O dime una página en que lo pueda ver.