//-- Original:  Angus Turnbull
//-- Web Site:  http://gusnz.cjb.net

var isDOM = (document.getElementById ? true : false); 
var isIE4 = ((document.all && !isDOM) ? true : false);
var isNS4 = (document.layers ? true : false);
function getRef(id) {
if (isDOM) return document.getElementById(id);
if (isIE4) return document.all[id];
if (isNS4) return document.layers[id];
}
function getSty(id) {
return (isNS4 ? getRef(id) : getRef(id).style);
} 
// Hide timeout.
var popTimer = 0;
// Array showing highlighted menu items.
var litNow = new Array();
function popOver(menuNum, itemNum) {
clearTimeout(popTimer);
hideAllBut(menuNum);
litNow = getTree(menuNum, itemNum);
changeCol(litNow, true);
targetNum = menu[menuNum][itemNum].target;
if (targetNum > 0) {
thisX = parseInt(menu[menuNum][0].ref.left) + parseInt(menu[menuNum][itemNum].ref.left);
thisY = parseInt(menu[menuNum][0].ref.top) + parseInt(menu[menuNum][itemNum].ref.top);
with (menu[targetNum][0].ref) {
left = parseInt(thisX + menu[targetNum][0].x);
top = parseInt(thisY + menu[targetNum][0].y);
visibility = 'visible';
}}}
function popOut(menuNum, itemNum) {
if ((menuNum == 0) && !menu[menuNum][itemNum].target)
hideAllBut(0)
else
popTimer = setTimeout('hideAllBut(0)', 500);
}
function getTree(menuNum, itemNum) {
itemArray = new Array(menu.length);
while(1) {
itemArray[menuNum] = itemNum;
if (menuNum == 0) return itemArray;
itemNum = menu[menuNum][0].parentItem;
menuNum = menu[menuNum][0].parentMenu;
}}
function changeCol(changeArray, isOver) {
for (menuCount = 0; menuCount < changeArray.length; menuCount++) {
if (changeArray[menuCount]) {
newCol = isOver ? menu[menuCount][0].overCol : menu[menuCount][0].backCol;
with (menu[menuCount][changeArray[menuCount]].ref) {
if (isNS4) bgColor = newCol;
else backgroundColor = newCol;
}}}}
function hideAllBut(menuNum) {
var keepMenus = getTree(menuNum, 1);
for (count = 0; count < menu.length; count++)
if (!keepMenus[count])
menu[count][0].ref.visibility = 'hidden';
changeCol(litNow, false);
}
function Menu(isVert, popInd, x, y, width, overCol, backCol, borderClass, textClass) {
this.isVert = isVert;
this.popInd = popInd
this.x = x;
this.y = y;
this.width = width;
this.overCol = overCol;
this.backCol = backCol;
this.borderClass = borderClass;
this.textClass = textClass;
this.parentMenu = null;
this.parentItem = null;
this.ref = null;
}
function Item(text, href, frame, length, spacing, target) {
this.text = text;
this.href = href;
this.frame = frame;
this.length = length;
this.spacing = spacing;
this.target = target;
this.ref = null;
}
function writeMenus() {
if (!isDOM && !isIE4 && !isNS4) return;
for (currMenu = 0; currMenu < menu.length; currMenu++) with (menu[currMenu][0]) {
var str = '', itemX = 0, itemY = 0;
for (currItem = 1; currItem < menu[currMenu].length; currItem++) with (menu[currMenu][currItem]) {
var itemID = 'menu' + currMenu + 'item' + currItem;
var w = (isVert ? width : length);
var h = (isVert ? length : width);
if (isDOM || isIE4) {
str += '<div id="' + itemID + '" style="position: absolute; left: ' + itemX + '; top: ' + itemY + '; width: ' + w + '; height: ' + h + '; visibility: inherit; ';
if (backCol) str += 'background: ' + backCol + '; ';
str += '" ';
}
if (isNS4) {
str += '<layer id="' + itemID + '" left="' + itemX + '" top="' + itemY + '" width="' +  w + '" height="' + h + '" visibility="inherit" ';
if (backCol) str += 'bgcolor="' + backCol + '" ';
}
if (borderClass) str += 'class="' + borderClass + '" ';
str += 'onMouseOver="popOver(' + currMenu + ',' + currItem + ')" onMouseOut="popOut(' + currMenu + ',' + currItem + ')">';
str += '<table width="' + (w - 8) + '" border="0" cellspacing="0" cellpadding="' + (!isNS4 && borderClass ? 3 : 0) + '"><tr><td align="left" height="' + (h - 7) + '">' + '<a class="' + textClass + '" href="' + href + '"' + (frame ? ' target="' + frame + '">' : '>') + text + '</a></td>';
if (target > 0) {
menu[target][0].parentMenu = currMenu;
menu[target][0].parentItem = currItem;
if (popInd) str += '<td class="' + textClass + '" align="right">' + popInd + '</td>';
}
str += '</tr></table>' + (isNS4 ? '</layer>' : '</div>');
if (isVert) itemY += length + spacing;
else itemX += length + spacing;
}
if (isDOM) {
var newDiv = document.createElement('div');
document.getElementsByTagName('body').item(0).appendChild(newDiv);
newDiv.innerHTML = str;
ref = newDiv.style;
ref.position = 'absolute';
ref.visibility = 'hidden';
}
if (isIE4) {
document.body.insertAdjacentHTML('beforeEnd', '<div id="menu' + currMenu + 'div" ' + 'style="position: absolute; visibility: hidden">' + str + '</div>');
ref = getSty('menu' + currMenu + 'div');
}
if (isNS4) {
ref = new Layer(0);
ref.document.write(str);
ref.document.close();
}
for (currItem = 1; currItem < menu[currMenu].length; currItem++) {
itemName = 'menu' + currMenu + 'item' + currItem;
if (isDOM || isIE4) menu[currMenu][currItem].ref = getSty(itemName);
if (isNS4) menu[currMenu][currItem].ref = ref.document[itemName];
}}
with(menu[0][0]) {
ref.left = x;
ref.top = y;
ref.visibility = 'visible';
}}
var menu = new Array();
var defOver = '#00006F', defBack = '#6E96D5';
var defLength = 22;
menu[0] = new Array();
menu[0][0] = new Menu(false, '<img src="../../images/right_arrow.gif" align="absmiddle">', 210, 110, 17, '#6E96D5', '#00006F', '', 'itemText');
menu[0][1] = new Item('  Monthly Specials', '#', '', 110, 0, 1);
menu[0][2] = new Item('  Products', '#', '', 75, 0, 2);
menu[0][3] = new Item('  New Products', '#', '', 95, 0, 3);
menu[0][4] = new Item('  About Us', '#', '', 65, 0, 4);
menu[0][5] = new Item('  Careers', '#', '', 60, 0, 5);
menu[0][6] = new Item('  Home Page', '#', '', 85, 0, 6);
menu[0][7] = new Item('  Bargain Corner', '#', '', 95, 0, 7);

