/******************************************************************************* * Copyright (c) 2007, 2008 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: *     IBM Corporation - initial API and implementation ****************************************************************************** * **//**  * Object bookmarks()  * @type bookmarks  * @super Array  * @memberOf bookmarks  * @since JScript 5.6  * @see http://msdn2.microsoft.com/en-us/library/ms537441.aspx*/function bookmarks(){};bookmarks.prototype= new Array();/**  * Property length  * @type Number  * @returns {Number}
  * @memberOf bookmarks  * @since JScript 5.6  * @see http://msdn2.microsoft.com/en-us/library/ms534101.aspx*/bookmarks.prototype.length=0;/**  * Property TF-8"  * @type TF-8"  * @returns {TF-8"}
  * @memberOf bookmarks  * @since JScript 5.6  * @see http://msdn2.microsoft.com/en-us/library/ms536607.aspx*/bookmarks.prototype.TF-8"= new TF-8"();/**  * Property TF-8"  * @type TF-8"  * @returns {TF-8"}
  * @memberOf bookmarks  * @since JScript 5.6  * @see http://msdn2.microsoft.com/en-us/library/ms536607.aspx*/bookmarks.prototype.TF-8"= new TF-8"();