Closed Bug 186780 Opened 22 years ago Closed 21 years ago

Can't display Japascript correctly

Categories

(SeaMonkey :: General, defect)

x86
All
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: nomura, Assigned: asa)

References

()

Details

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.3a) Gecko/20021211
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.3a) Gecko/20021211

Mozilla can't display an online banking page correctly. It is difficult to view
the page because it requires Citibank account in Japan.
The symptom is that it must be show the page which is divided into two areas,
but mozilla can't display the bottom one and display the top one twice and two
blank areas. It means mozilla divided the page into four areas and diaply two
same contents and two blank areas. This symptom was not seen in 2002121008 build
and has been seen since 2002121108 build. Here is the page source.

<!--NavShell.dtf-->
<html>
<head>
<title>¥·¥Æ¥£¥Ð¥ó¥¯ ¥ª¥ó¥é¥¤¥ó
</title>
<script LANGUAGE=JavaScript>

var Channels;
var NControl;
var WorkArea;
var wk=2;

// Timeout processing
var TimerId = 0
var TimerMsg1 = "¤·¤Ð¤é¤¯¤´ÆþÎϤµ¤ì¤Æ¤ª¤ê¤Þ¤»¤ó¡£¤¢¤È5ʬÀܳ¤ò±äŤǤ­¤Þ¤¹¤¬¡¢Â³
¤±¤Æ¤´ÍøÍѤʤµ¤¤¤Þ¤¹¤«¡©¡Ê¤ªµÒÍͤΥ»¥­¥å¥ê¥Æ¥£¤Î¤¿¤á¡¢1ʬ°ÊÆâ¤Ë¤´ÆþÎϤ¬¤Ê¤¤¾ì
¹ç¡¢¼«Æ°Åª¤ËÀܳ¤ò½ªÎ»¤µ¤»¤ÆÄº¤­¤Þ¤¹¡£¡Ë"
var TimerMsg2 = "¤·¤Ð¤é¤¯¤´ÆþÎϤµ¤ì¤Æ¤ª¤ê¤Þ¤»¤ó¡£"
var TimerMsg3 = "¤ªµÒÍͤθýºÂ¾ðÊó¤òÊݸ¤ë¤¿¤á¤Ë¡¢¥·¥Æ¥£¥Ð¥ó¥¯ ¥ª¥ó¥é¥¤¥ó¤Ø¤ÎÀÜ
³¤ò½ªÎ»¤µ¤»¤ÆÄº¤­¤Þ¤·¤¿¡£"
var TmrWarn = 5
var nAllowed = 4
var NumExt  = 0
var bTimerId = false
var bMinTimer = false
var Refresh = false

// Dialog Busy
var sDlgPhr = ""             // do you really want to quit phrase
var sDlgPhr2 = ""            // 2nd level confirm
var sDlgTyp = ""             // ok or confirm popup
var sBsy2

// Personalization
var Home = "HOME"
var NN = ""
var Favs = ""
var CV = "0"
var ForcedPINChange = false;
var LoanMarkMsg = false;
var NoSummaryAtSignoff = 0;

// Messages
var sURLMsg = "¤ªµÒÍͤϥ·¥Æ¥£¥Ð¥ó¥¯ ¥ª¥ó¥é¥¤¥ó¤Î¾¤Î¥¨¥ê¥¢¤ËÆþ¤í¤¦¤È¤·¤Æ¤¤¤Þ¤¹¡£
¤³¤Á¤é¤Ç¤Ï¡¢»þ´Ö¤¬·Ð²á¤¹¤ë¤È¡¢¤ªµÒÍͤ¬¥·¥Æ¥£¥Ð¥ó¥¯ ¥ª¥ó¥é¥¤¥ó¤Ø¤ÎÀܳ¤ò¤ªÂ³¤±¤Ë
¤Ê¤é¤ì¤ë¤«¤É¤¦¤«¤ò³Îǧ¤¹¤ë¥á¥Ã¥»¡¼¥¸¤¬Î®¤ì¤Þ¤¹¤Î¤Ç¡¢¤´³Îǧ¤ò¤ª´ê¤¤¤¤¤¿¤·¤Þ¤¹¡£¤è
¤í¤·¤¤¤Ç¤·¤ç¤¦¤«¡£";
var sMailMsg = "";
var sPrintMsg = "\nTo print this or any other screen in Citibank Online, you
must use the print function of this browser.\n\nUsually this function is
activated by holding the ctrl key and pressing P. For Macintosh computers, hold
the apple key and press P. Then follow the instructions in the dialogue box that
appears on your screen.\n";