// Monthly Specials popout
menu[1] = new Array();
menu[1][0] = new Menu(true, '>', 5, 17, 130, defOver, defBack, 'itemBorder', 'itemText');
menu[1][1] = new Item('Monthly Specials', '../../monthly_specials.html', '', 17, 0, 0);

// Products menu popout
menu[2] = new Array();
menu[2][0] = new Menu(true, '<img src="../../images/right_arrow.gif">', 5, 17, 145, defOver, defBack, 'itemBorder', 'itemText');
menu[2][1] = new Item('Door Hardware', '', '', 17, 0, 8);
menu[2][2] = new Item('Electronic Devices', '', '', 17, 0, 9);
menu[2][3] = new Item('Exterior Accessories', '', '', 17, 0, 10);
menu[2][4] = new Item('High Security Cylinders', '../../high_security_cylinders_fe.html', '', 17, 0, 0);
menu[2][5] = new Item('Interior Accessories', '', '', 17, 0, 11);
menu[2][6] = new Item('Key-In-Knob Locks', '', '', 17, 0, 12);
menu[2][7] = new Item('Mortise Locksets', '../../mortise_locksets.html', '', 17, 0, 0);
menu[2][8] = new Item('Miscellaneous', '', '', 17, 0, 13);
menu[2][9] = new Item('Padlocks', '../../padlocks1_fe.html', '', 17, 0, 0);
menu[2][10] = new Item('Safes', '../../safes1_fe.html', '', 17, 0, 0);
menu[2][11] = new Item('Tools', '', '', 17, 0, 14);
menu[2][12] = new Item('Accessories', '', '', 17, 0, 15);

