investecprivatebank.co.za - online banking navigation menus do not render properly

RESOLVED DUPLICATE of bug 79225

Status

()

Core
JavaScript Engine
RESOLVED DUPLICATE of bug 79225
14 years ago
14 years ago

People

(Reporter: Zahir Toufie, Unassigned)

Tracking

Trunk
x86
Linux
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(URL)

(Reporter)

Description

14 years ago
User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6b) Gecko/20031210
Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6b) Gecko/20031210

I've been trying to access my online banking website but the navigation menu
is'nt rendering properly. I've included a copy of the full source of the
navigation frame in order to reproduce the error. The reason for including the
actual source and not just the URL is that you will only get to the error once
you login as a customer.

Basically the menu comes up all garbled and none of the links work properly,
whereas even in the old netscape 4.7x it works perfectly.

Reproducible: Always

Steps to Reproduce:
1. Just save the included source into an html file and open in mozilla.
2.
3.

Actual Results:  
Menu comes up all garbled.

Expected Results:  
Display a context sensitive menu with links on which you can click.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>

<META HTTP-EQUIV="pragma" CONTENT="no-cache">

<head>

<title>Investec Private Bank</title>
<style>

TD{font-family:arial,helvetica; font-size:10pt}

A{color:Navy; text-decoration:none}

A:hover{color:#6656BC}

A:active {color: #373737}

BODY { background-image:
url(https://www.secure.za.investec.com/online/images/menu/Logo.gif);
background-repeat: no-repeat; background-color: #FFFFFF; }

#divLoadCont{position:absolute; width:120%; height:100%; top:0; left:0;
background-color:white; layer-background-color:white;
font-family:arial,helvetica; z-index:100}

//-->

</style>

<script language="JavaScript">

n=document.layers; ie=document.all

var vCurrent = 0;

//Prevents right frame from going back.

function setCurrent (aNewCurrent)

{

  if (aNewCurrent >= vCurrent)

  {

    vCurrent = aNewCurrent;

    return true;

  }

  else

  {

    return false;

  }

}

//Hides the layer onload

function hidemnu(){

 if(ie || n){

  if(n) document.divLoadCont.visibility="hidden"

  else divLoadCont.style.visibility="hidden"

  }

 }

var isNav

isNav = (navigator.appName == "Netscape")

var output = "<style>"

if (isNav) {

output += "DIV.clTop{position:absolute; height: 19px; top: -9;}"
output += "DIV.clSub{position:absolute; height: 20px; left:-10; top:25; width:
175; text-align:right}"
output += "#divCont{position:relative; left:0; top:0; width:175; height: 100%}"
output += "A.clMain{font-family:Arial, Verdana, Helvetica, Helv;height: 19px;
font-size:11.6px;text-decoration:none; font-weight:bold; color:navy }"

output += "A.clSubb{font-family:Arial, Verdana, Helvetica, Helv;
font-size:9.5px; text-decoration:none; font-weight:bold; color:navy}"
output += "#divMain{position:absolute; left:0; top:0}"
}

else {

output += "DIV.clTop{position:absolute; top:0;  width:200}"

output += "DIV.clSub{position:absolute; left: -30; top:25; width:190;
text-align:right}"

output += "#divCont{position:relative; left:0; top:0; height:600; width:148}"

output += "A.clMain{font-family:Arial, Verdana, Helvetica, Helv;
font-size:10.5px; text-decoration:none; font-weight:bold; color:#OC1C47}"

output += "A.clSubb{font-family:Arial, Verdana, Helvetica, Helv;
font-size:9.5px; text-decoration:none; font-weight:bold; color:#OC1C47}"

output += "#divMain{position:absolute}"

}

output += "</style>"

document.write(output) 

var mUseTitle = true;

function traverse(aTitle)
{
  tmp = top.RIGHT
  if (mUseTitle == 0)
  {
    if (!(tmp != null && tmp.document != null && tmp.document.forms [0] != null
&& tmp.document.forms[0].CanRedirect != null &&
tmp.document.forms[0].CanRedirect.value == 'false'))
    {
      mUseTitle = top.TITLE.isBLoaded ();
    }
  }
  if (mUseTitle)
  {
    if (!(tmp != null && tmp.document != null && tmp.document.forms [0] != null
&& tmp.document.forms[0].CanRedirect != null &&
tmp.document.forms[0].CanRedirect.value == 'false'))
    {
      top.TITLE.createProcess (aTitle);
    }
  }
  else
  {
    if (!(tmp != null && tmp.document != null && tmp.document.forms [0] != null
&& tmp.document.forms[0].CanRedirect != null &&
tmp.document.forms[0].CanRedirect.value == 'false'))
    {
      top.RIGHT.document.forms[0].EXEC.value = "TraverseHyperlink";
      top.RIGHT.document.forms[0].Refresh.value = aTitle;
      top.RIGHT.document.forms[0].submit ();
    }
  }
}