var MenuLink = "";
var SignOffLink = "";
var SignOff = false;

// Currency information
var DecimalChar = ".";
var DescriptorPos = "2";

// Device
var Device = "HTMLGPH";
var SUA = navigator.userAgent;

function parseDomain(strDomain)
{
	return strDomain.substring(strDomain.indexOf('.'), strDomain.length);
}

function FormatAmt(amt,currcode,precision)
{
	var numbers=false;

	// Check to see if any of the inputs are not available
	if (amt=="" || currcode=="" || precision==null)
		return ""

	for(var i=0;i<amt.length;i++)
	{
		c=amt.substring(i,i+1)
		// Check to see if each digit is numeric
		if (c<"0" || c>"9")
		{
			// Digit is not numeric
			// Only decimal characters are allowed other than numbers
			if (c==DecimalChar)
			{
				// If precision is 0, then decimal characters are not allowed
				if (precision==0)
					return ""
				else
				{
					// If precision is not 0, then only 1 decimal character is allowed
					remain = amt.substring(i+1,amt.length)
					if (remain.indexOf(DecimalChar) != -1)
						return ""

					// If precision is not 0, then then number of digits following 
					// the decimal character can't be greater than the precision
					if (remain.length > precision)
						return ""
				}
			}
			else
			{
				// Character is not the decimal character
				return ""
			}
		}
		else
			// At least one number found within the amount
			numbers = true;
	}

	// If there are no number within the amount return error
	if (!numbers)
		return ""

	if (precision > 0)
	{
		// If precision is not 0 and no decimal character was entered, then append
		// the decimal character to the amount
		decimalpos = amt.indexOf(DecimalChar)
		if (decimalpos == -1)
		{
			if (amt.length > 1 && amt.charAt(0) == "0")
				return ""
			amt = amt + DecimalChar;
			decimal = "";
		}
		else
		{
			// Decimal character was entered as part of the amount. If the whole
			// part has length of greater than 1 and it has a leading 0 then the
			// amount is not valid
			decimal = amt.substring(decimalpos+1,amt.length)
			whole = amt.substring(0,decimalpos)
			if (whole.length > 1 && whole.charAt(0) == "0")
				return ""
		}
		
		// Add as many zeros as needed, based on the precision, to complete the amount
		if (decimal.length < precision)
			for(var j=decimal.length+1;j<=precision;j++)
				amt = amt + "0";

		// If the there is nothing to the left of the decimal character then insert a
		// 0 at the beginning
		if (decimalpos == 0)
			amt = "0" + amt;
	}
	// Now put the descriptor based on the position
	if (DescriptorPos == "1")
		amt = currcode + " " + amt;
	else
		amt = amt + " " + currcode;

	// return the formatted amount
	return amt
}

function replace(Phrase,Tkn2Repl,ReplVal) 
{
	if (Phrase.length==0 || Tkn2Repl.length==0 || ReplVal.length==0)
	{
		return ""
	} 
	first=Phrase.indexOf(Tkn2Repl,0)
	if (first==-1) 
	{
		return ""
	}
	return
Phrase.substring(0,first)+ReplVal+Phrase.substring(first+Tkn2Repl.length,Phrase.length)
}

function GoHome(src)
{
	Channels.GoHome(src);
}

function GoSignOff()
{
	Channels.GoOff();
}

function DoSignOff()
{
	Channels.DoSignOff();
}

function DoSum()
{
	Channels.DoSum();
}