// New Products popout
menu[3] = new Array();
menu[3][0] = new Menu(true, '<img src="../../images/right_arrow.gif" align="absmiddle">', 5, 17, 158, defOver, defBack, 'itemBorder', 'itemText');
menu[3][1] = new Item('New Products Showcase', '../../new_products_showcase.html', '', 17, 0, 16);
menu[3][2] = new Item('New Products Alert!', '../../new_products_alert.html', '', 17, 0, 0);
menu[3][3] = new Item('Special Promotions', '../../special_promotions.html', '', 17, 0, 0);



// About Us popout
menu[4] = new Array();
menu[4][0] = new Menu(true, '<img src="../../images/right_arrow.gif" align="absmiddle">', 5, 17, 130, defOver, defBack, 'itemBorder', 'itemText');
menu[4][1] = new Item('Our Location', '../../our_location_hours.html', '', 17, 0, 0);
menu[4][2] = new Item('Company Directory', '../../company_directory.html', '', 17, 0, 0);
menu[4][3] = new Item('Edwards Links', '../../edwards_links.html', '', 17, 0, 0);
menu[4][4] = new Item('Site Map Page', '../../map.html', '', 17, 0, 0);
menu[4][5] = new Item('Email Directory', '', '', 17, 0, 17);

// Careers popout
menu[5] = new Array();
menu[5][0] = new Menu(true, '', 4, 17, 144, defOver, defBack, 'itemBorder', 'itemText');
menu[5][1] = new Item('Office Staff', '../../office_staff.html', '', 17, 0, 0);
menu[5][2] = new Item('Sales & Marketing Staff', '../../sales_marketing_staff.html', '', 17, 0, 0);
menu[5][3] = new Item('Warehouse Staff', '../../warehouse_staff.html', '', 17, 0, 0);

// Home Page popout
menu[6] = new Array();
menu[6][0] = new Menu(true, '>', 5, 17, 130, defOver, defBack, 'itemBorder', 'itemText');
menu[6][1] = new Item('Home Page', '../../index.html', '', 17, 0, 0);

// Bargain Corner popout
menu[7] = new Array();
menu[7][0] = new Menu(true, '>', 5, 17, 130, defOver, defBack, 'itemBorder', 'itemText');
menu[7][1] = new Item('Bargain Corner', '../../bargain_corner.html', '', 17, 0, 0);

// Door Hardware popout
menu[8] = new Array();
menu[8][0] = new Menu(true, '<img src="../../images/right_arrow.gif" align="absmiddle">', 134, 10, 195, defOver, defBack, 'itemBorder', 'itemText');
menu[8][1] = new Item('Aluminum Door', '../../aluminum_door_hardware1_fe.html', '', 17, 0, 0);
menu[8][2] = new Item('Wood & Metal Door', '../../wood_metal_door_hardware_fe.html', '', 17, 0, 0);
menu[8][3] = new Item('Bolts & Hinges', '../../bolts_hinges1_fe.html', '', 17, 0, 0);
menu[8][4] = new Item('Deadbolts', '', '', 17, 0, 18);
menu[8][5] = new Item('Door Closers', '../../door_closers1_fe.html', '', 17, 0, 0);
menu[8][6] = new Item('Door Saver Plates', '../../door_saver_plates1_fe.html', '', 17, 0, 0);
menu[8][7] = new Item('Door Stops', '../../door_stops1_fe.html', '', 17, 0, 0);
menu[8][8] = new Item('Door Sweeps & Thresholds', '../../door_sweeps_thresholds_fe.html', '', 17, 0, 0);
menu[8][9] = new Item('Exit Devices', '../../exit_devices1_fe.html', '', 17, 0, 0);
menu[8][10] = new Item('Lock Cylinders', '../../lock_cylinders1_fe.html', '', 17, 0, 0);
menu[8][11] = new Item('Panic Exit Devices', '../../panic_exit_devices_fe.html', '', 17, 0, 0);
menu[8][12] = new Item('Mechanical Combination Door Locks', '../../mechanical_combination_door_locks_fe.html', '', 17, 0, 0);

