clean up skin files for the new version
authorZbigniew Braniecki (zbraniecki@mozilla.com)
Mon, 13 Jul 2009 20:54:18 +0200
changeset 23 0b014a4151dd14b79f3b50e1ccd9446bc2b05aea
parent 22 dfa5548e73bd1581c08a1685ed0a292353707697
child 24 aae46b362588dde343d84d63d0649f6062895b8c
push id11
push userzbraniecki@mozilla.com
push dateMon, 13 Jul 2009 18:54:32 +0000
clean up skin files for the new version
mediawiki/skins/cmo.php
mediawiki/skins/cmo/default.css
mediawiki/skins/cmo/img/body_back.gif
mediawiki/skins/cmo/img/como-title.png
mediawiki/skins/cmo/img/firefox-title.png
mediawiki/skins/cmo/img/header-background.png
mediawiki/skins/cmo/img/header_bl.png
mediawiki/skins/cmo/img/header_br.gif
mediawiki/skins/cmo/img/header_logo.gif
mediawiki/skins/cmo/img/header_tab.gif
mediawiki/skins/cmo/img/header_tl.gif
mediawiki/skins/cmo/img/header_tr.gif
mediawiki/skins/cmo/img/icons/applications-development-translation.png
mediawiki/skins/cmo/img/icons/book.png
mediawiki/skins/cmo/img/icons/dialog-information.png
mediawiki/skins/cmo/img/icons/document-revert.png
mediawiki/skins/cmo/img/icons/emblem-important.png
mediawiki/skins/cmo/img/icons/fill-color.png
mediawiki/skins/cmo/img/icons/help-contents.png
mediawiki/skins/cmo/img/icons/help-hint.png
mediawiki/skins/cmo/img/icons/icon_direction.gif
mediawiki/skins/cmo/img/icons/icon_direction.png
mediawiki/skins/cmo/img/icons/internet-web-browser.png
mediawiki/skins/cmo/img/icons/kbugbuster.png
mediawiki/skins/cmo/img/icons/khelpcenter.png
mediawiki/skins/cmo/img/icons/klettres.png
mediawiki/skins/cmo/img/icons/konqueror.png
mediawiki/skins/cmo/img/icons/konv-message2.png
mediawiki/skins/cmo/img/icons/konversation.png
mediawiki/skins/cmo/img/icons/krita.png
mediawiki/skins/cmo/img/icons/ktip.png
mediawiki/skins/cmo/img/icons/mail-folder-inbox.png
mediawiki/skins/cmo/img/icons/nepomuk.png
mediawiki/skins/cmo/img/icons/network-wireless.png
mediawiki/skins/cmo/img/icons/network.png
mediawiki/skins/cmo/img/icons/package-utilities.png
mediawiki/skins/cmo/img/icons/pda.png
mediawiki/skins/cmo/img/icons/planner.png
mediawiki/skins/cmo/img/icons/preferences-contact-list.png
mediawiki/skins/cmo/img/icons/preferences-desktop-accessibility.png
mediawiki/skins/cmo/img/icons/preferences-desktop-locale.png
mediawiki/skins/cmo/img/icons/preferences-plugin-script.png
mediawiki/skins/cmo/img/icons/preferences-plugin.png
mediawiki/skins/cmo/img/icons/preferences-system-performance.png
mediawiki/skins/cmo/img/icons/preferences-system.png
mediawiki/skins/cmo/img/icons/preferences-web-browser-stylesheets.png
mediawiki/skins/cmo/img/icons/security-high.png
mediawiki/skins/cmo/img/icons/spread.png
mediawiki/skins/cmo/img/icons/system-help.png
mediawiki/skins/cmo/img/icons/system-users.png
mediawiki/skins/cmo/img/icons/text-speak.png
mediawiki/skins/cmo/img/icons/tools-wizard.png
mediawiki/skins/cmo/img/icons/user-group-new.png
mediawiki/skins/cmo/img/icons/utilities-system-monitor.png
mediawiki/skins/cmo/img/icons/view-pim-tasks.png
mediawiki/skins/cmo/img/icons/wine.png
mediawiki/skins/cmo/js/index.js
mediawiki/skins/cmo/js/jsdynamic/extras.js
mediawiki/skins/cmo/js/jsdynamic/jsdynamic.js
--- a/mediawiki/skins/cmo.php
+++ b/mediawiki/skins/cmo.php
@@ -1,174 +1,378 @@
 <?php
 /**
- * [Community Mozilla Org] skin
+ * MonoBook nouveau
  *
- * @version [#].[#].[#]
- * @author [name] ([URL] / [E-Mail])
- * @license [URL] [name]
+ * Translated from gwicke's previous TAL template version to remove
+ * dependency on PHPTAL.
  *
+ * @todo document
+ * @file
+ * @ingroup Skins
  */