var stayFolded=false

var n = (document.layers) ? 1:0;

var ie = (document.all) ? 1:0;

var browser=((n || ie) && parseInt(navigator.appVersion)>=4)  



function makeMenu(obj,nest){

        nest=(!nest) ? '':'document.'+nest+'.'

        this.css=(n) ? eval(nest+'document.'+obj):eval('document.all.'+obj+'.style')

        this.ref=(n) ? eval(nest+'document.'+obj+'.document'):eval('document');

        this.height=n?this.ref.height:eval(obj+'.offsetHeight')

        this.x=(n)? this.css.left:this.css.pixelLeft;this.y=(n)?
this.css.top:this.css.pixelTop;

        this.hideIt=b_hideIt;   this.showIt=b_showIt; this.vis=b_vis;
this.moveIt=b_moveIt

        return this

}



function b_showIt(){this.css.visibility="visible"}

function b_hideIt(){this.css.visibility="hidden"}

function b_vis(){if(this.css.visibility=="hidden" ||
this.css.visibility=="hide") return true;}

function b_moveIt(x,y){this.x=x; this.y=y; this.css.left=this.x;
this.css.top=this.y}



function init(){

  oTop = new Array ()
  oSub = new Array ()
  oTop[0] = new makeMenu ('divTop0', 'divCont')
  oSub[0] = new makeMenu ('divSub0', 'divCont.document.divTop0')
  oTop[1] = new makeMenu ('divTop1', 'divCont')
  oSub[1] = new makeMenu ('divSub1', 'divCont.document.divTop1')
  oTop[2] = new makeMenu ('divTop2', 'divCont')
  oSub[2] = new makeMenu ('divSub2', 'divCont.document.divTop2')
  oTop[3] = new makeMenu ('divTop3', 'divCont')
  oSub[3] = new makeMenu ('divSub3', 'divCont.document.divTop3')
  oTop[4] = new makeMenu ('divTop4', 'divCont')
  oSub[4] = new makeMenu ('divSub4', 'divCont.document.divTop4')
  oTop[5] = new makeMenu ('divTop5', 'divCont')
  oSub[5] = new makeMenu ('divSub5', 'divCont.document.divTop5')
  oTop[6] = new makeMenu ('divTop6', 'divCont')
  oSub[6] = new makeMenu ('divSub6', 'divCont.document.divTop6')
  oTop[7] = new makeMenu ('divTop7', 'divCont')
  oSub[7] = new makeMenu ('divSub7', 'divCont.document.divTop7')
  oTop[8] = new makeMenu ('divTop8', 'divCont')
  oSub[8] = new makeMenu ('divSub8', 'divCont.document.divTop8')
  oTop[9] = new makeMenu ('divTop9', 'divCont')
  oSub[9] = new makeMenu ('divSub9', 'divCont.document.divTop9')
  oTop[10] = new makeMenu ('divTop10', 'divCont')
  oSub[10] = new makeMenu ('divSub10', 'divCont.document.divTop10')
  oTop[11] = new makeMenu ('divTop11', 'divCont')
  oSub[11] = new makeMenu ('divSub11', 'divCont.document.divTop11')
  oTop[12] = new makeMenu ('divTop12', 'divCont')
  oSub[12] = new makeMenu ('divSub12', 'divCont.document.divTop12')

for(i=0;i<oSub.length;i++){ oSub[i].hideIt() }

        for(i=1;i<oTop.length;i++){ oTop[i].moveIt(0,oTop[i-1].y+oTop[i-1].height) }

                 hidemnu();

}



function menu(num){

        if(browser){

                if(!stayFolded){

                        for(i=0;i<oSub.length;i++){

                                if(i!=num) oSub[i].hideIt()

                        }

                        for(i=1;i<oTop.length;i++){

                                oTop[i].moveIt(0,oTop[i-1].y+oTop[i-1].height)

                        }

                }

                oSub[num].vis()?oSub[num].showIt():oSub[num].hideIt()

                for(i=1;i<oTop.length;i++){ 

                        if(!oSub[i-1].vis())
oTop[i].moveIt(0,oTop[i-1].y+oTop[i-1].height+oSub[i-1].height) 

                        else oTop[i].moveIt(0,oTop[i-1].y+oTop[i-1].height)

                }

        }

}