// Electronics popout
menu[9] = new Array();
menu[9][0] = new Menu(true, '>', 134, 10, 190, defOver, defBack, 'itemBorder', 'itemText');
menu[9][1] = new Item('Armed Panic Exit Devices', '../../armed_panic_exit_devices_fe.html', '', 17, 0, 0);
menu[9][2] = new Item('Digital Video Surveillance', '../../digital_video_surveillance_fe.html', '', 17, 0, 0);
menu[9][3] = new Item('Electric Strikes', '../../electric_door_strikes1_fe.html', '', 17, 0, 0);
menu[9][4] = new Item('Keyless Access Control', '../../keyless_access_control_fe.html', '', 17, 0, 0);

// Exterior Accessories popout
menu[10] = new Array();
menu[10][0] = new Menu(true, '<img src="../../images/right_arrow.gif" align="absmiddle">', 134, 10, 135, defOver, defBack, 'itemBorder', 'itemText');
menu[10][1] = new Item('Accessories', '../../exterior_accessories1_fe.html', '', 17, 0, 0);
menu[10][2] = new Item('Brass Street Numbers', '../../brass_street_numbers_fe.html', '', 17, 0, 0);
menu[10][3] = new Item('Gripsets', '../../gripsets1_fe.html', '', 17, 0, 0);

// Interior Accessories popout
menu[11] = new Array();
menu[11][0] = new Menu(true, '<img src="../../images/right_arrow.gif" align="absmiddle">', 134, 10, 144, defOver, defBack, 'itemBorder', 'itemText');
menu[11][1] = new Item('Desk & Cabinet Hardware', '../../desk_cabinet_hardware1_fe.html', '', 17, 0, 0);
menu[11][2] = new Item('Dummy Knobs/Levers', '../../dummy_knobs_fe.html', '', 17, 0, 0);
menu[11][3] = new Item('Restroom Hardware', '../../restroom_hardware_fe.html', '', 17, 0, 0);

// Key-In-Knob Locks Commercial/residential Select popout
menu[12] = new Array();
menu[12][0] = new Menu(true, '<img src="../../images/right_arrow.gif" align="absmiddle">', 134, 10, 144, defOver, defBack, 'itemBorder', 'itemText');
menu[12][1] = new Item('Commercial', '', '', 17, 0, 19);
menu[12][2] = new Item('Residential', '', '', 17, 0, 20);

// Miscellaneous popout
menu[13] = new Array();
menu[13][0] = new Menu(true, '', 134, 10, 125, defOver, defBack, 'itemBorder', 'itemText');
menu[13][1] = new Item('Restroom Signs', '../../restroom_signs_fe.html', '', 17, 0, 0);
menu[13][2] = new Item('Lubricants', '../../lubricants_fe.html', '', 17, 0, 0);

// Tools popout
menu[14] = new Array();
menu[14][0] = new Menu(true, '', 134, 10, 150, defOver, defBack, 'itemBorder', 'itemText');
menu[14][1] = new Item('Hole Saws & Mandrills', '../../hole_saws_mandrills_fe.html', '', 17, 0, 0);
menu[14][2] = new Item('Key Cutting Machines', '../../key_cutting_machines_fe.html', '', 17, 0, 0);
menu[14][3] = new Item('Pick Sets', '../../pick_sets_fe.html', '', 17, 0, 0);

// Accessories popout
menu[15] = new Array();
menu[15][0] = new Menu(true, '>', 134, 10, 145, defOver, defBack, 'itemBorder', 'itemText');
menu[15][1] = new Item('Key Blanks', '../../key_blanks1_fe.html', '', 17, 0, 0);
menu[15][2] = new Item('Lock Pinning Accessories', '../../lock_pinning_accessories_fe.html', '', 17, 0, 0);

