def __init__(self, data=None, url=None, filename=None, lib=None, css=None):
if isinstance(lib, basestring):<EOL><INDENT>lib = [lib]<EOL><DEDENT>elif lib is None:<EOL><INDENT>lib = []<EOL><DEDENT>if isinstance(css, basestring):<EOL><INDENT>css = [css]<EOL><DEDENT>elif css is None:<EOL><INDENT>css = []<EOL><DEDENT>if not isinstance(lib, (list,tuple)):<EOL><INDENT>raise TypeError('<STR_LIT>' % lib)<EOL><DEDENT>if not isinstance(css, (list,tuple)):<EOL><INDENT>raise TypeError('<STR_LIT>' % css)<EOL><DEDENT>self.lib = lib<EOL>self.css = css<EOL>super(Javascript, self).__init__(data=data, url=url, filename=filename)<EOL>
Create a Javascript display object given raw data.

        When this object is returned by an expression or passed to the
        display function, it will result in the data being displayed
        in the frontend. If the data is a URL, the data will first be
        downloaded and then displayed. 

        In the Notebook, the containing element will be available as `element`,
        and jQuery will be available.  The output area starts hidden, so if
        the js appends content to `element` that should be visible, then
        it must call `container.show()` to unhide the area.

        Parameters
        ----------
        data : unicode, str or bytes
            The Javascript source code or a URL to download it from.
        url : unicode
            A URL to download the data from.
        filename : unicode
            Path to a local file to load the data from.
        lib : list or str
            A sequence of Javascript library URLs to load asynchronously before
            running the source code. The full URLs of the libraries should
            be given. A single Javascript library URL can also be given as a
            string.
        css: : list or str
            A sequence of css files to load before running the source code.
            The full URLs of the css files should be give. A single css URL
            can also be given as a string.