if(browser) onload=init;

</script>

</head>

<body>

<br><br><br><br><br><br><br>

  <script>

//We write the table and the div to hide the content out, so older browsers
won't see it

if(ie || n) document.write('<div id="divLoadCont"><table border="0" width="120%"
height="100%" align="center" valign="top"><tr align="center" valign="top"><td
width="100%" height="100%" align="center" valign="middle"><font size=1.5px>Menu
Loading....</font></td></tr></table></div>')

</script>

<div id="divCont">

<div id="divTop0" class="clTop" ><A HREF="#" onclick="menu (0); return false;"
class="clMain" onMouseOver="return true" onMouseOut="return true"
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Account Queries</A>
  <div id="divSub0" class="clSub">
    <table>

  <tr><td align="right" width="90"></td><td align="left" width="100"><a
href="javascript:traverse(5)" class="clSubb">Account Summary</a></td></tr>
  <tr><td align="right" width="90"></td><td align="left" width="100"><a
href="javascript:traverse(9)" class="clSubb">Account Detail</a></td></tr>
  <tr><td align="right" width="90"></td><td align="left" width="100"><a
href="javascript:traverse(15)" class="clSubb">Transactional History</a></td></tr>
  <tr><td align="right" width="90"></td><td align="left" width="100"><a
href="javascript:traverse(19)" class="clSubb">Online Banking Audit
Trail</a></td></tr>
  <tr><td align="right" width="90"></td><td align="left" width="100"><a
href="javascript:traverse(21)" class="clSubb">Online Documents</a></td></tr>
  <tr><td align="right" width="90"></td><td align="left" width="100"><a
href="javascript:traverse(23)" class="clSubb">Beneficiary and Bank Account
Summary</a></td></tr>

  <tr><td>&nbsp;</td></tr>
  </table>
  </div>
</div>
<div id="divTop1" class="clTop" ><A HREF="#" onclick="menu (1); return false;"
class="clMain" onMouseOver="return true" onMouseOut="return true"
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Payments &
Transfers</A>
  <div id="divSub1" class="clSub">
    <table>
  <tr><td align="right" width="90"></td><td align="left" width="100"><a
href="javascript:traverse(27)" class="clSubb">Beneficiary Payments and Account
Transfers</a></td></tr>

  <tr><td align="right" width="90"></td><td align="left" width="100"><a
href="javascript:traverse(31)" class="clSubb">Schedule a
Payment/Transfer</a></td></tr>
  <tr><td align="right" width="90"></td><td align="left" width="100"><a
href="javascript:traverse(35)" class="clSubb">Make an Ad-hoc Payment</a></td></tr>
  <tr><td align="right" width="90"></td><td align="left" width="100"><a
href="javascript:traverse(39)" class="clSubb">Amend Scheduled
Payment/Transfer</a></td></tr>
  <tr><td align="right" width="90"></td><td align="left" width="100"><a
href="javascript:traverse(43)" class="clSubb">Delete Scheduled
Payment/Transfer</a></td></tr>
  <tr><td align="right" width="90"></td><td align="left" width="100"><a
href="javascript:traverse(47)" class="clSubb">View Scheduled
Payments/Transfers</a></td></tr>
  <tr><td>&nbsp;</td></tr>

  </table>
  </div>
</div>
<div id="divTop2" class="clTop" ><A HREF="#" onclick="menu (2); return false;"
class="clMain" onMouseOver="return true" onMouseOut="return true"
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Category Admin</A>
  <div id="divSub2" class="clSub">
    <table>
  <tr><td align="right" width="90"></td><td align="left" width="100"><a
href="javascript:traverse(53)" class="clSubb">Add a Category</a></td></tr>
  <tr><td align="right" width="90"></td><td align="left" width="100"><a
href="javascript:traverse(57)" class="clSubb">Amend a Category</a></td></tr>

  <tr><td align="right" width="90"></td><td align="left" width="100"><a
href="javascript:traverse(61)" class="clSubb">Remove a Category</a></td></tr>
  <tr><td>&nbsp;</td></tr>
  </table>
  </div>
</div>
<div id="divTop3" class="clTop" ><A HREF="#" onclick="menu (3); return false;"
class="clMain" onMouseOver="return true" onMouseOut="return true"
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Beneficiary Admin</A>
  <div id="divSub3" class="clSub">
    <table>
  <tr><td align="right" width="90"></td><td align="left" width="100"><a
href="javascript:traverse(65)" class="clSubb">Add a Beneficiary</a></td></tr>

  <tr><td align="right" width="90"></td><td align="left" width="100"><a
href="javascript:traverse(69)" class="clSubb">Amend Beneficiary
Details</a></td></tr>
  <tr><td align="right" width="90"></td><td align="left" width="100"><a
href="javascript:traverse(73)" class="clSubb">Remove a Beneficiary</a></td></tr>
  <tr><td>&nbsp;</td></tr>
  </table>
  </div>
</div>
<div id="divTop4" class="clTop" ><A HREF="#" onclick="menu (4); return false;"
class="clMain" onMouseOver="return true" onMouseOut="return true"
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Bank Account Admin</A>
  <div id="divSub4" class="clSub">

    <table>
  <tr><td align="right" width="90"></td><td align="left" width="100"><a
href="javascript:traverse(77)" class="clSubb">Add External Bank
Account</a></td></tr>
  <tr><td align="right" width="90"></td><td align="left" width="100"><a
href="javascript:traverse(81)" class="clSubb">Amend Bank Account
Detail</a></td></tr>
  <tr><td align="right" width="90"></td><td align="left" width="100"><a
href="javascript:traverse(85)" class="clSubb">Remove a Bank Account</a></td></tr>
  <tr><td align="right" width="90"></td><td align="left" width="100"><a
href="javascript:traverse(89)" class="clSubb">Print Transfer of Debit Order
Request Form</a></td></tr>
  <tr><td align="right" width="90"></td><td align="left" width="100"><a
href="javascript:traverse(93)" class="clSubb">Print a Deposit Slip</a></td></tr>

  <tr><td>&nbsp;</td></tr>
  </table>
  </div>
</div>
<div id="divTop5" class="clTop" ><A HREF="#" onclick="menu (5); return false;"
class="clMain" onMouseOver="return true" onMouseOut="return true"
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Personal Settings</A>
  <div id="divSub5" class="clSub">
    <table>
  <tr><td align="right" width="90"></td><td align="left" width="100"><a
href="javascript:traverse(101)" class="clSubb">View Personal Details</a></td></tr>
  <tr><td align="right" width="90"></td><td align="left" width="100"><a
href="javascript:traverse(105)" class="clSubb">Default Online Banking
Settings</a></td></tr>

  <tr><td align="right" width="90"></td><td align="left" width="100"><a
href="javascript:traverse(109)" class="clSubb">Notification Settings</a></td></tr>
  <tr><td align="right" width="90"></td><td align="left" width="100"><a
href="javascript:traverse(110)" class="clSubb">Document Settings</a></td></tr>
  <tr><td align="right" width="90"></td><td align="left" width="100"><a
href="javascript:traverse(111)" class="clSubb">How to change your salary
details</a></td></tr>
  <tr><td>&nbsp;</td></tr>
  </table>
  </div>
</div>
<div id="divTop6" class="clTop" ><A HREF="#" onclick="menu (6); return false;"
class="clMain" onMouseOver="return true" onMouseOut="return true"
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Journey Card</A>

  <div id="divSub6" class="clSub">
    <table>
  <tr><td align="right" width="90"></td><td align="left" width="100"><a
href="javascript:traverse(124)" class="clSubb">Enrolment Form</a></td></tr>
  <tr><td>&nbsp;</td></tr>
  </table>
  </div>
</div>
<div id="divTop7" class="clTop" ><A HREF="#" onclick="menu (7); return false;"
class="clMain" onMouseOver="return true" onMouseOut="return true"
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cash Management</A>
  <div id="divSub7" class="clSub">

    <table>
  <tr><td align="right" width="90"></td><td align="left" width="100"><a
href="javascript:traverse(126)" class="clSubb">Enrolment Form</a></td></tr>
  <tr><td>&nbsp;</td></tr>
  </table>
  </div>
</div>
<div id="divTop8" class="clTop" ><A HREF="#" onclick="menu (8); return false;"
class="clMain" onMouseOver="return true" onMouseOut="return true"
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Investec Dividends</A>
  <div id="divSub8" class="clSub">
    <table>

  <tr><td align="right" width="90"></td><td align="left" width="100"><a
href="javascript:traverse(130)" class="clSubb">Registration</a></td></tr>
  <tr><td align="right" width="90"></td><td align="left" width="100"><a
href="javascript:traverse(134)" class="clSubb">Redemptions</a></td></tr>
  <tr><td align="right" width="90"></td><td align="left" width="100"><a
href="javascript:traverse(136)" class="clSubb">Transfer Points</a></td></tr>
  <tr><td align="right" width="90"></td><td align="left" width="100"><a
href="javascript:traverse(137)" class="clSubb">Purchase Top-Up Points</a></td></tr>
  <tr><td align="right" width="90"></td><td align="left" width="100"><a
href="javascript:traverse(138)" class="clSubb">Points Balance</a></td></tr>
  <tr><td align="right" width="90"></td><td align="left" width="100"><a
href="http://www.investecprivatebank.co.za/dividends/" target="_top"
class="clSubb">Dividends Website</a></td></tr>

  <tr><td>&nbsp;</td></tr>
  </table>
  </div>
</div>
<div id="divTop9" class="clTop" ><A HREF="#" onclick="menu (9); return false;"
class="clMain" onMouseOver="return true" onMouseOut="return true"
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BMW Z4 Competition</A>
  <div id="divSub9" class="clSub">
    <table>
  <tr><td align="right" width="90"></td><td align="left" width="100"><a
href="javascript:traverse(140)" class="clSubb">Competition Entry</a></td></tr>
  <tr><td>&nbsp;</td></tr>

  </table>
  </div>
</div>
<div id="divTop10" class="clTop"><A HREF="javascript:traverse(141)"
onclick="menu(10); return true" class="clMain" onMouseOver="return true"
onMouseOut="return true"
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Contact Us</A>
  <div id="divSub10" class="clSub">
  </div>
</div>
<div id="divTop11" class="clTop"><A HREF="#" onclick="menu (11); return false;"
class="clMain" onMouseOver="return true" onMouseOut="return
true">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Online
Services</A>
  <div id="divSub11" class="clSub">
    <table>

  <tr><td align="right" width="90"></td><td align="left" width="100"><a
href="https://ipc.secure.za.investec.com/" target="_top"
class="clSubb">Securities Online</a></td></tr>
  <tr><td align="right" width="90"></td><td align="left" width="100"><a
href="https://insight.za.investec.com/iamportal/sa_retail.asp" target="_top"
class="clSubb">Personal Investments</a></td></tr>
  <tr><td align="right" width="90"></td><td align="left" width="100"><a
href="https://insight.za.investec.com/iamreport/iamreport.htm" target="_top"
class="clSubb">Institutional Investments</a></td></tr>
  <tr><td align="right" width="90"></td><td align="left" width="100"><a
href="http://www.investecprivatebank.co.za" target="_top"
class="clSubb">Home</a></td></tr>
  <tr><td>&nbsp;</td></tr>
  </table>
  </div>

</div>
<div id="divTop12" class="clTop"><A
HREF="https://www.secure.sso.za.investec.com/SSO/Logout.cfm" onclick="menu(12);
return true" TARGET="_top" class="clMain" onMouseOver="return true"
onMouseOut="return
true">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Logoff</A>
    <table>
  <tr><td align="right" width="90"></td><td align="left"
width="100">&nbsp;</td></tr>
  </table>
  <div id="divSub12" class="clSub">
  </div>
</div>
</div>

</div>

</body>

</html>

Comment 1

14 years ago
Judging on the code you gave above:

1) This site doesn't bother _properly_ detecting for DOM compliant browsers.
Only IE and Netscape 4.x 
2) It uses <element>.cl* when navigator.appName = "Netscape", which in Mozilla,
it does. These don't exist in Mozilla or Netscape >= 6 AFAIK.
3) It tries using this.css.* . I think it should be using this.style.*