// New Products Sub-popout
menu[16] = new Array();
menu[16][0] = new Menu(true, '', 146, 10, 304, defOver, defBack, 'itemBorder', 'itemText');
menu[16][1] = new Item('NEW ** ESP Keymachines', '../../new_products_showcase.html', '', 17, 0, 0);
menu[16][2] = new Item('NEW ** High Security Lock For Sliding Glass Doors', '../../new_products_showcase2.html', '', 17, 0, 0);
menu[16][3] = new Item('NEW ** DoorMax Grade 1 ANSI Mortise Lockset', '../../new_products_showcase3.html', '', 17, 0, 0);
menu[16][4] = new Item('NEW ** DoorMax Grade 2 Commercial Deadbolt', '../../new_products_showcase4.html', '', 17, 0, 0);
menu[16][5] = new Item('NEW ** DoorMax Grade 2 5300 Series Cylindrical Lever Sets', '../../new_products_showcase6.html', '', 17, 0, 0);
menu[16][6] = new Item('NEW ** DoorMax Grade 2 5300 Series Cylindrical Locksets', '../../new_products_showcase5.html', '', 17, 0, 0);

// Directory popout
menu[17] = new Array();
menu[17][0] = new Menu(true, '>', -115, 16, 225, defOver, defBack, 'itemBorder', 'itemText');
menu[17][1] = new Item('D. Bronstine - General Manager', 'mailto:dbronstine@edwardsbuildershardware.com', '', 17, 0, 0);
menu[17][2] = new Item('J. Camara - Sales Manager', 'mailto:jcamara@edwardsbuildershardware.com', '', 17, 0, 0);
menu[17][3] = new Item('P. Carvalho - Sales & Customer Service', 'mailto:pcarvalho@edwardsbuildershardware.com', '', 17, 0, 0);
menu[17][4] = new Item('M. Chevrier - Sales & Customer Service', 'mailto:mchevrier@edwardsbuildershardware.com', '', 17, 0, 0);
menu[17][5] = new Item('B. Gerhardt - Sales & Customer Service', 'mailto:bgerhardt@edwardsbuildershardware.com', '', 17, 0, 0);
menu[17][6] = new Item('M. Goldberg - Sales & Customer Service', 'mailto:mgoldberg@edwardsbuildershardware.com', '', 17, 0, 0);
menu[17][7] = new Item('B. Gray - Sales & Marketing', 'mailto:bgray@edwardsbuildershardware.com', '', 17, 0, 0);
menu[17][8] = new Item('G. Mayzel - President', 'mailto:gmayzel@edwardsbuildershardware.com', '', 17, 0, 0);
menu[17][9] = new Item('T. Peters - Sales & Customer Service', 'mailto:tpeters@edwardsbuildershardware.com', '', 17, 0, 0);
menu[17][10] = new Item('K. Silva - Warehouse Staff', 'mailto:ksilva@edwardsbuildershardware.com', '', 17, 0, 0);
menu[17][11] = new Item('R. Weinberg - Office Manager & Accounting', 'mailto:rweinberg@edwardsbuildershardware.com', '', 17, 0, 0);

// Deadbolts popout
menu[18] = new Array();
menu[18][0] = new Menu(true, '', 184, 10, 80, defOver, defBack, 'itemBorder', 'itemText');
menu[18][1] = new Item('Commercial', '../../commercial_deadbolts_fe.html', '', 17, 0, 0);
menu[18][2] = new Item('Residential', '../../residential_deadbolts1_fe.html', '', 17, 0, 0);

// Key-In-Knob Locks Commercial popout
menu[19] = new Array();
menu[19][0] = new Menu(true, '', 134, 10, 144, defOver, defBack, 'itemBorder', 'itemText');
menu[19][1] = new Item('Georgian Locks', '../../commercial_georgian_locks_fe.html', '', 17, 0, 0);
menu[19][2] = new Item('Lever Locks', '../../commercial_lever_locks1_fe.html', '', 17, 0, 0);
menu[19][3] = new Item('Orbital Locks', '../../commercial_orbital_locks_fe.html', '', 17, 0, 0);
menu[19][4] = new Item('Plymouth Locks', '../../commercial_plymouth_locks_fe.html', '', 17, 0, 0);
menu[19][5] = new Item('Tulip Locks', '../../commercial_tulip_knob_locks_fe.html', '', 17, 0, 0);