- 
-// initialize
-if( !defined('MEDIAWIKI') )
-        die("This Skin file is not a valid Entry Point.");
-require_once('includes/SkinTemplate.php');
- 
-// inherit main code from SkinTemplate, set the CSS and template filter
+
+if( !defined( 'MEDIAWIKI' ) )
+    die( -1 );
+
+/**
+ * Inherit main code from SkinTemplate, set the CSS and template filter.
+ * @todo document
+ * @ingroup Skins
+ */
 class SkinCMO extends SkinTemplate {
-        function initPage(&$out) {
-                SkinTemplate::initPage($out);
-                $this->skinname  = 'cmo';
-                $this->stylename = 'cmo';
-                $this->template  = 'CMOTemplate';
-        }
-}
- 
-class CMOTemplate extends QuickTemplate {
- 
-        /* hijack category functions to create a proper list */
- 
-        function getCategories() {
-                $catlinks=$this->getCategoryLinks();
-                if(!empty($catlinks)) {
-                        return "<ul id='catlinks'>{$catlinks}</ul>";
-                }
-        }
- 
-        function getCategoryLinks() {
-                global $wgOut, $wgUser, $wgTitle, $wgUseCategoryBrowser;
-                global $wgContLang;
- 
-                if(count($wgOut->mCategoryLinks) == 0)
-                        return '';
- 
-                $skin = $wgUser->getSkin();
- 
-                # separator
-                $sep = "";
- 
-                // use Unicode bidi embedding override characters,
-                // to make sure links don't smash each other up in ugly ways
-                $dir = $wgContLang->isRTL() ? 'rtl' : 'ltr';
-                $embed = "<li dir='$dir'>";
-                $pop = '</li>';
-                $t = $embed . implode ( "{$pop} {$sep} {$embed}" , $wgOut->mCategoryLinks ) . $pop;
- 
-                $msg = wfMsgExt('pagecategories', array('parsemag', 'escape'), count($wgOut->mCategoryLinks));
-                $s = $skin->makeLinkObj(Title::newFromText(wfMsgForContent('pagecategorieslink')), $msg)
-                        . $t;
- 
-                # optional 'dmoz-like' category browser - will be shown under the list
-                # of categories an article belongs to
-                if($wgUseCategoryBrowser) {
-                        $s .= '<br /><hr />';
- 
-                        # get a big array of the parents tree
-                        $parenttree = $wgTitle->getParentCategoryTree();
-                        # Skin object passed by reference because it can not be
-                        # accessed under the method subfunction drawCategoryBrowser
-                        $tempout = explode("\n", Skin::drawCategoryBrowser($parenttree, $this));
-                        # clean out bogus first entry and sort them
-                        unset($tempout[0]);
-                        asort($tempout);
-                        # output one per line
-                        $s .= implode("<br />\n", $tempout);
-                }
- 
-                return $s;
+    /** Using monobook. */
+    function initPage( OutputPage $out ) {
+        parent::initPage( $out );
+        $this->skinname  = 'cmo';
+        $this->stylename = 'cmo';
+        $this->template  = 'CMOTemplate';
+
+    }
+
+    function setupSkinUserCss( OutputPage $out ) {
+        global $wgHandheldStyle;
+
+        parent::setupSkinUserCss( $out );
+
+        // Append to the default screen common & print styles...
+        $out->addStyle( 'monobook/main.css', 'screen' );
+        if( $wgHandheldStyle ) {
+            // Currently in testing... try 'chick/main.css'
+            $out->addStyle( $wgHandheldStyle, 'handheld' );
         }
- 
-        /**
-         * Template filter callback for this skin.
-         * Takes an associative array of data set from a SkinTemplate-based
-         * class, and a wrapper for MediaWiki's localization database, and
-         * outputs a formatted page.
-         *
-         * @access private
-         */
-        function execute() {
-                global $wgUser, $wgSitename;
-                $skin = $wgUser->getSkin();
- 
-                // retrieve site name
-                $this->set('sitename', $wgSitename);
- 
-                // suppress warnings to prevent notices about missing indexes in $this->data
-                wfSuppressWarnings();
- 
-                // use hijacked category functions
-                $this->set('catlinks', $this->getCategories());
- 
-                /* compose XHTML output */
-global $wgScriptPath; 
+
+        $out->addStyle( 'monobook/IE50Fixes.css', 'screen', 'lt IE 5.5000' );
+        $out->addStyle( 'monobook/IE55Fixes.css', 'screen', 'IE 5.5000' );
+        $out->addStyle( 'monobook/IE60Fixes.css', 'screen', 'IE 6' );
+        $out->addStyle( 'monobook/IE70Fixes.css', 'screen', 'IE 7' );
+
+        $out->addStyle( 'monobook/rtl.css', 'screen', '', 'rtl' );
+    }
+}
+
+/**
+ * @todo document
+ * @ingroup Skins
+ */
+class CMOTemplate extends QuickTemplate {
+    var $skin;
+    /**
+     * Template filter callback for MonoBook skin.
+     * Takes an associative array of data set from a SkinTemplate-based
+     * class, and a wrapper for MediaWiki's localization database, and
+     * outputs a formatted page.
+     *
+     * @access private
+     */
+    function execute() {
+        global $wgRequest;
+        $this->skin = $skin = $this->data['skin'];
+        $action = $wgRequest->getText( 'action' );
+
+        // Suppress warnings to prevent notices about missing indexes in $this->data
+        wfSuppressWarnings();
+
 ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <title><?php $this->text('pagetitle') ?></title>
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <style type="text/css">
-    /* <![CDATA[ */
-    @import url("<?php $this->text('stylepath') ?>/<?php $this->text('stylename') ?>/default.css?<?php echo $GLOBALS['wgStyleVersion'] ?>");
-    /* ]]> */
-    </style>
-    <script src="<?php $this->text('stylepath') ?>/<?php $this->text('stylename') ?>/js/jsdynamic/jsdynamic.js?<?php echo $GLOBALS['wgStyleVersion'] ?>" type="text/javascript"></script>
-    <script src="<?php $this->text('stylepath') ?>/<?php $this->text('stylename') ?>/js/index.js?<?php echo $GLOBALS['wgStyleVersion'] ?>" type="text/javascript"></script>
-    <script src="<?php $this->text('stylepath') ?>/<?php $this->text('stylename') ?>/js/urchin.js" type="text/javascript"></script>
-    <script type="text/javascript">
-            urchinTracker();
-    </script>
-  </head>
-  <body onload="prepareAnimator()">
-<div id="header">
- <h1><a href="/" title="Return to home page" accesskey="1">Mozilla</a></h1>
-  <ul>
-   <li id="menu_aboutus"><a href="http://www.mozilla.org/about/" title="Learn more about Mozilla">About</a></li>
+<html xmlns="<?php $this->text('xhtmldefaultnamespace') ?>" <?php
+    foreach($this->data['xhtmlnamespaces'] as $tag => $ns) {
+        ?>xmlns:<?php echo "{$tag}=\"{$ns}\" ";
+    } ?>xml:lang="<?php $this->text('lang') ?>" lang="<?php $this->text('lang') ?>" dir="<?php $this->text('dir') ?>">
+    <head>
+        <meta http-equiv="Content-Type" content="<?php $this->text('mimetype') ?>; charset=<?php $this->text('charset') ?>" />
+        <?php $this->html('headlinks') ?>
+        <title><?php $this->text('pagetitle') ?></title>
+        <?php $this->html('csslinks') ?>
+
+        <!--[if lt IE 7]><script type="<?php $this->text('jsmimetype') ?>" src="<?php $this->text('stylepath') ?>/common/IEFixes.js?<?php echo $GLOBALS['wgStyleVersion'] ?>"></script>
+        <meta http-equiv="imagetoolbar" content="no" /><![endif]-->
+
+        <?php print Skin::makeGlobalVariablesScript( $this->data ); ?>
 
-   <li id="menu_foundation"><a href="http://www.mozilla.org/foundation/" title="Information about the non-profit Mozilla Foundation">Foundation</a></li>
-   <li id="menu_contribute"><a href="http://www.mozilla.org/contribute/" title="Find out how to get involved with Mozilla">Contribute</a></li>
-   <li id="menu_community"><a href="http://www.mozilla.org/community/" title="List of community sites and other resources">Community</a></li>
-   <li id="menu_developers"><a href="http://www.mozilla.org/developer/" title="Resources and links for developers">Developers</a></li>
-   <li id="menu_projects"><a href="http://www.mozilla.org/projects/" title="Projects being created by the Mozilla community">Projects</a></li>
-  </ul>
+        <script type="<?php $this->text('jsmimetype') ?>" src="<?php $this->text('stylepath' ) ?>/common/wikibits.js?<?php echo $GLOBALS['wgStyleVersion'] ?>"><!-- wikibits js --></script>
+        <!-- Head Scripts -->
+<?php $this->html('headscripts') ?>
+<?php   if($this->data['jsvarurl']) { ?>
+        <script type="<?php $this->text('jsmimetype') ?>" src="<?php $this->text('jsvarurl') ?>"><!-- site js --></script>
+<?php   } ?>
+<?php   if($this->data['pagecss']) { ?>
+        <style type="text/css"><?php $this->html('pagecss') ?></style>
+<?php   }
+        if($this->data['usercss']) { ?>
+        <style type="text/css"><?php $this->html('usercss') ?></style>
+<?php   }
+        if($this->data['userjs']) { ?>
+        <script type="<?php $this->text('jsmimetype') ?>" src="<?php $this->text('userjs' ) ?>"></script>
+<?php   }
+        if($this->data['userjsprev']) { ?>
+        <script type="<?php $this->text('jsmimetype') ?>"><?php $this->html('userjsprev') ?></script>
+<?php   }
+        if($this->data['trackbackhtml']) print $this->data['trackbackhtml']; ?>
+    </head>
+<body<?php if($this->data['body_ondblclick']) { ?> ondblclick="<?php $this->text('body_ondblclick') ?>"<?php } ?>
+<?php if($this->data['body_onload']) { ?> onload="<?php $this->text('body_onload') ?>"<?php } ?>
+ class="mediawiki <?php $this->text('dir') ?> <?php $this->text('pageclass') ?> <?php $this->text('skinnameclass') ?>">
+    <div id="globalWrapper">
+        <div id="column-content">
+    <div id="content">
+        <a name="top" id="top"></a>
+        <?php if($this->data['sitenotice']) { ?><div id="siteNotice"><?php $this->html('sitenotice') ?></div><?php } ?>
+        <h1 id="firstHeading" class="firstHeading"><?php $this->data['displaytitle']!=""?$this->html('title'):$this->text('title') ?></h1>
+        <div id="bodyContent">
+            <h3 id="siteSub"><?php $this->msg('tagline') ?></h3>
+            <div id="contentSub"><?php $this->html('subtitle') ?></div>
+            <?php if($this->data['undelete']) { ?><div id="contentSub2"><?php     $this->html('undelete') ?></div><?php } ?>
+            <?php if($this->data['newtalk'] ) { ?><div class="usermessage"><?php $this->html('newtalk')  ?></div><?php } ?>
+            <?php if($this->data['showjumplinks']) { ?><div id="jump-to-nav"><?php $this->msg('jumpto') ?> <a href="#column-one"><?php $this->msg('jumptonavigation') ?></a>, <a href="#searchInput"><?php $this->msg('jumptosearch') ?></a></div><?php } ?>
+            <!-- start content -->
+            <?php $this->html('bodytext') ?>
+            <?php if($this->data['catlinks']) { $this->html('catlinks'); } ?>
+            <!-- end content -->
+            <?php if($this->data['dataAfterContent']) { $this->html ('dataAfterContent'); } ?>
+            <div class="visualClear"></div>
+        </div>
+    </div>
+        </div>
+        <div id="column-one">
+    <div id="p-cactions" class="portlet">
+        <h5><?php $this->msg('views') ?></h5>
+        <div class="pBody">
+            <ul>
+    <?php       foreach($this->data['content_actions'] as $key => $tab) {
+                    echo '
+                 <li id="' . Sanitizer::escapeId( "ca-$key" ) . '"';
+                    if( $tab['class'] ) {
+                        echo ' class="'.htmlspecialchars($tab['class']).'"';
+                    }
+                    echo'><a href="'.htmlspecialchars($tab['href']).'"';
+                    # We don't want to give the watch tab an accesskey if the
+                    # page is being edited, because that conflicts with the
+                    # accesskey on the watch checkbox.  We also don't want to
+                    # give the edit tab an accesskey, because that's fairly su-
+                    # perfluous and conflicts with an accesskey (Ctrl-E) often
+                    # used for editing in Safari.
+                    if( in_array( $action, array( 'edit', 'submit' ) )
+                    && in_array( $key, array( 'edit', 'watch', 'unwatch' ))) {
+                        echo $skin->tooltip( "ca-$key" );
+                    } else {
+                        echo $skin->tooltipAndAccesskey( "ca-$key" );
+                    }
+                    echo '>'.htmlspecialchars($tab['text']).'</a></li>';
+                } ?>
+            </ul>
+        </div>
+    </div>
+    <div class="portlet" id="p-personal">
+        <h5><?php $this->msg('personaltools') ?></h5>
+        <div class="pBody">
+            <ul>
+<?php           foreach($this->data['personal_urls'] as $key => $item) { ?>
+                <li id="<?php echo Sanitizer::escapeId( "pt-$key" ) ?>"<?php
+                    if ($item['active']) { ?> class="active"<?php } ?>><a href="<?php
+                echo htmlspecialchars($item['href']) ?>"<?php echo $skin->tooltipAndAccesskey('pt-'.$key) ?><?php
+                if(!empty($item['class'])) { ?> class="<?php
+                echo htmlspecialchars($item['class']) ?>"<?php } ?>><?php
+                echo htmlspecialchars($item['text']) ?></a></li>
+<?php           } ?>
+            </ul>
+        </div>
+    </div>
+    <div class="portlet" id="p-logo">
+        <a style="background-image: url(<?php $this->text('logopath') ?>);" <?php
+            ?>href="<?php echo htmlspecialchars($this->data['nav_urls']['mainpage']['href'])?>"<?php
+            echo $skin->tooltipAndAccesskey('p-logo') ?>></a>
+    </div>
+    <script type="<?php $this->text('jsmimetype') ?>"> if (window.isMSIE55) fixalpha(); </script>
+<?php
+        $sidebar = $this->data['sidebar'];
+        if ( !isset( $sidebar['SEARCH'] ) ) $sidebar['SEARCH'] = true;
+        if ( !isset( $sidebar['TOOLBOX'] ) ) $sidebar['TOOLBOX'] = true;
+        if ( !isset( $sidebar['LANGUAGES'] ) ) $sidebar['LANGUAGES'] = true;
+        foreach ($sidebar as $boxName => $cont) {
+            if ( $boxName == 'SEARCH' ) {
+                $this->searchBox();
+            } elseif ( $boxName == 'TOOLBOX' ) {
+                $this->toolbox();
+            } elseif ( $boxName == 'LANGUAGES' ) {
+                $this->languageBox();
+            } else {
+                $this->customBox( $boxName, $cont );
+            }
+        }
+?>
+        </div><!-- end of the left (by default at least) column -->
+            <div class="visualClear"></div>
+            <div id="footer">
+<?php
+        if($this->data['poweredbyico']) { ?>
+                <div id="f-poweredbyico"><?php $this->html('poweredbyico') ?></div>
+<?php   }
+        if($this->data['copyrightico']) { ?>
+                <div id="f-copyrightico"><?php $this->html('copyrightico') ?></div>
+<?php   }
 
- <form id="searchbox_002443141534113389537:ysdmevkkknw" action="http://www.google.com/cse" title="mozilla.org Search">
- <div>
-   <label for="q" title="Search mozilla.org's sites">search mozilla:</label>
-   <input type="hidden" name="cx" value="002443141534113389537:ysdmevkkknw" />
-   <input type="hidden" name="cof" value="FORID:0" />
-   <input type="text" id="q" name="q" accesskey="s" size="30" />
-   <input type="submit" id="submit" value="Go" />
- </div>
-
- </form>
-</div>
-  <div id="content">
-<?php
-if($this->data['title']!='Mozilla Community') {
- ?>
-    <ul id="breadcrumbs">
-      <li><a href="<?php echo htmlspecialchars($this->data['nav_urls']['mainpage']['href']) ?>">Mozilla Community</a></li>
+        // Generate additional footer links
+        $footerlinks = array(
+            'lastmod', 'viewcount', 'numberofwatchingusers', 'credits', 'copyright',
+            'privacy', 'about', 'disclaimer', 'tagline',
+        );
+        $validFooterLinks = array();
+        foreach( $footerlinks as $aLink ) {
+            if( isset( $this->data[$aLink] ) && $this->data[$aLink] ) {
+                $validFooterLinks[] = $aLink;
+            }
+        }
+        if ( count( $validFooterLinks ) > 0 ) {
+?>          <ul id="f-list">
 <?php
-  $elems = explode('/',$this->data['title']);
-  $elems2 = Array();
-  foreach($elems as $v) {
-    $elems2[] = str_replace(' ','_',array_shift($elems));
-                        
+            foreach( $validFooterLinks as $aLink ) {
+                if( isset( $this->data[$aLink] ) && $this->data[$aLink] ) {
+?>                  <li id="<?php echo$aLink?>"><?php $this->html($aLink) ?></li>
+<?php           }
+            }
+?>
+            </ul>
+<?php   }
 ?>
-  <li> / <a href="<?php echo $wgScriptPath.'/'.implode(':',$elems2)?>"><?php echo $v ?></a></li>
+        </div>
+</div>
+<?php $this->html('bottomscripts'); /* JS call to runBodyOnloadHook */ ?>
+<?php $this->html('reporttime') ?>
+<?php if ( $this->data['debug'] ): ?>
+<!-- Debug output:
+<?php $this->text( 'debug' ); ?>
+
+-->
+<?php endif; ?>
+</body></html>
 <?php
-  }
-print('</ul>');
-}
+    wfRestoreWarnings();
+    } // end of execute() method
+
+    /*************************************************************************************************/
+    function searchBox() {
+        global $wgUseTwoButtonsSearchForm;
+?>
+    <div id="p-search" class="portlet">
+        <h5><label for="searchInput"><?php $this->msg('search') ?></label></h5>
+        <div id="searchBody" class="pBody">
+            <form action="<?php $this->text('wgScript') ?>" id="searchform"><div>
+                <input type='hidden' name="title" value="<?php $this->text('searchtitle') ?>"/>
+                <input id="searchInput" name="search" type="text"<?php echo $this->skin->tooltipAndAccesskey('search');
+                    if( isset( $this->data['search'] ) ) {
+                        ?> value="<?php $this->text('search') ?>"<?php } ?> />
+                <input type='submit' name="go" class="searchButton" id="searchGoButton" value="<?php $this->msg('searcharticle') ?>"<?php echo $this->skin->tooltipAndAccesskey( 'search-go' ); ?> /><?php if ($wgUseTwoButtonsSearchForm) { ?>&nbsp;
+                <input type='submit' name="fulltext" class="searchButton" id="mw-searchButton" value="<?php $this->msg('searchbutton') ?>"<?php echo $this->skin->tooltipAndAccesskey( 'search-fulltext' ); ?> /><?php } else { ?>
+
+                <div><a href="<?php $this->text('searchaction') ?>" rel="search"><?php $this->msg('powersearch-legend') ?></a></div><?php } ?>
+
+            </div></form>
+        </div>
+    </div>
+<?php
+    }
+
+    /*************************************************************************************************/
+    function toolbox() {
 ?>
-    <h1 class="firstHeading"><?php $this->data['displaytitle']!=""?$this->html('title'):$this->text('title') ?></h1>
-    <?php $this->html('bodytext') ?>
-  </div>
-  <div id="footer"></div>
+    <div class="portlet" id="p-tb">
+        <h5><?php $this->msg('toolbox') ?></h5>
+        <div class="pBody">
+            <ul>
+<?php
+        if($this->data['notspecialpage']) { ?>
+                <li id="t-whatlinkshere"><a href="<?php
+                echo htmlspecialchars($this->data['nav_urls']['whatlinkshere']['href'])
+                ?>"<?php echo $this->skin->tooltipAndAccesskey('t-whatlinkshere') ?>><?php $this->msg('whatlinkshere') ?></a></li>
+<?php
+            if( $this->data['nav_urls']['recentchangeslinked'] ) { ?>
+                <li id="t-recentchangeslinked"><a href="<?php
+                echo htmlspecialchars($this->data['nav_urls']['recentchangeslinked']['href'])
+                ?>"<?php echo $this->skin->tooltipAndAccesskey('t-recentchangeslinked') ?>><?php $this->msg('recentchangeslinked') ?></a></li>
+<?php       }
+        }
+        if(isset($this->data['nav_urls']['trackbacklink'])) { ?>
+            <li id="t-trackbacklink"><a href="<?php
+                echo htmlspecialchars($this->data['nav_urls']['trackbacklink']['href'])
+                ?>"<?php echo $this->skin->tooltipAndAccesskey('t-trackbacklink') ?>><?php $this->msg('trackbacklink') ?></a></li>
+<?php   }
+        if($this->data['feeds']) { ?>
+            <li id="feedlinks"><?php foreach($this->data['feeds'] as $key => $feed) {
+                    ?><a id="<?php echo Sanitizer::escapeId( "feed-$key" ) ?>" href="<?php
+                    echo htmlspecialchars($feed['href']) ?>" rel="alternate" type="application/<?php echo $key ?>+xml" class="feedlink"<?php echo $this->skin->tooltipAndAccesskey('feed-'.$key) ?>><?php echo htmlspecialchars($feed['text'])?></a>&nbsp;
+                    <?php } ?></li><?php
+        }
+
+        foreach( array('contributions', 'log', 'blockip', 'emailuser', 'upload', 'specialpages') as $special ) {
+
+            if($this->data['nav_urls'][$special]) {
+                ?><li id="t-<?php echo $special ?>"><a href="<?php echo htmlspecialchars($this->data['nav_urls'][$special]['href'])
+                ?>"<?php echo $this->skin->tooltipAndAccesskey('t-'.$special) ?>><?php $this->msg($special) ?></a></li>
+<?php       }
+        }
+
+        if(!empty($this->data['nav_urls']['print']['href'])) { ?>
+                <li id="t-print"><a href="<?php echo htmlspecialchars($this->data['nav_urls']['print']['href'])
+                ?>" rel="alternate"<?php echo $this->skin->tooltipAndAccesskey('t-print') ?>><?php $this->msg('printableversion') ?></a></li><?php
+        }
+
+        if(!empty($this->data['nav_urls']['permalink']['href'])) { ?>
+                <li id="t-permalink"><a href="<?php echo htmlspecialchars($this->data['nav_urls']['permalink']['href'])
+                ?>"<?php echo $this->skin->tooltipAndAccesskey('t-permalink') ?>><?php $this->msg('permalink') ?></a></li><?php
+        } elseif ($this->data['nav_urls']['permalink']['href'] === '') { ?>
+                <li id="t-ispermalink"<?php echo $this->skin->tooltip('t-ispermalink') ?>><?php $this->msg('permalink') ?></li><?php
+        }
 
-  </body>
-</html>
+        wfRunHooks( 'MonoBookTemplateToolboxEnd', array( &$this ) );
+        wfRunHooks( 'SkinTemplateToolboxEnd', array( &$this ) );
+?>
+            </ul>
+        </div>
+    </div>
+<?php
+    }
+
+    /*************************************************************************************************/
+    function languageBox() {
+        if( $this->data['language_urls'] ) {
+?>
+    <div id="p-lang" class="portlet">
+        <h5><?php $this->msg('otherlanguages') ?></h5>
+        <div class="pBody">
+            <ul>
+<?php       foreach($this->data['language_urls'] as $langlink) { ?>
+                <li class="<?php echo htmlspecialchars($langlink['class'])?>"><?php
+                ?><a href="<?php echo htmlspecialchars($langlink['href']) ?>"><?php echo $langlink['text'] ?></a></li>
+<?php       } ?>
+            </ul>
+        </div>
+    </div>
 <?php
-        wfRestoreWarnings();
-        } // end of execute() method
+        }
+    }
+
+    /*************************************************************************************************/
+    function customBox( $bar, $cont ) {
+?>
+    <div class='generated-sidebar portlet' id='<?php echo Sanitizer::escapeId( "p-$bar" ) ?>'<?php echo $this->skin->tooltip('p-'.$bar) ?>>
+        <h5><?php $out = wfMsg( $bar ); if (wfEmptyMsg($bar, $out)) echo $bar; else echo $out; ?></h5>
+        <div class='pBody'>
+<?php   if ( is_array( $cont ) ) { ?>
+            <ul>
+<?php           foreach($cont as $key => $val) { ?>
+                <li id="<?php echo Sanitizer::escapeId($val['id']) ?>"<?php
+                    if ( $val['active'] ) { ?> class="active" <?php }
+                ?>><a href="<?php echo htmlspecialchars($val['href']) ?>"<?php echo $this->skin->tooltipAndAccesskey($val['id']) ?>><?php echo htmlspecialchars($val['text']) ?></a></li>
+<?php           } ?>
+            </ul>
+<?php   } else {
+            # allow raw HTML block to be defined by extensions
+            print $cont;
+        }
+?>
+        </div>
+    </div>
+<?php
+    }
+
 } // end of class
-?>
+
+
deleted file mode 100644
--- a/mediawiki/skins/cmo/default.css
+++ /dev/null
@@ -1,319 +0,0 @@
-html, body {
-  padding: 0;
-  margin:0px;
-  font-family:Verdana,Sans-serif;
-  font-size:9pt;
-}
-
-body {
-  background:#FFFFFF url(./img/body_back.gif) repeat-x scroll 0 0;
-  margin: 20px;  
-}
-
-img {
-  border: 0px;
-}
-
-#logo {
-  margin-left: 1em;
-  margin-top: 2px;
-}
-
-#header {
-  background:#455372 url(./img/header_bl.png) repeat-x scroll left bottom;
-  height:3em;
-  min-height:39px;
-  padding:15px 0;
-  position:relative;
-  voice-family:inherit;
-  margin-bottom:1em;
-  width: 910px;
-  margin: 0 auto;
-  font-size:small;
-}
-
-#header h1 {
-  background:transparent url(./img/header_tl.gif) no-repeat scroll 0 0;
-  font-size:2px;
-  height:8px;
-  left:0;
-  margin:0;
-  position:absolute;
-  top:0;
-  z-index:100;
-}
-
-#header h1 a {
-  background:transparent url(./img/header_logo.gif) no-repeat scroll 0 0;
-  display:block;
-  height:64px;
-  text-decoration:none;
-  text-indent:-700em;
-  width:268px;
-}
-
-#header ul {
-  background:transparent url(./img/header_br.gif) no-repeat scroll right bottom;
-  bottom:0;
-  list-style-image:none;
-  list-style-position:outside;
-  list-style-type:none;
-  margin:0;
-  padding:0 15px 0 0;
-  position:absolute;
-  right:0;
-  width:auto;
-  z-index:90;
-}
-
-#header li {
-  background:transparent url(./img/header_tab.gif) no-repeat scroll 100% -600px;
-  border-bottom:1px solid #515358;
-  float:right;
-  margin:0 1px 0 0;
-  padding:0 6px 0 0;
-  display: inline;
-}
-
-#header ul a {
-  background:transparent url(./img/header_tab.gif) no-repeat scroll 0 -600px;
-  color:#FFFFFF;
-  display:block;
-  float:left;
-  font-weight:bold;
-  padding:4px 4px 4px 10px;
-  text-decoration:none;
-}
-
-#header form {
-  background:transparent url(./img/header_tr.gif) no-repeat scroll right top;
-  margin:0;
-  padding:12px 20px 0 0;
-  position:absolute;
-  right:0;
-  text-align:right;
-  top:0;
-  white-space:nowrap;
-  display: inline;
-}
-
-#header form label {
-  color:#FFFFFF;
-  font-size:85%;
-  font-weight: bold;
-}
-
-#header form #q {
-  background:#D9DBE1 none repeat scroll 0 0;
-  border:1px solid #9097A2;
-  font-size:85%;
-  padding:2px;
-  width:170px;
-  font-family:verdana,sans-serif;
-}
-
-#header form #q:hover, #header form #q:focus {
-  background:#FFFFFF none repeat scroll 0 0;
-}
-
-
-#header form #submit {
-  background:#6A7389 none repeat scroll 0 0;
-  border-color:#9097A2 #283043 #283043 #9097A2;
-  border-style:solid;
-  border-width:1px;
-  color:#FFFFFF;
-  font-size:85%;
-  padding:1px 4px;
-  font-weight:bold;
-  font-family:verdana,sans-serif;
-}
-
-
-#content {
-  width: 800px;
-  margin: 0 auto;
-  padding: 10px;
-  margin-top: 10px;
-  margin-bottom: 10px;
-}
-
-#footer {
-  width: 100%;
-  min-height: 25px;
-  background: url(./img/header_bl.png) #455372 no-repeat;
-  background-position: bottom;
-  clear: both;
-}
-
-#content h1 {
-  font-size: 1.6em;
-  color: #253352;
-  font-weight: bold;
-}
-
-#content h2 {
-  font-size: 1.5em;
-  margin-bottom: 15px;
-  margin-left: 10px;
-  margin-top: 8px;
-  margin-bottom: 6px;
-  color: #051332;
-  font-weight: bold;
-}
-
-#content p {
-  font-size: 1.1em;
-  color: #051332;
-}
-
-#content .topicbox {
-  border: 1px solid #ffffff;
-  -moz-border-radius: 1em;
-  border-radius: 1em;
-  margin-top: 6px;
-}
-
-#content .topicbox:hover {
-  opacity: 1.0;
-  background: #fafafa;
-  border: 1px solid #cccccc;
-  -moz-border-radius: 1em;
-  border-radius: 1em;
-}
-
-#content .topicbox img {
-  float: left;
-  opacity: 0.7;
-  margin: 0 10px 10px 10px;
-}
-
-#content .topicbox.default {
-  opacity: 1.0;
-  background: #ececec;
-  border: 1px solid #cccccc;
-  -moz-border-radius: 1em;
-  border-radius: 1em;
-}
-
-#content .topicbox h2 {
-  font-size: 18px;
-}
-
-#content .topicbox td h3 a {
-  text-decoration: none;
-  color: #051332;
-}
-
-#content .topicbox table {
-  width: 100%;
-}
-
-#content .topicbox td:hover {
-  background-color: white;
-  border: 1px solid #eeeeee;
-  -moz-border-radius: 1em;
-  border-radius: 1em;
-}
-
-#content .topicbox td:hover img {
-  opacity: 1.0;
-}
-
-#content .topicbox td {
-  vertical-align: top;
-  width: 50%;
-  border-width: 1px;
-  border-style: solid;
-  border-color: #eeeeee;
-  -moz-border-radius: 1em;
-  border-radius: 1em;
-  padding-right: 5px;
-}
-
-#content .topicbox td h3 {
-  margin-bottom: 1px;
-  margin-top: 1px;
-  font-size: 1.1em;
-  padding-left: 10px;
-  display: block;
-}
-
-#content .topicbox td h3 a {
-  display: block;
-}
-
-#content .topicbox td p {
-  font-size: 0.9em;
-  margin: 0px;
-  margin-top: 5px;
-  display: block;
-  position: relative;
-  min-height: 30px;
-}
-
-#content .topicbox td span.desc {
-  position: absolute;
-  left: 68px;
-  top: 0;
-}
-
-#content .topicbox td span.longdesc {
-  position: absolute;
-  left: 68px;
-  top: 0;
-  opacity: 0;
-}
-
-#content #toc {
-  float: left;
-  border: 1px solid black;
-  margin: 5px;
-  display: none;
-}
-
-#content #toc #toctitle {
-  font-size: 0.8em;
-}
-
-#content #toc ul {
-  padding-left: 20px;
-}
-
-#content #toc li {
-  list-style: none;
-}
-
-#content .topicbox td a {
-  color: #253352;
-  text-decoration: none;
-}
-
-#content .topicbox td span a {
-  color: #253352;
-  text-decoration: underline;
-}
-
-#breadcrumbs {
-  padding: 0px;
-}
-
-#breadcrumbs li {
-  display: inline;
-  font-size: 10px;
-  color: #253352;
-}
-
-#breadcrumbs li a {
-  color: #253352;
-}
-
-.editsection {
-  display:none;
-}
-
-/* fix the wiki syntax */
-
-.printfooter {
-  display: none;
-}
deleted file mode 100644
index 72a0d3ee6aa3df255245125b5fdca9287640951c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 0e943e8903e97e73936a95134fc21ac8c66385ba..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index c39028f8e13987982bb36af850b069206886502b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 4327861bb6845ea279f1fb7ed9e3e652839c7bef..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index a8b7d27f3e5763b947ba2ac1e6915221d27eeaf4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 175fa695a812b59a124decadaa9746a18d7fe83b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index e00acf1e56e469bd4ace5dff5efef204bf8ea24a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 3d2a2e1c92dd971f4df3aaa05341c401ebeb997d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 3a43c715ba8116af81c308d89d6a3f7344cf047f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 7e30f7bc6447ae9e4d765c581ea06d076db7b770..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 3303c0613fde05cb72f526bec7747fcadc7d5819..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 8ed46c961ffa2bd9d23a1271200d9bc15a05e32b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index f67b421c777f336637805767ed779ed19ed4c42b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 80e8aa3c83feed41a4805af3797be35dd0ba6035..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index be0546fd95ab34a323f40adff1fe72b9bd762d99..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 39c6c674d0d017444142a3d65cbd240fe0cc5efa..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index dcb859e4379d6a1d494826a50c2f09da15f53035..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index fac7493d2207c11559b4b4bc122310f8c292d1d6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index e52c4151a113cf55154f253daa902c791ee7ab96..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 7f398d3af60bc02e03eff00305973783fca8a3b4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index a28e8a1905938d69a4a038604eaf8dbc3fcfc700..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 239a43e343d2ac0b0fa0b3abcd15f09c045b0067..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index aadb6eaaee129c3c5f19cd51a0bc4b2a73a0b79a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index a25479f205f6ba272c7c6c113e8cccd79330bb03..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 3aed69b2bbb5ae93160eb3b2a1c44d5974f15c40..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index fc1c0ffa2aaca60b44924b3430ad44dc8026b020..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index e755ecb5cf56a8e74142a2a82ba3fba27e161db0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index dd152bb519edc28794bbdc0f6034339fc65ef391..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 3a659309b59a4c75e1988823db8511be8a205a5d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 0f6ffdb70bf29eb627b228d87213b1eed286c790..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 4f37d339c303cff973dbb468798c381c3633d225..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index ae148125365b1638b72da416c6ce4a551c210a9b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index b68c4678b33b976c255588ae15f69da738c9f041..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 7b28ebb1d99e0a07f33deb3a1aa7beaa3c3b1c63..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index e00fdecf92946bd5df692c933a1c9e37386be6c1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 3904d4a8e50f31fdee562e8cee2020e367b45b53..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 809ff44e0d260b3a042fb7a222ebbf2ec7fd373a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 130157e68c5820149bd9e67e3fa509bd37ea08c1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index f2a65350cdbe5a6cc945118e9993054172502b90..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 87ff5ac0633b90519bdd2523241eb745147a07c9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 6b7c3d094461b569527c23a2b700f0db9179df59..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index a285e3eb307b8af1c14a3a511b395f49a73adbaf..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 06740ba1152ee681b57484017840f19c4acf6b29..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 9294a10cf2b41d2bed46ad4b7d12ec277b4f0b3e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index fb54fd735289bb627564a30955dbc3b2e3d9e806..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index e301ad08a920503bb235cc7f9de0a938686eb9ff..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index c2ab531f6efee4b653585d85545571d131041058..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index ab31e70a852bc63754341e7ee3a5dd47aa634c20..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 3b0aaebae0d34d1fb50856c925984eb41d3e9021..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index f8357194bd0daa1457b4f0d9a154fea4f872e0a2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 999641a75d9cdafb12bdaecb80bb83635dc3a1dd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 32c1811dee659b0d24a4a43da18197386af15297..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 031f2545d125f09d47470b7e22b87a645e45b886..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 058ca89534b11232f77d8c69dc56aaecf6d16ea7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
--- a/mediawiki/skins/cmo/js/index.js
+++ /dev/null
@@ -1,44 +0,0 @@
-var ap = null
-var ap2 = null
-
-function prepareAnimator () {
-  ap = new AnimationPath();
-  ap.addKF(0, {opacity:1})
-  ap.addKF(9, {opacity:0})
-
-  ap2 = new AnimationPath();
-  ap2.addKF(0, {opacity:0})
-  ap2.addKF(9, {opacity:1})
-
-
-  var tboxes = document.getElementsByClassName('topicbox')
-  for (var j=0;j<tboxes.length;j++) {
-    elems = tboxes[j].getElementsByTagName('td')
-    for (var i=0;i<elems.length;i++) {
-      longdesc = elems[i].getElementsByClassName('longdesc');
-      if (longdesc.length < 1)
-        continue;
-      var elem = elems[i]
-  
-      var a = new Animator();
-      var desc = elem.getElementsByClassName('desc')[0]
-      var longdesc = elem.getElementsByClassName('longdesc')[0]
-      a.push(desc, ap)
-      a.push(longdesc, ap2)
-      a.rev()
-      elem.animator = a
-      elem.addEventListener('mouseover', switchAnim, false);
-      elem.addEventListener('mouseout', switchAnim2, false);
-    }
-  }
-}
-
-function switchAnim () {
-  this.animator.rev()
-  this.animator.start(20)
-}
-
-function switchAnim2 () {
-  this.animator.rev()
-  this.animator.start(60)
-}
\ No newline at end of file
deleted file mode 100644
--- a/mediawiki/skins/cmo/js/jsdynamic/extras.js
+++ /dev/null
@@ -1,34 +0,0 @@
-function sum(n) {
-  if ((n == 0) || (n == 1))
-      return 1;
-  else {
-      var result = (n + sum(n-1) );
-      return result;
-  }
-}
-
-
-/**
-  * Jednostajnie przyspieszony/spowolniony
-  **/
-function recountFramesS (frameList, kf1, kf2, params) {
-  var fnum = kf2-kf1;
-  var vect = params.vect?params.vect:1;
-  var t = sum(fnum);
-  var a = 1/t;
-  if (vect>0)
-    var v = 0;
-  else
-    var v = fnum/t;
-  var s = 0;
-  for (var i=kf1+1;i<kf2;i++) {
-    if (!frameList[i])
-      frameList[i] = {vals:{},num:i};
-    for (val in frameList[kf2].vals) {
-      var diff = (frameList[kf2].vals[val]-frameList[kf1].vals[val]);
-      frameList[i].vals[val] = frameList[kf1].vals[val] + (diff*(s+v));
-    }
-    s += v;
-    v += (a*vect);
-  }
-}
\ No newline at end of file
deleted file mode 100644
--- a/mediawiki/skins/cmo/js/jsdynamic/jsdynamic.js
+++ /dev/null
@@ -1,167 +0,0 @@
-function Animator () {
-  var elemList = [];
-  var I = null;
-  var dir = 1;
-
-  function step () {
-    var running = false;
-    var frame;
-
-    for (elem in elemList) {
-      if (dir == 1)
-        frame = elemList[elem].ap.getNextFrame();
-      else
-        frame = elemList[elem].ap.getPrevFrame();
-      if (frame !== null) {
-        running = true;
-        for (i in frame) {
-          if (i=='left' || i=='top')
-            elemList[elem].elem.style[i] = frame[i] + elemList[elem].ap.unit;
-          else if (i=='opacity')
-            elemList[elem].elem.style[i] = frame[i];
-          else
-            elemList[elem].elem.setAttribute(i, frame[i] + elemList[elem].ap.unit);
-        }
-      }
-    }
-
-    if (running === false)
-      stop();
-  }
-
-  function start (t) {
-    if (I)
-      stop()
-    I = setInterval(step, t);
-  }
-
-  function stop () {
-    I = clearInterval(I);
-  }
-
-  function push (elem, ap) {
-    elemList.push({elem:elem, ap:ap.clone()});
-  }
-
-  function rev () {
-    dir = dir == 1 ? -1 : 1
-  }
-
-  return {start:start,stop:stop, rev:rev, push:push}
-}
-
-function AnimationPath (frameList) {
-  if (!frameList) {
-    frameList = [];
-  }
-
-  function recountFrames(kf1, kf2) {
-    frames = kf2 - kf1;
-    for (val in frameList[kf2].vals) {
-      var diff = parseFloat(frameList[kf2].vals[val] - frameList[kf1].vals[val])/frames;
-      for(var i=kf1+1;i<=kf2-1;i++) {
-        if (!frameList[i])
-          frameList[i] = {vals:{},num:i};
-        frameList[i].vals[val] = frameList[kf2].vals[val] - (diff*(kf2-i))
-      }
-    }
-  }
-
-  function prevKF (kf) {
-    if (kf == 0)
-      return null;
-    var tempKF = null;
-    for (var i in frameList) {
-      tempKF = frameList[i];
-      break;
-    }
-    if (!tempKF)
-      return null;
-    while (tempKF.next !== null && tempKF.next.num < kf)
-      tempKF = tempKF.next;
-    return tempKF.num;
-  }
-
-  function nextKF (kf) {
-    if (kf == 0)
-      return null;
-    if (!frameList[0])
-      return null;
-    var tempKF = frameList[0];
-    while (tempKF.next !== null && tempKF.next.num <= kf)
-      tempKF = tempKF.next;
-    if (tempKF.next !== null)
-      return tempKF.next.num;
-    else
-      return null;
-  }
-
-  function addKF (frameNum, vals, customFunc, cFParams) {
-    var pKF = prevKF(frameNum);
-    var nKF = nextKF(frameNum);
-    if (!frameList[frameNum]) {
-      frameList[frameNum] = {vals:{},num:frameNum,prev:pKF,next:nKF};
-      if (pKF !== null)
-        frameList[pKF].next = frameList[frameNum];
-      if (nKF !== null)
-        frameList[nKF].prev = frameList[frameNum];
-    }
-    for (var i in vals)
-      frameList[frameNum].vals[i] = vals[i];
-
-    if (pKF !== null)
-      if (customFunc)
-        customFunc(frameList, pKF, frameNum, cFParams);
-      else
-        recountFrames(pKF, frameNum);
-    if (nKF !== null)
-      recountFrames(frameNum, nKF);
-  }
-
-  function removeKF (frameNum) {
-    if (frameNum === 0)
-      return false;
-
-    pKF = prevKF(frameNum);
-    nKF = nextKF(frameNum);
-    if (pKF !== null && nKF !== null)
-      recountFrames(pKF, nKF);
-    return true;
-  }
-
-  function clone () {
-    var ap =  new AnimationPath(frameList);
-    ap.unit = this.unit;
-    return ap;
-  }
-
-  function getCurrentFrame (dir) {
-    if (frameList[this.fp])
-      return frameList[this.fp].vals;
-    else
-      return null;
-  }
-
-  function getNextFrame () {
-    if (frameList[this.fp+1]) {
-      this.fp+=1
-      return frameList[this.fp].vals;
-    } else
-      return null;
-  }
-
-  function getPrevFrame () {
-    if (frameList[this.fp-1]) {
-      this.fp-=1
-      return frameList[this.fp].vals;
-    } else
-      return null;
-  }
-
-  return {addKF:addKF,
-          removeKF:removeKF,
-          clone:clone,
-          getCurrentFrame:getCurrentFrame,
-          getNextFrame:getNextFrame,
-          getPrevFrame:getPrevFrame, fp:0, unit:'px'}
-}
\ No newline at end of file