This is a Evagelism case.

Comment 2

14 years ago
dupe of "investecprivatebank.co.za - unreadable dynamic menus after login"

*** This bug has been marked as a duplicate of 79225 ***
Status: UNCONFIRMED → RESOLVED
Last Resolved: 14 years ago
Resolution: --- → DUPLICATE

Comment 3

14 years ago
reporter: please read the bug reporting guidelines before filing a bug
http://www.mozilla.org/quality/bug-writing-guidelines.html

Some general hints:
1) this bug is NOT a blocker. If you click on the SEVERITY link above you'll see
that BLOCKER is reserved for bugs that "Blocks development and/or testing work".
That is not true for this one.
-> setting severity to NORMAL.

2) Also fill out ALL fields: you left the URL field blank. This makes it harder
to find bugs in a database and it makes it harder to reproduce/test the bug for
the developers.
-> adding URL http://investecprivatebank.co.za

3) make your summaries short and concise: 
-> updating summary
Old summary: "I'm trying to access my online banking website but the navigation
menu is'nt redering properly."

4) search bugzilla before filing a bug

I hope this helps :)
Severity: blocker → normal
Summary: I'm trying to access my online banking website but the navigation menu is'nt redering properly. → investecprivatebank.co.za - online banking navigation menus do not render properly
You need to log in before you can comment on or make changes to this bug.