<extension>
  <title>Twitter Extension</title>
  <label>Twitter</label>
  <copyright>Copyright (c) 2006-2010 MindTouch Inc.</copyright>
  <description>This extension contains functions for embedding Twitter feeds.</description>
  <uri.help>http://developer.mindtouch.com/App_Catalog/Twitter</uri.help>
  <uri.logo>http://scripts.mindtouch.com/logos/twitter-logo.png</uri.logo>
  <namespace>twitter</namespace>

  <requires host="MindTouch Core 1.9.0b" />
  
  <function>
    <name>all</name>
    <description>Embed Twitter feed of user and friends.</description>
    <param name="name" type="str">Twitter user name.</param>
    <param name="width" type="num" optional="true">Control width. (default: 290)</param>
    <param name="height" type="num" optional="true">Control height. (default: 350)</param>
    <return>
      <html xmlns:eval="http://mindtouch.com/2007/dekiscript">
        <head>
          <script type="text/javascript" src="http://widgets.twimg.com/j/2/widget.js" />
        </head>
        <body>
         <script type="text/javascript">
          new TWTR.Widget({
            version: 2,
            type: 'profile',
            rpp: 4,
            interval: 6000,
            width: <eval:js>$width ?? 290</eval:js>,
            height: <eval:js>$height ?? 350</eval:js>,
            theme: {
              shell: {
                background: '#333333',
                color: '#ffffff'
              },
              tweets: {
                background: '#000000',
                color: '#ffffff',
                links: '#4aed05'
              }
            },
            features: {
              scrollbar: false,
              loop: false,
              live: false,
              hashtags: true,
              timestamp: true,
              avatars: false,
              behavior: 'all'
            }
          }).render().setUser(<eval:js>$name ?? 'mindtouch'</eval:js>).start();
          </script> 
        </body>
      </html>
    </return>
  </function>

  <function>
    <name>current</name>
    <description>Show latest Twitter entry from user.</description>
    <param name="name" type="str">Twitter user name.</param>
    <param name="width" type="num" optional="true">Control width. (default: 176)</param>
    <param name="height" type="num" optional="true">Control height. (default: 176)</param>
    <param name="backgroundcolor" type="str" optional="true">Background color. (default: "0x111B1C")</param>
    <return>
      <html xmlns:eval="http://mindtouch.com/2007/dekiscript">
        <body>
          <embed src="http://twitter.com/flash/twitter_badge.swf"
                 eval:flashvars="'id=' .. string.trim(args.name) .. '&amp;type=user&amp;color1=' .. (args.backgroundcolor ?? '0x111B1C')"
                 quality="high"
                 eval:width="web.size(args.width ?? 176)"
                 eval:height="web.size(args.height ?? 176)"
                 name="twitter_badge"
                 align="middle"
                 allowScriptAccess="always"
                 wmode="transparent"
                 type="application/x-shockwave-flash"
                 pluginspage="http://www.macromedia.com/go/getflashplayer" />
        </body>
      </html>
    </return>
  </function>

  <function>
    <name>counter</name>
    <description>Show Twitter counter for user.</description>
    <param name="name" type="str">Twitter user name.</param>
    <return>
      <html xmlns:eval="http://mindtouch.com/2007/dekiscript">
        <body>
          <a rel="custom" eval:href="uri.appendquery('http://twittercounter.com', { username: args.name })" eval:title="'TwitterCounter for @' .. args.name">
            <img width="88" height="26" eval:src="uri.appendquery('http://twittercounter.com/counter', { username: args.name })" style="border: medium none ;" eval:alt="'TwitterCounter for @' .. args.name" />
          </a>
        </body>
      </html>
    </return>
  </function>
</extension>