* The apply arrays contain string elements listing the objects to which
* the properties and methods are grouped.
*
*/
// Properties \\
var noneApply = new Array(1);
noneApply[0] = "";
var linkApply = new Array();
linkApply[0] = "Link";
var nameApply = new Array(7);
nameApply[0] = "Anchor";
nameApply[1] = "Button";
nameApply[2] = "Checkbox";
nameApply[3] = "Password";
nameApply[4] = "Radio button";
nameApply[5] = "Reset button";
nameApply[6] = "Submit button";
nameApply[7] = "Text and text area field";
nameApply[8] = "FileUpload";
nameApply[9] = "Form";
nameApply[10] = "Frame";
nameApply[11] = "Hidden";
var valueApply = new Array();
valueApply[0] = "Button";
valueApply[1] = "Password";
valueApply[2] = "Radio button";
valueApply[3] = "Reset button";
valueApply[4] = "Selection list";
valueApply[5] = "Submit button";
valueApply[6] = "FileUpload";
valueApply[7] = "Hidden";
var checkedApply = new Array();
checkedApply[0] = "Checkbox";
checkedApply[1] = "Radio button";
var documentApply = new Array();
documentApply[0] = "Document";
var navigatorApply = new Array();
navigatorApply[0] = "Navigator";
var pluginApply = new Array();
pluginApply[0] = "Plugin";
var formObjectApply = new Array();
formObjectApply[0] = "Form";
var targetApply = new Array();
targetApply[0] = "Form";
targetApply[1] = "Link";
targetApply[2] = "Area";
var currentApply = new Array();
currentApply[0] = "History";
var lengthApply = new Array();
lengthApply[0] = "History";
lengthApply[1] = "String";
lengthApply[2] = "Array";
var formApply = new Array();
formApply[0] = "Button";
formApply[1] = "Checkbox";
formApply[2] = "FileUpload";
formApply[3] = "Hidden";
formApply[4] = "Password";
formApply[5] = "Radio";
formApply[6] = "Reset";
formApply[7] = "Selection List";
formApply[8] = "Submit";
formApply[9] = "Text and text area field";
var hashApply = new Array()
hashApply[0] = "Link";
hashApply[1] = "Location";
var locationApply = new Array();
locationApply[0] = "Location";
var mathApply = new Array();
mathApply[0] = "Math";
var descriptionApply = new Array();
descriptionApply[0] = "MimeType";
descriptionApply[1] = "Plugin";
var mimeTypeApply = new Array();
mimeTypeApply[0] = "MimeType";
var dateApply = new Array();
dateApply[0] = "Date";
var documentApply = new Array();
documentApply[0] = "Document";
var textApply = new Array();
textApply[0] = "Password";
textApply[1] = "Text and text area field";
var windowApply = new Array();
windowApply[0] = "Window";
var functionApply = new Array();
functionApply[0] = "Function";
var imageApply = new Array();
imageApply[0] = "Image";
var prototypeApply = new Array();
prototypeApply[0] = "Array";
prototypeApply[1] = "Boolean";
prototypeApply[2] = "Date";
prototypeApply[3] = "Function";
prototypeApply[4] = "Image";
prototypeApply[5] = "Number";
prototypeApply[6] = "Selection List";
prototypeApply[7] = "String";
var arrayApply = new Array();
arrayApply[0] = "Array";
var numberApply = new Array();
numberApply[0] = "Number";
var typeApply = new Array();
typeApply[0] = "Button";
typeApply[1] = "Checkbox";
typeApply[2] = "FileUpload";
typeApply[3] = "Hidden";
typeApply[4] = "MimeType";
typeApply[5] = "Password";
typeApply[6] = "Radio";
typeApply[7] = "Reset";
typeApply[8] = "Selection list";
typeApply[9] = "Submit";
typeApply[10] = "Text and text area field";
typeApply[11] = "Hidden";
var framesApply = new Array();
framesApply[0] = "Frame";
framesApply[1] = "Window";
// Methods \\
var clickApply = new Array();
clickApply[0] = "Button";
clickApply[1] = "Checkbox";
clickApply[2] = "Radio button";
clickApply[3] = "Reset button";
clickApply[4] = "Selection list";
clickApply[5] = "Submit button";
var blurApply = new Array();
blurApply[0] = "Password";
blurApply[1] = "Text and text area field";
blurApply[2] = "FileUpload";
blurApply[3] = "Button";
blurApply[4] = "Checkbox";
blurApply[5] = "Frame";
blurApply[6] = "Radio";
blurApply[7] = "Reset";
blurApply[8] = "Selection list";
blurApply[9] = "Submit";
blurApply[10] = "Window";
var toStringApply = new Array();
toStringApply[0] = "Date";
toStringApply[1] = "Location";
var historyApply = new Array();
historyApply[0] = "History";
var stringApply = new Array();
stringApply[0] = "String";
var closeApply = new Array();
closeApply[0] = "Document";
closeApply[1] = "Window";
// Event Handlers \\
var onClickApply = new Array();
onClickApply[0] = "Link";
onClickApply[1] = "Checkbox";
onClickApply[2] = "Radio button";
onClickApply[3] = "Reset button";
onClickApply[4] = "Submit button";
var onLoadApply = new Array();
onLoadApply[0] = "Window";
onLoadApply[1] = "Image";
var onChangeApply = new Array();
onChangeApply[0] = "Selection list";
onChangeApply[1] = "Text and text area field";
onChangeApply[2] = "FileUpload";
var onSelectApply = new Array();
onSelectApply[0] = "Text and text area field";
var selectApply = new Array();
selectApply[0] = "Select";
var onBlurApply = new Array();
onBlurApply[0] = "Button";
onBlurApply[1] = "Checkbox";
onBlurApply[2] = "FileUpload";
onBlurApply[3] = "Frame";
onBlurApply[4] = "Password";
onBlurApply[5] = "Radio";
onBlurApply[6] = "Reset";
onBlurApply[7] = "Select";
onBlurApply[8] = "Submit";
onBlurApply[9] = "Text and text area field";
onBlurApply[10] = "Window";
onErrorApply = new Array();
onErrorApply[0] = "Image";
onErrorApply[1] = "Window";
// none
var noneProp = new jsProperty("none", noneApply, "", "600", "200", "N/A");
// name
var nameDescript = 'The name property is a property of many objects, but works similarly for all objects. Generally, the name property is an attribute set inside a tag. For example, a form object might be created using the following syntax:\n\n<form name="theForm">\n\nIt is important to note that the name property is not displayed to the end user, but is used to programmatically refer to objects in code. Continuing with the previous example, if there were multiple forms on a single document, you could refer to the elements array of the previous form with the following syntax:\n\ntheForm.elements . . .\n\nNote: The name property was added to the FileUpload, Form, Image and Plugin objects only in Version 1.1.';
var nameProp = new jsProperty("name", nameApply, nameDescript, "640", "480", "1.0");
// value
var valueDescript = 'The value property in most cases reflects the value attribute inside an HTML tag. For example, Button objects include a value attribute that sets the text to be displayed on the button. In the case of radio buttons and checkbox items, the Value attribute is the value sent to the server when submitted. For Text, TextArea and Password objects, the Value property reflects the text displayed onscreen.\n\nNote: The Value property of the FileUpload and Option objects was added in Version 1.1.';
var valueProp = new jsProperty("value", valueApply, valueDescript, "600", "350", "1.0");
// checked
var checkedDescript = 'The checked property holds a boolean (true/false) value that correlates to the state of the current object (either a checkbox or radioButton object). If the button or checkbox has been selected, the statement:\n\ncheckbox.checked\n\nwould evaluate to \'true\'.';
var checkedProp = new jsProperty("checked", checkedApply, checkedDescript, "600", "300", "1.0");
// defaultChecked
var defaultCheckedDescript = 'The defaultChecked property, like the checked property, evaluates to a boolean value. The defaultChecked property is \'true\' if a radio button or checkbox is selected by default. At design time, a checkbox can be set to be selected using the following syntax:\n\n<input type="checkbox" name="theBox" checked>\n\nThis option is selected by default.';
var defaultCheckedProp = new jsProperty("defaultChecked", checkedApply, defaultCheckedDescript, "600", "300", "1.0");
// alinkColor
var alinkColorDescript = 'The alinkColor property corresponds to the alink attribute in the <body> tag of an HTML document. The alink colour of a hypertext link is the active link colour (a link is active while the mouse is clicked on a link, and remains active until the mouse button is released.) Its value is a hexadacimal encoded RGB value. For example, the initial colour for active links can be set using the following syntax:\n\n<body alink="#FFFFFF">\n\nwhich would set the active hypertext links to white. At run-time, this value could be changed using the following JavaScript statement:\n\ndocument.alinkColor="#000000";';
var alinkColorProp = new jsProperty("alinkColor", documentApply, alinkColorDescript, "600", "425", "1.0");
// anchors
var anchorsDescript = 'The anchors property is an array of the Anchor objects in the current document. An anchor is defined in HTML by using the following syntax:\n\n<a name="A1">This is the first anchor.</a>\n\nThis would define an anchor named A1. This anchor could then be accessed by either of the following two methods:\n\ndocument.anchors[0]\n\nor\n\ndocument.anchors[A1]\n\nNote: The anchors array cannot be changed by assignment.';
var anchorsProp = new jsProperty("anchors", documentApply, anchorsDescript, "650", "450", "1.0");
// appCodeName
var appCodeNameDescript = 'The appCodeName property of the Navigator contains a string representation of the user\'s browser\'s code name. For example, if the user is using a Netscape browser, the navigator.appCodeName property would contain the string \'Mozilla\'.';
var appCodeNameProp = new jsProperty("appCodeName", navigatorApply, appCodeNameDescript, "600", "250", "1.0");
// bgColor
var bgColorDescript = 'The bgColor property is the hexadecimal RGB value for the background colour of the current document. The bgColor property is set in the bgcolor attribute of the <body> tag, using the syntax:\n\n<body bgcolor="#RRGGBB">\n\nand then altered at runtime via the following statement:\n\ndocument.bgColor = "#RRGGBB";\n\nYou can also assign one of the JavaScript colour strings, such as in the following statement:\n\ndocument.bgColor = "white";';
var bgColorProp = new jsProperty("bgColor", documentApply, bgColorDescript, "650", "450", "1.0");
// fgColor
var fgColorDescript = 'The fgColor property is the hexadecimal RGB value for a document\'s foreground colour. The fgColor property can be set in the text attribute of the <body> tag, using the syntax:\n\n<body fgColor="#RRGGBB">\n\nand then altered at run-time with the following JavaScript statement:\n\ndocument.fgColor="#RRGGBB";';
var fgColorProp = new jsProperty("fgColor", documentApply, fgColorDescript, "600", "350", "1.0");
// forms
var formsDescript = 'The forms property is an array of all the forms in the current document. Forms are created in HTML using the <form> tag. Like all arrays, the forms array index begins at 0. For example, you can access the first form in a document using the following syntax:\n\ndocument.forms[0] ...';
var formsProp = new jsProperty("forms", documentApply, formsDescript, "600", "275", "1.0");
// lastModified
var lastModifiedDescript = 'The lastModified property returns the date that the document was last modified. It can be used as an easy way to let users know when a page was last updated using the following syntax:\n\ndocument.writeln("This page was last modified " + document.lastModified);';
var lastModifiedProp = new jsProperty("lastModified", documentApply, lastModifiedDescript, "600", "300", "1.0");
// linkColor
var linkColorDescript = 'The linkColor property contains the hexadecimal colour code for hypertext links on the current page. In HTML, the link colour can be set by assigning the RGB triplet to the link attribute of the body tag. For example:\n\n<body link="#RRGGBB">\n\nLink colours can be changed at run-time by assigning a new RGB triplet to the linkColor property of the document object. For example, the following code will dynamically change the colour of links to white:\n\ndocument.linkColor = "#FFFFFF";';
var linkColorProp = new jsProperty("linkColor", documentApply, linkColorDescript, "600", "400", "1.0");
// links
var linksDescript = 'The links property is an array of the hypertext links (including image map links). Individual links can be accessed using numeric indices or by the name property of the link. For example, the following link:\n\n<a href="www.theMan.com" name="Dlink">D. Tebbutt</a>\n\ncan be referenced in either of the following two manners (assuming that it is the first link on the page):\n\ndocument.links[0].(property)\n\nor\n\ndocument.links[Dlink].(property)';
var linksProp = new jsProperty("links", documentApply, linksDescript, "625", "450", "1.0");
// loadedDate
var loadedDateDescript = "The loadedDate property returns the date the document was loaded.";
var loadedDateProp = new jsProperty("loadedDate", documentApply, loadedDateDescript, "550", "200", "1.0");
// location
var locationDescript = "The location property returns the location of the document.";
var locationProp = new jsProperty("location", documentApply, locationDescript, "550", "200", "1.0");
// referrer
var referrerDescript = "The referrer property returns the full URL of the referring (or previous) document.";
var referrerProp = new jsProperty("referrer", documentApply, referrerDescript, "550", "200", "1.0");
// title
var titleDescript = 'The title property returns the document\'s title. It is set using the <title> tag inside the head section of an HTML document. The title property is read-only, however, and cannot be set by assignment.';
var titleProp = new jsProperty("title", documentApply, titleDescript, "550", "250", "1.0");
// vlinkColor
var vlinkColorDescript = 'The vlinkColor property corresponds to the vlink attribute in the <body> tag of an HTML document. The vlink colour of a hypertext link is the colour of a link that has been previously visited. Its value is a hexadecimal encoded RGB value. For example, the initial colour for visited links can be set using the following syntax:\n\n<body vlink="#FFFFFF">\n\nwhich would set the visited hypertext links to white. At run-time, this value could be changed using the following JavaScript statement:\n\ndocument.vlinkColor="#000000";';
var vlinkColorProp = new jsProperty("vlinkColor", documentApply, vlinkColorDescript, "650", "400", "1.0");
// action
var actionDescript = 'The action property of the form object is the URL of the server to which form data will be sent. The action property can be set in the form tag by assigning the URL to the action attribute. For example, a form could be created using the following HTML syntax:\n\n<form name="theForm" action="www.myserver.com">\n\nIn JavaScript, the action property will then reflect or modify the submission URL.';
var actionProp = new jsProperty("action", formObjectApply, actionDescript, "600", "300", "1.0");
// elements
var elementsDescript = 'The elements property is an array of elements within a form. The elements property is useful when you wish to cycle through all of the elements of a form (usually within a \'for\' loop) without having to reference each element by name. Assuming there were a group of 20 checkboxes on a form, you could cycle through each checkbox using the following code:\n\nfor(x=0;x<document.forms[0].elements.length; x++)\n\tif(document.forms[0].elements[x].checked) . . a.';
var elementsProp = new jsProperty("elements", formObjectApply, elementsDescript, "600", "300", "1.0");
// encoding
var encodingDescript = 'The encoding property is set initially in the <form> tag by setting the enctype attribute. The encoding property can also be set dynamically by assigning a string indicating the new MIME type to the encoding property.';
var encodingProp = new jsProperty("encoding", formObjectApply, encodingDescript, "550", "250", "1.0");
// method
var methodDescript = 'The method property reflects the method attribute in the <form> tag. The method attribute describes how form data should be sent to the server (usually either \'get\' or \'post\'). The method attribute can be set dynamically by assigning a new value to the method property.';
var methodProp = new jsProperty("method", formObjectApply, methodDescript, "550", "250", "1.0");
// target
var targetDescript = 'The target property specifies where the results of some action are to be placed. In the case of a hypertext link, the target attribute (set in the <a> tag) specifies the frame in which the new document is to be loaded. In the case of a form object, the target attribute of the <form> tag specifies the frame in which to display the response from the server. The target attribute can be dynamically set and altered at any time in the code.\n\nNote: The target attribute was added to area objects in Version 1.1.';
var targetProp = new jsProperty("target", targetApply, targetDescript, "600", "300", "1.0");
// current
var currentDescript = 'The current property is a string containing the current URL in the history list.';
var currentProp = new jsProperty("current", currentApply, currentDescript, "550", "250", "1.1");
// next
var nextDescript = 'The next property is a string containing the URL of the next entry in the history list.';
var nextProp = new jsProperty("next", historyApply, nextDescript, "550", "250", "1.1");
// previous
var previousDescript = 'The previous property is a string containing the URL of the previous entry in the history list.';
var previousProp = new jsProperty("previous", historyApply, previousDescript, "550", "250", "1.1");
// length
var lengthDescript = 'The length property corresponds to the number of elements in an object. Depending on the object, this can be the number of elements in an array, the number of characters in a string, or the number of entries in a history list.';
var lengthProp = new jsProperty("length", lengthApply, lengthDescript, "550", "250", "1.0");
// hash
var hashDescript = "The hash property contains a string description of the hash(#) portion of a URL (such as in anchor objects). You can dynamically change the hash portion of a URL, although it is probably safer to use the location.href property to change locations.";
var hashProp = new jsProperty("hash", hashApply, hashDescript, "550", "250", "1.0");
// host
var hostDescript = "The host property is a string containing the server, subdomain and domain that is hosting a document. You can change the host property dynamically at any time, but it is probably safer to use the location.href property to change locations.";
var hostProp = new jsProperty("host", hashApply, hostDescript, "550", "250", "1.0");
// hostname
var hostnameDescript = "The hostname property is a string containing the server, subdomain, domain that is hosting a document, followed by a colon and the port accessed by the browser. You can use the hostname property to dynamically change a document's location, although it is probably safer to use the location.href property.";
var hostnameProp = new jsProperty("hostname", hashApply, hostnameDescript, "600", "250", "1.0");
// href
var hrefDescript = "The href property returns the entire URL of a document. To load a new document into a window, use the syntax:\n\nlocation.href=\"http://newdocument.htm\"";
var hrefProp = new jsProperty("href", hashApply, hrefDescript, "600", "275", "1.0");
// pathname
var pathnameDescript = "The pathname property contains a string representation of the URL-path of the current document. You can change the value of the pathname property at any time, although it is probably safer to use the location.href property for that purpose.";
var pathnameProp = new jsProperty("pathname", hashApply, pathnameDescript, "550", "250", "1.0");
// port
var portDescript = "The port property returns the communications port used by the hosting document (generally port 80). You can change ports dynamically at any time; however, this is strongly discouraged!";
var portProp = new jsProperty("port", hashApply, portDescript, "550", "250", "1.0");
// protocol
var protocolDescript = "The protocol property returns the protocol used to access the current document (for example, HTTP, FTP, JavaScript). The protocol property can be dynamically set at any time, but don't do it. Use the location.href property instead. Trust me.";
var protocolProp = new jsProperty("protocol", hashApply, protocolDescript, "550", "250", "1.0");
// search
var searchDescript = "The search property returns the name/value portion of a URL containing any query information. This property is would probably be used with CGI queries, if at all. For the extremely brave -- you can change this property, but you have been warned.";
var searchProp = new jsProperty("search", hashApply, searchDescript, "550", "250", "1.0");
// E
var EDescript = 'The E property holds Euler\'s constant. Euler\'s constant is the base of natural logarithms, approximately equal to 2.178.';
var EProp = new jsProperty("E", mathApply, EDescript, "550", "250", "1.0");
// LN10
var LN10Descript = 'The LN10 property contains a constant representing the natural logarithm of 10 (approximately 2.302).';
var LN10Prop = new jsProperty("LN10", mathApply, LN10Descript, "550", "250", "1.0");
// LN2
var LN2Descript = 'The LN2 property contains the constant for the natural logarithm of 2. Its value is approximately equal to 0.693.';
var LN2Prop = new jsProperty("LN2", mathApply, LN2Descript, "550", "250", "1.0");
// LN2E
var LN2EDescript = 'The LN2E property is a constant representing the base 2 logarithm of E. Its value is approximately 1.442.';
var LN2EProp = new jsProperty("LN2E", mathApply, LN2EDescript, "550", "250", "1.0");
// LN10E
var LN10EDescript = 'The LN10E property is the base 10 logarithm of Euler\'s constant, approximately equal to 0.434.';
var LN10EProp = new jsProperty("LN10E", mathApply, LN10EDescript, "550", "250", "1.0");
// PI
var PIDescript = 'PI is a math constant representing the ratio of the circumference of a circle to its diameter. Its value is approximately equal to 3.14.';
var PIProp = new jsProperty("PI", mathApply, PIDescript, "550", "250", "1.0");
// SQRT1_2
var SQRT1_2Descript = 'SQRT1_2 is a math constant representing the square root of one-half. Its value is approximately equal to 0.707.';
var SQRT1_2Prop = new jsProperty("SQRT1_2", mathApply, SQRT1_2Descript, "550", "250", "1.0");
// SQRT2
var SQRT2Descript = 'The SQRT2 property is a math constant representing the square root of two. Its value is approximately 1.414.';
var SQRT2Prop = new jsProperty("SQRT2", mathApply, SQRT2Descript, "550", "250", "1.0");
// defaultValue
var defaultValueDescript = 'The defaultValue property holds the default value of a text box. The default text can be assigned at run-time using value attribute of the input tag. For example, the following statement would create a text box with the text \'Name:\' in it:\n\n<input type="text" name="t1" value="Name: ">\n\nAt run-time, the following statement would evaluate to the string, "Name: ":\n\nform.defaultValue.t1';
var defaultValueProp = new jsProperty("defaultValue", textApply, defaultValueDescript, "600", "350", "1.0");
// index
var indexDescript = 'The index property reflects an option\'s index within the options array.\n\nNote: the index property is actually a property of the select.options array, and not plain Select objects.';
var indexProp = new jsProperty("index", selectApply, indexDescript, "600", "250", "1.0");
// defaultSelected
var defaultSelectedDescript = 'The defaultSelected property is a boolean value that is True when an object is the default selected object in a selection list object. Creating a selection list with a default selected option is accomplished using the following syntax:\n\n<select>\noption selected name="s1">This is the default\n<option name="s2">This is not the default choice\n</select>\n\nIn this example, the phrase\n\nform.s1.defaultChecked\n\nwould evaluate to true.\n\nNote: the defaultSelected property is actually a property of the select.options array, and not plain Select objects.';
var defaultSelectedProp = new jsProperty("defaultSelected", selectApply, defaultSelectedDescript, "650", "450", "1.0");
// selected
var selectedDescript = 'The selected property is a boolean value that is true if an option has been selected, false otherwise. You will most likely find the selected property to be of use with select options that allow multiple choices to be selected.\n\nNote: The selected property is actually a property of the select.options array, and not plain Select objects.';
var selectedProp = new jsProperty("selected", selectApply, selectedDescript, "600", "300", "1.0");
// text
var textDescript = 'The text property of a select object reflects the text displayed within the selection list\'s box.\n\nNote: The text property is actually a property of the select.options array, and not plain Select objects. Also, the ability to dynamically change the contents and have the change reflected onscreen was only added in Version 1.1.';
var textProp = new jsProperty("text", selectApply, textDescript, "600", "300", "1.0");
// parent
var parentDescript = 'The parent property is a reference to the window or frame that contains the current frame. If a window contains multiple frames, they share a parent/child relationship. The topmost window is called the parent frame, and the frames contained within the parent frame are referred to as child frames.';
var parentProp = new jsProperty("parent", framesApply, parentDescript, "600", "250", "1.0");
// self
var selfDescript = 'The self property is a reference to the current frame or window. It is used to differentiate between forms and windows, or to make code more readable. For example, a window can be closed using the following syntax:\n\nself.close();';
var selfProp = new jsProperty("self", framesApply, selfDescript, "600", "300", "1.0");
// window
var windowDescript = 'The window property is a reference to the current window. A reference to the current window is the same as a reference to the self property, so it is almost always less ambigious to go ahead and use the self property.';
var windowProp = new jsProperty("window", framesApply, windowDescript, "600", "250", "1.0");
// top
var topDescript = 'The top property is a reference to the topmost document in a window. With nested framesets, the top property will always refer to the \'browser window\'.';
var topProp = new jsProperty("top", windowApply, topDescript, "550", "250", "1.0");
// status
var statusDescript = 'The status property reflects the status bar message that appears at the bottom of a browser. This is a dynamic property, and can be set at any time.';
var statusProp = new jsProperty("status", windowApply, statusDescript, "550", "250", "1.0");
// defaultStatus
var defaultStatusDescript = 'The defaultStatus property holds the default message that appears in a window\'s status bar. This property is most useful in combination with onMouseOver events that change the status bar message. Without a defaultStatus value, the message from the last status change will remain in the status bar until it is changed again. With a defaultStatus message, the message will be replaced by the default as soon as the mouse moves away from the link.';
var defaultStatusProp = new jsProperty("defaultStatus", windowApply, defaultStatusDescript, "600", "300", "1.0");
// applet
var appletDescript = 'The applets property is an array of the applets contained in a document. For an applet to communicate with JavaScript, however, the \'mayscript\' attribute must be included in the applet tag. Applets can be referenced by either including an indexing number or the name attribute in the JavaScript code. For example, to access an applet created with the following tag:\n\n<applet code="Tebbutt.class" mayscript width=600 height=400 name="DanAp">\n\nyou would use the following JavaScript code:\n\ndocument.applets[0]\n\nor\n\ndocument.applets[DanAp]';
var appletProp = new jsProperty("applet", documentApply, appletDescript, "650", "450", "1.1");
// appName
var appNameDescript = 'The appName property of the navigator object returns the name of the browser that is being used to view the page. For example, if the page is being viewed with a Netscape browser, the following line of code would write \'Netscape\' to the document:\n\ndocument.writeln(navigator.appName);';
var appNameProp = new jsProperty("appName", navigatorApply, appNameDescript, "600", "300", "1.0");
// appVersion
var appVersionDescript = 'The appVersion property of the Navigator object returns the current version information of the browser. The appVersion property returns three pieces of information: the release number, the platform and the country. The release number indicates the current release of the browser (including beta-release information). The platform indicates the platform upon which the browser is running. For example, the platform may be \'Win95\' or \'WinNT\', if you\'re running Windows software. Finally, the country information is restricted to \'I\' for international release or \'U\' for US release.'
var appVersionProp = new jsProperty("appVersion", navigatorApply, appVersionDescript, "600", "350", "1.0");
// area
var areaDescript = 'Area objects are properties of Link objects in the JavaScript hierarchy. However, area objects are objects in their own right; area objects are the JavaScript implementation of image maps.\n\nTo create an image map in HTML, you can use the following syntax:\n\n<map name="mapName">\n<area name="regionName" coords="0,0,50,50" href="www.regionLink.com">\n</map>\n\nAn image map is a specialised type of link object, and as such, shares many of the same attributes. The HTML definition can also include a target attribute, and onMouseOver and onMouseOut events. Finally, the area object includes a shape attribute, which defines the shape of the region map. The shape attribute will accept either \'circle\', \'default\', \'poly\' or \'rect\'.\n\nBecause area objects are links, they can be accessed in the links array. Area properties can be accessed by using the appropriate numeric index to the document.links array, or by using the name of the area as the index (for example, document.links[areaName].property).';
var areaProp = new jsProperty("area", linkApply, areaDescript, "700", "500", "1.1");
// arguments
var argumentsDescript = 'The arguments property can be used to retrieve a variable number of arguments sent to a function. The arguments property can only be used inside a user-defined function. To access multiple arguments, reference the function by its name followed by the dot operator, and the arguments keyword and an array index. For example, the following function will print all of the arguments sent to it:\n\nfunction showArgs()\n{\nfor(var x=0; x<showArgs.arguments.length; x++)\ndocument.writeln("Argument #" + x + ": " + showArgs.arguments[x] + "<br>");\n}\n\nNote: You must use the name of the function as the object -- the \'this\' keyword will not work in the desired manner.';
var argumentsProp = new jsProperty("arguments", functionApply, argumentsDescript, "650", "450", "1.0");
// prototype
var prototypeDescript = 'The prototype property defines default values for object properties. Using the prototype property, you can add properties and methods to any object that is created with the \'new\' keyword. For example, to add a property to date objects called \'holiday\' with the default value set to \'false\', you could use the following code:\n\nDate.prototype.holiday = false;\n\nAny Date object in the code would then contain a property called holiday, and its value would be set to false initially. Using the prototype property, you can also add methods to objects by assigning the method to the property (as you would if you were creating a user-defined object).';
var prototypeProp = new jsProperty("prototype", prototypeApply, prototypeDescript, "600", "400", "1.1");
// form
var formDescript = 'The form property refers to an object\'s parent form. The form property is especially useful in event handlers when used in combination with the \'this\' keyword. For example, you can send the form reference to a function, as in the following example:\n\n<input type="button" onClick="theFunction(this.form);">';
var formProp = new jsProperty("form", formApply, formDescript, "600", "300", "1.0");
// type
var typeDescript = 'The type property generally is used in conjunction with Form objects created with the <input> tag. When applied to those Form objects, the type property will reflect the argument sent to the type attribute. For example, given a button named OKButton, the code:\n\ndocument.writeln(OKButton.type);\n\nwould write the string \'button\' to the document.\n\nFor selection list objects, the type property will either hold \'select-one\' (for single-choice selection lists) or \'select-multiple\' (for multiple-choice selection lists).\n\nFinally, when applied to the mimeType array, the type property will return the plug-in type. For example, the line:\n\nnavigator.mimeTypes[0].type\n\nmight return the string \'image/jpeg\'.';
var typeProp = new jsProperty("type", typeApply, typeDescript, "700", "525", "1.1");
// cookie
var cookieDescript = 'The cookie property of the document object contains a string representation of the current document\'s cookies. The cookies are stored in a file called cookies.txt. For more information on cookies, see the articles on cookies.)';
var cookieProp = new jsProperty("cookie", documentApply, cookieDescript, "600", "250", "1.0");
// domain
var domainDescript = 'The domain property of a document reflects the domain from which a document originates. Documents from the same domain can share properties and information between the documents. However, documents will often originate from several servers. Seperate servers will usually share the same domain suffix, but different names. For example, when I had a Web server on my computer, the domain name was travis.apcmag.com. Because the domain name did not match that of our main Web server (apcmag.com), I would not have been able to share JavaScript properties between the pages.\n\nThe domain property can be reset in JavaScript, but only to a suffix of the current domain. For example, I could have changed the domain property on one of my documents to apcmag.com. However, it would not be possible to change the domain from our main server to travis.apcmag.com. Finally, no domain can be changed to something unrelated, such as microsoft.com.';
var domainProp = new jsProperty("domain", documentApply, domainDescript, "650", "400", "1.1");
// embeds
var embedsDescript = 'The embeds property is an array of all the embedded plug-ins in a document. Embedded objects are created with the <embed> tag. The properties and methods of each embedded object vary, so you must consult the plug-in\'s documentation.';
var embedsProp = new jsProperty("embeds", documentApply, embedsDescript, "600", "250", "1.1");
// images
var imagesDescript = 'The images property is an array of the images in the order they appear in the document. You can refer to the images either by an index or by its name. For example, assuming that a document has an image on it named \'welcome\', you could refer to its properties by either of the following two methods:\n\ndocument.images[0].property\n\nor\n\ndocument.images[welcome].property';
var imagesProp = new jsProperty("images", documentApply, imagesDescript, "600", "400", "1.1");
// URL
var URLDescript = 'The URL property of the document reflects the full URL of the document. You cannot change the current page by assigning values to the URL prop, however. To change a document\'s URL, use the window.location.href property.';
var URLProp = new jsProperty("URL", documentApply, URLDescript, "600", "250", "1.0");
// frames
var framesDescript = 'The frames property is an array of all the frames in a window. You can reference a specific frame in the array using a numeric index, or the name of the frame in its place. For example, to reference the first frame in a window, you would use the following syntax:\n\nwindow.frames[0].(property)\n\nor\n\nwindow.frames[frameName].(property)';
var framesProp = new jsProperty("frames", framesApply, framesDescript, "600", "375", "1.0");
// caller
var callerDescript = 'The caller property of a function returns a reference to the function from which it was called. If the function was called from the top level (from a direct program statement, and not another function), the caller property will return null. To use the caller function, you have to include the name of the function as the object reference. For example:\n\nfunction printCaller() {\nif(printCaller.caller == null) {\nalert("Called from direct statement");\n} else\nalert("Called from " + printCaller.caller);\n}';
var callerProp = new jsProperty("caller", functionApply, callerDescript, "600", "400", "1.1");
// border
var borderDescript = 'The border property is a string specifying the width (in pixels) of an image border. The border property cannot be dynamically reset, and does not apply to images created with the Image() constructor. If you do try to use the border property with images created with the Image() constructor, the border property will return 0.';
var borderProp = new jsProperty("border", imageApply, borderDescript, "600", "300", "1.1");
// complete
var completeDescript = 'The complete property of an image object is a boolean value indicating whether or not the image has completed loading.';
var completeProp = new jsProperty("complete", imageApply, completeDescript, "600", "250", "1.1");
// height
var heightDescript = 'The height property of an image object reflects the height attribute of the <img> tag. For images created with the <img> tag, the height property refers to the size of the scaled image on the document. For images created with the Image() constructor, the height property reflects the actual height of the image.';
var heightProp = new jsProperty("height", imageApply, heightDescript, "600", "300", "1.1");
// hspace
var hspaceDescript = 'The hspace property reflects the value in the hspace attribute of the <img> tag. Hspace is the horizontal space to the left and right of an image -- the buffer zone between it and the text. The hspace property cannot be dynamically changed by assigning values to it, and it does not apply to images created with the Image() constructor.';
var hspaceProp = new jsProperty("hspace", imageApply, hspaceDescript, "600", "300", "1.1");
// lowsrc
var lowsrcDescript = 'The lowsrc property reflects the lowsrc attribute of the image tag. The lowsrc attribute specifies the URL of a low-resolution image to be displayed while waiting for a high resolution image to load. The lowsrc property cannot be dynamically altered at run-time by assigning a new value to the lowsrc property.';
var lowsrcProp = new jsProperty("lowsrc", imageApply, lowsrcDescript, "600", "300", "1.1");
// src
var srcDescript = 'The src property reflects the src attribute of the image object. The src attribute specifies the URL of an image to be displayed on a document. The src property can be dynamically set to a new value at run-time.';
var srcProp = new jsProperty("src", imageApply, srcDescript, "600", "250", "1.1");
// vspace
var vspaceDescript = 'The vspace property reflects the value in the vspace attribute of the <img> tag. vspace is the vertical space above and below an image -- the buffer zone between it and the text. The vspace property cannot be dynamically changed by assigning values to it, and it does not apply to images created with the Image() constructor.';
var vspaceProp = new jsProperty("vspace", imageApply, vspaceDescript, "600", "250", "1.1");
// width
var widthDescript = 'The width property of image objects reflects the width attribute of the <img> tag. For images created with the <img> tag, the width property returns the size of the scaled image that is displayed on the document. For images created with the Image() constructor, the width property returns the actual size of the image.';
var widthProp = new jsProperty("width", imageApply, widthDescript, "600", "250", "1.1");
// description
var descriptionDescript = 'The description property returns a description of content and encoding of a MIME data type, or a description of a particular plug-in.';
var descriptionProp = new jsProperty("description", descriptionApply, descriptionDescript, "600", "250", "1.1");
// enabledPlugin
var enabledPluginDescript = 'The enabledPlugin property is used to determine which plug-in has been configured for a specific MIME data type. The enabledPlugin property is actually a reference to the configured plug-in object. If there is no configured plugin, the enabledPlugin property will return null.';
var enabledPluginProp = new jsProperty("enabledPlugin", mimeTypeApply, enabledPluginDescript, "600", "300", "1.1");
// suffixes
var suffixesDescript = 'The suffixes property returns a string containing all the possible suffixes for a specific MIME type. For example, the MIDI mime type might return \'mid, midi\'.';
var suffixesProp = new jsProperty("suffixes", mimeTypeApply, suffixesDescript, "600", "250", "1.1");
// mimeTypes
var mimeTypesDescript = 'The mimeTypes property is an array of all the MIME data types recognised by the browser. For more information, see the MimeType object.';
var mimeTypesProp = new jsProperty("mimeTypes", navigatorApply, mimeTypesDescript, "600", "250", "1.1");
// plugins
var pluginsDescript = 'The plugins property is an array of all plug-ins installed on a user\'s browser. For more information, see the Plugin objects.';
var pluginsProp = new jsProperty("plugins", navigatorApply, pluginsDescript, "600", "250", "1.1");
// userAgent
var userAgentDescript = 'The userAgent property is a string containing the user-agent information sent in HTTP requests to determine the browser in use.';
var userAgentProp = new jsProperty("userAgent", navigatorApply, userAgentDescript, "600", "250", "1.1");
// MAX_VALUE
var max_valueDescript = 'The MAX_VALUE property of the Number object represents the largest possible number representation of the browser.';
var max_valueProp = new jsProperty("MAX_VALUE", numberApply, max_valueDescript, "600", "250", "1.1");
// MIN_VALUE
var min_valueDescript = 'The MIN_VALUE property of the Number object represents the smallest possible number representation of the browser.';
var min_valueProp = new jsProperty("MIN_VALUE", numberApply, min_valueDescript, "600", "250", "1.1");
// NaN
var NaNDescript = 'The NaN property of the Number object is a JavaScript constant that stands for \'Not a Number\'. It always returns false when compared to a number or itself. To check for the NaN value, use the isNaN() method.';
var NaNProp = new jsProperty("NaN", numberApply, NaNDescript, "600", "250", "1.1");
// NEGATIVE_INFINITY
var negative_infinityDescript = 'The NEGATIVE_INFINITY property of the Number object is a special value represented by the string \'-Infinity\'. It is used by browsers when overflow situations occur. The NEGATIVE_INFINITY value behaves mathematically as you would expect.';
var negative_infinityProp = new jsProperty("NEGATIVE_INFINITY", numberApply, negative_infinityDescript, "600", "300", "1.1");
// POSITIVE_INFINITY
var positive_infinityDescript = 'The POSITIVE_INFINITY property of the Number object is a special value represented by the string \'Infinity\'. It is used by browsers when overflow situations occur. The POSITIVE_INFINITY value behaves mathematically as you would expect.';
var positive_infinityProp = new jsProperty("POSITIVE_INFINITY", numberApply, positive_infinityDescript, "600", "300", "1.1");
// filename
var filenameDescript = 'The filename property is the name of the file (on the hard disk) of a particular plug-in.';
var filenameProp = new jsProperty("filename", pluginApply, filenameDescript, "600", "250", "1.1");
// options
var optionsDescript = 'The options property of the Select object is an array of the objects corresponding to the choices in the selection list. The options are defined with the HTML <option> tag.\n\nNote: You must use the options array with a specific index to access the defaultSelected, index, selected, text and value properties. You can also use the selectedIndex property on the options array, which holds the index value of the currently selection option.';
var optionsProp = new jsProperty("options", selectApply, optionsDescript, "600", "300", "1.0");
// selectedIndex
var selectedIndexDescript = 'The selectedIndex property returns the index of the selected choice in a Select object. It can be used directly on a Select object, or in conjunction with the options array.';
var selectedIndexProp = new jsProperty("selectedIndex", selectApply, selectedIndexDescript, "600", "250", "1.0");
var closedDescript = 'The closed property is a boolean value representing the current state of a window. If a window is still open, the value is true; once a window is closed, the value becomes false.';
var closedProp = new jsProperty("closed", windowApply, closedDescript, "600", "250", "1.1");
var openerDescript = 'The opener property is a reference to the document that opened the current window using the window.open() method.';
var openerProp = new jsProperty("opener", windowApply, openerDescript, "600", "250", "1.1");
var noneMethod = new jsMethod("N/A", noneApply, "", "", "", "", "N/A");
// click()
var clickDescript = 'The click() method simulates clicking an object with the mouse. The click() method is useful for selecting an option from a list. The click() method does not, however, activate an object\'s onClick event handler.';
var clickMethod = new jsMethod("click", clickApply, clickDescript, "Nothing", "600", "250", "1.0");
// getDate()
var getDateDescript = 'The getDate() method returns a Date object\'s day of the month (between 1 and 31).';
var getDateMethod = new jsMethod("getDate", dateApply, getDateDescript, "Number representing day of the month", "600", "250", "1.0");
// getDay()
var getDayDescript = 'The getDay() method returns an integer representing the day of the week. It is important not to confuse the getDay() method with the getDate() method. The getDay() method will return only return values between 0 and 6 (0 = Sunday, 1 = Monday, 6 = Saturday).';
var getDayMethod = new jsMethod("getDay", dateApply, getDayDescript, "Number representing day of the week", "600", "250", "1.0");
// getHours()
var getHoursDescript = 'The getHours() method returns the hour portion of a date object. The getHours() method will return a value between 0 and 23 (0 = midnight, 23 = 11pm).';
var getHoursMethod = new jsMethod("getHours", dateApply, getHoursDescript, "Number representing the hour of the day", "600", "250", "1.0");
// getMinutes()
var getMinutesDescript = 'The getMinutes() method returns the minutes portion of a date object. The return value will be between 0 and 59.';
var getMinutesMethod = new jsMethod("getMinutes", dateApply, getMinutesDescript, "Number representing the minutes passed", "600", "250", "1.0");
// getMonth()
var getMonthDescript = 'The getMonth() method returns the month of the year for a specific date object. The getMonth() method will return a number between 0 and 11 (0 = January, 11 = Dec).';
var getMonthMethod = new jsMethod("getMonth", dateApply, getMonthDescript, "Number representing the month of the year", "600", "250", "1.0");
// getSeconds()
var getSecondsDescript = 'The getSeconds() method returns the seconds passed in the date object. The getSeconds() method returns a number between 0 and 59.';
var getSecondsMethod = new jsMethod("getSeconds", dateApply, getSecondsDescript, "Number representing the seconds passed", "600", "250", "1.0");
// getTime()
var getTimeDescript = 'The getTime() method returns the number of milliseconds between January 1, 1970 and the date in the current date object.';
var getTimeMethod = new jsMethod("getTime", dateApply, getTimeDescript, "Milleseconds since January 1, 1970", "600", "250", "1.0");
// getTimezoneOffset
var getTimezoneOffsetDescript = 'The getTimezoneOffset() method returns the difference between the local time zone and Greenwich Mean Time (expressed in minutes).';
var getTimezoneOffsetMethod = new jsMethod("getTimezoneOffset", dateApply, getTimezoneOffsetDescript, "Minutes between local time and GMT", "600", "250", "1.0");
// getYear()
var getYearDescript = 'The getYear() method returns the year portion of the current date object. For years less than 2000 the getYear() method will return a two-digit representation of the year (for example, the year 1998 will be represented as 98). For years greater than or equal to 2000, the getYear() method will return a four-digit representation (for example, the year 2001 will be represented as 2001).';
var getYearMethod = new jsMethod("getYear", dateApply, getYearDescript, "Number representing the current year", "600", "300", "1.0");
// parse()
var parseDescript = 'The parse() method is similar to the getTime() method, except that the parse() method works on a string representation of a date, instead of an actual date object. The parse() method does not work with an instantiated date object, but with the Date keyword itself. For example, to parse a date, you would use the following syntax:\n\nDate.parse("January 1, 2000 5:30:00 GMT+12");\n\nIf you don\'t include a time zone offset, the parse() method assumes local time. The example above sets the time zone offset to 12 hours ahead of GMT. If the minutes, seconds and milliseconds arguments are left blank, they will be set to 0.';
var parseMethod = new jsMethod("parse", dateApply, parseDescript, "Milliseconds since January 1, 1970", "600", "400", "1.0");
// setDate()
var setDateDescript = 'The setDate() method sets the day of the month for a date object. The setDate() function takes one argument -- the day of the month to set the date object to.';
var setDateMethod = new jsMethod("setDate", dateApply, setDateDescript, "Nothing", "600", "250", "1.0");
// setHours()
var setHoursDescript = 'The setHours() method sets the hours of a specific date object to a new value. The setHours() method accepts one argument -- the new hour for the date, expressed as a number between 0 and 23.';
var setHoursMethod = new jsMethod("setHours", dateApply, setHoursDescript, "Nothing", "600", "250", "1.0");
// setMinutes()
var setMinutesDescript = 'The setMinutes() method sets the minutes of a specific date object to a new value. The setMinutes method accepts one argument -- the new minutes for the date, expressed as a number between 0 and 59.';
var setMinutesMethod = new jsMethod("setMinutes", dateApply, setMinutesDescript, "Nothing", "600", "250", "1.0");
// setMonth()
var setMonthDescript = 'The setMonth() method sets the minutes of a specific date object to a new value. The setMonth() method accepts one argument -- the new month for the date, expressed as a number between 0 and 11.';
var setMonthMethod = new jsMethod("setMonth", dateApply, setMonthDescript, "Nothing", "600", "250", "1.0");
// setSeconds()
var setSecondsDescript = 'The setSeconds() method sets the seconds of a specific date object to a new value. The setSeconds() method accepts one argument -- the new seconds value for the date object, expressed as a number between 0 and 59.';
var setSecondsMethod = new jsMethod("setSeconds", dateApply, setSecondsDescript, "Nothing", "600", "250", "1.0");
// setTime()
var setTimeDescript = 'The setTime() method changes the date held within a date object. The setTime() method accepts one argument -- a number indicating the number of milliseconds since January 1, 1970.';
var setTimeMethod = new jsMethod("setTime", dateApply, setTimeDescript, "Nothing", "600", "250", "1.0");
// setYear()
var setYearDescript = 'The setYear() method sets a new year value for a specific date object. The setYear() method accepts one argument -- a numeric representation of the new year. For years before 2000, a two-digit abbreviation is used (for example, myDate.setYear(98);). For years 2000 and beyond, the entire four-digit year must be used.';
var setYearMethod = new jsMethod("setYear", dateApply, setYearDescript, "Nothing", "600", "300", "1.0");
// toGMTString()
var toGMTStringDescript = 'The toGMTString() method converts a date object to GMT and presents a string representation of the date. The exact format of the date string will vary across different operating systems, however.';
var toGMTStringMethod = new jsMethod("toGMTString", dateApply, toGMTStringDescript, "Nothing", "600", "250", "1.0");
// toLocaleString()
var toLocaleStringDescript = 'The toLocalString() method converts a date object to a string representation of the date using the date conventions of the local area. The toLocaleString() method\'s string representations will vary across different operating systems, however.';
var toLocaleStringMethod = new jsMethod("toLocaleString", dateApply, toLocaleStringDescript, "Nothing", "600", "250", "1.0");
// UTC()
var UTCDescript = 'The UTC() method works identically to the parse() method, except that it uses universal time coordinated (GMT) instead of local time. See the parse() method for more details.';
var UTCMethod = new jsMethod("UTC", dateApply, UTCDescript, "Nothing", "600", "250", "1.0");
// toString()
var toStringDescript = 'The toString() method is a method of every JavaScript object. Most objects simply return the string \'[object type]\', where \'type\' is substituted for the name of the object type. Functions, too, have a toString method, which decompiles the source to the function and then returns the resulting string.\n\nThe toString() method will convert objects into a descriptive string, where it makes sense (such as Date and Array objects). If you need to use the toString() method on other objects, you can define your own function and assign it to the object\'s toString method.';
var toStringMethod = new jsMethod("toString", toStringApply, toStringDescript, "String representation of an object", "600", "350", "1.0");
// close()
var closeDescript = 'The close() method works on both Document and Window objects, with different results for each. When applied to Window objects, the close() method will close the entire window. When applied to documents, however, the close() method refers to a text stream (usually opened with the open() method).';
var closeMethod = new jsMethod("close", closeApply, closeDescript, "Nothing", "600", "250", "1.0");
// open()
var openDescript = 'The open() method is a method of both Document and Window objects. When applied to the Document object, the open() method opens a text string for writing to the window. If the window exists, the current document is erased (in Version 1.1) and replaced by the new text. The open() method accepts two arguments -- the first is the mime type (the default if omitted is \'text/html\'. The second argument (implemented in Version 1.1) is the optional \'replace\' argument. If included, the newly generated document replaces the current document in the history list. Without the replace parameter, the user can hit the back button on the browser to return to the previous document.\n\nWhen applied to a Window object, the open() method opens a new window. The syntax for the window.open() method is:\n\nmyWindow = window.open("mypage.htm", "theWindow", [windowOptions]);\n\nThe myWindow portion of the statement assigns the name to the newly created window. For example, to change the bgColor property of the new window, the syntax would be myWindow.document.bgColor = . . . The mypage.htm portion of the statement defines the page to be loaded in the new window. Finally, the windowOptions list is a series of comma-delimited options that define the behaviour of the new window. The following is a list of options that can be included, each with a value of \'yes\' or \'no\', or \'1\' or \'0\': toolbar, location, directories, status, menubar, scrollbars and resizeable. Each option specifies whether or not to include that option. For example, an option of \'location=no\' would prevent the new window from having the location bar on the window. The last two options to the open() command are width and height, both expressed in pixels. Note that the order of the options is not important. If you do not include any option, it is assumed to be \'true\'.';
var openMethod = new jsMethod("open", closeApply, openDescript, "Nothing", "800", "550", "1.0");
// write()
var writeDescript = 'The write() method dynamically writes text to a document. It is important to remember to include HTML formatting tags where required. The write() method does not append a new-line character to the end of the string, as the writeln() method does. However, this will not affect the HTML output unless the text is being written inside <pre> tags.';
var writeMethod = new jsMethod("write", documentApply, writeDescript, "Nothing", "600", "300", "1.0");
// writeln()
var writelnDescript = 'The writeln() method dynamically writes text to a document. You must insert HTML formatting tags where required. Finally, the writeln() method appends a new-line character to the end of the string. Unless the text is being written inside <pre> tags, however, this is unlikely to affect the onscreen display of the text.';
var writelnMethod = new jsMethod("writeln", documentApply, writelnDescript, "Nothing", "600", "300", "1.0");
// back()
var backDescript = 'The back() method changes the URL of the current page to the previous URL in the history list.';
var backMethod = new jsMethod("back", historyApply, backDescript, "Nothing", "600", "250", "1.0");
// forward()
var forwardDescript = 'The forward() method changes the current URL of a document to the next location in the history list.';
var forwardMethod = new jsMethod("forward", historyApply, forwardDescript, "Nothing", "600", "250", "1.0");
// go()
var goDescript = 'The go() method loads a new URL from the history list in the browser. It accepts one argument -- either a number or a string. If sent a number, the go() method will load the URL of the entry in the history list that many positions from the current entry. For example, the statement, \'history.go(-2);\' would load the URL two locations back from the current entry.\n\nIf sent a string argument, the go() method will load the closest entry that contains the string in the full URL.';
var goMethod = new jsMethod("go", historyApply, goDescript, "Nothing", "600", "350", "1.0");
// abs()
var absDescript = 'The abs() method of the Math object takes a number as an argument and returns the absolute (or positive) value of a number.'
var absMethod = new jsMethod("abs", mathApply, absDescript, "Nothing", "600", "250", "1.0");
// acos()
var acosDescript = 'The acos() method takes a numeric argument and returns its arc cosine value. The acos() method works in radian measurements; therefore, the argument must be between -1 and 1, and the return value will be between zero and pi radians.'
var acosMethod = new jsMethod("acos", mathApply, acosDescript, "Nothing", "600", "250", "1.0");
// asin()
var asinDescript = 'The asin() method accepts one argument -- a number (expressed in radians) between -pi/2 and pi/2. The asin() method returns the arc sine of the argument, or zero if the number is out of range.';
var asinMethod = new jsMethod("asin", mathApply, asinDescript, "Arc sine expressed in radians", "600", "250", "1.0");
// atan()
var atanDescript = 'The atan() method accepts one numeric argument and returns the arc tangent of the argument. The function will return a value between -pi/2 and pi/2.';
var atanMethod = new jsMethod("atan", mathApply, atanDescript, "Arc tangent expressed in radians", "600", "250", "1.0");
// atan2()
var atan2Descript = 'Given a point, the atan2 method returns the angle from the x axis to the point. The return value will be between 0 and 2pi, expressed in radians.';
var atan2Method = new jsMethod("atan2", mathApply, atan2Descript, "Angle from x axis to the point", "600", "250", "1.0");
// ceil
var ceilDescript = 'The ceil() method accepts one numeric argument and returns the smallest integer that is greater than or equal to the argument. For example, Math.ceil(8) is equal to 8, but Math.ceil(8.001) is equal to 9.';
var ceilMethod = new jsMethod("ceil", mathApply, ceilDescript, "Smallest integer greater than or equal to argument", "600", "250", "1.0");
// cos()
var cosDescript = 'The cos() method will return the cosine of a number. The cos() method accepts one argument -- the size of an angle expressed in radians -- and returns a value between 0 and 1.';
var cosMethod = new jsMethod("cos", mathApply, cosDescript, "The cosine of a number, between 0 and 1", "600", "250", "1.0");
// exp()
var expDescript = 'The exp() method accepts one numeric argument, and returns eNumber, where e is Euler\'s constant, and Number is the argument sent to the function.';
var expMethod = new jsMethod("exp", mathApply, expDescript, "eNumber", "600", "250", "1.0");
// floor()
var floorDescript = 'The floor() method accepts one numeric argument and returns the largest integer less than or equal to the argument. For example, Math.floor(7.999) evaluates to 7, but Math.floor(8) evaluates to 8.';
var floorMethod = new jsMethod("floor", mathApply, floorDescript, "Largest integer less than or equal to the argument", "600", "250", "1.0");
// log()
var logDescript = 'The log() method accepts one numeric argument and returns the natural logarithm of the argument.';
var logMethod = new jsMethod("log", mathApply, logDescript, "Natural logarithm of argument", "600", "250", "1.0");
// max()
var maxDescript = 'The max() method accepts two numeric arguments and returns the argument with the greater value.';
var maxMethod = new jsMethod("max", mathApply, maxDescript, "Greater argument", "600", "250", "1.0");
// min()
var minDescript = 'The min() method accepts two numeric arguments and returns the argument with the lesser value.';
var minMethod = new jsMethod("min", mathApply, minDescript, "Lesser argument", "600", "250", "1.0");
// pow()
var powDescript = 'The pow() method accepts two numeric arguments -- one representing the base number, and the second representing the power to which the base number should be raised.';
var powMethod = new jsMethod("pow", mathApply, powDescript, "The first argument raised to the power of the second argument", "600", "250", "1.0");
// random()
var randomDescript = 'The random() method accepts no arguments and returns a \'random\' number between 0 and 1. The random numbers generated by the random() method are seeded from the system clock, and are not all that random. However, for most JavaScripts, this shouldn\'t be a problem.';
var randomMethod = new jsMethod("random", mathApply, randomDescript, "A random number between 0 and 1", "600", "300", "1.0");
// round()
var roundDescript = 'The round method accepts one numeric argument and returns the argument rounded to the nearest integer. For example, Math.round(1.49) would evaluate to 1, but Math.round(1.5) would evaluate to 2.';
var roundMethod = new jsMethod("round", mathApply, roundDescript, "Closest integer to the argument", "600", "250", "1.0");
// sin()
var sinDescript = 'The sin() method accepts one numeric argument -- a numeric value representing an angle (expressed in radians) -- and returns the sine of the angle. The return value will be between -1 and 1.';
var sinMethod = new jsMethod("sin", mathApply, sinDescript, "Sine of an angle", "600", "250", "1.0");
// sqrt()
var sqrtDescript = 'The sqrt() method accepts one numeric argument and returns the square root of the argument.';
var sqrtMethod = new jsMethod("sqrt", mathApply, sqrtDescript, "Square root of the argument", "600", "250", "1.0");
// tan()
var tanDescript = 'The tan() method accepts one numeric argument and returns the tangent of the number. The argument must be expressed in radian measurement.';
var tanMethod = new jsMethod("tan", mathApply, tanDescript, "Tangent of the argument", "600", "250", "1.0");
// focus()
var focusDescript = 'The focus() method moves focus to a specific object. If focus is given to a window, it will move to the front (in some operating systems).\n\nNote: The focus() method was added to the Button, Checkbox, FileUpload, Frame, Radio, Reset, Submit amd Window objects in Version 1.1.';
var focusMethod = new jsMethod("focus", blurApply, focusDescript, "Nothing", "600", "300", "1.0");
// blur()
var blurDescript = 'The blur() method removes focus from an object, and in the case of windows, generally causes it to move into the background.\n\nNote: The blur method\'s scope was extended to include Button, Checkbox, FileUpload, Frame, Password, Radio, Reset, Select, Submit, Text, Textarea and Window objects only in JavaScript Version 1.1.';
var blurMethod = new jsMethod("blur", blurApply, blurDescript, "Nothing", "600", "300", "1.0");
// select()
var selectDescript = 'The select method highlights the area inside a text-related input object.\n\nNote: The select() method does not necessarily give an object focus. The focus() method should be used in conjunction with the select() method.';
var selectMethod = new jsMethod("select", textApply, selectDescript, "Nothing", "600", "250", "1.0");
// anchor()
var anchorDescript = 'The anchor() method dynamically creates an anchor object from a text string. The anchor() method accepts one argument -- the name to be assigned to the anchor. The anchor() method is generally used inside a call to either the write() or writeln() method. For example, the following code would create an anchor called \'plyrics\', and display the text \'Lyrics to the Brown Album\':\n\ndocument.writeln("Lyrics to the Brown Album".anchor("plyrics"));\n\nThe above code would be functionally equivalent to the following line of HTML:\n\n<a name="plyrics">Lyrics to the Brown Album</a>.';
var anchorMethod = new jsMethod("anchor", stringApply, anchorDescript, "Modified string", "600", "400", "1.0");
// big()
var bigDescript = 'The big() method surrounds the string in opening and closing <big> tags. For example, the following line of code would result in the string \'<big>Hello</big>\' being written to the document:\n\ndocument.writeln("Hello".big());';
var bigMethod = new jsMethod("big", stringApply, bigDescript, "Modified string", "600", "300", "1.0");
// bold()
var boldDescript = 'The bold() method surrounds the current string in opening and closing <b> tags, causing the string to be printed in bold lettering.';
var boldMethod = new jsMethod("bold", stringApply, boldDescript, "Modified string", "600", "250", "1.0");
// blink()
var blinkDescript = 'The blink() method surrounds the current string in opening and closing <blink> tags, causing the string to blink when written to a document.\n\nNote: <blink> tags are a great way to make enemies!';
var blinkMethod = new jsMethod("blink", stringApply, blinkDescript, "Modified string", "600", "250", "1.0");
// charAt()
var charAtDescript = 'The charAt() method accepts one argument -- an index value for the string -- and returns the character at the specified index.';
var charAtMethod = new jsMethod("charAt", stringApply, charAtDescript, "Character at specified index", "600", "250", "1.0");
// fixed()
var fixedDescript = 'The fixed() method surrounds the string in opening and closing <tt> tags, causing the string to appear in a fixed-pitch font.';
var fixedMethod = new jsMethod("fixed", stringApply, fixedDescript, "Modified string", "600", "250", "1.0");
// fontcolor()
var fontcolorDescript = 'The fontcolor() method accepts one argument: either a hexadecimal RGB triplet or a string literal specifying a colour. The fontcolor() method surrounds a string in opening and closing <font color=(argument)> tags.';
var fontcolorMethod = new jsMethod("fontcolor", stringApply, fontcolorDescript, "Modified string", "600", "250", "1.0");
// fontsize()
var fontsizeDescript = 'The fontsize() method accepts one argument: an integer between 1 and 7, specifying a font size. The fontsize() method surrounds a string in opening and closing <font size=(argument)> tags.';
var fontsizeMethod = new jsMethod("fontsize", stringApply, fontsizeDescript, "Modified string", "600", "250", "1.0");
// indexOf()
var indexOfDescript = 'The indexOf() method searches for the first occurrence of a string within another string. The string to be searched for is sent as an argument to the indexOf() method, and an optional second index argument specifies the position in the string to begin the search.\n\nIf the argument string is not found withing the search string, the indexOf() method returns -1.';
var indexOfMethod = new jsMethod("indexOf", stringApply, indexOfDescript, "Index of the first occurrence of the argument string within the parent string", "600", "300", "1.0");
// italics()
var italicsDescript = 'The italics() method surrounds the string in opening and closing <i> tags, causing the string to be presented italicised.';
var italicsMethod = new jsMethod("italics", stringApply, italicsDescript, "Modified string", "600", "250", "1.0");
// link()
var linkDescript = 'The link() method converts a string into a hypertext link. The link() method requires one argument: a valid (relative or absolute) URL to which the string will link.';
var linkMethod = new jsMethod("link", stringApply, linkDescript, "Hypertext link", "600", "250", "1.0");
// small()
var smallDescript = 'The small() method surrounds the string in opening and closing <small> tags, causing the string to be displayed in a smaller point size.';
var smallMethod = new jsMethod("small", stringApply, smallDescript, "Modified string", "600", "250", "1.0");
// sub()
var subDescript = 'The sub() method surrounds the string in opening and closing <sub> tags, causing the string to appear in subscript.';
var subMethod = new jsMethod("sub", stringApply, subDescript, "Modified string", "600", "250", "1.0");
// substring()
var substringDescript = 'The substring() method returns a portion of a string as specified by the two numeric arguments. The order of the two arguments does not matter -- the substring() method will return the string beginning at the lesser index and ending at the greater index.';
var substringMethod = new jsMethod("substring", stringApply, substringDescript, "String", "600", "250", "1.0");
// sup()
var supDescript = 'The sup() method surrounds the string in opening and closing <sup> tags, causing the string to appear in superscript.';
var supMethod = new jsMethod("sup", stringApply, supDescript, "Modified string", "600", "250", "1.0");
// toLowerCase()
var toLowerCaseDescript = 'The toLowerCase() method returns the string in all lower-case letters.';
var toLowerCaseMethod = new jsMethod("toLowerCase", stringApply, toLowerCaseDescript, "Modified string", "600", "250", "1.0");
// toUpperCase()
var toUpperCaseDescript = 'The toUpperCase() method returns the string in all upper-case letters.';
var toUpperCaseMethod = new jsMethod("toUpperCase", stringApply, toUpperCaseDescript, "Modified string", "600", "250", "1.0");
// split()
var splitDescript = 'The split() method will split a string into an array of its parts. The split() methods accepts one argument -- the separator to be used to differentiate the component parts. If the separator is not included, the array will include one element containing the entire string.';
var splitMethod = new jsMethod("split", stringApply, splitDescript, "Array of component strings", "600", "250", "1.1");
// strike()
var strikeDescript = 'The strike() method surrounds the string in opening and closing <strike> tags, causing the text to be struck out.';
var strikeMethod = new jsMethod("strike", stringApply, strikeDescript, "Modified string", "600", "250", "1.0");
// alert()
var alertDescript = 'The alert() method displays a pop-up box with a user-defined message and an OK button. The alert() method accepts one argument -- the string to be displayed -- and returns nothing.\n\nAlert boxes are most often used to convey important information to the user without offering any choices. The following code would display, \'HEY!\' in an alert box:\n\nalert("HEY!");';
var alertMethod = new jsMethod("alert", windowApply, alertDescript, "Nothing", "600", "350", "1.0");
// confirm()
var confirmDescript = 'The confirm() method presents the user with a dialog box containing a message sent as an argument and OK and Cancel buttons. The confirm() method will return true if the user presses the OK button, and false if the user presses the cancel button.';
var confirmMethod = new jsMethod("confirm", windowApply, confirmDescript, "Boolean value corresponding to the pressing of the OK or Cancel buttons", "600", "275", "1.0");
// prompt()
var promptDescript = 'The prompt message presents a dialog box with a text field. The prompt() method accepts two arguments: a string to be displayed to the user, and the default value for the text field. It can be used to gather information from the user. If the user presses the OK button, the string inside the text field is returned, and the prompt() method returns null if the user presses the Cancel button.';
var promptMethod = new jsMethod("prompt", windowApply, promptDescript, "User supplied string", "600", "300", "1.0");
// join()
var joinDescript = 'The join() method joins all the elements of an array into a single string. The join() method accepts one argument -- a string to be used as a separator. If the separator is omitted, the default separator is a comma. For example, assuming the existence of an array called \'fruit\' with two elements, \'apples\' and \'oranges\', the following line of code would write \'apples & oranges\' to the screen:\n\ndocument.writeln(fruit.join(" & "));\n\nUsing the eval() function, you could quickly add up and print the contents of a numeric array using the following line of code:\n\ndocument.writeln(eval(numberArray.join("+")));';
var joinMethod = new jsMethod("join", arrayApply, joinDescript, "String of joined array elements", "600", "425", "1.1");
// lastIndexOf()
var lastIndexOfDescript = 'The lastIndexOf() method functions similarly to the indexOf() method. The lastIndexOf() method searches for the last occurrence of a string (sent as an argument to the method) in the object string. For example, the following line of code would print 16 to the screen:\n\ndocument.writeln("How Now Brown Cow?".lastIndexOf("ow"));\n\nBy default, the lastIndexOf() method searches to the end of the string and reports the last occurrence of the argument string. An optional second argument will set a cut-off index in the search string. For example, the following line of code would print 11 to the screen:\n\ndocument.writeln("How Now Brown Cow?".lastIndexOf("ow", 15)';
var lastIndexOfMethod = new jsMethod("lastIndexOf", arrayApply, lastIndexOfDescript, "Numeric index", "650", "400", "1.0");
// sort()
var sortDescript = 'The sort() method sorts the elements of an array. The sort() method accepts one argument -- the name of the sorting function (if any). If the sorting function is omitted, the elements of an array are converted to string objects and sorted alphabetically. However, it is not always desirable to sort by alphabetical order; consider an array of the following numbers: 3, 20, 100. Sorted alphabetically, the resulting order is: 100, 20, 3. For numeric values (or any other special sorting need), you must create a function to define how to sort the array. Sorting functions should accept the two values to be compared as arguments, and return either 1, 0 or -1. If the first argument is less than the second argument, the function should return -1. If the first argument is greater than the second argument, the function should return 1. If the two values are equal, the function should return 0.';
var sortMethod = new jsMethod("sort", arrayApply, sortDescript, "Sorted array", "650", "400", "1.1");
// submit()
var submitDescript = 'The submit() method submits a form for processing. However, the submit() method will not work if the action property is using a mailto:, news: or snews: protocol (for security reasons). If you need to use these protocols, use a submit button, which will then bring up a security dialog box.';
var submitMethod = new jsMethod("submit", formObjectApply, submitDescript, "Nothing", "600", "250", "1.0");
// reset()
var resetDescript = 'The reset() method resets all of the elements in a form to their original state. The reset() method has the same effect as a user pressing a submit button.';
var resetMethod = new jsMethod("reset", formObjectApply, resetDescript, "Nothing", "600", "250", "1.0");
// clearTimeout()
var clearTimeoutDescript = 'The clearTimeout() method clears a timeout set with the setTimeout method. The clearTimeout() method accepts one argument -- the name of the timeout to be cleared. For more information, see the setTimeout method.';
var clearTimeoutMethod = new jsMethod("clearTimeout", framesApply, clearTimeoutDescript, "Nothing", "600", "250", "1.0");
// setTimeout()
var setTimeoutDescript = 'The setTimeout() method is used to evaluate an expression after a certain amount of time has passed. The setTimeout() method accepts two arguments -- the expression to be evaluated, and the number of milliseconds until the expression is to be evaluated. The setTimeout() method also returns a reference to the timeout, which can be assigned to a variable, and used later inside the clearTimeout() method to cancel the timeout. For example, the following code would set the background colour to white after 4 seconds:\n\ntimerID = setTimeout("document.bgColor = \'#FFFFFF\';", 4000);\n\nThis event could later be canceled with the clearTimeout() method:\n\nclearTimeout(timerID);';
var setTimeoutMethod = new jsMethod("setTimeout", framesApply, setTimeoutDescript, "Reference to the timer object", "600", "425", "1.0");
// reverse()
var reverseDescript = 'The reverse() method takes the elements of an array and reverses their order, so the last element becomes the first, and so forth.';
var reverseMethod = new jsMethod("reverse", arrayApply, reverseDescript, "Array sorted in reverse order", "600", "250", "1.1");
// reload()
var reloadDescript = 'The reload() method forces a browser to reload the current document. Optionally, you can send an argument of true to the method, forcing an HTTP \'get\' operation.';
var reloadMethod = new jsMethod("reload", locationApply, reloadDescript, "Nothing", "600", "250", "1.1");
// replace()
var replaceDescript = 'The replace() method replaces the current document in a browser with a new document. The replace() method accepts one argument -- the URL of the new document to load.\n\nNote: The replace() method replaces the current entry in the history list with the new document, and the user will not be able to navigate to the previous document using the Back button on the browser.';
var replaceMethod = new jsMethod("replace", locationApply, replaceDescript, "Nothing", "600", "350", "1.1");
// javaEnabled()
var javaEnabledDescript = 'The javaEnabled() method accepts no arguments, and returns a boolean value specifying whether Java is enabled on the user\'s browser.';
var javaEnabledMethod = new jsMethod("javaEnabled", navigatorApply, javaEnabledDescript, "Boolean value corresponding to the Java setting of the browser", "600", "250", "1.1");
// scroll()
var scrollDescript = 'The scroll() method scrolls a window to specific coordinates. The scroll() method accepts two arguments, the x coordinate and the y coordinate of the position to scroll to relative to the top left-hand corner.';
var scrollMethod = new jsMethod("scroll", windowApply, scrollDescript, "Nothing", "600", "250", "1.1");
var noneEvent = new jsEventHandler("N/A", noneApply, "", "640", "480", "N/A");
// onClick
var onClickDescript = 'The onClick event handler is triggered when an object (such as a button) is clicked. When the object is clicked, the program instructions sent as an argument to the event handler are executed. Generally, a function call is sent as the argument; for example:\n\n<input type=button onClick=\'buttonClickFunction();\'>\n\nNote: Since Version 1.1 of the JavaScript specification, checkboxes, links, radio buttons, reset buttons and submit buttons returning false from an onClick event handler will cancel the event.';
var onClickEvent = new jsEventHandler("onClick", onClickApply, onClickDescript, "650", "350", "1.0");
// onLoad
var onLoadDescript = 'The onLoad event handler is triggered when an object has completed loading. If used with frames, each individual frame\'s onLoad event will be triggered before the <frameset> document generates an onLoad event. With image objects, the onLoad event is triggered when the image is displayed (not loaded via the Image() constructor). Therefore, an image object\'s onLoad event handler will be triggered each time the src property changes. With animated GIFs, an onLoad event is generated with each loop of the image.\n\nNote: The onLoad event handler was added to Image objects in Version 1.1.';
var onLoadEvent = new jsEventHandler("onLoad", onLoadApply, onLoadDescript, "650", "350", "1.0");
// onUnload
var onUnloadDescript = "The onUnload event is triggered when a document is Unloaded.";
var onUnloadEvent = new jsEventHandler("onUnload", onLoadApply, onUnloadDescript, "600", "250", "1.0");
// onSubmit
var onSubmitDescript = "onSubmit is occurs when the submit button is pressed.";
var onSubmitEvent = new jsEventHandler("onSubmit", formObjectApply, onSubmitDescript, "600", "250", "1.0");
// onMouseOver
var onMouseOverDescript = "The onMouseOver event is triggered when the user's mouse enters a hypertext link region.";
var onMouseOverEvent = new jsEventHandler("onMouseOver", linkApply, onMouseOverDescript, "600", "250", "1.0");
// onMouseOut
var onMouseOutDescript = "The onMouseOut event is triggered when the user's mouse exits from a hypertext link region.";
var onMouseOutEvent = new jsEventHandler("onMouseOut", linkApply, onMouseOutDescript, "600", "250", "1.1");
// onChange
var onChangeDescript = 'The onChange event handler is evoked when an object loses focus and its value has changed. It is important to note that an object must first lose focus before the onChange event handler is evoked.\n\nNote: The onChange event handler was only added to the FileUpload object in Version 1.1.';
var onChangeEvent = new jsEventHandler("onChange", onChangeApply, onChangeDescript, "600", "250", "1.0");
// onBlur
var onBlurDescript = 'The onBlur event handler is triggered when an object loses focus.\n\nNote: The onBlur event handler was added to the Button, Checkbox, FileUpload, Frame, Password, Radio, Reset, Submit and Window objects only in Version 1.1.';
var onBlurEvent = new jsEventHandler("onBlur", onBlurApply, onBlurDescript, "600", "250", "1.0");
// onFocus
var onFocusDescript = 'The onFocus event handler is triggered when an object gains focus.\n\nNote: The onFocus event handler was added to the Button, Checkbox, FileUpload, Frame, Password, Radio, Reset, Submit and Window objects only after Version 1.1.';
var onFocusEvent = new jsEventHandler("onFocus", onBlurApply, onFocusDescript, "600", "250", "1.0");
// onSelect
var onSelectDescript = 'The onSelect event handler is triggered when a portion of the text inside a text object or text area is selected.';
var onSelectEvent = new jsEventHandler("onSelect", onSelectApply, onSelectDescript, "600", "250", "1.0");
// onReset
var onResetDescript = 'The onReset event handler is triggered when a user clicks the Reset button, or the reset() method is called on a form object.';
var onResetEvent = new jsEventHandler("onReset", formObjectApply, onResetDescript, "600", "250", "1.1");
// onSubmit
var onSubmitDescript = 'The onSubmit event handler is triggered when a form object is submitted to the server for processing. You can stop a form from being submitted by returning false from within the event handler itself. For example, the following event handler will call a function called checkForm. If the function returns false, the form will not be submitted; otherwise, the form is submitted for processing:\n\n<form onSubmit="return checkForm(this)";>';
var onSubmitEvent = new jsEventHandler("onSubmit", formObjectApply, onSubmitDescript, "600", "300", "1.0");
// onAbort
var onAbortDescript = 'The onAbort event handler for the image object generates an event when the loading of an image is aborted before the image has completed loading. A user can abort loading an image either by pressing the Stop button or by following a hypertext link.';
var onAbortEvent = new jsEventHandler("onAbort", imageApply, onAbortDescript, "600", "250", "1.1");
// onError
var onErrorDescript = 'The onError event handler is triggered by JavaScript code that generates an error. Usually, it is triggered by either a syntax error or a run-time error (not a Navigator error, such as loading a bad URL). You can, however, set the onError event handler to null, which will prevent all error messages from being displaying to the user. As you would expect, you can also call a function to handle error events from within the onError event handler.\n\nThe onError event handler cannot be used with the window object in HTML. Therefore, you must spell it in lower-case letters (eg. \'window.onerror\') and place it within a <script> tag. If you wish to create a custom event handler, you can assign the name of a function to the onError event handler. When an error event is generated, it will send the function three arguments -- the error message, the URL of the document that caused the error, and the line number that generated the error.';
var onErrorEvent = new jsEventHandler("onError", onErrorApply, onErrorDescript, "650", "400", "1.1");
var anchorDescript = 'The Anchor object is the JavaScript adaptation of HTML Anchor objects. JavaScript makes the anchors on a page available through the Anchors array (which is a property of the Document object). The only property of the Anchors array is the length property.\n\nAn anchor is created in HTML using the <a name="anchor_name"> syntax. You can then create a link to a specific anchor on a page using the syntax:\n\n<a href="documentURL#anchor_name">.\n\nI have yet to find any use for the Anchor array, and you need only share a casual acquaintance with the object.';
var anchorObject = new jsObject("Anchor", anchorDescript, anchorProps, noMethods, anchorEvents, "550", "600");
// Button object
var buttonProps = new Array();
buttonProps[0] = formProp;
buttonProps[1] = nameProp;
buttonProps[2] = typeProp;
buttonProps[3] = valueProp;
var buttonMethods = new Array();
buttonMethods[0] = blurMethod;
buttonMethods[1] = clickMethod;
buttonMethods[2] = focusMethod;
var buttonEvents = new Array();
buttonEvents[0] = onBlurEvent;
buttonEvents[1] = onClickEvent;
buttonEvents[2] = onFocusEvent;
var buttonDescript = 'The Button object is the JavaScript implementation of an HTML form button. The Button object is a property of the Form object, and can only be used inside opening and closing <form> tags. Button objects are used to trigger an event using the onClick event handler. Button object methods include the click(), blur() (Version 1.1) and focus() (Version 1.1) methods, as well as the associated event handlers (onClick, onBlur and onFocus).\n\nThe button object is closely related to the Submit and Reset objects, which create buttons for submitting and resetting forms. One of the most common uses for button objects is to label it \'Submit\' or \'Reset\', and call a function that performs some sort of validation before continuing with the event.\n\nThe HTML syntax for creating a button is:\n\n<input\ntype = "button"\nname = "Button Name"\nvalue = "Button Text"\n[onBlur = "onBlur instructions"]\n[onClick = "onClick instructions"]\n[onFocus = "onFocus instructions"] >\n\nIt\'s important not to confuse the name and value attributes of a button. The name attribute specifies the handle by which you can refer to the button within the code, whereas the value attribute specifies the text to appear on the button face.'
var buttonObject = new jsObject("Button", buttonDescript, buttonProps, buttonMethods, buttonEvents, "640", "480");
// Checkbox Object
var checkboxProps = new Array();
checkboxProps[0] = checkedProp;
checkboxProps[1] = defaultCheckedProp;
checkboxProps[2] = formProp;
checkboxProps[3] = nameProp;
checkboxProps[4] = typeProp;
checkboxProps[5] = valueProp;
var checkboxMethods = new Array();
checkboxMethods[0] = blurMethod;
checkboxMethods[1] = clickMethod;
checkboxMethods[2] = focusMethod;
var checkboxDescript = 'Checkboxes can be added to HTML forms to allow users to select or deselect an item. A checkbox is similar in scope to a radio button, except that multiple selections are not mutually exclusive. Like other form objects, Checkbox objects must be included inside opening and closing <form> tags. The syntax for a checkbox object is:\n\n<input\ntype = "checkbox"\nname = "CheckboxName"\nvalue = "ServerValue"\n[onBlur = "onBlur instructions"]\n[onClick = "onClick instructions"]\n[onFocus = "onFocus instructions"]>\n\nThe name attribute of the checkbox object specifies the name you can use to refer to the object. The value attribute specifies the text that will be submitted back to the server when a form is submitted. Finally, Checkbox objects have blur(), click() and focus() methods, as well as the associated event handlers.'
var checkboxObject = new jsObject("Checkbox", checkboxDescript, checkboxProps, checkboxMethods, buttonEvents, "640", "480");
// Date Object
var dateProps = new Array();
dateProps[0] = prototypeProp;
var dateMethods = new Array();
dateMethods[0] = getDateMethod;
dateMethods[1] = getDayMethod;
dateMethods[2] = getHoursMethod;
dateMethods[3] = getMinutesMethod;
dateMethods[4] = getMonthMethod;
dateMethods[5] = getSecondsMethod;
dateMethods[6] = getTimeMethod;
dateMethods[7] = getTimezoneOffsetMethod;
dateMethods[8] = getYearMethod;
dateMethods[9] = parseMethod;
dateMethods[10] = setDateMethod;
dateMethods[11] = setHoursMethod;
dateMethods[12] = setMinutesMethod;
dateMethods[13] = setMonthMethod;
dateMethods[14] = setSecondsMethod;
dateMethods[15] = setTimeMethod;
dateMethods[16] = setYearMethod;
dateMethods[17] = toGMTStringMethod;
dateMethods[18] = toStringMethod;
dateMethods[19] = UTCMethod;
var dateDescript = 'The Date object is used to create representations of a date and time with JavaScript. Date objects work by storing a date as a specific number of milliseconds since the first second of January 1, 1970 (thus, dates before 1970 are not allowed).\n\nThere are a number of different ways to create a date object. The first is with no arguments to the constructor:\n\nvar today = new Date();\n\nThis method of creating a date object initialises it with the current date and time. The second method accepts a string representation of a date in the following form:\n\nvar aDate = new Date("month day, year [00:00:00]");\n\nThe month, day and year must be included in a single string. Optionally, you can include number representations of the minutes, seconds and milliseconds. If excluded, the date object will be initiated with the minutes and seconds set to zero. For example, you could set a date object to the \'millennium\' with the following code:\n\nvar millennium = new Date("January 1, 2000");\n\nThe next method of creating a Date object uses integer (not string) arguments to create a date. The seconds information again is optional:\n\nvar date = new Date(year, month, day, 00:00:00);\n\nFor example, to set the date to Christmas 1990, you would use the following syntax:\n\nvar date = new Date(90, 12, 25);'
var dateObject = new jsObject("Date", dateDescript, dateProps, dateMethods, noEvents, "640", "480");
// Document Object
var documentProps = new Array();
documentProps[0] = alinkColorProp;
documentProps[1] = anchorsProp;
documentProps[2] = appletProp;
documentProps[3] = bgColorProp;
documentProps[4] = cookieProp;
documentProps[5] = domainProp;
documentProps[6] = embedsProp;
documentProps[7] = fgColorProp;
documentProps[8] = formsProp;
documentProps[9] = imagesProp;
documentProps[10] = lastModifiedProp;
documentProps[11] = linkColorProp;
documentProps[12] = linksProp;
documentProps[13] = loadedDateProp;
documentProps[14] = referrerProp;
documentProps[15] = titleProp;
documentProps[16] = URLProp;
documentProps[17] = vlinkColorProp;
var documentMethods = new Array();
documentMethods[0] = closeMethod;
documentMethods[1] = openMethod;
documentMethods[2] = writeMethod;
documentMethods[3] = writelnMethod;
var documentDescript = 'The Document object is the JavaScript representation of an HTML document. It encompasses everything that a Web page comprises, including the background colour, foreground colour, and links. The syntax for creating the body of a document in HTML is:\n\n<body\nbackground="(background image URL)";\nbgcolor = "(background colour)";\ntext = "(foreground or text colour)";\nlink = "(hypertext link colour)";\nvlink = "(visited hypertext link colour)";\nalink = "(active (or currently being clicked) hypertext link colour)";\n[onBlur = "onBlur instructions";]\n[onFocus = "onFocus instructions";]\n[onLoad = "onLoad instructions";]\n[onUnload = "onUnload instructions";]>\n</body>\n\nAll colours in the listing should be expressed as either hexadecimal RGB triplets (#RRGGBB), or by using a JavaScript string literal. For example, both of the following statements will set the background colour to white:\n\n<body bgcolor="white">\n<body bgcolor="#FFFFFF">\n\nThe onBlur and onFocus event handlers (as well as the blur() and focus() methods) were added in Version 1.1 of JavaScript, and are actually event handlers of the window object. They are included here because the event handlers are placed within the <body> tag.'
var documentObject = new jsObject("Document", documentDescript, documentProps, documentMethods, noEvents, "600", "675");
// Form Object
var formProps = new Array();
formProps[0] = actionProp;
formProps[1] = elementsProp;
formProps[2] = encodingProp;
formProps[3] = methodProp;
formProps[4] = nameProp;
formProps[5] = targetProp;
var formMethods = new Array();
formMethods[0] = resetMethod;
formMethods[1] = submitMethod;
var formEvents = new Array();
formEvents[0] = onResetEvent;
formEvents[1] = onSubmitEvent;
var formDescript = 'The Form object is one of JavaScript\'s more useful objects. It allows for input fields, such as text boxes and drop-down lists, to be placed directly on a Web page. Form objects can then be submitted, via a submit button, and the information is returned to the originating server. The syntax for creating a Form object is:\n\n<form\nname="form name"\ntarget="target frame"\naction="server URL"\nmethod="get | post"\nenctype="encoding type"\n[onReset="onReset instructions"]\n[onSubmit="onSubmit instructions"]>\n\nThe name attribute specifies a name to be used as an object reference in your JavaScripts. The target attribute specifies the frame to which the server\'s response should be posted. The method attribute accepts either \'get\' or \'post\' as actions, and specifies how the form information is to be sent back to the server. The enctype attribute specifies the MIME encoding to be used to the form data when it is submitted. The default is application/x-www-form-urlencoded, but this should be changed to multipart/form-data if the form contains a FileUpload object.\n\nIf there are multiple forms on a page, each one is considered to be a separate form. Forms on a Web page can be accessed using the argument to the name attribute, or by referencing the forms array. For example, if a document contains two forms, \'form\' and \'form2\', the second form can be referenced using either of the following two statements:\n\ndocument.forms[1] . . . \n\nor\n\ndocument.form2 . . .';
var formObject = new jsObject("Form", formDescript, formProps, formMethods, formEvents, "640", "480");
// History Object
var historyProps = new Array();
historyProps[0] = currentProp;
historyProps[1] = lengthProp;
historyProps[2] = nextProp;
historyProps[3] = previousProp;
var historyMethods = new Array();
historyMethods[0] = backMethod;
historyMethods[1] = forwardMethod;
historyMethods[2] = goMethod;
var historyDescript = 'The History object contains properties and methods related to URLs that a user has previously visited. For example, the history method contains a back() method, which is functionally equivalent to pressing the Back button on the browser toolbar.\n\nThe most useful methods of the history object are the back(), forward() and go() methods.';
var historyObject = new jsObject("History", historyDescript, historyProps, historyMethods, noEvents, "640", "480");
// Location Object
var locationProps = new Array();
locationProps[0] = hashProp;
locationProps[1] = hostProp;
locationProps[2] = hostnameProp;
locationProps[3] = hrefProp;
locationProps[4] = pathnameProp;
locationProps[5] = portProp;
locationProps[6] = protocolProp;
locationProps[7] = searchProp;
var locationMethods = new Array();
locationMethods[0] = reloadMethod;
locationMethods[1] = replaceMethod;
locationMethods[2] = toStringMethod;
var locationDescript = 'The Location object correlates to a URL. The Location object breaks a URL down into the following components:\n\nprotocol://host:port/pathname#hash?search\n\nEach of these components can be extracted from a Location object, or can be set by assignment. However, it is not advised to use anything other than the href property (a representation of the entire URL) to change the current page in a browser.\n\nAlso, when using the location property, you should always use the window.location property. Generally, location.href will refer to the window object. However, due to JavaScript\'s scope, assigning an event handler to the location property will assign the event handler to document.location -- a synonym for the document.URL property. Currently, the document.location property is retained for backward compatibility, but it will be removed from the specification in a future release.\n\nIf you\'re confused by all this, take a look at the document object example again. Many of the properties and methods should be familiar to you by now. For example, the writeln() method has been featured in almost every script up to now, and most of the scripts have featured the bgColor property as well. The remaining methods can be used in exactly the same way. For example, you can set the linkColor on a page to a new colour using the following syntax:\n\ndocument.linkColour="#FF0000";\n\nNotice that using the linkColour property is nearly identical to using the bgColor property. A good way to familiarise yourself with the objects is to write a script that uses as many of an object\'s methods and properties as possible. Then, when you need to use a specific object later, you will already be familiar with its workings.';
var locationObject = new jsObject("Location", locationDescript, locationProps, locationMethods, noEvents, "640", "480");
// Math Object
var mathProps = new Array();
mathProps[0] = EProp;
mathProps[1] = LN10Prop;
mathProps[2] = LN10EProp;
mathProps[3] = LN2Prop;
mathProps[4] = LN2EProp;
mathProps[5] = PIProp;
mathProps[6] = SQRT1_2Prop;
mathProps[7] = SQRT2Prop;
var mathMethods = new Array();
mathMethods[0] = absMethod;
mathMethods[1] = acosMethod;
mathMethods[2] = asinMethod;
mathMethods[3] = atanMethod;
mathMethods[4] = atan2Method;
mathMethods[5] = ceilMethod;
mathMethods[6] = cosMethod;
mathMethods[7] = expMethod;
mathMethods[8] = floorMethod;
mathMethods[9] = logMethod;
mathMethods[10] = maxMethod;
mathMethods[11] = minMethod;
mathMethods[12] = powMethod;
mathMethods[13] = randomMethod;
mathMethods[14] = roundMethod;
mathMethods[15] = sinMethod;
mathMethods[16] = sqrtMethod;
mathMethods[17] = tanMethod;
var mathDescript = 'The Math object is an abstract JavaScript object, in that it does not refer to any HTML object. Instead, it is a utility object that gives access to a number of maths-related constants and methods. Included in the Math object\'s properties are PI, and E (for Euler\'s constant), as well as many others. Methods include trigonometric functions, rounding functions and other general functions for manipulating numbers.';
var mathObject = new jsObject("Math", mathDescript, mathProps, mathMethods, noEvents, "640", "480");
// Navigator Object
var navigatorProps = new Array();
navigatorProps[0] = appCodeNameProp;
navigatorProps[1] = appNameProp;
navigatorProps[2] = appVersionProp;
navigatorProps[3] = mimeTypesProp;
navigatorProps[4] = pluginsProp;
navigatorProps[5] = userAgentProp;
var navigatorMethods = new Array();
navigatorMethods[0] = javaEnabledMethod;
var navigatorDescript = 'The Navigator object is another abstract class, representing the browser itself. It includes properties for determining which browser is in use, which MIME types are supported (Version 1.1) and which plug-ins are available (Version 1.1). Version 1.1 also includes the javaEnabled() method, which returns a Boolean value specifying whether the user has Java support enabled/available in the browser.';
var navigatorObject = new jsObject("Navigator", navigatorDescript, navigatorProps, navigatorMethods, noEvents, "640", "480");
// Password Object
var passwordProps = new Array();
passwordProps[0] = defaultValueProp;
passwordProps[1] = formProp;
passwordProps[2] = nameProp;
passwordProps[3] = typeProp;
passwordProps[4] = valueProp;
var passwordMethods = new Array();
passwordMethods[0] = blurMethod;
passwordMethods[1] = focusMethod;
passwordMethods[2] = selectMethod;
var passwordEvents = new Array();
passwordEvents[0] = onBlurEvent;
passwordEvents[1] = onFocusEvent;
var passwordDescript = 'Password objects are text fields that display asterisks in place of user-supplied text. They are useful for inputting passwords, where displaying the text onscreen could be a security hazard. The syntax is almost identical to that of Text objects. To create a Password object in HTML, you can use the following syntax:\n\n<input\ntype="password"\nname="passwordName"\n[value="default text value"]\n[size="input box size"]\n[onBlur="onBlur instructions"]\n[onFocus="onFocus instructions"] >\n\nPassword objects must be included on an HTML form.';
var passwordObject = new jsObject("Password", passwordDescript, passwordProps, passwordMethods, passwordEvents, "640", "480");
// Radio button Object
var radioButtonProps = new Array();
radioButtonProps[0] = checkedProp;
radioButtonProps[1] = defaultCheckedProp;
radioButtonProps[2] = formProp;
radioButtonProps[3] = lengthProp;
radioButtonProps[4] = nameProp;
radioButtonProps[5] = typeProp;
radioButtonProps[6] = valueProp;
var radioButtonMethods = new Array();
radioButtonMethods[0] = blurMethod;
radioButtonMethods[1] = clickMethod;
radioButtonMethods[2] = focusMethod;
var radioButtonEvents = new Array();
radioButtonEvents[0] = onBlurEvent;
radioButtonEvents[1] = onClickEvent;
radioButtonEvents[2] = onFocusEvent;
var radioButtonDescript = 'Radio objects are the JavaScript representation of HTML radio buttons. Radio buttons present a list of mutually exclusive options to the user (if you choose the first option, all other options will be automatically deselected). The HTML syntax for creating a radio button is:\n\n<input\ntype="radio"\nname="radioName"\nvalue="buttonValue"\n[checked]\n[onBlur="onBlur instructions"]\n[onClick="onClick instructions"]\n[onFocus="onFocus instructions"] >\n\nTo create a group of radio buttons, give each button the same name. The individual elements of a radio button grouping can then be referenced as an array with the same name as the radio button\'s name. For example, if you have three radio buttons named \'choice\', you could access the first one using the following syntax:\n\nform.choice[0].(property)\n\nThe Radio object is only available when placed between opening and closing <form> tags.';
var radioButtonObject = new jsObject("Radio button", radioButtonDescript, radioButtonProps, radioButtonMethods, radioButtonEvents, "640", "480");
// Reset button object
var resetProps = new Array();
resetProps[0] = formProp;
resetProps[1] = nameProp;
resetProps[2] = typeProp;
resetProps[3] = valueProp;
var resetMethods = new Array();
resetMethods[0] = blurMethod;
resetMethods[1] = clickMethod;
resetMethods[2] = focusMethod;
var resetEvents = new Array();
resetEvents[0] = onBlurEvent;
resetEvents[1] = onClickEvent;
resetEvents[2] = onFocusEvent;
var resetButtonDescript = 'The Reset object corresponds to HTML reset buttons. A reset button is used on an HTML form to reset the form elements\' values. You cannot use the onClick event handler to prevent the form from being reset. Use the Form object\'s onReset event handler instead. The syntax for creating a Reset object in HTML is:\n\n<input\ntype="reset"\nname="resetName"\nvalue="buttonText"\n[onBlur="onBlur instructions"]\n[onClick="onClick instructions"]\n[onFocus="onFocus instructions"] >';
var resetButtonObject = new jsObject("Reset button", resetButtonDescript, buttonProps, buttonMethods, buttonEvents, "640", "480");
// Selection list Object
var selectionProps = new Array();
selectionProps[0] = defaultSelectedProp;
selectionProps[1] = formProp;
selectionProps[2] = indexProp;
selectionProps[3] = lengthProp;
selectionProps[4] = nameProp;
selectionProps[5] = optionsProp;
selectionProps[6] = selectedProp;
selectionProps[7] = selectedIndexProp;
selectionProps[8] = textProp;
selectionProps[9] = typeProp;
selectionProps[10] = valueProp;
var selectionMethods = new Array();
selectionMethods[0] = blurMethod;
selectionMethods[1] = focusMethod;
var selectionEvents = new Array();
selectionEvents[0] = onBlurEvent;
selectionEvents[1] = onChangeEvent;
selectionEvents[2] = onFocusEvent;
var selectionListDescript = 'Select objects are JavaScript representations of HTML selection lists. A selection list is a list of choices from which a user can select either one or several options. Selection lists must be included on an HTML form. To create a selection list in HTML, use the following syntax:\n\n<select\nname="selectName"\nsize="(number of entries visible in the box)"\n[multiple]\n[onBlur="onBlur instructions"]\n[onChange="onChange instructions"]\n[onFocus="onFocus instructions"] >\n\nTo create entries in the list, you must include the entry text after an <option> tag. All items should be included between the opening and closing <select> tags. For example, to create a selection list with three choices, you would use the following syntax:\n\n<select name="mySelect">\n<option selected value="1">This is choice #1\n<option value="2">This is choice #2\n<option value="3">This is choice #3\n</select>\n\nSelection list objects include the options array, which is a list of the items defined in the <option> tags. Each option has a number of properties available to it (such as the selected property, which is true if an option is selected).\n\nSelect objects are form objects, and must be included on an HTML form.';
var selectionListObject = new jsObject("Selection list", selectionListDescript, selectionProps, selectionMethods, selectionEvents, "640", "480");
// String Object
var stringProps = new Array();
stringProps[0] = lengthProp;
var stringMethods = new Array();
stringMethods[0] = anchorMethod;
stringMethods[1] = bigMethod;
stringMethods[2] = boldMethod;
stringMethods[3] = charAtMethod;
stringMethods[4] = fixedMethod;
stringMethods[5] = fontcolorMethod;
stringMethods[6] = fontsizeMethod;
stringMethods[7] = indexOfMethod;
stringMethods[8] = italicsMethod;
stringMethods[9] = lastIndexOfMethod;
stringMethods[10] = linkMethod;
stringMethods[11] = smallMethod;
stringMethods[12] = splitMethod;
stringMethods[13] = strikeMethod;
stringMethods[14] = subMethod;
stringMethods[15] = substringMethod;
stringMethods[16] = supMethod;
stringMethods[17] = toLowerCaseMethod;
stringMethods[18] = toUpperCaseMethod;
var stringDescript = 'We have seen numerous examples of the String object throughout the JavaScript examples, and that information will not be repeated here.';
var stringObject = new jsObject("String", stringDescript, stringProps, stringMethods, noEvents, "640", "480");
// submit Object
var submitDescript = 'The Submit object is a submit button that is placed on a form. It exhibits similar characteristics to the Reset button object, except that it submits a form to a server instead of resetting the form\'s elements.';
var submitObject = new jsObject("Submit", submitDescript, buttonProps, buttonMethods, buttonEvents, "640", "480");
// Text and text area field Objects
var textFieldProps = new Array();
textFieldProps[0] = defaultValueProp;
textFieldProps[1] = formProp;
textFieldProps[2] = nameProp;
textFieldProps[3] = typeProp;
textFieldProps[4] = valueProp;
var textFieldMethods = new Array();
textFieldMethods[0] = blurMethod;
textFieldMethods[1] = focusMethod;
textFieldMethods[2] = selectMethod;
var textFieldEvents = new Array();
textFieldEvents[0] = onBlurEvent;
textFieldEvents[1] = onChangeEvent;
textFieldEvents[2] = onFocusEvent;
textFieldEvents[3] = onSelectEvent;
var textFieldDescript = 'Text objects in HTML are text input areas, where the user can enter text information. To define a text object in HTML, use the following syntax:\n\n<input\ntype="text"\nname="textName"\nvalue="default value"\nsize="(number representing the size of the text box)"\n[onBlur="onBlur instructions"]\n[onFocus="onFocus instructions"]\n[onSelect="onSelect instructions"] >\n\nText objects are form elements, and must be included between opening and closing <form> tags. Text objects are a nice way of gaining input from a user, and provide a means to display text in a set location as well.';
var textFieldObject = new jsObject("Text and text area field", textFieldDescript, textFieldProps, textFieldMethods, textFieldEvents, "640", "480");
// window object
var windowProps = new Array();
windowProps[0] = closedProp;
windowProps[1] = defaultStatusProp;
windowProps[2] = framesProp;
windowProps[3] = nameProp;
windowProps[4] = openerProp;
windowProps[5] = parentProp;
windowProps[6] = selfProp;
windowProps[7] = statusProp;
windowProps[8] = topProp;
windowProps[9] = windowProp;
var windowMethods = new Array();
windowMethods[0] = alertMethod;
windowMethods[1] = blurMethod;
windowMethods[2] = clearTimeoutMethod;
windowMethods[3] = closeMethod;
windowMethods[4] = confirmMethod;
windowMethods[5] = focusMethod;
windowMethods[6] = openMethod;
windowMethods[7] = promptMethod;
windowMethods[8] = scrollMethod;
var windowEvents = new Array();
windowEvents[0] = onErrorEvent;
windowEvents[1] = onFocusEvent;
windowEvents[2] = onLoadEvent;
windowEvents[3] = onUnloadEvent;
var windowDescript = 'The Window object is the topmost object in the JavaScript hierarchy. Conceptually, it represents the window used to hold the browser. You can use the open() method of the Window object to open new browser windows with a specified URL. Individual frames within a frameset are Window objects as well.\n\nBecause a Web page is created inside a Window object, there is no syntax for creating Window objects per se. However, Window objects have a number of event handlers that can be defined (onBlur, onFocus, onLoad and onUnload). These event handlers can be defined either inside a document\'s <body> tag, or inside the <frameset> tag.\n\nYou can also define an onError event for Window objects. onError event handlers are defined by using the dot notation with a named window, and using all lower-case letters for the event handler. For example, assuming that there is a window named \'myWindow\', you could define the onError event handler using the following syntax:\n\nmyWindow.onerror="onError instructions";n\n\nThe Window object also includes a number of properties (such as parent and top) that facilitate interframe communication.';
var windowObject = new jsObject("Window", windowDescript, windowProps, windowMethods, windowEvents, "640", "480");
// function object
var functionProps = new Array();
functionProps[0] = argumentsProp;
functionProps[1] = callerProp;
functionProps[2] = prototypeProp;
var functionDescript = 'The Function object, added in Version 1.1 of the JavaScript specification, is an object representation of a function in JavaScript. If that sounds a little strange to you, don\'t worry - you\'re not alone. \n\nYou can create a Function object by defining it using the \'new\' keyword, followed by the arguments list and code body. For example, the following code would define a function called alertHello:\n\nvar alertHello = new Function("alert(\'Hello World!\'));\n\nThe only use I can think of for defining functions using a constructor would be for creating functions based upon the contents of a string, and even this seems unlikely.\n\nHowever, the arguments array is more useful. Using the arguments array, you can accept an unknown number of arguments in a function. For example, the following code averages the value of the arguments sent to the function:\nfunction avg()\n{\nfor(x=0, temp=0; x<avg.arguments.length; x++)\ntemp += avg.arguments[x];\n\nreturn (temp / avg.arguments.length);\n}\n\nWhen accessing a function\'s properties, you must use the name of the function, followed by the dot operator and the property. You cannot, for example, use the \'this\' keyword inside the function body to refer to the current function.';
var functionObject = new jsObject("Function", functionDescript, functionProps, noMethods, noEvents, "640", "480");
// array object
var arrayProps = new Array();
arrayProps[0] = lengthProp;
arrayProps[1] = prototypeProp;
var arrayMethods = new Array();
arrayMethods[0] = joinMethod;
arrayMethods[1] = reverseMethod;
arrayMethods[2] = sortMethod;
var arrayDescript = 'The Array object is used to create arrays in JavaScript. An array is a grouping of variables that share a common name and are differentiated by numeric or text indexes. You create an array in JavaScript with the \'new\' keyword, followed by the array constructor. The array constructor accepts one argument -- a numeric value specifying the number of array elements to initialise. JavaScript features dynamically growable arrays, so it isn\'t necessary to include this argument. For example, the following code creates an array, and initialises it with two values:\n\nvar myArray = new Array();\nmyArray[0] = "First element";\nmyArray[1] = "Second element";\n\nJavaScript also features associative arrays, whereby you can index array elements with text strings. For example:\n\nvar employee = new Array();\nemployee["Ashton"] = "Workshop editor";\nemployee["Travis"] = "Developer";\n\nIf you use text indexes to create an associative array, you cannot then revert back to numeric indexes to refer to array elements.\n\nThe Array object has only one property: length. However, Version 1.1 added the join, reverse and sort methods, which can be used to perform common array manipulation.'
var arrayObject = new jsObject("Array", arrayDescript, arrayProps, arrayMethods, noEvents, "640", "480");
// fileUpload object
var fileUploadProps = new Array();
fileUploadProps[0] = formProp;
fileUploadProps[1] = nameProp;
fileUploadProps[2] = typeProp;
fileUploadProps[3] = valueProp;
var fileUploadMethods = new Array();
fileUploadMethods[0] = blurMethod;
fileUploadMethods[1] = focusMethod;
var fileUploadEvents = new Array();
fileUploadEvents[0] = onBlurEvent;
fileUploadEvents[1] = onChangeEvent;
fileUploadEvents[2] = onFocusEvent;
var fileUploadDescript = 'The FileUpload object is used in HTML forms to offer a way for users to upload files to the originating server. It presents a text box and a browse button on a form. Clicking the browse button will present a graphical selection box for the user to search for a file. Once selected, the file will be displayed inside the text box. The syntax for creating a FileUpload object in HTML is:\n\n<input\ntype="File"\nname="FileUpload name"\n[onBlur="onBlur instructions"]\n[onChange="onChange instructions"]\n[onFocus="onFocus instructions"]>\n\nNote: For security reasons, the value property of the FileUpload object is a read-only value.';
var fileUploadObject = new jsObject("FileUpload", fileUploadDescript, fileUploadProps, fileUploadMethods, fileUploadEvents, "640", "480");
// frame object
var frameProps = new Array();
frameProps[0] = framesProp;
frameProps[1] = nameProp;
frameProps[2] = parentProp;
frameProps[3] = selfProp;
frameProps[4] = windowProp;
var frameMethods = new Array();
frameMethods[0] = blurMethod;
frameMethods[1] = clearTimeoutMethod;
frameMethods[2] = focusMethod;
frameMethods[3] = setTimeoutMethod;
var frameEvents = new Array();
frameEvents[0] = onBlurEvent;
frameEvents[1] = onFocusEvent;
var frameDescript = 'Frames are used in Web pages to encapsulate multiple HTML documents on the same page. Documents in one frame can then reference documents in another document on the page. The syntax for creating a frame is:\n\n<frameset\nrows="List of rows and heights"\ncols="List of columns and widths"\n[onBlur="onBlur instructions"]\n[onFocus="onFocus instructions"]\n[onLoad="onLoad instructions"]\n[onUnload="onUnload instructions"]\n<frame src="frame URL" name="frame name">\n[additional frame tags]\n</frameset>\n\nYou can define onBlur and onFocus events for individual frames, but they must be defined in the document containing the <frameset> tag. Further, the definitions must be entirely in lower-case letters. For example, to define an event for a frame named \'frame1\', you would use the following syntax:\n\nframe1.onblur = "onBlur instructions"\n\nThe individual frames inside a frameset can be referenced by name, or by using the frames array. For example, to reference the first frame in a document (named frame1 for this example), you could use either of the following methods:\n\nwindow.frames[0] . . .\n\nor\n\nwindow.frame1 . . . ';
var frameObject = new jsObject("Frame", frameDescript, frameProps, frameMethods, frameEvents, "640", "480");
// Hidden Object
var hiddenProps = new Array();
hiddenProps[0] = formProp;
hiddenProps[1] = nameProp;
hiddenProps[2] = typeProp;
hiddenProps[3] = valueProp;
var hiddenDescript = 'Hidden objects are a way to pass non-visible data on a form back to the originating server. You must be careful when using Hidden objects, however. It is tempting to think that simply because the user cannot see them, they are secure. However, it is easy to look at the source of your page, create a form containing a Hidden object with the same name, and then submit the form to your server.\n\nThe HTML syntax for creating a Hidden object is:\n\n<input\ntype="hidden"\nname="hidden name"\nvalue="hidden value">';
var hiddenObject = new jsObject("Hidden", hiddenDescript, hiddenProps, noMethods, noEvents, "640", "480");
// Image object
var imageProps = new Array();
imageProps[0] = borderProp;
imageProps[1] = completeProp;
imageProps[2] = heightProp;
imageProps[3] = hspaceProp;
imageProps[4] = lowsrcProp;
imageProps[5] = nameProp;
imageProps[6] = prototypeProp;
imageProps[7] = srcProp;
imageProps[8] = vspaceProp;
imageProps[9] = widthProp;
var imageEvents = new Array();
imageEvents[0] = onAbortEvent;
imageEvents[1] = onErrorEvent;
imageEvents[2] = onLoadEvent;
var imageDescript = 'The Image object is probably the reason why you\'ve read the column up to this point, and it\'s only taken me 13 articles to get to it! The Image object is JavaScript\'s representation of an HTML image. The syntax for creating an image is:\n\n<img\n[name="image name"]\nsrc="image URL";\n[lowsrc="small image URL"]\n[height="image height"]\n[width="image width"]\n[hspace="horizontal space"]\n[vspace="vertical space"]\n[border="image border"]\n[align="left | right | top | absmiddle | absbottom | texttop | middle | baseline | bottom"]\n[ismap]\n[usemap="mapname"]\n[onAbort="onAbort instructions"]\n[onError="onError instructions"]\n[onLoad="onLoad instructions"]>\n\nYou can create Image objects in JavaScript using the Image() constructor. The Image() constructor accepts two optional arguments - the height and width of the image to load. The advantage of using image constructors is that the images are downloaded from the network when they are created. Therefore, if used in conjunction with the onMouseOver event of a hypertext link, the src property can have a new value assigned to it, and the image will already be cached.\n\nposition of the image, as well as its height and width, however, are set when the document is loaded and cannot be changed by assignment.\n\nImages can be referenced using the images array, with either a numerical index, or the name of the image used as an index. For example, the following code changes the image named \'back\' to the image named \'newImage\':\n\ndocument.images[back].src = newImage.gif;\n\nIf you wish to use one of the event handlers, you must type the event handler in all lower-case letters. For example, to use the onAbort event handler, you would use the following code:\n\nmyImage = new Image();\nmyImage.onabort = "alert("Yo! I put this image on the page for a reason!");\n\nFinally, the moment you\'ve all been waiting for - code to create onMouseOver image swaps:\n\nvar image1 = new Image(110, 16);\nimage1.src = "img1.jpg";\nimage2 = new Image(110, 16);\nimage2.src = "img2.jpg";<p>function swap(newImage, imageName)\n{\ndocument.images[imageName].src = newImage.src;\n}\n\n<p><a href="JavaScript:void(0);" onMouseOver="swap(img2, "wowMe\');" onMouseOut="swap(img1, \'wowMe\');"><img name="wowMe" src="img1.jpg" border=0></a>';
var imageObject = new jsObject("Image", imageDescript, imageProps, noMethods, imageEvents, "640", "480");
// link object
var linkProps = new Array();
linkProps[0] = hashProp;
var linkEvents = new Array();
linkEvents[0] = onClickEvent;
linkEvents[1] = onMouseOutEvent;
linkEvents[2] = onMouseOverEvent;
var linkDescript = 'The Link object is JavaScript\'s representation of a hypertext link. A link can be made from text, an image or an image map. The syntax for creating a link in HTML is:\n\n<a\nhref="link URL" | name="anchor name"\n[target="target frame"]\n[onClick="onClick instructions"]\n[onMouseOut="onMouseOut instructions"]\n[onMouseOver="onMouseOver instructions"]>\n\nAlternatively, you can define a client-side image map using the following syntax:\n\n<map name="mapName">\n<area\n[name="area name"]\ncoords="x1, x2, y1, y2, " | "x-center, y-center, radius"\nhref="area location"\n[shape="rect" | "poly" | "circle" | "default"]\n[target="target frame"]\n[onMouseOut="onMouseOut instructions"]\n[onMouseOver="onMouseOver instructions"]>\n</map>\n\nThe ability to create client-side image maps was added to JavaScript in Version 1.1.\n\nYou can access the Link objects using the links array, indexed by the link name, or a numeric index. For example, to access the second link on a document (named \'link2\' for this example), you could use either of the following lines of code:\n\ndocument.links[1] "\n\nor\n\ndocument.links[link2] "\n\nThere are two special types of links that can be created using JavaScript and the \'JavaScript\' protocol. In a link, you can specify \'JavaScript:\', and execute a JavaScript statement or call a JavaScript function. Additionally, you can call the void() function to have a link do nothing. This is useful if you wish to utilise a Link event without having the link be active. For example, the following code will create a link that opens an alert box when a mouseover event is detected, but does nothing when clicked:\n\n<a href="JavaScript:void(0);" onMouseOver="alert(\'This link goes nowhere.\');">';
var linkObject = new jsObject("Link", linkDescript, linkProps, noMethods, linkEvents, "600", "400");
// MimeType object
var mimeTypeProps = new Array()
mimeTypeProps[0] = descriptionProp;
mimeTypeProps[1] = enabledPluginProp;
mimeTypeProps[2] = suffixesProp;
mimeTypeProps[3] = typeProp;
var mimeTypeDescript = 'The MimeType object represents MIME types supported by the user\'s browser (or, in other words, supported extensions such as audio/AIFF). \n\nAll of the supported MimeType objects are contained within the mimeTypes array. The mimeTypes array is a property of the Navigator object. You can reference its members by using numeric indexes, or a string representing the type property (for example, \'x-world/x-vrml\' for VRML). The MimeType object was added in Version 1.1. MimeType objects are properties of the Navigator object.';
var mimeTypeObject = new jsObject("MimeType", mimeTypeDescript, mimeTypeProps, noMethods, noEvents, "600", "400");
// Number object
var numberProps = new Array();
numberProps[0] = max_valueProp;
numberProps[1] = min_valueProp;
numberProps[2] = NaNProp;
numberProps[3] = negative_infinityProp;
numberProps[4] = positive_infinityProp;
var numberDescript = 'The Number object is an object wrapper for JavaScript\'s numeric primitives. It provides support for the NaN (Not a Number) and max/min value properties. You will probably never use the Number object explicitly, but it is included here for completeness.';
var numberObject = new jsObject("Number", numberDescript, numberProps, noMethods, noEvents, "600", "400");
// Plugin object
var pluginProps = new Array();
pluginProps[0] = descriptionProp;
pluginProps[1] = filenameProp;
pluginProps[2] = lengthProp;
pluginProps[3] = nameProp;
var pluginDescript = 'Plugin objects are closely related to MimeType objects. A plug-in is an additional program module that allows browsers to handle special MIME types (such as audio or video). You can access a list of available plug-ins using the Plugins array of the Navigator object. \n\nEach Plugin object is an array of supported MIME types. Therefore, if one Plugin supports many MIME types (such as Live Audio), the Plugin object will be an array containing each MIME type. You can then access each MIME type\'s properties (see the MimeType object for more information).';
var pluginObject = new jsObject("Plugin", pluginDescript, pluginProps, noMethods, noEvents, "600", "400");