function GenericWin(cURL, name, tb, st, men, hsz, vsz, hloc, vloc)
{
	gWin =
window.open(cURL,name,"toolbar="+tb+",location=no,directories=no,status="+st+",menubar="+men+",scrollbars=yes,resizable=yes,width="+hsz+",height="+vsz+",top="+vloc+",left="+hloc)
	return gWin
}

function ConfirmGo()
{
	var sBsy = IsDlgBsy()
	sBsy2=sBsy
	if (sBsy != "")
	{
		if (sDlgTyp == "a")
		{
			alert (sBsy)
			return false
		}
		if (sDlgTyp == "c")
		{
			if (!confirm(sBsy))
				return false
			else
			{
				if (sDlgPhr2 != "") 
				{
					if (!confirm(sDlgPhr2))
						return false
				} 
			}
		}
		else
			alert("Dialog Error: SetDlgBsy 'Type' not alert or confirm!")
	}
	SetDlgBsy("","","")   // clear out phrase
	return true
}

function Print()
{
	if ((navigator.appName == "Netscape") && (navigator.appVersion.substring(0,1)
>= "4"))
		frames[wk].print();
	else if ((navigator.appName=="Microsoft Internet Explorer") &&
(!navigator.appVersion.substring(0,1) < "4") &&
		 (navigator.userAgent.indexOf("MSIE 4") == -1))
		// IE 5 and up (anything but IE3 and IE4)
	{
		frames[wk].focus();
		frames[wk].print();
	}
	else
	{
		alert(sPrintMsg);
		frames[wk].focus();
	}
}

function TimeStamp()
{
	var zDate = new Date;
	var zTime = zDate.getTime();
	return zTime.toString();
}

function GetLink(name)
{
	for (i=0; i<Channels.document.links.length; i++)
	{
		href = Channels.document.links[i].href;
		href = href.toString();
		if (href.indexOf(name) != -1)
			return href + "&_NS=" + TimeStamp();
	}
	return ""
}

function clrScrTOwinp()
{
	Refresh = false;
	if (bTimerId) { clearTimeout(TimerId); bTimerId = false }
	if (bMinTimer) { clearTimeout(MinTimer); bMinTimer = false }
}

function setScrTO(minutes)
{
	clrScrTOwinp();
	NumExt  = 0;
	TmrWarn = minutes;
	Begin = new Date();
	TimerId = setTimeout('getmoretime(TmrWarn)', (TmrWarn-1)*60*1000);
	bTimerId = true
}

function TerminateTO(sMsg)
{
	clrScrTOwinp()	 
	alert(sMsg);
	SignOff = true;
	window.location = SignOffLink + "&_NS=" + TimeStamp();
}

function GetTimeDiff(begin)
{
	var end = new Date();
	return end.getTime() - begin.getTime();
}

function getmoretime(TmrWarn)
{
	window.focus();
	Begin = new Date();
	NumExt++;
	if (NumExt > nAllowed)
	{
		window.location = SignOffLink + "&_NS=" + TimeStamp();
		TerminateTO(TimerMsg2+TimerMsg3)
		return;
	}
	alert(TimerMsg1)
	if (GetTimeDiff(Begin) < 55000)
	{
		NControl.location = "/HomeBankingSecure/insess.asp?_D=_PM&_C=_KEEPALIVE&_TS="
+ TimeStamp();
		clrScrTOwinp()
		TimerId = setTimeout('getmoretime(TmrWarn)', (TmrWarn-1)*60*1000);
		bTimerId = true
		Begin = new Date();
	} 
	else 
	{
		TerminateTO(TimerMsg2 + TimerMsg3)
	}
}

function SetDlgBsy(sTyp, sPhr, sPhr2)
{
	if (sTyp == "")
	{
		sDlgTyp = sTyp
		sDlgPhr = ""
		sDlgPhr2 = ""
	} 
	else 
	{
	sDlgTyp = sTyp
	sDlgPhr = sPhr
	sDlgPhr2 = sPhr2
	}
}