// Key-In-Knob Locks Residential popout
menu[20] = new Array();
menu[20][0] = new Menu(true, '', 134, 10, 144, defOver, defBack, 'itemBorder', 'itemText');
menu[20][1] = new Item('Bell Locks', '../../residential_bell_locks_fe.html', '', 17, 0, 0);
menu[20][2] = new Item('Georgian Locks', '../../residential_georgian_locks_fe.html', '', 17, 0, 0);
menu[20][3] = new Item('Lever Locks', '../../residential_lever_locks1_fe.html', '', 17, 0, 0);
menu[20][4] = new Item('Orbital Locks', '../../residential_orbital_locks1_fe.html', '', 17, 0, 0);
menu[20][5] = new Item('Plymouth Locks', '../../residential_plymouth_locks_fe.html', '', 17, 0, 0);
menu[20][6] = new Item('Tulip Locks', '../../residential_tulip_knob_locks_fe.html', '', 17, 0, 0);

// High-Security Locks popout
menu[21] = new Array();
menu[21][0] = new Menu(true, '<img src="../../images/right_arrow.gif" align="absmiddle">', 134, 10, 148, defOver, defBack, 'itemBorder', 'itemText');
menu[21][1] = new Item('Deadbolt & K-I-K Cylinders', 'high_security_deadbolts_fe.html', '', 17, 0, 0);
menu[21][2] = new Item('IC Cores', 'high_security_ic_cores_fe.html', '', 17, 0, 0);
menu[21][3] = new Item('Mortise Lock Cylinders', 'high_security_mortise_lock_cylinders_fe.html', '', 17, 0, 0);
menu[21][4] = new Item('Rim Cylinders', 'high_security_rim_cylinders_fe.html', '', 17, 0, 0);

// Padlocks popout
menu[22] = new Array();
menu[22][0] = new Menu(true, '', 134, 10, 90, defOver, defBack, 'itemBorder', 'itemText');
menu[22][1] = new Item('Non-Rekeyable', 'non_rekeyable_padlocks_fe.html', '', 17, 0, 0);
menu[22][2] = new Item('Rekeyable', 'rekeyable_padlocks_fe.html', '', 17, 0, 0);

// Safes popout
menu[23] = new Array();
menu[23][0] = new Menu(true, '', 134, 10, 95, defOver, defBack, 'itemBorder', 'itemText');
menu[23][1] = new Item('Gun', '../../gun_safes_fe.html', '', 17, 0, 0);
menu[23][2] = new Item('Keyed', '../../keyed_safes_fe.html', '', 17, 0, 0);
menu[23][3] = new Item('Safes', '../../safes_fe.html', '', 17, 0, 0);

// Key-In-Knob Locks Interior popout
menu[24] = new Array();
menu[24][0] = new Menu(true, '', 123, 10, 100, defOver, defBack, 'itemBorder', 'itemText');
menu[24][1] = new Item('Ball Knob Locks', 'ball_knob_locks_fe.html', '', 17, 0, 0);
menu[24][2] = new Item('Lever Locks', 'lever_locks_fe.html', '', 17, 0, 0);
menu[24][3] = new Item('Tulip Knob Locks', 'tulip_knob_locks_fe.html', '', 17, 0, 0);

var popOldWidth = window.innerWidth;
nsResizeHandler = new Function('if (popOldWidth != window.innerWidth) location.reload()');

if (isNS4) document.captureEvents(Event.CLICK);
document.onclick = clickHandle;

function clickHandle(evt)
{
 if (isNS4) document.routeEvent(evt);
 hideAllBut(0);
}

function moveRoot()
{
 with(menu[0][0].ref) left = ((parseInt(left) < 100) ? 100 : 5);
}

var popOldWidth = window.innerWidth;
nsResizeHandler = new Function('if (popOldWidth != window.innerWidth) location.reload()');

if (isNS4) document.captureEvents(Event.CLICK);
document.onclick = clickHandle;

function clickHandle(evt)
{
 if (isNS4) document.routeEvent(evt);
 hideAllBut(0);
}

function moveRoot()
{
 with(menu[0][0].ref) left = ((parseInt(left) < 100) ? 100 : 5);
}                                 
