r104910 MediaWiki - Code Review archive

Repository:MediaWiki
Revision:r104909‎ | r104910 | r104911 >
Date:22:52, 1 December 2011
Author:preilly
Status:deferred
Tags:
Comment:
1.18wmf1: MFT r93767 - r104893
Modified paths:
  • /branches/wmf/1.18wmf1/extensions/MobileFrontend/DeviceDetection.php (modified) (history)
  • /branches/wmf/1.18wmf1/extensions/MobileFrontend/MobileFrontend.i18n.php (modified) (history)
  • /branches/wmf/1.18wmf1/extensions/MobileFrontend/MobileFrontend.php (modified) (history)
  • /branches/wmf/1.18wmf1/extensions/MobileFrontend/javascripts/application.min.js (deleted) (history)
  • /branches/wmf/1.18wmf1/extensions/MobileFrontend/javascripts/beta_application.js (added) (history)
  • /branches/wmf/1.18wmf1/extensions/MobileFrontend/javascripts/beta_opensearch.js (added) (history)
  • /branches/wmf/1.18wmf1/extensions/MobileFrontend/javascripts/jquery.js (deleted) (history)
  • /branches/wmf/1.18wmf1/extensions/MobileFrontend/javascripts/opensearch.js (modified) (history)
  • /branches/wmf/1.18wmf1/extensions/MobileFrontend/library/WURFL/Handlers/AndroidHandler.php (modified) (history)
  • /branches/wmf/1.18wmf1/extensions/MobileFrontend/library/WURFL/Handlers/Matcher/RISMatcher.php (modified) (history)
  • /branches/wmf/1.18wmf1/extensions/MobileFrontend/library/WURFL/Storage/Mwmemcache.php (modified) (history)
  • /branches/wmf/1.18wmf1/extensions/MobileFrontend/library/resources/web_browsers_patch.xml (modified) (history)
  • /branches/wmf/1.18wmf1/extensions/MobileFrontend/library/resources/wurfl-2.1.1.zip (deleted) (history)
  • /branches/wmf/1.18wmf1/extensions/MobileFrontend/library/resources/wurfl-2.3.xml.zip (added) (history)
  • /branches/wmf/1.18wmf1/extensions/MobileFrontend/library/resources/wurfl-config.xml (modified) (history)
  • /branches/wmf/1.18wmf1/extensions/MobileFrontend/stylesheets/android.css (modified) (history)
  • /branches/wmf/1.18wmf1/extensions/MobileFrontend/stylesheets/beta_common.css (added) (history)
  • /branches/wmf/1.18wmf1/extensions/MobileFrontend/stylesheets/blackberry.css (modified) (history)
  • /branches/wmf/1.18wmf1/extensions/MobileFrontend/stylesheets/common.css (modified) (history)
  • /branches/wmf/1.18wmf1/extensions/MobileFrontend/stylesheets/default.css (modified) (history)
  • /branches/wmf/1.18wmf1/extensions/MobileFrontend/stylesheets/firefox.css (modified) (history)
  • /branches/wmf/1.18wmf1/extensions/MobileFrontend/stylesheets/images/arrow-left.png (added) (history)
  • /branches/wmf/1.18wmf1/extensions/MobileFrontend/stylesheets/images/close-button.png (modified) (history)
  • /branches/wmf/1.18wmf1/extensions/MobileFrontend/stylesheets/iphone.css (modified) (history)
  • /branches/wmf/1.18wmf1/extensions/MobileFrontend/stylesheets/iphone2.css (modified) (history)
  • /branches/wmf/1.18wmf1/extensions/MobileFrontend/stylesheets/kindle.css (modified) (history)
  • /branches/wmf/1.18wmf1/extensions/MobileFrontend/stylesheets/nokia.css (modified) (history)
  • /branches/wmf/1.18wmf1/extensions/MobileFrontend/stylesheets/operamini.css (modified) (history)
  • /branches/wmf/1.18wmf1/extensions/MobileFrontend/stylesheets/palm_pre.css (modified) (history)
  • /branches/wmf/1.18wmf1/extensions/MobileFrontend/stylesheets/psp.css (modified) (history)
  • /branches/wmf/1.18wmf1/extensions/MobileFrontend/stylesheets/simple.css (modified) (history)
  • /branches/wmf/1.18wmf1/extensions/MobileFrontend/stylesheets/webkit.css (modified) (history)
  • /branches/wmf/1.18wmf1/extensions/MobileFrontend/stylesheets/webkit_old.css (modified) (history)
  • /branches/wmf/1.18wmf1/extensions/MobileFrontend/stylesheets/wii.css (modified) (history)
  • /branches/wmf/1.18wmf1/extensions/MobileFrontend/tests/DeviceDetectionTest.php (added) (history)
  • /branches/wmf/1.18wmf1/extensions/MobileFrontend/tests/MobileFrontendTest.php (modified) (history)
  • /branches/wmf/1.18wmf1/extensions/MobileFrontend/views/information/disable.html.php (modified) (history)
  • /branches/wmf/1.18wmf1/extensions/MobileFrontend/views/layout/_footmenu_default.html.php (modified) (history)
  • /branches/wmf/1.18wmf1/extensions/MobileFrontend/views/layout/_search_webkit.html.php (modified) (history)
  • /branches/wmf/1.18wmf1/extensions/MobileFrontend/views/layout/application.html.php (modified) (history)
  • /branches/wmf/1.18wmf1/extensions/MobileFrontend/views/notices/_donate.html.php (modified) (history)
  • /branches/wmf/1.18wmf1/extensions/MobileFrontend/views/notices/notice_1.html.php (modified) (history)

Diff [purge]

Index: branches/wmf/1.18wmf1/extensions/MobileFrontend/tests/DeviceDetectionTest.php
@@ -0,0 +1,36 @@
 2+<?php
 3+
 4+/**
 5+ * @group MobileFrontend
 6+ */
 7+ class DeviceDetectionTest extends MediaWikiTestCase {
 8+
 9+ /**
 10+ * @dataProvider provideTestFormatName
 11+ */
 12+ public function testFormatName( $format, $userAgent ) {
 13+ $detector = new DeviceDetection();
 14+ $this->assertEquals( $format, $detector->formatName( $userAgent ) );
 15+ }
 16+
 17+ public function provideTestFormatName() {
 18+ return array(
 19+ array( 'android', 'Mozilla/5.0 (Linux; U; Android 2.1; en-us; Nexus One Build/ERD62) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17' ),
 20+ array( 'iphone2', 'Mozilla/5.0 (ipod: U;CPU iPhone OS 2_2 like Mac OS X: es_es) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.0 Mobile/3B48b Safari/419.3' ),
 21+ array( 'iphone', 'Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3B48b Safari/419.3' ),
 22+ array( 'nokia', 'Mozilla/5.0 (SymbianOS/9.1; U; [en]; SymbianOS/91 Series60/3.0) AppleWebKit/413 (KHTML, like Gecko) Safari/413' ),
 23+ array( 'palm_pre', 'Mozilla/5.0 (webOS/1.0; U; en-US) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/1.0 Safari/525.27.1 Pre/1.0' ),
 24+ array( 'wii', 'Opera/9.00 (Nintendo Wii; U; ; 1309-9; en)' ),
 25+ array( 'operamini', 'Opera/9.50 (J2ME/MIDP; Opera Mini/4.0.10031/298; U; en)' ),
 26+ array( 'iphone', 'Opera/9.51 Beta (Microsoft Windows; PPC; Opera Mobi/1718; U; en)' ),
 27+ array( 'kindle', 'Mozilla/4.0 (compatible; Linux 2.6.10) NetFront/3.3 Kindle/1.0 (screen 600x800)' ),
 28+ array( 'kindle2', 'Mozilla/4.0 (compatible; Linux 2.6.22) NetFront/3.4 Kindle/2.0 (screen 824x1200; rotate)' ),
 29+ array( 'capable', 'Mozilla/5.0 (X11; Linux i686; rv:2.0.1) Gecko/20100101 Firefox/4.0.1' ),
 30+ array( 'netfront', 'Mozilla/4.08 (Windows; Mobile Content Viewer/1.0) NetFront/3.2' ),
 31+ array( 'wap2', 'SonyEricssonK608i/R2L/SN356841000828910 Browser/SEMC-Browser/4.2 Profile/MIDP-2.0 Configuration/CLDC-1.1' ),
 32+ array( 'wap2', 'NokiaN73-2/3.0-630.0.2 Series60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1' ),
 33+ array( 'psp', 'Mozilla/4.0 (PSP (PlayStation Portable); 2.00)' ),
 34+ array( 'ps3', 'Mozilla/5.0 (PLAYSTATION 3; 1.00)' ),
 35+ );
 36+ }
 37+}
\ No newline at end of file
Index: branches/wmf/1.18wmf1/extensions/MobileFrontend/tests/MobileFrontendTest.php
@@ -1,10 +1,14 @@
22 <?php
33
 4+/**
 5+ * @group MobileFrontend
 6+ */
47 class ExtMobileFrontendTest extends MediaWikiTestCase {
5 -
68 /**
7 - * PHP 5.3.2 introduces the ReflectionMethod::setAccessible() method to allow the invocation of
 9+ * PHP 5.3.2 introduces the ReflectionMethod::setAccessible() method to allow the invocation of
810 * protected and private methods directly through the Reflection API
 11+ *
 12+ * @param $name string
913 */
1014 protected static function getMethod( $name ) {
1115 $class = new ReflectionClass( 'ExtMobileFrontend' );
@@ -12,39 +16,49 @@
1317 $method->setAccessible( true );
1418 return $method;
1519 }
16 -
 20+
1721 protected function setUp() {
1822 parent::setUp();
19 - $this->wgExtMobileFrontend = new ExtMobileFrontend();
 23+ global $wgExtMobileFrontend;
 24+ $wgExtMobileFrontend = new ExtMobileFrontend();
2025 }
2126
2227 protected function tearDown() {
23 - unset( $this->wgExtMobileFrontend );
 28+ global $wgExtMobileFrontend;
 29+ unset( $wgExtMobileFrontend );
2430 parent::tearDown();
2531 }
26 -
27 - public function testgetBaseDomain() {
 32+
 33+ public function testGetBaseDomain() {
 34+ global $wgExtMobileFrontend;
2835 $getBaseDomain = self::getMethod( 'getBaseDomain' );
29 - $wgExtMobileFrontend = new ExtMobileFrontend();
3036 $_SERVER['HTTP_HOST'] = 'en.wikipedia.org';
3137 $this->assertEquals( '.wikipedia.org', $getBaseDomain->invokeArgs( $wgExtMobileFrontend, array() ) );
3238 }
33 -
34 - public function testgetRelativeURL() {
 39+
 40+ public function testGetRelativeURL() {
 41+ global $wgExtMobileFrontend;
3542 $getRelativeURL = self::getMethod( 'getRelativeURL' );
36 - $wgExtMobileFrontend = new ExtMobileFrontend();
3743 $url = 'http://en.wikipedia.org/wiki/Positional_astronomy';
3844 $this->assertEquals( '/wiki/Positional_astronomy', $getRelativeURL->invokeArgs( $wgExtMobileFrontend, array( $url ) ) );
3945 }
40 -
41 - public function testdisableCaching() {
42 - global $wgRequest;
 46+
 47+ public function testDisableCaching() {
 48+ global $wgRequest, $wgExtMobileFrontend;
4349 $disableCaching = self::getMethod( 'disableCaching' );
44 - $wgExtMobileFrontend = new ExtMobileFrontend();
 50+
4551 $_SERVER['HTTP_VIA'] = '.wikimedia.org:3128';
4652 $disableCaching->invokeArgs( $wgExtMobileFrontend, array() );
4753 $this->assertEquals( 'no-cache, must-revalidate', $wgRequest->response()->getheader( 'Cache-Control' ) );
4854 $this->assertEquals( 'Sat, 26 Jul 1997 05:00:00 GMT', $wgRequest->response()->getheader( 'Expires' ) );
4955 $this->assertEquals( 'no-cache', $wgRequest->response()->getheader( 'Pragma' ) );
5056 }
 57+
 58+ public function testSendXDeviceVaryHeader() {
 59+ global $wgRequest, $wgExtMobileFrontend;
 60+ $sendXDeviceVaryHeader = self::getMethod( 'sendXDeviceVaryHeader' );
 61+ $_SERVER['HTTP_X_DEVICE'] = 'device';
 62+ $sendXDeviceVaryHeader->invokeArgs( $wgExtMobileFrontend, array() );
 63+ $this->assertEquals( $_SERVER['HTTP_X_DEVICE'], $wgRequest->response()->getheader( 'X-Device' ) );
 64+ }
5165 }
\ No newline at end of file
Index: branches/wmf/1.18wmf1/extensions/MobileFrontend/DeviceDetection.php
@@ -14,6 +14,9 @@
1515 // may be extended to provide access to particular devices functionality
1616 class DeviceDetection {
1717
 18+ /**
 19+ * @return array
 20+ */
1821 public function availableFormats() {
1922 $formats = array (
2023 'html' => array (
@@ -246,44 +249,15 @@
247250 return $formats;
248251 }
249252
 253+ /**
 254+ * @param $formatName
 255+ * @return array
 256+ */
250257 public function format( $formatName ) {
251258 $format = $this->availableFormats();
252259 return ( isset( $format[$formatName] ) ) ? $format[$formatName] : array();
253260 }
254261
255 - public function testFormatName() {
256 - $testResults = '';
257 -
258 - $userAgents = array();
259 - $userAgents['android'] = 'Mozilla/5.0 (Linux; U; Android 2.1; en-us; Nexus One Build/ERD62) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17';
260 - $userAgents['iphone2'] = 'Mozilla/5.0 (ipod: U;CPU iPhone OS 2_2 like Mac OS X: es_es) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.0 Mobile/3B48b Safari/419.3';
261 - $userAgents['iphone'] = 'Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3B48b Safari/419.3';
262 - $userAgents['nokia'] = 'Mozilla/5.0 (SymbianOS/9.1; U; [en]; SymbianOS/91 Series60/3.0) AppleWebKit/413 (KHTML, like Gecko) Safari/413';
263 - $userAgents['palm_pre'] = 'Mozilla/5.0 (webOS/1.0; U; en-US) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/1.0 Safari/525.27.1 Pre/1.0';
264 - $userAgents['wii'] = 'Opera/9.00 (Nintendo Wii; U; ; 1309-9; en)';
265 - $userAgents['operamini'] = 'Opera/9.50 (J2ME/MIDP; Opera Mini/4.0.10031/298; U; en)';
266 - $userAgents['iphone'] = 'Opera/9.51 Beta (Microsoft Windows; PPC; Opera Mobi/1718; U; en)';
267 - $userAgents['kindle'] = 'Mozilla/4.0 (compatible; Linux 2.6.10) NetFront/3.3 Kindle/1.0 (screen 600x800)';
268 - $userAgents['kindle2'] = 'Mozilla/4.0 (compatible; Linux 2.6.22) NetFront/3.4 Kindle/2.0 (screen 824x1200; rotate)';
269 - $userAgents['capable'] = 'Mozilla/5.0 (X11; Linux i686; rv:2.0.1) Gecko/20100101 Firefox/4.0.1';
270 - $userAgents['netfront'] = 'Mozilla/4.08 (Windows; Mobile Content Viewer/1.0) NetFront/3.2';
271 - $userAgents['wap2'] = 'SonyEricssonK608i/R2L/SN356841000828910 Browser/SEMC-Browser/4.2 Profile/MIDP-2.0 Configuration/CLDC-1.1';
272 - $userAgents['wap2'] = 'NokiaN73-2/3.0-630.0.2 Series60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1';
273 - $userAgents['psp'] = 'Mozilla/4.0 (PSP (PlayStation Portable); 2.00)';
274 - $userAgents['ps3'] = 'Mozilla/5.0 (PLAYSTATION 3; 1.00)';
275 -
276 - foreach ( $userAgents as $formatName => $userAgent ) {
277 - if ( $this->formatName( $userAgent ) === $formatName ) {
278 - $result = ' has PASSED!';
279 - } else {
280 - $result = ' has FAILED!';
281 - }
282 -
283 - $testResults .= $formatName . $result . '<br/>' . PHP_EOL;
284 - }
285 - return $testResults;
286 - }
287 -
288262 /**
289263 * @param $userAgent string
290264 * @param $acceptHeader string
Index: branches/wmf/1.18wmf1/extensions/MobileFrontend/library/WURFL/Handlers/Matcher/RISMatcher.php
@@ -24,13 +24,13 @@
2525 * @package WURFL_Handlers_Matcher
2626 */
2727 class WURFL_Handlers_Matcher_RISMatcher implements WURFL_Handlers_Matcher_Interface {
28 -
 28+
2929 /**
3030 * Instance of WURFL_Handlers_Matcher_LDMatcher
3131 * @var WURFL_Handlers_Matcher_LDMatcher
3232 */
3333 private static $instance;
34 -
 34+
3535 /**
3636 * Returns an instance of the RISMatcher singleton
3737 * @return WURFL_Handlers_RISMatcher
@@ -41,7 +41,7 @@
4242 }
4343 return self::$instance;
4444 }
45 -
 45+
4646 public function match(&$collection, $needle, $tolerance) {
4747 $match = NULL;
4848 $bestDistance = 0;
@@ -57,18 +57,18 @@
5858 $match = $find;
5959 $bestDistance = $distance;
6060 }
61 -
 61+
6262 $cmp = strcmp ( $find, $needle );
6363 if ($cmp < 0) {
6464 $low = $mid + 1;
65 - } else if ($cmp > 0) {
 65+ } elseif ($cmp > 0) {
6666 $high = $mid - 1;
67 -
 67+
6868 } else {
6969 break;
7070 }
7171 }
72 -
 72+
7373 if ($bestDistance < $tolerance) {
7474 return NULL;
7575 }
@@ -77,29 +77,29 @@
7878 }
7979 return $this->firstOfTheBests ( $collection, $needle, $bestIndex, $bestDistance );
8080 }
81 -
 81+
8282 private function firstOfTheBests($collection, $needle, $bestIndex, $bestDistance) {
83 -
 83+
8484 while($bestIndex > 0 && $this->longestCommonPrefixLength ( $collection [$bestIndex-1], $needle ) == $bestDistance) {
8585 $bestIndex = $bestIndex - 1;
8686 }
8787 return $collection [$bestIndex];
8888 }
89 -
 89+
9090 private function longestCommonPrefixLength($s, $t) {
9191 $length = min ( strlen ( $s ), strlen ( $t ) );
92 -
 92+
9393 $i = 0;
9494 while ( $i < $length ) {
9595 if ($s [$i] !== $t [$i]) {
9696 break;
9797 }
9898 $i ++;
99 -
 99+
100100 }
101 -
 101+
102102 return $i;
103 -
 103+
104104 }
105105 }
106106
Index: branches/wmf/1.18wmf1/extensions/MobileFrontend/library/WURFL/Handlers/AndroidHandler.php
@@ -19,8 +19,8 @@
2020
2121 /**
2222 * AndroidUserAgentHanlder
23 - *
2423 *
 24+ *
2525 * @category WURFL
2626 * @package WURFL_Handlers
2727 * @copyright ScientiaMobile, Inc.
@@ -28,13 +28,13 @@
2929 * @version $id$
3030 */
3131 class WURFL_Handlers_AndroidHandler extends WURFL_Handlers_Handler {
32 -
 32+
3333 protected $prefix = "ANDROID";
34 -
 34+
3535 public function __construct($wurflContext, $userAgentNormalizer = null) {
3636 parent::__construct ( $wurflContext, $userAgentNormalizer );
3737 }
38 -
 38+
3939 /**
4040 * Intercept all UAs containing "Android"
4141 *
@@ -44,7 +44,7 @@
4545 public function canHandle($userAgent) {
4646 return WURFL_Handlers_Utils::checkIfContains ( $userAgent, "Android" );
4747 }
48 -
 48+
4949 /**
5050 * Use RIS with first semicolon after the Android String as tollerance
5151 *
@@ -55,8 +55,8 @@
5656 $userAgents = array_keys ( $this->userAgentsWithDeviceID );
5757 return parent::applyRisWithTollerance ( $userAgents, $userAgent, $tollerance );
5858 }
59 -
60 -
 59+
 60+
6161 private $androidDeviceIdByVersion = array(
6262 "" => "generic_android",
6363 "1_5" => "generic_android_ver1_5",
@@ -67,11 +67,11 @@
6868 "2_3" => "generic_android_ver2_3",
6969 "3_0" => "generic_android_ver3_0",
7070 );
71 -
 71+
7272 /**
73 - * If the User Agent contains "Android"
74 - * Return "generic_andorid"
75 - *
 73+ * If the User Agent contains "Android"
 74+ * Return "generic_andorid"
 75+ *
7676 * @param string $userAgent
7777 * @return string
7878 */
@@ -80,19 +80,19 @@
8181 $platformVersion = $this->platformVersion($userAgent);
8282 if(isset($this->androidDeviceIdByVersion[$platformVersion])) {
8383 $deviceId = $this->androidDeviceIdByVersion[$platformVersion];
84 - } else if($this->isFroyo($userAgent)) {
 84+ } elseif($this->isFroyo($userAgent)) {
8585 return "generic_android_ver2_2";
8686 }
8787 return $deviceId;
88 -
 88+
8989 }
90 -
 90+
9191 private function isFroyo($userAgent) {
9292 return strpos($userAgent, "Froyo") !== 0;
9393 }
94 -
 94+
9595 const ANDROID_PLATFORM_VERSION = "/Android[\s\/](\d)\.(\d+)/";
96 -
 96+
9797 private function platformVersion($userAgent) {
9898 $matches = array();
9999 if(preg_match(self::ANDROID_PLATFORM_VERSION, $userAgent, $matches) != 0) {
Index: branches/wmf/1.18wmf1/extensions/MobileFrontend/library/WURFL/Storage/Mwmemcache.php
@@ -41,7 +41,6 @@
4242 return $wgMemc->set( $this->encode( $this->namespace, $objectId ), $object, $this->expiration );
4343 }
4444
45 -
4645 /**
4746 * Load the object.
4847 *
Index: branches/wmf/1.18wmf1/extensions/MobileFrontend/library/resources/wurfl-2.1.1.zip
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: branches/wmf/1.18wmf1/extensions/MobileFrontend/library/resources/wurfl-2.3.xml.zip
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes on: branches/wmf/1.18wmf1/extensions/MobileFrontend/library/resources/wurfl-2.3.xml.zip
___________________________________________________________________
Added: svn:mime-type
4948 + application/octet-stream
Index: branches/wmf/1.18wmf1/extensions/MobileFrontend/library/resources/web_browsers_patch.xml
@@ -1,226 +1,408 @@
22 <?xml version="1.0" encoding="UTF-8"?>
33 <wurfl_patch>
4 - <version>
5 - <last_updated>September 11, 2010</last_updated>
6 - </version>
7 - <devices>
8 - <!-- Web browsers -->
9 - <device user_agent="Mozilla/4.0" fall_back="generic" id="generic_web_browser">
10 - <group id="product_info">
11 - <capability name="brand_name" value="generic web browser"/>
12 - <capability name="model_name" value=""/>
13 - <capability name="pointing_method" value="mouse"/>
14 - <capability name="is_wireless_device" value="false"/>
15 - </group>
16 - <group id="display">
17 - <capability name="resolution_width" value="800"/>
18 - <capability name="resolution_height" value="600"/>
19 - </group>
20 - <group id="markup">
21 - <capability name="xhtml_support_level" value="4"/>
22 - <capability name="preferred_markup" value="html_web_4_0"/>
23 - </group>
24 - <group id="ajax">
25 - <capability name="ajax_support_javascript" value="true"/>
26 - </group>
27 - </device>
 4+ <version>
 5+ <last_updated>November 17, 2011</last_updated>
 6+ <statement>
 7+ <![CDATA[
 8+ Copyright (C) 2011 ScientiaMobile, Inc., Reston, VA, USA
289
29 - <device id="mozilla_ver5" user_agent="Mozilla/5.0" fall_back="generic_web_browser"/>
 10+ Dear User,
3011
31 - <!-- Firefox -->
32 - <device user_agent="Firefox" fall_back="generic_web_browser" id="firefox">
33 - <group id="product_info">
34 - <capability name="brand_name" value="firefox" />
35 - </group>
36 - </device>
 12+ The WURFL file contains information about the capabilities of mobile devices
 13+ and the browsers running on them. This information is collected to allow
 14+ developers to build mobile websites and mobile services that adapt themselves
 15+ to the actual features of the device and browser.
3716
38 - <device user_agent="Firefox/1.0" fall_back="firefox" id="firefox_1">
39 - <group id="product_info">
40 - <capability name="model_name" value="1.0" />
41 - </group>
42 - </device>
43 - <device user_agent="Firefox/1.5" fall_back="firefox" id="firefox_1_5">
44 - <group id="product_info">
45 - <capability name="model_name" value="1.5" />
46 - </group>
47 - </device>
48 - <device user_agent="Firefox/2.0" fall_back="firefox" id="firefox_2">
49 - <group id="product_info">
50 - <capability name="model_name" value="2.0" />
51 - </group>
52 - </device>
53 - <device user_agent="Firefox/3.0" fall_back="firefox" id="firefox_3">
54 - <group id="product_info">
55 - <capability name="model_name" value="3.0" />
56 - </group>
57 - </device>
58 - <device user_agent="Firefox/3.5" fall_back="firefox" id="firefox_3_5">
59 - <group id="product_info">
60 - <capability name="model_name" value="3.5" />
61 - </group>
62 - </device>
 17+ This file is brought to you by ScientiaMobile, Inc. (http://www.scientiamobile.com),
 18+ a US Company that offers commercial licensing, APIs, tools and support for WURFL.
6319
 20+ The WURFL file is the Copyright of ScientiaMobile.
 21+ Permission is granted to use one copy of the WURFL file only under the
 22+ circumstances and conditions specified here below. All rights are otherwise
 23+ reserved.
6424
 25+ You are authorized to use the WURFL file AS IS, without modification and solely in
 26+ connection with one of the standard WURFL APIs, starting from version 1.3,
 27+ released and supported by ScientiaMobile and available at
 28+ the official WURFL website at http://wurfl.sourceforge.net.
 29+
 30+ You are not authorized to create a derivative work of or otherwise modify
 31+ this WURFL file, and you are further not authorized to use, copy, display,
 32+ or distribute, in each case, any derivative work of this WURFL file,
 33+ whether created by you or someone else.
 34+
 35+ Organizations that intend to use this file or the data contained in it commercially
 36+ or under different licensing terms should contact ScientiaMobile
 37+ (http://www.scientiamobile.com) to learn about licensing options for WURFL.
 38+
 39+ This file is distributed WITHOUT ANY WARRANTY; without even the implied
 40+ warranty of MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE or NON-INFRINGEMENT.
 41+ Use of the WURFL file is permitted only under express acceptance of the
 42+ terms above. Therefore, by downloading, copying or otherwise making use of
 43+ the file you accept to be bound by said terms.
 44+
 45+ Please post any suggested modifications for future releases and/or comments
 46+ to the file on the WMLProgramming mailing list on Yahoo Groups:
6547
66 - <!-- Opera -->
67 - <device user_agent="Opera" fall_back="generic_web_browser" id="opera">
68 - <group id="product_info">
69 - <capability name="brand_name" value="opera" />
70 - </group>
71 - </device>
 48+ http://tech.groups.yahoo.com/group/wmlprogramming/
7249
73 - <device user_agent="Opera/7" fall_back="opera" id="opera_7">
74 - <group id="product_info">
75 - <capability name="model_name" value="7" />
76 - </group>
77 - </device>
78 - <device user_agent="Opera 7" fall_back="opera_7" id="opera_7_identify_as" />
 50+ Alternatively, you can email your suggested modifications and comments
 51+ to the ScientiaMobile team at:
7952
80 - <device user_agent="Opera/8" fall_back="opera" id="opera_8">
81 - <group id="product_info">
82 - <capability name="model_name" value="8" />
83 - </group>
84 - </device>
85 - <device user_agent="Opera 8" fall_back="opera_8" id="opera_8_identify_as" />
 53+ wurfldb@scientiamobile.com.
8654
 55+ ScientiaMobile reserves the right to include third-party contributions with
 56+ or without modifications at its sole discretion.
8757
88 - <device user_agent="Opera/9" fall_back="opera" id="opera_9">
89 - <group id="product_info">
90 - <capability name="model_name" value="9" />
91 - </group>
92 - </device>
93 - <device user_agent="Opera 9" fall_back="opera_9" id="opera_9_identify_as" />
 58+ Thank you
9459
95 - <device user_agent="Opera/10" fall_back="opera" id="opera_10">
96 - <group id="product_info">
97 - <capability name="model_name" value="10" />
98 - </group>
99 - </device>
100 - <device user_agent="Opera/9.8" fall_back="opera_10" id="opera_10_2_digit_fix" />
101 - <device user_agent="Opera 10" fall_back="opera_10" id="opera_10_identify_as" />
 60+ Luca Passani, CTO, ScientiaMobile, Inc.
 61+]]></statement>
 62+ </version>
10263
103 - <!-- Safari -->
104 - <device user_agent="Safari/" fall_back="generic_web_browser"
105 - id="safari">
106 - <group id="product_info">
107 - <capability name="brand_name" value="safari" />
108 - </group>
109 - </device>
110 - <device user_agent="Safari/525" fall_back="safari" id="safari_525">
111 - <group id="product_info">
112 - <capability name="model_name" value="525" />
113 - </group>
114 - </device>
115 - <device user_agent="Safari/530" fall_back="safari" id="safari_530">
116 - <group id="product_info">
117 - <capability name="model_name" value="530" />
118 - </group>
119 - </device>
 64+ <devices>
12065
121 - <device user_agent="Mozilla/5.0 (Macintosh; U; Safari/525" fall_back="safari_525" id="safari_525_mac_osx" />
122 - <device user_agent="Mozilla/5.0 (Windows; U; Safari/525" fall_back="safari_525" id="safari_525_win" />
123 - <device user_agent="Mozilla/5.0 (Macintosh; U; Safari/530" fall_back="safari_530" id="safari_530_mac_osx" />
124 - <device user_agent="Mozilla/5.0 (Windows; U; Safari/530" fall_back="safari_530" id="safari_530_win" />
 66+ <!-- Overriding generic will make all your undetected UA strings be considered as web browsers -->
 67+ <device id="generic" user_agent="" fall_back="root">
 68+ <group id="product_info">
 69+ <capability name="brand_name" value="generic web browser"/>
 70+ <capability name="model_name" value=""/>
 71+ <capability name="pointing_method" value="mouse"/>
 72+ <capability name="is_wireless_device" value="false"/>
 73+ </group>
 74+ </device>
12575
126 - <!-- Internet Explorer -->
127 - <device user_agent="Mozilla/4.0 (compatible; MSIE" fall_back="generic_web_browser"
128 - id="msie">
129 - <group id="product_info">
130 - <capability name="brand_name" value="internet explorer" />
131 - </group>
132 - </device>
133 - <device user_agent="Mozilla/4.0 (compatible; MSIE 4.0;"
134 - fall_back="msie" id="msie_4">
135 - <group id="product_info">
136 - <capability name="model_name" value="4.0" />
137 - </group>
138 - </device>
 76+ <!-- Web browsers -->
 77+ <device user_agent="DO_NOT_MATCH_GENERIC_WEB_BROWSER" fall_back="generic" id="generic_web_browser">
 78+ <group id="product_info">
 79+ <capability name="brand_name" value="generic web browser"/>
 80+ <capability name="model_name" value=""/>
 81+ <capability name="pointing_method" value="mouse"/>
 82+ <capability name="is_wireless_device" value="false"/>
 83+ </group>
 84+ <group id="display">
 85+ <capability name="resolution_width" value="800"/>
 86+ <capability name="resolution_height" value="600"/>
 87+ </group>
 88+ <group id="markup">
 89+ <capability name="xhtml_support_level" value="4"/>
 90+ <capability name="preferred_markup" value="html_web_4_0"/>
 91+ </group>
 92+ <group id="ajax">
 93+ <capability name="ajax_support_javascript" value="true"/>
 94+ </group>
 95+ </device>
13996
140 - <device user_agent="Mozilla/4.0 (compatible; MSIE 5.0;"
141 - fall_back="msie" id="msie_5">
142 - <group id="product_info">
143 - <capability name="model_name" value="5.0" />
144 - </group>
145 - </device>
 97+ <device id="mozilla_ver5" user_agent="Mozilla/5.0" fall_back="generic_web_browser"/>
14698
147 - <device user_agent="Mozilla/4.0 (compatible; MSIE 5.5;"
148 - fall_back="msie" id="msie_5_5">
149 - <group id="product_info">
150 - <capability name="model_name" value="5.5" />
151 - </group>
152 - </device>
 99+ <!-- Firefox -->
 100+ <device user_agent="Firefox" fall_back="generic_web_browser" id="firefox">
 101+ <group id="product_info">
 102+ <capability name="brand_name" value="firefox"/>
 103+ </group>
 104+ </device>
153105
154 - <device user_agent="Mozilla/4.0 (compatible; MSIE 6.0;"
155 - fall_back="msie" id="msie_6">
156 - <group id="product_info">
157 - <capability name="model_name" value="6.0" />
158 - </group>
159 - </device>
160 - <device user_agent="Mozilla/4.0 (compatible; MSIE 7.0;"
161 - fall_back="msie" id="msie_7">
162 - <group id="product_info">
163 - <capability name="model_name" value="7.0" />
164 - </group>
165 - </device>
166 - <device user_agent="Mozilla/4.0 (compatible; MSIE 8.0;"
167 - fall_back="msie" id="msie_8">
168 - <group id="product_info">
169 - <capability name="model_name" value="8.0" />
170 - </group>
171 - </device>
 106+ <device user_agent="Firefox/1.0" fall_back="firefox" id="firefox_1">
 107+ <group id="product_info">
 108+ <capability name="model_name" value="1.0"/>
 109+ </group>
 110+ </device>
 111+ <device user_agent="Firefox/1.5" fall_back="firefox" id="firefox_1_5">
 112+ <group id="product_info">
 113+ <capability name="model_name" value="1.5"/>
 114+ </group>
 115+ </device>
 116+ <device user_agent="Firefox/2.0" fall_back="firefox" id="firefox_2">
 117+ <group id="product_info">
 118+ <capability name="model_name" value="2.0"/>
 119+ </group>
 120+ </device>
 121+ <device user_agent="Firefox/3.0" fall_back="firefox" id="firefox_3">
 122+ <group id="product_info">
 123+ <capability name="model_name" value="3.0"/>
 124+ </group>
 125+ </device>
 126+ <device user_agent="Firefox/3.5" fall_back="firefox" id="firefox_3_5">
 127+ <group id="product_info">
 128+ <capability name="model_name" value="3.5"/>
 129+ </group>
 130+ </device>
 131+ <device user_agent="Firefox/4.0" fall_back="firefox" id="firefox_4_0">
 132+ <group id="product_info">
 133+ <capability name="model_name" value="4.0"/>
 134+ </group>
 135+ </device>
 136+ <device user_agent="Firefox/5.0" fall_back="firefox" id="firefox_5_0">
 137+ <group id="product_info">
 138+ <capability name="model_name" value="5.0"/>
 139+ </group>
 140+ </device>
 141+ <device user_agent="Firefox/6.0" fall_back="firefox" id="firefox_6_0">
 142+ <group id="product_info">
 143+ <capability name="model_name" value="6.0"/>
 144+ </group>
 145+ </device>
 146+ <device user_agent="Firefox/7.0" fall_back="firefox" id="firefox_7_0">
 147+ <group id="product_info">
 148+ <capability name="model_name" value="7.0"/>
 149+ </group>
 150+ </device>
172151
173152
174 - <!-- Google Chrome -->
175 - <device user_agent="Chrome" fall_back="generic_web_browser"
176 - id="google_chrome">
177 - <group id="product_info">
178 - <capability name="brand_name" value="chrome" />
179 - </group>
180 - </device>
 153+ <!-- Opera -->
 154+ <device user_agent="Opera" fall_back="generic_web_browser" id="opera">
 155+ <group id="product_info">
 156+ <capability name="brand_name" value="opera"/>
 157+ </group>
 158+ </device>
181159
182 - <device user_agent="Chrome/0" fall_back="google_chrome" id="google_chrome_0">
183 - <group id="product_info">
184 - <capability name="model_name" value="0" />
185 - </group>
186 - </device>
 160+ <device user_agent="Opera/7" fall_back="opera" id="opera_7">
 161+ <group id="product_info">
 162+ <capability name="model_name" value="7"/>
 163+ </group>
 164+ </device>
 165+ <device user_agent="Opera 7" fall_back="opera_7" id="opera_7_identify_as"/>
187166
188 - <device user_agent="Chrome/1" fall_back="google_chrome" id="google_chrome_1">
189 - <group id="product_info">
190 - <capability name="model_name" value="1.0" />
191 - </group>
192 - </device>
 167+ <device user_agent="Opera/8" fall_back="opera" id="opera_8">
 168+ <group id="product_info">
 169+ <capability name="model_name" value="8"/>
 170+ </group>
 171+ </device>
 172+ <device user_agent="Opera 8" fall_back="opera_8" id="opera_8_identify_as"/>
193173
194 - <device user_agent="Chrome/2" fall_back="google_chrome" id="google_chrome_2">
195 - <group id="product_info">
196 - <capability name="model_name" value="2.0" />
197 - </group>
198 - </device>
199174
 175+ <device user_agent="Opera/9" fall_back="opera" id="opera_9">
 176+ <group id="product_info">
 177+ <capability name="model_name" value="9"/>
 178+ </group>
 179+ </device>
 180+ <device user_agent="Opera 9" fall_back="opera_9" id="opera_9_identify_as"/>
200181
201 - <!-- Konqueror -->
202 - <device user_agent="Konqueror" fall_back="generic_web_browser"
203 - id="konqueror">
204 - <group id="product_info">
205 - <capability name="brand_name" value="konqueror" />
206 - </group>
207 - </device>
 182+ <device user_agent="Opera/10" fall_back="opera" id="opera_10">
 183+ <group id="product_info">
 184+ <capability name="model_name" value="10"/>
 185+ </group>
 186+ </device>
 187+ <device user_agent="Opera/9.8" fall_back="opera_10" id="opera_10_2_digit_fix"/>
 188+ <device user_agent="Opera 10" fall_back="opera_10" id="opera_10_identify_as"/>
208189
209 - <device user_agent="Konqueror/2" fall_back="konqueror" id="konqueror_2">
210 - <group id="product_info">
211 - <capability name="model_name" value="2" />
212 - </group>
213 - </device>
 190+ <!-- Safari -->
 191+ <device user_agent="Safari/" fall_back="generic_web_browser"
 192+ id="safari">
 193+ <group id="product_info">
 194+ <capability name="brand_name" value="safari"/>
 195+ </group>
 196+ </device>
 197+ <device user_agent="Safari/525" fall_back="safari" id="safari_525">
 198+ <group id="product_info">
 199+ <capability name="model_name" value="525"/>
 200+ </group>
 201+ </device>
 202+ <device user_agent="Safari/530" fall_back="safari" id="safari_530">
 203+ <group id="product_info">
 204+ <capability name="model_name" value="530"/>
 205+ </group>
 206+ </device>
214207
215 - <device user_agent="Konqueror/3" fall_back="konqueror" id="konqueror_3">
216 - <group id="product_info">
217 - <capability name="model_name" value="3" />
218 - </group>
219 - </device>
 208+ <device user_agent="Mozilla/5.0 (Macintosh; U; Safari/525" fall_back="safari_525" id="safari_525_mac_osx"/>
 209+ <device user_agent="Mozilla/5.0 (Windows; U; Safari/525" fall_back="safari_525" id="safari_525_win"/>
 210+ <device user_agent="Mozilla/5.0 (Macintosh; U; Safari/530" fall_back="safari_530" id="safari_530_mac_osx"/>
 211+ <device user_agent="Mozilla/5.0 (Windows; U; Safari/530" fall_back="safari_530" id="safari_530_win"/>
220212
221 - <device user_agent="Konqueror/4" fall_back="konqueror" id="konqueror_4">
222 - <group id="product_info">
223 - <capability name="model_name" value="4" />
224 - </group>
225 - </device>
226 - </devices>
227 -</wurfl_patch>
\ No newline at end of file
 213+ <!-- Internet Explorer -->
 214+ <device user_agent="Mozilla/4.0 (compatible; MSIE" fall_back="generic_web_browser"
 215+ id="msie">
 216+ <group id="product_info">
 217+ <capability name="brand_name" value="internet explorer"/>
 218+ </group>
 219+ </device>
 220+ <device user_agent="Mozilla/4.0 (compatible; MSIE 4.0;"
 221+ fall_back="msie" id="msie_4">
 222+ <group id="product_info">
 223+ <capability name="model_name" value="4.0"/>
 224+ </group>
 225+ </device>
 226+
 227+ <device user_agent="Mozilla/4.0 (compatible; MSIE 5.0;"
 228+ fall_back="msie" id="msie_5">
 229+ <group id="product_info">
 230+ <capability name="model_name" value="5.0"/>
 231+ </group>
 232+ </device>
 233+
 234+ <device user_agent="Mozilla/4.0 (compatible; MSIE 5.5;"
 235+ fall_back="msie" id="msie_5_5">
 236+ <group id="product_info">
 237+ <capability name="model_name" value="5.5"/>
 238+ </group>
 239+ </device>
 240+
 241+ <device user_agent="Mozilla/4.0 (compatible; MSIE 6.0;"
 242+ fall_back="msie" id="msie_6">
 243+ <group id="product_info">
 244+ <capability name="model_name" value="6.0"/>
 245+ </group>
 246+ </device>
 247+ <device user_agent="Mozilla/4.0 (compatible; MSIE 7.0;"
 248+ fall_back="msie" id="msie_7">
 249+ <group id="product_info">
 250+ <capability name="model_name" value="7.0"/>
 251+ </group>
 252+ </device>
 253+ <device user_agent="Mozilla/4.0 (compatible; MSIE 8.0;"
 254+ fall_back="msie" id="msie_8">
 255+ <group id="product_info">
 256+ <capability name="model_name" value="8.0"/>
 257+ </group>
 258+ </device>
 259+ <device user_agent="Mozilla/5.0 (compatible; MSIE 9.0;"
 260+ fall_back="msie" id="msie_9">
 261+ <group id="product_info">
 262+ <capability name="model_name" value="9.0"/>
 263+ </group>
 264+ </device>
 265+
 266+
 267+ <!-- Google Chrome -->
 268+ <device user_agent="Chrome" fall_back="generic_web_browser"
 269+ id="google_chrome">
 270+ <group id="product_info">
 271+ <capability name="brand_name" value="chrome"/>
 272+ </group>
 273+ </device>
 274+
 275+ <device user_agent="Chrome/0" fall_back="google_chrome" id="google_chrome_0">
 276+ <group id="product_info">
 277+ <capability name="model_name" value="0"/>
 278+ </group>
 279+ </device>
 280+
 281+ <device user_agent="Chrome/1" fall_back="google_chrome" id="google_chrome_1">
 282+ <group id="product_info">
 283+ <capability name="model_name" value="1.0"/>
 284+ </group>
 285+ </device>
 286+
 287+ <device user_agent="Chrome/2" fall_back="google_chrome" id="google_chrome_2">
 288+ <group id="product_info">
 289+ <capability name="model_name" value="2.0"/>
 290+ </group>
 291+ </device>
 292+ <device user_agent="Chrome/3" fall_back="google_chrome" id="google_chrome_3">
 293+ <group id="product_info">
 294+ <capability name="model_name" value="3.0"/>
 295+ </group>
 296+ </device>
 297+ <device user_agent="Chrome/4" fall_back="google_chrome" id="google_chrome_4">
 298+ <group id="product_info">
 299+ <capability name="model_name" value="4.0"/>
 300+ </group>
 301+ </device>
 302+ <device user_agent="Chrome/5" fall_back="google_chrome" id="google_chrome_5">
 303+ <group id="product_info">
 304+ <capability name="model_name" value="5.0"/>
 305+ </group>
 306+ </device>
 307+ <device user_agent="Chrome/6" fall_back="google_chrome" id="google_chrome_6">
 308+ <group id="product_info">
 309+ <capability name="model_name" value="6.0"/>
 310+ </group>
 311+ </device>
 312+ <device user_agent="Chrome/7" fall_back="google_chrome" id="google_chrome_7">
 313+ <group id="product_info">
 314+ <capability name="model_name" value="7.0"/>
 315+ </group>
 316+ </device>
 317+ <device user_agent="Chrome/8" fall_back="google_chrome" id="google_chrome_8">
 318+ <group id="product_info">
 319+ <capability name="model_name" value="8.0"/>
 320+ </group>
 321+ </device>
 322+ <device user_agent="Chrome/9" fall_back="google_chrome" id="google_chrome_9">
 323+ <group id="product_info">
 324+ <capability name="model_name" value="9.0"/>
 325+ </group>
 326+ </device>
 327+ <device user_agent="Chrome/10" fall_back="google_chrome" id="google_chrome_10">
 328+ <group id="product_info">
 329+ <capability name="model_name" value="10.0"/>
 330+ </group>
 331+ </device>
 332+ <device user_agent="Chrome/11" fall_back="google_chrome" id="google_chrome_11">
 333+ <group id="product_info">
 334+ <capability name="model_name" value="11.0"/>
 335+ </group>
 336+ </device>
 337+ <device user_agent="Chrome/12" fall_back="google_chrome" id="google_chrome_12">
 338+ <group id="product_info">
 339+ <capability name="model_name" value="12.0"/>
 340+ </group>
 341+ </device>
 342+ <device user_agent="Chrome/13" fall_back="google_chrome" id="google_chrome_13">
 343+ <group id="product_info">
 344+ <capability name="model_name" value="13.0"/>
 345+ </group>
 346+ </device>
 347+ <device user_agent="Chrome/14" fall_back="google_chrome" id="google_chrome_14">
 348+ <group id="product_info">
 349+ <capability name="model_name" value="14.0"/>
 350+ </group>
 351+ </device>
 352+ <device user_agent="Chrome/15" fall_back="google_chrome" id="google_chrome_15">
 353+ <group id="product_info">
 354+ <capability name="model_name" value="15.0"/>
 355+ </group>
 356+ </device>
 357+ <device user_agent="Chrome/16" fall_back="google_chrome" id="google_chrome_16">
 358+ <group id="product_info">
 359+ <capability name="model_name" value="16.0"/>
 360+ </group>
 361+ </device>
 362+ <device user_agent="Chrome/17" fall_back="google_chrome" id="google_chrome_17">
 363+ <group id="product_info">
 364+ <capability name="model_name" value="17.0"/>
 365+ </group>
 366+ </device>
 367+ <device user_agent="Chrome/18" fall_back="google_chrome" id="google_chrome_18">
 368+ <group id="product_info">
 369+ <capability name="model_name" value="18.0"/>
 370+ </group>
 371+ </device>
 372+ <device user_agent="Chrome/19" fall_back="google_chrome" id="google_chrome_19">
 373+ <group id="product_info">
 374+ <capability name="model_name" value="19.0"/>
 375+ </group>
 376+ </device>
 377+ <device user_agent="Chrome/20" fall_back="google_chrome" id="google_chrome_20">
 378+ <group id="product_info">
 379+ <capability name="model_name" value="20.0"/>
 380+ </group>
 381+ </device>
 382+
 383+ <!-- Konqueror -->
 384+ <device user_agent="Konqueror" fall_back="generic_web_browser"
 385+ id="konqueror">
 386+ <group id="product_info">
 387+ <capability name="brand_name" value="konqueror"/>
 388+ </group>
 389+ </device>
 390+
 391+ <device user_agent="Konqueror/2" fall_back="konqueror" id="konqueror_2">
 392+ <group id="product_info">
 393+ <capability name="model_name" value="2"/>
 394+ </group>
 395+ </device>
 396+
 397+ <device user_agent="Konqueror/3" fall_back="konqueror" id="konqueror_3">
 398+ <group id="product_info">
 399+ <capability name="model_name" value="3"/>
 400+ </group>
 401+ </device>
 402+
 403+ <device user_agent="Konqueror/4" fall_back="konqueror" id="konqueror_4">
 404+ <group id="product_info">
 405+ <capability name="model_name" value="4"/>
 406+ </group>
 407+ </device>
 408+ </devices>
 409+</wurfl_patch>
Index: branches/wmf/1.18wmf1/extensions/MobileFrontend/library/resources/wurfl-config.xml
@@ -1,7 +1,7 @@
22 <?xml version="1.0" encoding="UTF-8"?>
33 <wurfl-config>
44 <wurfl>
5 - <main-file>wurfl-2.1.1.zip</main-file>
 5+ <main-file>wurfl-2.3.xml.zip</main-file>
66 <patches>
77 <patch>web_browsers_patch.xml</patch>
88 </patches>
Index: branches/wmf/1.18wmf1/extensions/MobileFrontend/javascripts/application.min.js
@@ -1 +0,0 @@
2 -var search=document.getElementById('search');var clearSearch=document.getElementById('clearsearch');initClearSearchLink();function initClearSearchLink(){clearSearch.setAttribute('title','Clear');clearSearch.addEventListener('mousedown',clearSearchBox,true);search.addEventListener('keyup',_handleClearSearchLink,false)}function _handleClearSearchLink(){if(clearSearch){if(search.value.length>0){clearSearch.style.display='block'}else{clearSearch.style.display='none'}}}function clearSearchBox(a){search.value='';clearSearch.style.display='none';if(a){a.preventDefault()}}document.getElementById('logo').onclick=function(){var n=document.getElementById('nav').style;n.display=n.display=='block'?'none':'block'};for(var h=document.getElementsByTagName('h2'),i=0;i<h.length;i++){if(h[i].className=='section_heading'){h[i].onclick=function(){var a=parseInt(this.id.replace(/section_(\d+)/,'$1'));wm_toggle_section(a)}}};for(var a=document.getElementsByTagName('a'),i=0;i<a.length;i++){a[i].onclick=function(){if(this.hash.indexOf('#')==0){wm_reveal_for_hash(this.hash)}}};if(document.location.hash.indexOf('#')==0){wm_reveal_for_hash(document.location.hash)}updateOrientation();window.scrollTo(0,1);function updateOrientation(){switch(window.orientation){case 0:document.body.setAttribute('class','portrait');break;case 90:case-90:document.body.setAttribute('class','landscape')}}window.onorientationchange=updateOrientation;function wm_reveal_for_hash(a){var b=document.getElementById(a.substr(1));if(b){for(var p=b.parentNode;p&&p.className!='content_block'&&p.className!='section_heading';){p=p.parentNode}if(p&&p.style.display!='block'){var c=parseInt(p.id.split('_')[1]);wm_toggle_section(c)}}}function wm_toggle_section(a){var b=document.getElementById('section_'+a),bb=b.getElementsByTagName('button');for(var i=0;i<=1;i++){var s=bb[i].style;s.display=s.display=='none'||(i&&!s.display)?'inline-block':'none'}for(var i=0,d=['content_','anchor_'];i<=1;i++){var s=document.getElementById(d[i]+a).style;s.display=s.display=='block'?'none':'block'}}
\ No newline at end of file
Index: branches/wmf/1.18wmf1/extensions/MobileFrontend/javascripts/jquery.js
@@ -1,18 +0,0 @@
2 -/*!
3 - * jQuery JavaScript Library v1.6.2
4 - * http://jquery.com/
5 - *
6 - * Copyright 2011, John Resig
7 - * Dual licensed under the MIT or GPL Version 2 licenses.
8 - * http://jquery.org/license
9 - *
10 - * Includes Sizzle.js
11 - * http://sizzlejs.com/
12 - * Copyright 2011, The Dojo Foundation
13 - * Released under the MIT, BSD, and GPL Licenses.
14 - *
15 - * Date: Thu Jun 30 14:16:56 2011 -0400
16 - */
17 -(function(a,b){function cv(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cs(a){if(!cg[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ch||(ch=c.createElement("iframe"),ch.frameBorder=ch.width=ch.height=0),b.appendChild(ch);if(!ci||!ch.createElement)ci=(ch.contentWindow||ch.contentDocument).document,ci.write((c.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>"),ci.close();d=ci.createElement(a),ci.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ch)}cg[a]=e}return cg[a]}function cr(a,b){var c={};f.each(cm.concat.apply([],cm.slice(0,b)),function(){c[this]=a});return c}function cq(){cn=b}function cp(){setTimeout(cq,0);return cn=f.now()}function cf(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ce(){try{return new a.XMLHttpRequest}catch(b){}}function b$(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function bZ(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function bY(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bC.test(a)?d(a,e):bY(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)});else if(!c&&b!=null&&typeof b=="object")for(var e in b)bY(a+"["+e+"]",b[e],c,d);else d(a,b)}function bX(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bR,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=bX(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=bX(a,c,d,e,"*",g));return l}function bW(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bN),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bA(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?bv:bw;if(d>0){c!=="border"&&f.each(e,function(){c||(d-=parseFloat(f.css(a,"padding"+this))||0),c==="margin"?d+=parseFloat(f.css(a,c+this))||0:d-=parseFloat(f.css(a,"border"+this+"Width"))||0});return d+"px"}d=bx(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0,c&&f.each(e,function(){d+=parseFloat(f.css(a,"padding"+this))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+this+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+this))||0)});return d+"px"}function bm(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(be,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bl(a){f.nodeName(a,"input")?bk(a):"getElementsByTagName"in a&&f.grep(a.getElementsByTagName("input"),bk)}function bk(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bj(a){return"getElementsByTagName"in a?a.getElementsByTagName("*"):"querySelectorAll"in a?a.querySelectorAll("*"):[]}function bi(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bh(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c=f.expando,d=f.data(a),e=f.data(b,d);if(d=d[c]){var g=d.events;e=e[c]=f.extend({},d);if(g){delete e.handle,e.events={};for(var h in g)for(var i=0,j=g[h].length;i<j;i++)f.event.add(b,h+(g[h][i].namespace?".":"")+g[h][i].namespace,g[h][i],g[h][i].data)}}}}function bg(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function W(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(R.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function V(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function N(a,b){return(a&&a!=="*"?a+".":"")+b.replace(z,"`").replace(A,"&")}function M(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;i<s.length;i++)g=s[i],g.origType.replace(x,"")===a.type?q.push(g.selector):s.splice(i--,1);e=f(a.target).closest(q,a.currentTarget);for(j=0,k=e.length;j<k;j++){m=e[j];for(i=0;i<s.length;i++){g=s[i];if(m.selector===g.selector&&(!n||n.test(g.namespace))&&!m.elem.disabled){h=m.elem,d=null;if(g.preType==="mouseenter"||g.preType==="mouseleave")a.type=g.preType,d=f(a.relatedTarget).closest(g.selector)[0],d&&f.contains(h,d)&&(d=h);(!d||d!==h)&&p.push({elem:h,handleObj:g,level:m.level})}}}for(j=0,k=p.length;j<k;j++){e=p[j];if(c&&e.level>c)break;a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function K(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function E(){return!0}function D(){return!1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function k(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(j,"$1-$2").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d:parseFloat(d)}catch(g){}f.data(a,c,d)}else d=b}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function J(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=/-([a-z])/ig,x=function(a,b){return b.toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6.2",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;A.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!A){A=e._Deferred();if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a);return c===b||D.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(b,c,d){a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),d=c.documentElement,(!d||!d.nodeName||d.nodeName==="parsererror")&&e.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:G?function(a){return a==null?"":G.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?E.call(c,a):e.merge(c,a)}return c},inArray:function(a,b){if(H)return H.call(b,a);for(var c=0,d=b.length;c<d;c++)if(b[c]===a)return c;return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=F.call(arguments,2),g=function(){return a.apply(c,f.concat(F.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h){var i=a.length;if(typeof c=="object"){for(var j in c)e.access(a,j,c[j],f,g,d);return a}if(d!==b){f=!h&&f&&e.isFunction(d);for(var k=0;k<i;k++)g(a[k],c,f?d.call(a[k],k,g(a[k],c)):d,h);return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=s.exec(a)||t.exec(a)||u.exec(a)||a.indexOf("compatible")<0&&v.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){I["[object "+b+"]"]=b.toLowerCase()}),z=e.uaMatch(y),z.browser&&(e.browser[z.browser]=!0,e.browser.version=z.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?B=function(){c.removeEventListener("DOMContentLoaded",B,!1),e.ready()}:c.attachEvent&&(B=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",B),e.ready())});return e}(),g="done fail isResolved isRejected promise then always pipe".split(" "),h=[].slice;f.extend({_Deferred:function(){var a=[],b,c,d,e={done:function(){if(!d){var c=arguments,g,h,i,j,k;b&&(k=b,b=0);for(g=0,h=c.length;g<h;g++)i=c[g],j=f.type(i),j==="array"?e.done.apply(e,i):j==="function"&&a.push(i);k&&e.resolveWith(k[0],k[1])}return this},resolveWith:function(e,f){if(!d&&!b&&!c){f=f||[],c=1;try{while(a[0])a.shift().apply(e,f)}finally{b=[e,f],c=0}}return this},resolve:function(){e.resolveWith(this,arguments);return this},isResolved:function(){return!!c||!!b},cancel:function(){d=1,a=[];return this}};return e},Deferred:function(a){var b=f._Deferred(),c=f._Deferred(),d;f.extend(b,{then:function(a,c){b.done(a).fail(c);return this},always:function(){return b.done.apply(b,arguments).fail.apply(this,arguments)},fail:c.done,rejectWith:c.resolveWith,reject:c.resolve,isRejected:c.isResolved,pipe:function(a,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[c,"reject"]},function(a,c){var e=c[0],g=c[1],h;f.isFunction(e)?b[a](function(){h=e.apply(this,arguments),h&&f.isFunction(h.promise)?h.promise().then(d.resolve,d.reject):d[g](h)}):b[a](d[g])})}).promise()},promise:function(a){if(a==null){if(d)return d;d=a={}}var c=g.length;while(c--)a[g[c]]=b[g[c]];return a}}),b.done(c.cancel).fail(b.cancel),delete b.cancel,a&&a.call(b,b);return b},when:function(a){function i(a){return function(c){b[a]=arguments.length>1?h.call(arguments,0):c,--e||g.resolveWith(g,h.call(b,0))}}var b=arguments,c=0,d=b.length,e=d,g=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred();if(d>1){for(;c<d;c++)b[c]&&f.isFunction(b[c].promise)?b[c].promise().then(i(c),g.reject):--e;e||g.resolveWith(g,b)}else g!==a&&g.resolveWith(g,d?[a]:[]);return g.promise()}}),f.support=function(){var a=c.createElement("div"),b=c.documentElement,d,e,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;a.setAttribute("className","t"),a.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=a.getElementsByTagName("input")[0],k={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55$/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:a.className!=="t",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,k.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,k.optDisabled=!h.disabled;try{delete a.test}catch(v){k.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function(){k.noCloneEvent=!1}),a.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),k.radioValue=i.value==="t",i.setAttribute("checked","checked"),a.appendChild(i),l=c.createDocumentFragment(),l.appendChild(a.firstChild),k.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",m=c.getElementsByTagName("body")[0],o=c.createElement(m?"div":"body"),p={visibility:"hidden",width:0,height:0,border:0,margin:0},m&&f.extend(p,{position:"absolute",left:-1e3,top:-1e3});for(t in p)o.style[t]=p[t];o.appendChild(a),n=m||b,n.insertBefore(o,n.firstChild),k.appendChecked=i.checked,k.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,k.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="<div style='width:4px;'></div>",k.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>",q=a.getElementsByTagName("td"),u=q[0].offsetHeight===0,q[0].style.display="",q[1].style.display="none",k.reliableHiddenOffsets=u&&q[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",a.appendChild(j),k.reliableMarginRight=(parseInt((c.defaultView.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0),o.innerHTML="",n.removeChild(o);if(a.attachEvent)for(t in{submit:1,change:1,focusin:1})s="on"+t,u=s in a,u||(a.setAttribute(s,"return;"),u=typeof a[s]=="function"),k[t+"Bubbles"]=u;o=l=g=h=m=j=a=i=null;return k}(),f.boxModel=f.support.boxModel;var i=/^(?:\{.*\}|\[.*\])$/,j=/([a-z])([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!l(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g=f.expando,h=typeof c=="string",i,j=a.nodeType,k=j?f.cache:a,l=j?a[f.expando]:a[f.expando]&&f.expando;if((!l||e&&l&&!k[l][g])&&h&&d===b)return;l||(j?a[f.expando]=l=++f.uuid:l=f.expando),k[l]||(k[l]={},j||(k[l].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?k[l][g]=f.extend(k[l][g],c):k[l]=f.extend(k[l],c);i=k[l],e&&(i[g]||(i[g]={}),i=i[g]),d!==b&&(i[f.camelCase(c)]=d);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[f.camelCase(c)]||i[c]:i}},removeData:function(b,c,d){if(!!f.acceptData(b)){var e=f.expando,g=b.nodeType,h=g?f.cache:b,i=g?b[f.expando]:f.expando;if(!h[i])return;if(c){var j=d?h[i][e]:h[i];if(j){delete j[c];if(!l(j))return}}if(d){delete h[i][e];if(!l(h[i]))return}var k=h[i][e];f.support.deleteExpando||h!=a?delete h[i]:h[i]=null,k?(h[i]={},g||(h[i].toJSON=f.noop),h[i][e]=k):g&&(f.support.deleteExpando?delete b[f.expando]:b.removeAttribute?b.removeAttribute(f.expando):b[f.expando]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d=null;if(typeof a=="undefined"){if(this.length){d=f.data(this[0]);if(this[0].nodeType===1){var e=this[0].attributes,g;for(var h=0,i=e.length;h<i;h++)g=e[h].name,g.indexOf("data-")===0&&(g=f.camelCase(g.substring(5)),k(this[0],g,d[g]))}}return d}if(typeof a=="object")return this.each(function(){f.data(this,a)});var j=a.split(".");j[1]=j[1]?"."+j[1]:"";if(c===b){d=this.triggerHandler("getData"+j[1]+"!",[j[0]]),d===b&&this.length&&(d=f.data(this[0],a),d=k(this[0],a,d));return d===b&&j[1]?this.data(j[0]):d}return this.each(function(){var b=f(this),d=[j[0],c];b.triggerHandler("setData"+j[1]+"!",d),f.data(this,a,c),b.triggerHandler("changeData"+j[1]+"!",d)})},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,c){a&&(c=(c||"fx")+"mark",f.data(a,c,(f.data(a,c,b,!0)||0)+1,!0))},_unmark:function(a,c,d){a!==!0&&(d=c,c=a,a=!1);if(c){d=d||"fx";var e=d+"mark",g=a?0:(f.data(c,e,b,!0)||1)-1;g?f.data(c,e,g,!0):(f.removeData(c,e,!0),m(c,d,"mark"))}},queue:function(a,c,d){if(a){c=(c||"fx")+"queue";var e=f.data(a,c,b,!0);d&&(!e||f.isArray(d)?e=f.data(a,c,f.makeArray(d),!0):e.push(d));return e||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e;d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),d.call(a,function(){f.dequeue(a,b)})),c.length||(f.removeData(a,b+"queue",!0),m(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){typeof a!="string"&&(c=a,a="fx");if(c===b)return f.queue(this[0],a);return this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(){var c=this;setTimeout(function(){f.dequeue(c,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f._Deferred(),!0))h++,l.done(m);m();return d.promise()}});var n=/[\n\t\r]/g,o=/\s+/,p=/\r/g,q=/^(?:button|input)$/i,r=/^(?:button|input|object|select|textarea)$/i,s=/^a(?:rea)?$/i,t=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,u=/\:|^on/,v,w;f.fn.extend({attr:function(a,b){return f.access(this,a,b,!0,f.attr)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,a,b,!0,f.prop)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(o);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{g=" "+e.className+" ";for(h=0,i=b.length;h<i;h++)~g.indexOf(" "+b[h]+" ")||(g+=b[h]+" ");e.className=f.trim(g)}}}return this},removeClass:function(a){var c,d,e,g,h,i,j;if(f.isFunction(a))return this.each(function(b){f(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(o);for(d=0,e=this.length;d<e;d++){g=this[d];if(g.nodeType===1&&g.className)if(a){h=(" "+g.className+" ").replace(n," ");for(i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.each(function(c){f(this).toggleClass(a.call(this,c,this.className,b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(o);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ";for(var c=0,d=this.length;c<d;c++)if((" "+this[c].className+" ").replace(n," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e=this[0];if(!arguments.length){if(e){c=f.valHooks[e.nodeName.toLowerCase()]||f.valHooks[e.type];if(c&&"get"in c&&(d=c.get(e,"value"))!==b)return d;d=e.value;return typeof d=="string"?d.replace(p,""):d==null?"":d}return b}var g=f.isFunction(a);return this.each(function(d){var e=f(this),h;if(this.nodeType===1){g?h=a.call(this,d,e.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c=a.selectedIndex,d=[],e=a.options,g=a.type==="select-one";if(c<0)return null;for(var h=g?c:0,i=g?c+1:e.length;h<i;h++){var j=e[h];if(j.selected&&(f.support.optDisabled?!j.disabled:j.getAttribute("disabled")===null)&&(!j.parentNode.disabled||!f.nodeName(j.parentNode,"optgroup"))){b=f(j).val();if(g)return b;d.push(b)}}if(g&&!d.length&&e.length)return f(e[c]).val();return d},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attrFix:{tabindex:"tabIndex"},attr:function(a,c,d,e){var g=a.nodeType;if(!a||g===3||g===8||g===2)return b;if(e&&c in f.attrFn)return f(a)[c](d);if(!("getAttribute"in a))return f.prop(a,c,d);var h,i,j=g!==1||!f.isXMLDoc(a);j&&(c=f.attrFix[c]||c,i=f.attrHooks[c],i||(t.test(c)?i=w:v&&c!=="className"&&(f.nodeName(a,"form")||u.test(c))&&(i=v)));if(d!==b){if(d===null){f.removeAttr(a,c);return b}if(i&&"set"in i&&j&&(h=i.set(a,d,c))!==b)return h;a.setAttribute(c,""+d);return d}if(i&&"get"in i&&j&&(h=i.get(a,c))!==null)return h;h=a.getAttribute(c);return h===null?b:h},removeAttr:function(a,b){var c;a.nodeType===1&&(b=f.attrFix[b]||b,f.support.getSetAttribute?a.removeAttribute(b):(f.attr(a,b,""),a.removeAttributeNode(a.getAttributeNode(b))),t.test(b)&&(c=f.propFix[b]||b)in a&&(a[c]=!1))},attrHooks:{type:{set:function(a,b){if(q.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},tabIndex:{get:function(a){var c=a.getAttributeNode("tabIndex");return c&&c.specified?parseInt(c.value,10):r.test(a.nodeName)||s.test(a.nodeName)&&a.href?0:b}},value:{get:function(a,b){if(v&&f.nodeName(a,"button"))return v.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(v&&f.nodeName(a,"button"))return v.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e=a.nodeType;if(!a||e===3||e===8||e===2)return b;var g,h,i=e!==1||!f.isXMLDoc(a);i&&(c=f.propFix[c]||c,h=f.propHooks[c]);return d!==b?h&&"set"in h&&(g=h.set(a,d,c))!==b?g:a[c]=d:h&&"get"in h&&(g=h.get(a,c))!==b?g:a[c]},propHooks:{}}),w={get:function(a,c){return f.prop(a,c)?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},f.support.getSetAttribute||(f.attrFix=f.propFix,v=f.attrHooks.name=f.attrHooks.title=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&d.nodeValue!==""?d.nodeValue:b},set:function(a,b,c){var d=a.getAttributeNode(c);if(d){d.nodeValue=b;return b}}},f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})})),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}})),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var x=/\.(.*)$/,y=/^(?:textarea|input|select)$/i,z=/\./g,A=/ /g,B=/[^\w\s.|`]/g,C=function(a){return a.replace(B,"\\$&")};f.event={add:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){if(d===!1)d=D;else if(!d)return;var g,h;d.handler&&(g=d,d=g.handler),d.guid||(d.guid=f.guid++);var i=f._data(a);if(!i)return;var j=i.events,k=i.handle;j||(i.events=j={}),k||(i.handle=k=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.handle.apply(k.elem,arguments):b}),k.elem=a,c=c.split(" ");var l,m=0,n;while(l=c[m++]){h=g?f.extend({},g):{handler:d,data:e},l.indexOf(".")>-1?(n=l.split("."),l=n.shift(),h.namespace=n.slice(0).sort().join(".")):(n=[],h.namespace=""),h.type=l,h.guid||(h.guid=d.guid);var o=j[l],p=f.event.special[l]||{};if(!o){o=j[l]=[];if(!p.setup||p.setup.call(a,e,n,k)===!1)a.addEventListener?a.addEventListener(l,k,!1):a.attachEvent&&a.attachEvent("on"+l,k)}p.add&&(p.add.call(a,h),h.handler.guid||(h.handler.guid=d.guid)),o.push(h),f.event.global[l]=!0}a=null}},global:{},remove:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){d===!1&&(d=D);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=f.hasData(a)&&f._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(d=c.handler,c=c.type);if(!c||typeof c=="string"&&c.charAt(0)==="."){c=c||"";for(h in t)f.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+f.map(m.slice(0).sort(),C).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!d){for(j=0;j<p.length;j++){q=p[j];if(l||n.test(q.namespace))f.event.remove(a,r,q.handler,j),p.splice(j--,1)}continue}o=f.event.special[h]||{};for(j=e||0;j<p.length;j++){q=p[j];if(d.guid===q.guid){if(l||n.test(q.namespace))e==null&&p.splice(j--,1),o.remove&&o.remove.call(a,q);if(e!=null)break}}if(p.length===0||e!=null&&p.length===1)(!o.teardown||o.teardown.call(a,m)===!1)&&f.removeEvent(a,h,s.handle),g=null,delete t[h]}if(f.isEmptyObject(t)){var u=s.handle;u&&(u.elem=null),delete s.events,delete s.handle,f.isEmptyObject(s)&&f.removeData(a,b,!0)}}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){var h=c.type||c,i=[],j;h.indexOf("!")>=0&&(h=h.slice(0,-1),j=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.
18 -shift(),i.sort());if(!!e&&!f.event.customEvent[h]||!!f.event.global[h]){c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.exclusive=j,c.namespace=i.join("."),c.namespace_re=new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)");if(g||!e)c.preventDefault(),c.stopPropagation();if(!e){f.each(f.cache,function(){var a=f.expando,b=this[a];b&&b.events&&b.events[h]&&f.event.trigger(c,d,b.handle.elem)});return}if(e.nodeType===3||e.nodeType===8)return;c.result=b,c.target=e,d=d!=null?f.makeArray(d):[],d.unshift(c);var k=e,l=h.indexOf(":")<0?"on"+h:"";do{var m=f._data(k,"handle");c.currentTarget=k,m&&m.apply(k,d),l&&f.acceptData(k)&&k[l]&&k[l].apply(k,d)===!1&&(c.result=!1,c.preventDefault()),k=k.parentNode||k.ownerDocument||k===c.target.ownerDocument&&a}while(k&&!c.isPropagationStopped());if(!c.isDefaultPrevented()){var n,o=f.event.special[h]||{};if((!o._default||o._default.call(e.ownerDocument,c)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)){try{l&&e[h]&&(n=e[l],n&&(e[l]=null),f.event.triggered=h,e[h]())}catch(p){}n&&(e[l]=n),f.event.triggered=b}}return c.result}},handle:function(c){c=f.event.fix(c||a.event);var d=((f._data(this,"events")||{})[c.type]||[]).slice(0),e=!c.exclusive&&!c.namespace,g=Array.prototype.slice.call(arguments,0);g[0]=c,c.currentTarget=this;for(var h=0,i=d.length;h<i;h++){var j=d[h];if(e||c.namespace_re.test(j.namespace)){c.handler=j.handler,c.data=j.data,c.handleObj=j;var k=j.handler.apply(this,g);k!==b&&(c.result=k,k===!1&&(c.preventDefault(),c.stopPropagation()));if(c.isImmediatePropagationStopped())break}}return c.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(a){if(a[f.expando])return a;var d=a;a=f.Event(d);for(var e=this.props.length,g;e;)g=this.props[--e],a[g]=d[g];a.target||(a.target=a.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),!a.relatedTarget&&a.fromElement&&(a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement);if(a.pageX==null&&a.clientX!=null){var h=a.target.ownerDocument||c,i=h.documentElement,j=h.body;a.pageX=a.clientX+(i&&i.scrollLeft||j&&j.scrollLeft||0)-(i&&i.clientLeft||j&&j.clientLeft||0),a.pageY=a.clientY+(i&&i.scrollTop||j&&j.scrollTop||0)-(i&&i.clientTop||j&&j.clientTop||0)}a.which==null&&(a.charCode!=null||a.keyCode!=null)&&(a.which=a.charCode!=null?a.charCode:a.keyCode),!a.metaKey&&a.ctrlKey&&(a.metaKey=a.ctrlKey),!a.which&&a.button!==b&&(a.which=a.button&1?1:a.button&2?3:a.button&4?2:0);return a},guid:1e8,proxy:f.proxy,special:{ready:{setup:f.bindReady,teardown:f.noop},live:{add:function(a){f.event.add(this,N(a.origType,a.selector),f.extend({},a,{handler:M,guid:a.handler.guid}))},remove:function(a){f.event.remove(this,N(a.origType,a.selector),a)}},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}}},f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!this.preventDefault)return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?E:D):this.type=a,b&&f.extend(this,b),this.timeStamp=f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=E;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=E;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=E,this.stopPropagation()},isDefaultPrevented:D,isPropagationStopped:D,isImmediatePropagationStopped:D};var F=function(a){var b=a.relatedTarget,c=!1,d=a.type;a.type=a.data,b!==this&&(b&&(c=f.contains(this,b)),c||(f.event.handle.apply(this,arguments),a.type=d))},G=function(a){a.type=a.data,f.event.handle.apply(this,arguments)};f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={setup:function(c){f.event.add(this,b,c&&c.selector?G:F,a)},teardown:function(a){f.event.remove(this,b,a&&a.selector?G:F)}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(a,b){if(!f.nodeName(this,"form"))f.event.add(this,"click.specialSubmit",function(a){var b=a.target,c=b.type;(c==="submit"||c==="image")&&f(b).closest("form").length&&K("submit",this,arguments)}),f.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,c=b.type;(c==="text"||c==="password")&&f(b).closest("form").length&&a.keyCode===13&&K("submit",this,arguments)});else return!1},teardown:function(a){f.event.remove(this,".specialSubmit")}});if(!f.support.changeBubbles){var H,I=function(a){var b=a.type,c=a.value;b==="radio"||b==="checkbox"?c=a.checked:b==="select-multiple"?c=a.selectedIndex>-1?f.map(a.options,function(a){return a.selected}).join("-"):"":f.nodeName(a,"select")&&(c=a.selectedIndex);return c},J=function(c){var d=c.target,e,g;if(!!y.test(d.nodeName)&&!d.readOnly){e=f._data(d,"_change_data"),g=I(d),(c.type!=="focusout"||d.type!=="radio")&&f._data(d,"_change_data",g);if(e===b||g===e)return;if(e!=null||g)c.type="change",c.liveFired=b,f.event.trigger(c,arguments[1],d)}};f.event.special.change={filters:{focusout:J,beforedeactivate:J,click:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(c==="radio"||c==="checkbox"||f.nodeName(b,"select"))&&J.call(this,a)},keydown:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(a.keyCode===13&&!f.nodeName(b,"textarea")||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&J.call(this,a)},beforeactivate:function(a){var b=a.target;f._data(b,"_change_data",I(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in H)f.event.add(this,c+".specialChange",H[c]);return y.test(this.nodeName)},teardown:function(a){f.event.remove(this,".specialChange");return y.test(this.nodeName)}},H=f.event.special.change.filters,H.focus=H.beforeactivate}f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){function e(a){var c=f.event.fix(a);c.type=b,c.originalEvent={},f.event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var d=0;f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.each(["bind","one"],function(a,c){f.fn[c]=function(a,d,e){var g;if(typeof a=="object"){for(var h in a)this[c](h,d,a[h],e);return this}if(arguments.length===2||d===!1)e=d,d=b;c==="one"?(g=function(a){f(this).unbind(a,g);return e.apply(this,arguments)},g.guid=e.guid||f.guid++):g=e;if(a==="unload"&&c!=="one")this.one(a,d,e);else for(var i=0,j=this.length;i<j;i++)f.event.add(this[i],a,g,d);return this}}),f.fn.extend({unbind:function(a,b){if(typeof a=="object"&&!a.preventDefault)for(var c in a)this.unbind(c,a[c]);else for(var d=0,e=this.length;d<e;d++)f.event.remove(this[d],a,b);return this},delegate:function(a,b,c,d){return this.live(b,c,d,a)},undelegate:function(a,b,c){return arguments.length===0?this.unbind("live"):this.die(b,null,c,a)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f.data(this,"lastToggle"+a.guid)||0)%d;f.data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var L={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};f.each(["live","die"],function(a,c){f.fn[c]=function(a,d,e,g){var h,i=0,j,k,l,m=g||this.selector,n=g?this:f(this.context);if(typeof a=="object"&&!a.preventDefault){for(var o in a)n[c](o,d,a[o],m);return this}if(c==="die"&&!a&&g&&g.charAt(0)==="."){n.unbind(g);return this}if(d===!1||f.isFunction(d))e=d||D,d=b;a=(a||"").split(" ");while((h=a[i++])!=null){j=x.exec(h),k="",j&&(k=j[0],h=h.replace(x,""));if(h==="hover"){a.push("mouseenter"+k,"mouseleave"+k);continue}l=h,L[h]?(a.push(L[h]+k),h=h+k):h=(L[h]||h)+k;if(c==="live")for(var p=0,q=n.length;p<q;p++)f.event.add(n[p],"live."+N(h,m),{data:d,selector:m,handler:e,origType:h,origHandler:e,preType:l});else n.unbind("live."+N(h,m),e)}return this}}),f.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}if(i.nodeType===1){f||(i.sizcache=c,i.sizset=g);if(typeof b!="string"){if(i===b){j=!0;break}}else if(k.filter(b,[i]).length>0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}i.nodeType===1&&!f&&(i.sizcache=c,i.sizset=g);if(i.nodeName.toLowerCase()===b){j=i;break}i=i[a]}d[g]=j}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d=0,e=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,f,g){f=f||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return f;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(e.call(n)==="[object Array]")if(!u)f.push.apply(f,n);else if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&f.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&f.push(j[t]);else p(n,f);o&&(k(o,h,f,g),k.uniqueSort(f));return f};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},k.matches=function(a,b){return k(a,null,null,b)},k.matchesSelector=function(a,b){return k(b,null,null,[a]).length>0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e<f;e++){var g,h=l.order[e];if(g=l.leftMatch[h].exec(a)){var j=g[1];g.splice(1,1);if(j.substr(j.length-1)!=="\\"){g[1]=(g[1]||"").replace(i,""),d=l.find[h](g,b,c);if(d!=null){a=a.replace(l.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},k.filter=function(a,c,d,e){var f,g,h=a,i=[],j=c,m=c&&c[0]&&k.isXML(c[0]);while(a&&c.length){for(var n in l.filter)if((f=l.leftMatch[n].exec(a))!=null&&f[2]){var o,p,q=l.filter[n],r=f[1];g=!1,f.splice(1,1);if(r.substr(r.length-1)==="\\")continue;j===i&&(i=[]);if(l.preFilter[n]){f=l.preFilter[n](f,j,d,i,e,m);if(!f)g=o=!0;else if(f===!0)continue}if(f)for(var s=0;(p=j[s])!=null;s++)if(p){o=q(p,f,s,j);var t=e^!!o;d&&o!=null?t?g=!0:j[s]=!1:t&&(i.push(p),g=!0)}if(o!==b){d||(j=i),a=a.replace(l.match[n],"");if(!g)return[];break}}if(a===h)if(g==null)k.error(a);else break;h=a}return j},k.error=function(a){throw"Syntax error, unrecognized expression: "+a};var l=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!j.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&k.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&k.filter(b,a,!0)}},"":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("parentNode",b,f,a,e,c)},"~":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("previousSibling",b,f,a,e,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(i,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=d++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}k.error(e)},CHILD:function(a,b){var c=b[1],d=a;switch(c){case"only":case"first":while(d=d.previousSibling)if(d.nodeType===1)return!1;if(c==="first")return!0;d=a;case"last":while(d=d.nextSibling)if(d.nodeType===1)return!1;return!0;case"nth":var e=b[2],f=b[3];if(e===1&&f===0)return!0;var g=b[0],h=a.parentNode;if(h&&(h.sizcache!==g||!a.nodeIndex)){var i=0;for(d=h.firstChild;d;d=d.nextSibling)d.nodeType===1&&(d.nodeIndex=++i);h.sizcache=g}var j=a.nodeIndex-f;return e===0?j===0:j%e===0&&j/e>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(e.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var f=a.length;c<f;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var r,s;c.documentElement.compareDocumentPosition?r=function(a,b){if(a===b){g=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(r=function(a,b){if(a===b){g=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],h=a.parentNode,i=b.parentNode,j=h;if(h===i)return s(a,b);if(!h)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return s(e[k],f[k]);return k===c?s(a,f[k],-1):s(e[k],b,1)},s=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),k.getText=function(a){var b="",c;for(var d=0;a[d];d++)c=a[d],c.nodeType===3||c.nodeType===4?b+=c.nodeValue:c.nodeType!==8&&(b+=k.getText(c.childNodes));return b},function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(e||!l.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return k(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g<h;g++)k(a,f[g],d);return k.filter(e,d)};f.find=k,f.expr=k.selectors,f.expr[":"]=f.expr.filters,f.unique=k.uniqueSort,f.text=k.getText,f.isXMLDoc=k.isXML,f.contains=k.contains}();var O=/Until$/,P=/^(?:parents|prevUntil|prevAll)/,Q=/,/,R=/^.[^:#\[\.,]*$/,S=Array.prototype.slice,T=f.expr.match.POS,U={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(W(this,a,!1),"not",a)},filter:function(a){return this.pushStack(W(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(d=0,e=a.length;d<e;d++)i=a[d],j[i]||(j[i]=T.test(i)?f(i,b||this.context):i);while(g&&g.ownerDocument&&g!==b){for(i in j)h=j[i],(h.jquery?h.index(g)>-1:f(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=T.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(l?l.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a||typeof a=="string")return f.inArray(this[0],a?f(a):this.parent().children());return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(V(c[0])||V(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c),g=S.call(arguments);O.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!U[a]?f.unique(e):e,(this.length>1||Q.test(d))&&P.test(a)&&(e=e.reverse());return this.pushStack(e,a,g.join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var X=/ jQuery\d+="(?:\d+|null)"/g,Y=/^\s+/,Z=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,$=/<([\w:]+)/,_=/<tbody/i,ba=/<|&#?\w+;/,bb=/<(?:script|object|embed|option|style)/i,bc=/checked\s*(?:[^=]|=\s*.checked.)/i,bd=/\/(java|ecma)script/i,be=/^\s*<!(?:\[CDATA\[|\-\-)/,bf={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};bf.optgroup=bf.option,bf.tbody=bf.tfoot=bf.colgroup=bf.caption=bf.thead,bf.th=bf.td,f.support.htmlSerialize||(bf._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){f(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(X,""):null;if(typeof a=="string"&&!bb.test(a)&&(f.support.leadingWhitespace||!Y.test(a))&&!bf[($.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Z,"<$1></$2>");try{for(var c=0,d=this.length;c<d;c++)this[c].nodeType===1&&(f.cleanData(this[c].getElementsByTagName("*")),this[c].innerHTML=a)}catch(e){this.empty().append(a)}}else f.isFunction(a)?this.each(function(b){var c=f(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a))return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))});typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bc.test(j))return this.each(function(){f(this).domManip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bg(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,bm)}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i;b&&b[0]&&(i=b[0].ownerDocument||b[0]),i.createDocumentFragment||(i=c),a.length===1&&typeof a[0]=="string"&&a[0].length<512&&i===c&&a[0].charAt(0)==="<"&&!bb.test(a[0])&&(f.support.checkClone||!bc.test(a[0]))&&(g=!0,h=f.fragments[a[0]],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[a[0]]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j
19 -)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d=a.cloneNode(!0),e,g,h;if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bi(a,d),e=bj(a),g=bj(d);for(h=0;e[h];++h)bi(e[h],g[h])}if(b){bh(a,d);if(c){e=bj(a),g=bj(d);for(h=0;e[h];++h)bh(e[h],g[h])}}e=g=null;return d},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!ba.test(k))k=b.createTextNode(k);else{k=k.replace(Z,"<$1></$2>");var l=($.exec(k)||["",""])[1].toLowerCase(),m=bf[l]||bf._default,n=m[0],o=b.createElement("div");o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=_.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]==="<table>"&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&Y.test(k)&&o.insertBefore(b.createTextNode(Y.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i<r;i++)bl(k[i]);else bl(k);k.nodeType?h.push(k):h=f.merge(h,k)}if(d){g=function(a){return!a.type||bd.test(a.type)};for(j=0;h[j];j++)if(e&&f.nodeName(h[j],"script")&&(!h[j].type||h[j].type.toLowerCase()==="text/javascript"))e.push(h[j].parentNode?h[j].parentNode.removeChild(h[j]):h[j]);else{if(h[j].nodeType===1){var s=f.grep(h[j].getElementsByTagName("script"),g);h.splice.apply(h,[j+1,0].concat(s))}d.appendChild(h[j])}}return h},cleanData:function(a){var b,c,d=f.cache,e=f.expando,g=f.event.special,h=f.support.deleteExpando;for(var i=0,j;(j=a[i])!=null;i++){if(j.nodeName&&f.noData[j.nodeName.toLowerCase()])continue;c=j[f.expando];if(c){b=d[c]&&d[c][e];if(b&&b.events){for(var k in b.events)g[k]?f.event.remove(j,k):f.removeEvent(j,k,b.handle);b.handle&&(b.handle.elem=null)}h?delete j[f.expando]:j.removeAttribute&&j.removeAttribute(f.expando),delete d[c]}}}});var bn=/alpha\([^)]*\)/i,bo=/opacity=([^)]*)/,bp=/([A-Z]|^ms)/g,bq=/^-?\d+(?:px)?$/i,br=/^-?\d/,bs=/^[+\-]=/,bt=/[^+\-\.\de]+/g,bu={position:"absolute",visibility:"hidden",display:"block"},bv=["Left","Right"],bw=["Top","Bottom"],bx,by,bz;f.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return f.access(this,a,c,!0,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)})},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bx(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d;if(h==="number"&&isNaN(d)||d==null)return;h==="string"&&bs.test(d)&&(d=+d.replace(bt,"")+parseFloat(f.css(a,c)),h="number"),h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(bx)return bx(a,c)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]}}),f.curCSS=f.css,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){var e;if(c){if(a.offsetWidth!==0)return bA(a,b,d);f.swap(a,bu,function(){e=bA(a,b,d)});return e}},set:function(a,b){if(!bq.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bo.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle;c.zoom=1;var e=f.isNaN(b)?"":"alpha(opacity="+b*100+")",g=d&&d.filter||c.filter||"";c.filter=bn.test(g)?g.replace(bn,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bx(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(by=function(a,c){var d,e,g;c=c.replace(bp,"-$1").toLowerCase();if(!(e=a.ownerDocument.defaultView))return b;if(g=e.getComputedStyle(a,null))d=g.getPropertyValue(c),d===""&&!f.contains(a.ownerDocument.documentElement,a)&&(d=f.style(a,c));return d}),c.documentElement.currentStyle&&(bz=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bq.test(d)&&br.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bx=by||bz,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bB=/%20/g,bC=/\[\]$/,bD=/\r?\n/g,bE=/#.*$/,bF=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bG=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bH=/^(?:about|app|app\-storage|.+\-extension|file|widget):$/,bI=/^(?:GET|HEAD)$/,bJ=/^\/\//,bK=/\?/,bL=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bM=/^(?:select|textarea)/i,bN=/\s+/,bO=/([?&])_=[^&]*/,bP=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bQ=f.fn.load,bR={},bS={},bT,bU;try{bT=e.href}catch(bV){bT=c.createElement("a"),bT.href="",bT=bT.href}bU=bP.exec(bT.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bQ)return bQ.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("<div>").append(c.replace(bL,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bM.test(this.nodeName)||bG.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bD,"\r\n")}}):{name:b.name,value:c.replace(bD,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.bind(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?f.extend(!0,a,f.ajaxSettings,b):(b=a,a=f.extend(!0,f.ajaxSettings,b));for(var c in{context:1,url:1})c in b?a[c]=b[c]:c in f.ajaxSettings&&(a[c]=f.ajaxSettings[c]);return a},ajaxSettings:{url:bT,isLocal:bH.test(bU[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML}},ajaxPrefilter:bW(bR),ajaxTransport:bW(bS),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a?4:0;var o,r,u,w=l?bZ(d,v,l):b,x,y;if(a>=200&&a<300||a===304){if(d.ifModified){if(x=v.getResponseHeader("Last-Modified"))f.lastModified[k]=x;if(y=v.getResponseHeader("Etag"))f.etag[k]=y}if(a===304)c="notmodified",o=!0;else try{r=b$(d,w),c="success",o=!0}catch(z){c="parsererror",u=z}}else{u=c;if(!c||a)c="error",a<0&&(a=0)}v.status=a,v.statusText=c,o?h.resolveWith(e,[r,c,v]):h.rejectWith(e,[v,c,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.resolveWith(e,[v,c]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f._Deferred(),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bF.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.done,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bE,"").replace(bJ,bU[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bN),d.crossDomain==null&&(r=bP.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bU[1]&&r[2]==bU[2]&&(r[3]||(r[1]==="http:"?80:443))==(bU[3]||(bU[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bX(bR,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bI.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bK.test(d.url)?"&":"?")+d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bO,"$1_="+x);d.url=y+(y===d.url?(bK.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", */*; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bX(bS,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){status<2?w(-1,z):f.error(z)}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)bY(g,a[g],c,e);return d.join("&").replace(bB,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var b_=f.now(),ca=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+b_++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ca.test(b.url)||e&&ca.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ca,l),b.url===j&&(e&&(k=k.replace(ca,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cb=a.ActiveXObject?function(){for(var a in cd)cd[a](0,1)}:!1,cc=0,cd;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ce()||cf()}:ce,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cb&&delete cd[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cc,cb&&(cd||(cd={},f(a).unload(cb)),cd[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cg={},ch,ci,cj=/^(?:toggle|show|hide)$/,ck=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cl,cm=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cn,co=a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cr("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)d=this[g],d.style&&(e=d.style.display,!f._data(d,"olddisplay")&&e==="none"&&(e=d.style.display=""),e===""&&f.css(d,"display")==="none"&&f._data(d,"olddisplay",cs(d.nodeName)));for(g=0;g<h;g++){d=this[g];if(d.style){e=d.style.display;if(e===""||e==="none")d.style.display=f._data(d,"olddisplay")||""}}return this},hide:function(a,b,c){if(a||a===0)return this.animate(cr("hide",3),a,b,c);for(var d=0,e=this.length;d<e;d++)if(this[d].style){var g=f.css(this[d],"display");g!=="none"&&!f._data(this[d],"olddisplay")&&f._data(this[d],"olddisplay",g)}for(d=0;d<e;d++)this[d].style&&(this[d].style.display="none");return this},_toggle:f.fn.toggle,toggle:function(a,b,c){var d=typeof a=="boolean";f.isFunction(a)&&f.isFunction(b)?this._toggle.apply(this,arguments):a==null||d?this.each(function(){var b=d?a:f(this).is(":hidden");f(this)[b?"show":"hide"]()}):this.animate(cr("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=f.speed(b,c,d);if(f.isEmptyObject(a))return this.each(e.complete,[!1]);a=f.extend({},a);return this[e.queue===!1?"each":"queue"](function(){e.queue===!1&&f._mark(this);var b=f.extend({},e),c=this.nodeType===1,d=c&&f(this).is(":hidden"),g,h,i,j,k,l,m,n,o;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]),h=a[g],f.isArray(h)?(b.animatedProperties[g]=h[1],h=a[g]=h[0]):b.animatedProperties[g]=b.specialEasing&&b.specialEasing[g]||b.easing||"swing";if(h==="hide"&&d||h==="show"&&!d)return b.complete.call(this);c&&(g==="height"||g==="width")&&(b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY],f.css(this,"display")==="inline"&&f.css(this,"float")==="none"&&(f.support.inlineBlockNeedsLayout?(j=cs(this.nodeName),j==="inline"?this.style.display="inline-block":(this.style.display="inline",this.style.zoom=1)):this.style.display="inline-block"))}b.overflow!=null&&(this.style.overflow="hidden");for(i in a)k=new f.fx(this,b,i),h=a[i],cj.test(h)?k[h==="toggle"?d?"show":"hide":h]():(l=ck.exec(h),m=k.cur(),l?(n=parseFloat(l[2]),o=l[3]||(f.cssNumber[i]?"":"px"),o!=="px"&&(f.style(this,i,(n||1)+o),m=(n||1)/k.cur()*m,f.style(this,i,m+o)),l[1]&&(n=(l[1]==="-="?-1:1)*n+m),k.custom(m,n,o)):k.custom(m,h,""));return!0})},stop:function(a,b){a&&this.queue([]),this.each(function(){var a=f.timers,c=a.length;b||f._unmark(!0,this);while(c--)a[c].elem===this&&(b&&a[c](!0),a.splice(c,1))}),b||this.dequeue();return this}}),f.each({slideDown:cr("show",1),slideUp:cr("hide",1),slideToggle:cr("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){f.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),f.extend({speed:function(a,b,c){var d=a&&typeof a=="object"?f.extend({},a):{complete:c||!c&&b||f.isFunction(a)&&a,duration:a,easing:c&&b||b&&!f.isFunction(b)&&b};d.duration=f.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in f.fx.speeds?f.fx.speeds[d.duration]:f.fx.speeds._default,d.old=d.complete,d.complete=function(a){f.isFunction(d.old)&&d.old.call(this),d.queue!==!1?f.dequeue(this):a!==!1&&f._unmark(this)};return d},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig=b.orig||{}}}),f.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(f.fx.step[this.prop]||f.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=f.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,b,c){function h(a){return d.step(a)}var d=this,e=f.fx,g;this.startTime=cn||cp(),this.start=a,this.end=b,this.unit=c||this.unit||(f.cssNumber[this.prop]?"":"px"),this.now=this.start,this.pos=this.state=0,h.elem=this.elem,h()&&f.timers.push(h)&&!cl&&(co?(cl=!0,g=function(){cl&&(co(g),e.tick())},co(g)):cl=setInterval(e.tick,e.interval))},show:function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.show=!0,this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),f(this.elem).show()},hide:function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b=cn||cp(),c=!0,d=this.elem,e=this.options,g,h;if(a||b>=e.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),e.animatedProperties[this.prop]=!0;for(g in e.animatedProperties)e.animatedProperties[g]!==!0&&(c=!1);if(c){e.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){d.style["overflow"+b]=e.overflow[a]}),e.hide&&f(d).hide();if(e.hide||e.show)for(var i in e.animatedProperties)f.style(d,i,e.orig[i]);e.complete.call(d)}return!1}e.duration==Infinity?this.now=b:(h=b-this.startTime,this.state=h/e.duration,this.pos=f.easing[e.animatedProperties[this.prop]](this.state,h,0,1,e.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){for(var a=f.timers,b=0;b<a.length;++b)a[b]()||a.splice(b--,1);a.length||f.fx.stop()},interval:13,stop:function(){clearInterval(cl),cl=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit:a.elem[a.prop]=a.now}}}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var ct=/^t(?:able|d|h)$/i,cu=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?f.fn.offset=function(a){var b=this[0],c;if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);try{c=b.getBoundingClientRect()}catch(d){}var e=b.ownerDocument,g=e.documentElement;if(!c||!f.contains(g,b))return c?{top:c.top,left:c.left}:{top:0,left:0};var h=e.body,i=cv(e),j=g.clientTop||h.clientTop||0,k=g.clientLeft||h.clientLeft||0,l=i.pageYOffset||f.support.boxModel&&g.scrollTop||h.scrollTop,m=i.pageXOffset||f.support.boxModel&&g.scrollLeft||h.scrollLeft,n=c.top+l-j,o=c.left+m-k;return{top:n,left:o}}:f.fn.offset=function(a){var b=this[0];if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);f.offset.initialize();var c,d=b.offsetParent,e=b,g=b.ownerDocument,h=g.documentElement,i=g.body,j=g.defaultView,k=j?j.getComputedStyle(b,null):b.currentStyle,l=b.offsetTop,m=b.offsetLeft;while((b=b.parentNode)&&b!==i&&b!==h){if(f.offset.supportsFixedPosition&&k.position==="fixed")break;c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===d&&(l+=b.offsetTop,m+=b.offsetLeft,f.offset.doesNotAddBorder&&(!f.offset.doesAddBorderForTableAndCells||!ct.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),e=d,d=b.offsetParent),f.offset.subtractsBorderForOverflowNotVisible&&c.overflow!=="visible"&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),k=c}if(k.position==="relative"||k.position==="static")l+=i.offsetTop,m+=i.offsetLeft;f.offset.supportsFixedPosition&&k.position==="fixed"&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft));return{top:l,left:m}},f.offset={initialize:function(){var a=c.body,b=c.createElement("div"),d,e,g,h,i=parseFloat(f.css(a,"marginTop"))||0,j="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";f.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),d=b.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,this.doesNotAddBorder=e.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,e.style.position="fixed",e.style.top="20px",this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),f.offset.initialize=f.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.offset.initialize(),f.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cu.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cu.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cv(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cv(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a&&a.style?parseFloat(f.css(a,d,"padding")):null},f.fn["outer"+c]=function(a){var b=this[0];return b&&b.style?parseFloat(f.css(b,d,a?"margin":"border")):null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c];return e.document.compatMode==="CSS1Compat"&&g||e.document.body["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var h=f.css(e,d),i=parseFloat(h);return f.isNaN(i)?h:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f})(window);
\ No newline at end of file
Index: branches/wmf/1.18wmf1/extensions/MobileFrontend/javascripts/opensearch.js
@@ -163,9 +163,6 @@
164164 var rel = i + 1;
165165 section.value = section.value.replace( /^(?:\/\/|[^\/]+)*\//, '/' );
166166 html = html + "<div class=\"suggestions-result\" rel=\"" + htmlEntities( rel ) + "\" title=\"" + htmlEntities( section.label ) + "\"><a class=\"sq-val-update\" href=\"javascript:sqValUpdate('" + htmlEntities( escapeJsString( section.label ) ) + "');\">+</a><a class=\"search-result-item\" href='" + htmlEntities( section.value ) + "'>" + htmlEntities( section.label ) + "</a></div>";
167 - if ( i < ( sections.length - 1 ) ) {
168 - html = html + '<hr />';
169 - }
170167 }
171168 html = html + '</div>';
172169 results.innerHTML = html;
Index: branches/wmf/1.18wmf1/extensions/MobileFrontend/javascripts/beta_application.js
@@ -0,0 +1,128 @@
 2+var search = document.getElementById( 'search' );
 3+var clearSearch = document.getElementById( 'clearsearch' );
 4+var results = document.getElementById( 'results' );
 5+var languageSelection = document.getElementById( 'languageselection' );
 6+
 7+initClearSearchLink();
 8+
 9+function initClearSearchLink() {
 10+ clearSearch.setAttribute( 'title','Clear' );
 11+ clearSearch.addEventListener( 'mousedown', clearSearchBox, true );
 12+ search.addEventListener( 'keyup', handleClearSearchLink, false );
 13+}
 14+
 15+function navigateToLanguageSelection() {
 16+ var url;
 17+ if ( languageSelection ) {
 18+ url = languageSelection.options[languageSelection.selectedIndex].value;
 19+ if ( url ) {
 20+ location.href = url;
 21+ }
 22+ }
 23+}
 24+
 25+function handleClearSearchLink() {
 26+ if ( clearSearch ) {
 27+ if ( search.value.length > 0 ) {
 28+ clearSearch.style.display = 'block';
 29+ } else {
 30+ clearSearch.style.display = 'none';
 31+ // if ( results ) {
 32+ // results.style.display = 'none';
 33+ // }
 34+ // if ( typeof removeResults == 'function' ) {
 35+ // removeResults();
 36+ // if ( search ) {
 37+ // search.blur();
 38+ // }
 39+ // }
 40+ }
 41+ }
 42+}
 43+
 44+function clearSearchBox( event ) {
 45+ search.value = '';
 46+ clearSearch.style.display = 'none';
 47+ if ( results ) {
 48+ results.style.display = 'none';
 49+ }
 50+ if ( event ) {
 51+ event.preventDefault();
 52+ }
 53+}
 54+
 55+function logoClick() {
 56+ var n = document.getElementById( 'nav' ).style;
 57+ n.display = n.display == 'block' ? 'none' : 'block';
 58+ if (n.display == 'block') {
 59+ if ( languageSelection ) {
 60+ if ( languageSelection.offsetWidth > 175 ) {
 61+ var newWidth = languageSelection.offsetWidth + 30;
 62+ n.width = newWidth + 'px';
 63+ }
 64+ }
 65+ }
 66+};
 67+
 68+// And this...
 69+for ( var a = document.getElementsByTagName( 'a' ), i = 0; i < a.length; i++ ) {
 70+ a[i].onclick = function() {
 71+ if ( this.hash.indexOf( '#' ) == 0 ) {
 72+ wm_reveal_for_hash( this.hash );
 73+ }
 74+ }
 75+}
 76+
 77+if ( document.location.hash.indexOf( '#' ) == 0 ) {
 78+ wm_reveal_for_hash( document.location.hash );
 79+}
 80+
 81+updateOrientation();
 82+
 83+// Try to scroll and hide URL bar
 84+window.scrollTo( 0, 1 );
 85+
 86+/**
 87+ * updateOrientation checks the current orientation, sets the body's class
 88+ * attribute to portrait, landscapeLeft, or landscapeRight,
 89+ * and displays a descriptive message on "Handling iPhone or iPod touch Orientation Events".
 90+ */
 91+function updateOrientation() {
 92+ switch( window.orientation ) {
 93+ case 0:
 94+ document.body.setAttribute( 'class', 'portrait' );
 95+ break;
 96+ case 90:
 97+ case -90:
 98+ document.body.setAttribute( 'class', 'landscape' );
 99+ }
 100+}
 101+
 102+// Point to the updateOrientation function when iPhone switches between portrait and landscape modes.
 103+window.onorientationchange = updateOrientation;
 104+
 105+function wm_reveal_for_hash( hash ) {
 106+ var targetel = document.getElementById( hash.substr(1) );
 107+ if ( targetel ) {
 108+ for (var p = targetel.parentNode; p && p.className != 'content_block' && p.className != 'section_heading'; ) {
 109+ p = p.parentNode;
 110+ }
 111+ if ( p && p.style.display != 'block' ) {
 112+ var section_idx = parseInt( p.id.split( '_' )[1] );
 113+ wm_toggle_section( section_idx );
 114+ }
 115+ }
 116+}
 117+
 118+function wm_toggle_section( section_id ) {
 119+ var b = document.getElementById( 'section_' + section_id ),
 120+ bb = b.getElementsByTagName( 'button' );
 121+ for ( var i = 0; i <= 1; i++ ) {
 122+ var s = bb[i].style;
 123+ s.display = s.display == 'none' || ( i && !s.display ) ? 'inline-block' : 'none';
 124+ }
 125+ for ( var i = 0, d = ['content_','anchor_']; i<=1; i++ ) {
 126+ var s = document.getElementById( d[i] + section_id ).style;
 127+ s.display = s.display == 'block' ? 'none' : 'block';
 128+ }
 129+}
\ No newline at end of file
Index: branches/wmf/1.18wmf1/extensions/MobileFrontend/javascripts/beta_opensearch.js
@@ -0,0 +1,281 @@
 2+var apiUrl = '/api.php';
 3+
 4+if ( scriptPath ) {
 5+ apiUrl = scriptPath + apiUrl;
 6+}
 7+
 8+var timer = -1;
 9+var typingDelay = 500;
 10+var numResults = 15;
 11+var pixels = 'px';
 12+var term;
 13+
 14+var results = document.getElementById( 'results' );
 15+var search = document.getElementById( 'search' );
 16+var sq = document.getElementById( 'sq' );
 17+var sb = document.getElementById( 'searchbox' );
 18+var logo = document.getElementById( 'logo' );
 19+var goButton = document.getElementById( 'goButton' );
 20+var content = document.getElementById( 'content' );
 21+var footer = document.getElementById( 'footer' );
 22+
 23+function hideResults() {
 24+ results.style.display = 'none';
 25+}
 26+
 27+var focused = false;
 28+var ol = new Object();
 29+search.onfocus = function() {
 30+ if ( !focused ) {
 31+ ol.sqLeft = sq.offsetLeft;
 32+ ol.sqTop = sq.offsetTop;
 33+ sq.style.position = 'absolute';
 34+
 35+ sq.style.left = sb.offsetLeft + pixels;
 36+ sq.style.top = sb.offsetTop + pixels;
 37+ sq.style.height = sb.offsetHeight + pixels;
 38+ sq.style.width = sb.offsetWidth + pixels;
 39+
 40+ sq.className = 'animate';
 41+
 42+ sq.style.left = 0 + pixels;
 43+ sq.style.top = 0 + pixels;
 44+ sq.style.height = 40 + pixels;
 45+ sq.style.width = document.body.clientWidth + pixels;
 46+ search.style.position = 'absolute';
 47+ search.style.left = ( search.offsetLeft + 44 ) + pixels;
 48+ search.style.height = 34 + pixels;
 49+ search.style.width = ( document.body.clientWidth - 90 ) + pixels;
 50+ search.style.fontSize = 16 + pixels;
 51+ results.style.left = 0 + pixels;
 52+ results.style.top = ( sq.offsetTop + sq.offsetHeight ) + pixels;
 53+ results.style.width = document.body.clientWidth + pixels;
 54+ results.style.minHeight = '100%';
 55+ content.style.display = 'none';
 56+ footer.style.display = 'none';
 57+ results.style.borderTop = 'solid 1px #A6A6A6';
 58+ results.style.backgroundColor = '#E6E6E6';
 59+ results.style.paddingTop = 5 + pixels;
 60+ results.style.display = 'block';
 61+ sb.style.border = 0 + pixels;
 62+ logo.style.visibility = 'hidden';
 63+ goButton.style.visibility = 'hidden';
 64+ var removeResults = document.getElementById( 'remove-results' );
 65+ if ( !removeResults ) {
 66+ rrd = document.createElement( 'a' );
 67+ rrd.setAttribute( 'href', '#' );
 68+ rrd.setAttribute( 'id', 'remove-results' );
 69+ rrd.setAttribute( 'onclick', 'removeResults();' );
 70+ rrdD = document.createElement( 'div' );
 71+ rrdD.setAttribute( 'id', 'left-arrow' );
 72+ rrd.appendChild( rrdD );
 73+ sq.insertBefore( rrd, sq.firstChild );
 74+ } else {
 75+ removeResults.style.display = 'block';
 76+ }
 77+ focused = true;
 78+ }
 79+}
 80+
 81+function removeResults() {
 82+ if ( content ) {
 83+ content.style.display = 'block';
 84+ }
 85+ if ( footer ) {
 86+ footer.style.display = 'block';
 87+ }
 88+ if ( ol ) {
 89+ if ( sq ) {
 90+ logo.style.visibility = 'visible';
 91+ goButton.style.visibility = 'visible';
 92+ //var reg = new RegExp('(\\s|^)animate(\\s|$)');
 93+ //sq.className = sq.className.replace(reg, '');
 94+ sq.className = 'divclearable';
 95+ sq.style.position = 'static';
 96+ sq.style.left = ol.sqLeft + pixels;
 97+ sq.style.top = ol.sqTop + pixels;
 98+ sq.style.height = 'auto';
 99+ }
 100+ if ( search ) {
 101+ search.style.left = ( search.offsetLeft - 44 ) + pixels;
 102+ search.style.position = 'static';
 103+ search.style.fontSize = 11 + pixels;
 104+ search.style.height = 'auto';
 105+ updateSearchWidth();
 106+ }
 107+ if ( sb ) {
 108+ sb.style.border = 'solid #CCC 1px';
 109+ var removeResults = document.getElementById( 'remove-results' );
 110+ if ( removeResults ) {
 111+ removeResults.style.display = 'none';
 112+ }
 113+ }
 114+ if ( focused ) {
 115+ focused = false;
 116+ }
 117+ if ( clearSearch ) {
 118+ clearSearch.style.display = 'none';
 119+ }
 120+ }
 121+}
 122+
 123+document.body.onmousedown = function( event ) {
 124+ whichElement(event);
 125+}
 126+results.onmousedown = function( event ) {
 127+ whichElement(event);
 128+}
 129+
 130+document.body.ontouchstart = function( event ) {
 131+ whichElement(event);
 132+}
 133+results.ontouchstart = function( event ) {
 134+ whichElement(event);
 135+}
 136+
 137+function whichElement( e ) {
 138+ var targ;
 139+ if ( !e ) {
 140+ var e = window.event;
 141+ }
 142+ if ( e.target ) {
 143+ targ = e.target;
 144+ } else if ( e.srcElement ) {
 145+ targ = e.srcElement;
 146+ }
 147+
 148+ if ( targ.nodeType == 3 ) {
 149+ targ = targ.parentNode;
 150+ }
 151+
 152+ e.cancelBubble = true;
 153+ e.stopPropagation();
 154+
 155+ if ( targ.className == "suggestion-result" ||
 156+ targ.className == "search-result-item" ||
 157+ targ.className == "suggestions-result" ||
 158+ targ.className == "sq-val-update" ||
 159+ targ.id == 'results' ||
 160+ targ.id == 'search' ||
 161+ targ.id == 'searchbox' ||
 162+ targ.id == 'sq' ||
 163+ targ.tagName == 'BODY' ) {
 164+ } else {
 165+ hideResults();
 166+ }
 167+}
 168+
 169+function updateSearchWidth() {
 170+ if ( sq && search && sb ) {
 171+ var iw = ( document.documentElement.clientWidth ) ? document.documentElement.clientWidth : document.body.clientWidth;
 172+ sb.style.width = ( iw - 30 ) + pixels;
 173+ sq.style.width = ( iw - 110 ) + pixels;
 174+ search.style.width = ( iw - 130 ) + pixels;
 175+ if ( results ) {
 176+ results.style.width = ( sq.offsetWidth - 2 ) + pixels;
 177+ results.style.left = sq.offsetLeft + pixels;
 178+ results.style.top = ( sq.offsetTop + sq.offsetHeight ) + pixels;
 179+ }
 180+ }
 181+}
 182+
 183+updateSearchWidth();
 184+
 185+function updateOrientationSearchWidth() {
 186+ switch( window.orientation ) {
 187+ case 0:
 188+ case -90:
 189+ case 90:
 190+ case 180:
 191+ setTimeout( "updateSearchWidth()", 200 );
 192+ break;
 193+ }
 194+}
 195+
 196+// Point to the updateOrientation function when iPhone switches between portrait and landscape modes.
 197+window.onorientationchange = updateOrientationSearchWidth;
 198+
 199+window.onload = function () {
 200+ search.addEventListener( 'keyup',
 201+ function() {
 202+ clearTimeout( timer );
 203+ term = this.value;
 204+ if ( term.length < 1 ) {
 205+ results.innerHTML = '';
 206+ } else {
 207+ term = encodeURIComponent( term );
 208+ timer = setTimeout( function () { searchApi( term ); }, typingDelay );
 209+ }
 210+ }, false );
 211+}
 212+
 213+function searchApi( term ) {
 214+ var xmlHttp;
 215+ if ( window.XMLHttpRequest ) {
 216+ xmlHttp = new XMLHttpRequest();
 217+ } else {
 218+ xmlHttp = new ActiveXObject( 'Microsoft.XMLHTTP' );
 219+ }
 220+ xmlHttp.overrideMimeType( 'text/xml' );
 221+ xmlHttp.onreadystatechange = function() {
 222+ if ( xmlHttp.readyState == 4 && xmlHttp.status == 200 ) {
 223+ var sections = createObjectArray( xmlHttp.responseXML );
 224+ writeResults( sections );
 225+ }
 226+ }
 227+ var url = apiUrl + '?action=opensearch&limit=' + numResults + '&namespace=0&format=xml&search=' + term;
 228+ xmlHttp.open( 'GET', url, true );
 229+ xmlHttp.send();
 230+}
 231+
 232+function createObjectArray( responseXml ) {
 233+ var sections = new Array();
 234+ var items = responseXml.getElementsByTagName( 'Item' );
 235+ for ( i = 0; i < items.length; i++ ) {
 236+ var item = items[i];
 237+ var section = {
 238+ label: item.getElementsByTagName( 'Text' )[0].textContent,
 239+ value: item.getElementsByTagName( 'Url' )[0].textContent,
 240+ }
 241+ sections.push( section );
 242+ }
 243+ return sections;
 244+}
 245+
 246+function sqValUpdate( sqValue ) {
 247+ if ( search ) {
 248+ search.value = sqValue + ' ';
 249+ search.focus();
 250+ searchApi( search.value );
 251+ }
 252+}
 253+
 254+function htmlEntities( str ) {
 255+ return String( str ).replace( /&/g, '&amp;' ).replace( /</g, '&lt;' ).replace( />/g, '&gt;' ).replace( /"/g, '&quot;' ).replace( /'/g, '&#39;' );
 256+}
 257+
 258+function escapeJsString( str ) {
 259+ return String( str ).replace( /\\/g, '\\\\' ).replace( /'/g, "\\'" ).replace( /\n/g, '\\n' );
 260+}
 261+
 262+function writeResults( sections ) {
 263+ results.style.display = 'block';
 264+ if ( search ) {
 265+ search.focus();
 266+ }
 267+ if ( !sections || sections.length < 1 ) {
 268+ results.innerHTML = "<div class=\"suggestions-results\" title=\"No Results\">No Results</div>";
 269+ } else {
 270+ var html = '<div class="suggestions-results">';
 271+ for ( i = 0; i < sections.length; i++ ) {
 272+ var section = sections[i];
 273+ var rel = i + 1;
 274+ term = htmlEntities( decodeURIComponent( term ) );
 275+ var label = section.label.replace( new RegExp( '(' + term + ')', 'ig' ), '<strong>$1</strong>' );
 276+ section.value = section.value.replace( /^(?:\/\/|[^\/]+)*\//, '/' );
 277+ html = html + "<div class=\"suggestions-result\" rel=\"" + htmlEntities( rel ) + "\" title=\"" + htmlEntities( section.label ) + "\"><a class=\"sq-val-update\" href=\"javascript:sqValUpdate('" + htmlEntities( escapeJsString( section.label ) ) + "');\">+</a><a class=\"search-result-item\" href='" + htmlEntities( section.value ) + "'>" + label + "</a></div>";
 278+ }
 279+ html = html + '</div>';
 280+ results.innerHTML = html;
 281+ }
 282+}
\ No newline at end of file
Index: branches/wmf/1.18wmf1/extensions/MobileFrontend/MobileFrontend.i18n.php
@@ -69,12 +69,16 @@
7070 'mobile-frontend-feedback-page' => 'Project:Mobile Extension Feedback',
7171 'mobile-frontend-leave-feedback-thanks' => 'Thanks, for your feedback!',
7272 'mobile-frontend-language' => 'Language',
 73+ 'mobile-frontend-username' => 'Username:',
 74+ 'mobile-frontend-password' => 'Password:',
 75+ 'mobile-frontend-login' => 'Log in',
7376 );
7477
7578 /** Message documentation (Message documentation)
7679 * @author EugeneZelenko
7780 * @author Raymond
7881 * @author Siebrand
 82+ * @author Umherirrender
7983 * @author Yekrats
8084 */
8185 $messages['qqq'] = array(
@@ -91,7 +95,13 @@
9296 'mobile-frontend-leave-feedback-subject' => '{{Identical|Subject}}',
9397 'mobile-frontend-leave-feedback-message' => '{{Identical|Message}}',
9498 'mobile-frontend-leave-feedback-cancel' => '{{Identical|Cancel}}',
 99+ 'mobile-frontend-feedback-page' => '{{optional}}',
95100 'mobile-frontend-language' => '{{Identical|Language}}',
 101+ 'mobile-frontend-username' => 'Field label for entry of username in Wikimedia mobile user interface.',
 102+ 'mobile-frontend-password' => 'Field label for entry of password in Wikimedia mobile user interface.
 103+{{Identical|Password}}',
 104+ 'mobile-frontend-login' => 'Button text for login in Wikimedia mobile user interface.
 105+{{Identical|Log in}}',
96106 );
97107
98108 /** Moroccan Spoken Arabic (Maġribi) */
@@ -362,6 +372,7 @@
363373 'mobile-frontend-leave-feedback-link-text' => 'تعليقات واجهة المحمول',
364374 'mobile-frontend-leave-feedback' => 'اترك تعليقات',
365375 'mobile-frontend-leave-feedback-thanks' => 'شكرا على إبداء ملاحظاتك!',
 376+ 'mobile-frontend-language' => 'اللغة',
366377 );
367378
368379 /** Aramaic (ܐܪܡܝܐ)
@@ -379,6 +390,7 @@
380391 'mobile-frontend-search-text' => 'ܒܨܝ',
381392 'mobile-frontend-file-namespace' => 'ܠܦܦܐ',
382393 'mobile-frontend-view' => 'ܓܠܚܐ ܒܙܥܘܩܐ ܟܘܪܝܐ (ܡܫܢܝܢܐ)',
 394+ 'mobile-frontend-language' => 'ܠܫܢܐ',
383395 );
384396
385397 /** Asturian (Asturianu)
@@ -439,6 +451,9 @@
440452 'mobile-frontend-leave-feedback' => 'Comentarios sobre la versión pa móvil',
441453 'mobile-frontend-leave-feedback-thanks' => '¡Gracies polos tos comentarios!',
442454 'mobile-frontend-language' => 'Llingua',
 455+ 'mobile-frontend-username' => "Nome d'usuariu:",
 456+ 'mobile-frontend-password' => 'Contraseña:',
 457+ 'mobile-frontend-login' => 'Entrar',
443458 );
444459
445460 /** Azerbaijani (Azərbaycanca)
@@ -516,34 +531,53 @@
517532 'mobile-frontend-file-namespace' => 'Файл',
518533 );
519534
520 -/** Bavarian (Boarisch) */
 535+/** Bavarian (Boarisch)
 536+ * @author Mucalexx
 537+ */
521538 $messages['bar'] = array(
522539 'mobile-frontend-search-results' => 'Suachergebniss',
523 - 'mobile-frontend-no-article-found' => 'Koa Artikl gfundn',
524 - 'mobile-frontend-featured-article' => 'Artikl vom Dog',
525 - 'mobile-frontend-in-the-news' => 'In de Nachrichtn',
 540+ 'mobile-frontend-no-article-found' => 'Koah Artiké gfunden',
 541+ 'mobile-frontend-featured-article' => 'Artiké vom Toog',
 542+ 'mobile-frontend-in-the-news' => 'In dé Noochrichten',
526543 'mobile-frontend-home-button' => 'Start',
527544 'mobile-frontend-random-button' => 'Zuafoi',
528 - 'mobile-frontend-back-to-top-of-section' => 'Oa Kapitl zruck springa',
529 - 'mobile-frontend-show-button' => 'Zoagn',
530 - 'mobile-frontend-hide-button' => 'Vastecka',
531 - 'mobile-frontend-disable-button' => 'Deaktiviarn',
 545+ 'mobile-frontend-back-to-top-of-section' => 'Oah Kapitel zruck springer',
 546+ 'mobile-frontend-show-button' => 'Zoang',
 547+ 'mobile-frontend-hide-button' => 'Vastecker',
 548+ 'mobile-frontend-disable-button' => 'Deaktiviern',
532549 'mobile-frontend-back-button' => 'Zruck',
533 - 'mobile-frontend-regular-site' => 'Seitn in da normalen {{SITENAME}} zeign',
534 - 'mobile-frontend-perm-stop-redirect' => 'De mobile Version füa imma deaktiviarn',
535 - 'mobile-frontend-error-page-title' => 'Es gibt a Problem!',
536 - 'mobile-frontend-error-page-text' => 'De mobile {{SITENAME}} is imma no im Entwicklungsstadium und mia versuchan alle unsane internen Fehla zu korrigiern. Von dem Fehla wissma scho und richtns boid. Versuchs später no amal.',
 550+ 'mobile-frontend-regular-site' => 'Seiten in da normaalen {{SITENAME}} zoang',
 551+ 'mobile-frontend-perm-stop-redirect' => 'Dé móbile Versión fyr oiwei deaktivirn',
 552+ 'mobile-frontend-error-page-title' => 'Es gibt a Próblém!',
 553+ 'mobile-frontend-error-page-text' => "Dé móbile Auhsicht voh {{SITENAME}} befindt sé noh in da Entwicklung und mia bemian ins, noh bsteehende interne Feeler z' behém. Mir san ywer dén Feeler informird worn und werns Próblém in Kyrze lésen. Bittscheh vasuachs spaader nohamoi.",
537554 'mobile-frontend-are-you-sure' => 'Bist sicha?',
538 - 'mobile-frontend-explain-disable' => "Bist sicha, dassd' de mobile Version deaktiviarn mogst? Wennst <b>Deaktiviarn</b> nimmst, dann werst ab jetztad beim Bsuacha von da {{SITENAME}} nimma aufd mobile {{SITENAME}} weitergleit.",
 555+ 'mobile-frontend-explain-disable' => "Bist da dert sicher, daas du dé móbile Auhsicht voh {{SITENAME}} deaktiviern mechterst? Waunn du <b>Deaktiviern</b> wöst, werst ob iatz ba am Bsuach voh {{SITENAME}} nimmer autómaatisch auf d' móbile Auhsicht voh {{SITENAME}} weidergloatt.",
539556 'mobile-frontend-nav-end' => 'End',
540557 'mobile-frontend-nav-top' => 'Ofang',
541558 'mobile-frontend-nav-edit' => 'Werkln',
542559 'mobile-frontend-nav-history' => 'Versionen/Autorn',
543560 'mobile-frontend-search-text' => 'Suach',
544561 'mobile-frontend-contact-us' => 'Wennst no Frong oda Anmerkunga host, schick uns a E-Mail and Adressn mobile@wikipedia.org',
545 - 'mobile-frontend-author-link' => 'Zeig de Datei in da normalen {{SITENAME}}, um Informationen üba Autorn, Lizenzn und a ausführlichere Beschreibugn zum seng.',
546 - 'mobile-frontend-download-full-version' => 'Ganze Datei obalodn',
547 - 'mobile-frontend-file-namespace' => 'Datai',
 562+ 'mobile-frontend-author-link' => "Dé Daatei in da reegulärn Auhsicht voh {{SITENAME}} auhzoang, um Informaziónen ywer Autórn, Lizenzen und daweiterde Bschreiwungen z' seeng.",
 563+ 'mobile-frontend-download-full-version' => "D' gaunze Daatei owerloon",
 564+ 'mobile-frontend-file-namespace' => 'Daatei',
 565+ 'mobile-frontend-wml-continue' => 'Weider ...',
 566+ 'mobile-frontend-wml-back' => 'Zruck ...',
 567+ 'mobile-frontend-view' => 'Móbile Auhsicht',
 568+ 'mobile-frontend-opt-in-message' => 'An dém Test voh da neichen móbiln Auhsicht middoah?',
 569+ 'mobile-frontend-opt-in-yes-button' => 'Jo',
 570+ 'mobile-frontend-opt-in-no-button' => 'Naa',
 571+ 'mobile-frontend-opt-in-title' => 'Teilnauhm an Tests',
 572+ 'mobile-frontend-opt-in-explain' => "Dés do daméglicht d' Teilnaum an Tests",
 573+ 'mobile-frontend-opt-out-message' => 'Nimmer an dé Test voh da neichen móbiln Auhsicht middoah?',
 574+ 'mobile-frontend-opt-out-yes-button' => 'Jo',
 575+ 'mobile-frontend-opt-out-no-button' => 'Naa',
 576+ 'mobile-frontend-opt-out-title' => "D' Teilnaum an Tests beénden",
 577+ 'mobile-frontend-opt-out-explain' => "Dés do daméglicht d' Teilnaum an Tests z' beénden",
 578+ 'mobile-frontend-disable-images' => 'Büder in da móbiln Auhsicht deaktiviern',
 579+ 'mobile-frontend-enable-images' => 'Büder in da móbiln Auhsicht aktiviern',
 580+ 'mobile-frontend-news-items' => 'In dé Noochrichten',
 581+ 'mobile-frontend-leave-feedback-title' => 'Gib ins bittscheh a Ryckmödung zua deine Erforungen mid da móbün Auhsicht',
548582 );
549583
550584 /** Belarusian (Беларуская) */
@@ -611,6 +645,9 @@
612646 'mobile-frontend-leave-feedback' => 'Пакінуць водгук',
613647 'mobile-frontend-leave-feedback-thanks' => 'Дзякуй за Ваш водгук!',
614648 'mobile-frontend-language' => 'Мова',
 649+ 'mobile-frontend-username' => 'Імя ўдзельніка:',
 650+ 'mobile-frontend-password' => 'Пароль:',
 651+ 'mobile-frontend-login' => 'Увайсьці',
615652 );
616653
617654 /** Bulgarian (Български)
@@ -812,12 +849,14 @@
813850 );
814851
815852 /** Catalan (Català)
 853+ * @author Toniher
816854 * @author Vriullop
817855 */
818856 $messages['ca'] = array(
 857+ 'mobile-frontend-desc' => 'Interfície mòbil',
819858 'mobile-frontend-search-submit' => 'Vés-hi',
820859 'mobile-frontend-search-results' => 'Resultats de la cerca',
821 - 'mobile-frontend-no-article-found' => 'Cap article trobat',
 860+ 'mobile-frontend-no-article-found' => "No s'ha trobat cap article",
822861 'mobile-frontend-featured-article' => "Article destacat d'avui",
823862 'mobile-frontend-in-the-news' => 'Actualitat',
824863 'mobile-frontend-home-button' => 'Inici',
@@ -827,23 +866,47 @@
828867 'mobile-frontend-hide-button' => 'Amaga',
829868 'mobile-frontend-disable-button' => 'Inhabilita',
830869 'mobile-frontend-back-button' => 'Enrere',
831 - 'mobile-frontend-regular-site' => 'Vegeu aquesta pàgina a la Viquipèdia',
 870+ 'mobile-frontend-regular-site' => 'Vegeu aquesta pàgina al web {{SITENAME}} habitual',
832871 'mobile-frontend-perm-stop-redirect' => 'Inhabilita permanentment la versió mòbil',
833872 'mobile-frontend-error-page-title' => 'Tenim un problema!',
834 - 'mobile-frontend-error-page-text' => "{{SITENAME}} mobile encara està en desenvolupament i estem treballant per a resoldre tots els errors interns. Hem estat notificats d'aquest error i el repararem aviat. Si us plau, torneu-ho a intentar!",
 873+ 'mobile-frontend-error-page-text' => "El web {{SITENAME}} mòbil encara està en desenvolupament i estem treballant per a resoldre tots els errors interns. Hem estat notificats d'aquest error i el repararem aviat. Torneu-ho a provar més endavant!",
835874 'mobile-frontend-are-you-sure' => "N'esteu segur?",
836 - 'mobile-frontend-explain-disable' => "Esteu segur que voleu inhabilitar la versió mòbil de la Viquipèdia? Si trieu <b>Inhabilita</b>, a partir d'aleshores, quan visiteu la Viquipèdia, no se us redirigirà a la versió mòbil.",
 875+ 'mobile-frontend-explain-disable' => "Esteu segur que voleu inhabilitar la versió mòbil del web {{SITENAME}}? Si trieu <b>Inhabilita</b>, a partir d'aleshores, quan visiteu el web {{SITENAME}}, no se us redirigirà a la versió mòbil.",
837876 'mobile-frontend-nav-end' => 'Fi',
838877 'mobile-frontend-nav-top' => 'A dalt',
839878 'mobile-frontend-nav-edit' => 'Edita',
840879 'mobile-frontend-nav-history' => 'Historial',
841880 'mobile-frontend-search-text' => 'Cerca',
842881 'mobile-frontend-contact-us' => 'Si teniu cap pregunta o comentari, no dubteu a contactar-nos per correu a mobile@wikipedia.org',
843 - 'mobile-frontend-author-link' => "Vegeu aquest fitxer multimèdia a la Viquipèdia normal per veure informació de l'autoria, llicència i descripcions addicionals.",
 882+ 'mobile-frontend-author-link' => "Vegeu aquest fitxer multimèdia al web {{SITENAME}} habitual per consultar la informació de l'autoria, la llicència i les descripcions addicionals.",
844883 'mobile-frontend-download-full-version' => 'Baixa la versió sencera',
845884 'mobile-frontend-file-namespace' => 'Fitxer',
 885+ 'mobile-frontend-wml-continue' => 'Continua ...',
 886+ 'mobile-frontend-wml-back' => 'Enrere ...',
846887 'mobile-frontend-view' => 'Versió per a mòbils',
 888+ 'mobile-frontend-opt-in-message' => 'Voleu provar la nova interfície mòbil?',
847889 'mobile-frontend-opt-in-yes-button' => 'sí',
 890+ 'mobile-frontend-opt-in-no-button' => 'no',
 891+ 'mobile-frontend-opt-in-title' => 'Opció a les proves',
 892+ 'mobile-frontend-opt-in-explain' => 'Això us permet entrar al sistema de prova',
 893+ 'mobile-frontend-opt-out-message' => 'Voleu deixar el sistema de proves de la nova interfície mòbil?',
 894+ 'mobile-frontend-opt-out-yes-button' => 'sí',
 895+ 'mobile-frontend-opt-out-no-button' => 'no',
 896+ 'mobile-frontend-opt-out-title' => 'Abandonament del sistema de proves',
 897+ 'mobile-frontend-opt-out-explain' => 'Això us permet deixar el sistema de proves',
 898+ 'mobile-frontend-disable-images' => 'Inhabilita les imatges al lloc web mòbil',
 899+ 'mobile-frontend-enable-images' => 'Habilita les imatges al lloc web mòbil',
 900+ 'mobile-frontend-news-items' => 'Actualitat',
 901+ 'mobile-frontend-leave-feedback-title' => 'Feu-nos comentaris de quina ha estat la vostra experiència des del mòbil',
 902+ 'mobile-frontend-leave-feedback-notice' => "Els vostres comentaris ens ajuden a millorar la experiència mòbil del lloc web. Allò que ens comenteu es publicarà públicament (amb el vostre nom d'usuari, versió de navegador i sistema operatiu) a la pàgina «$1». Proveu d'emprar una línia d'assumpte prou informativa, com ara «Problemes de format de les taules amples». Els vostres comentaris es troben subjectes als nostres termes d'ús.",
 903+ 'mobile-frontend-leave-feedback-subject' => 'Assumpte',
 904+ 'mobile-frontend-leave-feedback-message' => 'Missatge',
 905+ 'mobile-frontend-leave-feedback-cancel' => 'Cancel·la',
 906+ 'mobile-frontend-leave-feedback-submit' => 'Tramet els comentaris',
 907+ 'mobile-frontend-leave-feedback-link-text' => 'Extensió de comentaris de la interfície mòbil',
 908+ 'mobile-frontend-leave-feedback' => 'Comentaris del lloc web mòbil',
 909+ 'mobile-frontend-leave-feedback-thanks' => 'Gràcies pels vostres comentaris!',
 910+ 'mobile-frontend-language' => 'Llengua',
848911 );
849912
850913 /** Chechen (Нохчийн) */
@@ -989,6 +1052,9 @@
9901053 'mobile-frontend-leave-feedback' => 'Odeslat komentář',
9911054 'mobile-frontend-leave-feedback-thanks' => 'Děkujeme za váš názor!',
9921055 'mobile-frontend-language' => 'Jazyk',
 1056+ 'mobile-frontend-username' => 'Uživatelské jméno:',
 1057+ 'mobile-frontend-password' => 'Heslo:',
 1058+ 'mobile-frontend-login' => 'Přihlásit se',
9931059 );
9941060
9951061 /** Church Slavic (Словѣ́ньскъ / ⰔⰎⰑⰂⰡⰐⰠⰔⰍⰟ) */
@@ -1025,10 +1091,10 @@
10261092 'mobile-frontend-hide-button' => 'Cuddio',
10271093 'mobile-frontend-disable-button' => 'Analluogi',
10281094 'mobile-frontend-back-button' => 'Yn ôl',
1029 - 'mobile-frontend-regular-site' => 'Gweld y dudalen hon ar y Wicipedia arferol',
 1095+ 'mobile-frontend-regular-site' => 'Gweld y dudalen hon ar y {{SITENAME}} arferol',
10301096 'mobile-frontend-perm-stop-redirect' => "Analluogi'r cysylltiad at y fersiwn ar gyfer ffôn symudol am byth",
10311097 'mobile-frontend-error-page-title' => 'Cafwyd problem!',
1032 - 'mobile-frontend-error-page-text' => "Y mae Wicipedia symudol yn dal i gael ei ddatblygu ac rydym wrthi'n ddiwyd yn cywiro'r gwallau mewnol. Rydym wedi cael gwybod am y gwall hwn ac fe fyddwn yn ei gywiro'n fuan. Rhowch gynnig arall arni yn y man.",
 1098+ 'mobile-frontend-error-page-text' => "Y mae {{SITENAME}} symudol yn dal i gael ei ddatblygu ac rydym wrthi'n ddiwyd yn cywiro'r gwallau mewnol. Rydym wedi cael gwybod am y gwall hwn ac fe fyddwn yn ei gywiro'n fuan. Rhowch gynnig arall arni yn y man.",
10331099 'mobile-frontend-are-you-sure' => "Ydych chi'n bendant am wneud hyn ?",
10341100 'mobile-frontend-explain-disable' => "Ydych chi'n bendant am analluogi fersiwn Wicipedia ar gyfer ffonau symudol? Os y dewiswch <b>Analluogi</b>, yna pan ymwelwch â Wicipedia, ni chewch eich ailgyfeirio at y wedd hon o Wicipedia ar gyfer ffonau symudol.",
10351101 'mobile-frontend-nav-end' => 'Diwedd',
@@ -1040,6 +1106,11 @@
10411107 'mobile-frontend-author-link' => 'Edrychwch ar y ffeil gyfrwng hon ar y {{SITENAME}} arferol er mwyn cael gwybodaeth am yr awduron, y drwydded a disgrifiadau ychwanegol.',
10421108 'mobile-frontend-download-full-version' => "Islwytho'r fersiwn cyflawn",
10431109 'mobile-frontend-file-namespace' => 'Ffeil',
 1110+ 'mobile-frontend-wml-continue' => 'Parhau ...',
 1111+ 'mobile-frontend-wml-back' => 'Nôl ...',
 1112+ 'mobile-frontend-leave-feedback-subject' => 'Pwnc',
 1113+ 'mobile-frontend-leave-feedback-message' => 'Neges',
 1114+ 'mobile-frontend-language' => 'Iaith',
10441115 );
10451116
10461117 /** Danish (Dansk)
@@ -1100,6 +1171,9 @@
11011172 'mobile-frontend-leave-feedback' => 'Giv feedback',
11021173 'mobile-frontend-leave-feedback-thanks' => 'Tak for dine tilbagemeldinger!',
11031174 'mobile-frontend-language' => 'Sprog',
 1175+ 'mobile-frontend-username' => 'Brugernavn:',
 1176+ 'mobile-frontend-password' => 'Adgangskode:',
 1177+ 'mobile-frontend-login' => 'Log ind',
11041178 );
11051179
11061180 /** German (Deutsch)
@@ -1161,6 +1235,9 @@
11621236 'mobile-frontend-leave-feedback' => 'Rückmeldung geben',
11631237 'mobile-frontend-leave-feedback-thanks' => 'Vielen Dank für deine Rückmeldung.',
11641238 'mobile-frontend-language' => 'Sprache',
 1239+ 'mobile-frontend-username' => 'Benutzername:',
 1240+ 'mobile-frontend-password' => 'Passwort:',
 1241+ 'mobile-frontend-login' => 'Anmelden',
11651242 );
11661243
11671244 /** German (formal address) (‪Deutsch (Sie-Form)‬)
@@ -1187,7 +1264,9 @@
11881265 'mobile-frontend-search-text' => 'Cıgeyre',
11891266 );
11901267
1191 -/** Lower Sorbian (Dolnoserbski) */
 1268+/** Lower Sorbian (Dolnoserbski)
 1269+ * @author Michawiki
 1270+ */
11921271 $messages['dsb'] = array(
11931272 'mobile-frontend-search-submit' => 'Wótpósłaś',
11941273 'mobile-frontend-search-results' => 'Pytańske wuslědki',
@@ -1201,21 +1280,30 @@
12021281 'mobile-frontend-hide-button' => 'Schowaś',
12031282 'mobile-frontend-disable-button' => 'Znjemóžniś',
12041283 'mobile-frontend-back-button' => 'Slědk',
1205 - 'mobile-frontend-regular-site' => 'Toś ten bok se w normalnej Wikipediji woglědaś',
 1284+ 'mobile-frontend-regular-site' => 'Toś ten bok se w normalnej {{GRAMMAR:lokatiw|{{SITENAME}}}} woglědaś',
12061285 'mobile-frontend-perm-stop-redirect' => 'Mobilne sedło na pśecej znjemóžniś',
12071286 'mobile-frontend-error-page-title' => 'Mamy problem!',
1208 - 'mobile-frontend-error-page-text' => 'Mobilna Wikipedija se hyšći wuwija a źěłamy žurnje, aby my wše naše interne zmólki wótpórali. Smy se wó toś tej zmólce informěrowali a wótpórajomy jen skóro. Pšosym wopytaj pózdźej hyšći raz!',
 1287+ 'mobile-frontend-error-page-text' => 'Mobilny naglěd {{GRAMMAR:genitiw|{{SITENAME}}}} se hyšći aktiwnje wuwija a źěłamy žurnje, aby my wše naše interne zmólki wótpórali. Smy se wó toś tej zmólce informěrowali a wótpórajomy jen skóro. Pšosym wopytaj pózdźej hyšći raz!',
12091288 'mobile-frontend-are-you-sure' => 'Sy se wěsty?',
1210 - 'mobile-frontend-explain-disable' => 'Coš napšawdu mobilnu wersiju Wikipedije znjemóžniś? Jolic wuběraš <b>Znjemóžniś</b>, njebuźoš se wot togo casa k mobilnemu naglědoju Wikipedije dalej pósrědnjaś, gaž woglědujoš se Wikipediju.',
 1289+ 'mobile-frontend-explain-disable' => 'Coš napšawdu mobilnu wersiju {{GRAMMAR:genitiw|{{SITENAME}}}} znjemóžniś? Jolic wuběraš <b>Znjemóžniś</b>, njebuźoš se wót togo casa k mobilnemu naglědoju {{GRAMMAR:genitiw|{{SITENAME}}}} dalej pósrědnjaś, gaž woglědujoš se {{GRAMMAR:akuzatiw|{{SITENAME}}}}.',
12111290 'mobile-frontend-nav-end' => 'Kóńc',
12121291 'mobile-frontend-nav-top' => 'Górjejce',
12131292 'mobile-frontend-nav-edit' => 'Wobźěłaś',
12141293 'mobile-frontend-nav-history' => 'Historija',
12151294 'mobile-frontend-search-text' => 'Pytaś',
12161295 'mobile-frontend-contact-us' => 'Jolic maš pšašanja abo komentary, pósćel pšosym e-mail na mobile@wikipedia.org',
1217 - 'mobile-frontend-author-link' => 'Toś tu medijowu dataju w regularnej Wikipediji pokazaś, aby se woglědał informacije wó awtorstwje, licencowanju a pśidatne wopisanje.',
 1296+ 'mobile-frontend-author-link' => 'Toś tu medijowu dataju w regularnej {{GRAMMAR:lokatiw|{{SITENAME}}}} pokazaś, aby se woglědał informacije wó awtorstwje, licencowanju a pśidatne wopisanja.',
12181297 'mobile-frontend-download-full-version' => 'Połnu wersiju ześěgnuś',
12191298 'mobile-frontend-file-namespace' => 'Dataja',
 1299+ 'mobile-frontend-wml-continue' => 'Dalej ...',
 1300+ 'mobile-frontend-wml-back' => 'Slědk ...',
 1301+ 'mobile-frontend-opt-in-yes-button' => 'jo',
 1302+ 'mobile-frontend-opt-in-no-button' => 'ně',
 1303+ 'mobile-frontend-opt-out-yes-button' => 'jo',
 1304+ 'mobile-frontend-opt-out-no-button' => 'ně',
 1305+ 'mobile-frontend-leave-feedback-message' => 'Powěsć',
 1306+ 'mobile-frontend-leave-feedback-cancel' => 'Pśetergnuś',
 1307+ 'mobile-frontend-language' => 'Rěc',
12201308 );
12211309
12221310 /** Central Dusun (Dusun Bundu-liwan) */
@@ -1447,6 +1535,7 @@
14481536 'mobile-frontend-view' => 'Mobiilivaade',
14491537 'mobile-frontend-disable-images' => 'Keela mobiilivaates pildid',
14501538 'mobile-frontend-enable-images' => 'Luba mobiilivaates pildid',
 1539+ 'mobile-frontend-language' => 'Keel',
14511540 );
14521541
14531542 /** Basque (Euskara) */
@@ -1509,7 +1598,10 @@
15101599 );
15111600
15121601 /** Persian (فارسی)
 1602+ * @author Baqeri
 1603+ * @author Leyth
15131604 * @author Mjbmr
 1605+ * @author ZxxZxxZ
15141606 */
15151607 $messages['fa'] = array(
15161608 'mobile-frontend-desc' => 'ظاهر تلفن همراه',
@@ -1549,8 +1641,8 @@
15501642 'mobile-frontend-opt-out-yes-button' => 'بله',
15511643 'mobile-frontend-opt-out-no-button' => 'خیر',
15521644 'mobile-frontend-opt-out-explain' => 'این به شما اجازه آزمایش را می‌دهد',
1553 - 'mobile-frontend-disable-images' => 'غیر فعال کردن تصاویر بر روی وب‌گاه تلفن همراه',
1554 - 'mobile-frontend-enable-images' => 'فعال سازی تصاویر بر روی وب‌گاه تلفن همراه',
 1645+ 'mobile-frontend-disable-images' => 'غیر فعال کردن تصاویر بر روی تارنمای تلفن همراه',
 1646+ 'mobile-frontend-enable-images' => 'فعال سازی تصاویر بر روی تارنمای تلفن همراه',
15551647 'mobile-frontend-news-items' => 'در خبرها',
15561648 'mobile-frontend-leave-feedback-title' => 'دربارهٔ ظاهر تلفن همراه، بازخورد بگذارید',
15571649 'mobile-frontend-leave-feedback-notice' => 'بازخورد شما به طور عمومی، همراه با نام شما، نسخهٔ مرورگر و سیستم عامل در صفحه ارسال خواهد شد. "$1"',
@@ -1560,6 +1652,11 @@
15611653 'mobile-frontend-leave-feedback-submit' => 'ثبت بازخورد',
15621654 'mobile-frontend-leave-feedback-link-text' => 'بازخورد ظاهر تلفن همراه',
15631655 'mobile-frontend-leave-feedback' => 'گذاشتن بازخورد',
 1656+ 'mobile-frontend-leave-feedback-thanks' => 'تشکر از ارائه بازخورد شما!',
 1657+ 'mobile-frontend-language' => 'زبان',
 1658+ 'mobile-frontend-username' => 'نام کاربری:',
 1659+ 'mobile-frontend-password' => 'گذرواژه:',
 1660+ 'mobile-frontend-login' => 'ورود',
15641661 );
15651662
15661663 /** Finnish (Suomi)
@@ -1619,6 +1716,7 @@
16201717 'mobile-frontend-leave-feedback-link-text' => 'Mobiilinäkymän palaute',
16211718 'mobile-frontend-leave-feedback' => 'Palaute mobiilisivustosta',
16221719 'mobile-frontend-leave-feedback-thanks' => 'Kiitos palautteestasi.',
 1720+ 'mobile-frontend-language' => 'Kieli',
16231721 );
16241722
16251723 /** French (Français)
@@ -1683,6 +1781,9 @@
16841782 'mobile-frontend-leave-feedback' => 'Laisser son ressenti',
16851783 'mobile-frontend-leave-feedback-thanks' => 'Merci pour votre avis!',
16861784 'mobile-frontend-language' => 'Langue',
 1785+ 'mobile-frontend-username' => "Nom d'utilisateur:",
 1786+ 'mobile-frontend-password' => 'Mot de passe:',
 1787+ 'mobile-frontend-login' => 'Se connecter',
16871788 );
16881789
16891790 /** Franco-Provençal (Arpetan)
@@ -1866,6 +1967,9 @@
18671968 'mobile-frontend-leave-feedback' => 'Comentarios sobre a versión móbil',
18681969 'mobile-frontend-leave-feedback-thanks' => 'Grazas polos seus comentarios!',
18691970 'mobile-frontend-language' => 'Lingua',
 1971+ 'mobile-frontend-username' => 'Nome de usuario:',
 1972+ 'mobile-frontend-password' => 'Contrasinal:',
 1973+ 'mobile-frontend-login' => 'Rexistro',
18701974 );
18711975
18721976 /** Ancient Greek (Ἀρχαία ἑλληνικὴ) */
@@ -2081,6 +2185,9 @@
20822186 'mobile-frontend-leave-feedback' => 'שליחת משוב',
20832187 'mobile-frontend-leave-feedback-thanks' => 'תודה על המשוב!',
20842188 'mobile-frontend-language' => 'שפה',
 2189+ 'mobile-frontend-username' => 'שם משתמש:',
 2190+ 'mobile-frontend-password' => 'ססמה:',
 2191+ 'mobile-frontend-login' => 'כניסה',
20852192 );
20862193
20872194 /** Hindi (हिन्दी) */
@@ -2162,7 +2269,9 @@
21632270 'mobile-frontend-file-namespace' => 'Datoteka',
21642271 );
21652272
2166 -/** Upper Sorbian (Hornjoserbsce) */
 2273+/** Upper Sorbian (Hornjoserbsce)
 2274+ * @author Michawiki
 2275+ */
21672276 $messages['hsb'] = array(
21682277 'mobile-frontend-search-submit' => 'Pytać',
21692278 'mobile-frontend-search-results' => 'Pytanske wuslědki',
@@ -2176,25 +2285,45 @@
21772286 'mobile-frontend-hide-button' => 'Schować',
21782287 'mobile-frontend-disable-button' => 'Znjemóžnić',
21792288 'mobile-frontend-back-button' => 'Wróćo',
2180 - 'mobile-frontend-regular-site' => 'Tutu stronu sej we Wikipediji wobhladać',
 2289+ 'mobile-frontend-regular-site' => 'Tutu stronu sej we {{GRAMMAR:lokatiw|{{SITENAME}}}} wobhladać',
21812290 'mobile-frontend-perm-stop-redirect' => 'Mobilne sydło na přeco znjemóžnić',
21822291 'mobile-frontend-error-page-title' => 'Mamy problem!',
2183 - 'mobile-frontend-error-page-text' => 'Mobilna Wikipedija so hišće aktiwnje wuwiwa a dźěłamy kruće, zo bychmy wšě interne zmylki wotstronili. Nam je tutón zmylk znaty a budźemy jón bórze wotstronjeć. Prošu skontroluj potom hišće raz!',
 2292+ 'mobile-frontend-error-page-text' => 'Mobilna {{SITENAME}} so hišće aktiwnje wuwiwa a dźěłamy kruće, zo bychmy wšě interne zmylki wotstronili. Nam je tutón zmylk znaty a budźemy jón bórze wotstronjeć. Prošu skontroluj potom hišće raz!',
21842293 'mobile-frontend-are-you-sure' => 'Sy sej wěsty?',
2185 - 'mobile-frontend-explain-disable' => 'Chceš woprawdźe mobilnu wersiji Wikipedije znjemóžnić? Jeli wubjerješ <b>Znjemóžnić</b>, da njesposrědkuješ wot toho časa, hdyž wopytuješ Wikipediju, k mobilnemu napohladej Wikipedije.',
 2294+ 'mobile-frontend-explain-disable' => 'Chceš woprawdźe mobilnu wersiji {{GRAMMAR:genitiw|{{SITENAME}}}} znjemóžnić? Jeli wubjerješ <b>Znjemóžnić</b>, da njesposrědkuješ wot toho časa, hdyž wopytuješ Wikipediju, k mobilnemu napohladej {{GRAMMAR:genitiw|{{SITENAME}}}}.',
21862295 'mobile-frontend-nav-end' => 'Kónc',
21872296 'mobile-frontend-nav-top' => 'Horjeka',
21882297 'mobile-frontend-nav-edit' => 'Wobdźěłać',
21892298 'mobile-frontend-nav-history' => 'Historija',
21902299 'mobile-frontend-search-text' => 'Pytać',
21912300 'mobile-frontend-contact-us' => 'Jeli maš prašenja abo komentary, móžeš rady e-mejlku na mobile@wikipedia.org pósłać',
2192 - 'mobile-frontend-author-link' => 'Tutu medijowu dataju w normalnej Wikipediji zwobraznić, zo by widźiš informacije wo awtorstwje, licencowanju a přidatnych wopisanjach.',
 2301+ 'mobile-frontend-author-link' => 'Tutu medijowu dataju w normalnej {{GRAMMAR:lokatiw|{{SITENAME}}}} zwobraznić, zo by widźiš informacije wo awtorstwje, licencowanju a přidatnych wopisanjach.',
21932302 'mobile-frontend-download-full-version' => 'Połnu wersiju sćahnyć',
21942303 'mobile-frontend-file-namespace' => 'Dataja',
 2304+ 'mobile-frontend-wml-continue' => 'Dale ...',
 2305+ 'mobile-frontend-wml-back' => 'Wróćo ...',
 2306+ 'mobile-frontend-view' => 'Mobilny napohlad',
 2307+ 'mobile-frontend-opt-in-yes-button' => 'haj',
 2308+ 'mobile-frontend-opt-in-no-button' => 'ně',
 2309+ 'mobile-frontend-opt-out-yes-button' => 'haj',
 2310+ 'mobile-frontend-opt-out-no-button' => 'ně',
 2311+ 'mobile-frontend-disable-images' => 'Wobrazy w mobilnym napohledźe znjemóžnić',
 2312+ 'mobile-frontend-enable-images' => 'Wobrazy w mobilnym napohledźe zmóžnić',
 2313+ 'mobile-frontend-news-items' => 'W powěsćach',
 2314+ 'mobile-frontend-leave-feedback-subject' => 'Tema',
 2315+ 'mobile-frontend-leave-feedback-message' => 'Powěsć',
 2316+ 'mobile-frontend-leave-feedback-cancel' => 'Přetorhnyć',
 2317+ 'mobile-frontend-leave-feedback-submit' => 'Komentar wotpósłać',
 2318+ 'mobile-frontend-leave-feedback-thanks' => 'Dźakujemy so za twój komentar!',
 2319+ 'mobile-frontend-language' => 'Rěč',
 2320+ 'mobile-frontend-username' => 'Wužiwarske mjeno:',
 2321+ 'mobile-frontend-password' => 'Hesło:',
 2322+ 'mobile-frontend-login' => 'Přizjewić',
21952323 );
21962324
21972325 /** Hungarian (Magyar)
21982326 * @author BáthoryPéter
 2327+ * @author Dj
21992328 */
22002329 $messages['hu'] = array(
22012330 'mobile-frontend-desc' => 'Mobil felület',
@@ -2227,10 +2356,19 @@
22282357 'mobile-frontend-wml-continue' => 'Folytatás ...',
22292358 'mobile-frontend-wml-back' => 'Vissza ...',
22302359 'mobile-frontend-view' => 'Mobil nézet',
 2360+ 'mobile-frontend-opt-in-message' => 'Csatlakozol az új mobil felület teszteléséhez?',
22312361 'mobile-frontend-opt-in-yes-button' => 'igen',
22322362 'mobile-frontend-opt-in-no-button' => 'nem',
 2363+ 'mobile-frontend-opt-in-title' => 'Csatlakozás a teszteléshez',
 2364+ 'mobile-frontend-opt-in-explain' => 'Ez lehetővé teszi, hogy belépj a teszteléshez',
 2365+ 'mobile-frontend-opt-out-message' => 'Kilépsz az új mobil felület teszteléséből?',
 2366+ 'mobile-frontend-opt-out-yes-button' => 'igen',
 2367+ 'mobile-frontend-opt-out-no-button' => 'nem',
 2368+ 'mobile-frontend-opt-out-title' => 'Tesztelés befejezése',
 2369+ 'mobile-frontend-opt-out-explain' => 'Ez lehetővé teszi, hogy kilépj a tesztelésből',
22332370 'mobile-frontend-disable-images' => 'Képek letiltása mobil nézetben',
22342371 'mobile-frontend-enable-images' => 'Képek engedélyezése mobil nézetben',
 2372+ 'mobile-frontend-news-items' => 'Hírek',
22352373 'mobile-frontend-leave-feedback-title' => 'Küldj visszajelzést a mobil nézettel kapcsolatos tapasztalataidról',
22362374 'mobile-frontend-leave-feedback-subject' => 'Tárgy',
22372375 'mobile-frontend-leave-feedback-message' => 'Üzenet',
@@ -2315,10 +2453,14 @@
23162454 'mobile-frontend-leave-feedback' => 'Lassar retroaction',
23172455 'mobile-frontend-leave-feedback-thanks' => 'Gratias pro tu retroaction!',
23182456 'mobile-frontend-language' => 'Lingua',
 2457+ 'mobile-frontend-username' => 'Nomine de usator:',
 2458+ 'mobile-frontend-password' => 'Contrasigno:',
 2459+ 'mobile-frontend-login' => 'Aperir session',
23192460 );
23202461
23212462 /** Indonesian (Bahasa Indonesia)
23222463 * @author Aldnonymous
 2464+ * @author Farras
23232465 * @author Kenrick95
23242466 */
23252467 $messages['id'] = array(
@@ -2375,6 +2517,7 @@
23762518 'mobile-frontend-leave-feedback-link-text' => 'Umpan Balik Ekstensi MobileFrontend',
23772519 'mobile-frontend-leave-feedback' => 'Umpan balik situs seluler',
23782520 'mobile-frontend-leave-feedback-thanks' => 'Terima kasih, atas umpan balik Anda!',
 2521+ 'mobile-frontend-language' => 'Bahasa',
23792522 );
23802523
23812524 /** Igbo (Igbo)
@@ -2428,16 +2571,17 @@
24292572
24302573 /** Italian (Italiano)
24312574 * @author Beta16
 2575+ * @author Nemo bis
24322576 */
24332577 $messages['it'] = array(
2434 - 'mobile-frontend-desc' => 'Mobile Frontend',
 2578+ 'mobile-frontend-desc' => 'Interfaccia mobile',
24352579 'mobile-frontend-search-submit' => 'Vai',
24362580 'mobile-frontend-search-results' => 'Risultati della ricerca',
24372581 'mobile-frontend-no-article-found' => 'Nessuna corrispondenza',
24382582 'mobile-frontend-featured-article' => 'Vetrina',
24392583 'mobile-frontend-in-the-news' => 'Novità',
24402584 'mobile-frontend-home-button' => 'Pagina principale',
2441 - 'mobile-frontend-random-button' => 'Casuale',
 2585+ 'mobile-frontend-random-button' => 'Una pagina a caso',
24422586 'mobile-frontend-back-to-top-of-section' => 'Vai a inizio sezione',
24432587 'mobile-frontend-show-button' => 'Mostra',
24442588 'mobile-frontend-hide-button' => 'Nascondi',
@@ -2446,7 +2590,7 @@
24472591 'mobile-frontend-regular-site' => 'Visualizza questa pagina su {{SITENAME}} normale',
24482592 'mobile-frontend-perm-stop-redirect' => 'Disabilitare permanentemente sito per dispositivi mobili',
24492593 'mobile-frontend-error-page-title' => 'Si è verificato un problema!',
2450 - 'mobile-frontend-error-page-text' => '{{SITENAME}} mobile è ancora in fase di sviluppo attivo e stiamo lavorando sodo per risolvere tutti gli errori interni. Questo errore è già stato notificato e verrà presto corretto. Ricontrolla a breve!',
 2594+ 'mobile-frontend-error-page-text' => '{{SITENAME}} per dispositivi mobili è ancora in fase di sviluppo attivo e stiamo lavorando sodo per risolvere tutti gli errori interni. Questo errore è già stato notificato e verrà presto corretto. Ricontrolla a breve!',
24512595 'mobile-frontend-are-you-sure' => 'Sei sicuro?',
24522596 'mobile-frontend-explain-disable' => "Vuoi davvero disabilitare la versione mobile di {{SITENAME}}? Se scegli <b>Disabilita</b>, d'ora in poi ogni volta che visiti {{SITENAME}} non sarai più reindirizzato alla versione mobile di {{SITENAME}}.",
24532597 'mobile-frontend-nav-end' => 'Fine',
@@ -2454,30 +2598,49 @@
24552599 'mobile-frontend-nav-edit' => 'Modifica',
24562600 'mobile-frontend-nav-history' => 'Cronologia',
24572601 'mobile-frontend-search-text' => 'Cerca',
2458 - 'mobile-frontend-contact-us' => "Se avete domande o commenti potete contattarci via email all'indirizzo mobile@wikipedia.org",
 2602+ 'mobile-frontend-contact-us' => "Se hai domande o commenti puoi contattarci via posta elettronica all'indirizzo mobile@wikipedia.org",
24592603 'mobile-frontend-author-link' => "Visualizza questo file multimediale sulla {{SITENAME}} normale per vedere le informazioni sull'autore, la licenza ed ulteriori dettagli.",
24602604 'mobile-frontend-download-full-version' => 'Scarica la versione completa',
24612605 'mobile-frontend-file-namespace' => 'File',
24622606 'mobile-frontend-wml-continue' => 'Continua ...',
24632607 'mobile-frontend-wml-back' => 'Indietro ...',
 2608+ 'mobile-frontend-view' => 'Versione mobile',
 2609+ 'mobile-frontend-opt-in-message' => 'Vuoi provare il funzionamento della nuova interfaccia mobile?',
24642610 'mobile-frontend-opt-in-yes-button' => 'sì',
24652611 'mobile-frontend-opt-in-no-button' => 'no',
 2612+ 'mobile-frontend-opt-in-title' => 'Partecipazione al collaudo',
 2613+ 'mobile-frontend-opt-in-explain' => 'Qui puoi partecipare alla prova',
 2614+ 'mobile-frontend-opt-out-message' => 'Abbandonare la prova della nuova interfaccia mobile?',
24662615 'mobile-frontend-opt-out-yes-button' => 'sì',
24672616 'mobile-frontend-opt-out-no-button' => 'no',
2468 - 'mobile-frontend-disable-images' => 'Disabilita le immagini sul sito per cellulari',
2469 - 'mobile-frontend-enable-images' => 'Abilita le immagini sul sito per cellulari',
 2617+ 'mobile-frontend-opt-out-title' => 'Abbandono del collaudo',
 2618+ 'mobile-frontend-opt-out-explain' => 'Qui puoi abbandonare la prova',
 2619+ 'mobile-frontend-disable-images' => 'Disabilita le immagini sul sito per dispositivi mobili',
 2620+ 'mobile-frontend-enable-images' => 'Abilita le immagini sul sito per dispositivi mobili',
 2621+ 'mobile-frontend-news-items' => 'Novità',
 2622+ 'mobile-frontend-leave-feedback-title' => 'Commenta la tua esperienza del sito per dispositivi mobili',
 2623+ 'mobile-frontend-leave-feedback-notice' => 'I tuoi commenti ci aiutano a migliorare la tua soddisfazione per il sito per dispositivi mobili. Sarà pubblicata (insieme al tuo nome utente, versione del browser e sistema operativo) alla pagina "$1". Per piacere, scegli un oggetto descrittivo (ad esempio, "Problemi di formattazione con tabelle larghe"). Il tuo commento è soggetto alle condizioni d\'uso.',
24702624 'mobile-frontend-leave-feedback-subject' => 'Oggetto',
24712625 'mobile-frontend-leave-feedback-message' => 'Messaggio',
24722626 'mobile-frontend-leave-feedback-cancel' => 'Annulla',
2473 - 'mobile-frontend-leave-feedback-submit' => 'Invia feedback',
2474 - 'mobile-frontend-leave-feedback-thanks' => 'Grazie per aver espresso il tuo feedback.',
 2627+ 'mobile-frontend-leave-feedback-submit' => 'Invia commento',
 2628+ 'mobile-frontend-leave-feedback-link-text' => "Commenti sull'estensione interfaccia mobile",
 2629+ 'mobile-frontend-leave-feedback' => 'Commenti sul sito per dispositivi mobili',
 2630+ 'mobile-frontend-leave-feedback-thanks' => 'Grazie per aver espresso il tuo commento.',
 2631+ 'mobile-frontend-language' => 'Lingua',
 2632+ 'mobile-frontend-username' => 'Nome utente:',
 2633+ 'mobile-frontend-password' => 'Password:',
 2634+ 'mobile-frontend-login' => 'Entra',
24752635 );
24762636
24772637 /** Japanese (日本語)
 2638+ * @author Fryed-peach
24782639 * @author Ohgi
24792640 * @author Schu
 2641+ * @author Whym
24802642 */
24812643 $messages['ja'] = array(
 2644+ 'mobile-frontend-desc' => '携帯機器フロントエンド',
24822645 'mobile-frontend-search-submit' => '表示',
24832646 'mobile-frontend-search-results' => '検索結果',
24842647 'mobile-frontend-no-article-found' => '検索した名称のページは存在しませんでした',
@@ -2508,9 +2671,29 @@
25092672 'mobile-frontend-wml-continue' => '続行 ...',
25102673 'mobile-frontend-wml-back' => '戻る ...',
25112674 'mobile-frontend-view' => 'モバイルビュー',
 2675+ 'mobile-frontend-opt-in-message' => '新しい携帯機器フロントエンドのオプトイン試用に参加しますか?',
25122676 'mobile-frontend-opt-in-yes-button' => 'はい',
25132677 'mobile-frontend-opt-in-no-button' => 'いいえ',
 2678+ 'mobile-frontend-opt-in-title' => '試用へのオプトイン',
 2679+ 'mobile-frontend-opt-in-explain' => 'これにより試用を始めることができます',
 2680+ 'mobile-frontend-opt-out-message' => '新しい携帯機器フロントエンドのオプトイン試用から離脱しますか?',
25142681 'mobile-frontend-opt-out-yes-button' => 'はい',
 2682+ 'mobile-frontend-opt-out-no-button' => 'いいえ',
 2683+ 'mobile-frontend-opt-out-title' => '試用からのオプトアウト',
 2684+ 'mobile-frontend-opt-out-explain' => 'これにより試用を止めることができます',
 2685+ 'mobile-frontend-disable-images' => '携帯機器ウェブサイトで画像を無効にする',
 2686+ 'mobile-frontend-enable-images' => '携帯機器ウェブサイトで画像を有効にする',
 2687+ 'mobile-frontend-news-items' => '新着情報',
 2688+ 'mobile-frontend-leave-feedback-title' => '携帯機器ウェブサイトの使用感について評価をお伝えください',
 2689+ 'mobile-frontend-leave-feedback-notice' => 'あなたの評価は携帯機器ウェブサイトの使用感を向上させる助けになります。評価は(利用者名、ブラウザのバージョン、オペレーティングシステムとともに)&quot;$1&quot;のページで公開されます。「幅の広い表の書式の問題」のように、情報の多い表題名を選ぶようにしてください。あなたから評価は私たちの利用規約の対象です。',
 2690+ 'mobile-frontend-leave-feedback-subject' => '表題',
 2691+ 'mobile-frontend-leave-feedback-message' => '本文',
 2692+ 'mobile-frontend-leave-feedback-cancel' => '中止',
 2693+ 'mobile-frontend-leave-feedback-submit' => '評価を送信',
 2694+ 'mobile-frontend-leave-feedback-link-text' => '携帯機器フロントエンド拡張の評価',
 2695+ 'mobile-frontend-leave-feedback' => '携帯機器ウェブサイトの評価',
 2696+ 'mobile-frontend-leave-feedback-thanks' => '評価をありがとうございます。',
 2697+ 'mobile-frontend-language' => '言語',
25152698 );
25162699
25172700 /** Georgian (ქართული)
@@ -2551,7 +2734,7 @@
25522735 'mobile-frontend-leave-feedback-cancel' => 'გაუქმება',
25532736 );
25542737
2555 -/** Kabardian (Cyrillic) (Адыгэбзэ (Cyrillic)) */
 2738+/** Адыгэбзэ (Адыгэбзэ) */
25562739 $messages['kbd-cyrl'] = array(
25572740 'mobile-frontend-search-submit' => 'ЕкIуэкIын',
25582741 'mobile-frontend-search-results' => 'Лъыхъуым къигъуэтахэр',
@@ -2587,7 +2770,7 @@
25882771 'mobile-frontend-hide-button' => 'Bınımne',
25892772 );
25902773
2591 -/** Kazakh (Cyrillic) (Қазақша (Cyrillic))
 2774+/** Kazakh (Cyrillic script) (‪Қазақша (кирил)‬)
25922775 * @author GaiJin
25932776 */
25942777 $messages['kk-cyrl'] = array(
@@ -2622,7 +2805,10 @@
26232806 'mobile-frontend-contact-us' => 'Apeqqutit oqaaseqaatillu uunga tikilluaqqusaapput mobile@wikipedia.org',
26242807 );
26252808
2626 -/** Khmer (ភាសាខ្មែរ) */
 2809+/** Khmer (ភាសាខ្មែរ)
 2810+ * @author គីមស៊្រុន
 2811+ * @author វ័ណថារិទ្ធ
 2812+ */
26272813 $messages['km'] = array(
26282814 'mobile-frontend-search-submit' => 'ទៅ',
26292815 'mobile-frontend-search-results' => 'លទ្ធផលស្វែងរក',
@@ -2636,21 +2822,32 @@
26372823 'mobile-frontend-hide-button' => 'លាក់',
26382824 'mobile-frontend-disable-button' => 'ឈប់ប្រើ',
26392825 'mobile-frontend-back-button' => 'ត្រលប់ក្រោយ',
2640 - 'mobile-frontend-regular-site' => 'បើកមើលទំព័រនេះនៅលើវិគីភីឌាធម្មតា',
 2826+ 'mobile-frontend-regular-site' => 'បើកមើលទំព័រនេះនៅលើ{{SITENAME}}ធម្មតា',
26412827 'mobile-frontend-perm-stop-redirect' => 'ឈប់ប្រើវិបសាយចល័តជារៀងរហូត',
26422828 'mobile-frontend-error-page-title' => 'យើងមានបញ្ហាហើយ!',
2643 - 'mobile-frontend-error-page-text' => 'វិគីភីឌាចល័តកំពុងស្ថិតក្រោមការអភិវឌ្ឍន៍​យ៉ាងសកម្ម ហើយយើងខ្ញុំកំពុង​ប្រឹងប្រែងយ៉ាងខ្លាំងក្លា​ក្នុងការកែប្រែកំហុសផ្ទៃក្នុងទាំងឡាយ។ យើងខ្ញុំទទួលការប្រាប់ព័ត៌មាន​អំពីកំហុសទាំងនោះ​ហើយយើងខ្ញុំនឹង​ធ្វើការកែប្រែវានាពេលឆាប់ៗនេះ។ សូមត្រលប់មកពិនិត្យមើលម្ដងទៀត!',
 2829+ 'mobile-frontend-error-page-text' => '{{SITENAME}} ចល័តកំពុងស្ថិតក្រោមការអភិវឌ្ឍន៍​យ៉ាងសកម្ម ហើយយើងខ្ញុំកំពុង​ប្រឹងប្រែងយ៉ាងខ្លាំងក្លា​ក្នុងការកែប្រែកំហុសផ្ទៃក្នុងទាំងឡាយ។ យើងខ្ញុំទទួលការប្រាប់ព័ត៌មាន​អំពីកំហុសទាំងនោះ​ហើយយើងខ្ញុំនឹង​ធ្វើការកែប្រែវានាពេលឆាប់ៗនេះ។ សូមត្រលប់មកពិនិត្យមើលម្ដងទៀត!',
26442830 'mobile-frontend-are-you-sure' => 'តើអ្នកប្រាកដហើយ?',
2645 - 'mobile-frontend-explain-disable' => 'តើអ្នកពិតជាចង់ឈប់ប្រើវើសិនសំរាប់ទូរស័ព្ទចល័តរបស់វិគីភីឌាមែនទេ? ប្រើសិនបើអ្នកជ្រើសយក <b>ឈប់ប្រើ</b> នោះចាប់ពីពេលនេះទៅ នៅពេលដែលអ្នកចូលមើលវិគីភីឌា អ្នកនឹងមិនត្រូវបញ្ជូនផ្ទាល់​ទៅកាន់ទំរង់សំរាប់ទូរស័ព្ទចល័តរបស់វិគីភីឌាទេ។',
 2831+ 'mobile-frontend-explain-disable' => 'តើអ្នកពិតជាចង់ឈប់ប្រើវើសិនសំរាប់ទូរស័ព្ទចល័តរបស់{{SITENAME}}មែនទេ? ប្រើសិនបើអ្នកជ្រើសយក <b>ឈប់ប្រើ</b> នោះចាប់ពីពេលនេះទៅ នៅពេលដែលអ្នកចូលមើល{{SITENAME}} អ្នកនឹងមិនត្រូវបញ្ជូនផ្ទាល់​ទៅកាន់ទំរង់សំរាប់ទូរស័ព្ទចល័តរបស់{{SITENAME}}ទេ។',
26462832 'mobile-frontend-nav-end' => 'ចប់',
26472833 'mobile-frontend-nav-top' => 'ផ្នែកខាងលើ',
26482834 'mobile-frontend-nav-edit' => 'កែប្រែ',
26492835 'mobile-frontend-nav-history' => 'ប្រវត្តិ',
26502836 'mobile-frontend-search-text' => 'ស្វែងរក',
26512837 'mobile-frontend-contact-us' => 'ប្រសិនបើអ្នកមានសំណួរឬមតិយោបល់ សូមផ្ញើអ៊ីមែលមកកាន់យើងខ្ញុំតាមរយៈ mobile@wikipedia.org',
2652 - 'mobile-frontend-author-link' => 'បើកមើលឯកសារមេឌានេះនៅលើវិគីភីឌាធម្មតា ដើម្បីមើលព័ត៌មានអំពីម្ចាស់កម្មសិទ្ធ អាជ្ញាប័ណ្ឌ និងការបរិយាយបន្ថែមទៀត។',
 2838+ 'mobile-frontend-author-link' => 'បើកមើលឯកសារមេឌានេះនៅលើ{{SITENAME}}ធម្មតា ដើម្បីមើលព័ត៌មានអំពីម្ចាស់កម្មសិទ្ធ អាជ្ញាប័ណ្ឌ និងការបរិយាយបន្ថែមទៀត។',
26532839 'mobile-frontend-download-full-version' => 'ទាញយកវើសិនពេញ',
26542840 'mobile-frontend-file-namespace' => 'ឯកសារ',
 2841+ 'mobile-frontend-wml-continue' => 'បន្ត...',
 2842+ 'mobile-frontend-wml-back' => 'ត្រលប់ក្រោយ...',
 2843+ 'mobile-frontend-view' => 'មើលលើឧបករណ៍ចល័ត',
 2844+ 'mobile-frontend-opt-in-yes-button' => 'បាទ/ចាស៎',
 2845+ 'mobile-frontend-opt-in-no-button' => 'ទេ',
 2846+ 'mobile-frontend-opt-out-yes-button' => 'បាទ/ចាស៎',
 2847+ 'mobile-frontend-opt-out-no-button' => 'ទេ',
 2848+ 'mobile-frontend-leave-feedback-subject' => 'ប្រធានបទ​',
 2849+ 'mobile-frontend-leave-feedback-message' => 'សារ',
 2850+ 'mobile-frontend-leave-feedback-cancel' => 'បោះបង់',
 2851+ 'mobile-frontend-language' => 'ភាសា',
26552852 );
26562853
26572854 /** Kannada (ಕನ್ನಡ) */
@@ -2701,25 +2898,43 @@
27022899 'mobile-frontend-hide-button' => '숨기기',
27032900 'mobile-frontend-disable-button' => '비활성화',
27042901 'mobile-frontend-back-button' => '돌아가기',
2705 - 'mobile-frontend-regular-site' => '일반판에서 이 문서 읽기',
 2902+ 'mobile-frontend-regular-site' => '{{SITENAME}} 일반판에서 이 문서 읽기',
27062903 'mobile-frontend-perm-stop-redirect' => '모바일 사이트에 다시 오지 않기',
27072904 'mobile-frontend-error-page-title' => '사이트에 문제가 있습니다.',
2708 - 'mobile-frontend-error-page-text' => '위키백과 모바일판은 아직 개발중이며 내부적인 문제를 고치기 위해 노력하고 있습니다. 저희는 이 문제에 대해 알고 있으며 조만간 수정될 것입니다. 잠시 후 다시 시도해보세요.',
 2905+ 'mobile-frontend-error-page-text' => '{{SITENAME}} 모바일판은 아직 개발중이며 내부적인 문제를 고치기 위해 노력하고 있습니다. 저희는 이 문제에 대해 알고 있으며 조만간 수정될 것입니다. 잠시 후 다시 시도해보세요.',
27092906 'mobile-frontend-are-you-sure' => '정말로 모바일판을 사용하지 않으시겠습니까?',
2710 - 'mobile-frontend-explain-disable' => '위키백과 모바일을 사용하지 않겠습니까? 만약 사용하지 <b>않을</b> 경우, 앞으로 위키백과에 접속할 때 자동으로 모바일 사이트로 넘어가지 않습니다.',
 2907+ 'mobile-frontend-explain-disable' => '{{SITENAME}} 모바일을 사용하지 않겠습니까? 만약 사용하지 <b>않을</b> 경우, 앞으로 {{SITENAME}}에 접속할 때 자동으로 모바일 사이트로 넘어가지 않습니다.',
27112908 'mobile-frontend-nav-end' => '끝',
27122909 'mobile-frontend-nav-top' => '위로',
27132910 'mobile-frontend-nav-edit' => '편집',
27142911 'mobile-frontend-nav-history' => '역사',
27152912 'mobile-frontend-search-text' => '찾기',
27162913 'mobile-frontend-contact-us' => '질문이나 의견이 있으시면 mobile@wikipedia.org 로 이메일을 보내 주시기 바랍니다.',
2717 - 'mobile-frontend-author-link' => '이 파일를 위키백과 웹 문서로 엽니다. 파일의 소유권, 라이선스 등의 정보를 볼 수 있습니다.',
 2914+ 'mobile-frontend-author-link' => '이 파일를 {{SITENAME}} 웹 문서로 엽니다. 파일의 소유권, 라이선스 등의 정보를 볼 수 있습니다.',
27182915 'mobile-frontend-download-full-version' => '전체 버전 다운로드',
 2916+ 'mobile-frontend-file-namespace' => '파일',
 2917+ 'mobile-frontend-wml-continue' => '계속...',
 2918+ 'mobile-frontend-wml-back' => '뒤로...',
27192919 'mobile-frontend-view' => '모바일판에서 보기',
 2920+ 'mobile-frontend-opt-in-yes-button' => '예',
 2921+ 'mobile-frontend-opt-in-no-button' => '아니오',
 2922+ 'mobile-frontend-opt-out-yes-button' => '예',
 2923+ 'mobile-frontend-opt-out-no-button' => '오아니오',
27202924 'mobile-frontend-disable-images' => '이미지를 표시하지 않도록 설정',
27212925 'mobile-frontend-enable-images' => '이미지를 표시하도록 설정',
27222926 'mobile-frontend-news-items' => '새로 들어온 소식',
 2927+ 'mobile-frontend-leave-feedback-notice' => '당신의 피드백이 모바일 사이트를 개선하는 데 도움이 됩니다. 피드백은 당신의 계정 이름, 브라우저 버전과 운영 체제 정보와 함께 &quot;$1&quot; 문서에 공개적으로 게시될 것입니다. 제목에 도움이 되는 정보를 입력해주세요. 예를 들면 "넓은 표에 관한 문제"라고 쓸 수 있습니다. 당신의 피드백은 이용 규약의 적용을 받습니다.',
 2928+ 'mobile-frontend-leave-feedback-subject' => '제목',
 2929+ 'mobile-frontend-leave-feedback-message' => '메시지',
 2930+ 'mobile-frontend-leave-feedback-cancel' => '취소',
 2931+ 'mobile-frontend-leave-feedback-submit' => '피드백 보내기',
 2932+ 'mobile-frontend-leave-feedback' => '모바일 사이트 피드백',
27232933 'mobile-frontend-feedback-page' => 'Project:모바일 확장 기능 피드백',
 2934+ 'mobile-frontend-leave-feedback-thanks' => '피드백해 주셔서 감사합니다!',
 2935+ 'mobile-frontend-language' => '언어',
 2936+ 'mobile-frontend-username' => '계정 이름:',
 2937+ 'mobile-frontend-password' => '비밀번호:',
 2938+ 'mobile-frontend-login' => '로그인',
27242939 );
27252940
27262941 /** Karachay-Balkar (Къарачай-Малкъар) */
@@ -2840,7 +3055,7 @@
28413056 'mobile-frontend-no-article-found' => 'Tu gotar nehate dîtin',
28423057 'mobile-frontend-in-the-news' => 'Di nûçeyan de',
28433058 'mobile-frontend-home-button' => 'Mal',
2844 - 'mobile-frontend-random-button' => 'Tesadufî',
 3059+ 'mobile-frontend-random-button' => 'Ketober',
28453060 'mobile-frontend-show-button' => 'Nîşan bide',
28463061 'mobile-frontend-hide-button' => 'Veşêre',
28473062 'mobile-frontend-disable-button' => 'Seqet',
@@ -2960,6 +3175,9 @@
29613176 'mobile-frontend-leave-feedback' => 'Feedback fir de mobile Site',
29623177 'mobile-frontend-leave-feedback-thanks' => 'Merci fir Äre Feedback!',
29633178 'mobile-frontend-language' => 'Sprooch',
 3179+ 'mobile-frontend-username' => 'Benotzernumm:',
 3180+ 'mobile-frontend-password' => 'Passwuert:',
 3181+ 'mobile-frontend-login' => 'Aloggen',
29643182 );
29653183
29663184 /** Lezghian (Лезги) */
@@ -3035,6 +3253,9 @@
30363254 'mobile-frontend-leave-feedback' => 'Laot feedback achter',
30373255 'mobile-frontend-leave-feedback-thanks' => 'Danke veure feedback!',
30383256 'mobile-frontend-language' => 'Sjpraok',
 3257+ 'mobile-frontend-username' => 'Gebroekersnaam:',
 3258+ 'mobile-frontend-password' => 'Wachwaord:',
 3259+ 'mobile-frontend-login' => 'Mèlj aan',
30393260 );
30403261
30413262 /** Lumbaart (Lumbaart) */
@@ -3260,6 +3481,9 @@
32613482 'mobile-frontend-feedback-page' => 'Project:Мислења за мобилниот додаток',
32623483 'mobile-frontend-leave-feedback-thanks' => 'Ви благодариме за искажаното мислење!',
32633484 'mobile-frontend-language' => 'Јазик',
 3485+ 'mobile-frontend-username' => 'Корисничко име:',
 3486+ 'mobile-frontend-password' => 'Лозинка:',
 3487+ 'mobile-frontend-login' => 'Најава',
32643488 );
32653489
32663490 /** Malayalam (മലയാളം)
@@ -3314,6 +3538,9 @@
33153539 'mobile-frontend-leave-feedback' => 'മൊബൈൽ സൈറ്റിനെക്കുറിച്ചുള്ള അഭിപ്രായങ്ങൾ',
33163540 'mobile-frontend-leave-feedback-thanks' => 'താങ്കളുടെ അഭിപ്രായത്തിനു വളരെ നന്ദി!',
33173541 'mobile-frontend-language' => 'ഭാഷ',
 3542+ 'mobile-frontend-username' => 'ഉപയോക്തൃനാമം:',
 3543+ 'mobile-frontend-password' => 'രഹസ്യവാക്ക്:',
 3544+ 'mobile-frontend-login' => 'പ്രവേശിക്കുക',
33183545 );
33193546
33203547 /** Mongolian (Монгол) */
@@ -3362,7 +3589,9 @@
33633590 'mobile-frontend-file-namespace' => 'Фишиер',
33643591 );
33653592
3366 -/** Marathi (मराठी) */
 3593+/** Marathi (मराठी)
 3594+ * @author Evision
 3595+ */
33673596 $messages['mr'] = array(
33683597 'mobile-frontend-search-submit' => 'चला',
33693598 'mobile-frontend-search-results' => 'शोधनिकाल',
@@ -3391,6 +3620,8 @@
33923621 'mobile-frontend-author-link' => 'नेहमीच्या विकिपीडीयावर ही मीडिया संचिका पहा. लेखक, परवाने व आणखी विवरण तेथे मिळेल.',
33933622 'mobile-frontend-download-full-version' => 'पूर्ण आवृत्ती उतरवून घ्या',
33943623 'mobile-frontend-file-namespace' => 'संचिका',
 3624+ 'mobile-frontend-leave-feedback-submit' => 'प्रतिक्रिया द्या',
 3625+ 'mobile-frontend-leave-feedback-thanks' => 'आपल्या प्रतिक्रियेबद्दल आभार !',
33953626 );
33963627
33973628 /** Malay (Bahasa Melayu)
@@ -3451,6 +3682,9 @@
34523683 'mobile-frontend-leave-feedback' => 'Tinggalkan maklum balas',
34533684 'mobile-frontend-leave-feedback-thanks' => 'Terima kasih atas maklum balas anda!',
34543685 'mobile-frontend-language' => 'Bahasa',
 3686+ 'mobile-frontend-username' => 'Nama pengguna:',
 3687+ 'mobile-frontend-password' => 'Kata laluan:',
 3688+ 'mobile-frontend-login' => 'Log masuk',
34553689 );
34563690
34573691 /** Maltese (Malti) */
@@ -3570,7 +3804,7 @@
35713805 'mobile-frontend-hide-button' => 'लुकाउने \\',
35723806 'mobile-frontend-disable-button' => 'निष्क्रिय',
35733807 'mobile-frontend-back-button' => 'पछाडि',
3574 - 'mobile-frontend-regular-site' => 'यो पृष्ठलाई नियमित विकिपीडियामा हेर्ने \\',
 3808+ 'mobile-frontend-regular-site' => 'यो पृष्ठलाई नियमित विकिपीडियामा हेर्ने',
35753809 'mobile-frontend-perm-stop-redirect' => 'मोबाइल साइट स्थाइरुमा असक्षम पार्ने',
35763810 'mobile-frontend-error-page-title' => 'हामीलाई समस्या आइरेको छ।',
35773811 'mobile-frontend-error-page-text' => 'विकिपीडिया मोबाइल अझै विकासको क्रममा नै रहेको छ र सबै आन्तरिक त्रुटिहरु सच्याउनामा हामी लागि परेका छौँ । यस त्रुटिका बारेमा हामीलाई जानकारी गराइएको छ र निकट भविष्यमा नै सच्याइने छ । कृपया पुन जाँच गर्नुहोला ।',
@@ -3599,7 +3833,7 @@
36003834 'mobile-frontend-no-article-found' => 'Geen resultaten gevonden',
36013835 'mobile-frontend-featured-article' => 'Uitgelicht',
36023836 'mobile-frontend-in-the-news' => 'Actueel',
3603 - 'mobile-frontend-home-button' => 'Hoofdpagina',
 3837+ 'mobile-frontend-home-button' => 'Start',
36043838 'mobile-frontend-random-button' => 'Willekeurig',
36053839 'mobile-frontend-back-to-top-of-section' => 'Een kopje terugspringen',
36063840 'mobile-frontend-show-button' => 'Weergeven',
@@ -3647,8 +3881,11 @@
36483882 'mobile-frontend-leave-feedback-submit' => 'Terugkoppeling opslaan',
36493883 'mobile-frontend-leave-feedback-link-text' => 'Mobiele Frontend-terugkoppeling',
36503884 'mobile-frontend-leave-feedback' => 'Terugkoppeling achterlaten',
3651 - 'mobile-frontend-leave-feedback-thanks' => 'Dank u voor uw terugkoppeling.',
 3885+ 'mobile-frontend-leave-feedback-thanks' => 'Bedankt voor uw terugkoppeling!',
36523886 'mobile-frontend-language' => 'Taal',
 3887+ 'mobile-frontend-username' => 'Gebruikersnaam:',
 3888+ 'mobile-frontend-password' => 'Wachtwoord:',
 3889+ 'mobile-frontend-login' => 'Aanmelden',
36533890 );
36543891
36553892 /** Norwegian Nynorsk (‪Norsk (nynorsk)‬)
@@ -3687,6 +3924,7 @@
36883925
36893926 /** Norwegian (bokmål)‬ (‪Norsk (bokmål)‬)
36903927 * @author Event
 3928+ * @author Jon Harald Søby
36913929 * @author Nghtwlkr
36923930 */
36933931 $messages['no'] = array(
@@ -3706,27 +3944,30 @@
37073945 'mobile-frontend-regular-site' => 'Vis denne siden på vanlig {{SITENAME}}',
37083946 'mobile-frontend-perm-stop-redirect' => 'Deaktiver mobilside permanent',
37093947 'mobile-frontend-error-page-title' => 'Vi har et problem!',
3710 - 'mobile-frontend-error-page-text' => '{{SITENAME}} mobil er fortsatt under aktiv utvikling og vi jobber hardt med å fikse alle våre interne feil. Vi har blitt varslet om denne feilen, og vil fikse den snart. Kom gjerne tilbake senere!',
 3948+ 'mobile-frontend-error-page-text' => '{{SITENAME}} for mobil er fortsatt under aktiv utvikling, og vi jobber hardt med å fikse våre interne feil. Vi har blitt varslet om denne feilen, og vil fikse den snart. Kom gjerne tilbake!',
37113949 'mobile-frontend-are-you-sure' => 'Er du sikker?',
3712 - 'mobile-frontend-explain-disable' => 'Er du sikker på at du vil deaktivere den mobile utgaven av {{SITENAME}}? Dersom du velger <b>Deaktiver</b> vil du fra nå av, hver gang du besøker {{SITENAME}}, ikke lenger bli omdirigert til denne mobilvisningen av {{SITENAME}}.',
 3950+ 'mobile-frontend-explain-disable' => 'Er du sikker på at du ønsker å deaktivere mobilutgaven av {{SITENAME}}? Om du velger <b>Deaktiver</b> vil du ikke lenger bli omdirigert til mobilutgaven av {{SITENAME}}.',
37133951 'mobile-frontend-nav-end' => 'Slutt',
37143952 'mobile-frontend-nav-top' => 'Topp',
37153953 'mobile-frontend-nav-edit' => 'Rediger',
37163954 'mobile-frontend-nav-history' => 'Historikk',
37173955 'mobile-frontend-search-text' => 'Søk',
37183956 'mobile-frontend-contact-us' => 'Om du har spørsmål eller kommentarer, send oss en e-post på mobile@wikipedia.org',
3719 - 'mobile-frontend-author-link' => 'Vis denne mediafilen i vanlig {{SITENAME}} for å se informasjon om forfatterskap, lisensiering og ytterligere beskrivelser.',
 3957+ 'mobile-frontend-author-link' => 'Vis denne mediefilen på vanlig {{SITENAME}} for å se informasjon om opphavsperson, lisensiering og ytterligere beskrivelser.',
37203958 'mobile-frontend-download-full-version' => 'Last ned fullversjon',
37213959 'mobile-frontend-file-namespace' => 'Fil',
37223960 'mobile-frontend-wml-continue' => 'Fortsett ...',
37233961 'mobile-frontend-wml-back' => 'Tilbake ...',
37243962 'mobile-frontend-view' => 'Mobilvisning',
 3963+ 'mobile-frontend-opt-in-message' => 'Bli med i vår valgfrie testing av den nye mobilutgaven?',
37253964 'mobile-frontend-opt-in-yes-button' => 'ja',
37263965 'mobile-frontend-opt-in-no-button' => 'nei',
37273966 'mobile-frontend-opt-in-title' => 'Påmelding til testing',
37283967 'mobile-frontend-opt-in-explain' => 'Dette tillater deg å delta i testingen',
 3968+ 'mobile-frontend-opt-out-message' => 'Forlate valgfri testing av mobilutgaven?',
37293969 'mobile-frontend-opt-out-yes-button' => 'ja',
37303970 'mobile-frontend-opt-out-no-button' => 'nei',
 3971+ 'mobile-frontend-opt-out-title' => 'Meld deg ut av testing',
37313972 'mobile-frontend-opt-out-explain' => 'Dette lar deg forlate testen',
37323973 'mobile-frontend-disable-images' => 'Deaktiver bilder på mobilsiden',
37333974 'mobile-frontend-enable-images' => 'Gjør tilgjengelig bilder på mobilnettstedet',
@@ -3740,6 +3981,7 @@
37413982 'mobile-frontend-leave-feedback-link-text' => 'Tilbakemelding på utvidelsen MobileFrontend',
37423983 'mobile-frontend-leave-feedback' => 'Tilbakemelding på mobilnettsted',
37433984 'mobile-frontend-leave-feedback-thanks' => 'Takk for din tilbakemelding!',
 3985+ 'mobile-frontend-language' => 'Språk',
37443986 );
37453987
37463988 /** Occitan (Occitan)
@@ -3839,6 +4081,7 @@
38404082 'mobile-frontend-leave-feedback-link-text' => 'ମୋବାଇଲ ଆଗ ଭାଗ ଏକ୍ସଟେନସନ ମତାମତ',
38414083 'mobile-frontend-leave-feedback' => 'ମୋବାଇଲ ସାଇଟ ମତାମତ',
38424084 'mobile-frontend-leave-feedback-thanks' => 'ଆପଣଙ୍କ ମତାମତ ନିମନ୍ତେ ଧନ୍ୟବାଦ!',
 4085+ 'mobile-frontend-language' => 'ଭାଷା',
38434086 );
38444087
38454088 /** Ossetic (Ирон)
@@ -3940,12 +4183,21 @@
39414184 'mobile-frontend-contact-us' => 'Si bo tin kualkier pregunta òf komentario por fabor manda un e-mail na mobile@wikipedia.org',
39424185 );
39434186
3944 -/** Deitsch (Deitsch) */
 4187+/** Deitsch (Deitsch)
 4188+ * @author Xqt
 4189+ */
39454190 $messages['pdc'] = array(
39464191 'mobile-frontend-search-submit' => 'Geh los',
 4192+ 'mobile-frontend-home-button' => 'Schtaert',
39474193 'mobile-frontend-show-button' => 'Zeig',
39484194 'mobile-frontend-back-button' => 'Zerrick',
 4195+ 'mobile-frontend-nav-end' => 'End',
39494196 'mobile-frontend-search-text' => 'Uffgucke',
 4197+ 'mobile-frontend-file-namespace' => 'Feil',
 4198+ 'mobile-frontend-opt-out-yes-button' => 'Ya',
 4199+ 'mobile-frontend-opt-out-no-button' => 'Nee',
 4200+ 'mobile-frontend-leave-feedback-message' => 'Melding',
 4201+ 'mobile-frontend-language' => 'Schprooch',
39504202 );
39514203
39524204 /** Pälzisch (Pälzisch) */
@@ -4177,6 +4429,7 @@
41784430
41794431 /** Portuguese (Português)
41804432 * @author Hamilton Abreu
 4433+ * @author João Sousa
41814434 * @author Malafaya
41824435 * @author MetalBrasil
41834436 * @author SandroHc
@@ -4235,6 +4488,7 @@
42364489 'mobile-frontend-leave-feedback-link-text' => 'Avaliação da versão móbil',
42374490 'mobile-frontend-leave-feedback' => 'Deixar avaliação',
42384491 'mobile-frontend-leave-feedback-thanks' => 'Obrigado pela tua avaliação!',
 4492+ 'mobile-frontend-language' => 'Língua',
42394493 );
42404494
42414495 /** Brazilian Portuguese (Português do Brasil)
@@ -4393,6 +4647,11 @@
43944648 'mobile-frontend-leave-feedback-submit' => 'Trimite părerea',
43954649 'mobile-frontend-leave-feedback-link-text' => 'Păreri despre interfața mobilă',
43964650 'mobile-frontend-leave-feedback' => 'Scrieți-vă părerea',
 4651+ 'mobile-frontend-leave-feedback-thanks' => 'Vă mulțumim pentru feedback!',
 4652+ 'mobile-frontend-language' => 'Limbă',
 4653+ 'mobile-frontend-username' => 'Nume de utilizator:',
 4654+ 'mobile-frontend-password' => 'Parolă:',
 4655+ 'mobile-frontend-login' => 'Autentificare',
43974656 );
43984657
43994658 /** Tarandíne (Tarandíne)
@@ -4633,7 +4892,7 @@
46344893 'mobile-frontend-contact-us' => 'Siddu aviti quistioni o cummenti putiti cuntattarini via email ô nnirizzu mobile@wikipedia.org',
46354894 );
46364895
4637 -/** Serbo-Croatian (Srpskohrvatski / Српскохрватски) */
 4896+/** Serbo-Croatian (Srpskohrvatski) */
46384897 $messages['sh'] = array(
46394898 'mobile-frontend-search-submit' => 'Idi',
46404899 'mobile-frontend-search-results' => 'Rezultati pretrage',
@@ -4661,7 +4920,7 @@
46624921 'mobile-frontend-contact-us' => 'Ako imate pitanja ili komentare slobodno nam pošaljite E-mail na mobile@wikipedia.org',
46634922 );
46644923
4665 -/** Tachelhit (Tašlḥiyt) */
 4924+/** Tachelhit (Tašlḥiyt/ⵜⴰⵛⵍⵃⵉⵜ) */
46664925 $messages['shi'] = array(
46674926 'mobile-frontend-search-results' => 'Imyakkatn n icnubc',
46684927 'mobile-frontend-no-article-found' => 'Ur nufa kra n umli ɣid',
@@ -4689,6 +4948,7 @@
46904949 );
46914950
46924951 /** Sinhala (සිංහල)
 4952+ * @author පසිඳු කාවින්ද
46934953 * @author බිඟුවා
46944954 */
46954955 $messages['si'] = array(
@@ -4704,10 +4964,10 @@
47054965 'mobile-frontend-hide-button' => 'සඟවන්න',
47064966 'mobile-frontend-disable-button' => 'අක්‍රීය කරන්න',
47074967 'mobile-frontend-back-button' => 'ආපසු',
4708 - 'mobile-frontend-regular-site' => 'මෙම පිටුව සාමාන්‍ය විකිපීඩියා මත දක්වන්න',
 4968+ 'mobile-frontend-regular-site' => 'මෙම පිටුව සාමාන්‍ය {{SITENAME}} මත දක්වන්න',
47094969 'mobile-frontend-perm-stop-redirect' => 'ජංගම අඩවිය ස්ථිරවම අක්‍රීය කරන්න',
47104970 'mobile-frontend-error-page-title' => 'අපට ප්‍රශ්නයක් තිබේ!',
4711 - 'mobile-frontend-error-page-text' => 'ජංගම විකිපීඩියාව තවමත් සංවර්ධනය කරමින් පවතින අතර අභ්‍යන්තර දෝෂ සමනය කිරීමට අපි කටයුතු කරමින් සිටිමු.අපට මෙම දෝෂය පිළිබඳ දන්වනු ලැබ ඇති අතර එය ඉක්මනින් නිවැරදි කරනු ඇත.කරුණාකර නැවත පරීක්ෂා කරන්න!',
 4971+ 'mobile-frontend-error-page-text' => 'ජංගම {{SITENAME}} තවමත් සංවර්ධනය කරමින් පවතින අතර අභ්‍යන්තර දෝෂ සමනය කිරීමට අපි කටයුතු කරමින් සිටිමු. අපට මෙම දෝෂය පිළිබඳ දන්වනු ලැබ ඇති අතර එය ඉක්මනින් නිවැරදි කරනු ඇත. කරුණාකර නැවත පරීක්ෂා කරන්න!',
47124972 'mobile-frontend-are-you-sure' => 'ඔබට විශ්වාසද ?',
47134973 'mobile-frontend-explain-disable' => 'ඔබට නිසැකවම විකිපීඩියාවල ජංගම අනුවාදය අක්‍රීය කිරීමට අවශ්‍ය ද?ඔබ <b>අක්‍රීය කරන්න</b> තෝරාගනු ලැබුවහොත්,මෙතැන් සිට,ඔබ විකිපීඩියා වෙත පිවිසෙන විට,ඔබ මෙම විකිපීඩියා ජංගම දසුන වෙත ආපසු හරවා නොයවනු ඇත.',
47144974 'mobile-frontend-nav-end' => '෴',
@@ -4719,6 +4979,7 @@
47204980 'mobile-frontend-file-namespace' => 'ගොනුව',
47214981 'mobile-frontend-wml-continue' => 'දිගට කර ගෙන යමින්...',
47224982 'mobile-frontend-wml-back' => 'ආපසු...',
 4983+ 'mobile-frontend-view' => 'ජංගම දසුන',
47234984 'mobile-frontend-opt-in-yes-button' => 'ඔව්',
47244985 'mobile-frontend-opt-in-no-button' => 'නැත',
47254986 'mobile-frontend-opt-out-yes-button' => 'ඔව්',
@@ -4728,6 +4989,9 @@
47294990 'mobile-frontend-leave-feedback-cancel' => 'අවලංගු කරන්න',
47304991 'mobile-frontend-leave-feedback-submit' => 'ප්‍රතිපෝෂණය ඉදිරිපත් කරන්න',
47314992 'mobile-frontend-language' => 'භාෂාව',
 4993+ 'mobile-frontend-username' => 'පරිශීලක නාමය:',
 4994+ 'mobile-frontend-password' => 'මුරපදය:',
 4995+ 'mobile-frontend-login' => 'පිවිසෙන්න',
47324996 );
47334997
47344998 /** Slovak (Slovenčina) */
@@ -4816,6 +5080,9 @@
48175081 'mobile-frontend-leave-feedback' => 'Pustite povratne informacije',
48185082 'mobile-frontend-leave-feedback-thanks' => 'Hvala za povratne informacije!',
48195083 'mobile-frontend-language' => 'Jezik',
 5084+ 'mobile-frontend-username' => 'Uporabniško ime:',
 5085+ 'mobile-frontend-password' => 'Geslo:',
 5086+ 'mobile-frontend-login' => 'Prijava',
48205087 );
48215088
48225089 /** Albanian (Shqip) */
@@ -4850,6 +5117,7 @@
48515118 );
48525119
48535120 /** Serbian (Cyrillic script) (‪Српски (ћирилица)‬)
 5121+ * @author Nikola Smolenski
48545122 * @author Rancher
48555123 */
48565124 $messages['sr-ec'] = array(
@@ -4869,7 +5137,7 @@
48705138 'mobile-frontend-regular-site' => 'Погледајте ову страницу у обичном режиму',
48715139 'mobile-frontend-perm-stop-redirect' => 'Трајно онемогући мобилни приказ',
48725140 'mobile-frontend-error-page-title' => 'Дошло је до проблема!',
4873 - 'mobile-frontend-error-page-text' => 'Мобилно издање викије {{SITENAME}} је још увек у активном развоју, и напорно радимо да поправимо све унутрашње грешке. Обавештени смо о овој грешци и исправићемо је ускоро. Свратите нам опет!',
 5141+ 'mobile-frontend-error-page-text' => 'Мобилно издање викија {{SITENAME}} је још увек у активном развоју, и напорно радимо да поправимо све унутрашње грешке. Обавештени смо о овој грешци и исправићемо је ускоро. Свратите нам опет!',
48745142 'mobile-frontend-are-you-sure' => 'Јесте ли сигурни?',
48755143 'mobile-frontend-explain-disable' => 'Желите ли да онемогућите мобилно издање овог викија? Ако изаберете <i>Онемогући</i>, од сада па надаље нећете бити преусмеравани на овај мобилни приказ када посетите {{SITENAME}}.',
48765144 'mobile-frontend-nav-end' => 'Крај',
@@ -4903,7 +5171,7 @@
49045172 'mobile-frontend-language' => 'Језик',
49055173 );
49065174
4907 -/** Serbian Latin ekavian (‪Srpski (latinica)‬) */
 5175+/** Serbian (Latin script) (‪Srpski (latinica)‬) */
49085176 $messages['sr-el'] = array(
49095177 'mobile-frontend-search-submit' => 'Idi',
49105178 'mobile-frontend-search-results' => 'Rezultati pretrage',
@@ -4964,6 +5232,7 @@
49655233
49665234 /** Swedish (Svenska)
49675235 * @author Ainali
 5236+ * @author Diupwijk
49685237 * @author Lokal Profil
49695238 * @author WikiPhoenix
49705239 */
@@ -5021,6 +5290,7 @@
50225291 'mobile-frontend-leave-feedback-link-text' => 'Feedback för mobilgränssnitt',
50235292 'mobile-frontend-leave-feedback' => 'Lämna feedback',
50245293 'mobile-frontend-leave-feedback-thanks' => 'Tack för din feedback!',
 5294+ 'mobile-frontend-language' => 'Språk',
50255295 );
50265296
50275297 /** Swahili (Kiswahili) */
@@ -5063,22 +5333,25 @@
50645334 'mobile-frontend-file-namespace' => 'Plik',
50655335 );
50665336
5067 -/** Tamil (தமிழ்) */
 5337+/** Tamil (தமிழ்)
 5338+ * @author Surya Prakash.S.A.
 5339+ */
50685340 $messages['ta'] = array(
 5341+ 'mobile-frontend-desc' => 'கைபேசி முகப்பு',
50695342 'mobile-frontend-search-submit' => 'செல்',
50705343 'mobile-frontend-search-results' => 'தேடல் முடிவுகள்',
50715344 'mobile-frontend-no-article-found' => 'கட்டுரை இல்லை',
5072 - 'mobile-frontend-featured-article' => 'இன்றைய சிறப்புக் கட்டுரை',
 5345+ 'mobile-frontend-featured-article' => 'முதற்பக்கக் கட்டுரைகள்',
50735346 'mobile-frontend-in-the-news' => 'செய்திகளில்',
5074 - 'mobile-frontend-home-button' => 'முதல் பக்கம்',
5075 - 'mobile-frontend-random-button' => 'ஏதாவது',
 5347+ 'mobile-frontend-home-button' => 'முகப்பு',
 5348+ 'mobile-frontend-random-button' => 'ஏதாவது ஒரு கட்டுரை',
50765349 'mobile-frontend-back-to-top-of-section' => 'முதல் பத்திக்குச் செல்',
50775350 'mobile-frontend-show-button' => 'காட்டு',
50785351 'mobile-frontend-hide-button' => 'மறை',
50795352 'mobile-frontend-disable-button' => 'செயலிழக்கச் செய்',
50805353 'mobile-frontend-back-button' => 'பின் செல்',
50815354 'mobile-frontend-regular-site' => 'இப்பக்கத்தை தமிழ் விக்கிப்பீடியாவில் காண',
5082 - 'mobile-frontend-perm-stop-redirect' => 'இனி எப்போதும் நகர்பேசித்தளம் வேண்டாம்',
 5355+ 'mobile-frontend-perm-stop-redirect' => 'இனி எப்போதும் கைபேசித்தளம் வேண்டாம்',
50835356 'mobile-frontend-error-page-title' => 'சிக்கல்!',
50845357 'mobile-frontend-error-page-text' => 'விக்கிப்பீடியா நகர்பேசி வடிவம் இன்னமும் நிறைவடையவில்லை. இதிலுள்ள வழுக்களைச் சரி செய்ய முயன்று வருகிறோம். இவ்வழு எங்களுக்குத் தெரிவிக்கப்பட்டுள்ளது, விரைவில் சரி செய்யப்படும். மீண்டும் வந்து பாருங்கள்!',
50855358 'mobile-frontend-are-you-sure' => 'உறுதியாகவா?',
@@ -5092,6 +5365,20 @@
50935366 'mobile-frontend-author-link' => 'ஆக்குனர், உரிமம் மேலும் பல விவரங்களை அறிய இவ்வூடகக் கோப்பை சாதாரண விக்கிப்பீடியாவில் பார்க்கவும்',
50945367 'mobile-frontend-download-full-version' => 'முழு பதிப்பையும் தரவிறக்கவும்',
50955368 'mobile-frontend-file-namespace' => 'கோப்பு',
 5369+ 'mobile-frontend-wml-continue' => 'தொடர்க...',
 5370+ 'mobile-frontend-wml-back' => 'பின்னால்...',
 5371+ 'mobile-frontend-view' => 'கைபேசிப் பார்வை',
 5372+ 'mobile-frontend-opt-in-yes-button' => 'ஆம்',
 5373+ 'mobile-frontend-opt-in-no-button' => 'இல்லை',
 5374+ 'mobile-frontend-opt-out-yes-button' => 'ஆம்',
 5375+ 'mobile-frontend-opt-out-no-button' => 'இல்லை',
 5376+ 'mobile-frontend-disable-images' => 'கைபேசித் தளத்தில் படிமங்களைச் செயலிழக்கச் செய்க',
 5377+ 'mobile-frontend-enable-images' => 'கைபேசித் தளத்தில் படிமங்களைச் செயற்படுத்துக',
 5378+ 'mobile-frontend-news-items' => 'செய்திகளில்',
 5379+ 'mobile-frontend-leave-feedback-title' => 'கைபேசித் தளத்தைப் பற்றிய கருத்துகளைத் தரவும்',
 5380+ 'mobile-frontend-leave-feedback-subject' => 'பொருள்',
 5381+ 'mobile-frontend-leave-feedback-message' => 'தகவல்',
 5382+ 'mobile-frontend-language' => 'மொழி',
50965383 );
50975384
50985385 /** Telugu (తెలుగు)
@@ -5141,7 +5428,7 @@
51425429 'mobile-frontend-search-text' => 'Buka',
51435430 );
51445431
5145 -/** Tajik (Cyrillic) (Тоҷикӣ (Cyrillic)) */
 5432+/** Tajik (Cyrillic script) (Тоҷикӣ) */
51465433 $messages['tg-cyrl'] = array(
51475434 'mobile-frontend-search-submit' => 'Бирав',
51485435 'mobile-frontend-search-results' => 'Натоиҷи Ҷустуҷӯ',
@@ -5172,7 +5459,9 @@
51735460 'mobile-frontend-file-namespace' => 'Парванда',
51745461 );
51755462
5176 -/** Thai (ไทย) */
 5463+/** Thai (ไทย)
 5464+ * @author Horus
 5465+ */
51775466 $messages['th'] = array(
51785467 'mobile-frontend-search-submit' => 'ไป',
51795468 'mobile-frontend-search-results' => 'ผลการค้นหา',
@@ -5201,6 +5490,11 @@
52025491 'mobile-frontend-author-link' => 'ดูไฟล์สื่อนี้บนวิกิพีเดียปกติ เพื่อดูข้อมูลเกี่ยวกับเจ้าของผลงาน สัญญาอนุญาต และคำอธิบายเพิ่มเติม',
52035492 'mobile-frontend-download-full-version' => 'ดาวน์โหลดเวอร์ชันเต็ม',
52045493 'mobile-frontend-file-namespace' => 'ไฟล์',
 5494+ 'mobile-frontend-view' => 'รุ่นโมบายล์',
 5495+ 'mobile-frontend-news-items' => 'เรื่องจากข่าว',
 5496+ 'mobile-frontend-leave-feedback-message' => 'ข้อความ',
 5497+ 'mobile-frontend-leave-feedback-cancel' => 'ยกเลิก',
 5498+ 'mobile-frontend-language' => 'ภาษา',
52055499 );
52065500
52075501 /** Turkmen (Türkmençe) */
@@ -5289,7 +5583,7 @@
52905584 'mobile-frontend-opt-in-no-button' => 'hayır',
52915585 );
52925586
5293 -/** Tatar (Cyrillic) (Татарча/Tatarça (Cyrillic)) */
 5587+/** Tatar (Cyrillic script) (Татарча) */
52945588 $messages['tt-cyrl'] = array(
52955589 'mobile-frontend-search-submit' => 'Күчү',
52965590 'mobile-frontend-search-results' => 'Эзләү нәтиҗәләре',
@@ -5320,7 +5614,7 @@
53215615 'mobile-frontend-file-namespace' => 'Файл',
53225616 );
53235617
5324 -/** ئۇيغۇرچە (ئۇيغۇرچە) */
 5618+/** Uyghur (Arabic script) (ئۇيغۇرچە) */
53255619 $messages['ug-arab'] = array(
53265620 'mobile-frontend-search-submit' => 'يۆتكەل',
53275621 'mobile-frontend-search-results' => 'ئىزدەش نەتىجىسى',
@@ -5350,6 +5644,8 @@
53515645
53525646 /** Ukrainian (Українська)
53535647 * @author Dim Grits
 5648+ * @author Gucci Mane Burrr
 5649+ * @author Sodmy
53545650 */
53555651 $messages['uk'] = array(
53565652 'mobile-frontend-desc' => 'Мобільний інтерфейс',
@@ -5406,6 +5702,8 @@
54075703 'mobile-frontend-leave-feedback' => 'Залишити відгук',
54085704 'mobile-frontend-feedback-page' => 'Project:Mobile Extension Feedback',
54095705 'mobile-frontend-leave-feedback-thanks' => 'Дякуємо, за ваш відгук!',
 5706+ 'mobile-frontend-language' => 'Мова',
 5707+ 'mobile-frontend-password' => 'Пароль:',
54105708 );
54115709
54125710 /** Urdu (اردو) */
@@ -5525,8 +5823,12 @@
55265824 'mobile-frontend-leave-feedback-submit' => 'Gửi phản hồi',
55275825 'mobile-frontend-leave-feedback-link-text' => 'Phản hồi về giao diện di động',
55285826 'mobile-frontend-leave-feedback' => 'Gửi phản hồi',
 5827+ 'mobile-frontend-feedback-page' => 'Project:Phản hồi Phần mở rộng Di động',
55295828 'mobile-frontend-leave-feedback-thanks' => 'Cám ơn phản hồi của bạn!',
55305829 'mobile-frontend-language' => 'Ngôn ngữ',
 5830+ 'mobile-frontend-username' => 'Tên người dùng:',
 5831+ 'mobile-frontend-password' => 'Mật khẩu:',
 5832+ 'mobile-frontend-login' => 'Đăng nhập',
55315833 );
55325834
55335835 /** Volapük (Volapük)
Index: branches/wmf/1.18wmf1/extensions/MobileFrontend/stylesheets/wii.css
@@ -1,305 +1,306 @@
2 -table {
3 - border-spacing: 0 !important;
4 - width: 100%;
5 - border-collapse: collapse !important;
6 - border: 1px solid #cccccc;
7 - padding: 3px;
8 - margin-bottom: 15px; }
9 - table td, table th {
10 - border: 1px solid #cccccc;
11 - padding: 3px; }
12 - table table {
13 - border: 0; }
14 - table table td, table table th {
15 - border: 0; }
16 - table.toc {
17 - background: #f9f9f9; }
18 - table.toc h2 {
19 - border: 0;
20 - padding: 0;
21 - margin-top: 5px; }
22 - table.navbox {
23 - font-size: 0.9em;
24 - width: 100% !important; }
25 - table.navbox th.navbox-title {
26 - background: #ccccff;
27 - padding: 5px; }
28 - table.navbox td.navbox-abovebelow {
29 - padding: 3px; }
30 - table.navbox td.navbox-group {
31 - background: #ddddff;
32 - width: 25%;
33 - padding: 3px; }
34 - table.navbox td.navbox-group + td {
35 - padding: 3px; }
36 - table.navbox div[style*="padding"] {
37 - padding-left: 0 !important;
38 - padding-right: 0 !important; }
39 - table.navbox div[style*="padding"] a {
40 - white-space: pre-wrap; }
41 - table.navbox span[style*="white"] {
42 - white-space: pre-wrap !important; }
43 - table.navbox td, table.navbox th {
44 - padding: 0; }
45 - table.navbox table {
46 - margin-bottom: 0; }
47 - table.wikitable th {
48 - background: #f3f3f3; }
49 - table[style] {
50 - width: 100% !important;
51 - float: none !important;
52 - margin-left: 0 !important; }
53 - table.infobox {
54 - background: #f9f9f9; }
55 - table.infobox th, table.infobox td {
56 - border: 0; }
57 - table.infobox td[colspan="3"], table.infobox th[colspan="3"] {
58 - border: 1px solid #cccccc; }
59 - table.gallery {
60 - background: #f9f9f9;
61 - border-bottom: 0; }
62 - table.gallery th, table.gallery td {
63 - display: block;
64 - border: 0;
65 - border-bottom: 1px solid #cccccc; }
66 - table.gallery .gallerybox[style] {
67 - width: auto !important;
68 - margin-bottom: -16px; }
69 - table.gallery .thumb[style] {
70 - border: 0;
71 - padding: 0 !important;
72 - width: auto !important;
73 - margin: 0 auto; }
74 - table.gallery .gallerytext {
75 - margin-top: -12px;
76 - text-align: center; }
77 - table.geography[style] th {
78 - text-align: left; }
79 - table.geography[style] td[style*="text-align"], table.geography[style] td[colspan="2"] {
80 - text-align: left !important;
81 - margin-left: 0 !important;
82 - margin-right: 0 !important; }
83 - table.geography[style] td[style*="text-align"] div[style], table.geography[style] td[colspan="2"] div[style] {
84 - text-align: left !important; }
 2+table table {
 3+ border: 0;
 4+}
855
 6+table table td, table table th {
 7+ border: 0;
 8+}
 9+
 10+table.toc {
 11+ background: #f9f9f9;
 12+}
 13+
 14+table.navbox td.navbox-abovebelow {
 15+ padding: 3px;
 16+}
 17+
 18+table.navbox td.navbox-group + td {
 19+ padding: 3px;
 20+}
 21+
 22+table.navbox div[style*="padding"] a {
 23+ white-space: pre-wrap;
 24+}
 25+
 26+table.navbox span[style*="white"] {
 27+ white-space: pre-wrap !important;
 28+}
 29+
 30+table.navbox td, table.navbox th {
 31+ padding: 0;
 32+}
 33+
 34+table.navbox table {
 35+ margin-bottom: 0;
 36+}
 37+
 38+table.wikitable th {
 39+ background: #f3f3f3;
 40+}
 41+
 42+table.infobox {
 43+ background: #f9f9f9;
 44+}
 45+
 46+table.infobox th, table.infobox td {
 47+ border: 0;
 48+}
 49+
 50+table.infobox td[colspan="3"], table.infobox th[colspan="3"] {
 51+ border: 1px solid #cccccc;
 52+}
 53+
 54+table.gallery .gallerytext {
 55+ margin-top: -12px;
 56+ text-align: center;
 57+}
 58+
 59+table.geography[style] th {
 60+ text-align: left;
 61+}
 62+
 63+table.geography[style] td[style*="text-align"] div[style], table.geography[style] td[colspan="2"] div[style] {
 64+ text-align: left !important;
 65+}
 66+
8667 table.admin {
87 - width: 300px; }
 68+ width: 300px;
 69+}
8870
8971 html {
90 - font-size: 0.8em; }
 72+ font-size: 0.8em;
 73+}
9174
9275 body {
93 - line-height: 1;
94 - color: black;
95 - background: white;
96 - font-family: sans-serif;
97 - overflow-x: hidden;
98 - -webkit-text-size-adjust: none; }
 76+ line-height: 1;
 77+ color: black;
 78+ background: white;
 79+ font-family: sans-serif;
 80+ overflow-x: hidden;
 81+ -webkit-text-size-adjust: none;
 82+}
9983
10084 p, li, dl, #featured_article {
101 - line-height: 1.65; }
 85+ line-height: 1.65;
 86+}
10287
10388 pre {
104 - white-space: pre-wrap; }
 89+ white-space: pre-wrap;
 90+}
10591
10692 h2 {
107 - border-bottom: 1px solid #aaaaaa;
108 - padding-top: 0.3em; }
 93+ border-bottom: 1px solid #aaaaaa;
 94+ padding-top: 0.3em;
 95+}
10996
11097 a {
111 - text-decoration: none;
112 - color: #002bb8; }
113 - a:visited {
114 - color: #5a3696; }
115 - a:active {
116 - color: #faa700; }
117 - a:hover {
118 - text-decoration: underline; }
 98+ text-decoration: none;
 99+ color: #002bb8;
 100+}
119101
 102+a:visited {
 103+ color: #5a3696;
 104+}
 105+
 106+a:active {
 107+ color: #faa700;
 108+}
 109+
 110+a:hover {
 111+ text-decoration: underline;
 112+}
 113+
120114 a.new, a.new:visited, a.new:hover {
121 - color: red; }
 115+ color: red;
 116+}
122117
123118 a.back_to_top, a.back_to_top:visited {
124 - margin-top: 7px;
125 - color: blue; }
 119+ margin-top: 7px;
 120+ color: blue;
 121+}
126122
127123 .links {
128 - float: left;
129 - padding: 10px; }
 124+ float: left;
 125+ padding: 10px;
 126+}
130127
131128 #contentSub, .dablink {
132 - margin-bottom: 10px; }
 129+ margin-bottom: 10px;
 130+}
133131
134132 #firstHeading {
135 - font-size: 1.7em; }
 133+ font-size: 1.7em;
 134+}
136135
137136 h2 {
138 - font-size: 1.3em; }
 137+ font-size: 1.3em;
 138+}
139139
140140 .section_anchors a {
141 - display: block; }
 141+ display: block;
 142+}
142143
143144 .section_anchor {
144 - height: 1px;
145 - width: 1px; }
 145+ height: 1px;
 146+ width: 1px;
 147+}
146148
147149 .printonly, .geo-multi-punct, .geo-nondefault, .Z3988 {
148 - display: none; }
 150+ display: none;
 151+}
149152
150153 #featured_article .noprint, .today .noprint {
151 - display: none; }
 154+ display: none;
 155+}
152156
153157 .thumb {
154 - border: 1px solid #cccccc;
155 - -webkit-border-radius: 5px;
156 - -moz-border-radius: 5px;
157 - background: #f9f9f9;
158 - margin-bottom: 10px; }
159 - .thumb .thumbinner[style] {
160 - margin: 5px auto; }
161 - .thumb .thumbcaption {
162 - width: 100%;
163 - margin: 5px 10px 0;
164 - text-align: center;
165 - width: auto !important; }
 158+ border: 1px solid #cccccc;
 159+ -webkit-border-radius: 5px;
 160+ -moz-border-radius: 5px;
 161+ background: #f9f9f9;
 162+ margin-bottom: 10px;
 163+}
166164
 165+.thumb .thumbinner[style] {
 166+ margin: 5px auto;
 167+}
 168+
 169+.thumb .thumbcaption {
 170+ width: 100%;
 171+ margin: 5px 10px 0;
 172+ text-align: center;
 173+ width: auto !important;
 174+}
 175+
167176 img.thumbborder {
168 - border: 1px solid #cccccc; }
 177+ border: 1px solid #cccccc;
 178+}
169179
170180 .floatright {
171 - float: right; }
 181+ float: right;
 182+}
172183
173184 #content_wrapper.home h1#firstHeading {
174 - display: none; }
 185+ display: none;
 186+}
175187
176188 .thumb {
177 - margin: 0.5em 0; }
 189+ margin: 0.5em 0;
 190+}
178191
179192 .thumb.tright {
180 - float: right;
181 - clear: right;
182 - margin-left: 0.5em; }
 193+ float: right;
 194+ clear: right;
 195+ margin-left: 0.5em;
 196+}
183197
184198 .thumb .thumbcaption {
185 - text-align: left;
186 - margin: 0;
187 - font-size: 90%;
188 - padding-top: 0.5em; }
 199+ text-align: left;
 200+ margin: 0;
 201+ font-size: 90%;
 202+ padding-top: 0.5em;
 203+}
189204
190205 .thumb.tleft {
191 - float: left;
192 - clear: left;
193 - margin-right: 0.5em; }
 206+ float: left;
 207+ clear: left;
 208+ margin-right: 0.5em;
 209+}
194210
195211 .thumb .thumbinner,
196212 .thumb .thumbinner[style] {
197 - padding: 5px;
198 - margin: 0; }
 213+ padding: 5px;
 214+ margin: 0;
 215+}
199216
200217 body {
201 - margin: 0; }
 218+ margin: 0;
 219+}
202220
203221 #header {
204 - padding: 8px; }
 222+ padding: 8px;
 223+}
205224
206225 #content_wrapper {
207 - background: white;
208 - clear: both;
209 - padding: 8px; }
 226+ background: white;
 227+ clear: both;
 228+ padding: 8px;
 229+}
210230
211231 #footer {
212 - background: white;
213 - padding: 0 8px; }
 232+ background: white;
 233+ padding: 0 8px;
 234+}
214235
215236 body {
216 - width: 798px;
217 - background: #6ee4ff;
218 - font-size: 200%; }
 237+ width: 798px;
 238+ background: #6ee4ff;
 239+ font-size: 200%;
 240+}
219241
220242 button, input {
221 - font-size: 150%; }
 243+ font-size: 150%;
 244+}
222245
223246 #header {
224 - height: 100px; }
225 - #header #logo {
226 - margin-right: 8px; }
227 - #header #homeButton {
228 - float: left; }
229 - #header #search_bar {
230 - padding-top: 20px; }
231 - #header #searchField {
232 - width: 450px; }
 247+ height: 100px;
 248+}
233249
 250+#header #logo {
 251+ margin-right: 8px;
 252+}
 253+
 254+#header #homeButton {
 255+ float: left;
 256+}
 257+
 258+#header #search_bar {
 259+ padding-top: 20px;
 260+}
 261+
 262+#header #searchField {
 263+ width: 450px;
 264+}
 265+
234266 .mwm-notice {
235 - padding: 5px;
236 - background: #dddddd;
237 - -webkit-border-radius: 5px;
238 - margin-top: 5px;
239 - text-align: center;
240 - border: 1px solid grey; }
 267+ padding: 5px;
 268+ background: #dddddd;
 269+ -webkit-border-radius: 5px;
 270+ margin-top: 5px;
 271+ text-align: center;
 272+ border: 1px solid grey;
 273+}
241274
242275 .mwm-message.mwm-notice {
243 - font-size: 1.1em; }
 276+ font-size: 1.1em;
 277+}
244278
245279 #footer {
246 - padding-top: 1em; }
247 - #footer #perm {
248 - padding-top: 1em;
249 - font-size: 80%; }
250 - #footer #copyright {
251 - padding: 1em 0;
252 - font-size: 80%; }
 280+ padding-top: 1em;
 281+}
253282
 283+#footer #perm {
 284+ padding-top: 1em;
 285+ font-size: 80%;
 286+}
 287+
 288+#footer #copyright {
 289+ padding: 1em 0;
 290+ font-size: 80%;
 291+}
 292+
254293 ol.references > li:target,
255294 sup.reference:target,
256295 span.citation:target, cite:target {
257 - background-color: #ddeeff; }
 296+ background-color: #ddeeff;
 297+}
258298
259299 .content_block,
260300 .section_anchors,
261301 button.section_heading.hide {
262 - display: none; }
 302+ display: none;
 303+}
263304
264305 #search:focus {
265 - outline: none;
 306+ outline: none;
266307 }
267 -
268 -#search {
269 - -webkit-appearance: none;
270 - border-top-width: 0px;
271 - border-right-width: 0px;
272 - border-bottom-width: 0px;
273 - border-left-width: 0px;
274 - outline-style: none;
275 - outline-width: initial;
276 - outline-color: initial;
277 - height: 1.4em;
278 -}
279 -
280 -.divclearable {
281 - border: 1px solid #888;
282 - display: -moz-inline-stack;
283 - display: inline-block;
284 - zoom:1;
285 - *display:inline;
286 - vertical-align:middle;
287 - height: 1.5em;
288 - position: relative;
289 -}
290 -
291 -.clearlink {
292 - background: url(images/close-button.png) no-repeat scroll 0 0 transparent;
293 - background-position: center center;
294 - cursor: pointer;
295 - zoom:1;
296 - position: absolute;
297 - right: 0.25em;
298 - top: 50%;
299 - margin: 1px;
300 - height: 12px;
301 - width: 12px;
302 - margin-top: -6px;
303 - z-index: 2;
304 - border: 0px solid;
305 - display: none;
306 -}
\ No newline at end of file
Index: branches/wmf/1.18wmf1/extensions/MobileFrontend/stylesheets/common.css
@@ -28,6 +28,7 @@
2929 padding: 0.01em 0.25em;
3030 text-align: left;
3131 postion: relative;
 32+ border-bottom: solid 1px #999999;
3233 }
3334
3435 .suggestions-result a {
@@ -128,6 +129,11 @@
129130 position: relative;
130131 }
131132
 133+#userloginForm table, #userloginForm .user-login tr, #userloginForm .user-login th, #userloginForm .user-login td {
 134+ width: 200px;
 135+ border: 0px;
 136+}
 137+
132138 table {
133139 border-spacing: 0 !important;
134140 width: 100%;
Index: branches/wmf/1.18wmf1/extensions/MobileFrontend/stylesheets/simple.css
@@ -1,345 +1,359 @@
2 -table {
3 - border-spacing: 0 !important;
4 - width: 100%;
5 - border-collapse: collapse !important;
6 - border: 1px solid #cccccc;
7 - padding: 3px;
8 - margin-bottom: 15px; }
9 - table td, table th {
10 - border: 1px solid #cccccc;
11 - padding: 3px; }
12 - table table {
13 - border: 0; }
14 - table table td, table table th {
15 - border: 0; }
16 - table.toc {
17 - background: #f9f9f9; }
18 - table.toc h2 {
19 - border: 0;
20 - padding: 0;
21 - margin-top: 5px; }
22 - table.navbox {
23 - font-size: 0.9em;
24 - width: 100% !important; }
25 - table.navbox th.navbox-title {
26 - background: #ccccff;
27 - padding: 5px; }
28 - table.navbox td.navbox-abovebelow {
29 - padding: 3px; }
30 - table.navbox td.navbox-group {
31 - background: #ddddff;
32 - width: 25%;
33 - padding: 3px; }
34 - table.navbox td.navbox-group + td {
35 - padding: 3px; }
36 - table.navbox div[style*="padding"] {
37 - padding-left: 0 !important;
38 - padding-right: 0 !important; }
39 - table.navbox div[style*="padding"] a {
40 - white-space: pre-wrap; }
41 - table.navbox span[style*="white"] {
42 - white-space: pre-wrap !important; }
43 - table.navbox td, table.navbox th {
44 - padding: 0; }
45 - table.navbox table {
46 - margin-bottom: 0; }
47 - table.wikitable th {
48 - background: #f3f3f3; }
49 - table[style] {
50 - width: 100% !important;
51 - float: none !important;
52 - margin-left: 0 !important; }
53 - table.infobox {
54 - background: #f9f9f9; }
55 - table.infobox th, table.infobox td {
56 - border: 0; }
57 - table.infobox td[colspan="3"], table.infobox th[colspan="3"] {
58 - border: 1px solid #cccccc; }
59 - table.gallery {
60 - background: #f9f9f9;
61 - border-bottom: 0; }
62 - table.gallery th, table.gallery td {
63 - display: block;
64 - border: 0;
65 - border-bottom: 1px solid #cccccc; }
66 - table.gallery .gallerybox[style] {
67 - width: auto !important;
68 - margin-bottom: -16px; }
69 - table.gallery .thumb[style] {
70 - border: 0;
71 - padding: 0 !important;
72 - width: auto !important;
73 - margin: 0 auto; }
74 - table.gallery .gallerytext {
75 - margin-top: -12px;
76 - text-align: center; }
77 - table.geography[style] th {
78 - text-align: left; }
79 - table.geography[style] td[style*="text-align"], table.geography[style] td[colspan="2"] {
80 - text-align: left !important;
81 - margin-left: 0 !important;
82 - margin-right: 0 !important; }
83 - table.geography[style] td[style*="text-align"] div[style], table.geography[style] td[colspan="2"] div[style] {
84 - text-align: left !important; }
 2+table table {
 3+ border: 0;
 4+}
855
 6+table table td, table table th {
 7+ border: 0;
 8+}
 9+
 10+table.toc {
 11+ background: #f9f9f9;
 12+}
 13+
 14+table.navbox td.navbox-abovebelow {
 15+ padding: 3px;
 16+}
 17+
 18+table.navbox td.navbox-group + td {
 19+ padding: 3px;
 20+}
 21+
 22+table.navbox div[style*="padding"] a {
 23+ white-space: pre-wrap;
 24+}
 25+
 26+table.navbox span[style*="white"] {
 27+ white-space: pre-wrap !important;
 28+}
 29+
 30+table.navbox td, table.navbox th {
 31+ padding: 0;
 32+}
 33+
 34+table.navbox table {
 35+ margin-bottom: 0;
 36+}
 37+
 38+table.wikitable th {
 39+ background: #f3f3f3;
 40+}
 41+
 42+table.infobox {
 43+ background: #f9f9f9;
 44+}
 45+
 46+table.infobox th, table.infobox td {
 47+ border: 0;
 48+}
 49+
 50+table.infobox td[colspan="3"], table.infobox th[colspan="3"] {
 51+ border: 1px solid #cccccc;
 52+}
 53+
 54+table.geography[style] th {
 55+ text-align: left;
 56+}
 57+
 58+table.geography[style] td[style*="text-align"] div[style], table.geography[style] td[colspan="2"] div[style] {
 59+ text-align: left !important;
 60+}
 61+
8662 table.admin {
87 - width: 300px; }
 63+ width: 300px;
 64+}
8865
8966 html {
90 - font-size: 0.8em; }
 67+ font-size: 0.8em;
 68+}
9169
9270 body {
93 - line-height: 1;
94 - color: black;
95 - background: white;
96 - font-family: sans-serif;
97 - overflow-x: hidden;
98 - -webkit-text-size-adjust: none; }
 71+ line-height: 1;
 72+ color: black;
 73+ background: white;
 74+ font-family: sans-serif;
 75+ overflow-x: hidden;
 76+ -webkit-text-size-adjust: none;
 77+}
9978
10079 p, li, dl, #featured_article {
101 - line-height: 1.65; }
 80+ line-height: 1.65;
 81+}
10282
10383 pre {
104 - white-space: pre-wrap; }
 84+ white-space: pre-wrap;
 85+}
10586
10687 h2 {
107 - border-bottom: 1px solid #aaaaaa;
108 - padding-top: 0.3em; }
 88+ border-bottom: 1px solid #aaaaaa;
 89+ padding-top: 0.3em;
 90+}
10991
11092 a {
111 - text-decoration: none;
112 - color: #002bb8; }
113 - a:visited {
114 - color: #5a3696; }
115 - a:active {
116 - color: #faa700; }
117 - a:hover {
118 - text-decoration: underline; }
 93+ text-decoration: none;
 94+ color: #002bb8;
 95+}
11996
 97+a:visited {
 98+ color: #5a3696;
 99+}
 100+
 101+a:active {
 102+ color: #faa700;
 103+}
 104+
 105+a:hover {
 106+ text-decoration: underline;
 107+}
 108+
120109 a.new, a.new:visited, a.new:hover {
121 - color: red; }
 110+ color: red;
 111+}
122112
123113 a.back_to_top, a.back_to_top:visited {
124 - margin-top: 7px;
125 - color: blue; }
 114+ margin-top: 7px;
 115+ color: blue;
 116+}
126117
127118 .links {
128 - float: left;
129 - padding: 10px; }
 119+ float: left;
 120+ padding: 10px;
 121+}
130122
131123 #contentSub, .dablink {
132 - margin-bottom: 10px; }
 124+ margin-bottom: 10px;
 125+}
133126
134127 #firstHeading {
135 - font-size: 1.7em; }
 128+ font-size: 1.7em;
 129+}
136130
137131 h2 {
138 - font-size: 1.3em; }
 132+ font-size: 1.3em;
 133+}
139134
140135 .section_anchors a {
141 - display: block; }
 136+ display: block;
 137+}
142138
143139 .section_anchor {
144 - height: 1px;
145 - width: 1px; }
 140+ height: 1px;
 141+ width: 1px;
 142+}
146143
147144 .printonly, .geo-multi-punct, .geo-nondefault, .Z3988 {
148 - display: none; }
 145+ display: none;
 146+}
149147
150148 #featured_article .noprint, .today .noprint {
151 - display: none; }
 149+ display: none;
 150+}
152151
153152 .thumb {
154 - border: 1px solid #cccccc;
155 - -webkit-border-radius: 5px;
156 - -moz-border-radius: 5px;
157 - background: #f9f9f9;
158 - margin-bottom: 10px; }
159 - .thumb .thumbinner[style] {
160 - margin: 5px auto; }
161 - .thumb .thumbcaption {
162 - width: 100%;
163 - margin: 5px 10px 0;
164 - text-align: center;
165 - width: auto !important; }
 153+ border: 1px solid #cccccc;
 154+ -webkit-border-radius: 5px;
 155+ -moz-border-radius: 5px;
 156+ background: #f9f9f9;
 157+ margin-bottom: 10px;
 158+}
166159
 160+.thumb .thumbinner[style] {
 161+ margin: 5px auto;
 162+}
 163+
 164+.thumb .thumbcaption {
 165+ width: 100%;
 166+ margin: 5px 10px 0;
 167+ text-align: center;
 168+ width: auto !important;
 169+}
 170+
167171 img.thumbborder {
168 - border: 1px solid #cccccc; }
 172+ border: 1px solid #cccccc;
 173+}
169174
170175 .floatright {
171 - float: right; }
 176+ float: right;
 177+}
172178
173179 #content_wrapper.home h1#firstHeading {
174 - display: none; }
 180+ display: none;
 181+}
175182
176183 body {
177 - margin: 0; }
 184+ margin: 0;
 185+}
178186
179187 #header {
180 - margin: 8px 8px 0 8px; }
 188+ margin: 8px 8px 0 8px;
 189+}
181190
182191 #content_wrapper {
183 - clear: both;
184 - margin: 0 8px; }
 192+ clear: both;
 193+ margin: 0 8px;
 194+}
185195
186196 #footer {
187 - margin: 0 8px; }
 197+ margin: 0 8px;
 198+}
188199
189200 #header img, #header form, #header input, #header button {
190 - vertical-align: middle;
191 - display: inline-block; }
 201+ vertical-align: middle;
 202+ display: inline-block;
 203+}
192204
193205 #searchbox {
194 - width: auto;
195 - padding: 5px;
196 - border: 1px solid #cccccc;
197 - -webkit-border-radius: 2px;
198 - -moz-border-radius: 2px; }
199 - #searchbox a, #searchbox img {
200 - border: 0px;
201 - vertical-align: middle; }
202 - #searchbox #goButton {
203 - border: 0;
204 - background: url(images/s.gif) no-repeat top left;
205 - height: 25px;
206 - width: 27px; }
207 - #searchbox #searchField {
208 - width: auto; }
 206+ width: auto;
 207+ padding: 5px;
 208+ border: 1px solid #cccccc;
 209+ -webkit-border-radius: 2px;
 210+ -moz-border-radius: 2px;
 211+}
209212
 213+#searchbox a, #searchbox img {
 214+ border: 0px;
 215+ vertical-align: middle;
 216+}
 217+
 218+#searchbox #goButton {
 219+ border: 0;
 220+ background: url(images/s.gif) no-repeat top left;
 221+ height: 25px;
 222+ width: 27px;
 223+}
 224+
 225+#searchbox #searchField {
 226+ width: auto;
 227+}
 228+
210229 #nav {
211 - -webkit-border-radius: 2px;
212 - -moz-border-radius: 2px;
213 - clear: both;
214 - padding: 5px 0; }
215 - #nav form, #nav button {
216 - display: inline-block; }
217 - #nav button {
218 - background: url(images/buttonbg.gif) no-repeat center;
219 - border: 0;
220 - height: 23px;
221 - width: 83px; }
 230+ -webkit-border-radius: 2px;
 231+ -moz-border-radius: 2px;
 232+ clear: both;
 233+ padding: 5px 0;
 234+}
222235
 236+#nav form, #nav button {
 237+ display: inline-block;
 238+}
 239+
 240+#nav button {
 241+ background: url(images/buttonbg.gif) no-repeat center;
 242+ border: 0;
 243+ height: 23px;
 244+ width: 83px;
 245+}
 246+
223247 #disableButtons {
224 - text-align: center; }
225 - #disableButtons button {
226 - background: url(images/buttonbg.gif) no-repeat center;
227 - border: 0;
228 - height: 23px;
229 - width: 83px; }
230 - #disableButtons #backButton {
231 - margin-top: 5em; }
 248+ text-align: center;
 249+}
232250
 251+#disableButtons button {
 252+ background: url(images/buttonbg.gif) no-repeat center;
 253+ border: 0;
 254+ height: 23px;
 255+ width: 83px;
 256+}
 257+
 258+#disableButtons #backButton {
 259+ margin-top: 5em;
 260+}
 261+
233262 .mwm-notice {
234 - padding: 5px;
235 - background: #dddddd;
236 - -webkit-border-radius: 5px;
237 - margin-top: 5px;
238 - text-align: center;
239 - border: 1px solid grey; }
 263+ padding: 5px;
 264+ background: #dddddd;
 265+ -webkit-border-radius: 5px;
 266+ margin-top: 5px;
 267+ text-align: center;
 268+ border: 1px solid grey;
 269+}
240270
241271 .mwm-message.mwm-notice {
242 - font-size: 1.1em; }
 272+ font-size: 1.1em;
 273+}
243274
244275 #image_wrapper {
245 - margin: 8px 0 8px -3px; }
 276+ margin: 8px 0 8px -3px;
 277+}
246278
247279 #footer {
248 - padding-top: 1em; }
249 - #footer #perm {
250 - padding-top: 2em;
251 - font-size: 90%; }
252 - #footer #copyright {
253 - padding: 1em 0;
254 - font-size: 80%; }
 280+ padding-top: 1em;
 281+}
255282
 283+#footer #perm {
 284+ padding-top: 2em;
 285+ font-size: 90%;
 286+}
 287+
 288+#footer #copyright {
 289+ padding: 1em 0;
 290+ font-size: 80%;
 291+}
 292+
256293 ol.references > li:target,
257294 sup.reference:target,
258295 span.citation:target, cite:target {
259 - background-color: #ddeeff; }
 296+ background-color: #ddeeff;
 297+}
260298
261299 .content_block,
262300 .section_anchors,
263301 button.section_heading.hide {
264 - display: none; }
 302+ display: none;
 303+}
265304
266305 #header, #footer, #content_wrapper {
267 - margin: 0 2px; }
 306+ margin: 0 2px;
 307+}
268308
269309 #searchbox {
270 - border: 0px;
271 - padding: 2px;
272 - height: 26px; }
273 - #searchbox form, #searchbox button, #searchbox img, #searchbox input {
274 - display: inline; }
275 - #searchbox input#searchField {
276 - width: 60%; }
277 - #searchbox input#searchButton {
278 - margin-left: 2px; }
279 - #searchbox input#submitButton {
280 - display: none; }
 310+ border: 0px;
 311+ padding: 2px;
 312+ height: 26px;
 313+}
281314
 315+#searchbox form, #searchbox button, #searchbox img, #searchbox input {
 316+ display: inline;
 317+}
 318+
 319+#searchbox input#searchField {
 320+ width: 60%;
 321+}
 322+
 323+#searchbox input#searchButton {
 324+ margin-left: 2px;
 325+}
 326+
 327+#searchbox input#submitButton {
 328+ display: none;
 329+}
 330+
282331 .nav {
283 - border: 0;
284 - border-bottom: 2px solid #6d84b4;
285 - border-top: 2px solid #6d84b4;
286 - height: auto;
287 - clear: both;
288 - padding: 5px 0 5px 0;
289 - margin: 0; }
 332+ border: 0;
 333+ border-bottom: 2px solid #6d84b4;
 334+ border-top: 2px solid #6d84b4;
 335+ height: auto;
 336+ clear: both;
 337+ padding: 5px 0 5px 0;
 338+ margin: 0;
 339+}
290340
291341 #nav {
292 - padding: 5px 0 5px 0; }
 342+ padding: 5px 0 5px 0;
 343+}
293344
294345 .mwm-notice {
295 - text-align: left; }
 346+ text-align: left;
 347+}
296348
297349 .mwm-message.mwm-notice {
298 - display: none; }
 350+ display: none;
 351+}
299352
300353 a.arrow {
301 - float: right;
302 - margin-right: 5px; }
 354+ float: right;
 355+ margin-right: 5px;
 356+}
303357
304358 #search:focus {
305 - outline: none;
 359+ outline: none;
306360 }
307 -
308 -#search {
309 - -webkit-appearance: none;
310 - border-top-width: 0px;
311 - border-right-width: 0px;
312 - border-bottom-width: 0px;
313 - border-left-width: 0px;
314 - outline-style: none;
315 - outline-width: initial;
316 - outline-color: initial;
317 - height: 1.4em;
318 -}
319 -
320 -.divclearable {
321 - border: 1px solid #888;
322 - display: -moz-inline-stack;
323 - display: inline-block;
324 - zoom:1;
325 - *display:inline;
326 - vertical-align:middle;
327 - height: 1.5em;
328 - position: relative;
329 -}
330 -
331 -.clearlink {
332 - background: url(images/close-button.png) no-repeat scroll 0 0 transparent;
333 - background-position: center center;
334 - cursor: pointer;
335 - zoom:1;
336 - position: absolute;
337 - right: 0.25em;
338 - top: 50%;
339 - margin: 1px;
340 - height: 12px;
341 - width: 12px;
342 - margin-top: -6px;
343 - z-index: 2;
344 - border: 0px solid;
345 - display: none;
346 -}
\ No newline at end of file
Index: branches/wmf/1.18wmf1/extensions/MobileFrontend/stylesheets/palm_pre.css
@@ -1,333 +1,342 @@
2 -table {
3 - border-spacing: 0 !important;
4 - width: 100%;
5 - border-collapse: collapse !important;
6 - border: 1px solid #cccccc;
7 - padding: 3px;
8 - margin-bottom: 15px; }
9 - table td, table th {
10 - border: 1px solid #cccccc;
11 - padding: 3px; }
12 - table table {
13 - border: 0; }
14 - table table td, table table th {
15 - border: 0; }
16 - table.toc {
17 - background: #f9f9f9; }
18 - table.toc h2 {
19 - border: 0;
20 - padding: 0;
21 - margin-top: 5px; }
22 - table.navbox {
23 - font-size: 0.9em;
24 - width: 100% !important; }
25 - table.navbox th.navbox-title {
26 - background: #ccccff;
27 - padding: 5px; }
28 - table.navbox td.navbox-abovebelow {
29 - padding: 3px; }
30 - table.navbox td.navbox-group {
31 - background: #ddddff;
32 - width: 25%;
33 - padding: 3px; }
34 - table.navbox td.navbox-group + td {
35 - padding: 3px; }
36 - table.navbox div[style*="padding"] {
37 - padding-left: 0 !important;
38 - padding-right: 0 !important; }
39 - table.navbox div[style*="padding"] a {
40 - white-space: pre-wrap; }
41 - table.navbox span[style*="white"] {
42 - white-space: pre-wrap !important; }
43 - table.navbox td, table.navbox th {
44 - padding: 0; }
45 - table.navbox table {
46 - margin-bottom: 0; }
47 - table.wikitable th {
48 - background: #f3f3f3; }
49 - table[style] {
50 - width: 100% !important;
51 - float: none !important;
52 - margin-left: 0 !important; }
53 - table.infobox {
54 - background: #f9f9f9; }
55 - table.infobox th, table.infobox td {
56 - border: 0; }
57 - table.infobox td[colspan="3"], table.infobox th[colspan="3"] {
58 - border: 1px solid #cccccc; }
59 - table.gallery {
60 - background: #f9f9f9;
61 - border-bottom: 0; }
62 - table.gallery th, table.gallery td {
63 - display: block;
64 - border: 0;
65 - border-bottom: 1px solid #cccccc; }
66 - table.gallery .gallerybox[style] {
67 - width: auto !important;
68 - margin-bottom: -16px; }
69 - table.gallery .thumb[style] {
70 - border: 0;
71 - padding: 0 !important;
72 - width: auto !important;
73 - margin: 0 auto; }
74 - table.gallery .gallerytext {
75 - margin-top: -12px;
76 - text-align: center; }
77 - table.geography[style] th {
78 - text-align: left; }
79 - table.geography[style] td[style*="text-align"], table.geography[style] td[colspan="2"] {
80 - text-align: left !important;
81 - margin-left: 0 !important;
82 - margin-right: 0 !important; }
83 - table.geography[style] td[style*="text-align"] div[style], table.geography[style] td[colspan="2"] div[style] {
84 - text-align: left !important; }
 2+table table {
 3+ border: 0;
 4+}
855
 6+table table td, table table th {
 7+ border: 0;
 8+}
 9+
 10+table.toc {
 11+ background: #f9f9f9;
 12+}
 13+
 14+table.navbox td.navbox-abovebelow {
 15+ padding: 3px;
 16+}
 17+
 18+table.navbox td.navbox-group + td {
 19+ padding: 3px;
 20+}
 21+
 22+table.navbox div[style*="padding"] a {
 23+ white-space: pre-wrap;
 24+}
 25+
 26+table.navbox span[style*="white"] {
 27+ white-space: pre-wrap !important;
 28+}
 29+
 30+table.navbox td, table.navbox th {
 31+ padding: 0;
 32+}
 33+
 34+table.navbox table {
 35+ margin-bottom: 0;
 36+}
 37+
 38+table.wikitable th {
 39+ background: #f3f3f3;
 40+}
 41+
 42+table.infobox {
 43+ background: #f9f9f9;
 44+}
 45+
 46+table.infobox th, table.infobox td {
 47+ border: 0;
 48+}
 49+
 50+table.infobox td[colspan="3"], table.infobox th[colspan="3"] {
 51+ border: 1px solid #cccccc;
 52+}
 53+
 54+table.geography[style] th {
 55+ text-align: left;
 56+}
 57+
 58+table.geography[style] td[style*="text-align"] div[style], table.geography[style] td[colspan="2"] div[style] {
 59+ text-align: left !important;
 60+}
 61+
8662 table.admin {
87 - width: 300px; }
 63+ width: 300px;
 64+}
8865
8966 html {
90 - font-size: 0.8em; }
 67+ font-size: 0.8em;
 68+}
9169
9270 body {
93 - line-height: 1;
94 - color: black;
95 - background: white;
96 - font-family: sans-serif;
97 - overflow-x: hidden;
98 - -webkit-text-size-adjust: none; }
 71+ line-height: 1;
 72+ color: black;
 73+ background: white;
 74+ font-family: sans-serif;
 75+ overflow-x: hidden;
 76+ -webkit-text-size-adjust: none;
 77+}
9978
10079 p, li, dl, #featured_article {
101 - line-height: 1.65; }
 80+ line-height: 1.65;
 81+}
10282
10383 pre {
104 - white-space: pre-wrap; }
 84+ white-space: pre-wrap;
 85+}
10586
10687 h2 {
107 - border-bottom: 1px solid #aaaaaa;
108 - padding-top: 0.3em; }
 88+ border-bottom: 1px solid #aaaaaa;
 89+ padding-top: 0.3em;
 90+}
10991
11092 a {
111 - text-decoration: none;
112 - color: #002bb8; }
113 - a:visited {
114 - color: #5a3696; }
115 - a:active {
116 - color: #faa700; }
117 - a:hover {
118 - text-decoration: underline; }
 93+ text-decoration: none;
 94+ color: #002bb8;
 95+}
11996
 97+a:visited {
 98+ color: #5a3696;
 99+}
 100+
 101+a:active {
 102+ color: #faa700;
 103+}
 104+
 105+a:hover {
 106+ text-decoration: underline;
 107+}
 108+
120109 a.new, a.new:visited, a.new:hover {
121 - color: red; }
 110+ color: red;
 111+}
122112
123113 a.back_to_top, a.back_to_top:visited {
124 - margin-top: 7px;
125 - color: blue; }
 114+ margin-top: 7px;
 115+ color: blue;
 116+}
126117
127118 .links {
128 - float: left;
129 - padding: 10px; }
 119+ float: left;
 120+ padding: 10px;
 121+}
130122
131123 #contentSub, .dablink {
132 - margin-bottom: 10px; }
 124+ margin-bottom: 10px;
 125+}
133126
134127 #firstHeading {
135 - font-size: 1.7em; }
 128+ font-size: 1.7em;
 129+}
136130
137131 h2 {
138 - font-size: 1.3em; }
 132+ font-size: 1.3em;
 133+}
139134
140135 .section_anchors a {
141 - display: block; }
 136+ display: block;
 137+}
142138
143139 .section_anchor {
144 - height: 1px;
145 - width: 1px; }
 140+ height: 1px;
 141+ width: 1px;
 142+}
146143
147144 .printonly, .geo-multi-punct, .geo-nondefault, .Z3988 {
148 - display: none; }
 145+ display: none;
 146+}
149147
150148 #featured_article .noprint, .today .noprint {
151 - display: none; }
 149+ display: none;
 150+}
152151
153152 .thumb {
154 - border: 1px solid #cccccc;
155 - -webkit-border-radius: 5px;
156 - -moz-border-radius: 5px;
157 - background: #f9f9f9;
158 - margin-bottom: 10px; }
159 - .thumb .thumbinner[style] {
160 - margin: 5px auto; }
161 - .thumb .thumbcaption {
162 - width: 100%;
163 - margin: 5px 10px 0;
164 - text-align: center;
165 - width: auto !important; }
 153+ border: 1px solid #cccccc;
 154+ -webkit-border-radius: 5px;
 155+ -moz-border-radius: 5px;
 156+ background: #f9f9f9;
 157+ margin-bottom: 10px;
 158+}
166159
 160+.thumb .thumbinner[style] {
 161+ margin: 5px auto;
 162+}
 163+
 164+.thumb .thumbcaption {
 165+ width: 100%;
 166+ margin: 5px 10px 0;
 167+ text-align: center;
 168+ width: auto !important;
 169+}
 170+
167171 img.thumbborder {
168 - border: 1px solid #cccccc; }
 172+ border: 1px solid #cccccc;
 173+}
169174
170175 .floatright {
171 - float: right; }
 176+ float: right;
 177+}
172178
173179 #content_wrapper.home h1#firstHeading {
174 - display: none; }
 180+ display: none;
 181+}
175182
176183 body {
177 - margin: 0; }
 184+ margin: 0;
 185+}
178186
179187 #header {
180 - margin: 8px 8px 0 8px; }
 188+ margin: 8px 8px 0 8px;
 189+}
181190
182191 #content_wrapper {
183 - clear: both;
184 - margin: 0 8px; }
 192+ clear: both;
 193+ margin: 0 8px;
 194+}
185195
186196 #footer {
187 - margin: 0 8px; }
 197+ margin: 0 8px;
 198+}
188199
189200 #header img, #header form, #header input, #header button {
190 - vertical-align: middle;
191 - display: inline-block; }
 201+ vertical-align: middle;
 202+ display: inline-block;
 203+}
192204
193205 #searchbox {
194 - width: auto;
195 - padding: 5px;
196 - border: 1px solid #cccccc;
197 - -webkit-border-radius: 2px;
198 - -moz-border-radius: 2px; }
199 - #searchbox a, #searchbox img {
200 - border: 0px;
201 - vertical-align: middle; }
202 - #searchbox #goButton {
203 - border: 0;
204 - background: url(images/s.gif) no-repeat top left;
205 - height: 25px;
206 - width: 27px; }
207 - #searchbox #searchField {
208 - width: auto; }
 206+ width: auto;
 207+ padding: 5px;
 208+ border: 1px solid #cccccc;
 209+ -webkit-border-radius: 2px;
 210+ -moz-border-radius: 2px;
 211+}
209212
 213+#searchbox a, #searchbox img {
 214+ border: 0px;
 215+ vertical-align: middle;
 216+}
 217+
 218+#searchbox #goButton {
 219+ border: 0;
 220+ background: url(images/s.gif) no-repeat top left;
 221+ height: 25px;
 222+ width: 27px;
 223+}
 224+
 225+#searchbox #searchField {
 226+ width: auto;
 227+}
 228+
210229 #nav {
211 - -webkit-border-radius: 2px;
212 - -moz-border-radius: 2px;
213 - clear: both;
214 - padding: 5px 0; }
215 - #nav form, #nav button {
216 - display: inline-block; }
217 - #nav button {
218 - background: url(images/buttonbg.gif) no-repeat center;
219 - border: 0;
220 - height: 23px;
221 - width: 83px; }
 230+ -webkit-border-radius: 2px;
 231+ -moz-border-radius: 2px;
 232+ clear: both;
 233+ padding: 5px 0;
 234+}
222235
 236+#nav form, #nav button {
 237+ display: inline-block;
 238+}
 239+
 240+#nav button {
 241+ background: url(images/buttonbg.gif) no-repeat center;
 242+ border: 0;
 243+ height: 23px;
 244+ width: 83px;
 245+}
 246+
223247 #disableButtons {
224 - text-align: center; }
225 - #disableButtons button {
226 - background: url(images/buttonbg.gif) no-repeat center;
227 - border: 0;
228 - height: 23px;
229 - width: 83px; }
230 - #disableButtons #backButton {
231 - margin-top: 5em; }
 248+ text-align: center;
 249+}
232250
 251+#disableButtons button {
 252+ background: url(images/buttonbg.gif) no-repeat center;
 253+ border: 0;
 254+ height: 23px;
 255+ width: 83px;
 256+}
 257+
 258+#disableButtons #backButton {
 259+ margin-top: 5em;
 260+}
 261+
233262 .mwm-notice {
234 - padding: 5px;
235 - background: #dddddd;
236 - -webkit-border-radius: 5px;
237 - margin-top: 5px;
238 - text-align: center;
239 - border: 1px solid grey; }
 263+ padding: 5px;
 264+ background: #dddddd;
 265+ -webkit-border-radius: 5px;
 266+ margin-top: 5px;
 267+ text-align: center;
 268+ border: 1px solid grey;
 269+}
240270
241271 .mwm-message.mwm-notice {
242 - font-size: 1.1em; }
 272+ font-size: 1.1em;
 273+}
243274
244275 #image_wrapper {
245 - margin: 8px 0 8px -3px; }
 276+ margin: 8px 0 8px -3px;
 277+}
246278
247279 #footer {
248 - padding-top: 1em; }
249 - #footer #perm {
250 - padding-top: 2em;
251 - font-size: 90%; }
252 - #footer #copyright {
253 - padding: 1em 0;
254 - font-size: 80%; }
 280+ padding-top: 1em;
 281+}
255282
 283+#footer #perm {
 284+ padding-top: 2em;
 285+ font-size: 90%;
 286+}
 287+
 288+#footer #copyright {
 289+ padding: 1em 0;
 290+ font-size: 80%;
 291+}
 292+
256293 ol.references > li:target,
257294 sup.reference:target,
258295 span.citation:target, cite:target {
259 - background-color: #ddeeff; }
 296+ background-color: #ddeeff;
 297+}
260298
261299 .content_block,
262300 .section_anchors,
263301 button.section_heading.hide {
264 - display: none; }
 302+ display: none;
 303+}
265304
266305 #searchbox {
267 - height: 25px; }
268 - #searchbox #logo {
269 - display: block;
270 - float: left;
271 - margin-right: 4px; }
272 - #searchbox #searchField {
273 - border: 1px solid grey;
274 - height: 20px;
275 - width: 216px; }
276 - #searchbox #clearButton {
277 - display: block; }
 306+ height: 25px;
 307+}
278308
279 -#nav {
280 - height: 23px;
281 - display: none;
282 - width: 172px;
283 - border: 1px solid #cccccc;
284 - border-top: 0px;
285 - margin: -1px 0 0 0;
286 - background: white;
287 - padding: 0 5px 5px 5px; }
 309+#searchbox #logo {
 310+ display: block;
 311+ float: left;
 312+ margin-right: 4px;
 313+}
288314
289 -body {
290 - font-size: 14px; }
 315+#searchbox #searchField {
 316+ border: 1px solid grey;
 317+ height: 20px;
 318+ width: 216px;
 319+}
291320
292 -#search:focus {
293 - outline: none;
 321+#searchbox #clearButton {
 322+ display: block;
294323 }
295324
296 -#search {
297 - -webkit-appearance: none;
298 - border-top-width: 0px;
299 - border-right-width: 0px;
300 - border-bottom-width: 0px;
301 - border-left-width: 0px;
302 - outline-style: none;
303 - outline-width: initial;
304 - outline-color: initial;
305 - height: 1.4em;
 325+#nav {
 326+ height: 23px;
 327+ display: none;
 328+ width: 172px;
 329+ border: 1px solid #cccccc;
 330+ border-top: 0px;
 331+ margin: -1px 0 0 0;
 332+ background: white;
 333+ padding: 0 5px 5px 5px;
306334 }
307335
308 -.divclearable {
309 - border: 1px solid #888;
310 - display: -moz-inline-stack;
311 - display: inline-block;
312 - zoom:1;
313 - *display:inline;
314 - vertical-align:middle;
315 - height: 1.5em;
316 - position: relative;
 336+body {
 337+ font-size: 14px;
317338 }
318339
319 -.clearlink {
320 - background: url(images/close-button.png) no-repeat scroll 0 0 transparent;
321 - background-position: center center;
322 - cursor: pointer;
323 - zoom:1;
324 - position: absolute;
325 - right: 0.25em;
326 - top: 50%;
327 - margin: 1px;
328 - height: 12px;
329 - width: 12px;
330 - margin-top: -6px;
331 - z-index: 2;
332 - border: 0px solid;
333 - display: none;
334 -}
\ No newline at end of file
 340+#search:focus {
 341+ outline: none;
 342+}
 343+
Index: branches/wmf/1.18wmf1/extensions/MobileFrontend/stylesheets/nokia.css
@@ -1,322 +1,324 @@
2 -table {
3 - border-spacing: 0 !important;
4 - width: 100%;
5 - border-collapse: collapse !important;
6 - border: 1px solid #cccccc;
7 - padding: 3px;
8 - margin-bottom: 15px; }
9 - table td, table th {
10 - border: 1px solid #cccccc;
11 - padding: 3px; }
12 - table table {
13 - border: 0; }
14 - table table td, table table th {
15 - border: 0; }
16 - table.toc {
17 - background: #f9f9f9; }
18 - table.toc h2 {
19 - border: 0;
20 - padding: 0;
21 - margin-top: 5px; }
22 - table.navbox {
23 - font-size: 0.9em;
24 - width: 100% !important; }
25 - table.navbox th.navbox-title {
26 - background: #ccccff;
27 - padding: 5px; }
28 - table.navbox td.navbox-abovebelow {
29 - padding: 3px; }
30 - table.navbox td.navbox-group {
31 - background: #ddddff;
32 - width: 25%;
33 - padding: 3px; }
34 - table.navbox td.navbox-group + td {
35 - padding: 3px; }
36 - table.navbox div[style*="padding"] {
37 - padding-left: 0 !important;
38 - padding-right: 0 !important; }
39 - table.navbox div[style*="padding"] a {
40 - white-space: pre-wrap; }
41 - table.navbox span[style*="white"] {
42 - white-space: pre-wrap !important; }
43 - table.navbox td, table.navbox th {
44 - padding: 0; }
45 - table.navbox table {
46 - margin-bottom: 0; }
47 - table.wikitable th {
48 - background: #f3f3f3; }
49 - table[style] {
50 - width: 100% !important;
51 - float: none !important;
52 - margin-left: 0 !important; }
53 - table.infobox {
54 - background: #f9f9f9; }
55 - table.infobox th, table.infobox td {
56 - border: 0; }
57 - table.infobox td[colspan="3"], table.infobox th[colspan="3"] {
58 - border: 1px solid #cccccc; }
59 - table.gallery {
60 - background: #f9f9f9;
61 - border-bottom: 0; }
62 - table.gallery th, table.gallery td {
63 - display: block;
64 - border: 0;
65 - border-bottom: 1px solid #cccccc; }
66 - table.gallery .gallerybox[style] {
67 - width: auto !important;
68 - margin-bottom: -16px; }
69 - table.gallery .thumb[style] {
70 - border: 0;
71 - padding: 0 !important;
72 - width: auto !important;
73 - margin: 0 auto; }
74 - table.gallery .gallerytext {
75 - margin-top: -12px;
76 - text-align: center; }
77 - table.geography[style] th {
78 - text-align: left; }
79 - table.geography[style] td[style*="text-align"], table.geography[style] td[colspan="2"] {
80 - text-align: left !important;
81 - margin-left: 0 !important;
82 - margin-right: 0 !important; }
83 - table.geography[style] td[style*="text-align"] div[style], table.geography[style] td[colspan="2"] div[style] {
84 - text-align: left !important; }
 2+table table {
 3+ border: 0;
 4+}
855
 6+table table td, table table th {
 7+ border: 0;
 8+}
 9+
 10+table.toc {
 11+ background: #f9f9f9;
 12+}
 13+
 14+table.navbox td.navbox-abovebelow {
 15+ padding: 3px;
 16+}
 17+
 18+table.navbox td.navbox-group + td {
 19+ padding: 3px;
 20+}
 21+
 22+table.navbox div[style*="padding"] a {
 23+ white-space: pre-wrap;
 24+}
 25+
 26+table.navbox span[style*="white"] {
 27+ white-space: pre-wrap !important;
 28+}
 29+
 30+table.navbox td, table.navbox th {
 31+ padding: 0;
 32+}
 33+
 34+table.navbox table {
 35+ margin-bottom: 0;
 36+}
 37+
 38+table.wikitable th {
 39+ background: #f3f3f3;
 40+}
 41+
 42+table.infobox {
 43+ background: #f9f9f9;
 44+}
 45+
 46+table.infobox th, table.infobox td {
 47+ border: 0;
 48+}
 49+
 50+table.infobox td[colspan="3"], table.infobox th[colspan="3"] {
 51+ border: 1px solid #cccccc;
 52+}
 53+
 54+table.geography[style] th {
 55+ text-align: left;
 56+}
 57+
 58+table.geography[style] td[style*="text-align"] div[style], table.geography[style] td[colspan="2"] div[style] {
 59+ text-align: left !important;
 60+}
 61+
8662 table.admin {
87 - width: 300px; }
 63+ width: 300px;
 64+}
8865
8966 html {
90 - font-size: 0.8em; }
 67+ font-size: 0.8em;
 68+}
9169
9270 body {
93 - line-height: 1;
94 - color: black;
95 - background: white;
96 - font-family: sans-serif;
97 - overflow-x: hidden;
98 - -webkit-text-size-adjust: none; }
 71+ line-height: 1;
 72+ color: black;
 73+ background: white;
 74+ font-family: sans-serif;
 75+ overflow-x: hidden;
 76+ -webkit-text-size-adjust: none;
 77+}
9978
10079 p, li, dl, #featured_article {
101 - line-height: 1.65; }
 80+ line-height: 1.65;
 81+}
10282
10383 pre {
104 - white-space: pre-wrap; }
 84+ white-space: pre-wrap;
 85+}
10586
10687 h2 {
107 - border-bottom: 1px solid #aaaaaa;
108 - padding-top: 0.3em; }
 88+ border-bottom: 1px solid #aaaaaa;
 89+ padding-top: 0.3em;
 90+}
10991
11092 a {
111 - text-decoration: none;
112 - color: #002bb8; }
113 - a:visited {
114 - color: #5a3696; }
115 - a:active {
116 - color: #faa700; }
117 - a:hover {
118 - text-decoration: underline; }
 93+ text-decoration: none;
 94+ color: #002bb8;
 95+}
11996
 97+a:visited {
 98+ color: #5a3696;
 99+}
 100+
 101+a:active {
 102+ color: #faa700;
 103+}
 104+
 105+a:hover {
 106+ text-decoration: underline;
 107+}
 108+
120109 a.new, a.new:visited, a.new:hover {
121 - color: red; }
 110+ color: red;
 111+}
122112
123113 a.back_to_top, a.back_to_top:visited {
124 - margin-top: 7px;
125 - color: blue; }
 114+ margin-top: 7px;
 115+ color: blue;
 116+}
126117
127118 .links {
128 - float: left;
129 - padding: 10px; }
 119+ float: left;
 120+ padding: 10px;
 121+}
130122
131123 #contentSub, .dablink {
132 - margin-bottom: 10px; }
 124+ margin-bottom: 10px;
 125+}
133126
134127 #firstHeading {
135 - font-size: 1.7em; }
 128+ font-size: 1.7em;
 129+}
136130
137131 h2 {
138 - font-size: 1.3em; }
 132+ font-size: 1.3em;
 133+}
139134
140135 .section_anchors a {
141 - display: block; }
 136+ display: block;
 137+}
142138
143139 .section_anchor {
144 - height: 1px;
145 - width: 1px; }
 140+ height: 1px;
 141+ width: 1px;
 142+}
146143
147144 .printonly, .geo-multi-punct, .geo-nondefault, .Z3988 {
148 - display: none; }
 145+ display: none;
 146+}
149147
150148 #featured_article .noprint, .today .noprint {
151 - display: none; }
 149+ display: none;
 150+}
152151
153152 .thumb {
154 - border: 1px solid #cccccc;
155 - -webkit-border-radius: 5px;
156 - -moz-border-radius: 5px;
157 - background: #f9f9f9;
158 - margin-bottom: 10px; }
159 - .thumb .thumbinner[style] {
160 - margin: 5px auto; }
161 - .thumb .thumbcaption {
162 - width: 100%;
163 - margin: 5px 10px 0;
164 - text-align: center;
165 - width: auto !important; }
 153+ border: 1px solid #cccccc;
 154+ -webkit-border-radius: 5px;
 155+ -moz-border-radius: 5px;
 156+ background: #f9f9f9;
 157+ margin-bottom: 10px;
 158+}
166159
 160+.thumb .thumbinner[style] {
 161+ margin: 5px auto;
 162+}
 163+
 164+.thumb .thumbcaption {
 165+ width: 100%;
 166+ margin: 5px 10px 0;
 167+ text-align: center;
 168+ width: auto !important;
 169+}
 170+
167171 img.thumbborder {
168 - border: 1px solid #cccccc; }
 172+ border: 1px solid #cccccc;
 173+}
169174
170175 .floatright {
171 - float: right; }
 176+ float: right;
 177+}
172178
173179 #content_wrapper.home h1#firstHeading {
174 - display: none; }
 180+ display: none;
 181+}
175182
176183 body {
177 - margin: 0; }
 184+ margin: 0;
 185+}
178186
179187 #header {
180 - margin: 8px 8px 0 8px; }
 188+ margin: 8px 8px 0 8px;
 189+}
181190
182191 #content_wrapper {
183 - clear: both;
184 - margin: 0 8px; }
 192+ clear: both;
 193+ margin: 0 8px;
 194+}
185195
186196 #footer {
187 - margin: 0 8px; }
 197+ margin: 0 8px;
 198+}
188199
189200 #header img, #header form, #header input, #header button {
190 - vertical-align: middle;
191 - display: inline-block; }
 201+ vertical-align: middle;
 202+ display: inline-block;
 203+}
192204
193205 #searchbox {
194 - width: auto;
195 - padding: 5px;
196 - border: 1px solid #cccccc;
197 - -webkit-border-radius: 2px;
198 - -moz-border-radius: 2px; }
199 - #searchbox a, #searchbox img {
200 - border: 0px;
201 - vertical-align: middle; }
202 - #searchbox #goButton {
203 - border: 0;
204 - background: url(images/s.gif) no-repeat top left;
205 - height: 25px;
206 - width: 27px; }
207 - #searchbox #searchField {
208 - width: auto; }
 206+ width: auto;
 207+ padding: 5px;
 208+ border: 1px solid #cccccc;
 209+ -webkit-border-radius: 2px;
 210+ -moz-border-radius: 2px;
 211+}
209212
 213+#searchbox a, #searchbox img {
 214+ border: 0px;
 215+ vertical-align: middle;
 216+}
 217+
 218+#searchbox #goButton {
 219+ border: 0;
 220+ background: url(images/s.gif) no-repeat top left;
 221+ height: 25px;
 222+ width: 27px;
 223+}
 224+
 225+#searchbox #searchField {
 226+ width: auto;
 227+}
 228+
210229 #nav {
211 - -webkit-border-radius: 2px;
212 - -moz-border-radius: 2px;
213 - clear: both;
214 - padding: 5px 0; }
215 - #nav form, #nav button {
216 - display: inline-block; }
217 - #nav button {
218 - background: url(images/buttonbg.gif) no-repeat center;
219 - border: 0;
220 - height: 23px;
221 - width: 83px; }
 230+ -webkit-border-radius: 2px;
 231+ -moz-border-radius: 2px;
 232+ clear: both;
 233+ padding: 5px 0;
 234+}
222235
 236+#nav form, #nav button {
 237+ display: inline-block;
 238+}
 239+
 240+#nav button {
 241+ background: url(images/buttonbg.gif) no-repeat center;
 242+ border: 0;
 243+ height: 23px;
 244+ width: 83px;
 245+}
 246+
223247 #disableButtons {
224 - text-align: center; }
225 - #disableButtons button {
226 - background: url(images/buttonbg.gif) no-repeat center;
227 - border: 0;
228 - height: 23px;
229 - width: 83px; }
230 - #disableButtons #backButton {
231 - margin-top: 5em; }
 248+ text-align: center;
 249+}
232250
 251+#disableButtons button {
 252+ background: url(images/buttonbg.gif) no-repeat center;
 253+ border: 0;
 254+ height: 23px;
 255+ width: 83px;
 256+}
 257+
 258+#disableButtons #backButton {
 259+ margin-top: 5em;
 260+}
 261+
233262 .mwm-notice {
234 - padding: 5px;
235 - background: #dddddd;
236 - -webkit-border-radius: 5px;
237 - margin-top: 5px;
238 - text-align: center;
239 - border: 1px solid grey; }
 263+ padding: 5px;
 264+ background: #dddddd;
 265+ -webkit-border-radius: 5px;
 266+ margin-top: 5px;
 267+ text-align: center;
 268+ border: 1px solid grey;
 269+}
240270
241271 .mwm-message.mwm-notice {
242 - font-size: 1.1em; }
 272+ font-size: 1.1em;
 273+}
243274
244275 #image_wrapper {
245 - margin: 8px 0 8px -3px; }
 276+ margin: 8px 0 8px -3px;
 277+}
246278
247279 #footer {
248 - padding-top: 1em; }
249 - #footer #perm {
250 - padding-top: 2em;
251 - font-size: 90%; }
252 - #footer #copyright {
253 - padding: 1em 0;
254 - font-size: 80%; }
 280+ padding-top: 1em;
 281+}
255282
 283+#footer #perm {
 284+ padding-top: 2em;
 285+ font-size: 90%;
 286+}
 287+
 288+#footer #copyright {
 289+ padding: 1em 0;
 290+ font-size: 80%;
 291+}
 292+
256293 ol.references > li:target,
257294 sup.reference:target,
258295 span.citation:target, cite:target {
259 - background-color: #ddeeff; }
 296+ background-color: #ddeeff;
 297+}
260298
261299 .content_block,
262300 .section_anchors,
263301 button.section_heading.hide {
264 - display: none; }
 302+ display: none;
 303+}
265304
266305 body {
267 - font-size: 1.8em; }
 306+ font-size: 1.8em;
 307+}
268308
269309 #clearButton {
270 - display: none; }
 310+ display: none;
 311+}
271312
272313 #nav {
273 - display: none;
274 - width: 250px;
275 - border: 1px solid #cccccc;
276 - border-top: 0px;
277 - margin: -1px 0 0 0;
278 - background: white;
279 - padding: 0 5px 5px 5px; }
 314+ display: none;
 315+ width: 250px;
 316+ border: 1px solid #cccccc;
 317+ border-top: 0px;
 318+ margin: -1px 0 0 0;
 319+ background: white;
 320+ padding: 0 5px 5px 5px;
 321+}
280322
281323 #search:focus {
282 - outline: none;
 324+ outline: none;
283325 }
284 -
285 -#search {
286 - -webkit-appearance: none;
287 - border-top-width: 0px;
288 - border-right-width: 0px;
289 - border-bottom-width: 0px;
290 - border-left-width: 0px;
291 - outline-style: none;
292 - outline-width: initial;
293 - outline-color: initial;
294 - height: 1.4em;
295 -}
296 -
297 -.divclearable {
298 - border: 1px solid #888;
299 - display: -moz-inline-stack;
300 - display: inline-block;
301 - zoom:1;
302 - *display:inline;
303 - vertical-align:middle;
304 - height: 1.5em;
305 - position: relative;
306 -}
307 -
308 -.clearlink {
309 - background: url(images/close-button.png) no-repeat scroll 0 0 transparent;
310 - background-position: center center;
311 - cursor: pointer;
312 - zoom:1;
313 - position: absolute;
314 - right: 0.25em;
315 - top: 50%;
316 - margin: 1px;
317 - height: 12px;
318 - width: 12px;
319 - margin-top: -6px;
320 - z-index: 2;
321 - border: 0px solid;
322 - display: none;
323 -}
\ No newline at end of file
Index: branches/wmf/1.18wmf1/extensions/MobileFrontend/stylesheets/firefox.css
@@ -1,322 +1,325 @@
2 -table {
3 - border-spacing: 0 !important;
4 - width: 100%;
5 - border-collapse: collapse !important;
6 - border: 1px solid #cccccc;
7 - padding: 3px;
8 - margin-bottom: 15px; }
9 - table td, table th {
10 - border: 1px solid #cccccc;
11 - padding: 3px; }
12 - table table {
13 - border: 0; }
14 - table table td, table table th {
15 - border: 0; }
16 - table.toc {
17 - background: #f9f9f9; }
18 - table.toc h2 {
19 - border: 0;
20 - padding: 0;
21 - margin-top: 5px; }
22 - table.navbox {
23 - font-size: 0.9em;
24 - width: 100% !important; }
25 - table.navbox th.navbox-title {
26 - background: #ccccff;
27 - padding: 5px; }
28 - table.navbox td.navbox-abovebelow {
29 - padding: 3px; }
30 - table.navbox td.navbox-group {
31 - background: #ddddff;
32 - width: 25%;
33 - padding: 3px; }
34 - table.navbox td.navbox-group + td {
35 - padding: 3px; }
36 - table.navbox div[style*="padding"] {
37 - padding-left: 0 !important;
38 - padding-right: 0 !important; }
39 - table.navbox div[style*="padding"] a {
40 - white-space: pre-wrap; }
41 - table.navbox span[style*="white"] {
42 - white-space: pre-wrap !important; }
43 - table.navbox td, table.navbox th {
44 - padding: 0; }
45 - table.navbox table {
46 - margin-bottom: 0; }
47 - table.wikitable th {
48 - background: #f3f3f3; }
49 - table[style] {
50 - width: 100% !important;
51 - float: none !important;
52 - margin-left: 0 !important; }
53 - table.infobox {
54 - background: #f9f9f9; }
55 - table.infobox th, table.infobox td {
56 - border: 0; }
57 - table.infobox td[colspan="3"], table.infobox th[colspan="3"] {
58 - border: 1px solid #cccccc; }
59 - table.gallery {
60 - background: #f9f9f9;
61 - border-bottom: 0; }
62 - table.gallery th, table.gallery td {
63 - display: block;
64 - border: 0;
65 - border-bottom: 1px solid #cccccc; }
66 - table.gallery .gallerybox[style] {
67 - width: auto !important;
68 - margin-bottom: -16px; }
69 - table.gallery .thumb[style] {
70 - border: 0;
71 - padding: 0 !important;
72 - width: auto !important;
73 - margin: 0 auto; }
74 - table.gallery .gallerytext {
75 - margin-top: -12px;
76 - text-align: center; }
77 - table.geography[style] th {
78 - text-align: left; }
79 - table.geography[style] td[style*="text-align"], table.geography[style] td[colspan="2"] {
80 - text-align: left !important;
81 - margin-left: 0 !important;
82 - margin-right: 0 !important; }
83 - table.geography[style] td[style*="text-align"] div[style], table.geography[style] td[colspan="2"] div[style] {
84 - text-align: left !important; }
 2+table table {
 3+ border: 0;
 4+}
855
 6+table table td, table table th {
 7+ border: 0;
 8+}
 9+
 10+table.toc {
 11+ background: #f9f9f9;
 12+}
 13+
 14+table.navbox td.navbox-abovebelow {
 15+ padding: 3px;
 16+}
 17+
 18+table.navbox td.navbox-group + td {
 19+ padding: 3px;
 20+}
 21+
 22+table.navbox div[style*="padding"] a {
 23+ white-space: pre-wrap;
 24+}
 25+
 26+table.navbox span[style*="white"] {
 27+ white-space: pre-wrap !important;
 28+}
 29+
 30+table.navbox td, table.navbox th {
 31+ padding: 0;
 32+}
 33+
 34+table.navbox table {
 35+ margin-bottom: 0;
 36+}
 37+
 38+table.wikitable th {
 39+ background: #f3f3f3;
 40+}
 41+
 42+table.infobox {
 43+ background: #f9f9f9;
 44+}
 45+
 46+table.infobox th, table.infobox td {
 47+ border: 0;
 48+}
 49+
 50+table.infobox td[colspan="3"], table.infobox th[colspan="3"] {
 51+ border: 1px solid #cccccc;
 52+}
 53+
 54+table.geography[style] th {
 55+ text-align: left;
 56+}
 57+
 58+table.geography[style] td[style*="text-align"] div[style], table.geography[style] td[colspan="2"] div[style] {
 59+ text-align: left !important;
 60+}
 61+
8662 table.admin {
87 - width: 300px; }
 63+ width: 300px;
 64+}
8865
8966 html {
90 - font-size: 0.8em; }
 67+ font-size: 0.8em;
 68+}
9169
9270 body {
93 - line-height: 1;
94 - color: black;
95 - background: white;
96 - font-family: sans-serif;
97 - overflow-x: hidden;
98 - -webkit-text-size-adjust: none; }
 71+ line-height: 1;
 72+ color: black;
 73+ background: white;
 74+ font-family: sans-serif;
 75+ overflow-x: hidden;
 76+ -webkit-text-size-adjust: none;
 77+}
9978
10079 p, li, dl, #featured_article {
101 - line-height: 1.65; }
 80+ line-height: 1.65;
 81+}
10282
10383 pre {
104 - white-space: pre-wrap; }
 84+ white-space: pre-wrap;
 85+}
10586
10687 h2 {
107 - border-bottom: 1px solid #aaaaaa;
108 - padding-top: 0.3em; }
 88+ border-bottom: 1px solid #aaaaaa;
 89+ padding-top: 0.3em;
 90+}
10991
11092 a {
111 - text-decoration: none;
112 - color: #002bb8; }
113 - a:visited {
114 - color: #5a3696; }
115 - a:active {
116 - color: #faa700; }
117 - a:hover {
118 - text-decoration: underline; }
 93+ text-decoration: none;
 94+ color: #002bb8;
 95+}
11996
 97+a:visited {
 98+ color: #5a3696;
 99+}
 100+
 101+a:active {
 102+ color: #faa700;
 103+}
 104+
 105+a:hover {
 106+ text-decoration: underline;
 107+}
 108+
120109 a.new, a.new:visited, a.new:hover {
121 - color: red; }
 110+ color: red;
 111+}
122112
123113 a.back_to_top, a.back_to_top:visited {
124 - margin-top: 7px;
125 - color: blue; }
 114+ margin-top: 7px;
 115+ color: blue;
 116+}
126117
127118 .links {
128 - float: left;
129 - padding: 10px; }
 119+ float: left;
 120+ padding: 10px;
 121+}
130122
131123 #contentSub, .dablink {
132 - margin-bottom: 10px; }
 124+ margin-bottom: 10px;
 125+}
133126
134127 #firstHeading {
135 - font-size: 1.7em; }
 128+ font-size: 1.7em;
 129+}
136130
137131 h2 {
138 - font-size: 1.3em; }
 132+ font-size: 1.3em;
 133+}
139134
140135 .section_anchors a {
141 - display: block; }
 136+ display: block;
 137+}
142138
143139 .section_anchor {
144 - height: 1px;
145 - width: 1px; }
 140+ height: 1px;
 141+ width: 1px;
 142+}
146143
147144 .printonly, .geo-multi-punct, .geo-nondefault, .Z3988 {
148 - display: none; }
 145+ display: none;
 146+}
149147
150148 #featured_article .noprint, .today .noprint {
151 - display: none; }
 149+ display: none;
 150+}
152151
153152 .thumb {
154 - border: 1px solid #cccccc;
155 - -webkit-border-radius: 5px;
156 - -moz-border-radius: 5px;
157 - background: #f9f9f9;
158 - margin-bottom: 10px; }
159 - .thumb .thumbinner[style] {
160 - margin: 5px auto; }
161 - .thumb .thumbcaption {
162 - width: 100%;
163 - margin: 5px 10px 0;
164 - text-align: center;
165 - width: auto !important; }
 153+ border: 1px solid #cccccc;
 154+ -webkit-border-radius: 5px;
 155+ -moz-border-radius: 5px;
 156+ background: #f9f9f9;
 157+ margin-bottom: 10px;
 158+}
166159
 160+.thumb .thumbinner[style] {
 161+ margin: 5px auto;
 162+}
 163+
 164+.thumb .thumbcaption {
 165+ width: 100%;
 166+ margin: 5px 10px 0;
 167+ text-align: center;
 168+ width: auto !important;
 169+}
 170+
167171 img.thumbborder {
168 - border: 1px solid #cccccc; }
 172+ border: 1px solid #cccccc;
 173+}
169174
170175 .floatright {
171 - float: right; }
 176+ float: right;
 177+}
172178
173179 #content_wrapper.home h1#firstHeading {
174 - display: none; }
 180+ display: none;
 181+}
175182
176183 body {
177 - margin: 0; }
 184+ margin: 0;
 185+}
178186
179187 #header {
180 - margin: 8px 8px 0 8px; }
 188+ margin: 8px 8px 0 8px;
 189+}
181190
182191 #content_wrapper {
183 - clear: both;
184 - margin: 0 8px; }
 192+ clear: both;
 193+ margin: 0 8px;
 194+}
185195
186196 #footer {
187 - margin: 0 8px; }
 197+ margin: 0 8px;
 198+}
188199
189200 #header img, #header form, #header input, #header button {
190 - vertical-align: middle;
191 - display: inline-block; }
 201+ vertical-align: middle;
 202+ display: inline-block;
 203+}
192204
193205 #searchbox {
194 - width: auto;
195 - padding: 5px;
196 - border: 1px solid #cccccc;
197 - -webkit-border-radius: 2px;
198 - -moz-border-radius: 2px; }
199 - #searchbox a, #searchbox img {
200 - border: 0px;
201 - vertical-align: middle; }
202 - #searchbox #goButton {
203 - border: 0;
204 - background: url(images/s.gif) no-repeat top left;
205 - height: 25px;
206 - width: 27px; }
207 - #searchbox #searchField {
208 - width: auto; }
 206+ width: auto;
 207+ padding: 5px;
 208+ border: 1px solid #cccccc;
 209+ -webkit-border-radius: 2px;
 210+ -moz-border-radius: 2px;
 211+}
209212
 213+#searchbox a, #searchbox img {
 214+ border: 0px;
 215+ vertical-align: middle;
 216+}
 217+
 218+#searchbox #goButton {
 219+ border: 0;
 220+ background: url(images/s.gif) no-repeat top left;
 221+ height: 25px;
 222+ width: 27px;
 223+}
 224+
 225+#searchbox #searchField {
 226+ width: auto;
 227+}
 228+
210229 #nav {
211 - -webkit-border-radius: 2px;
212 - -moz-border-radius: 2px;
213 - clear: both;
214 - padding: 5px 0; }
215 - #nav form, #nav button {
216 - display: inline-block; }
217 - #nav button {
218 - background: url(images/buttonbg.gif) no-repeat center;
219 - border: 0;
220 - height: 23px;
221 - width: 83px; }
 230+ -webkit-border-radius: 2px;
 231+ -moz-border-radius: 2px;
 232+ clear: both;
 233+ padding: 5px 0;
 234+}
222235
 236+#nav form, #nav button {
 237+ display: inline-block;
 238+}
 239+
 240+#nav button {
 241+ background: url(images/buttonbg.gif) no-repeat center;
 242+ border: 0;
 243+ height: 23px;
 244+ width: 83px;
 245+}
 246+
223247 #disableButtons {
224 - text-align: center; }
225 - #disableButtons button {
226 - background: url(images/buttonbg.gif) no-repeat center;
227 - border: 0;
228 - height: 23px;
229 - width: 83px; }
230 - #disableButtons #backButton {
231 - margin-top: 5em; }
 248+ text-align: center;
 249+}
232250
 251+#disableButtons button {
 252+ background: url(images/buttonbg.gif) no-repeat center;
 253+ border: 0;
 254+ height: 23px;
 255+ width: 83px;
 256+}
 257+
 258+#disableButtons #backButton {
 259+ margin-top: 5em;
 260+}
 261+
233262 .mwm-notice {
234 - padding: 5px;
235 - background: #dddddd;
236 - -webkit-border-radius: 5px;
237 - margin-top: 5px;
238 - text-align: center;
239 - border: 1px solid grey; }
 263+ padding: 5px;
 264+ background: #dddddd;
 265+ -webkit-border-radius: 5px;
 266+ margin-top: 5px;
 267+ text-align: center;
 268+ border: 1px solid grey;
 269+}
240270
241271 .mwm-message.mwm-notice {
242 - font-size: 1.1em; }
 272+ font-size: 1.1em;
 273+}
243274
244275 #image_wrapper {
245 - margin: 8px 0 8px -3px; }
 276+ margin: 8px 0 8px -3px;
 277+}
246278
247279 #footer {
248 - padding-top: 1em; }
249 - #footer #perm {
250 - padding-top: 2em;
251 - font-size: 90%; }
252 - #footer #copyright {
253 - padding: 1em 0;
254 - font-size: 80%; }
 280+ padding-top: 1em;
 281+}
255282
 283+#footer #perm {
 284+ padding-top: 2em;
 285+ font-size: 90%;
 286+}
 287+
 288+#footer #copyright {
 289+ padding: 1em 0;
 290+ font-size: 80%;
 291+}
 292+
256293 ol.references > li:target,
257294 sup.reference:target,
258295 span.citation:target, cite:target {
259 - background-color: #ddeeff; }
 296+ background-color: #ddeeff;
 297+}
260298
261299 .content_block,
262300 .section_anchors,
263301 button.section_heading.hide {
264 - display: none; }
 302+ display: none;
 303+}
265304
266305 #clearButton {
267 - display: none; }
 306+ display: none;
 307+}
268308
269309 #nav {
270 - display: none;
271 - width: 172px;
272 - border: 1px solid #cccccc;
273 - border-top: 0px;
274 - margin: -1px 0 0 0;
275 - background: white;
276 - padding: 0 5px 5px 5px; }
 310+ display: none;
 311+ width: 172px;
 312+ border: 1px solid #cccccc;
 313+ border-top: 0px;
 314+ margin: -1px 0 0 0;
 315+ background: white;
 316+ padding: 0 5px 5px 5px;
 317+}
277318
278319 #nav {
279 - margin-top: 8px; }
 320+ margin-top: 8px;
 321+}
280322
281323 #search:focus {
282 - outline: none;
 324+ outline: none;
283325 }
284326
285 -#search {
286 - -webkit-appearance: none;
287 - border-top-width: 0px;
288 - border-right-width: 0px;
289 - border-bottom-width: 0px;
290 - border-left-width: 0px;
291 - outline-style: none;
292 - outline-width: initial;
293 - outline-color: initial;
294 - height: 1.4em;
295 -}
296 -
297 -.divclearable {
298 - border: 1px solid #888;
299 - display: -moz-inline-stack;
300 - display: inline-block;
301 - zoom:1;
302 - *display:inline;
303 - vertical-align:middle;
304 - height: 1.5em;
305 - position: relative;
306 -}
307 -
308 -.clearlink {
309 - background: url(images/close-button.png) no-repeat scroll 0 0 transparent;
310 - background-position: center center;
311 - cursor: pointer;
312 - zoom:1;
313 - position: absolute;
314 - right: 0.25em;
315 - top: 50%;
316 - margin: 1px;
317 - height: 12px;
318 - width: 12px;
319 - margin-top: -6px;
320 - z-index: 2;
321 - border: 0px solid;
322 - display: none;
323 -}
Index: branches/wmf/1.18wmf1/extensions/MobileFrontend/stylesheets/psp.css
@@ -1,375 +1,397 @@
2 -table {
3 - border-spacing: 0 !important;
4 - width: 100%;
5 - border-collapse: collapse !important;
6 - border: 1px solid #cccccc;
7 - padding: 3px;
8 - margin-bottom: 15px; }
9 - table td, table th {
10 - border: 1px solid #cccccc;
11 - padding: 3px; }
12 - table table {
13 - border: 0; }
14 - table table td, table table th {
15 - border: 0; }
16 - table.toc {
17 - background: #f9f9f9; }
18 - table.toc h2 {
19 - border: 0;
20 - padding: 0;
21 - margin-top: 5px; }
22 - table.navbox {
23 - font-size: 0.9em;
24 - width: 100% !important; }
25 - table.navbox th.navbox-title {
26 - background: #ccccff;
27 - padding: 5px; }
28 - table.navbox td.navbox-abovebelow {
29 - padding: 3px; }
30 - table.navbox td.navbox-group {
31 - background: #ddddff;
32 - width: 25%;
33 - padding: 3px; }
34 - table.navbox td.navbox-group + td {
35 - padding: 3px; }
36 - table.navbox div[style*="padding"] {
37 - padding-left: 0 !important;
38 - padding-right: 0 !important; }
39 - table.navbox div[style*="padding"] a {
40 - white-space: pre-wrap; }
41 - table.navbox span[style*="white"] {
42 - white-space: pre-wrap !important; }
43 - table.navbox td, table.navbox th {
44 - padding: 0; }
45 - table.navbox table {
46 - margin-bottom: 0; }
47 - table.wikitable th {
48 - background: #f3f3f3; }
49 - table[style] {
50 - width: 100% !important;
51 - float: none !important;
52 - margin-left: 0 !important; }
53 - table.infobox {
54 - background: #f9f9f9; }
55 - table.infobox th, table.infobox td {
56 - border: 0; }
57 - table.infobox td[colspan="3"], table.infobox th[colspan="3"] {
58 - border: 1px solid #cccccc; }
59 - table.gallery {
60 - background: #f9f9f9;
61 - border-bottom: 0; }
62 - table.gallery th, table.gallery td {
63 - display: block;
64 - border: 0;
65 - border-bottom: 1px solid #cccccc; }
66 - table.gallery .gallerybox[style] {
67 - width: auto !important;
68 - margin-bottom: -16px; }
69 - table.gallery .thumb[style] {
70 - border: 0;
71 - padding: 0 !important;
72 - width: auto !important;
73 - margin: 0 auto; }
74 - table.gallery .gallerytext {
75 - margin-top: -12px;
76 - text-align: center; }
77 - table.geography[style] th {
78 - text-align: left; }
79 - table.geography[style] td[style*="text-align"], table.geography[style] td[colspan="2"] {
80 - text-align: left !important;
81 - margin-left: 0 !important;
82 - margin-right: 0 !important; }
83 - table.geography[style] td[style*="text-align"] div[style], table.geography[style] td[colspan="2"] div[style] {
84 - text-align: left !important; }
 2+table table {
 3+ border: 0;
 4+}
855
 6+table table td, table table th {
 7+ border: 0;
 8+}
 9+
 10+table.toc {
 11+ background: #f9f9f9;
 12+}
 13+
 14+table.navbox td.navbox-abovebelow {
 15+ padding: 3px;
 16+}
 17+
 18+table.navbox td.navbox-group + td {
 19+ padding: 3px;
 20+}
 21+
 22+table.navbox div[style*="padding"] a {
 23+ white-space: pre-wrap;
 24+}
 25+
 26+table.navbox span[style*="white"] {
 27+ white-space: pre-wrap !important;
 28+}
 29+
 30+table.navbox td, table.navbox th {
 31+ padding: 0;
 32+}
 33+
 34+table.navbox table {
 35+ margin-bottom: 0;
 36+}
 37+
 38+table.wikitable th {
 39+ background: #f3f3f3;
 40+}
 41+
 42+table.infobox {
 43+ background: #f9f9f9;
 44+}
 45+
 46+table.infobox th, table.infobox td {
 47+ border: 0;
 48+}
 49+
 50+table.infobox td[colspan="3"], table.infobox th[colspan="3"] {
 51+ border: 1px solid #cccccc;
 52+}
 53+
 54+table.geography[style] th {
 55+ text-align: left;
 56+}
 57+
 58+table.geography[style] td[style*="text-align"] div[style], table.geography[style] td[colspan="2"] div[style] {
 59+ text-align: left !important;
 60+}
 61+
8662 table.admin {
87 - width: 300px; }
 63+ width: 300px;
 64+}
8865
8966 html {
90 - font-size: 0.8em; }
 67+ font-size: 0.8em;
 68+}
9169
9270 body {
93 - line-height: 1;
94 - color: black;
95 - background: white;
96 - font-family: sans-serif;
97 - overflow-x: hidden;
98 - -webkit-text-size-adjust: none; }
 71+ line-height: 1;
 72+ color: black;
 73+ background: white;
 74+ font-family: sans-serif;
 75+ overflow-x: hidden;
 76+ -webkit-text-size-adjust: none;
 77+}
9978
10079 p, li, dl, #featured_article {
101 - line-height: 1.65; }
 80+ line-height: 1.65;
 81+}
10282
10383 pre {
104 - white-space: pre-wrap; }
 84+ white-space: pre-wrap;
 85+}
10586
10687 h2 {
107 - border-bottom: 1px solid #aaaaaa;
108 - padding-top: 0.3em; }
 88+ border-bottom: 1px solid #aaaaaa;
 89+ padding-top: 0.3em;
 90+}
10991
11092 a {
111 - text-decoration: none;
112 - color: #002bb8; }
113 - a:visited {
114 - color: #5a3696; }
115 - a:active {
116 - color: #faa700; }
117 - a:hover {
118 - text-decoration: underline; }
 93+ text-decoration: none;
 94+ color: #002bb8;
 95+}
11996
 97+a:visited {
 98+ color: #5a3696;
 99+}
 100+
 101+a:active {
 102+ color: #faa700;
 103+}
 104+
 105+a:hover {
 106+ text-decoration: underline;
 107+}
 108+
120109 a.new, a.new:visited, a.new:hover {
121 - color: red; }
 110+ color: red;
 111+}
122112
123113 a.back_to_top, a.back_to_top:visited {
124 - margin-top: 7px;
125 - color: blue; }
 114+ margin-top: 7px;
 115+ color: blue;
 116+}
126117
127118 .links {
128 - float: left;
129 - padding: 10px; }
 119+ float: left;
 120+ padding: 10px;
 121+}
130122
131123 #contentSub, .dablink {
132 - margin-bottom: 10px; }
 124+ margin-bottom: 10px;
 125+}
133126
134127 #firstHeading {
135 - font-size: 1.7em; }
 128+ font-size: 1.7em;
 129+}
136130
137131 h2 {
138 - font-size: 1.3em; }
 132+ font-size: 1.3em;
 133+}
139134
140135 .section_anchors a {
141 - display: block; }
 136+ display: block;
 137+}
142138
143139 .section_anchor {
144 - height: 1px;
145 - width: 1px; }
 140+ height: 1px;
 141+ width: 1px;
 142+}
146143
147144 .printonly, .geo-multi-punct, .geo-nondefault, .Z3988 {
148 - display: none; }
 145+ display: none;
 146+}
149147
150148 #featured_article .noprint, .today .noprint {
151 - display: none; }
 149+ display: none;
 150+}
152151
153152 .thumb {
154 - border: 1px solid #cccccc;
155 - -webkit-border-radius: 5px;
156 - -moz-border-radius: 5px;
157 - background: #f9f9f9;
158 - margin-bottom: 10px; }
159 - .thumb .thumbinner[style] {
160 - margin: 5px auto; }
161 - .thumb .thumbcaption {
162 - width: 100%;
163 - margin: 5px 10px 0;
164 - text-align: center;
165 - width: auto !important; }
 153+ border: 1px solid #cccccc;
 154+ -webkit-border-radius: 5px;
 155+ -moz-border-radius: 5px;
 156+ background: #f9f9f9;
 157+ margin-bottom: 10px;
 158+}
166159
 160+.thumb .thumbinner[style] {
 161+ margin: 5px auto;
 162+}
 163+
 164+.thumb .thumbcaption {
 165+ width: 100%;
 166+ margin: 5px 10px 0;
 167+ text-align: center;
 168+ width: auto !important;
 169+}
 170+
167171 img.thumbborder {
168 - border: 1px solid #cccccc; }
 172+ border: 1px solid #cccccc;
 173+}
169174
170175 .floatright {
171 - float: right; }
 176+ float: right;
 177+}
172178
173179 #content_wrapper.home h1#firstHeading {
174 - display: none; }
 180+ display: none;
 181+}
175182
176183 body {
177 - margin: 0; }
 184+ margin: 0;
 185+}
178186
179187 #header {
180 - margin: 8px 8px 0 8px; }
 188+ margin: 8px 8px 0 8px;
 189+}
181190
182191 #content_wrapper {
183 - clear: both;
184 - margin: 0 8px; }
 192+ clear: both;
 193+ margin: 0 8px;
 194+}
185195
186196 #footer {
187 - margin: 0 8px; }
 197+ margin: 0 8px;
 198+}
188199
189200 #header img, #header form, #header input, #header button {
190 - vertical-align: middle;
191 - display: inline-block; }
 201+ vertical-align: middle;
 202+ display: inline-block;
 203+}
192204
193205 #searchbox {
194 - width: auto;
195 - padding: 5px;
196 - border: 1px solid #cccccc;
197 - -webkit-border-radius: 2px;
198 - -moz-border-radius: 2px; }
199 - #searchbox a, #searchbox img {
200 - border: 0px;
201 - vertical-align: middle; }
202 - #searchbox #goButton {
203 - border: 0;
204 - background: url(images/s.gif) no-repeat top left;
205 - height: 25px;
206 - width: 27px; }
207 - #searchbox #searchField {
208 - width: auto; }
 206+ width: auto;
 207+ padding: 5px;
 208+ border: 1px solid #cccccc;
 209+ -webkit-border-radius: 2px;
 210+ -moz-border-radius: 2px;
 211+}
209212
 213+#searchbox a, #searchbox img {
 214+ border: 0px;
 215+ vertical-align: middle;
 216+}
 217+
 218+#searchbox #goButton {
 219+ border: 0;
 220+ background: url(images/s.gif) no-repeat top left;
 221+ height: 25px;
 222+ width: 27px;
 223+}
 224+
 225+#searchbox #searchField {
 226+ width: auto;
 227+}
 228+
210229 #nav {
211 - -webkit-border-radius: 2px;
212 - -moz-border-radius: 2px;
213 - clear: both;
214 - padding: 5px 0; }
215 - #nav form, #nav button {
216 - display: inline-block; }
217 - #nav button {
218 - background: url(images/buttonbg.gif) no-repeat center;
219 - border: 0;
220 - height: 23px;
221 - width: 83px; }
 230+ -webkit-border-radius: 2px;
 231+ -moz-border-radius: 2px;
 232+ clear: both;
 233+ padding: 5px 0;
 234+}
222235
 236+#nav form, #nav button {
 237+ display: inline-block;
 238+}
 239+
 240+#nav button {
 241+ background: url(images/buttonbg.gif) no-repeat center;
 242+ border: 0;
 243+ height: 23px;
 244+ width: 83px;
 245+}
 246+
223247 #disableButtons {
224 - text-align: center; }
225 - #disableButtons button {
226 - background: url(images/buttonbg.gif) no-repeat center;
227 - border: 0;
228 - height: 23px;
229 - width: 83px; }
230 - #disableButtons #backButton {
231 - margin-top: 5em; }
 248+ text-align: center;
 249+}
232250
 251+#disableButtons button {
 252+ background: url(images/buttonbg.gif) no-repeat center;
 253+ border: 0;
 254+ height: 23px;
 255+ width: 83px;
 256+}
 257+
 258+#disableButtons #backButton {
 259+ margin-top: 5em;
 260+}
 261+
233262 .mwm-notice {
234 - padding: 5px;
235 - background: #dddddd;
236 - -webkit-border-radius: 5px;
237 - margin-top: 5px;
238 - text-align: center;
239 - border: 1px solid grey; }
 263+ padding: 5px;
 264+ background: #dddddd;
 265+ -webkit-border-radius: 5px;
 266+ margin-top: 5px;
 267+ text-align: center;
 268+ border: 1px solid grey;
 269+}
240270
241271 .mwm-message.mwm-notice {
242 - font-size: 1.1em; }
 272+ font-size: 1.1em;
 273+}
243274
244275 #image_wrapper {
245 - margin: 8px 0 8px -3px; }
 276+ margin: 8px 0 8px -3px;
 277+}
246278
247279 #footer {
248 - padding-top: 1em; }
249 - #footer #perm {
250 - padding-top: 2em;
251 - font-size: 90%; }
252 - #footer #copyright {
253 - padding: 1em 0;
254 - font-size: 80%; }
 280+ padding-top: 1em;
 281+}
255282
 283+#footer #perm {
 284+ padding-top: 2em;
 285+ font-size: 90%;
 286+}
 287+
 288+#footer #copyright {
 289+ padding: 1em 0;
 290+ font-size: 80%;
 291+}
 292+
256293 ol.references > li:target,
257294 sup.reference:target,
258295 span.citation:target, cite:target {
259 - background-color: #ddeeff; }
 296+ background-color: #ddeeff;
 297+}
260298
261299 .content_block,
262300 .section_anchors,
263301 button.section_heading.hide {
264 - display: none; }
 302+ display: none;
 303+}
265304
266305 #header, #footer, #content_wrapper {
267 - margin: 0 2px; }
 306+ margin: 0 2px;
 307+}
268308
269309 #searchbox {
270 - border: 0px;
271 - padding: 2px;
272 - height: 26px; }
273 - #searchbox form, #searchbox button, #searchbox img, #searchbox input {
274 - display: inline; }
275 - #searchbox input#searchField {
276 - width: 60%; }
277 - #searchbox input#searchButton {
278 - margin-left: 2px; }
279 - #searchbox input#submitButton {
280 - display: none; }
 310+ border: 0px;
 311+ padding: 2px;
 312+ height: 26px;
 313+}
281314
 315+#searchbox form, #searchbox button, #searchbox img, #searchbox input {
 316+ display: inline;
 317+}
 318+
 319+#searchbox input#searchField {
 320+ width: 60%;
 321+}
 322+
 323+#searchbox input#searchButton {
 324+ margin-left: 2px;
 325+}
 326+
 327+#searchbox input#submitButton {
 328+ display: none;
 329+}
 330+
282331 .nav {
283 - border: 0;
284 - border-bottom: 2px solid #6d84b4;
285 - border-top: 2px solid #6d84b4;
286 - height: auto;
287 - clear: both;
288 - padding: 5px 0 5px 0;
289 - margin: 0; }
 332+ border: 0;
 333+ border-bottom: 2px solid #6d84b4;
 334+ border-top: 2px solid #6d84b4;
 335+ height: auto;
 336+ clear: both;
 337+ padding: 5px 0 5px 0;
 338+ margin: 0;
 339+}
290340
291341 #nav {
292 - padding: 5px 0 5px 0; }
 342+ padding: 5px 0 5px 0;
 343+}
293344
294345 .mwm-notice {
295 - text-align: left; }
 346+ text-align: left;
 347+}
296348
297349 .mwm-message.mwm-notice {
298 - display: none; }
 350+ display: none;
 351+}
299352
300353 a.arrow {
301 - float: right;
302 - margin-right: 5px; }
 354+ float: right;
 355+ margin-right: 5px;
 356+}
303357
304358 .thumb {
305 - margin: 0.5em 0; }
 359+ margin: 0.5em 0;
 360+}
306361
307362 .thumb.tright {
308 - float: right;
309 - clear: right;
310 - margin-left: 0.5em; }
 363+ float: right;
 364+ clear: right;
 365+ margin-left: 0.5em;
 366+}
311367
312368 .thumb .thumbcaption {
313 - text-align: left;
314 - margin: 0;
315 - font-size: 90%;
316 - padding-top: 0.5em; }
 369+ text-align: left;
 370+ margin: 0;
 371+ font-size: 90%;
 372+ padding-top: 0.5em;
 373+}
317374
318375 .thumb.tleft {
319 - float: left;
320 - clear: left;
321 - margin-right: 0.5em; }
 376+ float: left;
 377+ clear: left;
 378+ margin-right: 0.5em;
 379+}
322380
323381 .thumb .thumbinner,
324382 .thumb .thumbinner[style] {
325 - padding: 5px;
326 - margin: 0; }
 383+ padding: 5px;
 384+ margin: 0;
 385+}
327386
328387 #searchField {
329 - font-size: 1.2em; }
 388+ font-size: 1.2em;
 389+}
330390
331391 span.idx {
332 - display: none; }
 392+ display: none;
 393+}
333394
334395 #search:focus {
335 - outline: none;
 396+ outline: none;
336397 }
337398
338 -#search {
339 - -webkit-appearance: none;
340 - border-top-width: 0px;
341 - border-right-width: 0px;
342 - border-bottom-width: 0px;
343 - border-left-width: 0px;
344 - outline-style: none;
345 - outline-width: initial;
346 - outline-color: initial;
347 - height: 1.4em;
348 -}
349 -
350 -.divclearable {
351 - border: 1px solid #888;
352 - display: -moz-inline-stack;
353 - display: inline-block;
354 - zoom:1;
355 - *display:inline;
356 - vertical-align:middle;
357 - height: 1.5em;
358 - position: relative;
359 -}
360 -
361 -.clearlink {
362 - background: url(images/close-button.png) no-repeat scroll 0 0 transparent;
363 - background-position: center center;
364 - cursor: pointer;
365 - zoom:1;
366 - position: absolute;
367 - right: 0.25em;
368 - top: 50%;
369 - margin: 1px;
370 - height: 12px;
371 - width: 12px;
372 - margin-top: -6px;
373 - z-index: 2;
374 - border: 0px solid;
375 - display: none;
376 -}
Index: branches/wmf/1.18wmf1/extensions/MobileFrontend/stylesheets/iphone2.css
@@ -1,322 +1,328 @@
2 -table {
3 - border-spacing: 0 !important;
4 - width: 100%;
5 - border-collapse: collapse !important;
6 - border: 1px solid #cccccc;
7 - padding: 3px;
8 - margin-bottom: 15px; }
9 - table td, table th {
10 - border: 1px solid #cccccc;
11 - padding: 3px; }
12 - table table {
13 - border: 0; }
14 - table table td, table table th {
15 - border: 0; }
16 - table.toc {
17 - background: #f9f9f9; }
18 - table.toc h2 {
19 - border: 0;
20 - padding: 0;
21 - margin-top: 5px; }
22 - table.navbox {
23 - font-size: 0.9em;
24 - width: 100% !important; }
25 - table.navbox th.navbox-title {
26 - background: #ccccff;
27 - padding: 5px; }
28 - table.navbox td.navbox-abovebelow {
29 - padding: 3px; }
30 - table.navbox td.navbox-group {
31 - background: #ddddff;
32 - width: 25%;
33 - padding: 3px; }
34 - table.navbox td.navbox-group + td {
35 - padding: 3px; }
36 - table.navbox div[style*="padding"] {
37 - padding-left: 0 !important;
38 - padding-right: 0 !important; }
39 - table.navbox div[style*="padding"] a {
40 - white-space: pre-wrap; }
41 - table.navbox span[style*="white"] {
42 - white-space: pre-wrap !important; }
43 - table.navbox td, table.navbox th {
44 - padding: 0; }
45 - table.navbox table {
46 - margin-bottom: 0; }
47 - table.wikitable th {
48 - background: #f3f3f3; }
49 - table[style] {
50 - width: 100% !important;
51 - float: none !important;
52 - margin-left: 0 !important; }
53 - table.infobox {
54 - background: #f9f9f9; }
55 - table.infobox th, table.infobox td {
56 - border: 0; }
57 - table.infobox td[colspan="3"], table.infobox th[colspan="3"] {
58 - border: 1px solid #cccccc; }
59 - table.gallery {
60 - background: #f9f9f9;
61 - border-bottom: 0; }
62 - table.gallery th, table.gallery td {
63 - display: block;
64 - border: 0;
65 - border-bottom: 1px solid #cccccc; }
66 - table.gallery .gallerybox[style] {
67 - width: auto !important;
68 - margin-bottom: -16px; }
69 - table.gallery .thumb[style] {
70 - border: 0;
71 - padding: 0 !important;
72 - width: auto !important;
73 - margin: 0 auto; }
74 - table.gallery .gallerytext {
75 - margin-top: -12px;
76 - text-align: center; }
77 - table.geography[style] th {
78 - text-align: left; }
79 - table.geography[style] td[style*="text-align"], table.geography[style] td[colspan="2"] {
80 - text-align: left !important;
81 - margin-left: 0 !important;
82 - margin-right: 0 !important; }
83 - table.geography[style] td[style*="text-align"] div[style], table.geography[style] td[colspan="2"] div[style] {
84 - text-align: left !important; }
 2+table table {
 3+ border: 0;
 4+}
855
 6+table table td, table table th {
 7+ border: 0;
 8+}
 9+
 10+table.toc {
 11+ background: #f9f9f9;
 12+}
 13+
 14+table.navbox td.navbox-abovebelow {
 15+ padding: 3px;
 16+}
 17+
 18+table.navbox td.navbox-group + td {
 19+ padding: 3px;
 20+}
 21+
 22+table.navbox div[style*="padding"] a {
 23+ white-space: pre-wrap;
 24+}
 25+
 26+table.navbox span[style*="white"] {
 27+ white-space: pre-wrap !important;
 28+}
 29+
 30+table.navbox td, table.navbox th {
 31+ padding: 0;
 32+}
 33+
 34+table.navbox table {
 35+ margin-bottom: 0;
 36+}
 37+
 38+table.wikitable th {
 39+ background: #f3f3f3;
 40+}
 41+
 42+table.infobox {
 43+ background: #f9f9f9;
 44+}
 45+
 46+table.infobox th, table.infobox td {
 47+ border: 0;
 48+}
 49+
 50+table.infobox td[colspan="3"], table.infobox th[colspan="3"] {
 51+ border: 1px solid #cccccc;
 52+}
 53+
 54+table.geography[style] th {
 55+ text-align: left;
 56+}
 57+
 58+table.geography[style] td[style*="text-align"] div[style], table.geography[style] td[colspan="2"] div[style] {
 59+ text-align: left !important;
 60+}
 61+
8662 table.admin {
87 - width: 300px; }
 63+ width: 300px;
 64+}
8865
8966 html {
90 - font-size: 0.8em; }
 67+ font-size: 0.8em;
 68+}
9169
9270 body {
93 - line-height: 1;
94 - color: black;
95 - background: white;
96 - font-family: sans-serif;
97 - overflow-x: hidden;
98 - -webkit-text-size-adjust: none; }
 71+ line-height: 1;
 72+ color: black;
 73+ background: white;
 74+ font-family: sans-serif;
 75+ overflow-x: hidden;
 76+ -webkit-text-size-adjust: none;
 77+}
9978
10079 p, li, dl, #featured_article {
101 - line-height: 1.65; }
 80+ line-height: 1.65;
 81+}
10282
10383 pre {
104 - white-space: pre-wrap; }
 84+ white-space: pre-wrap;
 85+}
10586
10687 h2 {
107 - border-bottom: 1px solid #aaaaaa;
108 - padding-top: 0.3em; }
 88+ border-bottom: 1px solid #aaaaaa;
 89+ padding-top: 0.3em;
 90+}
10991
11092 a {
111 - text-decoration: none;
112 - color: #002bb8; }
113 - a:visited {
114 - color: #5a3696; }
115 - a:active {
116 - color: #faa700; }
117 - a:hover {
118 - text-decoration: underline; }
 93+ text-decoration: none;
 94+ color: #002bb8;
 95+}
11996
 97+a:visited {
 98+ color: #5a3696;
 99+}
 100+
 101+a:active {
 102+ color: #faa700;
 103+}
 104+
 105+a:hover {
 106+ text-decoration: underline;
 107+}
 108+
120109 a.new, a.new:visited, a.new:hover {
121 - color: red; }
 110+ color: red;
 111+}
122112
123113 a.back_to_top, a.back_to_top:visited {
124 - margin-top: 7px;
125 - color: blue; }
 114+ margin-top: 7px;
 115+ color: blue;
 116+}
126117
127118 .links {
128 - float: left;
129 - padding: 10px; }
 119+ float: left;
 120+ padding: 10px;
 121+}
130122
131123 #contentSub, .dablink {
132 - margin-bottom: 10px; }
 124+ margin-bottom: 10px;
 125+}
133126
134127 #firstHeading {
135 - font-size: 1.7em; }
 128+ font-size: 1.7em;
 129+}
136130
137131 h2 {
138 - font-size: 1.3em; }
 132+ font-size: 1.3em;
 133+}
139134
140135 .section_anchors a {
141 - display: block; }
 136+ display: block;
 137+}
142138
143139 .section_anchor {
144 - height: 1px;
145 - width: 1px; }
 140+ height: 1px;
 141+ width: 1px;
 142+}
146143
147144 .printonly, .geo-multi-punct, .geo-nondefault, .Z3988 {
148 - display: none; }
 145+ display: none;
 146+}
149147
150148 #featured_article .noprint, .today .noprint {
151 - display: none; }
 149+ display: none;
 150+}
152151
153152 .thumb {
154 - border: 1px solid #cccccc;
155 - -webkit-border-radius: 5px;
156 - -moz-border-radius: 5px;
157 - background: #f9f9f9;
158 - margin-bottom: 10px; }
159 - .thumb .thumbinner[style] {
160 - margin: 5px auto; }
161 - .thumb .thumbcaption {
162 - width: 100%;
163 - margin: 5px 10px 0;
164 - text-align: center;
165 - width: auto !important; }
 153+ border: 1px solid #cccccc;
 154+ -webkit-border-radius: 5px;
 155+ -moz-border-radius: 5px;
 156+ background: #f9f9f9;
 157+ margin-bottom: 10px;
 158+}
166159
 160+.thumb .thumbinner[style] {
 161+ margin: 5px auto;
 162+}
 163+
 164+.thumb .thumbcaption {
 165+ width: 100%;
 166+ margin: 5px 10px 0;
 167+ text-align: center;
 168+ width: auto !important;
 169+}
 170+
167171 img.thumbborder {
168 - border: 1px solid #cccccc; }
 172+ border: 1px solid #cccccc;
 173+}
169174
170175 .floatright {
171 - float: right; }
 176+ float: right;
 177+}
172178
173179 #content_wrapper.home h1#firstHeading {
174 - display: none; }
 180+ display: none;
 181+}
175182
176183 body {
177 - margin: 0; }
 184+ margin: 0;
 185+}
178186
179187 #header {
180 - margin: 8px 8px 0 8px; }
 188+ margin: 8px 8px 0 8px;
 189+}
181190
182191 #content_wrapper {
183 - clear: both;
184 - margin: 0 8px; }
 192+ clear: both;
 193+ margin: 0 8px;
 194+}
185195
186196 #footer {
187 - margin: 0 8px; }
 197+ margin: 0 8px;
 198+}
188199
189200 #header img, #header form, #header input, #header button {
190 - vertical-align: middle;
191 - display: inline-block; }
 201+ vertical-align: middle;
 202+ display: inline-block;
 203+}
192204
193205 #searchbox {
194 - width: auto;
195 - padding: 5px;
196 - border: 1px solid #cccccc;
197 - -webkit-border-radius: 2px;
198 - -moz-border-radius: 2px; }
199 - #searchbox a, #searchbox img {
200 - border: 0px;
201 - vertical-align: middle; }
202 - #searchbox #goButton {
203 - border: 0;
204 - background: url(images/s.gif) no-repeat top left;
205 - height: 25px;
206 - width: 27px; }
207 - #searchbox #searchField {
208 - width: auto; }
 206+ width: auto;
 207+ padding: 5px;
 208+ border: 1px solid #cccccc;
 209+ -webkit-border-radius: 2px;
 210+ -moz-border-radius: 2px;
 211+}
209212
 213+#searchbox a, #searchbox img {
 214+ border: 0px;
 215+ vertical-align: middle;
 216+}
 217+
 218+#searchbox #goButton {
 219+ border: 0;
 220+ background: url(images/s.gif) no-repeat top left;
 221+ height: 25px;
 222+ width: 27px;
 223+}
 224+
 225+#searchbox #searchField {
 226+ width: auto;
 227+}
 228+
210229 #nav {
211 - -webkit-border-radius: 2px;
212 - -moz-border-radius: 2px;
213 - clear: both;
214 - padding: 5px 0; }
215 - #nav form, #nav button {
216 - display: inline-block; }
217 - #nav button {
218 - background: url(images/buttonbg.gif) no-repeat center;
219 - border: 0;
220 - height: 23px;
221 - width: 83px; }
 230+ -webkit-border-radius: 2px;
 231+ -moz-border-radius: 2px;
 232+ clear: both;
 233+ padding: 5px 0;
 234+}
222235
 236+#nav form, #nav button {
 237+ display: inline-block;
 238+}
 239+
 240+#nav button {
 241+ background: url(images/buttonbg.gif) no-repeat center;
 242+ border: 0;
 243+ height: 23px;
 244+ width: 83px;
 245+}
 246+
223247 #disableButtons {
224 - text-align: center; }
225 - #disableButtons button {
226 - background: url(images/buttonbg.gif) no-repeat center;
227 - border: 0;
228 - height: 23px;
229 - width: 83px; }
230 - #disableButtons #backButton {
231 - margin-top: 5em; }
 248+ text-align: center;
 249+}
232250
 251+#disableButtons button {
 252+ background: url(images/buttonbg.gif) no-repeat center;
 253+ border: 0;
 254+ height: 23px;
 255+ width: 83px;
 256+}
 257+
 258+#disableButtons #backButton {
 259+ margin-top: 5em;
 260+}
 261+
233262 .mwm-notice {
234 - padding: 5px;
235 - background: #dddddd;
236 - -webkit-border-radius: 5px;
237 - margin-top: 5px;
238 - text-align: center;
239 - border: 1px solid grey; }
 263+ padding: 5px;
 264+ background: #dddddd;
 265+ -webkit-border-radius: 5px;
 266+ margin-top: 5px;
 267+ text-align: center;
 268+ border: 1px solid grey;
 269+}
240270
241271 .mwm-message.mwm-notice {
242 - font-size: 1.1em; }
 272+ font-size: 1.1em;
 273+}
243274
244275 #image_wrapper {
245 - margin: 8px 0 8px -3px; }
 276+ margin: 8px 0 8px -3px;
 277+}
246278
247279 #footer {
248 - padding-top: 1em; }
249 - #footer #perm {
250 - padding-top: 2em;
251 - font-size: 90%; }
252 - #footer #copyright {
253 - padding: 1em 0;
254 - font-size: 80%; }
 280+ padding-top: 1em;
 281+}
255282
 283+#footer #perm {
 284+ padding-top: 2em;
 285+ font-size: 90%;
 286+}
 287+
 288+#footer #copyright {
 289+ padding: 1em 0;
 290+ font-size: 80%;
 291+}
 292+
256293 ol.references > li:target,
257294 sup.reference:target,
258295 span.citation:target, cite:target {
259 - background-color: #ddeeff; }
 296+ background-color: #ddeeff;
 297+}
260298
261299 .content_block,
262300 .section_anchors,
263301 button.section_heading.hide {
264 - display: none; }
 302+ display: none;
 303+}
265304
266305 #clearButton {
267 - display: none; }
 306+ display: none;
 307+}
268308
269309 #nav {
270 - display: none;
271 - width: 172px;
272 - border: 1px solid #cccccc;
273 - border-top: 0px;
274 - margin: -1px 0 0 0;
275 - background: white;
276 - padding: 0 5px 5px 5px; }
 310+ display: none;
 311+ width: 172px;
 312+ border: 1px solid #cccccc;
 313+ border-top: 0px;
 314+ margin: -1px 0 0 0;
 315+ background: white;
 316+ padding: 0 5px 5px 5px;
 317+}
277318
278319 #header {
279 - max-width: 290px; }
 320+ max-width: 290px;
 321+}
280322
281323 #search:focus {
282 - outline: none;
 324+ outline: none;
283325 }
284326
285327 #search {
286 - -webkit-appearance: none;
287 - border-top-width: 0px;
288 - border-right-width: 0px;
289 - border-bottom-width: 0px;
290 - border-left-width: 0px;
291 - outline-style: none;
292 - outline-width: initial;
293 - outline-color: initial;
294 - height: 1.3em;
 328+ height: 1.3em;
295329 }
296 -
297 -.divclearable {
298 - border: 1px solid #888;
299 - display: -moz-inline-stack;
300 - display: inline-block;
301 - zoom:1;
302 - *display:inline;
303 - vertical-align:middle;
304 - height: 1.5em;
305 - position: relative;
306 -}
307 -
308 -.clearlink {
309 - background: url(images/close-button.png) no-repeat scroll 0 0 transparent;
310 - background-position: center center;
311 - cursor: pointer;
312 - zoom:1;
313 - position: absolute;
314 - right: 0.25em;
315 - top: 50%;
316 - margin: 1px;
317 - height: 12px;
318 - width: 12px;
319 - margin-top: -6px;
320 - z-index: 2;
321 - border: 0px solid;
322 - display: none;
323 -}
\ No newline at end of file
Index: branches/wmf/1.18wmf1/extensions/MobileFrontend/stylesheets/kindle.css
@@ -1,138 +1,79 @@
2 -table {
3 - border-spacing: 0 !important;
4 - width: 100%;
5 - border-collapse: collapse !important;
6 - border: 1px solid #cccccc;
7 - padding: 3px;
8 - margin-bottom: 15px; }
9 - table td, table th {
10 - border: 1px solid #cccccc;
11 - padding: 3px; }
12 - table table {
13 - border: 0; }
14 - table table td, table table th {
15 - border: 0; }
16 - table.toc {
17 - background: #f9f9f9; }
18 - table.toc h2 {
19 - border: 0;
20 - padding: 0;
21 - margin-top: 5px; }
22 - table.navbox {
23 - font-size: 0.9em;
24 - width: 100% !important; }
25 - table.navbox th.navbox-title {
26 - background: #ccccff;
27 - padding: 5px; }
28 - table.navbox td.navbox-abovebelow {
29 - padding: 3px; }
30 - table.navbox td.navbox-group {
31 - background: #ddddff;
32 - width: 25%;
33 - padding: 3px; }
34 - table.navbox td.navbox-group + td {
35 - padding: 3px; }
36 - table.navbox div[style*="padding"] {
37 - padding-left: 0 !important;
38 - padding-right: 0 !important; }
39 - table.navbox div[style*="padding"] a {
40 - white-space: pre-wrap; }
41 - table.navbox span[style*="white"] {
42 - white-space: pre-wrap !important; }
43 - table.navbox td, table.navbox th {
44 - padding: 0; }
45 - table.navbox table {
46 - margin-bottom: 0; }
47 - table.wikitable th {
48 - background: #f3f3f3; }
49 - table[style] {
50 - width: 100% !important;
51 - float: none !important;
52 - margin-left: 0 !important; }
53 - table.infobox {
54 - background: #f9f9f9; }
55 - table.infobox th, table.infobox td {
56 - border: 0; }
57 - table.infobox td[colspan="3"], table.infobox th[colspan="3"] {
58 - border: 1px solid #cccccc; }
59 - table.gallery {
60 - background: #f9f9f9;
61 - border-bottom: 0; }
62 - table.gallery th, table.gallery td {
63 - display: block;
64 - border: 0;
65 - border-bottom: 1px solid #cccccc; }
66 - table.gallery .gallerybox[style] {
67 - width: auto !important;
68 - margin-bottom: -16px; }
69 - table.gallery .thumb[style] {
70 - border: 0;
71 - padding: 0 !important;
72 - width: auto !important;
73 - margin: 0 auto; }
74 - table.gallery .gallerytext {
75 - margin-top: -12px;
76 - text-align: center; }
77 - table.geography[style] th {
78 - text-align: left; }
79 - table.geography[style] td[style*="text-align"], table.geography[style] td[colspan="2"] {
80 - text-align: left !important;
81 - margin-left: 0 !important;
82 - margin-right: 0 !important; }
83 - table.geography[style] td[style*="text-align"] div[style], table.geography[style] td[colspan="2"] div[style] {
84 - text-align: left !important; }
 2+table table {
 3+ border: 0;
 4+}
855
86 -table.admin {
87 - width: 300px; }
 6+table table td, table table th {
 7+ border: 0;
 8+}
889
89 -table#header {
90 - border: 0px; }
91 - table#header td {
92 - border: 0px; }
 10+table.toc {
 11+ background: #f9f9f9;
 12+}
9313
94 -body {
95 - line-height: 120%; }
 14+table.navbox td.navbox-abovebelow {
 15+ padding: 3px;
 16+}
9617
97 -#search:focus {
98 - outline: none;
 18+table.navbox td.navbox-group + td {
 19+ padding: 3px;
9920 }
10021
101 -#search {
102 - -webkit-appearance: none;
103 - border-top-width: 0px;
104 - border-right-width: 0px;
105 - border-bottom-width: 0px;
106 - border-left-width: 0px;
107 - outline-style: none;
108 - outline-width: initial;
109 - outline-color: initial;
110 - height: 1.4em;
 22+table.navbox div[style*="padding"] a {
 23+ white-space: pre-wrap;
11124 }
11225
113 -.divclearable {
114 - border: 1px solid #888;
115 - display: -moz-inline-stack;
116 - display: inline-block;
117 - zoom:1;
118 - *display:inline;
119 - vertical-align:middle;
120 - height: 1.5em;
121 - position: relative;
 26+table.navbox span[style*="white"] {
 27+ white-space: pre-wrap !important;
12228 }
12329
124 -.clearlink {
125 - background: url(images/close-button.png) no-repeat scroll 0 0 transparent;
126 - background-position: center center;
127 - cursor: pointer;
128 - zoom:1;
129 - position: absolute;
130 - right: 0.25em;
131 - top: 50%;
132 - margin: 1px;
133 - height: 12px;
134 - width: 12px;
135 - margin-top: -6px;
136 - z-index: 2;
137 - border: 0px solid;
138 - display: none;
139 -}
\ No newline at end of file
 30+table.navbox td, table.navbox th {
 31+ padding: 0;
 32+}
 33+
 34+table.navbox table {
 35+ margin-bottom: 0;
 36+}
 37+
 38+table.wikitable th {
 39+ background: #f3f3f3;
 40+}
 41+
 42+table.infobox {
 43+ background: #f9f9f9;
 44+}
 45+
 46+table.infobox th, table.infobox td {
 47+ border: 0;
 48+}
 49+
 50+table.infobox td[colspan="3"], table.infobox th[colspan="3"] {
 51+ border: 1px solid #cccccc;
 52+}
 53+
 54+table.geography[style] th {
 55+ text-align: left;
 56+}
 57+
 58+table.geography[style] td[style*="text-align"] div[style], table.geography[style] td[colspan="2"] div[style] {
 59+ text-align: left !important;
 60+}
 61+
 62+table.admin {
 63+ width: 300px;
 64+}
 65+
 66+table#header {
 67+ border: 0px;
 68+}
 69+
 70+table#header td {
 71+ border: 0px;
 72+}
 73+
 74+body {
 75+ line-height: 120%;
 76+}
 77+
 78+#search:focus {
 79+ outline: none;
 80+}
Index: branches/wmf/1.18wmf1/extensions/MobileFrontend/stylesheets/images/close-button.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
Index: branches/wmf/1.18wmf1/extensions/MobileFrontend/stylesheets/images/arrow-left.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes on: branches/wmf/1.18wmf1/extensions/MobileFrontend/stylesheets/images/arrow-left.png
___________________________________________________________________
Added: svn:mime-type
14081 + application/octet-stream
Index: branches/wmf/1.18wmf1/extensions/MobileFrontend/stylesheets/android.css
@@ -1,319 +1,321 @@
2 -table {
3 - border-spacing: 0 !important;
4 - width: 100%;
5 - border-collapse: collapse !important;
6 - border: 1px solid #cccccc;
7 - padding: 3px;
8 - margin-bottom: 15px; }
9 - table td, table th {
10 - border: 1px solid #cccccc;
11 - padding: 3px; }
12 - table table {
13 - border: 0; }
14 - table table td, table table th {
15 - border: 0; }
16 - table.toc {
17 - background: #f9f9f9; }
18 - table.toc h2 {
19 - border: 0;
20 - padding: 0;
21 - margin-top: 5px; }
22 - table.navbox {
23 - font-size: 0.9em;
24 - width: 100% !important; }
25 - table.navbox th.navbox-title {
26 - background: #ccccff;
27 - padding: 5px; }
28 - table.navbox td.navbox-abovebelow {
29 - padding: 3px; }
30 - table.navbox td.navbox-group {
31 - background: #ddddff;
32 - width: 25%;
33 - padding: 3px; }
34 - table.navbox td.navbox-group + td {
35 - padding: 3px; }
36 - table.navbox div[style*="padding"] {
37 - padding-left: 0 !important;
38 - padding-right: 0 !important; }
39 - table.navbox div[style*="padding"] a {
40 - white-space: pre-wrap; }
41 - table.navbox span[style*="white"] {
42 - white-space: pre-wrap !important; }
43 - table.navbox td, table.navbox th {
44 - padding: 0; }
45 - table.navbox table {
46 - margin-bottom: 0; }
47 - table.wikitable th {
48 - background: #f3f3f3; }
49 - table[style] {
50 - width: 100% !important;
51 - float: none !important;
52 - margin-left: 0 !important; }
53 - table.infobox {
54 - background: #f9f9f9; }
55 - table.infobox th, table.infobox td {
56 - border: 0; }
57 - table.infobox td[colspan="3"], table.infobox th[colspan="3"] {
58 - border: 1px solid #cccccc; }
59 - table.gallery {
60 - background: #f9f9f9;
61 - border-bottom: 0; }
62 - table.gallery th, table.gallery td {
63 - display: block;
64 - border: 0;
65 - border-bottom: 1px solid #cccccc; }
66 - table.gallery .gallerybox[style] {
67 - width: auto !important;
68 - margin-bottom: -16px; }
69 - table.gallery .thumb[style] {
70 - border: 0;
71 - padding: 0 !important;
72 - width: auto !important;
73 - margin: 0 auto; }
74 - table.gallery .gallerytext {
75 - margin-top: -12px;
76 - text-align: center; }
77 - table.geography[style] th {
78 - text-align: left; }
79 - table.geography[style] td[style*="text-align"], table.geography[style] td[colspan="2"] {
80 - text-align: left !important;
81 - margin-left: 0 !important;
82 - margin-right: 0 !important; }
83 - table.geography[style] td[style*="text-align"] div[style], table.geography[style] td[colspan="2"] div[style] {
84 - text-align: left !important; }
 2+table table {
 3+ border: 0;
 4+}
855
 6+table table td, table table th {
 7+ border: 0;
 8+}
 9+
 10+table.toc {
 11+ background: #f9f9f9;
 12+}
 13+
 14+table.navbox td.navbox-abovebelow {
 15+ padding: 3px;
 16+}
 17+
 18+table.navbox td.navbox-group + td {
 19+ padding: 3px;
 20+}
 21+
 22+table.navbox div[style*="padding"] a {
 23+ white-space: pre-wrap;
 24+}
 25+
 26+table.navbox span[style*="white"] {
 27+ white-space: pre-wrap !important;
 28+}
 29+
 30+table.navbox td, table.navbox th {
 31+ padding: 0;
 32+}
 33+
 34+table.navbox table {
 35+ margin-bottom: 0;
 36+}
 37+
 38+table.wikitable th {
 39+ background: #f3f3f3;
 40+}
 41+
 42+table.infobox {
 43+ background: #f9f9f9;
 44+}
 45+
 46+table.infobox th, table.infobox td {
 47+ border: 0;
 48+}
 49+
 50+table.infobox td[colspan="3"], table.infobox th[colspan="3"] {
 51+ border: 1px solid #cccccc;
 52+}
 53+
 54+table.geography[style] th {
 55+ text-align: left;
 56+}
 57+
 58+table.geography[style] td[style*="text-align"] div[style], table.geography[style] td[colspan="2"] div[style] {
 59+ text-align: left !important;
 60+}
 61+
8662 table.admin {
87 - width: 300px; }
 63+ width: 300px;
 64+}
8865
8966 html {
90 - font-size: 0.8em; }
 67+ font-size: 0.8em;
 68+}
9169
9270 body {
93 - line-height: 1;
94 - color: black;
95 - background: white;
96 - font-family: sans-serif;
97 - overflow-x: hidden;
98 - -webkit-text-size-adjust: none; }
 71+ line-height: 1;
 72+ color: black;
 73+ background: white;
 74+ font-family: sans-serif;
 75+ overflow-x: hidden;
 76+ -webkit-text-size-adjust: none;
 77+}
9978
10079 p, li, dl, #featured_article {
101 - line-height: 1.65; }
 80+ line-height: 1.65;
 81+}
10282
10383 pre {
104 - white-space: pre-wrap; }
 84+ white-space: pre-wrap;
 85+}
10586
10687 h2 {
107 - border-bottom: 1px solid #aaaaaa;
108 - padding-top: 0.3em; }
 88+ border-bottom: 1px solid #aaaaaa;
 89+ padding-top: 0.3em;
 90+}
10991
11092 a {
111 - text-decoration: none;
112 - color: #002bb8; }
113 - a:visited {
114 - color: #5a3696; }
115 - a:active {
116 - color: #faa700; }
117 - a:hover {
118 - text-decoration: underline; }
 93+ text-decoration: none;
 94+ color: #002bb8;
 95+}
11996
 97+a:visited {
 98+ color: #5a3696;
 99+}
 100+
 101+a:active {
 102+ color: #faa700;
 103+}
 104+
 105+a:hover {
 106+ text-decoration: underline;
 107+}
 108+
120109 a.new, a.new:visited, a.new:hover {
121 - color: red; }
 110+ color: red;
 111+}
122112
123113 a.back_to_top, a.back_to_top:visited {
124 - margin-top: 7px;
125 - color: blue; }
 114+ margin-top: 7px;
 115+ color: blue;
 116+}
126117
127118 .links {
128 - float: left;
129 - padding: 10px; }
 119+ float: left;
 120+ padding: 10px;
 121+}
130122
131123 #contentSub, .dablink {
132 - margin-bottom: 10px; }
 124+ margin-bottom: 10px;
 125+}
133126
134127 #firstHeading {
135 - font-size: 1.7em; }
 128+ font-size: 1.7em;
 129+}
136130
137131 h2 {
138 - font-size: 1.3em; }
 132+ font-size: 1.3em;
 133+}
139134
140135 .section_anchors a {
141 - display: block; }
 136+ display: block;
 137+}
142138
143139 .section_anchor {
144 - height: 1px;
145 - width: 1px; }
 140+ height: 1px;
 141+ width: 1px;
 142+}
146143
147144 .printonly, .geo-multi-punct, .geo-nondefault, .Z3988 {
148 - display: none; }
 145+ display: none;
 146+}
149147
150148 #featured_article .noprint, .today .noprint {
151 - display: none; }
 149+ display: none;
 150+}
152151
153152 .thumb {
154 - border: 1px solid #cccccc;
155 - -webkit-border-radius: 5px;
156 - -moz-border-radius: 5px;
157 - background: #f9f9f9;
158 - margin-bottom: 10px; }
159 - .thumb .thumbinner[style] {
160 - margin: 5px auto; }
161 - .thumb .thumbcaption {
162 - width: 100%;
163 - margin: 5px 10px 0;
164 - text-align: center;
165 - width: auto !important; }
 153+ border: 1px solid #cccccc;
 154+ -webkit-border-radius: 5px;
 155+ -moz-border-radius: 5px;
 156+ background: #f9f9f9;
 157+ margin-bottom: 10px;
 158+}
166159
 160+.thumb .thumbinner[style] {
 161+ margin: 5px auto;
 162+}
 163+
 164+.thumb .thumbcaption {
 165+ width: 100%;
 166+ margin: 5px 10px 0;
 167+ text-align: center;
 168+ width: auto !important;
 169+}
 170+
167171 img.thumbborder {
168 - border: 1px solid #cccccc; }
 172+ border: 1px solid #cccccc;
 173+}
169174
170175 .floatright {
171 - float: right; }
 176+ float: right;
 177+}
172178
173179 #content_wrapper.home h1#firstHeading {
174 - display: none; }
 180+ display: none;
 181+}
175182
176183 body {
177 - margin: 0; }
 184+ margin: 0;
 185+}
178186
179187 #header {
180 - margin: 8px 8px 0 8px; }
 188+ margin: 8px 8px 0 8px;
 189+}
181190
182191 #content_wrapper {
183 - clear: both;
184 - margin: 0 8px; }
 192+ clear: both;
 193+ margin: 0 8px;
 194+}
185195
186196 #footer {
187 - margin: 0 8px; }
 197+ margin: 0 8px;
 198+}
188199
189200 #header img, #header form, #header input, #header button {
190 - vertical-align: middle;
191 - display: inline-block; }
 201+ vertical-align: middle;
 202+ display: inline-block;
 203+}
192204
193205 #searchbox {
194 - width: auto;
195 - padding: 5px;
196 - border: 1px solid #cccccc;
197 - -webkit-border-radius: 2px;
198 - -moz-border-radius: 2px; }
199 - #searchbox a, #searchbox img {
200 - border: 0px;
201 - vertical-align: middle; }
202 - #searchbox #goButton {
203 - border: 0;
204 - background: url(images/s.gif) no-repeat top left;
205 - height: 25px;
206 - width: 27px; }
207 - #searchbox #searchField {
208 - width: auto; }
 206+ width: auto;
 207+ padding: 5px;
 208+ border: 1px solid #cccccc;
 209+ -webkit-border-radius: 2px;
 210+ -moz-border-radius: 2px;
 211+}
209212
 213+#searchbox a, #searchbox img {
 214+ border: 0px;
 215+ vertical-align: middle;
 216+}
 217+
 218+#searchbox #goButton {
 219+ border: 0;
 220+ background: url(images/s.gif) no-repeat top left;
 221+ height: 25px;
 222+ width: 27px;
 223+}
 224+
 225+#searchbox #searchField {
 226+ width: auto;
 227+}
 228+
210229 #nav {
211 - -webkit-border-radius: 2px;
212 - -moz-border-radius: 2px;
213 - clear: both;
214 - padding: 5px 0; }
215 - #nav form, #nav button {
216 - display: inline-block; }
217 - #nav button {
218 - background: url(images/buttonbg.gif) no-repeat center;
219 - border: 0;
220 - height: 23px;
221 - width: 83px; }
 230+ -webkit-border-radius: 2px;
 231+ -moz-border-radius: 2px;
 232+ clear: both;
 233+ padding: 5px 0;
 234+}
222235
 236+#nav form, #nav button {
 237+ display: inline-block;
 238+}
 239+
 240+#nav button {
 241+ background: url(images/buttonbg.gif) no-repeat center;
 242+ border: 0;
 243+ height: 23px;
 244+ width: 83px;
 245+}
 246+
223247 #disableButtons {
224 - text-align: center; }
225 - #disableButtons button {
226 - background: url(images/buttonbg.gif) no-repeat center;
227 - border: 0;
228 - height: 23px;
229 - width: 83px; }
230 - #disableButtons #backButton {
231 - margin-top: 5em; }
 248+ text-align: center;
 249+}
232250
 251+#disableButtons button {
 252+ background: url(images/buttonbg.gif) no-repeat center;
 253+ border: 0;
 254+ height: 23px;
 255+ width: 83px;
 256+}
 257+
 258+#disableButtons #backButton {
 259+ margin-top: 5em;
 260+}
 261+
233262 .mwm-notice {
234 - padding: 5px;
235 - background: #dddddd;
236 - -webkit-border-radius: 5px;
237 - margin-top: 5px;
238 - text-align: center;
239 - border: 1px solid grey; }
 263+ padding: 5px;
 264+ background: #dddddd;
 265+ -webkit-border-radius: 5px;
 266+ margin-top: 5px;
 267+ text-align: center;
 268+ border: 1px solid grey;
 269+}
240270
241271 .mwm-message.mwm-notice {
242 - font-size: 1.1em; }
 272+ font-size: 1.1em;
 273+}
243274
244275 #image_wrapper {
245 - margin: 8px 0 8px -3px; }
 276+ margin: 8px 0 8px -3px;
 277+}
246278
247279 #footer {
248 - padding-top: 1em; }
249 - #footer #perm {
250 - padding-top: 2em;
251 - font-size: 90%; }
252 - #footer #copyright {
253 - padding: 1em 0;
254 - font-size: 80%; }
 280+ padding-top: 1em;
 281+}
255282
 283+#footer #perm {
 284+ padding-top: 2em;
 285+ font-size: 90%;
 286+}
 287+
 288+#footer #copyright {
 289+ padding: 1em 0;
 290+ font-size: 80%;
 291+}
 292+
256293 ol.references > li:target,
257294 sup.reference:target,
258295 span.citation:target, cite:target {
259 - background-color: #ddeeff; }
 296+ background-color: #ddeeff;
 297+}
260298
261299 .content_block,
262300 .section_anchors,
263301 button.section_heading.hide {
264 - display: none; }
 302+ display: none;
 303+}
265304
266305 #clearButton {
267 - display: none; }
 306+ display: none;
 307+}
268308
269309 #nav {
270 - display: none;
271 - width: 172px;
272 - border: 1px solid #cccccc;
273 - border-top: 0px;
274 - margin: -1px 0 0 0;
275 - background: white;
276 - padding: 0 5px 5px 5px; }
 310+ display: none;
 311+ width: 172px;
 312+ border: 1px solid #cccccc;
 313+ border-top: 0px;
 314+ margin: -1px 0 0 0;
 315+ background: white;
 316+ padding: 0 5px 5px 5px;
 317+}
277318
278319 #search:focus {
279 - outline: none;
 320+ outline: none;
280321 }
281322
282 -#search {
283 - -webkit-appearance: none;
284 - border-top-width: 0px;
285 - border-right-width: 0px;
286 - border-bottom-width: 0px;
287 - border-left-width: 0px;
288 - outline-style: none;
289 - outline-width: initial;
290 - outline-color: initial;
291 - height: 1.4em;
292 -}
293 -
294 -.divclearable {
295 - border: 1px solid #888;
296 - display: -moz-inline-stack;
297 - display: inline-block;
298 - zoom:1;
299 - *display:inline;
300 - vertical-align:middle;
301 - height: 1.5em;
302 - position: relative;
303 -}
304 -
305 -.clearlink {
306 - background: url(images/close-button.png) no-repeat scroll 0 0 transparent;
307 - background-position: center center;
308 - cursor: pointer;
309 - zoom:1;
310 - position: absolute;
311 - right: 0.25em;
312 - top: 50%;
313 - margin: 1px;
314 - height: 12px;
315 - width: 12px;
316 - margin-top: -6px;
317 - z-index: 2;
318 - border: 0px solid;
319 - display: none;
320 -}
Index: branches/wmf/1.18wmf1/extensions/MobileFrontend/stylesheets/blackberry.css
@@ -1,322 +1,324 @@
22 #blackberry {
3 - test: 1; }
 3+ test: 1;
 4+}
45
5 -table {
6 - border-spacing: 0 !important;
7 - width: 100%;
8 - border-collapse: collapse !important;
9 - border: 1px solid #cccccc;
10 - padding: 3px;
11 - margin-bottom: 15px; }
12 - table td, table th {
13 - border: 1px solid #cccccc;
14 - padding: 3px; }
15 - table table {
16 - border: 0; }
17 - table table td, table table th {
18 - border: 0; }
19 - table.toc {
20 - background: #f9f9f9; }
21 - table.toc h2 {
22 - border: 0;
23 - padding: 0;
24 - margin-top: 5px; }
25 - table.navbox {
26 - font-size: 0.9em;
27 - width: 100% !important; }
28 - table.navbox th.navbox-title {
29 - background: #ccccff;
30 - padding: 5px; }
31 - table.navbox td.navbox-abovebelow {
32 - padding: 3px; }
33 - table.navbox td.navbox-group {
34 - background: #ddddff;
35 - width: 25%;
36 - padding: 3px; }
37 - table.navbox td.navbox-group + td {
38 - padding: 3px; }
39 - table.navbox div[style*="padding"] {
40 - padding-left: 0 !important;
41 - padding-right: 0 !important; }
42 - table.navbox div[style*="padding"] a {
43 - white-space: pre-wrap; }
44 - table.navbox span[style*="white"] {
45 - white-space: pre-wrap !important; }
46 - table.navbox td, table.navbox th {
47 - padding: 0; }
48 - table.navbox table {
49 - margin-bottom: 0; }
50 - table.wikitable th {
51 - background: #f3f3f3; }
52 - table[style] {
53 - width: 100% !important;
54 - float: none !important;
55 - margin-left: 0 !important; }
56 - table.infobox {
57 - background: #f9f9f9; }
58 - table.infobox th, table.infobox td {
59 - border: 0; }
60 - table.infobox td[colspan="3"], table.infobox th[colspan="3"] {
61 - border: 1px solid #cccccc; }
62 - table.gallery {
63 - background: #f9f9f9;
64 - border-bottom: 0; }
65 - table.gallery th, table.gallery td {
66 - display: block;
67 - border: 0;
68 - border-bottom: 1px solid #cccccc; }
69 - table.gallery .gallerybox[style] {
70 - width: auto !important;
71 - margin-bottom: -16px; }
72 - table.gallery .thumb[style] {
73 - border: 0;
74 - padding: 0 !important;
75 - width: auto !important;
76 - margin: 0 auto; }
77 - table.gallery .gallerytext {
78 - margin-top: -12px;
79 - text-align: center; }
80 - table.geography[style] th {
81 - text-align: left; }
82 - table.geography[style] td[style*="text-align"], table.geography[style] td[colspan="2"] {
83 - text-align: left !important;
84 - margin-left: 0 !important;
85 - margin-right: 0 !important; }
86 - table.geography[style] td[style*="text-align"] div[style], table.geography[style] td[colspan="2"] div[style] {
87 - text-align: left !important; }
 6+table table {
 7+ border: 0;
 8+}
889
 10+table table td, table table th {
 11+ border: 0;
 12+}
 13+
 14+table.toc {
 15+ background: #f9f9f9;
 16+}
 17+
 18+table.navbox td.navbox-abovebelow {
 19+ padding: 3px;
 20+}
 21+
 22+table.navbox td.navbox-group + td {
 23+ padding: 3px;
 24+}
 25+
 26+table.navbox div[style*="padding"] a {
 27+ white-space: pre-wrap;
 28+}
 29+
 30+table.navbox span[style*="white"] {
 31+ white-space: pre-wrap !important;
 32+}
 33+
 34+table.navbox td, table.navbox th {
 35+ padding: 0;
 36+}
 37+
 38+table.navbox table {
 39+ margin-bottom: 0;
 40+}
 41+
 42+table.wikitable th {
 43+ background: #f3f3f3;
 44+}
 45+
 46+table.infobox {
 47+ background: #f9f9f9;
 48+}
 49+
 50+table.infobox th, table.infobox td {
 51+ border: 0;
 52+}
 53+
 54+table.infobox td[colspan="3"], table.infobox th[colspan="3"] {
 55+ border: 1px solid #cccccc;
 56+}
 57+
 58+table.geography[style] th {
 59+ text-align: left;
 60+}
 61+
 62+table.geography[style] td[style*="text-align"] div[style], table.geography[style] td[colspan="2"] div[style] {
 63+ text-align: left !important;
 64+}
 65+
8966 table.admin {
90 - width: 300px; }
 67+ width: 300px;
 68+}
9169
9270 html {
93 - font-size: 0.8em; }
 71+ font-size: 0.8em;
 72+}
9473
9574 body {
96 - line-height: 1;
97 - color: black;
98 - background: white;
99 - font-family: sans-serif;
100 - overflow-x: hidden;
101 - -webkit-text-size-adjust: none; }
 75+ line-height: 1;
 76+ color: black;
 77+ background: white;
 78+ font-family: sans-serif;
 79+ overflow-x: hidden;
 80+ -webkit-text-size-adjust: none;
 81+}
10282
10383 p, li, dl, #featured_article {
104 - line-height: 1.65; }
 84+ line-height: 1.65;
 85+}
10586
10687 pre {
107 - white-space: pre-wrap; }
 88+ white-space: pre-wrap;
 89+}
10890
10991 h2 {
110 - border-bottom: 1px solid #aaaaaa;
111 - padding-top: 0.3em; }
 92+ border-bottom: 1px solid #aaaaaa;
 93+ padding-top: 0.3em;
 94+}
11295
11396 a {
114 - text-decoration: none;
115 - color: #002bb8; }
116 - a:visited {
117 - color: #5a3696; }
118 - a:active {
119 - color: #faa700; }
120 - a:hover {
121 - text-decoration: underline; }
 97+ text-decoration: none;
 98+ color: #002bb8;
 99+}
122100
 101+a:visited {
 102+ color: #5a3696;
 103+}
 104+
 105+a:active {
 106+ color: #faa700;
 107+}
 108+
 109+a:hover {
 110+ text-decoration: underline;
 111+}
 112+
123113 a.new, a.new:visited, a.new:hover {
124 - color: red; }
 114+ color: red;
 115+}
125116
126117 a.back_to_top, a.back_to_top:visited {
127 - margin-top: 7px;
128 - color: blue; }
 118+ margin-top: 7px;
 119+ color: blue;
 120+}
129121
130122 .links {
131 - float: left;
132 - padding: 10px; }
 123+ float: left;
 124+ padding: 10px;
 125+}
133126
134127 #contentSub, .dablink {
135 - margin-bottom: 10px; }
 128+ margin-bottom: 10px;
 129+}
136130
137131 #firstHeading {
138 - font-size: 1.7em; }
 132+ font-size: 1.7em;
 133+}
139134
140135 h2 {
141 - font-size: 1.3em; }
 136+ font-size: 1.3em;
 137+}
142138
143139 .section_anchors a {
144 - display: block; }
 140+ display: block;
 141+}
145142
146143 .section_anchor {
147 - height: 1px;
148 - width: 1px; }
 144+ height: 1px;
 145+ width: 1px;
 146+}
149147
150148 .printonly, .geo-multi-punct, .geo-nondefault, .Z3988 {
151 - display: none; }
 149+ display: none;
 150+}
152151
153152 #featured_article .noprint, .today .noprint {
154 - display: none; }
 153+ display: none;
 154+}
155155
156156 .thumb {
157 - border: 1px solid #cccccc;
158 - -webkit-border-radius: 5px;
159 - -moz-border-radius: 5px;
160 - background: #f9f9f9;
161 - margin-bottom: 10px; }
162 - .thumb .thumbinner[style] {
163 - margin: 5px auto; }
164 - .thumb .thumbcaption {
165 - width: 100%;
166 - margin: 5px 10px 0;
167 - text-align: center;
168 - width: auto !important; }
 157+ border: 1px solid #cccccc;
 158+ -webkit-border-radius: 5px;
 159+ -moz-border-radius: 5px;
 160+ background: #f9f9f9;
 161+ margin-bottom: 10px;
 162+}
169163
 164+.thumb .thumbinner[style] {
 165+ margin: 5px auto;
 166+}
 167+
 168+.thumb .thumbcaption {
 169+ width: 100%;
 170+ margin: 5px 10px 0;
 171+ text-align: center;
 172+ width: auto !important;
 173+}
 174+
170175 img.thumbborder {
171 - border: 1px solid #cccccc; }
 176+ border: 1px solid #cccccc;
 177+}
172178
173179 .floatright {
174 - float: right; }
 180+ float: right;
 181+}
175182
176183 #content_wrapper.home h1#firstHeading {
177 - display: none; }
 184+ display: none;
 185+}
178186
179187 body {
180 - margin: 0; }
 188+ margin: 0;
 189+}
181190
182191 #header {
183 - margin: 8px 8px 0 8px; }
 192+ margin: 8px 8px 0 8px;
 193+}
184194
185195 #content_wrapper {
186 - clear: both;
187 - margin: 0 8px; }
 196+ clear: both;
 197+ margin: 0 8px;
 198+}
188199
189200 #footer {
190 - margin: 0 8px; }
 201+ margin: 0 8px;
 202+}
191203
192204 #header img, #header form, #header input, #header button {
193 - vertical-align: middle;
194 - display: inline-block; }
 205+ vertical-align: middle;
 206+ display: inline-block;
 207+}
195208
196209 #searchbox {
197 - width: auto;
198 - padding: 5px;
199 - border: 1px solid #cccccc;
200 - -webkit-border-radius: 2px;
201 - -moz-border-radius: 2px; }
202 - #searchbox a, #searchbox img {
203 - border: 0px;
204 - vertical-align: middle; }
205 - #searchbox #goButton {
206 - border: 0;
207 - background: url(images/s.gif) no-repeat top left;
208 - height: 25px;
209 - width: 27px; }
210 - #searchbox #searchField {
211 - width: auto; }
 210+ width: auto;
 211+ padding: 5px;
 212+ border: 1px solid #cccccc;
 213+ -webkit-border-radius: 2px;
 214+ -moz-border-radius: 2px;
 215+}
212216
 217+#searchbox a, #searchbox img {
 218+ border: 0px;
 219+ vertical-align: middle;
 220+}
 221+
 222+#searchbox #goButton {
 223+ border: 0;
 224+ background: url(images/s.gif) no-repeat top left;
 225+ height: 25px;
 226+ width: 27px;
 227+}
 228+
 229+#searchbox #searchField {
 230+ width: auto;
 231+}
 232+
213233 #nav {
214 - -webkit-border-radius: 2px;
215 - -moz-border-radius: 2px;
216 - clear: both;
217 - padding: 5px 0; }
218 - #nav form, #nav button {
219 - display: inline-block; }
220 - #nav button {
221 - background: url(images/buttonbg.gif) no-repeat center;
222 - border: 0;
223 - height: 23px;
224 - width: 83px; }
 234+ -webkit-border-radius: 2px;
 235+ -moz-border-radius: 2px;
 236+ clear: both;
 237+ padding: 5px 0;
 238+}
225239
 240+#nav form, #nav button {
 241+ display: inline-block;
 242+}
 243+
 244+#nav button {
 245+ background: url(images/buttonbg.gif) no-repeat center;
 246+ border: 0;
 247+ height: 23px;
 248+ width: 83px;
 249+}
 250+
226251 #disableButtons {
227 - text-align: center; }
228 - #disableButtons button {
229 - background: url(images/buttonbg.gif) no-repeat center;
230 - border: 0;
231 - height: 23px;
232 - width: 83px; }
233 - #disableButtons #backButton {
234 - margin-top: 5em; }
 252+ text-align: center;
 253+}
235254
 255+#disableButtons button {
 256+ background: url(images/buttonbg.gif) no-repeat center;
 257+ border: 0;
 258+ height: 23px;
 259+ width: 83px;
 260+}
 261+
 262+#disableButtons #backButton {
 263+ margin-top: 5em;
 264+}
 265+
236266 .mwm-notice {
237 - padding: 5px;
238 - background: #dddddd;
239 - -webkit-border-radius: 5px;
240 - margin-top: 5px;
241 - text-align: center;
242 - border: 1px solid grey; }
 267+ padding: 5px;
 268+ background: #dddddd;
 269+ -webkit-border-radius: 5px;
 270+ margin-top: 5px;
 271+ text-align: center;
 272+ border: 1px solid grey;
 273+}
243274
244275 .mwm-message.mwm-notice {
245 - font-size: 1.1em; }
 276+ font-size: 1.1em;
 277+}
246278
247279 #image_wrapper {
248 - margin: 8px 0 8px -3px; }
 280+ margin: 8px 0 8px -3px;
 281+}
249282
250283 #footer {
251 - padding-top: 1em; }
252 - #footer #perm {
253 - padding-top: 2em;
254 - font-size: 90%; }
255 - #footer #copyright {
256 - padding: 1em 0;
257 - font-size: 80%; }
 284+ padding-top: 1em;
 285+}
258286
 287+#footer #perm {
 288+ padding-top: 2em;
 289+ font-size: 90%;
 290+}
 291+
 292+#footer #copyright {
 293+ padding: 1em 0;
 294+ font-size: 80%;
 295+}
 296+
259297 ol.references > li:target,
260298 sup.reference:target,
261299 span.citation:target, cite:target {
262 - background-color: #ddeeff; }
 300+ background-color: #ddeeff;
 301+}
263302
264303 .content_block,
265304 .section_anchors,
266305 button.section_heading.hide {
267 - display: none; }
 306+ display: none;
 307+}
268308
269309 #clearButton {
270 - display: none; }
 310+ display: none;
 311+}
271312
272313 #nav {
273 - display: none;
274 - width: 172px;
275 - border: 1px solid #cccccc;
276 - border-top: 0px;
277 - margin: -1px 0 0 0;
278 - background: white;
279 - padding: 0 5px 5px 5px; }
 314+ display: none;
 315+ width: 172px;
 316+ border: 1px solid #cccccc;
 317+ border-top: 0px;
 318+ margin: -1px 0 0 0;
 319+ background: white;
 320+ padding: 0 5px 5px 5px;
 321+}
280322
281323 #search:focus {
282 - outline: none;
 324+ outline: none;
283325 }
284 -
285 -#search {
286 - -webkit-appearance: none;
287 - border-top-width: 0px;
288 - border-right-width: 0px;
289 - border-bottom-width: 0px;
290 - border-left-width: 0px;
291 - outline-style: none;
292 - outline-width: initial;
293 - outline-color: initial;
294 - height: 1.4em;
295 -}
296 -
297 -.divclearable {
298 - border: 1px solid #888;
299 - display: -moz-inline-stack;
300 - display: inline-block;
301 - zoom:1;
302 - *display:inline;
303 - vertical-align:middle;
304 - height: 1.5em;
305 - position: relative;
306 -}
307 -
308 -.clearlink {
309 - background: url(images/close-button.png) no-repeat scroll 0 0 transparent;
310 - background-position: center center;
311 - cursor: pointer;
312 - zoom:1;
313 - position: absolute;
314 - right: 0.25em;
315 - top: 50%;
316 - margin: 1px;
317 - height: 12px;
318 - width: 12px;
319 - margin-top: -6px;
320 - z-index: 2;
321 - border: 0px solid;
322 - display: none;
323 -}
Index: branches/wmf/1.18wmf1/extensions/MobileFrontend/stylesheets/iphone.css
@@ -1,348 +1,367 @@
2 -table {
3 - border-spacing: 0 !important;
4 - width: 100%;
5 - border-collapse: collapse !important;
6 - border: 1px solid #cccccc;
7 - padding: 3px;
8 - margin-bottom: 15px; }
9 - table td, table th {
10 - border: 1px solid #cccccc;
11 - padding: 3px; }
12 - table table {
13 - border: 0; }
14 - table table td, table table th {
15 - border: 0; }
16 - table.toc {
17 - background: #f9f9f9; }
18 - table.toc h2 {
19 - border: 0;
20 - padding: 0;
21 - margin-top: 5px; }
22 - table.navbox {
23 - font-size: 0.9em;
24 - width: 100% !important; }
25 - table.navbox th.navbox-title {
26 - background: #ccccff;
27 - padding: 5px; }
28 - table.navbox td.navbox-abovebelow {
29 - padding: 3px; }
30 - table.navbox td.navbox-group {
31 - background: #ddddff;
32 - width: 25%;
33 - padding: 3px; }
34 - table.navbox td.navbox-group + td {
35 - padding: 3px; }
36 - table.navbox div[style*="padding"] {
37 - padding-left: 0 !important;
38 - padding-right: 0 !important; }
39 - table.navbox div[style*="padding"] a {
40 - white-space: pre-wrap; }
41 - table.navbox span[style*="white"] {
42 - white-space: pre-wrap !important; }
43 - table.navbox td, table.navbox th {
44 - padding: 0; }
45 - table.navbox table {
46 - margin-bottom: 0; }
47 - table.wikitable th {
48 - background: #f3f3f3; }
49 - table[style] {
50 - width: 100% !important;
51 - float: none !important;
52 - margin-left: 0 !important; }
53 - table.infobox {
54 - background: #f9f9f9; }
55 - table.infobox th, table.infobox td {
56 - border: 0; }
57 - table.infobox td[colspan="3"], table.infobox th[colspan="3"] {
58 - border: 1px solid #cccccc; }
59 - table.gallery {
60 - background: #f9f9f9;
61 - border-bottom: 0; }
62 - table.gallery th, table.gallery td {
63 - display: block;
64 - border: 0;
65 - border-bottom: 1px solid #cccccc; }
66 - table.gallery .gallerybox[style] {
67 - width: auto !important;
68 - margin-bottom: -16px; }
69 - table.gallery .thumb[style] {
70 - border: 0;
71 - padding: 0 !important;
72 - width: auto !important;
73 - margin: 0 auto; }
74 - table.gallery .gallerytext {
75 - margin-top: -12px;
76 - text-align: center; }
77 - table.geography[style] th {
78 - text-align: left; }
79 - table.geography[style] td[style*="text-align"], table.geography[style] td[colspan="2"] {
80 - text-align: left !important;
81 - margin-left: 0 !important;
82 - margin-right: 0 !important; }
83 - table.geography[style] td[style*="text-align"] div[style], table.geography[style] td[colspan="2"] div[style] {
84 - text-align: left !important; }
 2+table table {
 3+ border: 0;
 4+}
855
 6+table table td, table table th {
 7+ border: 0;
 8+}
 9+
 10+table.toc {
 11+ background: #f9f9f9;
 12+}
 13+
 14+table.navbox td.navbox-abovebelow {
 15+ padding: 3px;
 16+}
 17+
 18+table.navbox td.navbox-group + td {
 19+ padding: 3px;
 20+}
 21+
 22+table.navbox div[style*="padding"] a {
 23+ white-space: pre-wrap;
 24+}
 25+
 26+table.navbox span[style*="white"] {
 27+ white-space: pre-wrap !important;
 28+}
 29+
 30+table.navbox td, table.navbox th {
 31+ padding: 0;
 32+}
 33+
 34+table.navbox table {
 35+ margin-bottom: 0;
 36+}
 37+
 38+table.wikitable th {
 39+ background: #f3f3f3;
 40+}
 41+
 42+table.infobox {
 43+ background: #f9f9f9;
 44+}
 45+
 46+table.infobox th, table.infobox td {
 47+ border: 0;
 48+}
 49+
 50+table.infobox td[colspan="3"], table.infobox th[colspan="3"] {
 51+ border: 1px solid #cccccc;
 52+}
 53+
 54+table.geography[style] th {
 55+ text-align: left;
 56+}
 57+
 58+table.geography[style] td[style*="text-align"] div[style], table.geography[style] td[colspan="2"] div[style] {
 59+ text-align: left !important;
 60+}
 61+
8662 table.admin {
87 - width: 300px; }
 63+ width: 300px;
 64+}
8865
8966 html {
90 - font-size: 0.8em; }
 67+ font-size: 0.8em;
 68+}
9169
9270 body {
93 - line-height: 1;
94 - color: black;
95 - background: white;
96 - font-family: sans-serif;
97 - overflow-x: hidden;
98 - -webkit-text-size-adjust: none; }
 71+ line-height: 1;
 72+ color: black;
 73+ background: white;
 74+ font-family: sans-serif;
 75+ overflow-x: hidden;
 76+ -webkit-text-size-adjust: none;
 77+}
9978
10079 p, li, dl, #featured_article {
101 - line-height: 1.65; }
 80+ line-height: 1.65;
 81+}
10282
10383 pre {
104 - white-space: pre-wrap; }
 84+ white-space: pre-wrap;
 85+}
10586
10687 h2 {
107 - border-bottom: 1px solid #aaaaaa;
108 - padding-top: 0.3em; }
 88+ border-bottom: 1px solid #aaaaaa;
 89+ padding-top: 0.3em;
 90+}
10991
11092 a {
111 - text-decoration: none;
112 - color: #002bb8; }
113 - a:visited {
114 - color: #5a3696; }
115 - a:active {
116 - color: #faa700; }
117 - a:hover {
118 - text-decoration: underline; }
 93+ text-decoration: none;
 94+ color: #002bb8;
 95+}
11996
 97+a:visited {
 98+ color: #5a3696;
 99+}
 100+
 101+a:active {
 102+ color: #faa700;
 103+}
 104+
 105+a:hover {
 106+ text-decoration: underline;
 107+}
 108+
120109 a.new, a.new:visited, a.new:hover {
121 - color: red; }
 110+ color: red;
 111+}
122112
123113 a.back_to_top, a.back_to_top:visited {
124 - margin-top: 7px;
125 - color: blue; }
 114+ margin-top: 7px;
 115+ color: blue;
 116+}
126117
127118 .links {
128 - float: left;
129 - padding: 10px; }
 119+ float: left;
 120+ padding: 10px;
 121+}
130122
131123 #contentSub, .dablink {
132 - margin-bottom: 10px; }
 124+ margin-bottom: 10px;
 125+}
133126
134127 #firstHeading {
135 - font-size: 1.7em; }
 128+ font-size: 1.7em;
 129+}
136130
137131 h2 {
138 - font-size: 1.3em; }
 132+ font-size: 1.3em;
 133+}
139134
140135 .section_anchors a {
141 - display: block; }
 136+ display: block;
 137+}
142138
143139 .section_anchor {
144 - height: 1px;
145 - width: 1px; }
 140+ height: 1px;
 141+ width: 1px;
 142+}
146143
147144 .printonly, .geo-multi-punct, .geo-nondefault, .Z3988 {
148 - display: none; }
 145+ display: none;
 146+}
149147
150148 #featured_article .noprint, .today .noprint {
151 - display: none; }
 149+ display: none;
 150+}
152151
153152 .thumb {
154 - border: 1px solid #cccccc;
155 - -webkit-border-radius: 5px;
156 - -moz-border-radius: 5px;
157 - background: #f9f9f9;
158 - margin-bottom: 10px; }
159 - .thumb .thumbinner[style] {
160 - margin: 5px auto; }
161 - .thumb .thumbcaption {
162 - width: 100%;
163 - margin: 5px 10px 0;
164 - text-align: center;
165 - width: auto !important; }
 153+ border: 1px solid #cccccc;
 154+ -webkit-border-radius: 5px;
 155+ -moz-border-radius: 5px;
 156+ background: #f9f9f9;
 157+ margin-bottom: 10px;
 158+}
166159
 160+.thumb .thumbinner[style] {
 161+ margin: 5px auto;
 162+}
 163+
 164+.thumb .thumbcaption {
 165+ width: 100%;
 166+ margin: 5px 10px 0;
 167+ text-align: center;
 168+ width: auto !important;
 169+}
 170+
167171 img.thumbborder {
168 - border: 1px solid #cccccc; }
 172+ border: 1px solid #cccccc;
 173+}
169174
170175 .floatright {
171 - float: right; }
 176+ float: right;
 177+}
172178
173179 #content_wrapper.home h1#firstHeading {
174 - display: none; }
 180+ display: none;
 181+}
175182
176183 body {
177 - margin: 0; }
 184+ margin: 0;
 185+}
178186
179187 #header {
180 - margin: 8px 8px 0 8px; }
 188+ margin: 8px 8px 0 8px;
 189+}
181190
182191 #content_wrapper {
183 - clear: both;
184 - margin: 0 8px; }
 192+ clear: both;
 193+ margin: 0 8px;
 194+}
185195
186196 #footer {
187 - margin: 0 8px; }
 197+ margin: 0 8px;
 198+}
188199
189200 #header img, #header form, #header input, #header button {
190 - vertical-align: middle;
191 - display: inline-block; }
 201+ vertical-align: middle;
 202+ display: inline-block;
 203+}
192204
193205 #searchbox {
194 - width: auto;
195 - padding: 5px;
196 - border: 1px solid #cccccc;
197 - -webkit-border-radius: 2px;
198 - -moz-border-radius: 2px; }
199 - #searchbox a, #searchbox img {
200 - border: 0px;
201 - vertical-align: middle; }
202 - #searchbox #goButton {
203 - border: 0;
204 - background: url(images/s.gif) no-repeat top left;
205 - height: 25px;
206 - width: 27px; }
207 - #searchbox #searchField {
208 - width: auto; }
 206+ width: auto;
 207+ padding: 5px;
 208+ border: 1px solid #cccccc;
 209+ -webkit-border-radius: 2px;
 210+ -moz-border-radius: 2px;
 211+}
209212
 213+#searchbox a, #searchbox img {
 214+ border: 0px;
 215+ vertical-align: middle;
 216+}
 217+
 218+#searchbox #goButton {
 219+ border: 0;
 220+ background: url(images/s.gif) no-repeat top left;
 221+ height: 25px;
 222+ width: 27px;
 223+}
 224+
 225+#searchbox #searchField {
 226+ width: auto;
 227+}
 228+
210229 #nav {
211 - -webkit-border-radius: 2px;
212 - -moz-border-radius: 2px;
213 - clear: both;
214 - padding: 5px 0; }
215 - #nav form, #nav button {
216 - display: inline-block; }
217 - #nav button {
218 - background: url(images/buttonbg.gif) no-repeat center;
219 - border: 0;
220 - height: 23px;
221 - width: 83px; }
 230+ -webkit-border-radius: 2px;
 231+ -moz-border-radius: 2px;
 232+ clear: both;
 233+ padding: 5px 0;
 234+}
222235
 236+#nav form, #nav button {
 237+ display: inline-block;
 238+}
 239+
 240+#nav button {
 241+ background: url(images/buttonbg.gif) no-repeat center;
 242+ border: 0;
 243+ height: 23px;
 244+ width: 83px;
 245+}
 246+
223247 #disableButtons {
224 - text-align: center; }
225 - #disableButtons button {
226 - background: url(images/buttonbg.gif) no-repeat center;
227 - border: 0;
228 - height: 23px;
229 - width: 83px; }
230 - #disableButtons #backButton {
231 - margin-top: 5em; }
 248+ text-align: center;
 249+}
232250
 251+#disableButtons button {
 252+ background: url(images/buttonbg.gif) no-repeat center;
 253+ border: 0;
 254+ height: 23px;
 255+ width: 83px;
 256+}
 257+
 258+#disableButtons #backButton {
 259+ margin-top: 5em;
 260+}
 261+
233262 .mwm-notice {
234 - padding: 5px;
235 - background: #dddddd;
236 - -webkit-border-radius: 5px;
237 - margin-top: 5px;
238 - text-align: center;
239 - border: 1px solid grey; }
 263+ padding: 5px;
 264+ background: #dddddd;
 265+ -webkit-border-radius: 5px;
 266+ margin-top: 5px;
 267+ text-align: center;
 268+ border: 1px solid grey;
 269+}
240270
241271 .mwm-message.mwm-notice {
242 - font-size: 1.1em; }
 272+ font-size: 1.1em;
 273+}
243274
244275 #image_wrapper {
245 - margin: 8px 0 8px -3px; }
 276+ margin: 8px 0 8px -3px;
 277+}
246278
247279 #footer {
248 - padding-top: 1em; }
249 - #footer #perm {
250 - padding-top: 2em;
251 - font-size: 90%; }
252 - #footer #copyright {
253 - padding: 1em 0;
254 - font-size: 80%; }
 280+ padding-top: 1em;
 281+}
255282
 283+#footer #perm {
 284+ padding-top: 2em;
 285+ font-size: 90%;
 286+}
 287+
 288+#footer #copyright {
 289+ padding: 1em 0;
 290+ font-size: 80%;
 291+}
 292+
256293 ol.references > li:target,
257294 sup.reference:target,
258295 span.citation:target, cite:target {
259 - background-color: #ddeeff; }
 296+ background-color: #ddeeff;
 297+}
260298
261299 .content_block,
262300 .section_anchors,
263301 button.section_heading.hide {
264 - display: none; }
 302+ display: none;
 303+}
265304
266305 #clearButton {
267 - display: none; }
 306+ display: none;
 307+}
268308
269309 #nav {
270 - display: none;
271 - width: 172px;
272 - border: 1px solid #cccccc;
273 - border-top: 0px;
274 - margin: -1px 0 0 0;
275 - background: white;
276 - padding: 0 5px 5px 5px; }
 310+ display: none;
 311+ width: 172px;
 312+ border: 1px solid #cccccc;
 313+ border-top: 0px;
 314+ margin: -1px 0 0 0;
 315+ background: white;
 316+ padding: 0 5px 5px 5px;
 317+}
277318
278319 #ogg_player_1 {
279 - display: none; }
 320+ display: none;
 321+}
280322
281323 #searchbox {
282 - width: 292px;
283 - padding: 5px;
284 - border: 1px solid #cccccc;
285 - -webkit-border-radius: 2px;
286 - -moz-border-radius: 2px; }
287 - #searchbox a, #searchbox img {
288 - border: 0px;
289 - vertical-align: middle; }
290 - #searchbox #goButton {
291 - border: 0;
292 - background: url(images/s.gif) no-repeat top left;
293 - height: 25px;
294 - width: 27px; }
295 - #searchbox #searchField {
296 - width: 220px;
297 - height: 27px;
298 - font-size: 16px; }
299 - body.landscape #searchbox {
300 - width: 450px; }
301 - body.landscape #searchbox #searchField {
302 - width: 375px; }
 324+ width: 292px;
 325+ padding: 5px;
 326+ border: 1px solid #cccccc;
 327+ -webkit-border-radius: 2px;
 328+ -moz-border-radius: 2px;
 329+}
303330
 331+#searchbox a, #searchbox img {
 332+ border: 0px;
 333+ vertical-align: middle;
 334+}
 335+
 336+#searchbox #goButton {
 337+ border: 0;
 338+ background: url(images/s.gif) no-repeat top left;
 339+ height: 25px;
 340+ width: 27px;
 341+}
 342+
 343+#searchbox #searchField {
 344+ width: 220px;
 345+ height: 27px;
 346+ font-size: 16px;
 347+}
 348+
 349+body.landscape #searchbox {
 350+ width: 450px;
 351+}
 352+
 353+body.landscape #searchbox #searchField {
 354+ width: 375px;
 355+}
 356+
304357 #header {
305 - max-width: 290px; }
 358+ max-width: 290px;
 359+}
306360
307361 #search:focus {
308 - outline: none;
 362+ outline: none;
309363 }
310364
311365 #search {
312 - -webkit-appearance: none;
313 - border-top-width: 0px;
314 - border-right-width: 0px;
315 - border-bottom-width: 0px;
316 - border-left-width: 0px;
317 - outline-style: none;
318 - outline-width: initial;
319 - outline-color: initial;
320 - height: 1.3em;
 366+ height: 1.3em;
321367 }
322368
323 -.divclearable {
324 - border: 1px solid #888;
325 - display: -moz-inline-stack;
326 - display: inline-block;
327 - zoom:1;
328 - *display:inline;
329 - vertical-align:middle;
330 - height: 1.5em;
331 - position: relative;
332 -}
333 -
334 -.clearlink {
335 - background: url(images/close-button.png) no-repeat scroll 0 0 transparent;
336 - background-position: center center;
337 - cursor: pointer;
338 - zoom:1;
339 - position: absolute;
340 - right: 0.25em;
341 - top: 50%;
342 - margin: 1px;
343 - height: 12px;
344 - width: 12px;
345 - margin-top: -6px;
346 - z-index: 2;
347 - border: 0px solid;
348 - display: none;
349 -}
Index: branches/wmf/1.18wmf1/extensions/MobileFrontend/stylesheets/webkit_old.css
@@ -1,330 +1,337 @@
2 -table {
3 - border-spacing: 0 !important;
4 - width: 100%;
5 - border-collapse: collapse !important;
6 - border: 1px solid #cccccc;
7 - padding: 3px;
8 - margin-bottom: 15px; }
9 - table td, table th {
10 - border: 1px solid #cccccc;
11 - padding: 3px; }
12 - table table {
13 - border: 0; }
14 - table table td, table table th {
15 - border: 0; }
16 - table.toc {
17 - background: #f9f9f9; }
18 - table.toc h2 {
19 - border: 0;
20 - padding: 0;
21 - margin-top: 5px; }
22 - table.navbox {
23 - font-size: 0.9em;
24 - width: 100% !important; }
25 - table.navbox th.navbox-title {
26 - background: #ccccff;
27 - padding: 5px; }
28 - table.navbox td.navbox-abovebelow {
29 - padding: 3px; }
30 - table.navbox td.navbox-group {
31 - background: #ddddff;
32 - width: 25%;
33 - padding: 3px; }
34 - table.navbox td.navbox-group + td {
35 - padding: 3px; }
36 - table.navbox div[style*="padding"] {
37 - padding-left: 0 !important;
38 - padding-right: 0 !important; }
39 - table.navbox div[style*="padding"] a {
40 - white-space: pre-wrap; }
41 - table.navbox span[style*="white"] {
42 - white-space: pre-wrap !important; }
43 - table.navbox td, table.navbox th {
44 - padding: 0; }
45 - table.navbox table {
46 - margin-bottom: 0; }
47 - table.wikitable th {
48 - background: #f3f3f3; }
49 - table[style] {
50 - width: 100% !important;
51 - float: none !important;
52 - margin-left: 0 !important; }
53 - table.infobox {
54 - background: #f9f9f9; }
55 - table.infobox th, table.infobox td {
56 - border: 0; }
57 - table.infobox td[colspan="3"], table.infobox th[colspan="3"] {
58 - border: 1px solid #cccccc; }
59 - table.gallery {
60 - background: #f9f9f9;
61 - border-bottom: 0; }
62 - table.gallery th, table.gallery td {
63 - display: block;
64 - border: 0;
65 - border-bottom: 1px solid #cccccc; }
66 - table.gallery .gallerybox[style] {
67 - width: auto !important;
68 - margin-bottom: -16px; }
69 - table.gallery .thumb[style] {
70 - border: 0;
71 - padding: 0 !important;
72 - width: auto !important;
73 - margin: 0 auto; }
74 - table.gallery .gallerytext {
75 - margin-top: -12px;
76 - text-align: center; }
77 - table.geography[style] th {
78 - text-align: left; }
79 - table.geography[style] td[style*="text-align"], table.geography[style] td[colspan="2"] {
80 - text-align: left !important;
81 - margin-left: 0 !important;
82 - margin-right: 0 !important; }
83 - table.geography[style] td[style*="text-align"] div[style], table.geography[style] td[colspan="2"] div[style] {
84 - text-align: left !important; }
 2+table table {
 3+ border: 0;
 4+}
855
 6+table table td, table table th {
 7+ border: 0;
 8+}
 9+
 10+table.toc {
 11+ background: #f9f9f9;
 12+}
 13+
 14+table.navbox td.navbox-abovebelow {
 15+ padding: 3px;
 16+}
 17+
 18+table.navbox td.navbox-group + td {
 19+ padding: 3px;
 20+}
 21+
 22+table.navbox div[style*="padding"] a {
 23+ white-space: pre-wrap;
 24+}
 25+
 26+table.navbox span[style*="white"] {
 27+ white-space: pre-wrap !important;
 28+}
 29+
 30+table.navbox td, table.navbox th {
 31+ padding: 0;
 32+}
 33+
 34+table.navbox table {
 35+ margin-bottom: 0;
 36+}
 37+
 38+table.wikitable th {
 39+ background: #f3f3f3;
 40+}
 41+
 42+table.infobox {
 43+ background: #f9f9f9;
 44+}
 45+
 46+table.infobox th, table.infobox td {
 47+ border: 0;
 48+}
 49+
 50+table.infobox td[colspan="3"], table.infobox th[colspan="3"] {
 51+ border: 1px solid #cccccc;
 52+}
 53+
 54+table.geography[style] th {
 55+ text-align: left;
 56+}
 57+
 58+table.geography[style] td[style*="text-align"] div[style], table.geography[style] td[colspan="2"] div[style] {
 59+ text-align: left !important;
 60+}
 61+
8662 table.admin {
87 - width: 300px; }
 63+ width: 300px;
 64+}
8865
8966 html {
90 - font-size: 0.8em; }
 67+ font-size: 0.8em;
 68+}
9169
9270 body {
93 - line-height: 1;
94 - color: black;
95 - background: white;
96 - font-family: sans-serif;
97 - overflow-x: hidden;
98 - -webkit-text-size-adjust: none; }
 71+ line-height: 1;
 72+ color: black;
 73+ background: white;
 74+ font-family: sans-serif;
 75+ overflow-x: hidden;
 76+ -webkit-text-size-adjust: none;
 77+}
9978
10079 p, li, dl, #featured_article {
101 - line-height: 1.65; }
 80+ line-height: 1.65;
 81+}
10282
10383 pre {
104 - white-space: pre-wrap; }
 84+ white-space: pre-wrap;
 85+}
10586
10687 h2 {
107 - border-bottom: 1px solid #aaaaaa;
108 - padding-top: 0.3em; }
 88+ border-bottom: 1px solid #aaaaaa;
 89+ padding-top: 0.3em;
 90+}
10991
11092 a {
111 - text-decoration: none;
112 - color: #002bb8; }
113 - a:visited {
114 - color: #5a3696; }
115 - a:active {
116 - color: #faa700; }
117 - a:hover {
118 - text-decoration: underline; }
 93+ text-decoration: none;
 94+ color: #002bb8;
 95+}
11996
 97+a:visited {
 98+ color: #5a3696;
 99+}
 100+
 101+a:active {
 102+ color: #faa700;
 103+}
 104+
 105+a:hover {
 106+ text-decoration: underline;
 107+}
 108+
120109 a.new, a.new:visited, a.new:hover {
121 - color: red; }
 110+ color: red;
 111+}
122112
123113 a.back_to_top, a.back_to_top:visited {
124 - margin-top: 7px;
125 - color: blue; }
 114+ margin-top: 7px;
 115+ color: blue;
 116+}
126117
127118 .links {
128 - float: left;
129 - padding: 10px; }
 119+ float: left;
 120+ padding: 10px;
 121+}
130122
131123 #contentSub, .dablink {
132 - margin-bottom: 10px; }
 124+ margin-bottom: 10px;
 125+}
133126
134127 #firstHeading {
135 - font-size: 1.7em; }
 128+ font-size: 1.7em;
 129+}
136130
137131 h2 {
138 - font-size: 1.3em; }
 132+ font-size: 1.3em;
 133+}
139134
140135 .section_anchors a {
141 - display: block; }
 136+ display: block;
 137+}
142138
143139 .section_anchor {
144 - height: 1px;
145 - width: 1px; }
 140+ height: 1px;
 141+ width: 1px;
 142+}
146143
147144 .printonly, .geo-multi-punct, .geo-nondefault, .Z3988 {
148 - display: none; }
 145+ display: none;
 146+}
149147
150148 #featured_article .noprint, .today .noprint {
151 - display: none; }
 149+ display: none;
 150+}
152151
153152 .thumb {
154 - border: 1px solid #cccccc;
155 - -webkit-border-radius: 5px;
156 - -moz-border-radius: 5px;
157 - background: #f9f9f9;
158 - margin-bottom: 10px; }
159 - .thumb .thumbinner[style] {
160 - margin: 5px auto; }
161 - .thumb .thumbcaption {
162 - width: 100%;
163 - margin: 5px 10px 0;
164 - text-align: center;
165 - width: auto !important; }
 153+ border: 1px solid #cccccc;
 154+ -webkit-border-radius: 5px;
 155+ -moz-border-radius: 5px;
 156+ background: #f9f9f9;
 157+ margin-bottom: 10px;
 158+}
166159
 160+.thumb .thumbinner[style] {
 161+ margin: 5px auto;
 162+}
 163+
 164+.thumb .thumbcaption {
 165+ width: 100%;
 166+ margin: 5px 10px 0;
 167+ text-align: center;
 168+ width: auto !important;
 169+}
 170+
167171 img.thumbborder {
168 - border: 1px solid #cccccc; }
 172+ border: 1px solid #cccccc;
 173+}
169174
170175 .floatright {
171 - float: right; }
 176+ float: right;
 177+}
172178
173179 #content_wrapper.home h1#firstHeading {
174 - display: none; }
 180+ display: none;
 181+}
175182
176183 body {
177 - margin: 0; }
 184+ margin: 0;
 185+}
178186
179187 #header {
180 - margin: 8px 8px 0 8px; }
 188+ margin: 8px 8px 0 8px;
 189+}
181190
182191 #content_wrapper {
183 - clear: both;
184 - margin: 0 8px; }
 192+ clear: both;
 193+ margin: 0 8px;
 194+}
185195
186196 #footer {
187 - margin: 0 8px; }
 197+ margin: 0 8px;
 198+}
188199
189200 #header img, #header form, #header input, #header button {
190 - vertical-align: middle;
191 - display: inline-block; }
 201+ vertical-align: middle;
 202+ display: inline-block;
 203+}
192204
193205 #searchbox {
194 - width: auto;
195 - padding: 5px;
196 - border: 1px solid #cccccc;
197 - -webkit-border-radius: 2px;
198 - -moz-border-radius: 2px; }
199 - #searchbox a, #searchbox img {
200 - border: 0px;
201 - vertical-align: middle; }
202 - #searchbox #goButton {
203 - border: 0;
204 - background: url(images/s.gif) no-repeat top left;
205 - height: 25px;
206 - width: 27px; }
207 - #searchbox #searchField {
208 - width: auto; }
 206+ width: auto;
 207+ padding: 5px;
 208+ border: 1px solid #cccccc;
 209+ -webkit-border-radius: 2px;
 210+ -moz-border-radius: 2px;
 211+}
209212
 213+#searchbox a, #searchbox img {
 214+ border: 0px;
 215+ vertical-align: middle;
 216+}
 217+
 218+#searchbox #goButton {
 219+ border: 0;
 220+ background: url(images/s.gif) no-repeat top left;
 221+ height: 25px;
 222+ width: 27px;
 223+}
 224+
 225+#searchbox #searchField {
 226+ width: auto;
 227+}
 228+
210229 #nav {
211 - -webkit-border-radius: 2px;
212 - -moz-border-radius: 2px;
213 - clear: both;
214 - padding: 5px 0; }
215 - #nav form, #nav button {
216 - display: inline-block; }
217 - #nav button {
218 - background: url(images/buttonbg.gif) no-repeat center;
219 - border: 0;
220 - height: 23px;
221 - width: 83px; }
 230+ -webkit-border-radius: 2px;
 231+ -moz-border-radius: 2px;
 232+ clear: both;
 233+ padding: 5px 0;
 234+}
222235
 236+#nav form, #nav button {
 237+ display: inline-block;
 238+}
 239+
 240+#nav button {
 241+ background: url(images/buttonbg.gif) no-repeat center;
 242+ border: 0;
 243+ height: 23px;
 244+ width: 83px;
 245+}
 246+
223247 #disableButtons {
224 - text-align: center; }
225 - #disableButtons button {
226 - background: url(images/buttonbg.gif) no-repeat center;
227 - border: 0;
228 - height: 23px;
229 - width: 83px; }
230 - #disableButtons #backButton {
231 - margin-top: 5em; }
 248+ text-align: center;
 249+}
232250
 251+#disableButtons button {
 252+ background: url(images/buttonbg.gif) no-repeat center;
 253+ border: 0;
 254+ height: 23px;
 255+ width: 83px;
 256+}
 257+
 258+#disableButtons #backButton {
 259+ margin-top: 5em;
 260+}
 261+
233262 .mwm-notice {
234 - padding: 5px;
235 - background: #dddddd;
236 - -webkit-border-radius: 5px;
237 - margin-top: 5px;
238 - text-align: center;
239 - border: 1px solid grey; }
 263+ padding: 5px;
 264+ background: #dddddd;
 265+ -webkit-border-radius: 5px;
 266+ margin-top: 5px;
 267+ text-align: center;
 268+ border: 1px solid grey;
 269+}
240270
241271 .mwm-message.mwm-notice {
242 - font-size: 1.1em; }
 272+ font-size: 1.1em;
 273+}
243274
244275 #image_wrapper {
245 - margin: 8px 0 8px -3px; }
 276+ margin: 8px 0 8px -3px;
 277+}
246278
247279 #footer {
248 - padding-top: 1em; }
249 - #footer #perm {
250 - padding-top: 2em;
251 - font-size: 90%; }
252 - #footer #copyright {
253 - padding: 1em 0;
254 - font-size: 80%; }
 280+ padding-top: 1em;
 281+}
255282
 283+#footer #perm {
 284+ padding-top: 2em;
 285+ font-size: 90%;
 286+}
 287+
 288+#footer #copyright {
 289+ padding: 1em 0;
 290+ font-size: 80%;
 291+}
 292+
256293 ol.references > li:target,
257294 sup.reference:target,
258295 span.citation:target, cite:target {
259 - background-color: #ddeeff; }
 296+ background-color: #ddeeff;
 297+}
260298
261299 .content_block,
262300 .section_anchors,
263301 button.section_heading.hide {
264 - display: none; }
 302+ display: none;
 303+}
265304
266305 #searchbox {
267 - height: 25px; }
268 - #searchbox #logo {
269 - display: block;
270 - float: left;
271 - margin-right: 4px; }
272 - #searchbox #searchField {
273 - border: 1px solid grey;
274 - height: 20px;
275 - width: 216px; }
276 - #searchbox #clearButton {
277 - display: block; }
 306+ height: 25px;
 307+}
278308
279 -#nav {
280 - height: 23px;
281 - display: none;
282 - width: 172px;
283 - border: 1px solid #cccccc;
284 - border-top: 0px;
285 - margin: -1px 0 0 0;
286 - background: white;
287 - padding: 0 5px 5px 5px; }
 309+#searchbox #logo {
 310+ display: block;
 311+ float: left;
 312+ margin-right: 4px;
 313+}
288314
289 -#search:focus {
290 - outline: none;
 315+#searchbox #searchField {
 316+ border: 1px solid grey;
 317+ height: 20px;
 318+ width: 216px;
291319 }
292320
293 -#search {
294 - -webkit-appearance: none;
295 - border-top-width: 0px;
296 - border-right-width: 0px;
297 - border-bottom-width: 0px;
298 - border-left-width: 0px;
299 - outline-style: none;
300 - outline-width: initial;
301 - outline-color: initial;
302 - height: 1.4em;
 321+#searchbox #clearButton {
 322+ display: block;
303323 }
304324
305 -.divclearable {
306 - border: 1px solid #888;
307 - display: -moz-inline-stack;
308 - display: inline-block;
309 - zoom:1;
310 - *display:inline;
311 - vertical-align:middle;
312 - height: 1.5em;
313 - position: relative;
 325+#nav {
 326+ height: 23px;
 327+ display: none;
 328+ width: 172px;
 329+ border: 1px solid #cccccc;
 330+ border-top: 0px;
 331+ margin: -1px 0 0 0;
 332+ background: white;
 333+ padding: 0 5px 5px 5px;
314334 }
315335
316 -.clearlink {
317 - background: url(images/close-button.png) no-repeat scroll 0 0 transparent;
318 - background-position: center center;
319 - cursor: pointer;
320 - zoom:1;
321 - position: absolute;
322 - right: 0.25em;
323 - top: 50%;
324 - margin: 1px;
325 - height: 12px;
326 - width: 12px;
327 - margin-top: -6px;
328 - z-index: 2;
329 - border: 0px solid;
330 - display: none;
331 -}
\ No newline at end of file
 336+#search:focus {
 337+ outline: none;
 338+}
Index: branches/wmf/1.18wmf1/extensions/MobileFrontend/stylesheets/beta_common.css
@@ -0,0 +1,262 @@
 2+html, body {
 3+ margin: 0px;
 4+ padding: 0px;
 5+ height: 100%;
 6+}
 7+
 8+.clearlink {
 9+ background: url(images/close-button.png) no-repeat scroll 0 0 transparent;
 10+ background-position: center center;
 11+ cursor: pointer;
 12+ zoom: 1;
 13+ position: absolute;
 14+ right: 0.25em;
 15+ top: 10%;
 16+ margin: 1px;
 17+ height: 42px;
 18+ width: 42px;
 19+ margin-top: -6px;
 20+ z-index: 99;
 21+ border: 0px solid;
 22+ display: none;
 23+}
 24+
 25+.suggestions-results {
 26+ font-size: 1.4em;
 27+ cursor: pointer;
 28+ margin: 0;
 29+ padding: 0;
 30+}
 31+
 32+.suggestions-results hr {
 33+ margin: 0;
 34+}
 35+
 36+.suggestions-result {
 37+ color: black;
 38+ margin: 0;
 39+ line-height: 2.6em;
 40+ padding: 0.01em 0.25em;
 41+ text-align: left;
 42+ postion: relative;
 43+ border-bottom: solid 1px #999999;
 44+}
 45+
 46+.suggestions-result a {
 47+ text-decoration: none;
 48+ color: #666;
 49+}
 50+.suggestions-result a:link {
 51+ text-decoration: none;
 52+ color:#666;
 53+}
 54+.suggestions-result a:visited {
 55+ text-decoration: none;
 56+ color:#666;
 57+}
 58+.suggestions-result a:hover {
 59+ text-decoration: none;
 60+ color:#666;
 61+}
 62+.suggestions-result a:active {
 63+ text-decoration: none;
 64+ color:#666;
 65+}
 66+.suggestions-result:hover {
 67+ background-color: #ACD1E9;
 68+}
 69+a.sq-val-update {
 70+ font-size: 1.3em;
 71+ display: block;
 72+ font-weight: normal;
 73+ text-decoration: none;
 74+ color: #666;
 75+ position: absolute;
 76+ right: 0;
 77+ width: 1.5em;
 78+ text-align: center;
 79+}
 80+a.sq-val-update:link {
 81+ text-decoration: none;
 82+}
 83+a.sq-val-update:visited {
 84+ text-decoration: none;
 85+}
 86+a.sq-val-update:hover {
 87+ text-decoration: none;
 88+}
 89+a.sq-val-update:active {
 90+ text-decoration: none;
 91+}
 92+
 93+a.search-result-item {
 94+ display: block;
 95+ margin-right: 2em;
 96+}
 97+
 98+#results {
 99+ display: none;
 100+ background-color: #ffffff;
 101+ border-top: none;
 102+ border-left: 1px solid #888;
 103+ border-right: 1px solid #888;
 104+ border-bottom: 1px solid #888;
 105+ z-index: 2;
 106+ position: absolute;
 107+}
 108+
 109+#remove-results {
 110+ position: absolute;
 111+ display: block;
 112+ width: 40px;
 113+ height: 40px;
 114+ text-align: center;
 115+ line-height: 40px;
 116+}
 117+
 118+#search {
 119+ -webkit-appearance: none;
 120+ border-top-width: 0px;
 121+ border-right-width: 0px;
 122+ border-bottom-width: 0px;
 123+ border-left-width: 0px;
 124+ outline-style: none;
 125+ outline-width: initial;
 126+ outline-color: initial;
 127+ height: 1.4em;
 128+}
 129+
 130+ul#footer-info {
 131+ list-style: none;
 132+ list-style-image: none;
 133+ list-style-type: none;
 134+ margin: 0;
 135+ padding: 0;
 136+}
 137+
 138+#left-arrow {
 139+ background: url(images/arrow-left.png) no-repeat scroll 0 0 transparent;
 140+ background-position: center center;
 141+ cursor: pointer;
 142+ zoom: 1;
 143+ position: absolute;
 144+ right: 0.25em;
 145+ top: 20%;
 146+ margin: 1px;
 147+ height: 40px;
 148+ width: 40px;
 149+ margin-top: -6px;
 150+ z-index: 99;
 151+ border: 0px solid;
 152+}
 153+
 154+#sq {
 155+/* background-color: #ff0000;*/
 156+}
 157+
 158+#sq.animate {
 159+ -webkit-transition: all .3s ease-in 100ms;
 160+/* background-color: #0000ff;*/
 161+}
 162+
 163+#searchbox {
 164+/* background-color: #00ff00;*/
 165+}
 166+
 167+.divclearable {
 168+ border: 1px solid #888;
 169+ display: -moz-inline-stack;
 170+ display: inline-block;
 171+ zoom: 1;
 172+ *display: inline;
 173+ vertical-align: middle;
 174+ height: 1.5em;
 175+ position: relative;
 176+}
 177+
 178+#userloginForm table, #userloginForm .user-login tr, #userloginForm .user-login th, #userloginForm .user-login td {
 179+ width: 200px;
 180+ border: 0px;
 181+}
 182+
 183+table {
 184+ border-spacing: 0 !important;
 185+ width: 100%;
 186+ border-collapse: collapse !important;
 187+ border: 1px solid #cccccc;
 188+ padding: 3px;
 189+ margin-bottom: 15px;
 190+}
 191+
 192+table.gallery .thumb[style] {
 193+ border: 0;
 194+ padding: 0 !important;
 195+ width: auto !important;
 196+ margin: 0 auto;
 197+}
 198+
 199+table.geography[style] td[style*="text-align"], table.geography[style] td[colspan="2"] {
 200+ text-align: left !important;
 201+ margin-left: 0 !important;
 202+ margin-right: 0 !important;
 203+}
 204+
 205+table.toc h2 {
 206+ border: 0;
 207+ padding: 0;
 208+ margin-top: 5px;
 209+}
 210+
 211+table.gallery th, table.gallery td {
 212+ display: block;
 213+ border: 0;
 214+ border-bottom: 1px solid #cccccc;
 215+}
 216+
 217+table[style] {
 218+ width: 100% !important;
 219+ float: none !important;
 220+ margin-left: 0 !important;
 221+}
 222+
 223+table.navbox td.navbox-group {
 224+ background: #ddddff;
 225+ width: 25%;
 226+ padding: 3px;
 227+}
 228+
 229+table.gallery {
 230+ background: #f9f9f9;
 231+ border-bottom: 0;
 232+}
 233+
 234+table.navbox {
 235+ font-size: 0.9em;
 236+ width: 100% !important;
 237+}
 238+
 239+table.gallery .gallerytext {
 240+ margin-top: -12px;
 241+ text-align: center;
 242+}
 243+
 244+table.navbox th.navbox-title {
 245+ background: #ccccff;
 246+ padding: 5px;
 247+}
 248+
 249+table.navbox div[style*="padding"] {
 250+ padding-left: 0 !important;
 251+ padding-right: 0 !important;
 252+}
 253+
 254+table.gallery .gallerybox[style] {
 255+ width: auto !important;
 256+ margin-bottom: -16px;
 257+}
 258+
 259+table td, table th {
 260+ border: 1px solid #cccccc;
 261+ padding: 3px;
 262+}
 263+
Index: branches/wmf/1.18wmf1/extensions/MobileFrontend/stylesheets/operamini.css
@@ -1,348 +1,364 @@
2 -table {
3 - border-spacing: 0 !important;
4 - width: 100%;
5 - border-collapse: collapse !important;
6 - border: 1px solid #cccccc;
7 - padding: 3px;
8 - margin-bottom: 15px; }
9 - table td, table th {
10 - border: 1px solid #cccccc;
11 - padding: 3px; }
12 - table table {
13 - border: 0; }
14 - table table td, table table th {
15 - border: 0; }
16 - table.toc {
17 - background: #f9f9f9; }
18 - table.toc h2 {
19 - border: 0;
20 - padding: 0;
21 - margin-top: 5px; }
22 - table.navbox {
23 - font-size: 0.9em;
24 - width: 100% !important; }
25 - table.navbox th.navbox-title {
26 - background: #ccccff;
27 - padding: 5px; }
28 - table.navbox td.navbox-abovebelow {
29 - padding: 3px; }
30 - table.navbox td.navbox-group {
31 - background: #ddddff;
32 - width: 25%;
33 - padding: 3px; }
34 - table.navbox td.navbox-group + td {
35 - padding: 3px; }
36 - table.navbox div[style*="padding"] {
37 - padding-left: 0 !important;
38 - padding-right: 0 !important; }
39 - table.navbox div[style*="padding"] a {
40 - white-space: pre-wrap; }
41 - table.navbox span[style*="white"] {
42 - white-space: pre-wrap !important; }
43 - table.navbox td, table.navbox th {
44 - padding: 0; }
45 - table.navbox table {
46 - margin-bottom: 0; }
47 - table.wikitable th {
48 - background: #f3f3f3; }
49 - table[style] {
50 - width: 100% !important;
51 - float: none !important;
52 - margin-left: 0 !important; }
53 - table.infobox {
54 - background: #f9f9f9; }
55 - table.infobox th, table.infobox td {
56 - border: 0; }
57 - table.infobox td[colspan="3"], table.infobox th[colspan="3"] {
58 - border: 1px solid #cccccc; }
59 - table.gallery {
60 - background: #f9f9f9;
61 - border-bottom: 0; }
62 - table.gallery th, table.gallery td {
63 - display: block;
64 - border: 0;
65 - border-bottom: 1px solid #cccccc; }
66 - table.gallery .gallerybox[style] {
67 - width: auto !important;
68 - margin-bottom: -16px; }
69 - table.gallery .thumb[style] {
70 - border: 0;
71 - padding: 0 !important;
72 - width: auto !important;
73 - margin: 0 auto; }
74 - table.gallery .gallerytext {
75 - margin-top: -12px;
76 - text-align: center; }
77 - table.geography[style] th {
78 - text-align: left; }
79 - table.geography[style] td[style*="text-align"], table.geography[style] td[colspan="2"] {
80 - text-align: left !important;
81 - margin-left: 0 !important;
82 - margin-right: 0 !important; }
83 - table.geography[style] td[style*="text-align"] div[style], table.geography[style] td[colspan="2"] div[style] {
84 - text-align: left !important; }
 2+table table {
 3+ border: 0;
 4+}
855
 6+table table td, table table th {
 7+ border: 0;
 8+}
 9+
 10+table.toc {
 11+ background: #f9f9f9;
 12+}
 13+
 14+table.navbox td.navbox-abovebelow {
 15+ padding: 3px;
 16+}
 17+
 18+table.navbox td.navbox-group + td {
 19+ padding: 3px;
 20+}
 21+
 22+table.navbox div[style*="padding"] a {
 23+ white-space: pre-wrap;
 24+}
 25+
 26+table.navbox span[style*="white"] {
 27+ white-space: pre-wrap !important;
 28+}
 29+
 30+table.navbox td, table.navbox th {
 31+ padding: 0;
 32+}
 33+
 34+table.navbox table {
 35+ margin-bottom: 0;
 36+}
 37+
 38+table.wikitable th {
 39+ background: #f3f3f3;
 40+}
 41+
 42+table.infobox {
 43+ background: #f9f9f9;
 44+}
 45+
 46+table.infobox th, table.infobox td {
 47+ border: 0;
 48+}
 49+
 50+table.infobox td[colspan="3"], table.infobox th[colspan="3"] {
 51+ border: 1px solid #cccccc;
 52+}
 53+
 54+table.geography[style] th {
 55+ text-align: left;
 56+}
 57+
 58+table.geography[style] td[style*="text-align"] div[style], table.geography[style] td[colspan="2"] div[style] {
 59+ text-align: left !important;
 60+}
 61+
8662 table.admin {
87 - width: 300px; }
 63+ width: 300px;
 64+}
8865
8966 html {
90 - font-size: 0.8em; }
 67+ font-size: 0.8em;
 68+}
9169
9270 body {
93 - line-height: 1;
94 - color: black;
95 - background: white;
96 - font-family: sans-serif;
97 - overflow-x: hidden;
98 - -webkit-text-size-adjust: none; }
 71+ line-height: 1;
 72+ color: black;
 73+ background: white;
 74+ font-family: sans-serif;
 75+ overflow-x: hidden;
 76+ -webkit-text-size-adjust: none;
 77+}
9978
10079 p, li, dl, #featured_article {
101 - line-height: 1.65; }
 80+ line-height: 1.65;
 81+}
10282
10383 pre {
104 - white-space: pre-wrap; }
 84+ white-space: pre-wrap;
 85+}
10586
10687 h2 {
107 - border-bottom: 1px solid #aaaaaa;
108 - padding-top: 0.3em; }
 88+ border-bottom: 1px solid #aaaaaa;
 89+ padding-top: 0.3em;
 90+}
10991
11092 a {
111 - text-decoration: none;
112 - color: #002bb8; }
113 - a:visited {
114 - color: #5a3696; }
115 - a:active {
116 - color: #faa700; }
117 - a:hover {
118 - text-decoration: underline; }
 93+ text-decoration: none;
 94+ color: #002bb8;
 95+}
11996
 97+a:visited {
 98+ color: #5a3696;
 99+}
 100+
 101+a:active {
 102+ color: #faa700;
 103+}
 104+
 105+a:hover {
 106+ text-decoration: underline;
 107+}
 108+
120109 a.new, a.new:visited, a.new:hover {
121 - color: red; }
 110+ color: red;
 111+}
122112
123113 a.back_to_top, a.back_to_top:visited {
124 - margin-top: 7px;
125 - color: blue; }
 114+ margin-top: 7px;
 115+ color: blue;
 116+}
126117
127118 .links {
128 - float: left;
129 - padding: 10px; }
 119+ float: left;
 120+ padding: 10px;
 121+}
130122
131123 #contentSub, .dablink {
132 - margin-bottom: 10px; }
 124+ margin-bottom: 10px;
 125+}
133126
134127 #firstHeading {
135 - font-size: 1.7em; }
 128+ font-size: 1.7em;
 129+}
136130
137131 h2 {
138 - font-size: 1.3em; }
 132+ font-size: 1.3em;
 133+}
139134
140135 .section_anchors a {
141 - display: block; }
 136+ display: block;
 137+}
142138
143139 .section_anchor {
144 - height: 1px;
145 - width: 1px; }
 140+ height: 1px;
 141+ width: 1px;
 142+}
146143
147144 .printonly, .geo-multi-punct, .geo-nondefault, .Z3988 {
148 - display: none; }
 145+ display: none;
 146+}
149147
150148 #featured_article .noprint, .today .noprint {
151 - display: none; }
 149+ display: none;
 150+}
152151
153152 .thumb {
154 - border: 1px solid #cccccc;
155 - -webkit-border-radius: 5px;
156 - -moz-border-radius: 5px;
157 - background: #f9f9f9;
158 - margin-bottom: 10px; }
159 - .thumb .thumbinner[style] {
160 - margin: 5px auto; }
161 - .thumb .thumbcaption {
162 - width: 100%;
163 - margin: 5px 10px 0;
164 - text-align: center;
165 - width: auto !important; }
 153+ border: 1px solid #cccccc;
 154+ -webkit-border-radius: 5px;
 155+ -moz-border-radius: 5px;
 156+ background: #f9f9f9;
 157+ margin-bottom: 10px;
 158+}
166159
 160+.thumb .thumbinner[style] {
 161+ margin: 5px auto;
 162+}
 163+
 164+.thumb .thumbcaption {
 165+ width: 100%;
 166+ margin: 5px 10px 0;
 167+ text-align: center;
 168+ width: auto !important;
 169+}
 170+
167171 img.thumbborder {
168 - border: 1px solid #cccccc; }
 172+ border: 1px solid #cccccc;
 173+}
169174
170175 .floatright {
171 - float: right; }
 176+ float: right;
 177+}
172178
173179 #content_wrapper.home h1#firstHeading {
174 - display: none; }
 180+ display: none;
 181+}
175182
176183 body {
177 - margin: 0; }
 184+ margin: 0;
 185+}
178186
179187 #header {
180 - margin: 8px 8px 0 8px; }
 188+ margin: 8px 8px 0 8px;
 189+}
181190
182191 #content_wrapper {
183 - clear: both;
184 - margin: 0 8px; }
 192+ clear: both;
 193+ margin: 0 8px;
 194+}
185195
186196 #footer {
187 - margin: 0 8px; }
 197+ margin: 0 8px;
 198+}
188199
189200 #header img, #header form, #header input, #header button {
190 - vertical-align: middle;
191 - display: inline-block; }
 201+ vertical-align: middle;
 202+ display: inline-block;
 203+}
192204
193205 #searchbox {
194 - width: auto;
195 - padding: 5px;
196 - border: 1px solid #cccccc;
197 - -webkit-border-radius: 2px;
198 - -moz-border-radius: 2px; }
199 - #searchbox a, #searchbox img {
200 - border: 0px;
201 - vertical-align: middle; }
202 - #searchbox #goButton {
203 - border: 0;
204 - background: url(images/s.gif) no-repeat top left;
205 - height: 25px;
206 - width: 27px; }
207 - #searchbox #searchField {
208 - width: auto; }
 206+ width: auto;
 207+ padding: 5px;
 208+ border: 1px solid #cccccc;
 209+ -webkit-border-radius: 2px;
 210+ -moz-border-radius: 2px;
 211+}
209212
 213+#searchbox a, #searchbox img {
 214+ border: 0px;
 215+ vertical-align: middle;
 216+}
 217+
 218+#searchbox #goButton {
 219+ border: 0;
 220+ background: url(images/s.gif) no-repeat top left;
 221+ height: 25px;
 222+ width: 27px;
 223+}
 224+
 225+#searchbox #searchField {
 226+ width: auto;
 227+}
 228+
210229 #nav {
211 - -webkit-border-radius: 2px;
212 - -moz-border-radius: 2px;
213 - clear: both;
214 - padding: 5px 0; }
215 - #nav form, #nav button {
216 - display: inline-block; }
217 - #nav button {
218 - background: url(images/buttonbg.gif) no-repeat center;
219 - border: 0;
220 - height: 23px;
221 - width: 83px; }
 230+ -webkit-border-radius: 2px;
 231+ -moz-border-radius: 2px;
 232+ clear: both;
 233+ padding: 5px 0;
 234+}
222235
 236+#nav form, #nav button {
 237+ display: inline-block;
 238+}
 239+
 240+#nav button {
 241+ background: url(images/buttonbg.gif) no-repeat center;
 242+ border: 0;
 243+ height: 23px;
 244+ width: 83px;
 245+}
 246+
223247 #disableButtons {
224 - text-align: center; }
225 - #disableButtons button {
226 - background: url(images/buttonbg.gif) no-repeat center;
227 - border: 0;
228 - height: 23px;
229 - width: 83px; }
230 - #disableButtons #backButton {
231 - margin-top: 5em; }
 248+ text-align: center;
 249+}
232250
 251+#disableButtons button {
 252+ background: url(images/buttonbg.gif) no-repeat center;
 253+ border: 0;
 254+ height: 23px;
 255+ width: 83px;
 256+}
 257+
 258+#disableButtons #backButton {
 259+ margin-top: 5em;
 260+}
 261+
233262 .mwm-notice {
234 - padding: 5px;
235 - background: #dddddd;
236 - -webkit-border-radius: 5px;
237 - margin-top: 5px;
238 - text-align: center;
239 - border: 1px solid grey; }
 263+ padding: 5px;
 264+ background: #dddddd;
 265+ -webkit-border-radius: 5px;
 266+ margin-top: 5px;
 267+ text-align: center;
 268+ border: 1px solid grey;
 269+}
240270
241271 .mwm-message.mwm-notice {
242 - font-size: 1.1em; }
 272+ font-size: 1.1em;
 273+}
243274
244275 #image_wrapper {
245 - margin: 8px 0 8px -3px; }
 276+ margin: 8px 0 8px -3px;
 277+}
246278
247279 #footer {
248 - padding-top: 1em; }
249 - #footer #perm {
250 - padding-top: 2em;
251 - font-size: 90%; }
252 - #footer #copyright {
253 - padding: 1em 0;
254 - font-size: 80%; }
 280+ padding-top: 1em;
 281+}
255282
 283+#footer #perm {
 284+ padding-top: 2em;
 285+ font-size: 90%;
 286+}
 287+
 288+#footer #copyright {
 289+ padding: 1em 0;
 290+ font-size: 80%;
 291+}
 292+
256293 ol.references > li:target,
257294 sup.reference:target,
258295 span.citation:target, cite:target {
259 - background-color: #ddeeff; }
 296+ background-color: #ddeeff;
 297+}
260298
261299 .content_block,
262300 .section_anchors,
263301 button.section_heading.hide {
264 - display: none; }
 302+ display: none;
 303+}
265304
266305 #header, #footer, #content_wrapper {
267 - margin: 0 2px; }
 306+ margin: 0 2px;
 307+}
268308
269309 #searchbox {
270 - border: 0px;
271 - padding: 2px;
272 - height: 26px; }
273 - #searchbox form, #searchbox button, #searchbox img, #searchbox input {
274 - display: inline; }
275 - #searchbox input#searchField {
276 - width: 60%; }
277 - #searchbox input#searchButton {
278 - margin-left: 2px; }
279 - #searchbox input#submitButton {
280 - display: none; }
 310+ border: 0px;
 311+ padding: 2px;
 312+ height: 26px;
 313+}
281314
 315+#searchbox form, #searchbox button, #searchbox img, #searchbox input {
 316+ display: inline;
 317+}
 318+
 319+#searchbox input#searchField {
 320+ width: 60%;
 321+}
 322+
 323+#searchbox input#searchButton {
 324+ margin-left: 2px;
 325+}
 326+
 327+#searchbox input#submitButton {
 328+ display: none;
 329+}
 330+
282331 .nav {
283 - border: 0;
284 - border-bottom: 2px solid #6d84b4;
285 - border-top: 2px solid #6d84b4;
286 - height: auto;
287 - clear: both;
288 - padding: 5px 0 5px 0;
289 - margin: 0; }
 332+ border: 0;
 333+ border-bottom: 2px solid #6d84b4;
 334+ border-top: 2px solid #6d84b4;
 335+ height: auto;
 336+ clear: both;
 337+ padding: 5px 0 5px 0;
 338+ margin: 0;
 339+}
290340
291341 #nav {
292 - padding: 5px 0 5px 0; }
 342+ padding: 5px 0 5px 0;
 343+}
293344
294345 .mwm-notice {
295 - text-align: left; }
 346+ text-align: left;
 347+}
296348
297349 .mwm-message.mwm-notice {
298 - display: none; }
 350+ display: none;
 351+}
299352
300353 a.arrow {
301 - float: right;
302 - margin-right: 5px; }
 354+ float: right;
 355+ margin-right: 5px;
 356+}
303357
304358 span.idx {
305 - display: none; }
 359+ display: none;
 360+}
306361
307362 #search:focus {
308 - outline: none;
 363+ outline: none;
309364 }
310365
311 -#search {
312 - -webkit-appearance: none;
313 - border-top-width: 0px;
314 - border-right-width: 0px;
315 - border-bottom-width: 0px;
316 - border-left-width: 0px;
317 - outline-style: none;
318 - outline-width: initial;
319 - outline-color: initial;
320 - height: 1.4em;
321 -}
322 -
323 -.divclearable {
324 - border: 1px solid #888;
325 - display: -moz-inline-stack;
326 - display: inline-block;
327 - zoom:1;
328 - *display:inline;
329 - vertical-align:middle;
330 - height: 1.5em;
331 - position: relative;
332 -}
333 -
334 -.clearlink {
335 - background: url(images/close-button.png) no-repeat scroll 0 0 transparent;
336 - background-position: center center;
337 - cursor: pointer;
338 - zoom:1;
339 - position: absolute;
340 - right: 0.25em;
341 - top: 50%;
342 - margin: 1px;
343 - height: 12px;
344 - width: 12px;
345 - margin-top: -6px;
346 - z-index: 2;
347 - border: 0px solid;
348 - display: none;
349 -}
Index: branches/wmf/1.18wmf1/extensions/MobileFrontend/stylesheets/default.css
@@ -1,307 +1,307 @@
2 -table {
3 - border-spacing: 0 !important;
4 - width: 100%;
5 - border-collapse: collapse !important;
6 - border: 1px solid #cccccc;
7 - padding: 3px;
8 - margin-bottom: 15px; }
9 - table td, table th {
10 - border: 1px solid #cccccc;
11 - padding: 3px; }
12 - table table {
13 - border: 0; }
14 - table table td, table table th {
15 - border: 0; }
16 - table.toc {
17 - background: #f9f9f9; }
18 - table.toc h2 {
19 - border: 0;
20 - padding: 0;
21 - margin-top: 5px; }
22 - table.navbox {
23 - font-size: 0.9em;
24 - width: 100% !important; }
25 - table.navbox th.navbox-title {
26 - background: #ccccff;
27 - padding: 5px; }
28 - table.navbox td.navbox-abovebelow {
29 - padding: 3px; }
30 - table.navbox td.navbox-group {
31 - background: #ddddff;
32 - width: 25%;
33 - padding: 3px; }
34 - table.navbox td.navbox-group + td {
35 - padding: 3px; }
36 - table.navbox div[style*="padding"] {
37 - padding-left: 0 !important;
38 - padding-right: 0 !important; }
39 - table.navbox div[style*="padding"] a {
40 - white-space: pre-wrap; }
41 - table.navbox span[style*="white"] {
42 - white-space: pre-wrap !important; }
43 - table.navbox td, table.navbox th {
44 - padding: 0; }
45 - table.navbox table {
46 - margin-bottom: 0; }
47 - table.wikitable th {
48 - background: #f3f3f3; }
49 - table[style] {
50 - width: 100% !important;
51 - float: none !important;
52 - margin-left: 0 !important; }
53 - table.infobox {
54 - background: #f9f9f9; }
55 - table.infobox th, table.infobox td {
56 - border: 0; }
57 - table.infobox td[colspan="3"], table.infobox th[colspan="3"] {
58 - border: 1px solid #cccccc; }
59 - table.gallery {
60 - background: #f9f9f9;
61 - border-bottom: 0; }
62 - table.gallery th, table.gallery td {
63 - display: block;
64 - border: 0;
65 - border-bottom: 1px solid #cccccc; }
66 - table.gallery .gallerybox[style] {
67 - width: auto !important;
68 - margin-bottom: -16px; }
69 - table.gallery .thumb[style] {
70 - border: 0;
71 - padding: 0 !important;
72 - width: auto !important;
73 - margin: 0 auto; }
74 - table.gallery .gallerytext {
75 - margin-top: -12px;
76 - text-align: center; }
77 - table.geography[style] th {
78 - text-align: left; }
79 - table.geography[style] td[style*="text-align"], table.geography[style] td[colspan="2"] {
80 - text-align: left !important;
81 - margin-left: 0 !important;
82 - margin-right: 0 !important; }
83 - table.geography[style] td[style*="text-align"] div[style], table.geography[style] td[colspan="2"] div[style] {
84 - text-align: left !important; }
 2+table table {
 3+ border: 0;
 4+}
855
 6+table table td, table table th {
 7+ border: 0;
 8+}
 9+
 10+table.toc {
 11+ background: #f9f9f9;
 12+}
 13+
 14+table.navbox td.navbox-abovebelow {
 15+ padding: 3px;
 16+}
 17+
 18+table.navbox td.navbox-group + td {
 19+ padding: 3px;
 20+}
 21+
 22+table.navbox div[style*="padding"] a {
 23+ white-space: pre-wrap;
 24+}
 25+
 26+table.navbox span[style*="white"] {
 27+ white-space: pre-wrap !important;
 28+}
 29+
 30+table.navbox td, table.navbox th {
 31+ padding: 0;
 32+}
 33+
 34+table.navbox table {
 35+ margin-bottom: 0;
 36+}
 37+
 38+table.wikitable th {
 39+ background: #f3f3f3;
 40+}
 41+
 42+table.infobox {
 43+ background: #f9f9f9;
 44+}
 45+
 46+table.infobox th, table.infobox td {
 47+ border: 0;
 48+}
 49+
 50+table.infobox td[colspan="3"], table.infobox th[colspan="3"] {
 51+ border: 1px solid #cccccc;
 52+}
 53+
 54+table.geography[style] th {
 55+ text-align: left;
 56+}
 57+
 58+table.geography[style] td[style*="text-align"] div[style], table.geography[style] td[colspan="2"] div[style] {
 59+ text-align: left !important;
 60+}
 61+
8662 table.admin {
87 - width: 300px; }
 63+ width: 300px;
 64+}
8865
8966 html {
90 - font-size: 0.8em; }
 67+ font-size: 0.8em;
 68+}
9169
9270 body {
93 - line-height: 1;
94 - color: black;
95 - background: white;
96 - font-family: sans-serif;
97 - overflow-x: hidden;
98 - -webkit-text-size-adjust: none; }
 71+ line-height: 1;
 72+ color: black;
 73+ background: white;
 74+ font-family: sans-serif;
 75+ overflow-x: hidden;
 76+ -webkit-text-size-adjust: none;
 77+}
9978
10079 p, li, dl, #featured_article {
101 - line-height: 1.65; }
 80+ line-height: 1.65;
 81+}
10282
10383 pre {
104 - white-space: pre-wrap; }
 84+ white-space: pre-wrap;
 85+}
10586
10687 h2 {
107 - border-bottom: 1px solid #aaaaaa;
108 - padding-top: 0.3em; }
 88+ border-bottom: 1px solid #aaaaaa;
 89+ padding-top: 0.3em;
 90+}
10991
11092 a {
111 - text-decoration: none;
112 - color: #002bb8; }
113 - a:visited {
114 - color: #5a3696; }
115 - a:active {
116 - color: #faa700; }
117 - a:hover {
118 - text-decoration: underline; }
 93+ text-decoration: none;
 94+ color: #002bb8;
 95+}
11996
 97+a:visited {
 98+ color: #5a3696;
 99+}
 100+
 101+a:active {
 102+ color: #faa700;
 103+}
 104+
 105+a:hover {
 106+ text-decoration: underline;
 107+}
 108+
120109 a.new, a.new:visited, a.new:hover {
121 - color: red; }
 110+ color: red;
 111+}
122112
123113 a.back_to_top, a.back_to_top:visited {
124 - margin-top: 7px;
125 - color: blue; }
 114+ margin-top: 7px;
 115+ color: blue;
 116+}
126117
127118 .links {
128 - float: left;
129 - padding: 10px; }
 119+ float: left;
 120+ padding: 10px;
 121+}
130122
131123 #contentSub, .dablink {
132 - margin-bottom: 10px; }
 124+ margin-bottom: 10px;
 125+}
133126
134127 #firstHeading {
135 - font-size: 1.7em; }
 128+ font-size: 1.7em;
 129+}
136130
137131 h2 {
138 - font-size: 1.3em; }
 132+ font-size: 1.3em;
 133+}
139134
140135 .section_anchors a {
141 - display: block; }
 136+ display: block;
 137+}
142138
143139 .section_anchor {
144 - height: 1px;
145 - width: 1px; }
 140+ height: 1px;
 141+ width: 1px;
 142+}
146143
147144 .printonly, .geo-multi-punct, .geo-nondefault, .Z3988 {
148 - display: none; }
 145+ display: none;
 146+}
149147
150148 #featured_article .noprint, .today .noprint {
151 - display: none; }
 149+ display: none;
 150+}
152151
153152 .thumb {
154 - border: 1px solid #cccccc;
155 - -webkit-border-radius: 5px;
156 - -moz-border-radius: 5px;
157 - background: #f9f9f9;
158 - margin-bottom: 10px; }
159 - .thumb .thumbinner[style] {
160 - margin: 5px auto; }
161 - .thumb .thumbcaption {
162 - width: 100%;
163 - margin: 5px 10px 0;
164 - text-align: center;
165 - width: auto !important; }
 153+ border: 1px solid #cccccc;
 154+ -webkit-border-radius: 5px;
 155+ -moz-border-radius: 5px;
 156+ background: #f9f9f9;
 157+ margin-bottom: 10px;
 158+}
166159
 160+.thumb .thumbinner[style] {
 161+ margin: 5px auto;
 162+}
 163+
 164+.thumb .thumbcaption {
 165+ width: 100%;
 166+ margin: 5px 10px 0;
 167+ text-align: center;
 168+ width: auto !important;
 169+}
 170+
167171 img.thumbborder {
168 - border: 1px solid #cccccc; }
 172+ border: 1px solid #cccccc;
 173+}
169174
170175 .floatright {
171 - float: right; }
 176+ float: right;
 177+}
172178
173179 #content_wrapper.home h1#firstHeading {
174 - display: none; }
 180+ display: none;
 181+}
175182
176183 body {
177 - margin: 0; }
 184+ margin: 0;
 185+}
178186
179187 #header {
180 - margin: 8px 8px 0 8px; }
 188+ margin: 8px 8px 0 8px;
 189+}
181190
182191 #content_wrapper {
183 - clear: both;
184 - margin: 0 8px; }
 192+ clear: both;
 193+ margin: 0 8px;
 194+}
185195
186196 #footer {
187 - margin: 0 8px; }
 197+ margin: 0 8px;
 198+}
188199
189200 #header img, #header form, #header input, #header button {
190 - vertical-align: middle;
191 - display: inline-block; }
 201+ vertical-align: middle;
 202+ display: inline-block;
 203+}
192204
193205 #searchbox {
194 - width: auto;
195 - padding: 5px;
196 - border: 1px solid #cccccc;
197 - -webkit-border-radius: 2px;
198 - -moz-border-radius: 2px; }
199 - #searchbox a, #searchbox img {
200 - border: 0px;
201 - vertical-align: middle; }
202 - #searchbox #goButton {
203 - border: 0;
204 - background: url(images/s.gif) no-repeat top left;
205 - height: 25px;
206 - width: 27px; }
207 - #searchbox #searchField {
208 - width: auto; }
 206+ width: auto;
 207+ padding: 5px;
 208+ border: 1px solid #cccccc;
 209+ -webkit-border-radius: 2px;
 210+ -moz-border-radius: 2px;
 211+}
209212
 213+#searchbox a, #searchbox img {
 214+ border: 0px;
 215+ vertical-align: middle;
 216+}
 217+
 218+#searchbox #goButton {
 219+ border: 0;
 220+ background: url(images/s.gif) no-repeat top left;
 221+ height: 25px;
 222+ width: 27px;
 223+}
 224+
 225+#searchbox #searchField {
 226+ width: auto;
 227+}
 228+
210229 #nav {
211 - -webkit-border-radius: 2px;
212 - -moz-border-radius: 2px;
213 - clear: both;
214 - padding: 5px 0; }
215 - #nav form, #nav button {
216 - display: inline-block; }
217 - #nav button {
218 - background: url(images/buttonbg.gif) no-repeat center;
219 - border: 0;
220 - height: 23px;
221 - width: 83px; }
 230+ -webkit-border-radius: 2px;
 231+ -moz-border-radius: 2px;
 232+ clear: both;
 233+ padding: 5px 0;
 234+}
222235
 236+#nav form, #nav button {
 237+ display: inline-block;
 238+}
 239+
 240+#nav button {
 241+ background: url(images/buttonbg.gif) no-repeat center;
 242+ border: 0;
 243+ height: 23px;
 244+ width: 83px;
 245+}
 246+
223247 #disableButtons {
224 - text-align: center; }
225 - #disableButtons button {
226 - background: url(images/buttonbg.gif) no-repeat center;
227 - border: 0;
228 - height: 23px;
229 - width: 83px; }
230 - #disableButtons #backButton {
231 - margin-top: 5em; }
 248+ text-align: center;
 249+}
232250
 251+#disableButtons button {
 252+ background: url(images/buttonbg.gif) no-repeat center;
 253+ border: 0;
 254+ height: 23px;
 255+ width: 83px;
 256+}
 257+
 258+#disableButtons #backButton {
 259+ margin-top: 5em;
 260+}
 261+
233262 .mwm-notice {
234 - padding: 5px;
235 - background: #dddddd;
236 - -webkit-border-radius: 5px;
237 - margin-top: 5px;
238 - text-align: center;
239 - border: 1px solid grey; }
 263+ padding: 5px;
 264+ background: #dddddd;
 265+ -webkit-border-radius: 5px;
 266+ margin-top: 5px;
 267+ text-align: center;
 268+ border: 1px solid grey;
 269+}
240270
241271 .mwm-message.mwm-notice {
242 - font-size: 1.1em; }
 272+ font-size: 1.1em;
 273+}
243274
244275 #image_wrapper {
245 - margin: 8px 0 8px -3px; }
 276+ margin: 8px 0 8px -3px;
 277+}
246278
247279 #footer {
248 - padding-top: 1em; }
249 - #footer #perm {
250 - padding-top: 2em;
251 - font-size: 90%; }
252 - #footer #copyright {
253 - padding: 1em 0;
254 - font-size: 80%; }
 280+ padding-top: 1em;
 281+}
255282
 283+#footer #perm {
 284+ padding-top: 2em;
 285+ font-size: 90%;
 286+}
 287+
 288+#footer #copyright {
 289+ padding: 1em 0;
 290+ font-size: 80%;
 291+}
 292+
256293 ol.references > li:target,
257294 sup.reference:target,
258295 span.citation:target, cite:target {
259 - background-color: #ddeeff; }
 296+ background-color: #ddeeff;
 297+}
260298
261299 .content_block,
262300 .section_anchors,
263301 button.section_heading.hide {
264 - display: none; }
 302+ display: none;
 303+}
265304
266305 #search:focus {
267 - outline: none;
 306+ outline: none;
268307 }
269308
270 -#search {
271 - -webkit-appearance: none;
272 - border-top-width: 0px;
273 - border-right-width: 0px;
274 - border-bottom-width: 0px;
275 - border-left-width: 0px;
276 - outline-style: none;
277 - outline-width: initial;
278 - outline-color: initial;
279 - height: 1.4em;
280 -}
281 -
282 -.divclearable {
283 - border: 1px solid #888;
284 - display: -moz-inline-stack;
285 - display: inline-block;
286 - zoom:1;
287 - *display:inline;
288 - vertical-align:middle;
289 - height: 1.5em;
290 - position: relative;
291 -}
292 -
293 -.clearlink {
294 - background: url(images/close-button.png) no-repeat scroll 0 0 transparent;
295 - background-position: center center;
296 - cursor: pointer;
297 - zoom:1;
298 - position: absolute;
299 - right: 0.25em;
300 - top: 50%;
301 - margin: 1px;
302 - height: 12px;
303 - width: 12px;
304 - margin-top: -6px;
305 - z-index: 2;
306 - border: 0px solid;
307 - display: none;
308 -}
\ No newline at end of file
Index: branches/wmf/1.18wmf1/extensions/MobileFrontend/stylesheets/webkit.css
@@ -1,319 +1,320 @@
2 -table {
3 - border-spacing: 0 !important;
4 - width: 100%;
5 - border-collapse: collapse !important;
6 - border: 1px solid #cccccc;
7 - padding: 3px;
8 - margin-bottom: 15px; }
9 - table td, table th {
10 - border: 1px solid #cccccc;
11 - padding: 3px; }
12 - table table {
13 - border: 0; }
14 - table table td, table table th {
15 - border: 0; }
16 - table.toc {
17 - background: #f9f9f9; }
18 - table.toc h2 {
19 - border: 0;
20 - padding: 0;
21 - margin-top: 5px; }
22 - table.navbox {
23 - font-size: 0.9em;
24 - width: 100% !important; }
25 - table.navbox th.navbox-title {
26 - background: #ccccff;
27 - padding: 5px; }
28 - table.navbox td.navbox-abovebelow {
29 - padding: 3px; }
30 - table.navbox td.navbox-group {
31 - background: #ddddff;
32 - width: 25%;
33 - padding: 3px; }
34 - table.navbox td.navbox-group + td {
35 - padding: 3px; }
36 - table.navbox div[style*="padding"] {
37 - padding-left: 0 !important;
38 - padding-right: 0 !important; }
39 - table.navbox div[style*="padding"] a {
40 - white-space: pre-wrap; }
41 - table.navbox span[style*="white"] {
42 - white-space: pre-wrap !important; }
43 - table.navbox td, table.navbox th {
44 - padding: 0; }
45 - table.navbox table {
46 - margin-bottom: 0; }
47 - table.wikitable th {
48 - background: #f3f3f3; }
49 - table[style] {
50 - width: 100% !important;
51 - float: none !important;
52 - margin-left: 0 !important; }
53 - table.infobox {
54 - background: #f9f9f9; }
55 - table.infobox th, table.infobox td {
56 - border: 0; }
57 - table.infobox td[colspan="3"], table.infobox th[colspan="3"] {
58 - border: 1px solid #cccccc; }
59 - table.gallery {
60 - background: #f9f9f9;
61 - border-bottom: 0; }
62 - table.gallery th, table.gallery td {
63 - display: block;
64 - border: 0;
65 - border-bottom: 1px solid #cccccc; }
66 - table.gallery .gallerybox[style] {
67 - width: auto !important;
68 - margin-bottom: -16px; }
69 - table.gallery .thumb[style] {
70 - border: 0;
71 - padding: 0 !important;
72 - width: auto !important;
73 - margin: 0 auto; }
74 - table.gallery .gallerytext {
75 - margin-top: -12px;
76 - text-align: center; }
77 - table.geography[style] th {
78 - text-align: left; }
79 - table.geography[style] td[style*="text-align"], table.geography[style] td[colspan="2"] {
80 - text-align: left !important;
81 - margin-left: 0 !important;
82 - margin-right: 0 !important; }
83 - table.geography[style] td[style*="text-align"] div[style], table.geography[style] td[colspan="2"] div[style] {
84 - text-align: left !important; }
 2+table table {
 3+ border: 0;
 4+}
855
 6+table table td, table table th {
 7+ border: 0;
 8+}
 9+
 10+table.toc {
 11+ background: #f9f9f9;
 12+}
 13+
 14+table.navbox td.navbox-abovebelow {
 15+ padding: 3px;
 16+}
 17+
 18+table.navbox td.navbox-group + td {
 19+ padding: 3px;
 20+}
 21+
 22+table.navbox div[style*="padding"] a {
 23+ white-space: pre-wrap;
 24+}
 25+
 26+table.navbox span[style*="white"] {
 27+ white-space: pre-wrap !important;
 28+}
 29+
 30+table.navbox td, table.navbox th {
 31+ padding: 0;
 32+}
 33+
 34+table.navbox table {
 35+ margin-bottom: 0;
 36+}
 37+
 38+table.wikitable th {
 39+ background: #f3f3f3;
 40+}
 41+
 42+table.infobox {
 43+ background: #f9f9f9;
 44+}
 45+
 46+table.infobox th, table.infobox td {
 47+ border: 0;
 48+}
 49+
 50+table.infobox td[colspan="3"], table.infobox th[colspan="3"] {
 51+ border: 1px solid #cccccc;
 52+}
 53+
 54+table.geography[style] th {
 55+ text-align: left;
 56+}
 57+
 58+table.geography[style] td[style*="text-align"] div[style], table.geography[style] td[colspan="2"] div[style] {
 59+ text-align: left !important;
 60+}
 61+
8662 table.admin {
87 - width: 300px; }
 63+ width: 300px;
 64+}
8865
8966 html {
90 - font-size: 0.8em; }
 67+ font-size: 0.8em;
 68+}
9169
9270 body {
93 - line-height: 1;
94 - color: black;
95 - background: white;
96 - font-family: sans-serif;
97 - overflow-x: hidden;
98 - -webkit-text-size-adjust: none; }
 71+ line-height: 1;
 72+ color: black;
 73+ background: white;
 74+ font-family: sans-serif;
 75+ overflow-x: hidden;
 76+ -webkit-text-size-adjust: none;
 77+}
9978
10079 p, li, dl, #featured_article {
101 - line-height: 1.65; }
 80+ line-height: 1.65;
 81+}
10282
10383 pre {
104 - white-space: pre-wrap; }
 84+ white-space: pre-wrap;
 85+}
10586
10687 h2 {
107 - border-bottom: 1px solid #aaaaaa;
108 - padding-top: 0.3em; }
 88+ border-bottom: 1px solid #aaaaaa;
 89+ padding-top: 0.3em;
 90+}
10991
11092 a {
111 - text-decoration: none;
112 - color: #002bb8; }
113 - a:visited {
114 - color: #5a3696; }
115 - a:active {
116 - color: #faa700; }
117 - a:hover {
118 - text-decoration: underline; }
 93+ text-decoration: none;
 94+ color: #002bb8;
 95+}
11996
 97+a:visited {
 98+ color: #5a3696;
 99+}
 100+
 101+a:active {
 102+ color: #faa700;
 103+}
 104+
 105+a:hover {
 106+ text-decoration: underline;
 107+}
 108+
120109 a.new, a.new:visited, a.new:hover {
121 - color: red; }
 110+ color: red;
 111+}
122112
123113 a.back_to_top, a.back_to_top:visited {
124 - margin-top: 7px;
125 - color: blue; }
 114+ margin-top: 7px;
 115+ color: blue;
 116+}
126117
127118 .links {
128 - float: left;
129 - padding: 10px; }
 119+ float: left;
 120+ padding: 10px;
 121+}
130122
131123 #contentSub, .dablink {
132 - margin-bottom: 10px; }
 124+ margin-bottom: 10px;
 125+}
133126
134127 #firstHeading {
135 - font-size: 1.7em; }
 128+ font-size: 1.7em;
 129+}
136130
137131 h2 {
138 - font-size: 1.3em; }
 132+ font-size: 1.3em;
 133+}
139134
140135 .section_anchors a {
141 - display: block; }
 136+ display: block;
 137+}
142138
143139 .section_anchor {
144 - height: 1px;
145 - width: 1px; }
 140+ height: 1px;
 141+ width: 1px;
 142+}
146143
147144 .printonly, .geo-multi-punct, .geo-nondefault, .Z3988 {
148 - display: none; }
 145+ display: none;
 146+}
149147
150148 #featured_article .noprint, .today .noprint {
151 - display: none; }
 149+ display: none;
 150+}
152151
153152 .thumb {
154 - border: 1px solid #cccccc;
155 - -webkit-border-radius: 5px;
156 - -moz-border-radius: 5px;
157 - background: #f9f9f9;
158 - margin-bottom: 10px; }
159 - .thumb .thumbinner[style] {
160 - margin: 5px auto; }
161 - .thumb .thumbcaption {
162 - width: 100%;
163 - margin: 5px 10px 0;
164 - text-align: center;
165 - width: auto !important; }
 153+ border: 1px solid #cccccc;
 154+ -webkit-border-radius: 5px;
 155+ -moz-border-radius: 5px;
 156+ background: #f9f9f9;
 157+ margin-bottom: 10px;
 158+}
166159
 160+.thumb .thumbinner[style] {
 161+ margin: 5px auto;
 162+}
 163+
 164+.thumb .thumbcaption {
 165+ width: 100%;
 166+ margin: 5px 10px 0;
 167+ text-align: center;
 168+ width: auto !important;
 169+}
 170+
167171 img.thumbborder {
168 - border: 1px solid #cccccc; }
 172+ border: 1px solid #cccccc;
 173+}
169174
170175 .floatright {
171 - float: right; }
 176+ float: right;
 177+}
172178
173179 #content_wrapper.home h1#firstHeading {
174 - display: none; }
 180+ display: none;
 181+}
175182
176183 body {
177 - margin: 0; }
 184+ margin: 0;
 185+}
178186
179187 #header {
180 - margin: 8px 8px 0 8px; }
 188+ margin: 8px 8px 0 8px;
 189+}
181190
182191 #content_wrapper {
183 - clear: both;
184 - margin: 0 8px; }
 192+ clear: both;
 193+ margin: 0 8px;
 194+}
185195
186196 #footer {
187 - margin: 0 8px; }
 197+ margin: 0 8px;
 198+}
188199
189200 #header img, #header form, #header input, #header button {
190 - vertical-align: middle;
191 - display: inline-block; }
 201+ vertical-align: middle;
 202+ display: inline-block;
 203+}
192204
193205 #searchbox {
194 - width: auto;
195 - padding: 5px;
196 - border: 1px solid #cccccc;
197 - -webkit-border-radius: 2px;
198 - -moz-border-radius: 2px; }
199 - #searchbox a, #searchbox img {
200 - border: 0px;
201 - vertical-align: middle; }
202 - #searchbox #goButton {
203 - border: 0;
204 - background: url(images/s.gif) no-repeat top left;
205 - height: 25px;
206 - width: 27px; }
207 - #searchbox #searchField {
208 - width: auto; }
 206+ width: auto;
 207+ padding: 5px;
 208+ border: 1px solid #cccccc;
 209+ -webkit-border-radius: 2px;
 210+ -moz-border-radius: 2px;
 211+}
209212
 213+#searchbox a, #searchbox img {
 214+ border: 0px;
 215+ vertical-align: middle;
 216+}
 217+
 218+#searchbox #goButton {
 219+ border: 0;
 220+ background: url(images/s.gif) no-repeat top left;
 221+ height: 25px;
 222+ width: 27px;
 223+}
 224+
 225+#searchbox #searchField {
 226+ width: auto;
 227+}
 228+
210229 #nav {
211 - -webkit-border-radius: 2px;
212 - -moz-border-radius: 2px;
213 - clear: both;
214 - padding: 5px 0; }
215 - #nav form, #nav button {
216 - display: inline-block; }
217 - #nav button {
218 - background: url(images/buttonbg.gif) no-repeat center;
219 - border: 0;
220 - height: 23px;
221 - width: 83px; }
 230+ -webkit-border-radius: 2px;
 231+ -moz-border-radius: 2px;
 232+ clear: both;
 233+ padding: 5px 0;
 234+}
222235
 236+#nav form, #nav button {
 237+ display: inline-block;
 238+}
 239+
 240+#nav button {
 241+ background: url(images/buttonbg.gif) no-repeat center;
 242+ border: 0;
 243+ height: 23px;
 244+ width: 83px;
 245+}
 246+
223247 #disableButtons {
224 - text-align: center; }
225 - #disableButtons button {
226 - background: url(images/buttonbg.gif) no-repeat center;
227 - border: 0;
228 - height: 23px;
229 - width: 83px; }
230 - #disableButtons #backButton {
231 - margin-top: 5em; }
 248+ text-align: center;
 249+}
232250
 251+#disableButtons button {
 252+ background: url(images/buttonbg.gif) no-repeat center;
 253+ border: 0;
 254+ height: 23px;
 255+ width: 83px;
 256+}
 257+
 258+#disableButtons #backButton {
 259+ margin-top: 5em;
 260+}
 261+
233262 .mwm-notice {
234 - padding: 5px;
235 - background: #dddddd;
236 - -webkit-border-radius: 5px;
237 - margin-top: 5px;
238 - text-align: center;
239 - border: 1px solid grey; }
 263+ padding: 5px;
 264+ background: #dddddd;
 265+ -webkit-border-radius: 5px;
 266+ margin-top: 5px;
 267+ text-align: center;
 268+ border: 1px solid grey;
 269+}
240270
241271 .mwm-message.mwm-notice {
242 - font-size: 1.1em; }
 272+ font-size: 1.1em;
 273+}
243274
244275 #image_wrapper {
245 - margin: 8px 0 8px -3px; }
 276+ margin: 8px 0 8px -3px;
 277+}
246278
247279 #footer {
248 - padding-top: 1em; }
249 - #footer #perm {
250 - padding-top: 2em;
251 - font-size: 90%; }
252 - #footer #copyright {
253 - padding: 1em 0;
254 - font-size: 80%; }
 280+ padding-top: 1em;
 281+}
255282
 283+#footer #perm {
 284+ padding-top: 2em;
 285+ font-size: 90%;
 286+}
 287+
 288+#footer #copyright {
 289+ padding: 1em 0;
 290+ font-size: 80%;
 291+}
 292+
256293 ol.references > li:target,
257294 sup.reference:target,
258295 span.citation:target, cite:target {
259 - background-color: #ddeeff; }
 296+ background-color: #ddeeff;
 297+}
260298
261299 .content_block,
262300 .section_anchors,
263301 button.section_heading.hide {
264 - display: none; }
 302+ display: none;
 303+}
265304
266305 #clearButton {
267 - display: none; }
 306+ display: none;
 307+}
268308
269309 #nav {
270 - display: none;
271 - width: 172px;
272 - border: 1px solid #cccccc;
273 - border-top: 0px;
274 - margin: -1px 0 0 0;
275 - background: white;
276 - padding: 0 5px 5px 5px; }
 310+ display: none;
 311+ width: 172px;
 312+ border: 1px solid #cccccc;
 313+ border-top: 0px;
 314+ margin: -1px 0 0 0;
 315+ background: white;
 316+ padding: 0 5px 5px 5px;
 317+}
277318
278319 #search:focus {
279 - outline: none;
 320+ outline: none;
280321 }
281 -
282 -#search {
283 - -webkit-appearance: none;
284 - border-top-width: 0px;
285 - border-right-width: 0px;
286 - border-bottom-width: 0px;
287 - border-left-width: 0px;
288 - outline-style: none;
289 - outline-width: initial;
290 - outline-color: initial;
291 - height: 1.4em;
292 -}
293 -
294 -.divclearable {
295 - border: 1px solid #888;
296 - display: -moz-inline-stack;
297 - display: inline-block;
298 - zoom:1;
299 - *display:inline;
300 - vertical-align:middle;
301 - height: 1.5em;
302 - position: relative;
303 -}
304 -
305 -.clearlink {
306 - background: url(images/close-button.png) no-repeat scroll 0 0 transparent;
307 - background-position: center center;
308 - cursor: pointer;
309 - zoom:1;
310 - position: absolute;
311 - right: 0.25em;
312 - top: 50%;
313 - margin: 1px;
314 - height: 12px;
315 - width: 12px;
316 - margin-top: -6px;
317 - z-index: 2;
318 - border: 0px solid;
319 - display: none;
320 -}
Index: branches/wmf/1.18wmf1/extensions/MobileFrontend/MobileFrontend.php
@@ -68,8 +68,9 @@
6969 $wgHooks['TestCanonicalRedirect'][] = array( &$wgExtMobileFrontend, 'testCanonicalRedirect' );
7070
7171 /**
72 - * Make the classes stripped from page content configurable. Each item will
73 - * be stripped from the page. See $itemsToRemove for more info
 72+ * Make the classes, tags and ids stripped from page content configurable.
 73+ * Each item will be stripped from the page.
 74+ * See $itemsToRemove for more information.
7475 */
7576 $wgMFRemovableClasses = array();
7677
@@ -87,7 +88,7 @@
8889 }
8990
9091 class ExtMobileFrontend {
91 - const VERSION = '0.5.78';
 92+ const VERSION = '0.5.88';
9293
9394 /**
9495 * @var DOMDocument
@@ -129,6 +130,8 @@
130131 public static $hideSearchBox = false;
131132 public static $hideLogo = false;
132133 public static $languageUrls;
 134+ public static $wsLoginToken = '';
 135+ public static $wsLoginFormAction = '';
133136
134137 public static $messageKeys = array(
135138 'mobile-frontend-show-button',
@@ -170,23 +173,26 @@
171174 'mobile-frontend-leave-feedback-thanks',
172175 'mobile-frontend-search-submit',
173176 'mobile-frontend-language',
 177+ 'mobile-frontend-username',
 178+ 'mobile-frontend-password',
 179+ 'mobile-frontend-login',
174180 );
175181
176182 public $itemsToRemove = array(
177 - '#contentSub', # redirection notice
178 - 'div.messagebox', # cleanup data
179 - '#siteNotice', # site notice
180 - '#siteSub', # "From Wikipedia..."
181 - '#jump-to-nav', # jump-to-nav
182 - 'div.editsection', # edit blocks
183 - 'div.infobox', # Infoboxes in the article
184 - 'table.toc', # table of contents
185 - '#catlinks', # category links
186 - 'div.stub', # stub warnings
 183+ '#contentSub',
 184+ 'div.messagebox',
 185+ '#siteNotice',
 186+ '#siteSub',
 187+ '#jump-to-nav',
 188+ 'div.editsection',
 189+ 'div.infobox',
 190+ 'table.toc',
 191+ '#catlinks',
 192+ 'div.stub',
187193 'form',
188194 'div.sister-project',
189195 'script',
190 - 'div.magnify', # magnify object
 196+ 'div.magnify',
191197 '.editsection',
192198 'span.t',
193199 'sup[style*="help"]',
@@ -255,7 +261,8 @@
256262 }
257263 $fragmentDelimiter = ( !empty( $parsedUrl['fragment'] ) ) ? '#' : '';
258264 $queryDelimiter = ( !empty( $parsedUrl['query'] ) ) ? '?' : '';
259 - $targetUrl = $parsedUrl['scheme'] . '://' . $parsedUrl['host'] . $parsedUrl['path'] . $queryDelimiter . $parsedUrl['query'] . $fragmentDelimiter . $parsedUrl['fragment'];
 265+ $targetUrl = $parsedUrl['scheme'] . '://' . $parsedUrl['host'] . $parsedUrl['path']
 266+ . $queryDelimiter . $parsedUrl['query'] . $fragmentDelimiter . $parsedUrl['fragment'];
260267 $output->setSquidMaxage( 1200 );
261268 $output->redirect( $targetUrl, '301' );
262269 }
@@ -293,8 +300,10 @@
294301 * @return string
295302 */
296303 private function removeQueryStringParameter( $url, $field ) {
 304+ wfProfileIn( __METHOD__ );
297305 $url = preg_replace( '/(.*)(\?|&)' . $field . '=[^&]+?(&)(.*)/i', '$1$2$4', $url . '&' );
298306 $url = substr( $url, 0, -1 );
 307+ wfProfileOut( __METHOD__ );
299308 return $url;
300309 }
301310
@@ -335,9 +344,9 @@
336345
337346 self::$dir = $wgContLang->getDir();
338347 self::$code = $wgContLang->getCode();
339 -
 348+
340349 $languageUrls = array();
341 -
 350+
342351 $languageUrls[] = array(
343352 'href' => self::$currentURL,
344353 'text' => self::$htmlTitle,
@@ -345,12 +354,12 @@
346355 'class' => 'interwiki-' . $wgLanguageCode,
347356 'lang' => $wgLanguageCode,
348357 );
349 -
350 - foreach( $wgOut->getLanguageLinks() as $l ) {
 358+
 359+ foreach( $wgOut->getLanguageLinks() as $l ) {
351360 $tmp = explode( ':', $l, 2 );
352361 $class = 'interwiki-' . $tmp[0];
353362 $lang = $tmp[0];
354 - unset( $tmp );
 363+ unset( $tmp );
355364 $nt = Title::newFromText( $l );
356365 if ( $nt ) {
357366 $parsedUrl = wfParseUrl( $nt->getFullURL() );
@@ -360,11 +369,17 @@
361370 }
362371 $fragmentDelimiter = ( isset( $parsedUrl['fragment'] ) && $parsedUrl['fragment'] !== null ) ? '#' : '';
363372 $queryDelimiter = ( isset( $parsedUrl['query'] ) && $parsedUrl['query'] !== null ) ? '?' : '';
364 - $languageUrl = $parsedUrl['scheme'] . $parsedUrl['delimiter'] . $parsedUrl['host'] . $parsedUrl['path'] . $queryDelimiter . $parsedUrl['query'] . $fragmentDelimiter . $parsedUrl['fragment'];
365373
 374+ $languageUrl = $parsedUrl['scheme'] . $parsedUrl['delimiter'] . $parsedUrl['host'] . $parsedUrl['path'];
 375+ if ( isset( $parsedUrl['query'] ) ) {
 376+ $languageUrl .= $queryDelimiter . $parsedUrl['query'] . $fragmentDelimiter . $parsedUrl['fragment'];
 377+ }
 378+
366379 $languageUrls[] = array(
367380 'href' => $languageUrl,
368 - 'text' => ( $wgContLang->getLanguageName( $nt->getInterwiki() ) != '' ? $wgContLang->getLanguageName( $nt->getInterwiki() ) : $l ),
 381+ 'text' => ( $wgContLang->getLanguageName( $nt->getInterwiki() ) != ''
 382+ ? $wgContLang->getLanguageName( $nt->getInterwiki() )
 383+ : $l ),
369384 'language' => $wgContLang->getLanguageName( $lang ),
370385 'class' => $class,
371386 'lang' => $lang,
@@ -375,11 +390,14 @@
376391 self::$languageUrls = $languageUrls;
377392
378393 $nonMobileServerBaseURL = str_replace( $wgMobileDomain, '.', $wgServer );
379 - self::$mobileRedirectFormAction = ( $wgMobileRedirectFormAction !== false ) ? $wgMobileRedirectFormAction : "{$nonMobileServerBaseURL}/w/mobileRedirect.php";
 394+ self::$mobileRedirectFormAction = ( $wgMobileRedirectFormAction !== false )
 395+ ? $wgMobileRedirectFormAction
 396+ : "{$nonMobileServerBaseURL}/w/mobileRedirect.php";
380397
381398 self::$mainPageUrl = Title::newMainPage()->getLocalUrl();
382399 self::$randomPageUrl = $this->getRelativeURL( SpecialPage::getTitleFor( 'Randompage' )->getLocalUrl() );
383400 wfProfileOut( __METHOD__ );
 401+ return true;
384402 }
385403
386404 /**
@@ -390,15 +408,7 @@
391409 public function beforePageDisplayHTML( &$out, &$text ) {
392410 global $wgContLang, $wgRequest, $wgMemc, $wgUser;
393411 wfProfileIn( __METHOD__ );
394 - // The title
395 - self::$title = $out->getTitle();
396412
397 - if ( Title::newMainPage()->equals( self::$title ) ) {
398 - self::$isMainPage = true;
399 - }
400 -
401 - self::$htmlTitle = $out->getHTMLTitle();
402 -
403413 $userAgent = $_SERVER['HTTP_USER_AGENT'];
404414 $uAmd5 = md5( $userAgent );
405415
@@ -418,176 +428,169 @@
419429 $props = $device->getAllCapabilities();
420430 $wgMemc->set( $key, $props, 86400 );
421431 } else {
422 - $wgMemc->set( $key, "generic", 86400 );
423 - $props = "generic";
 432+ $wgMemc->set( $key, 'generic', 86400 );
 433+ $props = 'generic';
424434 }
425435 }
426436 } catch ( Exception $e ) {
427437 // echo $e->getMessage();
428438 }
429 -
 439+
430440 // Note: The WebRequest Class calls are made in this block because
431441 // since PHP 5.1.x, all objects have their destructors called
432442 // before the output buffer callback function executes.
433443 // Thus, globalized objects will not be available as expected in the function.
434444 // This is stated to be intended behavior, as per the following: [http://bugs.php.net/bug.php?id=40104]
435 -
 445+
 446+ $xDevice = !empty( $_SERVER['HTTP_X_DEVICE'] ) ? $_SERVER['HTTP_X_DEVICE'] : '';
 447+ self::$useFormat = $wgRequest->getText( 'useformat' );
436448 $mobileAction = $wgRequest->getText( 'mobileaction' );
437449 $action = $wgRequest->getText( 'action' );
438 - self::$disableImages = $wgRequest->getText( 'disableImages', 0 );
439 - self::$enableImages = $wgRequest->getText( 'enableImages', 0 );
440 - self::$displayNoticeId = $wgRequest->getText( 'noticeid', '' );
441450
442 - if ( self::$disableImages == 1 ) {
443 - $wgRequest->response()->setcookie( 'disableImages', 1 );
444 - $location = str_replace( '?disableImages=1', '', str_replace( '&disableImages=1', '', $wgRequest->getFullRequestURL() ) );
445 - $location = str_replace( '&mfi=1', '', str_replace( '&mfi=0', '', $location ) );
446 - $location = $this->getRelativeURL( $location );
447 - $wgRequest->response()->header( 'Location: ' . $location . '&mfi=0' );
448 - }
 451+ if ( self::$useFormat === 'mobile' ||
 452+ self::$useFormat === 'mobile-wap' ||
 453+ !empty( $xDevice ) ) {
 454+ if ( $action !== 'edit' &&
 455+ $mobileAction !== 'view_normal_site' ) {
449456
450 - if ( self::$disableImages == 0 ) {
451 - $disableImages = $wgRequest->getCookie( 'disableImages' );
452 - if ( $disableImages ) {
453 - self::$disableImages = $disableImages;
454 - }
455 - }
 457+ self::$title = $out->getTitle();
456458
457 - if ( self::$enableImages == 1 ) {
458 - $disableImages = $wgRequest->getCookie( 'disableImages' );
459 - if ( $disableImages ) {
460 - $wgRequest->response()->setcookie( 'disableImages', '' );
461 - }
462 - $location = str_replace( '?enableImages=1', '', str_replace( '&enableImages=1', '', $wgRequest->getFullRequestURL() ) );
463 - $location = str_replace( '&mfi=1', '', str_replace( '&mfi=0', '', $location ) );
464 - $location = $this->getRelativeURL( $location );
465 - $wgRequest->response()->header( 'Location: ' . $location . '&mfi=1' );
466 - }
 459+ if ( Title::newMainPage()->equals( self::$title ) ) {
 460+ self::$isMainPage = true;
 461+ }
467462
468 - self::$useFormat = $wgRequest->getText( 'useformat' );
469 - self::$format = $wgRequest->getText( 'format' );
470 - self::$requestedSegment = $wgRequest->getText( 'seg', 0 );
471 - self::$search = $wgRequest->getText( 'search' );
472 - self::$callback = $wgRequest->getText( 'callback' );
473 - self::$searchField = $wgRequest->getText( 'search', '' );
 463+ self::$htmlTitle = $out->getHTMLTitle();
 464+ self::$disableImages = $wgRequest->getText( 'disableImages', 0 );
 465+ self::$enableImages = $wgRequest->getText( 'enableImages', 0 );
 466+ self::$displayNoticeId = $wgRequest->getText( 'noticeid', '' );
474467
475 - $xDevice = isset( $_SERVER['HTTP_X_DEVICE'] ) ? $_SERVER['HTTP_X_DEVICE'] : '';
 468+ if ( self::$disableImages == 1 ) {
 469+ $wgRequest->response()->setcookie( 'disableImages', 1 );
 470+ $location = str_replace( '?disableImages=1', '', str_replace( '&disableImages=1', '', $wgRequest->getFullRequestURL() ) );
 471+ $location = str_replace( '&mfi=1', '', str_replace( '&mfi=0', '', $location ) );
 472+ $location = $this->getRelativeURL( $location );
 473+ $wgRequest->response()->header( 'Location: ' . $location . '&mfi=0' );
 474+ }
476475
477 - $acceptHeader = isset( $_SERVER["HTTP_ACCEPT"] ) ? $_SERVER["HTTP_ACCEPT"] : '';
478 - $device = new DeviceDetection();
 476+ if ( self::$disableImages == 0 ) {
 477+ $disableImages = $wgRequest->getCookie( 'disableImages' );
 478+ if ( $disableImages ) {
 479+ self::$disableImages = $disableImages;
 480+ }
 481+ }
479482
480 - if ( !empty( $xDevice ) ) {
481 - $formatName = $xDevice;
482 - } else {
483 - $formatName = $device->formatName( $userAgent, $acceptHeader );
484 - }
 483+ if ( self::$enableImages == 1 ) {
 484+ $disableImages = $wgRequest->getCookie( 'disableImages' );
 485+ if ( $disableImages ) {
 486+ $wgRequest->response()->setcookie( 'disableImages', '' );
 487+ }
 488+ $location = str_replace( '?enableImages=1', '', str_replace( '&enableImages=1', '', $wgRequest->getFullRequestURL() ) );
 489+ $location = str_replace( '&mfi=1', '', str_replace( '&mfi=0', '', $location ) );
 490+ $location = $this->getRelativeURL( $location );
 491+ $wgRequest->response()->header( 'Location: ' . $location . '&mfi=1' );
 492+ }
485493
486 - self::$device = $device->format( $formatName );
 494+ self::$format = $wgRequest->getText( 'format' );
 495+ self::$callback = $wgRequest->getText( 'callback' );
 496+ self::$requestedSegment = $wgRequest->getText( 'seg', 0 );
 497+ self::$search = $wgRequest->getText( 'search' );
 498+ self::$searchField = $wgRequest->getText( 'search', '' );
487499
488 - if ( self::$device['view_format'] === 'wml' ) {
489 - $this->contentFormat = 'WML';
490 - } elseif ( self::$device['view_format'] === 'html' ) {
491 - $this->contentFormat = 'XHTML';
492 - }
 500+ $acceptHeader = !empty( $_SERVER["HTTP_ACCEPT"] ) ? $_SERVER["HTTP_ACCEPT"] : '';
 501+ $device = new DeviceDetection();
493502
494 - if ( self::$useFormat === 'mobile-wap' ) {
495 - $this->contentFormat = 'WML';
496 - }
 503+ if ( !empty( $xDevice ) ) {
 504+ $formatName = $xDevice;
 505+ } else {
 506+ $formatName = $device->formatName( $userAgent, $acceptHeader );
 507+ }
497508
498 - if ( $mobileAction == 'leave_feedback' ) {
499 - echo $this->renderLeaveFeedbackXHTML();
500 - wfProfileOut( __METHOD__ );
501 - exit();
502 - }
 509+ self::$device = $device->format( $formatName );
503510
504 - if ( $mobileAction == 'leave_feedback_post' ) {
 511+ if ( self::$device['view_format'] === 'wml' ) {
 512+ $this->contentFormat = 'WML';
 513+ } elseif ( self::$device['view_format'] === 'html' ) {
 514+ $this->contentFormat = 'XHTML';
 515+ }
505516
506 - $this->getMsg();
 517+ if ( self::$useFormat === 'mobile-wap' ) {
 518+ $this->contentFormat = 'WML';
 519+ }
507520
508 - $subject = $wgRequest->getText( 'subject', '' );
509 - $message = $wgRequest->getText( 'message', '' );
510 - $token = $wgRequest->getText( 'edittoken', '' );
 521+ if ( $mobileAction == 'leave_feedback' ) {
 522+ echo $this->renderLeaveFeedbackXHTML();
 523+ wfProfileOut( __METHOD__ );
 524+ exit();
 525+ }
511526
512 - $title = Title::newFromText( self::$messages['mobile-frontend-feedback-page'] );
 527+ if ( $mobileAction == 'leave_feedback_post' ) {
513528
514 - if ( $title->userCan( 'edit' ) &&
515 - !$wgUser->isBlockedFrom( $title ) &&
516 - $wgUser->matchEditToken( $token ) ) {
517 - $article = new Article( $title, 0 );
518 - $rawtext = $article->getRawText();
519 - $rawtext .= "\n== {$subject} == \n {$message} ~~~~ \n <small>User agent: {$userAgent}</small> ";
520 - $article->doEdit( $rawtext, '' );
521 - }
 529+ $this->getMsg();
522530
523 - $location = str_replace( '&mobileaction=leave_feedback_post', '', $wgRequest->getFullRequestURL() . '&noticeid=1&useformat=mobile' );
524 - $location = $this->getRelativeURL( $location );
525 - $wgRequest->response()->header( 'Location: ' . $location );
526 - wfProfileOut( __METHOD__ );
527 - exit();
528 - }
 531+ $subject = $wgRequest->getText( 'subject', '' );
 532+ $message = $wgRequest->getText( 'message', '' );
 533+ $token = $wgRequest->getText( 'edittoken', '' );
529534
530 - if ( $mobileAction == 'disable_mobile_site' && $this->contentFormat == 'XHTML' ) {
531 - echo $this->renderDisableMobileSiteXHTML();
532 - wfProfileOut( __METHOD__ );
533 - exit();
534 - }
 535+ $title = Title::newFromText( self::$messages['mobile-frontend-feedback-page'] );
535536
536 - if ( $mobileAction == 'opt_in_mobile_site' && $this->contentFormat == 'XHTML' ) {
537 - echo $this->renderOptInMobileSiteXHTML();
538 - wfProfileOut( __METHOD__ );
539 - exit();
540 - }
 537+ if ( $title->userCan( 'edit' ) &&
 538+ !$wgUser->isBlockedFrom( $title ) &&
 539+ $wgUser->matchEditToken( $token ) ) {
 540+ $article = new Article( $title, 0 );
 541+ $rawtext = $article->getRawText();
 542+ $rawtext .= "\n== {$subject} == \n {$message} ~~~~ \n <small>User agent: {$userAgent}</small> ";
 543+ $article->doEdit( $rawtext, '' );
 544+ }
541545
542 - if ( $mobileAction == 'opt_out_mobile_site' && $this->contentFormat == 'XHTML' ) {
543 - echo $this->renderOptOutMobileSiteXHTML();
544 - wfProfileOut( __METHOD__ );
545 - exit();
546 - }
 546+ $location = str_replace( '&mobileaction=leave_feedback_post', '', $wgRequest->getFullRequestURL() . '&noticeid=1&useformat=mobile' );
 547+ $location = $this->getRelativeURL( $location );
 548+ $wgRequest->response()->header( 'Location: ' . $location );
 549+ wfProfileOut( __METHOD__ );
 550+ exit();
 551+ }
547552
548 - if ( $mobileAction == 'opt_in_cookie' ) {
549 - $this->setOptInOutCookie( '1' );
550 - $this->disableCaching();
551 - $location = wfExpandUrl( Title::newMainPage()->getFullURL(), PROTO_CURRENT );
552 - $wgRequest->response()->header( 'Location: ' . $location );
553 - }
 553+ if ( $mobileAction == 'disable_mobile_site' && $this->contentFormat == 'XHTML' ) {
 554+ echo $this->renderDisableMobileSiteXHTML();
 555+ wfProfileOut( __METHOD__ );
 556+ exit();
 557+ }
554558
555 - if ( $mobileAction == 'opt_out_cookie' ) {
556 - $this->setOptInOutCookie( '' );
557 - }
 559+ if ( $mobileAction == 'opt_in_mobile_site' && $this->contentFormat == 'XHTML' ) {
 560+ echo $this->renderOptInMobileSiteXHTML();
 561+ wfProfileOut( __METHOD__ );
 562+ exit();
 563+ }
558564
559 - // WURFL documentation: http://wurfl.sourceforge.net/help_doc.php
560 - // Determine the kind of markup
561 - //if ( is_array( $props ) && isset( $props['preferred_markup'] ) && $props['preferred_markup'] ) {
562 - // wfDebug( __METHOD__ . ": preferred markup for this device: " . $props['preferred_markup'] );
563 - // xhtml/html: html_web_3_2, html_web_4_0
564 - // xthml basic/xhtmlmp (wap 2.0): html_wi_w3_xhtmlbasic html_wi_oma_xhtmlmp_1_0
565 - // chtml (imode): html_wi_imode_*
566 - // wml (wap 1): wml_1_1, wml_1_2, wml_1_3
567 - //}
568 - // WML options that might influence our 'style' of output
569 - // $props['access_key_support'] (for creating easy keypad navigation)
570 - // $props['softkey_support'] ( for creating your own menu)
 565+ if ( $mobileAction == 'opt_out_mobile_site' && $this->contentFormat == 'XHTML' ) {
 566+ echo $this->renderOptOutMobileSiteXHTML();
 567+ wfProfileOut( __METHOD__ );
 568+ exit();
 569+ }
571570
572 - // WAP2/XHTML MP
573 - // xhtmlmp_preferred_mime_type ( the mime type with which you should serve your xhtml to this device
 571+ if ( $mobileAction == 'opt_in_cookie' ) {
 572+ $this->setOptInOutCookie( '1' );
 573+ $this->disableCaching();
 574+ $location = wfExpandUrl( Title::newMainPage()->getFullURL(), PROTO_CURRENT );
 575+ $wgRequest->response()->header( 'Location: ' . $location );
 576+ }
574577
575 - // HTML
576 - // $props['pointing_method'] == touchscreen
577 - // ajax_support_javascript
578 - // html_preferred_dtd
 578+ if ( $mobileAction == 'opt_out_cookie' ) {
 579+ $this->setOptInOutCookie( '' );
 580+ }
579581
580 - // Determine
581 -
582 - if ( self::$useFormat === 'mobile' ||
583 - self::$useFormat === 'mobile-wap' ||
584 - !empty( $xDevice ) ) {
585 - if ( $action !== 'edit' &&
586 - $mobileAction !== 'view_normal_site' ) {
587582 $this->getMsg();
588583 $this->disableCaching();
589584 $this->sendXDeviceVaryHeader();
590585 $this->sendApplicationVersionVaryHeader();
591586 $this->checkUserStatus();
 587+
 588+ if ( self::$title == 'Special:UserLogin' && self::$isBetaGroupMember ) {
 589+ self::$wsLoginToken = $wgRequest->getSessionData( 'wsLoginToken' );
 590+ $returnToVal = $wgRequest->getVal( 'returnto' );
 591+ $returnto = ( !empty( $returnToVal ) ) ? '&returnto=' . wfUrlencode( $returnToVal ) : '';
 592+ self::$wsLoginFormAction = self::$title->getLocalURL( 'action=submitlogin&type=login' . $returnto );
 593+ }
 594+
592595 $this->setDefaultLogo();
593596 ob_start( array( $this, 'DOMParse' ) );
594597 }
@@ -614,6 +617,7 @@
615618 self::$isBetaGroupMember = true;
616619 }
617620 wfProfileOut( __METHOD__ );
 621+ return true;
618622 }
619623
620624 /**
@@ -630,6 +634,7 @@
631635 $wgCookieDomain = $tempWgCookieDomain;
632636 $wgCookiePrefix = $tempWgCookiePrefix;
633637 wfProfileOut( __METHOD__ );
 638+ return true;
634639 }
635640
636641 private function getOptInOutCookie() {
@@ -665,10 +670,10 @@
666671 wfProfileIn( __METHOD__ );
667672 $parsedUrl = parse_url( $url );
668673 // Validates value as IP address
669 - if ( !IP::isValid( $parsedUrl['host'] ) ) {
670 - wfProfileOut( __METHOD__ );
 674+ if ( !empty( $parsedUrl['host'] ) && !IP::isValid( $parsedUrl['host'] ) ) {
671675 $baseUrl = $parsedUrl['scheme'] . '://' . $parsedUrl['host'];
672676 $baseUrl = str_replace( $baseUrl, '', $url );
 677+ wfProfileOut( __METHOD__ );
673678 return $baseUrl;
674679 }
675680 wfProfileOut( __METHOD__ );
@@ -685,6 +690,7 @@
686691 $wgRequest->response()->header( 'Pragma: no-cache' );
687692 }
688693 wfProfileOut( __METHOD__ );
 694+ return true;
689695 }
690696
691697 private function sendXDeviceVaryHeader() {
@@ -696,6 +702,7 @@
697703 }
698704 $wgOut->addVaryHeader( 'Cookie' );
699705 wfProfileOut( __METHOD__ );
 706+ return true;
700707 }
701708
702709 private function sendApplicationVersionVaryHeader() {
@@ -714,6 +721,7 @@
715722 }
716723 }
717724 wfProfileOut( __METHOD__ );
 725+ return true;
718726 }
719727
720728 /**
@@ -1005,6 +1013,7 @@
10061014
10071015 /**
10081016 * @param $html string
 1017+ * @return string
10091018 */
10101019 public function DOMParseMainPage( $html ) {
10111020 wfProfileIn( __METHOD__ );
@@ -1028,7 +1037,7 @@
10291038 $commonAttributes = array( 'mp-tfa', 'mp-itn' );
10301039
10311040 $content = $this->mainPage->createElement( 'div' );
1032 - $content->setAttribute( 'id', 'main_box' );
 1041+ $content->setAttribute( 'id', 'content' );
10331042
10341043 if ( $featuredArticle ) {
10351044 $h2FeaturedArticle = $this->mainPage->createElement( 'h2', self::$messages['mobile-frontend-featured-article'] );
@@ -1063,7 +1072,91 @@
10641073 }
10651074
10661075 /**
 1076+ * @return DomElement
 1077+ */
 1078+ public function renderLogin() {
 1079+ wfProfileIn( __METHOD__ );
 1080+ $form = Html::openElement( 'form',
 1081+ array( 'name' => 'userlogin',
 1082+ 'method' => 'post',
 1083+ 'action' => self::$wsLoginFormAction ) ) .
 1084+ Html::openElement( 'table',
 1085+ array( 'class' => 'user-login' ) ) .
 1086+ Html::openElement( 'tbody' ) .
 1087+ Html::openElement( 'tr' ) .
 1088+ Html::openElement( 'td',
 1089+ array( 'class' => 'mw-label' ) ) .
 1090+ Html::element( 'label',
 1091+ array( 'for' => 'wpName1' ), self::$messages['mobile-frontend-username'] ) .
 1092+ Html::closeElement( 'td' ) .
 1093+ Html::closeElement( 'tr' ) .
 1094+ Html::openElement( 'tr' ) .
 1095+ Html::openElement( 'td' ) .
 1096+ Html::input( 'wpName', null, 'text',
 1097+ array( 'class' => 'loginText',
 1098+ 'id' => 'wpName1',
 1099+ 'tabindex' => '1',
 1100+ 'size' => '20',
 1101+ 'required') ) .
 1102+ Html::closeElement( 'td' ) .
 1103+ Html::closeElement( 'tr' ) .
 1104+ Html::openElement( 'tr' ) .
 1105+ Html::openElement( 'td',
 1106+ array( 'class' => 'mw-label' ) ) .
 1107+ Html::element( 'label',
 1108+ array( 'for' => 'wpPassword1' ), self::$messages['mobile-frontend-password'] ) .
 1109+ Html::closeElement( 'td' ) .
 1110+ Html::closeElement( 'tr' ) .
 1111+ Html::openElement( 'tr' ) .
 1112+ Html::openElement( 'td',
 1113+ array( 'class' => 'mw-input' ) ) .
 1114+ Html::input( 'wpPassword', null, 'password',
 1115+ array( 'class' => 'loginPassword',
 1116+ 'id' => 'wpPassword1',
 1117+ 'tabindex' => '2',
 1118+ 'size' => '20') ) .
 1119+ Html::closeElement( 'td' ) .
 1120+ Html::closeElement( 'tr' ) .
 1121+ Html::openElement( 'tr' ) .
 1122+ Html::element( 'td' ) .
 1123+ Html::closeElement( 'tr' ) .
 1124+ Html::openElement( 'tr' ) .
 1125+ Html::openElement( 'td',
 1126+ array( 'class' => 'mw-submit' ) ) .
 1127+ Html::input( 'wpLoginAttempt', self::$messages['mobile-frontend-login'], 'submit',
 1128+ array( 'id' => 'wpLoginAttempt',
 1129+ 'tabindex' => '3') ) .
 1130+ Html::closeElement( 'td' ) .
 1131+ Html::closeElement( 'tr' ) .
 1132+ Html::closeElement( 'tbody' ) .
 1133+ Html::closeElement( 'table' ) .
 1134+ Html::input( 'wpLoginToken', self::$wsLoginToken, 'hidden' ) .
 1135+ Html::closeElement( 'form' );
 1136+ wfProfileOut( __METHOD__ );
 1137+ return $this->getDomDocumentNodeByTagName( $form, 'form' );
 1138+ }
 1139+
 1140+ /**
10671141 * @param $html string
 1142+ * @param $tagName string
 1143+ * @return DomElement
 1144+ */
 1145+ private function getDomDocumentNodeByTagName( $html, $tagName ) {
 1146+ wfProfileIn( __METHOD__ );
 1147+ libxml_use_internal_errors( true );
 1148+ $dom = new DOMDocument();
 1149+ $dom->loadHTML( $html );
 1150+ libxml_use_internal_errors( false );
 1151+ $dom->preserveWhiteSpace = false;
 1152+ $dom->strictErrorChecking = false;
 1153+ $dom->encoding = 'UTF-8';
 1154+ $node = $dom->getElementsByTagName( $tagName )->item(0);
 1155+ wfProfileOut( __METHOD__ );
 1156+ return $node;
 1157+ }
 1158+
 1159+ /**
 1160+ * @param $html string
10681161 * @return string
10691162 */
10701163 public function DOMParse( $html ) {
@@ -1080,6 +1173,24 @@
10811174
10821175 $itemToRemoveRecords = $this->parseItemsToRemove();
10831176
 1177+ $ptLogout = $this->doc->getElementById( 'pt-logout' );
 1178+
 1179+ if ( $ptLogout ) {
 1180+ $ptLogoutLink = $ptLogout->firstChild;
 1181+ $logoutHtml = $this->doc->saveXML( $ptLogoutLink, LIBXML_NOEMPTYTAG );
 1182+ }
 1183+
 1184+ if ( self::$title == 'Special:UserLogin' && self::$isBetaGroupMember ) {
 1185+ $userlogin = $this->doc->getElementById( 'userloginForm' );
 1186+
 1187+ if ( !empty( $userlogin ) && get_class($userlogin) === 'DOMElement' ) {
 1188+ $firstHeading = $this->doc->getElementById( 'firstHeading' );
 1189+ if ( !empty( $firstHeading ) ) {
 1190+ $firstHeading->nodeValue = '';
 1191+ }
 1192+ }
 1193+ }
 1194+
10841195 // Tags
10851196
10861197 // You can't remove DOMNodes from a DOMNodeList as you're iterating
@@ -1161,6 +1272,15 @@
11621273
11631274 $redLink->parentNode->replaceChild( $spanNode, $redLink );
11641275 }
 1276+
 1277+ if ( self::$title == 'Special:UserLogin' && self::$isBetaGroupMember ) {
 1278+ if ( !empty( $userlogin ) && get_class($userlogin) === 'DOMElement' ) {
 1279+ $login = $this->renderLogin();
 1280+ $loginNode = $this->doc->importNode( $login, true );
 1281+ $userlogin->appendChild( $loginNode );
 1282+ }
 1283+ }
 1284+
11651285 $content = $this->doc->getElementById( 'content' );
11661286
11671287 $contentHtml = $this->doc->saveXML( $content, LIBXML_NOEMPTYTAG );
@@ -1243,17 +1363,18 @@
12441364 wfProfileOut( __METHOD__ );
12451365 return $applicationHtml;
12461366 }
1247 -
 1367+
12481368 public static function buildLanguageSelection() {
12491369 global $wgLanguageCode;
1250 - $output = Html::openElement( 'select',
1251 - array( 'id' => 'languageselection',
 1370+ wfProfileIn( __METHOD__ );
 1371+ $output = Html::openElement( 'select',
 1372+ array( 'id' => 'languageselection',
12521373 'onchange' => 'javascript:navigateToLanguageSelection();' ) );
12531374 foreach (self::$languageUrls as $languageUrl) {
12541375 if ( $languageUrl['lang'] == $wgLanguageCode ) {
12551376 $output .= Html::element( 'option',
12561377 array( 'value' => $languageUrl['href'], 'selected' => 'selected' ),
1257 - $languageUrl['language'] );
 1378+ $languageUrl['language'] );
12581379 } else {
12591380 $output .= Html::element( 'option',
12601381 array( 'value' => $languageUrl['href'] ),
@@ -1261,6 +1382,7 @@
12621383 }
12631384 }
12641385 $output .= Html::closeElement( 'select', array() );
 1386+ wfProfileOut( __METHOD__ );
12651387 return $output;
12661388 }
12671389
Index: branches/wmf/1.18wmf1/extensions/MobileFrontend/views/notices/_donate.html.php
@@ -1,9 +1,9 @@
22 <?php
33
44 $donateHtml = <<<EOT
5 - <div class='mwm-message mwm-notice'>
6 - Text WIKI to <a href="sms:25383">25383</a> to donate $10.
7 - <br />
8 - <a href='http://wikimediafoundation.org/wiki/Mobile_Giving'>Msg & Data Rates May Apply</a>
9 - </div>
 5+ <div class='mwm-message mwm-notice'>
 6+ Text WIKI to <a href="sms:25383">25383</a> to donate $10.
 7+ <br />
 8+ <a href='http://wikimediafoundation.org/wiki/Mobile_Giving'>Msg & Data Rates May Apply</a>
 9+ </div>
1010 EOT;
Index: branches/wmf/1.18wmf1/extensions/MobileFrontend/views/notices/notice_1.html.php
@@ -3,7 +3,7 @@
44 $thanks = self::$messages['mobile-frontend-leave-feedback-thanks'];
55
66 $noticeHtml = <<<EOT
7 - <div class='mwm-message mwm-notice'>
8 - {$thanks}
9 - </div>
 7+ <div class='mwm-message mwm-notice'>
 8+ {$thanks}
 9+ </div>
1010 EOT;
Index: branches/wmf/1.18wmf1/extensions/MobileFrontend/views/information/disable.html.php
@@ -1,7 +1,7 @@
22 <?php
33
44 $currentURL = self::$currentURL;
5 -$currentURL = str_replace('&mobileaction=disable_mobile_site', '', $currentURL);
 5+$currentURL = str_replace( '&mobileaction=disable_mobile_site', '', $currentURL );
66 $mobileRedirectFormAction = self::$mobileRedirectFormAction;
77
88 $disableHtml = <<<EOT
Index: branches/wmf/1.18wmf1/extensions/MobileFrontend/views/layout/_search_webkit.html.php
@@ -21,6 +21,7 @@
2222 $logoOnClick = ( self::$device['supports_javascript'] ) ? 'onclick="javascript:logoClick();"' : '';
2323
2424 $searchWebkitHtml = <<<EOD
 25+ {$openSearchResults}
2526 <div id='header'>
2627 <div id='searchbox' {$logoDisplayNone}>
2728 <img width="35" height="22" alt='Logo' id='logo' src='{$wgMobileFrontendLogo}' {$logoOnClick} {$logoDisplayNone} />
@@ -32,7 +33,6 @@
3334 </div>
3435 <button id='goButton' type='submit'></button>
3536 </form>
36 - {$openSearchResults}
3737 </div>
3838 <div class='nav' id='nav' {$logoDisplayNone}>
3939 {$languageSelectionDiv}
Index: branches/wmf/1.18wmf1/extensions/MobileFrontend/views/layout/_footmenu_default.html.php
@@ -19,13 +19,15 @@
2020 $imagesURL = self::$enableImagesURL;
2121 }
2222
 23+$logoutLink = ( !empty( $logoutHtml ) ) ? ' | ' . $logoutHtml : '';
 24+
2325 $feedbackLink = ( self::$code == 'en' && self::$isBetaGroupMember ) ? "| <a href=\"{$leaveFeedbackURL}\">{$leaveFeedback}</a>" : '';
2426
2527 $footerHtml = <<<EOD
2628 <div id='footer'>
2729 <div class='nav' id='footmenu'>
2830 <div class='mwm-notice'>
29 - <a href="{$viewNormalSiteURL}">{$regularSite}</a> | <a href="{$imagesURL}">{$imagesToggle}</a> {$feedbackLink}
 31+ <a href="{$viewNormalSiteURL}">{$regularSite}</a> | <a href="{$imagesURL}">{$imagesToggle}</a> {$feedbackLink} {$logoutLink}
3032 <div id="perm">
3133 <a href="{$disableMobileSiteURL}">{$permStopRedirect}</a>
3234 </div>
Index: branches/wmf/1.18wmf1/extensions/MobileFrontend/views/layout/application.html.php
@@ -10,6 +10,8 @@
1111 $appleTouchIconTag = "";
1212 }
1313
 14+$betaPrefix = ( self::$isBetaGroupMember ) ? 'beta_' : '';
 15+
1416 $noticeHtml = empty( $noticeHtml ) ? '' : $noticeHtml;
1517
1618 $cssFileName = ( isset( self::$device['css_file_name'] ) ) ? self::$device['css_file_name'] : 'default';
@@ -18,7 +20,7 @@
1921 $endScriptTag = '"></script>';
2022 $javaScriptPath = $wgExtensionAssetsPath . '/MobileFrontend/javascripts/';
2123
22 -$openSearchScript = $startScriptTag . $javaScriptPath . 'opensearch.js?version=11082011124437' . $endScriptTag;
 24+$openSearchScript = $startScriptTag . $javaScriptPath . $betaPrefix . 'opensearch.js?version=11082011124437' . $endScriptTag;
2325
2426 $applicationHtml = <<<EOT
2527 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
@@ -27,7 +29,7 @@
2830 <head>
2931 <title>{$htmlTitle}</title>
3032 <meta http-equiv="content-type" content="application/xhtml+xml; charset=utf-8" />
31 - <link href='{$wgExtensionAssetsPath}/MobileFrontend/stylesheets/common.css?version=11082011120834' media='all' rel='Stylesheet' type='text/css' />
 33+ <link href='{$wgExtensionAssetsPath}/MobileFrontend/stylesheets/{$betaPrefix}common.css?version=11082011120834' media='all' rel='Stylesheet' type='text/css' />
3234 <link href='{$wgExtensionAssetsPath}/MobileFrontend/stylesheets/{$cssFileName}.css?version=10202011120715' media='all' rel='Stylesheet' type='text/css' />
3335 <meta name="ROBOTS" content="NOINDEX, NOFOLLOW" />
3436 <meta name = "viewport" content = "width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />
@@ -49,7 +51,7 @@
5052 {$contentHtml}
5153 </div>
5254 {$footerHtml}
53 - {$startScriptTag}{$javaScriptPath}application.js?version=11042011120715{$endScriptTag}
 55+ {$startScriptTag}{$javaScriptPath}{$betaPrefix}application.js?version=11042011120715{$endScriptTag}
5456 {$openSearchScript}
5557 </body>
5658 </html>

Past revisions this follows-up on

RevisionCommit summaryAuthorDate
r93767Do r93697 change properly, to avoid loose-typing problems if this ends up get...aaron16:33, 2 August 2011
r104893fix full screen resultspreilly20:26, 1 December 2011

Status & tagging log