function IsDlgBsy()
{   
	return sDlgPhr
}

function ReportWin(cURL, name)
{
	rWin = GenericWin(cURL,name,"no","no","yes","600","400","20","30")
	return rWin
}

function GenericWin(cURL, name, tb, st, men, hsz, vsz, hloc, vloc)
{
	gWin =
window.open(cURL,name,"toolbar="+tb+",location=no,directories=no,status="+st+",menubar="+men+",scrollbars=yes,resizable=yes,width="+hsz+",height="+vsz+",top="+vloc+",left="+hloc)
	return gWin
}

function StartDialog(name,txntypecode)
{
	Channels.StartDialog(name,txntypecode);
}

function GetDialog(name,txntypecode)
{
	return frames[0].GetDialog(name,txntypecode);
}

function hilite(idx)
{
	frames[0].hilite(idx);
}

function Toggle()
{
	frames[0].Toggle();
}

function GetCookie (name, dc) {
// This function retrieves the value of a cookie specified in the name variable.
var dcookie = (dc != null) ? dc : document.cookie; 
var cname = name + "=";
var clen = dcookie.length;
var cbegin = 0;
        while (cbegin < clen) {
        var vbegin = cbegin + cname.length;
                if (dcookie.substring(cbegin, vbegin) == cname) { 
                var vend = dcookie.indexOf (";", vbegin);
                        if (vend == -1) vend = clen;
					if (vbegin != clen)
						return unescape(dcookie.substring(vbegin, vend));
					else return null
                }
        cbegin = dcookie.indexOf(" ", cbegin) + 1;
                if (cbegin == 0) break;
        }
return null;
}

function DeleteCookie (name,path,domain) {
// This function deletes a cookie from the browser by setting the date of its
expiration to
// year 1985.  This function takes 3 parameters:
// name: the name of the cookie
// path: the path that the cookie is qualified with
// domain: the domain that the cookie is qualified with

  if (GetCookie(name)) {
	var ExpDate = new Date();
	ExpDate.setYear(1985);
	document.cookie = name + "=" +
		  "; expires=" + ExpDate.toGMTString() + 
		  "; path=" + path +
		  "; domain=" + domain;
  }
}

function CheckSummary()
{
	if (GetCookie("SUM") == "Y")
	{
		DeleteCookie("SUM","/HomeBankingSecure/Pers",window.location.hostname)
		DoSignOff();
		return;
	}
	setTimeout('CheckSummary()',200)
}

function GoDomain(loc)
{
	// get our domain
	var d = location.hostname;
	var pos = d.lastIndexOf(".")
	var pos1 = d.length
	pos = d.lastIndexOf(".",pos-1);
	var d = d.substring(pos,pos1);
	// get expire time
	var expdt = new Date()
	expdt.setTime(expdt.getTime()+300000);
	// write the cookie
	document.cookie = "_IS_DA_=1;expires="+expdt.toGMTString()+";path=/;domain="+d+";";
	var c = document.cookie;
	if (c.indexOf("_IS_DA_=1") == -1)
	{
		expdt = new Date();
		dt = new Date();
		var pt = dt.setTime(dt.getTime())
		var gmt = Date.parse(expdt.toGMTString());
		gf = parseFloat(Date.parse(expdt.toGMTString()))
		pf = parseFloat(dt.setTime(dt.getTime()));
		expdt.setTime(expdt.getTime() + 3600000 + (-1*((gf-pf))));
		document.cookie="_IS_DA_=1;expires="+expdt.toGMTString()+";path=/;domain="+d+" ;";
	}
	else
	{
		expdt.setTime(expdt.getTime()+3600000);
		// write the cookie
		document.cookie =
"_IS_DA_=1;expires="+expdt.toGMTString()+";path=/;domain="+d+";";
	}
	if((SUA.indexOf("AOL")== -1) && (!((navigator.appName.indexOf("Microsoft")!=-1)
&& (navigator.appVersion.substring(0,1)<"5"))))
	{
	
domainWindow=window.open(loc,"DOM","toolbar=yes,directories=no,location=no,status=yes,menu=yes,scrollbars=yes,resizable=yes,copyhistory=no,width=640,height=440");
		domainWindow.focus();
	}
	else
	{
	
window.open(loc,"DOM","toolbar=yes,directories=no,location=no,status=yes,menu=yes,scrollbars=yes,resizable=yes,copyhistory=no,width=640,height=440");
	}
}

