diff --git a/web/root/ftelnet/ClientFuncs.js b/web/root/ftelnet/ClientFuncs.js deleted file mode 100644 index 9d04b6c07b522f6f0f9dc4f818bab6c15b3f9533..0000000000000000000000000000000000000000 --- a/web/root/ftelnet/ClientFuncs.js +++ /dev/null @@ -1,118 +0,0 @@ -function ClientClrScr() { - if ((typeof(HtmlTerm) !== "undefined") && HtmlTerm.Loaded) { - Crt.ClrScr(); - } else { - var FO = GetfTelnetObject(); - if (FO) { FO.ClrScr(); } - } -} - -function ClientConnect(AHost, APort) { - if ((typeof(HtmlTerm) !== "undefined") && HtmlTerm.Loaded) { - HtmlTerm.Connect(AHost, APort); - } else { - var FO = GetfTelnetObject(); - if (FO) { FO.Connect(AHost, APort); } - } -} - -function ClientConnected() { - if ((typeof(HtmlTerm) !== "undefined") && HtmlTerm.Loaded) { - return HtmlTerm.Connected(); - } else { - var FO = GetfTelnetObject(); - if (FO) { return FO.Connected(); } - } - - return false; -} - -function ClientDisconnect() { - if ((typeof(HtmlTerm) !== "undefined") && HtmlTerm.Loaded) { - HtmlTerm.Disconnect(); - } else { - var FO = GetfTelnetObject(); - if (FO) { FO.Disconnect(); } - } -} - -function ClientSetFont(ACodePage, AWidth, AHeight) { - ClientVars.CodePage = ACodePage; - ClientVars.FontWidth = AWidth; - ClientVars.FontHeight = AHeight; - - if ((typeof(HtmlTerm) !== "undefined") && HtmlTerm.Loaded) { - Crt.SetFont(ClientVars.CodePage, ClientVars.FontWidth, ClientVars.FontHeight); - } else { - var FO = GetfTelnetObject(); - if (FO) { FO.SetFont(ClientVars.CodePage, ClientVars.FontWidth, ClientVars.FontHeight); } - } -} - -function ClientSetLocalEcho(ALocalEcho) { - if ((typeof(HtmlTerm) !== "undefined") && HtmlTerm.Loaded) { - //TODO Add local echo support to HtmlTerm Crt.LocalEcho = ALocalEcho; - } else { - var FO = GetfTelnetObject(); - if (FO) { FO.SetLocalEcho(ALocalEcho); } - } -} - -function ClientSetScreenSize(AColumns, ARows) { - ClientVars.ScreenColumns = AColumns; - ClientVars.ScreenRows = ARows; - - if ((typeof(HtmlTerm) !== "undefined") && HtmlTerm.Loaded) { - Crt.SetScreenSize(ClientVars.ScreenColumns, ClientVars.ScreenRows); - } else { - var FO = GetfTelnetObject(); - if (FO) { FO.SetScreenSize(ClientVars.ScreenColumns, ClientVars.ScreenRows); } - } -} - -function ClientSetVirtualKeyboardWidth(ANewWidth) { - if ((typeof(HtmlTerm) !== "undefined") && HtmlTerm.Loaded) { - //TODO Add virtual keyboard to HtmlTerm - } else { - var FO = GetfTelnetObject(); - if (FO) { FO.SetVirtualKeyboardWidth(ANewWidth); } - } -} - -function ClientWrite(AText) { - if ((typeof(HtmlTerm) !== "undefined") && HtmlTerm.Loaded) { - Crt.Write(AText); - } else { - var FO = GetfTelnetObject(); - if (FO) { FO.Write(AText); } - } -} - -function ClientWriteLn(AText) { - if ((typeof(HtmlTerm) !== "undefined") && HtmlTerm.Loaded) { - Crt.WriteLn(AText); - } else { - var FO = GetfTelnetObject(); - if (FO) { FO.WriteLn(AText); } - } -} - -function fTelnetResize(AWidth, AHeight) { - var FO = GetfTelnetObject(); - if (FO) { - FO.setAttribute("width", AWidth); - FO.setAttribute("height", AHeight); - } -} - -function GetfTelnetObject() { - var AID = "fTelnet"; - - if (window.document[AID]) { return window.document[AID]; } - - if (navigator.appName.indexOf("Microsoft Internet") == -1) { - if (document.embeds && document.embeds[AID]) { return document.embeds[AID]; } - } else { - return document.getElementById(AID); - } -} diff --git a/web/root/ftelnet/ClientVars.js b/web/root/ftelnet/ClientVars.js deleted file mode 100644 index fcc08954d15bf12e73aeb20b23ea3e6dff9c0f9c..0000000000000000000000000000000000000000 --- a/web/root/ftelnet/ClientVars.js +++ /dev/null @@ -1,225 +0,0 @@ -var ClientVars = {}; - -// AlertDialogX and AlertDialogY control where the connect button will be displayed -// NOTE: To center the connect button, use 0 for both values -// NOTE: To position relative to the top or left, use positive values. To position relative to the bottom or right, use negative values -// NOTE: To position based on percent instead of pixel count, use values between 0 and 1 (or 0 and -1) (0.50 = 50%, for example) -// Default: 0 -ClientVars.AlertDialogX = 0; -ClientVars.AlertDialogY = 0; - -// AutoConnect controls how a connection to the remote server is initiated. -// 0 = Disabled -- User must click a button to connect -// 1 = Enabled -- Connection is made after the page loads -// Default: 0 -ClientVars.AutoConnect = 0; - -// BitsPerSecond controls how fast data is received from the remote server -// (except during file transfers, which run at full speed). -// Here are some suggested values to try: -// 115200, 57600, 38400, 28800, 19200, 14400, 9600, 4800, 2400, 1200, 300 -// (Those were just common bitrates, feel free to use any value you want) -// Default: 115200 -ClientVars.BitsPerSecond = 115200; - -// CodePage controls which font file to use. -// NOTE: Each code page has its own set of supported FondWidth and FontHeight -// values, so see the online documentation for help selecting OK values -// Available IBM PC code pages: -// 437 = The original IBM PC code page -// 737 = Greek -// 850 = Multilingual (Latin-1) (Western European languages) -// 852 = Slavic (Latin-2) (Central and Eastern European languages) -// 855 = Cyrillic -// 857 = Turkish -// 860 = Portuguese -// 861 = Icelandic -// 862 = Hebrew -// 863 = French (Quebec French) -// 865 = Danish/Norwegian -// 866 = Cyrillic -// 869 = Greek -// Available Amiga "code pages": -// BStrict -// BStruct -// MicroKnight -// MoSoul -// PotNoodle -// Topaz -// TopazPlus -// Available Atari "code pages" for standard 40 column displays: -// ATASCII-Arabic -// ATASCII-Graphics (Default for Atari) -// ATASCII-International -// Available Atari "code pages" for non-standard 80 column displays: -// ATASCII-Arabic-HalfWidth -// ATASCII-Graphics-HalfWidth -// ATASCII-International-HalfWidth -// Default: 437 -ClientVars.CodePage = "437"; - -// ConnectAnsi controls which ANSI file to display under the initial Connect button -// NOTE: Many webservers don't like the .ans extension, so use .txt instead -// NOTE: This setting has no effect when ClientVars.RIP is set to 1 -// NOTE: This should be the full absolute path, so if the .ans file is at -// http://www.ftelnet.ca/mybbs/connectansi.txt then the absolute path would be "/mybbs/connectansi.txt" -// Default: Commented out, which uses the embedded default -// ClientVars.ConnectAnsi = "/ftelnet/ftelnet-resources/connectansi.txt"; - -// ConnectButtonDown (and Over and Up) control the image used for the connect button -// NOTE: When commented out, or when the given images do not exist, the default embedded connect button will be used -// NOTE: This should be the full absolute path, so if the .png files are at -// http://www.ftelnet.ca/mybbs/Connect*.png then the absolute path would be "/mybbs/Connect*.png" -// Default: Commented out, which uses the embedded default -// ClientVars.ConnectButtonDown = "/ftelnet/ftelnet-resources/ConnectDown.png"; -// ClientVars.ConnectButtonOver = "/ftelnet/ftelnet-resources/ConnectOver.png"; -// ClientVars.ConnectButtonUp = "/ftelnet/ftelnet-resources/ConnectUp.png"; - -// ConnectButtonX and ConnectButtonY control where the connect button will be displayed -// NOTE: To center the connect button, use 0 for both values -// NOTE: To position relative to the top or left, use positive values. To position relative to the bottom or right, use negative values -// NOTE: To position based on percent instead of pixel count, use values between 0 and 1 (or 0 and -1) (0.50 = 50%, for example) -// Default (ANSI): -0.08, 0.30 -// Default (RIP): -10, 90 -ClientVars.ConnectButtonX = -0.08; -ClientVars.ConnectButtonY = 0.30; - -// ConnectRIP controls which RIP file to display under the initial Connect button -// NOTE: Many webservers don't like the .rip extension, so use .txt instead -// NOTE: This setting has no effect unless ClientVars.RIP is set to 1 -// NOTE: This should be the full absolute path, so if the .rip file is at -// http://www.ftelnet.ca/mybbs/connectrip.txt then the absolute path would be "/mybbs/connectrip.txt" -// Default: Commented out, which uses the embedded default -// ClientVars.ConnectRIP = "/ftelnet/ftelnet-resources/connectrip.txt"; - -// Enter controls what to send to the server when the Enter key is pressed. -// The telnet specification says to send \r\n (ASCII CRLF) when the Enter key -// is pressed, but not all software will work with that, so you may have more -// luck with the non-standard \r (ASCII CR without the LF). -// Default: \r -ClientVars.Enter = "\r"; - -// FontHeight and FontWidth control the size of each character on screen. -// NOTE: These values only need to be set if you're using an IBM PC code page. -// The Amiga and Atari code pages will override these values, as there -// is only one available font size for those "code pages". -// Available IBM PC code page sizes: -// 437 = 6x8, 7x11, 8x12, 8x13, 9x16, 10x19, 12x23 -// 737 = 9x16, 12x23 -// 775 = 9x16 -// 850 = 8x13, 9x16, 10x19, 12x23 -// 852 = 9x16, 10x19, 12x23 -// 855 = 9x16 -// 857 = 9x16 -// 860 = 9x16 -// 861 = 9x16 -// 862 = 10x19 -// 863 = 9x16 -// 865 = 8x13, 9x16, 10x19, 12x23 -// 866 = 9x16 -// 869 = 9x16 -// Default: 9x16 -ClientVars.FontWidth = 9; -ClientVars.FontHeight = 16; - -// LocalEcho controls whether keypresses will be echod locally or not -// 0 = Disabled -- Keypresses will NOT be echod locally -// 1 = Enabled -- Keypresses WILL be echod locally -// Default: 0 -ClientVars.LocalEcho = 0; - -// Proxy settings allow fTelnet and HtmlTerm to connect to ANY telnet server, -// regardless of whether they have the proper flash socket policy server -// installed, or if the understand the WebSocket protocol. -// NOTE: No publicly available proxy is currently available, so you'll have to -// create your own if you want to use these settings. -// These settings are commented out by default, which disables proxy use. -// ClientVars.ProxyRLoginHostName = "proxy.ftelnet.ca"; -// ClientVars.ProxyRLoginPort = 51313; -// ClientVars.ProxySocketPolicyPort = 843; -// ClientVars.ProxyTelnetHostName = "proxy.ftelnet.ca"; -// ClientVars.ProxyTelnetPort = 2323; -// ClientVars.ProxyWebSocketHostName = "proxy.ftelnet.ca"; -// ClientVars.ProxyWebSocketPort = 11235; - -// RIP controls whether the client will display RIPscrip or ANSI -// Default: 0 -ClientVars.RIP = 0; - -// RIPIconPath controls where .ICN files are loaded from. -// Flash requires the icons to be on the same domain that fTelnet.swf is being loaded from, so -// you don't need to include that here, just the path. -// For example, if the icons are in http://www.ftelnet.ca/mybbs/ripicon/*.ICN -// then the absolute path to the icons entered below would be "/mybbs/ripicon/" -// Default: "/ripicon" -ClientVars.RIPIconPath = "/ripicon"; - -// RLogin* controls whether RLogin is used to connect to the remote server (instead of Telnet) -ClientVars.RLogin = 0; -ClientVars.RLoginHostName = "bbs.ftelnet.ca"; -ClientVars.RLoginPort = 513; -ClientVars.RLoginClientUserName = ""; -ClientVars.RLoginServerUserName = ""; -ClientVars.RLoginTerminalType = ""; - -// SaveFilesButtonDown (and Over and Up) control the image used for the save file(s) button -// NOTE: When commented out, or when the given images do not exist, the default embedded save file(s) button will be used -// Default: Commented out, which uses the embedded default -// ClientVars.SaveFilesButtonDown = "/ftelnet/ftelnet-resources/SaveFilesDown.png"; -// ClientVars.SaveFilesButtonOver = "/ftelnet/ftelnet-resources/SaveFilesOver.png"; -// ClientVars.SaveFilesButtonUp = "/ftelnet/ftelnet-resources/SaveFilesUp.png"; - -// ScreenColumns and ScreenRows control the size of the screen. -// Anything within reason should be accepted -// (no sanity checking is done, so bad values can/will crash the program) -// Default: 80x24 -ClientVars.ScreenColumns = 80; -ClientVars.ScreenRows = 25; - -// SendOnConnect controls what text will be sent to the server immediately -// after connecting. Possibly useful for auto-login purposes (although RLogin is preferred for that purpose) -// Default: empty -ClientVars.SendOnConnect = ""; - -// ServerName is the display name for the server -ClientVars.ServerName = "fTelnet and HtmlTerm Support BBS"; - -// SocketPolicyPort is the port that your flash socket policy server is -// running on the remote server (required by flash, wish I could disable it!) -// For more information on setting up a flash socket policy server, please see -// the online documentation. -// Default: 843 -ClientVars.SocketPolicyPort = 843; - -// TelnetHostName is the host name or IP address of the remote telnet server -// NOTE: fTelnet specific setting -ClientVars.TelnetHostName = "bbs.ftelnet.ca"; - -// TelnetPort is the port number to connect to on the remote telnet server -// NOTE: fTelnet specific setting -// Default: 23 -ClientVars.TelnetPort = 23; - -// VirtualKeyboardWidth determines whether a virtual keyboard is shown, and what size to use -// Valid values are: -// 0 -- disable the virtual keyboard -// 1 -- auto detect (use the largest compatible virtual keyboard, but only on mobile devices) -// 600 -- force on a keyboard that is 600 pixels wide by 200 pixels tall -// 672 -- force on a keyboard that is 672 pixels wide by 250 pixels tall -// 768 -- force on a keyboard that is 768 pixels wide by 287 pixels tall -// Default: 1 -ClientVars.VirtualKeyboardWidth = 1; - -// VT controls whether fTelnet should try to be more like a VTxxx series terminal, -// rather than like a BBS terminal client -// Default: 0 -ClientVars.VT = 0; - -// WebSocketHostName is the host name or IP address of the remote websocket server -// NOTE: HtmlTerm specific setting -ClientVars.WebSocketHostName = "bbs.ftelnet.ca"; - -// WebSocketPort is the port number to connect to on the remote websocket server -// NOTE: HtmlTerm specific setting -// Default: 1123 -ClientVars.WebSocketPort = 1123; \ No newline at end of file diff --git a/web/root/ftelnet/fTelnet.swf b/web/root/ftelnet/fTelnet.swf deleted file mode 100644 index ba4d8d31857ab574439a643278c2038dedf36795..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/fTelnet.swf and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/ConnectDown.png b/web/root/ftelnet/ftelnet-resources/ConnectDown.png deleted file mode 100644 index c202c8f697ec6e052ec2e30e18b2addc80af58e0..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/ConnectDown.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/ConnectOver.png b/web/root/ftelnet/ftelnet-resources/ConnectOver.png deleted file mode 100644 index 9b76e7508772df7e6ed2d95ac932f6af4d05624e..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/ConnectOver.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/ConnectUp.png b/web/root/ftelnet/ftelnet-resources/ConnectUp.png deleted file mode 100644 index 0b66f8701d86bf0e10cea26340f7471137211973..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/ConnectUp.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/SaveFilesDown.png b/web/root/ftelnet/ftelnet-resources/SaveFilesDown.png deleted file mode 100644 index b6db5834b1ab85899433f785e9e6006d74eff5ee..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/SaveFilesDown.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/SaveFilesOver.png b/web/root/ftelnet/ftelnet-resources/SaveFilesOver.png deleted file mode 100644 index 0cb12f8f313caa7c58d8deb5bba4c7caf00c8551..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/SaveFilesOver.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/SaveFilesUp.png b/web/root/ftelnet/ftelnet-resources/SaveFilesUp.png deleted file mode 100644 index 90e21ab6e2083f96fa7803bcad7ab43be6e830ac..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/SaveFilesUp.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/connectansi.txt b/web/root/ftelnet/ftelnet-resources/connectansi.txt deleted file mode 100644 index 8c7c11c9b3cc46b5edd7ffc06863b9ba75a90052..0000000000000000000000000000000000000000 --- a/web/root/ftelnet/ftelnet-resources/connectansi.txt +++ /dev/null @@ -1,25 +0,0 @@ -[0m[2J[0;0H[1;44;34m������������������������������������������������������������������������������[0;44;30m�[0m -[1;44;34m� [37mWelcome! [0;44;30m�[0m -[1;44;34m�[0;44;30m������������������������������������������������������������������������������[0m - -[1m [0m [1;44;34m���������������������������������[0;44;30m�[0m - [1;44;34m�[0;34m����[30m����������������������[34m������[44;30m�[0m - [1;44;34m�[0;34m����[1;30m����������������������[0;30m��[34m����[44;30m�[0m - [1;44;34m�[0;34m����[1;30m����[0m������������[1m����[30m��[0;30m��[34m����[44;30m�[0m - [1;44;34m�[0;34m����[1;30m����[0m����������[1m����[0m��[1;30m��[0;30m��[34m����[44;30m�[0m - [1;44;34m�[0;34m����[1;30m����[0m��������[1m����[0m��[1m��[30m��[0;30m��[34m����[44;30m�[0m - [1;44;34m�[0;34m����[1;30m����[0m������[1m����[0m��[1m����[30m��[0;30m��[34m����[44;30m�[0m - [1;44;34m�[0;34m����[1;30m����[0m����[1m����[0m��[1m������[30m��[0;30m��[34m����[44;30m�[40;37m - [1;44;34m�[0;34m����[1;30m��[0;30m��[1m������������������[0;30m��[34m����[44;30m�[40;37m - [1;44;34m�[0;34m����[1;30m��[0m��������������������[30m��[34m����[44;30m�[40;37m - [1;44;34m�[0;30m������������������������������[34m��[44;30m�[40;37m - [1;44;34m�[40;30m��[0m����������������������������[30m��[44m�[40;37m [34m [1;47;37m���������������������������������������[30m�[0m - [1;44;34m�[0;30m��[1m����������������[0;30m����������[1m��[0;30m��[44m�[40;37m [34m [1;47;37m� [30m�[0m - [1;44;34m�[40;30m��[0m����������������������������[30m��[44m�[0m [34m [1;47;37m� [34mfTelnet & HtmlTerm from R&M Software[30m�[0m -[1m [0m [1;44;34m�[0;30m��[1m������������������������[0;30m������[44m�[0m [34m [1;47;37m� [0;47;34mWeb based BBS telnet clients* [1;30m�[0m - [1;44;34m�[0;34m��[30m����������������������������[34m��[44;30m�[0m [34m [1;47;37m� [30m�[0m - [1;44;34m�[0;44;30m���������������������������������[0m [34m [1;47;37m�[30m���������������������������������������[0m - -[11C[1;32mCopyright (C) 2000-2012 R&M Software. All Rights Reserved -[1;30m * NOTE: HtmlTerm is actually a WebSocket client, not a Telnet client -[0;34m������������������������������������������������������������������������������� \ No newline at end of file diff --git a/web/root/ftelnet/ftelnet-resources/connectrip.txt b/web/root/ftelnet/ftelnet-resources/connectrip.txt deleted file mode 100644 index 2ab17d689ce8f7e1d8642951a1b5724ba54f218a..0000000000000000000000000000000000000000 --- a/web/root/ftelnet/ftelnet-resources/connectrip.txt +++ /dev/null @@ -1,13 +0,0 @@ -!|1K|*|w000W271410|W00|S0107|B0000HR6W|c08|=00000003|L006WHR6W|LHQ6WHQ00|c0F|L006V0000|L0000HR00|c01|Y08000300 -!|@A052fTelnet & HtmlTerm|c09|@9Z51fTelnet & HtmlTerm|Y00000100|c08|@B060Web based BBS telnet clients|c0F -!|@AY5ZWeb based BBS telnet clients|c08|L096D090Y|L090Y9H0Y|c0F|L096D9H6D|L9H0Y9H6D|=00000001|S0007|B0B109F6B -!|Y02000400|c08|@AA18Copyright (C) 2000-2012 R&M Software|@C11JAll Rights Reserved|Y00000100|c01 -!|P0O4P1E4L1A2C1A221F1D3D1I3I3C3I3O3J3G4T3A4X0Z4X0T4Z0I5V0N604G604P5U4P2U4J2O2Q2O2I2K2N222V1X4J1X4P1U -!|P0M511A791A7G1E7N1U7H1X5T1X5P21664T6C4X7G4X7L4S7A3S6Y3O1R3O1Z2X7V2X8331945V8Z6052604W5U4W1F -!|S0000|B1U3H3Y3N|B4J2Y693N|F3R1J01|S0001|B3H3P6740|L4W416141|L3L414O41|P081E5D3P5D3U583Z424742425A3U5I1C5I -!|L1E5E0U4Y|L0K5X1D5I|P081Y2X2E1M2J1K4C1K4C1O2L1O2I1Q242X|L4B1K4M1D|L4B1O4L1V|S0101|F3F1M01|F424A01|S0B01 -!|F4J1M01|S0B09|F0X5E01|S0901|F2E2T01|F4D4N01|S0909|F1V2J01|F2Y5401|P07721K5G1K5B1O5B2W5I2W5H1O741O|L7B1C731K -!|L741O7K1V|P0F5B425B5B5I5I8A5I8E5E7Q3C7I382C382B3C7C3C7K3G865D5N5D5J575H42|L2A3C1R3O|L2B381Z2Y|L5F5I515Z -!|L7L3A7Z30|F532301|F5M3301|F564R01|L7G3F763Q|L664V5N5D|F7R4U01|S0901|F5N2I01|F5V3J01|L5G5I515Z|F6W5Q01 -!|F5Q4L01|S0101|F5D2D01|F5M3A01|S0B01|F7D1M01|S0B09|F203A01|S0109|B0605HJ0L|L060LHJ0L|LHJ0LHJ05|c0B|L060L0605 -!|L0605HJ05|c0F|@0O0AWELCOME\\!|#|#|# \ No newline at end of file diff --git a/web/root/ftelnet/ftelnet-resources/fonts/437-10x19.png b/web/root/ftelnet/ftelnet-resources/fonts/437-10x19.png deleted file mode 100644 index 8e2923c3cdac0c35f567de26327875f0fbff7b8b..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/437-10x19.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/437-12x23.png b/web/root/ftelnet/ftelnet-resources/fonts/437-12x23.png deleted file mode 100644 index 3f7d6762764ec1b9b929118e0a360cc6ec846cc0..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/437-12x23.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/437-6x8.png b/web/root/ftelnet/ftelnet-resources/fonts/437-6x8.png deleted file mode 100644 index 0ae9fbfeba72e699a146beb0a75e5700833177ce..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/437-6x8.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/437-7x12.png b/web/root/ftelnet/ftelnet-resources/fonts/437-7x12.png deleted file mode 100644 index f87bd2f60d3fbd768cbdda2fb486ce80d59e4d55..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/437-7x12.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/437-8x12.png b/web/root/ftelnet/ftelnet-resources/fonts/437-8x12.png deleted file mode 100644 index c379a5a94d8acc67484aa90d4d26e2b61f1bc120..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/437-8x12.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/437-8x13.png b/web/root/ftelnet/ftelnet-resources/fonts/437-8x13.png deleted file mode 100644 index ef509f88dd6252450163f6ca005d198f47283f8c..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/437-8x13.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/437-8x14.png b/web/root/ftelnet/ftelnet-resources/fonts/437-8x14.png deleted file mode 100644 index 8b56102636d44e6daf34d4f64fd262ef58144ef0..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/437-8x14.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/437-8x8.png b/web/root/ftelnet/ftelnet-resources/fonts/437-8x8.png deleted file mode 100644 index c34b1e75cf692af91ad4a0c4f7bc4d4e87099107..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/437-8x8.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/437-9x16.png b/web/root/ftelnet/ftelnet-resources/fonts/437-9x16.png deleted file mode 100644 index 531520c7ff9b12b8f85f8b8ae8a7fa8daf734ef2..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/437-9x16.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/737-12x23.png b/web/root/ftelnet/ftelnet-resources/fonts/737-12x23.png deleted file mode 100644 index e72911215345f3800c02c34e10aa57601e3fffe6..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/737-12x23.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/737-9x16.png b/web/root/ftelnet/ftelnet-resources/fonts/737-9x16.png deleted file mode 100644 index c76e31568676468f7a2215aff884d4319287af88..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/737-9x16.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/775-9x16.png b/web/root/ftelnet/ftelnet-resources/fonts/775-9x16.png deleted file mode 100644 index e8e557c9ead21210eca2273aa8d124ccddce50fa..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/775-9x16.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/850-10x19.png b/web/root/ftelnet/ftelnet-resources/fonts/850-10x19.png deleted file mode 100644 index 54d431227c7ad996ad566f046925e22531cb2e46..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/850-10x19.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/850-12x23.png b/web/root/ftelnet/ftelnet-resources/fonts/850-12x23.png deleted file mode 100644 index 7983c40e1ce63a348a4fc33663f251d0a463f76e..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/850-12x23.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/850-8x13.png b/web/root/ftelnet/ftelnet-resources/fonts/850-8x13.png deleted file mode 100644 index 7842a3e11456c9b4d0cceef06070fa8ad5181071..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/850-8x13.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/850-9x16.png b/web/root/ftelnet/ftelnet-resources/fonts/850-9x16.png deleted file mode 100644 index fc741f11796539f09561ffc461dfd961a0bd8622..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/850-9x16.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/852-10x19.png b/web/root/ftelnet/ftelnet-resources/fonts/852-10x19.png deleted file mode 100644 index 6999d2860636c645e1571dea13e37889be8528c7..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/852-10x19.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/852-12x23.png b/web/root/ftelnet/ftelnet-resources/fonts/852-12x23.png deleted file mode 100644 index 73f824be65d63058adbe3db8fc592384ec623570..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/852-12x23.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/852-9x16.png b/web/root/ftelnet/ftelnet-resources/fonts/852-9x16.png deleted file mode 100644 index 9951096627e5f91fc2d3b8fb22e279dd848072f1..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/852-9x16.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/855-9x16.png b/web/root/ftelnet/ftelnet-resources/fonts/855-9x16.png deleted file mode 100644 index ee984e899e8c6b553c4dafd674bcc12f718c483f..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/855-9x16.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/857-9x16.png b/web/root/ftelnet/ftelnet-resources/fonts/857-9x16.png deleted file mode 100644 index 2208b7dad910e745aa595e2861e97b45da8ca761..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/857-9x16.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/860-9x16.png b/web/root/ftelnet/ftelnet-resources/fonts/860-9x16.png deleted file mode 100644 index c58a2f6d4e751b0cac403ba4f029e5c4e7661aa6..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/860-9x16.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/861-9x16.png b/web/root/ftelnet/ftelnet-resources/fonts/861-9x16.png deleted file mode 100644 index 8206338fe49704ee3475046e26af7ef45fa5dab4..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/861-9x16.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/862-10x19.png b/web/root/ftelnet/ftelnet-resources/fonts/862-10x19.png deleted file mode 100644 index 12d6d724ac6a00d67327973b8dbe2bce5b888d4f..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/862-10x19.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/863-9x16.png b/web/root/ftelnet/ftelnet-resources/fonts/863-9x16.png deleted file mode 100644 index 3a8edca9cfe4b45eaa80c80a85ab1a9850062edc..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/863-9x16.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/865-10x19.png b/web/root/ftelnet/ftelnet-resources/fonts/865-10x19.png deleted file mode 100644 index 0cc3119db6514a5904f904da38f53674628e94c8..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/865-10x19.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/865-12x23.png b/web/root/ftelnet/ftelnet-resources/fonts/865-12x23.png deleted file mode 100644 index f5db29127f599324260c8fbd8a5188b8c6479ad1..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/865-12x23.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/865-8x13.png b/web/root/ftelnet/ftelnet-resources/fonts/865-8x13.png deleted file mode 100644 index 912c91bb237f9471c607e4329c82e5bbaab3835b..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/865-8x13.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/865-9x16.png b/web/root/ftelnet/ftelnet-resources/fonts/865-9x16.png deleted file mode 100644 index 767a6fd94f5e91e77777aae01f2c59bc9c019e08..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/865-9x16.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/866-9x16.png b/web/root/ftelnet/ftelnet-resources/fonts/866-9x16.png deleted file mode 100644 index 7ad6908b8cde8c9c17013e9d57580f778cb63143..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/866-9x16.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/869-9x16.png b/web/root/ftelnet/ftelnet-resources/fonts/869-9x16.png deleted file mode 100644 index 18d2aea0e3043e44e9cfc5028a6ca15b3910b1e4..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/869-9x16.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/ATASCII-Arabic-16x16.png b/web/root/ftelnet/ftelnet-resources/fonts/ATASCII-Arabic-16x16.png deleted file mode 100644 index ccffe75b646acc258f79d37f3de44f46f0fc0874..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/ATASCII-Arabic-16x16.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/ATASCII-Arabic-HalfWidth-8x16.png b/web/root/ftelnet/ftelnet-resources/fonts/ATASCII-Arabic-HalfWidth-8x16.png deleted file mode 100644 index 3c1463ce42345ba65c65121a736b5e42b92a2370..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/ATASCII-Arabic-HalfWidth-8x16.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/ATASCII-Graphics-16x16.png b/web/root/ftelnet/ftelnet-resources/fonts/ATASCII-Graphics-16x16.png deleted file mode 100644 index 19629ed36ef94750487944c4f0d2484da53810bc..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/ATASCII-Graphics-16x16.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/ATASCII-Graphics-HalfWidth-8x16.png b/web/root/ftelnet/ftelnet-resources/fonts/ATASCII-Graphics-HalfWidth-8x16.png deleted file mode 100644 index 8679f6b67b9327cb195849d5015afe50a314c3ed..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/ATASCII-Graphics-HalfWidth-8x16.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/ATASCII-International-16x16.png b/web/root/ftelnet/ftelnet-resources/fonts/ATASCII-International-16x16.png deleted file mode 100644 index 06fbbc0664f62be625cd6e157203908c2b298ac7..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/ATASCII-International-16x16.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/ATASCII-International-HalfWidth-8x16.png b/web/root/ftelnet/ftelnet-resources/fonts/ATASCII-International-HalfWidth-8x16.png deleted file mode 100644 index 434964650a20aa0963430be4b916c02d0fef6fa4..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/ATASCII-International-HalfWidth-8x16.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/BStrict-8x8.png b/web/root/ftelnet/ftelnet-resources/fonts/BStrict-8x8.png deleted file mode 100644 index fb0338bc8928e726949aca0fd89a4311c08758cb..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/BStrict-8x8.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/BStruct-8x8.png b/web/root/ftelnet/ftelnet-resources/fonts/BStruct-8x8.png deleted file mode 100644 index f45dd84bd28375688c266c0f02837c7b811e8765..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/BStruct-8x8.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/MicroKnight-8x8.png b/web/root/ftelnet/ftelnet-resources/fonts/MicroKnight-8x8.png deleted file mode 100644 index 176f63e132d805ca0442ddfa20e1b72907640490..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/MicroKnight-8x8.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/MoSoul-8x8.png b/web/root/ftelnet/ftelnet-resources/fonts/MoSoul-8x8.png deleted file mode 100644 index 89b81d7931043e2a7a9eeb77535878765bf9ea39..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/MoSoul-8x8.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/PotNoodle-8x11.png b/web/root/ftelnet/ftelnet-resources/fonts/PotNoodle-8x11.png deleted file mode 100644 index d00698c1d927e3024fffbda6db0237dc9ac79bbf..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/PotNoodle-8x11.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/RIP-16x14.png b/web/root/ftelnet/ftelnet-resources/fonts/RIP-16x14.png deleted file mode 100644 index 4e3ec291ec3c1247cea23eec066cc7af1d7bc71a..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/RIP-16x14.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/RIP-7x14.png b/web/root/ftelnet/ftelnet-resources/fonts/RIP-7x14.png deleted file mode 100644 index 0eb886fd5c4062b4017c9688909603a74d45609e..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/RIP-7x14.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/RIP-7x8.png b/web/root/ftelnet/ftelnet-resources/fonts/RIP-7x8.png deleted file mode 100644 index ae540f8e7d676b657ab3b798ce9d57f0effd0f68..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/RIP-7x8.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/RIP-8x14.png b/web/root/ftelnet/ftelnet-resources/fonts/RIP-8x14.png deleted file mode 100644 index bb1877637f0c616ff65fbc0ae15272dfffb2e039..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/RIP-8x14.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/RIP-8x8.png b/web/root/ftelnet/ftelnet-resources/fonts/RIP-8x8.png deleted file mode 100644 index e2145af87909ea7f627609b77268e669d941ca75..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/RIP-8x8.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/StrokeFont.zip b/web/root/ftelnet/ftelnet-resources/fonts/StrokeFont.zip deleted file mode 100644 index b440789b8d634da76c2c3f4ab743459df5a57896..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/StrokeFont.zip and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/Topaz-8x11.png b/web/root/ftelnet/ftelnet-resources/fonts/Topaz-8x11.png deleted file mode 100644 index 285500b0a8f7cd120b7c063b572d0f60acf719b0..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/Topaz-8x11.png and /dev/null differ diff --git a/web/root/ftelnet/ftelnet-resources/fonts/TopazPlus-8x11.png b/web/root/ftelnet/ftelnet-resources/fonts/TopazPlus-8x11.png deleted file mode 100644 index 7a25ee50dc341216f64dbcc0989b143205c54413..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/ftelnet-resources/fonts/TopazPlus-8x11.png and /dev/null differ diff --git a/web/root/ftelnet/playerProductInstall.swf b/web/root/ftelnet/playerProductInstall.swf deleted file mode 100644 index bdc3437856cb0ae54bb9423700ba6ec89f35282c..0000000000000000000000000000000000000000 Binary files a/web/root/ftelnet/playerProductInstall.swf and /dev/null differ diff --git a/web/root/ftelnet/swfobject.js b/web/root/ftelnet/swfobject.js deleted file mode 100644 index bf35c07c8f4e0bde7b0bfab54712c1abfb30dcaa..0000000000000000000000000000000000000000 --- a/web/root/ftelnet/swfobject.js +++ /dev/null @@ -1,777 +0,0 @@ -/*! SWFObject v2.2 <http://code.google.com/p/swfobject/> - is released under the MIT License <http://www.opensource.org/licenses/mit-license.php> -*/ - -var swfobject = function() { - - var UNDEF = "undefined", - OBJECT = "object", - SHOCKWAVE_FLASH = "Shockwave Flash", - SHOCKWAVE_FLASH_AX = "ShockwaveFlash.ShockwaveFlash", - FLASH_MIME_TYPE = "application/x-shockwave-flash", - EXPRESS_INSTALL_ID = "SWFObjectExprInst", - ON_READY_STATE_CHANGE = "onreadystatechange", - - win = window, - doc = document, - nav = navigator, - - plugin = false, - domLoadFnArr = [main], - regObjArr = [], - objIdArr = [], - listenersArr = [], - storedAltContent, - storedAltContentId, - storedCallbackFn, - storedCallbackObj, - isDomLoaded = false, - isExpressInstallActive = false, - dynamicStylesheet, - dynamicStylesheetMedia, - autoHideShow = true, - - /* Centralized function for browser feature detection - - User agent string detection is only used when no good alternative is possible - - Is executed directly for optimal performance - */ - ua = function() { - var w3cdom = typeof doc.getElementById != UNDEF && typeof doc.getElementsByTagName != UNDEF && typeof doc.createElement != UNDEF, - u = nav.userAgent.toLowerCase(), - p = nav.platform.toLowerCase(), - windows = p ? /win/.test(p) : /win/.test(u), - mac = p ? /mac/.test(p) : /mac/.test(u), - webkit = /webkit/.test(u) ? parseFloat(u.replace(/^.*webkit\/(\d+(\.\d+)?).*$/, "$1")) : false, // returns either the webkit version or false if not webkit - ie = !+"\v1", // feature detection based on Andrea Giammarchi's solution: http://webreflection.blogspot.com/2009/01/32-bytes-to-know-if-your-browser-is-ie.html - playerVersion = [0,0,0], - d = null; - if (typeof nav.plugins != UNDEF && typeof nav.plugins[SHOCKWAVE_FLASH] == OBJECT) { - d = nav.plugins[SHOCKWAVE_FLASH].description; - if (d && !(typeof nav.mimeTypes != UNDEF && nav.mimeTypes[FLASH_MIME_TYPE] && !nav.mimeTypes[FLASH_MIME_TYPE].enabledPlugin)) { // navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin indicates whether plug-ins are enabled or disabled in Safari 3+ - plugin = true; - ie = false; // cascaded feature detection for Internet Explorer - d = d.replace(/^.*\s+(\S+\s+\S+$)/, "$1"); - playerVersion[0] = parseInt(d.replace(/^(.*)\..*$/, "$1"), 10); - playerVersion[1] = parseInt(d.replace(/^.*\.(.*)\s.*$/, "$1"), 10); - playerVersion[2] = /[a-zA-Z]/.test(d) ? parseInt(d.replace(/^.*[a-zA-Z]+(.*)$/, "$1"), 10) : 0; - } - } - else if (typeof win.ActiveXObject != UNDEF) { - try { - var a = new ActiveXObject(SHOCKWAVE_FLASH_AX); - if (a) { // a will return null when ActiveX is disabled - d = a.GetVariable("$version"); - if (d) { - ie = true; // cascaded feature detection for Internet Explorer - d = d.split(" ")[1].split(","); - playerVersion = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)]; - } - } - } - catch(e) {} - } - return { w3:w3cdom, pv:playerVersion, wk:webkit, ie:ie, win:windows, mac:mac }; - }(), - - /* Cross-browser onDomLoad - - Will fire an event as soon as the DOM of a web page is loaded - - Internet Explorer workaround based on Diego Perini's solution: http://javascript.nwbox.com/IEContentLoaded/ - - Regular onload serves as fallback - */ - onDomLoad = function() { - if (!ua.w3) { return; } - if ((typeof doc.readyState != UNDEF && doc.readyState == "complete") || (typeof doc.readyState == UNDEF && (doc.getElementsByTagName("body")[0] || doc.body))) { // function is fired after onload, e.g. when script is inserted dynamically - callDomLoadFunctions(); - } - if (!isDomLoaded) { - if (typeof doc.addEventListener != UNDEF) { - doc.addEventListener("DOMContentLoaded", callDomLoadFunctions, false); - } - if (ua.ie && ua.win) { - doc.attachEvent(ON_READY_STATE_CHANGE, function() { - if (doc.readyState == "complete") { - doc.detachEvent(ON_READY_STATE_CHANGE, arguments.callee); - callDomLoadFunctions(); - } - }); - if (win == top) { // if not inside an iframe - (function(){ - if (isDomLoaded) { return; } - try { - doc.documentElement.doScroll("left"); - } - catch(e) { - setTimeout(arguments.callee, 0); - return; - } - callDomLoadFunctions(); - })(); - } - } - if (ua.wk) { - (function(){ - if (isDomLoaded) { return; } - if (!/loaded|complete/.test(doc.readyState)) { - setTimeout(arguments.callee, 0); - return; - } - callDomLoadFunctions(); - })(); - } - addLoadEvent(callDomLoadFunctions); - } - }(); - - function callDomLoadFunctions() { - if (isDomLoaded) { return; } - try { // test if we can really add/remove elements to/from the DOM; we don't want to fire it too early - var t = doc.getElementsByTagName("body")[0].appendChild(createElement("span")); - t.parentNode.removeChild(t); - } - catch (e) { return; } - isDomLoaded = true; - var dl = domLoadFnArr.length; - for (var i = 0; i < dl; i++) { - domLoadFnArr[i](); - } - } - - function addDomLoadEvent(fn) { - if (isDomLoaded) { - fn(); - } - else { - domLoadFnArr[domLoadFnArr.length] = fn; // Array.push() is only available in IE5.5+ - } - } - - /* Cross-browser onload - - Based on James Edwards' solution: http://brothercake.com/site/resources/scripts/onload/ - - Will fire an event as soon as a web page including all of its assets are loaded - */ - function addLoadEvent(fn) { - if (typeof win.addEventListener != UNDEF) { - win.addEventListener("load", fn, false); - } - else if (typeof doc.addEventListener != UNDEF) { - doc.addEventListener("load", fn, false); - } - else if (typeof win.attachEvent != UNDEF) { - addListener(win, "onload", fn); - } - else if (typeof win.onload == "function") { - var fnOld = win.onload; - win.onload = function() { - fnOld(); - fn(); - }; - } - else { - win.onload = fn; - } - } - - /* Main function - - Will preferably execute onDomLoad, otherwise onload (as a fallback) - */ - function main() { - if (plugin) { - testPlayerVersion(); - } - else { - matchVersions(); - } - } - - /* Detect the Flash Player version for non-Internet Explorer browsers - - Detecting the plug-in version via the object element is more precise than using the plugins collection item's description: - a. Both release and build numbers can be detected - b. Avoid wrong descriptions by corrupt installers provided by Adobe - c. Avoid wrong descriptions by multiple Flash Player entries in the plugin Array, caused by incorrect browser imports - - Disadvantage of this method is that it depends on the availability of the DOM, while the plugins collection is immediately available - */ - function testPlayerVersion() { - var b = doc.getElementsByTagName("body")[0]; - var o = createElement(OBJECT); - o.setAttribute("type", FLASH_MIME_TYPE); - var t = b.appendChild(o); - if (t) { - var counter = 0; - (function(){ - if (typeof t.GetVariable != UNDEF) { - var d = t.GetVariable("$version"); - if (d) { - d = d.split(" ")[1].split(","); - ua.pv = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)]; - } - } - else if (counter < 10) { - counter++; - setTimeout(arguments.callee, 10); - return; - } - b.removeChild(o); - t = null; - matchVersions(); - })(); - } - else { - matchVersions(); - } - } - - /* Perform Flash Player and SWF version matching; static publishing only - */ - function matchVersions() { - var rl = regObjArr.length; - if (rl > 0) { - for (var i = 0; i < rl; i++) { // for each registered object element - var id = regObjArr[i].id; - var cb = regObjArr[i].callbackFn; - var cbObj = {success:false, id:id}; - if (ua.pv[0] > 0) { - var obj = getElementById(id); - if (obj) { - if (hasPlayerVersion(regObjArr[i].swfVersion) && !(ua.wk && ua.wk < 312)) { // Flash Player version >= published SWF version: Houston, we have a match! - setVisibility(id, true); - if (cb) { - cbObj.success = true; - cbObj.ref = getObjectById(id); - cb(cbObj); - } - } - else if (regObjArr[i].expressInstall && canExpressInstall()) { // show the Adobe Express Install dialog if set by the web page author and if supported - var att = {}; - att.data = regObjArr[i].expressInstall; - att.width = obj.getAttribute("width") || "0"; - att.height = obj.getAttribute("height") || "0"; - if (obj.getAttribute("class")) { att.styleclass = obj.getAttribute("class"); } - if (obj.getAttribute("align")) { att.align = obj.getAttribute("align"); } - // parse HTML object param element's name-value pairs - var par = {}; - var p = obj.getElementsByTagName("param"); - var pl = p.length; - for (var j = 0; j < pl; j++) { - if (p[j].getAttribute("name").toLowerCase() != "movie") { - par[p[j].getAttribute("name")] = p[j].getAttribute("value"); - } - } - showExpressInstall(att, par, id, cb); - } - else { // Flash Player and SWF version mismatch or an older Webkit engine that ignores the HTML object element's nested param elements: display alternative content instead of SWF - displayAltContent(obj); - if (cb) { cb(cbObj); } - } - } - } - else { // if no Flash Player is installed or the fp version cannot be detected we let the HTML object element do its job (either show a SWF or alternative content) - setVisibility(id, true); - if (cb) { - var o = getObjectById(id); // test whether there is an HTML object element or not - if (o && typeof o.SetVariable != UNDEF) { - cbObj.success = true; - cbObj.ref = o; - } - cb(cbObj); - } - } - } - } - } - - function getObjectById(objectIdStr) { - var r = null; - var o = getElementById(objectIdStr); - if (o && o.nodeName == "OBJECT") { - if (typeof o.SetVariable != UNDEF) { - r = o; - } - else { - var n = o.getElementsByTagName(OBJECT)[0]; - if (n) { - r = n; - } - } - } - return r; - } - - /* Requirements for Adobe Express Install - - only one instance can be active at a time - - fp 6.0.65 or higher - - Win/Mac OS only - - no Webkit engines older than version 312 - */ - function canExpressInstall() { - return !isExpressInstallActive && hasPlayerVersion("6.0.65") && (ua.win || ua.mac) && !(ua.wk && ua.wk < 312); - } - - /* Show the Adobe Express Install dialog - - Reference: http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=6a253b75 - */ - function showExpressInstall(att, par, replaceElemIdStr, callbackFn) { - isExpressInstallActive = true; - storedCallbackFn = callbackFn || null; - storedCallbackObj = {success:false, id:replaceElemIdStr}; - var obj = getElementById(replaceElemIdStr); - if (obj) { - if (obj.nodeName == "OBJECT") { // static publishing - storedAltContent = abstractAltContent(obj); - storedAltContentId = null; - } - else { // dynamic publishing - storedAltContent = obj; - storedAltContentId = replaceElemIdStr; - } - att.id = EXPRESS_INSTALL_ID; - if (typeof att.width == UNDEF || (!/%$/.test(att.width) && parseInt(att.width, 10) < 310)) { att.width = "310"; } - if (typeof att.height == UNDEF || (!/%$/.test(att.height) && parseInt(att.height, 10) < 137)) { att.height = "137"; } - doc.title = doc.title.slice(0, 47) + " - Flash Player Installation"; - var pt = ua.ie && ua.win ? "ActiveX" : "PlugIn", - fv = "MMredirectURL=" + encodeURI(window.location).toString().replace(/&/g,"%26") + "&MMplayerType=" + pt + "&MMdoctitle=" + doc.title; - if (typeof par.flashvars != UNDEF) { - par.flashvars += "&" + fv; - } - else { - par.flashvars = fv; - } - // IE only: when a SWF is loading (AND: not available in cache) wait for the readyState of the object element to become 4 before removing it, - // because you cannot properly cancel a loading SWF file without breaking browser load references, also obj.onreadystatechange doesn't work - if (ua.ie && ua.win && obj.readyState != 4) { - var newObj = createElement("div"); - replaceElemIdStr += "SWFObjectNew"; - newObj.setAttribute("id", replaceElemIdStr); - obj.parentNode.insertBefore(newObj, obj); // insert placeholder div that will be replaced by the object element that loads expressinstall.swf - obj.style.display = "none"; - (function(){ - if (obj.readyState == 4) { - obj.parentNode.removeChild(obj); - } - else { - setTimeout(arguments.callee, 10); - } - })(); - } - createSWF(att, par, replaceElemIdStr); - } - } - - /* Functions to abstract and display alternative content - */ - function displayAltContent(obj) { - if (ua.ie && ua.win && obj.readyState != 4) { - // IE only: when a SWF is loading (AND: not available in cache) wait for the readyState of the object element to become 4 before removing it, - // because you cannot properly cancel a loading SWF file without breaking browser load references, also obj.onreadystatechange doesn't work - var el = createElement("div"); - obj.parentNode.insertBefore(el, obj); // insert placeholder div that will be replaced by the alternative content - el.parentNode.replaceChild(abstractAltContent(obj), el); - obj.style.display = "none"; - (function(){ - if (obj.readyState == 4) { - obj.parentNode.removeChild(obj); - } - else { - setTimeout(arguments.callee, 10); - } - })(); - } - else { - obj.parentNode.replaceChild(abstractAltContent(obj), obj); - } - } - - function abstractAltContent(obj) { - var ac = createElement("div"); - if (ua.win && ua.ie) { - ac.innerHTML = obj.innerHTML; - } - else { - var nestedObj = obj.getElementsByTagName(OBJECT)[0]; - if (nestedObj) { - var c = nestedObj.childNodes; - if (c) { - var cl = c.length; - for (var i = 0; i < cl; i++) { - if (!(c[i].nodeType == 1 && c[i].nodeName == "PARAM") && !(c[i].nodeType == 8)) { - ac.appendChild(c[i].cloneNode(true)); - } - } - } - } - } - return ac; - } - - /* Cross-browser dynamic SWF creation - */ - function createSWF(attObj, parObj, id) { - var r, el = getElementById(id); - if (ua.wk && ua.wk < 312) { return r; } - if (el) { - if (typeof attObj.id == UNDEF) { // if no 'id' is defined for the object element, it will inherit the 'id' from the alternative content - attObj.id = id; - } - if (ua.ie && ua.win) { // Internet Explorer + the HTML object element + W3C DOM methods do not combine: fall back to outerHTML - var att = ""; - for (var i in attObj) { - if (attObj[i] != Object.prototype[i]) { // filter out prototype additions from other potential libraries - if (i.toLowerCase() == "data") { - parObj.movie = attObj[i]; - } - else if (i.toLowerCase() == "styleclass") { // 'class' is an ECMA4 reserved keyword - att += ' class="' + attObj[i] + '"'; - } - else if (i.toLowerCase() != "classid") { - att += ' ' + i + '="' + attObj[i] + '"'; - } - } - } - var par = ""; - for (var j in parObj) { - if (parObj[j] != Object.prototype[j]) { // filter out prototype additions from other potential libraries - par += '<param name="' + j + '" value="' + parObj[j] + '" />'; - } - } - el.outerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + att + '>' + par + '</object>'; - objIdArr[objIdArr.length] = attObj.id; // stored to fix object 'leaks' on unload (dynamic publishing only) - r = getElementById(attObj.id); - } - else { // well-behaving browsers - var o = createElement(OBJECT); - o.setAttribute("type", FLASH_MIME_TYPE); - for (var m in attObj) { - if (attObj[m] != Object.prototype[m]) { // filter out prototype additions from other potential libraries - if (m.toLowerCase() == "styleclass") { // 'class' is an ECMA4 reserved keyword - o.setAttribute("class", attObj[m]); - } - else if (m.toLowerCase() != "classid") { // filter out IE specific attribute - o.setAttribute(m, attObj[m]); - } - } - } - for (var n in parObj) { - if (parObj[n] != Object.prototype[n] && n.toLowerCase() != "movie") { // filter out prototype additions from other potential libraries and IE specific param element - createObjParam(o, n, parObj[n]); - } - } - el.parentNode.replaceChild(o, el); - r = o; - } - } - return r; - } - - function createObjParam(el, pName, pValue) { - var p = createElement("param"); - p.setAttribute("name", pName); - p.setAttribute("value", pValue); - el.appendChild(p); - } - - /* Cross-browser SWF removal - - Especially needed to safely and completely remove a SWF in Internet Explorer - */ - function removeSWF(id) { - var obj = getElementById(id); - if (obj && obj.nodeName == "OBJECT") { - if (ua.ie && ua.win) { - obj.style.display = "none"; - (function(){ - if (obj.readyState == 4) { - removeObjectInIE(id); - } - else { - setTimeout(arguments.callee, 10); - } - })(); - } - else { - obj.parentNode.removeChild(obj); - } - } - } - - function removeObjectInIE(id) { - var obj = getElementById(id); - if (obj) { - for (var i in obj) { - if (typeof obj[i] == "function") { - obj[i] = null; - } - } - obj.parentNode.removeChild(obj); - } - } - - /* Functions to optimize JavaScript compression - */ - function getElementById(id) { - var el = null; - try { - el = doc.getElementById(id); - } - catch (e) {} - return el; - } - - function createElement(el) { - return doc.createElement(el); - } - - /* Updated attachEvent function for Internet Explorer - - Stores attachEvent information in an Array, so on unload the detachEvent functions can be called to avoid memory leaks - */ - function addListener(target, eventType, fn) { - target.attachEvent(eventType, fn); - listenersArr[listenersArr.length] = [target, eventType, fn]; - } - - /* Flash Player and SWF content version matching - */ - function hasPlayerVersion(rv) { - var pv = ua.pv, v = rv.split("."); - v[0] = parseInt(v[0], 10); - v[1] = parseInt(v[1], 10) || 0; // supports short notation, e.g. "9" instead of "9.0.0" - v[2] = parseInt(v[2], 10) || 0; - return (pv[0] > v[0] || (pv[0] == v[0] && pv[1] > v[1]) || (pv[0] == v[0] && pv[1] == v[1] && pv[2] >= v[2])) ? true : false; - } - - /* Cross-browser dynamic CSS creation - - Based on Bobby van der Sluis' solution: http://www.bobbyvandersluis.com/articles/dynamicCSS.php - */ - function createCSS(sel, decl, media, newStyle) { - if (ua.ie && ua.mac) { return; } - var h = doc.getElementsByTagName("head")[0]; - if (!h) { return; } // to also support badly authored HTML pages that lack a head element - var m = (media && typeof media == "string") ? media : "screen"; - if (newStyle) { - dynamicStylesheet = null; - dynamicStylesheetMedia = null; - } - if (!dynamicStylesheet || dynamicStylesheetMedia != m) { - // create dynamic stylesheet + get a global reference to it - var s = createElement("style"); - s.setAttribute("type", "text/css"); - s.setAttribute("media", m); - dynamicStylesheet = h.appendChild(s); - if (ua.ie && ua.win && typeof doc.styleSheets != UNDEF && doc.styleSheets.length > 0) { - dynamicStylesheet = doc.styleSheets[doc.styleSheets.length - 1]; - } - dynamicStylesheetMedia = m; - } - // add style rule - if (ua.ie && ua.win) { - if (dynamicStylesheet && typeof dynamicStylesheet.addRule == OBJECT) { - dynamicStylesheet.addRule(sel, decl); - } - } - else { - if (dynamicStylesheet && typeof doc.createTextNode != UNDEF) { - dynamicStylesheet.appendChild(doc.createTextNode(sel + " {" + decl + "}")); - } - } - } - - function setVisibility(id, isVisible) { - if (!autoHideShow) { return; } - var v = isVisible ? "visible" : "hidden"; - if (isDomLoaded && getElementById(id)) { - getElementById(id).style.visibility = v; - } - else { - createCSS("#" + id, "visibility:" + v); - } - } - - /* Filter to avoid XSS attacks - */ - function urlEncodeIfNecessary(s) { - var regex = /[\\\"<>\.;]/; - var hasBadChars = regex.exec(s) != null; - return hasBadChars && typeof encodeURIComponent != UNDEF ? encodeURIComponent(s) : s; - } - - /* Release memory to avoid memory leaks caused by closures, fix hanging audio/video threads and force open sockets/NetConnections to disconnect (Internet Explorer only) - */ - var cleanup = function() { - if (ua.ie && ua.win) { - window.attachEvent("onunload", function() { - // remove listeners to avoid memory leaks - var ll = listenersArr.length; - for (var i = 0; i < ll; i++) { - listenersArr[i][0].detachEvent(listenersArr[i][1], listenersArr[i][2]); - } - // cleanup dynamically embedded objects to fix audio/video threads and force open sockets and NetConnections to disconnect - var il = objIdArr.length; - for (var j = 0; j < il; j++) { - removeSWF(objIdArr[j]); - } - // cleanup library's main closures to avoid memory leaks - for (var k in ua) { - ua[k] = null; - } - ua = null; - for (var l in swfobject) { - swfobject[l] = null; - } - swfobject = null; - }); - } - }(); - - return { - /* Public API - - Reference: http://code.google.com/p/swfobject/wiki/documentation - */ - registerObject: function(objectIdStr, swfVersionStr, xiSwfUrlStr, callbackFn) { - if (ua.w3 && objectIdStr && swfVersionStr) { - var regObj = {}; - regObj.id = objectIdStr; - regObj.swfVersion = swfVersionStr; - regObj.expressInstall = xiSwfUrlStr; - regObj.callbackFn = callbackFn; - regObjArr[regObjArr.length] = regObj; - setVisibility(objectIdStr, false); - } - else if (callbackFn) { - callbackFn({success:false, id:objectIdStr}); - } - }, - - getObjectById: function(objectIdStr) { - if (ua.w3) { - return getObjectById(objectIdStr); - } - }, - - embedSWF: function(swfUrlStr, replaceElemIdStr, widthStr, heightStr, swfVersionStr, xiSwfUrlStr, flashvarsObj, parObj, attObj, callbackFn) { - var callbackObj = {success:false, id:replaceElemIdStr}; - if (ua.w3 && !(ua.wk && ua.wk < 312) && swfUrlStr && replaceElemIdStr && widthStr && heightStr && swfVersionStr) { - setVisibility(replaceElemIdStr, false); - addDomLoadEvent(function() { - widthStr += ""; // auto-convert to string - heightStr += ""; - var att = {}; - if (attObj && typeof attObj === OBJECT) { - for (var i in attObj) { // copy object to avoid the use of references, because web authors often reuse attObj for multiple SWFs - att[i] = attObj[i]; - } - } - att.data = swfUrlStr; - att.width = widthStr; - att.height = heightStr; - var par = {}; - if (parObj && typeof parObj === OBJECT) { - for (var j in parObj) { // copy object to avoid the use of references, because web authors often reuse parObj for multiple SWFs - par[j] = parObj[j]; - } - } - if (flashvarsObj && typeof flashvarsObj === OBJECT) { - for (var k in flashvarsObj) { // copy object to avoid the use of references, because web authors often reuse flashvarsObj for multiple SWFs - if (typeof par.flashvars != UNDEF) { - par.flashvars += "&" + k + "=" + flashvarsObj[k]; - } - else { - par.flashvars = k + "=" + flashvarsObj[k]; - } - } - } - if (hasPlayerVersion(swfVersionStr)) { // create SWF - var obj = createSWF(att, par, replaceElemIdStr); - if (att.id == replaceElemIdStr) { - setVisibility(replaceElemIdStr, true); - } - callbackObj.success = true; - callbackObj.ref = obj; - } - else if (xiSwfUrlStr && canExpressInstall()) { // show Adobe Express Install - att.data = xiSwfUrlStr; - showExpressInstall(att, par, replaceElemIdStr, callbackFn); - return; - } - else { // show alternative content - setVisibility(replaceElemIdStr, true); - } - if (callbackFn) { callbackFn(callbackObj); } - }); - } - else if (callbackFn) { callbackFn(callbackObj); } - }, - - switchOffAutoHideShow: function() { - autoHideShow = false; - }, - - ua: ua, - - getFlashPlayerVersion: function() { - return { major:ua.pv[0], minor:ua.pv[1], release:ua.pv[2] }; - }, - - hasFlashPlayerVersion: hasPlayerVersion, - - createSWF: function(attObj, parObj, replaceElemIdStr) { - if (ua.w3) { - return createSWF(attObj, parObj, replaceElemIdStr); - } - else { - return undefined; - } - }, - - showExpressInstall: function(att, par, replaceElemIdStr, callbackFn) { - if (ua.w3 && canExpressInstall()) { - showExpressInstall(att, par, replaceElemIdStr, callbackFn); - } - }, - - removeSWF: function(objElemIdStr) { - if (ua.w3) { - removeSWF(objElemIdStr); - } - }, - - createCSS: function(selStr, declStr, mediaStr, newStyleBoolean) { - if (ua.w3) { - createCSS(selStr, declStr, mediaStr, newStyleBoolean); - } - }, - - addDomLoadEvent: addDomLoadEvent, - - addLoadEvent: addLoadEvent, - - getQueryParamValue: function(param) { - var q = doc.location.search || doc.location.hash; - if (q) { - if (/\?/.test(q)) { q = q.split("?")[1]; } // strip question mark - if (param == null) { - return urlEncodeIfNecessary(q); - } - var pairs = q.split("&"); - for (var i = 0; i < pairs.length; i++) { - if (pairs[i].substring(0, pairs[i].indexOf("=")) == param) { - return urlEncodeIfNecessary(pairs[i].substring((pairs[i].indexOf("=") + 1))); - } - } - } - return ""; - }, - - // For internal usage only - expressInstallCallback: function() { - if (isExpressInstallActive) { - var obj = getElementById(EXPRESS_INSTALL_ID); - if (obj && storedAltContent) { - obj.parentNode.replaceChild(storedAltContent, obj); - if (storedAltContentId) { - setVisibility(storedAltContentId, true); - if (ua.ie && ua.win) { storedAltContent.style.display = "block"; } - } - if (storedCallbackFn) { storedCallbackFn(storedCallbackObj); } - } - isExpressInstallActive = false; - } - } - }; -}();