function Init()
{
	Channels = frames[0];
	NControl = frames[1];
	WorkArea = frames[2];
	SignOffLink = Channels.document.F1.action + "&SELCHOICE=SIGNOFF";
	if (LoanMarkMsg)
		hilite(0);
}

var bOnce = false;
function CheckEnd()
{
	// No need to end the session when going out of scope in the portal
	if (Device=="PORTAL")
		return;
	if (!SignOff && !bOnce)
	{
		bOnce = true
		// It is either a reload or forcefull closing of the window
		now = new Date();
		windowname = "DA" + now.getTime();
		href = window.location.protocol+"//"+window.location.hostname +
"/HomeBankingSecure/Unload.htm?" + SignOffLink + "&_NS=" + now.getTime();
	
window.open(href,windowname,"toolbar=no,directories=no,location=no,status=yes,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width=640,height=480")
	}
}

</SCRIPT>
</head>
<frameset ROWS="170,1,*" FRAMEBORDER=0 BORDER=0 FRAMESPACING=0 onLoad=Init()
onUnLoad=CheckEnd()>
<frame ID=NavChans NAME="" MARGINWIDTH=0 MARGINHEIGHT=0 FRAMEBORDER=0 NORESIZE
SCROLLING=NO
SRC="/HomeBankingSecure/insess.asp?_D=NavFrameSet&_C=HTML&_F=&_T=CH&NavChans=&_S=3&_V=NavChans&_NS=3&_TS=1040862195">
<frame ID=NavCtrl  NAME="" MARGINWIDTH=0 MARGINHEIGHT=0 FRAMEBORDER=0 NORESIZE
SCROLLING=NO
SRC="/HomeBankingSecure/insess.asp?_D=NavFrameSet&_C=HTML&_F=&_T=CH&NavCtrl=&_S=3&_V=NavCtrl&_NS=3&_TS=1040862195">
<frame ID=NavWork  NAME="WorkArea17161618188360" MARGINWIDTH=0 MARGINHEIGHT=0
FRAMEBORDER=0 NORESIZE SCROLLING=AUTO
SRC="/HomeBankingSecure/insess.asp?_D=NavFrameSet&_C=HTML&_F=WorkArea17161618188360&_T=CH&NavWork=&_S=3&_V=NavWork&_NS=3&_TS=1040862195">
</frameset>
</html>
<!-->

Reproducible: Always

Steps to Reproduce:
1.http://www.citidirect.citibank.co.jp/HomeBankingSec/StartSession.asp?LANG=10&LANGNAME=Japanese&DEVICEMODE=HTMLGPH&SRCT=10
2.type account number, password and PIN code then click 'sign on'. 
3.Click the top left icon and you will see the symptom

Actual Results:  
The page which is divided into four areas.
I can't click any icons.

Expected Results:  
The page which is divided into two areas.
Every icons in the two areas can be clicked.

2002121008 build didn't show the symptom. It works fine.
2002121108 build shows the symptom and the latest build(20021225) still has the
problem.
Tomoo, can you reproduce this bug with a new build of Mozilla?
2003011508 build seems toclear the problem.
Thanks.
Status: UNCONFIRMED → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
Reappear in 2003011508 (Linux) and 2003011808 (Windows)
Status: RESOLVED → UNCONFIRMED
OS: Windows 2000 → All
Resolution: FIXED → ---
Mozilla-1.4b (20030425) seems to fix the problem. PLS close this.
Resolving WFM as per comment #4
Status: UNCONFIRMED → RESOLVED
Closed: 22 years ago21 years ago
Resolution: --- → WORKSFORME
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.