mahout-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From rawkintr...@apache.org
Subject [10/51] [partial] mahout git commit: New Website courtesy of startbootstrap.com
Date Sat, 02 Dec 2017 06:08:54 GMT
http://git-wip-us.apache.org/repos/asf/mahout/blob/ec5eb314/website-old/oldsite/images/Mahout-logo-transparent.svg
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/Mahout-logo-transparent.svg b/website-old/oldsite/images/Mahout-logo-transparent.svg
new file mode 100644
index 0000000..cbb289a
--- /dev/null
+++ b/website-old/oldsite/images/Mahout-logo-transparent.svg
@@ -0,0 +1,181 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://web.resource.org/cc/"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2225"
+   sodipodi:version="0.32"
+   inkscape:version="0.45.1"
+   width="294"
+   height="312"
+   version="1.0"
+   sodipodi:docbase="D:\Grafika\mahout\final\public-for-JIRA"
+   sodipodi:docname="Mahout-logo-transparent.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   inkscape:export-filename="D:\Grafika\mahout\final\Mahout-logo-100.png"
+   inkscape:export-xdpi="49.298431"
+   inkscape:export-ydpi="49.298431">
+  <metadata
+     id="metadata2230">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title>Mahout</dc:title>
+        <dc:creator>
+          <cc:Agent>
+            <dc:title>Lukas Vlcek</dc:title>
+          </cc:Agent>
+        </dc:creator>
+        <cc:license
+           rdf:resource="" />
+        <dc:description>Mahout project logo</dc:description>
+        <dc:date>2008-05-24</dc:date>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs2228">
+    <linearGradient
+       id="linearGradient30064">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop30066" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop30068" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient21032">
+      <stop
+         style="stop-color:#9d9e3a;stop-opacity:1;"
+         offset="0"
+         id="stop21034" />
+      <stop
+         style="stop-color:#9c9e3a;stop-opacity:0;"
+         offset="1"
+         id="stop21036" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient30064"
+       id="radialGradient33970"
+       cx="-70.286964"
+       cy="166.3316"
+       fx="-70.286964"
+       fy="166.3316"
+       r="19.129021"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient30064"
+       id="radialGradient35919"
+       gradientUnits="userSpaceOnUse"
+       cx="-70.286964"
+       cy="166.3316"
+       fx="-70.286964"
+       fy="166.3316"
+       r="19.129021" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient30064"
+       id="radialGradient35945"
+       gradientUnits="userSpaceOnUse"
+       cx="-70.286964"
+       cy="166.3316"
+       fx="-70.286964"
+       fy="166.3316"
+       r="19.129021" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient30064"
+       id="radialGradient35964"
+       gradientUnits="userSpaceOnUse"
+       cx="-70.286964"
+       cy="166.3316"
+       fx="-70.286964"
+       fy="166.3316"
+       r="19.129021" />
+  </defs>
+  <sodipodi:namedview
+     inkscape:window-height="808"
+     inkscape:window-width="1152"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="1.311968"
+     inkscape:cx="158.65698"
+     inkscape:cy="141.15206"
+     inkscape:window-x="0"
+     inkscape:window-y="22"
+     inkscape:current-layer="layer4"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     inkscape:document-units="pt" />
+  <g
+     inkscape:groupmode="layer"
+     id="layer4"
+     inkscape:label="mahout"
+     style="display:inline"
+     sodipodi:insensitive="true">
+    <path
+       style="fill:#1ba80d;fill-opacity:1;stroke:none;display:inline"
+       d="M 77.40625,72.59375 L 77.40625,226.21875 L 226.5625,226.21875 L 226.5625,72.59375 L 165.15625,72.59375 C 164.2189,74.5667 162.64503,76.388975 160.625,77.53125 C 159.95855,77.90811 159.28355,78.185347 158.625,78.375 C 161.39507,79.479504 162.39376,82.428313 163.15625,85.875 C 163.27242,86.40011 163.44264,86.864433 163.59375,87.3125 C 163.81231,87.377354 164.03738,87.432231 164.25,87.5 C 172.3817,90.091881 177.30055,95.094291 180,99.8125 C 181.34972,102.17159 183.52996,107.4115 184.34375,115.71875 C 183.38073,116.10186 183.60939,115.65206 182.5625,116.09375 C 182.06714,113.69299 181.3988,111.20714 180.59375,108.71875 C 179.72643,106.03787 178.36074,103.50474 176.34375,101.8125 C 174.34807,100.13812 169.99813,97.836997 165.375,98.5 C 160.73566,99.165319 157.32289,102.45697 155.4375,103.96875 C 152.75785,102.52728 148.7698,101.32631 144.5,101.34375 C 140.26387,101.36105 135.89719,102.74329 132.15625,106.6875 C 128.4153,110.63171 127.24375,115.71876 127.65625,119.1875 C 119.805
 06,120.97905 111.48048,123.01148 103.09375,124.09375 C 103.18111,121.55848 102.91319,119.92077 103.6875,116.0625 C 96.89135,115.65003 89.945401,110.62168 89.53125,103.40625 C 88.544582,99.905933 84.92959,91.922102 91.09375,91.46875 C 97.460092,93.098551 92.071546,99.020532 92.40625,103.375 C 93.24008,108.91176 98.116102,112.7081 104.6875,112.21875 C 105.95812,108.18755 108.86,103.37526 112.3125,99.21875 C 115.63596,95.217576 122.26453,90.904468 133,87.65625 C 137.04021,86.433809 141.36238,85.773059 145.625,85.53125 C 147.60561,82.553596 150.50339,79.044734 154.15625,78.125 C 152.91078,77.538902 151.94209,76.497252 151.5,75 C 151.27388,74.234165 151.22059,73.425907 151.28125,72.59375 L 77.40625,72.59375 z M 167.59375,102.65625 C 168.14216,102.66363 168.77694,102.70381 169.46875,102.78125 C 171.21789,102.97705 173.15016,103.47634 174.78125,104.78125 C 176.039,105.78747 177.14941,107.60953 178.21875,110.4375 C 179.28809,113.26548 180.10353,117.49235 180.8125,119.40625 C 182.67103,118.8
 4662 186.96243,117.30072 191.15625,115.90625 C 195.35701,114.50948 198.58961,113.47546 201.1875,112.875 C 203.78538,112.27454 207.25105,111.60366 209.71875,112.34375 C 212.1822,113.08256 213.66191,115.40769 214,118.3125 C 214.33808,121.19689 214.1436,126.23192 212.6875,131.1875 C 211.2416,136.1201 210.34702,137.92009 208.8125,141.125 C 207.33269,144.21568 205.40021,147.28817 202.5,150.78125 C 199.76972,154.06483 196.51361,157.86075 194.40625,158.5 C 193.49638,157.21165 191.6623,155.61539 189.15625,154.4375 C 186.6502,153.2596 183.46505,152.45304 181.625,152.15625 C 181.44257,148.74614 183.50942,145.84258 184.03125,144.1875 C 184.55789,142.51719 185.03823,140.45353 185.03125,139 C 185.02426,137.42648 185.06342,135.21928 184.75,133.96875 C 184.43356,132.7062 184.29679,132.7093 183.8125,132.125 C 183.75651,132.05744 183.25338,130.88786 182.375,131.03125 C 181.47671,131.17788 181.42824,132.21537 181.375,134.34375 C 181.33258,136.03909 181.07741,138.80557 180.1875,142.1875 C 179.30955,14
 5.52404 177.82357,148.7852 177.71875,150.59375 C 177.61298,152.41856 177.50831,155.52099 178.90625,159 C 180.27098,162.39638 183.06559,164.10928 182.375,172.8125 C 182.16355,175.47733 180.71315,177.72914 180,180.28125 C 179.46634,182.19097 178.65612,185.49094 178.75,185.46875 C 178.68685,185.4575 176.6312,185.06274 175.875,185.03125 C 174.60825,184.97846 173.20252,184.72945 171.875,185.03125 C 170.54094,185.33454 169.81361,185.55782 169.09375,186.40625 C 168.37511,187.25324 168.26317,189.30968 168.9375,190.15625 C 169.59979,190.98658 170.09129,191.31334 171.28125,191.375 C 172.22684,191.424 173.16988,190.97866 174.125,190.71875 C 175.12355,190.44702 176.50893,190.12114 177.5,190.375 C 178.49464,190.62977 179.53383,191.62329 179.40625,192.59375 C 179.28332,193.52874 179.08114,194.05501 178.0625,194.9375 C 177.05911,195.80677 176.30026,196.07027 175.375,196.3125 C 174.41364,196.56418 173.34042,196.68495 172.5,197.125 C 171.652,197.56901 170.80664,198.25404 170.75,199.4375 C 170.69543,
 200.57772 170.74209,201.64615 171.6875,202.0625 C 172.60327,202.46579 173.40279,202.30106 174.3125,201.9375 C 175.20976,201.57891 176.96292,200.50374 177.84375,199.9375 C 178.72539,199.37073 180.31025,198.30131 181.4375,198.1875 C 182.58036,198.07211 183.56584,198.66522 183.6875,199.9375 C 183.75834,200.67836 183.65731,201.02747 182.9375,201.71875 C 182.29484,202.33593 181.18153,203.10826 180.75,203.84375 C 180.31846,204.57924 179.74439,205.60835 179.9375,206.875 C 180.1306,208.14165 180.61558,208.35332 181.40625,208.75 C 182.18879,209.1426 182.99869,209.10748 183.71875,208.71875 C 184.44439,208.327 185.42915,206.8938 185.9375,205.09375 C 186.44862,203.28389 186.66506,201.70713 186.625,200.6875 C 187.11557,200.59279 187.69205,200.52459 187.875,200.5 C 188.81511,200.37361 195.05918,200.36402 196.5625,200.25 C 196.11015,198.10346 195.98648,195.84146 196.40625,194.8125 C 196.91417,193.56747 198.00651,192.24605 199.40625,191.71875 C 201.07229,191.09114 204.07887,191.21135 205.34375,192.
 40625 C 206.62525,193.61685 207.48073,195.15092 207,197.21875 C 206.52161,199.27658 204.77535,201.99153 204.5,202.03125 C 204.6124,202.11579 208.02172,205.03966 208.5625,207.6875 C 209.10174,210.32781 208.52259,212.99112 207.5,213.9375 C 206.3414,215.00973 205.25394,215.64176 203.65625,215.6875 C 202.54502,215.71931 201.02045,215.59195 199.96875,214.34375 C 199.00373,213.19842 199.08803,210.80184 199.125,209.125 C 198.53744,208.89545 197.78439,208.75585 197,208.71875 C 195.57709,208.65146 193.30347,210.05041 191.21875,211.15625 C 189.11673,212.27125 184.88485,214.47471 183.03125,214.9375 C 179.56083,215.80397 176.20878,215.29087 173.65625,214.59375 C 171.1323,213.90444 168.62048,212.23374 166.28125,209.96875 C 163.93181,207.69385 161.92748,204.75027 160.78125,200.75 C 159.65969,196.83584 159.5,193.70405 159.5,190.53125 C 159.5,187.78441 159.23687,181.77323 158.8125,179 C 158.38416,176.20082 157.10895,173.72361 156.25,172.03125 C 155.4151,170.38628 154.51826,168.83231 154.125,166.968
 75 C 153.80789,165.46609 153.49599,163.98767 153.59375,162.4375 C 153.68715,160.95654 153.84821,158.66331 153.875,157.875 C 152.3977,157.18865 149.07687,155.55107 146.875,153.65625 C 144.66727,151.75639 143.98655,150.80076 142.71875,148.34375 C 141.44159,145.86861 141.06844,143.58903 140.3125,142.53125 C 139.55655,141.47345 138.70456,139.38294 137.875,140.6875 C 136.99881,142.06539 136.54196,143.34132 136.5,145.15625 C 136.45552,147.08014 136.69519,149.23023 137.6875,150.9375 C 138.6798,152.64476 140.48164,155.5016 143,157.78125 C 142.35193,159.20573 141.87902,160.42848 141.4375,161.75 C 140.90401,163.34678 140.30937,165.16709 139.40625,166.8125 C 137.24669,167.1939 134.22342,167.4316 130.1875,167.53125 C 126.15158,167.63091 121.15979,167.2789 116.03125,165.84375 C 110.89602,164.40674 106.52742,160.35244 103.34375,156.09375 C 100.17724,151.85803 98.603378,147.9655 97.59375,143.25 C 96.59876,138.60286 96.576258,132.9207 97.875,130.90625 C 99.16777,128.90105 101.39574,128.27703 103.21
 875,127.90625 C 105.9794,127.34476 114.3908,125.74546 119.5,124.6875 C 124.58058,123.63547 133.17549,122.28308 133.09375,122.125 C 132.70774,121.37836 132.08991,119.72571 131.90625,116.9375 C 131.53823,111.35011 134.86652,108.29942 136.46875,107.40625 C 138.42548,106.31546 142.24561,104.97531 145.125,104.875 C 147.83641,104.78054 149.61487,105.07826 151.34375,105.75 C 152.82769,106.32657 154.14153,107.35407 156,108.75 C 157.48215,107.14572 161.61012,103.95068 163.6875,103.28125 C 164.87114,102.89982 165.94852,102.63412 167.59375,102.65625 z M 171.90625,130.96875 C 171.04926,131.06434 170.31919,131.74591 170.09375,133.25 C 169.71585,135.7712 168.6093,140.25736 171.125,140.3125 C 171.77653,140.32678 172.45158,139.45341 172.78125,138.40625 C 173.09407,137.41259 173.36013,136.5807 173.5,135.53125 C 173.72163,133.86851 173.52473,131.65664 172.28125,130.96875 C 172.1548,130.95947 172.02868,130.95509 171.90625,130.96875 z M 154.21875,133.71875 C 154.07385,133.70924 153.9323,133.72508 153.7
 5,133.75 C 152.37686,134.27082 152.43456,136.66253 152.53125,138.03125 C 152.62469,139.35412 152.55012,141.41399 153.375,142.53125 C 153.62672,142.87219 154.12238,144.01225 155.28125,143.6875 C 156.10077,143.45785 156.44348,142.54375 156.5625,141.59375 C 156.68424,140.62206 156.74999,139.72658 156.75,138.71875 C 156.75,137.83864 155.97648,135.08529 155.40625,134.4375 C 154.97857,133.95166 154.65345,133.74728 154.21875,133.71875 z M 183.53125,156.8125 C 184.28627,156.82907 185.2454,157.12871 186.3125,157.5625 C 188.08385,158.28257 189.66221,159.60958 191.1875,161.59375 C 192.70417,163.5667 195.17009,167.35637 196.375,169.5 C 197.57991,171.64363 199.24482,175.79484 198.9375,175.625 C 198.53943,175.40501 194.00796,174.4211 192.21875,173.5 C 190.4457,172.58723 187.81929,170.2045 185.6875,168.59375 C 185.56368,166.4194 185.12034,165.20063 184.53125,163.40625 C 183.94213,161.61174 183.02247,160.84235 182.5625,159.3125 C 182.31627,158.49358 182.42519,157.66823 182.40625,157.125 C 182.69913
 ,156.89123 183.07824,156.80256 183.53125,156.8125 z M 100.375,158.40625 C 100.394,158.41552 100.41667,158.45103 100.4375,158.5 C 101.24148,158.97375 101.85633,159.69029 102.4375,160.40625 C 103.31286,161.63692 104.47029,162.63153 105.59375,163.625 C 107.93542,165.96824 110.81554,167.71062 113.90625,168.875 C 115.49939,169.63771 120.27397,170.12248 121.5625,170.03125 C 122.04663,171.51354 122.09074,173.01444 122.25,174.78125 C 122.41223,176.58098 121.98875,177.72595 121.375,178.8125 C 120.76125,179.89906 119.68409,180.56268 118.21875,181.09375 C 116.73537,181.63137 114.21496,182.04216 111.28125,182.0625 C 108.33733,182.08285 104.92996,181.48944 103.09375,180.46875 C 101.23326,179.43455 100.80273,177.73775 100.1875,175.5 C 99.90466,173.57644 99.779169,170.13132 99.90625,166.15625 C 100.02465,162.45277 100.08993,158.26716 100.375,158.40625 z M 146.125,160.5 C 147.58024,160.97799 149.00537,161.61991 150.21875,162.5625 C 151.12245,163.32573 151.16884,164.44089 150.875,165.5 C 150.67286,1
 67.60065 151.19131,169.61642 151.1875,171.71875 C 151.01717,173.17869 149.15797,176.73698 147.375,179.46875 C 145.58446,182.21212 143.62608,184.03046 141.75,185.46875 C 140.82371,182.96325 140.58835,179.32229 140.65625,177.5625 C 140.72413,175.77718 141.51888,171.36936 142.375,168.75 C 143.23435,166.12078 145.15041,161.77895 146.125,160.5 z M 185.84375,171.96875 C 187.37647,173.60813 188.1882,175.23152 189.1875,177.9375 C 190.19353,180.66168 191.08347,182.52778 191.59375,185.59375 C 192.10802,188.68374 192.40802,190.43878 192.3125,192.71875 C 192.27986,193.48916 191.85983,194.12057 191.1875,194.53125 C 190.65209,194.85829 189.20489,195.50628 187.34375,195.65625 C 186.76641,195.70312 183.73414,195.86863 183.25,195.28125 C 182.53958,194.41935 182.26091,191.45116 182.21875,190.28125 C 182.17944,189.19018 182.70105,185.8287 182.9375,184.46875 C 183.18127,183.06671 183.82885,180.89469 184.6875,178.875 C 185.4919,176.98294 186.0185,172.49016 185.84375,171.96875 z M 131.96875,172.71875 L 1
 37.65625,173 C 137.41769,174.29624 136.75268,177.79112 137.3125,181.6875 C 137.87202,185.58182 139.3425,188.34209 141.125,190.84375 C 143.86187,189.17076 146.46081,186.99501 148.53125,184.4375 C 150.59363,181.88994 152.89761,178.32191 154.125,174.4375 C 154.44957,177.22811 155.21181,182.76697 155.34375,186.5625 C 155.4761,190.36988 155.69673,193.16595 155.65625,194.90625 C 155.61576,196.65678 155.54988,199.90182 154.125,201 C 152.70011,202.09818 151.59116,202.40379 149.4375,203.1875 C 147.28385,203.97121 143.48891,204.37543 140.53125,204.4375 C 137.33939,204.50433 133.78221,203.90907 131.6875,202.625 C 129.59279,201.34093 129.01759,198.87612 128.65625,195.25 C 128.29472,191.62192 128.53907,188.07084 129.21875,184.1875 C 129.89842,180.30416 130.50947,176.07763 131.96875,172.71875 z "
+       id="rect9147"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <path
+       style="fill:#ff35cc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline"
+       d="M 143.68503,105.19188 C 149.25201,108.27272 155.88122,112.10404 162.18614,122.02177 C 164.59259,114.81381 164.55464,106.20425 167.7937,102.17679 C 162.97025,102.85026 160.22988,103.91305 157.55824,107.22102 C 154.02025,105.11791 147.82861,103.36472 143.68503,105.19188 z "
+       id="path5254"
+       sodipodi:nodetypes="ccccc"
+       inkscape:export-filename="D:\Grafika\mahout\final\public\rect9147.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <path
+       transform="scale(0.9931536,1.0068936)"
+       style="font-size:23.15151978px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#005300;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:ReservoirGrunge"
+       d="M 77.779074,244.81677 L 78.080055,245.11775 C 78.959446,245.11775 79.399142,245.11775 79.399143,245.11775 L 80.718938,245.14107 C 82.416957,245.14107 83.752058,245.0869 84.724247,244.97856 L 84.863433,244.81677 C 84.971289,242.00762 85.025221,240.27121 85.025228,239.60754 L 85.025228,236.87539 C 85.025221,236.24282 85.117776,235.27818 85.302894,233.98145 L 85.44208,233.98145 C 85.581023,234.16704 85.696658,234.42186 85.788986,234.74591 C 85.943471,235.28618 86.020718,235.55631 86.020727,235.5563 L 89.076462,243.82127 C 89.323735,244.46939 89.586328,244.84739 89.864241,244.95525 C 89.910388,244.97079 90.419559,245.00164 91.391755,245.0478 C 92.302691,245.09444 92.935504,245.11775 93.290197,245.11775 C 93.92323,245.11775 94.586895,245.07136 95.281193,244.97856 C 95.512917,244.82407 95.705799,244.53086 95.85984,244.09894 L 98.75378,236.43593 C 98.831006,236.29699 98.931333,236.08856 99.054761,235.81065 C 99.224777,235.23979 99.34842,234.86933 99.425689,234.69928 C 99.641864,2
 34.23628 99.857826,233.94307 100.07357,233.81966 C 100.07355,234.03587 100.09675,234.35616 100.14317,234.78053 C 100.18954,235.20493 100.21274,235.52523 100.21276,235.74141 C 100.21274,236.00378 100.16634,236.18889 100.07357,236.29674 C 100.07355,237.19216 100.07355,237.63986 100.07357,237.63985 C 100.07355,237.82497 100.06578,238.07956 100.05026,238.40361 C 100.05024,238.66598 100.05024,238.85109 100.05026,238.95894 C 100.05024,241.10444 100.1044,243.01065 100.21276,244.67758 L 100.49043,244.97856 L 106.71847,244.97856 C 106.99635,244.97856 107.18923,244.87824 107.29712,244.67758 C 107.29709,243.68986 107.32017,242.21981 107.36636,240.26743 C 107.41249,238.31507 107.43557,236.84502 107.4356,235.85728 C 107.43557,235.78005 107.46265,235.66041 107.51685,235.49837 C 107.57099,235.33635 107.59807,235.21671 107.5981,235.13945 L 107.5981,227.45313 C 107.59807,226.68115 107.30486,226.29515 106.71847,226.29513 L 102.50474,226.29513 C 101.62485,226.29515 99.510214,226.34932 96.160821,226.45
 763 L 95.85984,226.59611 C 95.582392,227.07468 95.38951,227.46068 95.281193,227.75411 C 95.003275,228.5412 94.586659,229.71427 94.031345,231.27333 C 93.336576,233.17155 92.842713,234.12065 92.549755,234.12064 C 92.441406,233.91999 92.294684,233.62679 92.109588,233.24101 L 89.933481,227.17546 C 89.763431,226.69693 89.570549,226.45765 89.354834,226.45763 C 89.045834,226.45765 88.586591,226.43057 87.977104,226.37638 C 87.367595,226.32223 86.908353,226.29515 86.599374,226.29513 C 86.800018,226.29515 84.924894,226.33377 80.973995,226.411 C 80.541597,226.41102 79.769833,226.42656 78.658702,226.45763 C 78.33464,226.47319 78.141758,226.56575 78.080055,226.7353 C 77.97172,226.99767 77.917553,227.62271 77.917554,228.61042 L 77.917554,235.99576 L 77.779074,236.29674 L 77.779074,244.81677 z M 108.35267,245.11775 C 111.71716,245.24116 113.71592,245.30286 114.34898,245.30286 C 114.93539,245.30286 115.35201,245.19476 115.59883,244.97856 C 115.89227,244.16041 116.17794,243.67432 116.45585,243.52029
  C 117.0578,243.52029 117.96451,243.49321 119.17598,243.43904 C 120.38743,243.38487 121.29414,243.35779 121.89612,243.35779 C 123.33177,243.35779 124.14215,243.45812 124.32728,243.65877 C 124.38897,243.76711 124.5663,244.04501 124.8593,244.49247 C 125.09102,244.86269 125.3303,245.07112 125.57713,245.11775 C 125.8861,245.11775 126.42636,245.12552 127.1979,245.14107 L 132.24464,245.27955 C 132.72317,245.27955 132.96244,245.12529 132.96247,244.81677 L 128.47107,234.12064 C 128.17807,233.47253 127.66113,232.26083 126.92024,230.48555 C 126.34887,229.06591 125.80862,227.86223 125.29946,226.87448 C 125.16049,226.5966 124.91345,226.45765 124.55831,226.45763 L 121.66437,226.43432 C 119.96681,226.41879 118.23064,226.47272 116.45585,226.59611 C 116.31689,226.73508 116.17794,226.8818 116.039,227.03628 L 108.35267,243.82127 C 108.16756,244.22258 108.07501,244.5311 108.07501,244.74682 L 108.07501,244.81677 C 108.12117,244.87847 108.21372,244.9788 108.35267,245.11775 L 108.35267,245.11775 z M 118.
 47016,238.12595 C 118.47015,237.75526 118.67834,237.01435 119.09473,235.90321 C 119.54266,234.69929 119.89781,234.09733 120.16018,234.09732 C 120.34527,234.09733 120.69241,234.68387 121.2016,235.85693 C 121.71076,237.03001 121.96534,237.77858 121.96536,238.10263 C 121.96534,238.33438 121.54095,238.45779 120.69219,238.47285 C 121.41755,238.45779 120.90838,238.45025 119.16468,238.45024 C 119.11803,238.45025 119.04067,238.4579 118.93258,238.47321 C 118.82447,238.48852 118.74734,238.49617 118.70119,238.49617 C 118.54716,238.49617 118.47015,238.37277 118.47016,238.12595 L 118.47016,238.12595 z M 133.4422,244.63166 C 133.4422,244.95572 133.60423,245.11775 133.92829,245.11775 C 136.19719,245.11775 138.39661,245.07136 140.52656,244.97856 L 140.89678,244.67758 L 140.89678,238.61204 C 140.89677,238.30353 141.18998,238.11842 141.77641,238.05671 C 141.91535,238.04117 142.31666,238.0334 142.98033,238.03339 C 143.62845,238.0334 144.59309,238.05648 145.87427,238.10263 C 147.15543,238.1488 148.1200
 8,238.17188 148.76821,238.17187 C 148.87606,238.23358 148.97639,238.3803 149.0692,238.61204 C 149.05364,239.13676 149.04586,239.6537 149.04588,240.16287 C 149.04586,241.72194 149.10003,243.28101 149.20838,244.84009 C 149.33177,245.0252 149.47826,245.11775 149.64784,245.11775 L 155.50567,245.11775 C 156.21547,245.11775 156.57815,244.83208 156.59372,244.26073 C 156.5937,243.79772 156.60901,242.95672 156.63965,241.73772 C 156.63962,241.30533 156.65517,240.34822 156.68628,238.86639 C 156.71687,237.47736 156.73218,236.52049 156.7322,235.99576 L 156.7322,227.33726 C 156.73218,227.18278 156.68979,226.99756 156.60503,226.78157 C 156.52022,226.56563 156.41612,226.45765 156.29274,226.45763 L 149.64784,226.45763 C 149.30822,226.45765 149.13842,226.69693 149.13843,227.17546 L 149.13843,232.82416 C 148.93777,232.96312 148.76796,233.06345 148.62903,233.12514 C 148.1043,233.12515 147.30945,233.14835 146.24449,233.19473 C 145.17951,233.24114 144.38467,233.26434 143.85996,233.26433 C 143.47419,233.2
 6434 143.03449,233.22571 142.54087,233.14845 C 141.81502,233.04013 141.38263,232.97843 141.24369,232.96334 L 141.03597,232.68497 L 141.03597,226.75861 C 141.02042,226.72754 140.93928,226.66961 140.79257,226.58481 C 140.64584,226.50004 140.55717,226.45765 140.52656,226.45763 L 134.46031,226.45763 C 134.02838,226.45765 133.78157,226.55798 133.71987,226.75861 C 133.64262,227.02099 133.58869,227.66157 133.55807,228.68037 C 133.54253,229.2668 133.54253,230.22368 133.55807,231.55099 L 133.58068,233.54199 C 133.58068,233.80436 133.5576,234.19024 133.51144,234.69964 C 133.46528,235.20905 133.4422,235.59494 133.4422,235.85728 L 133.4422,237.29224 L 133.41889,238.72791 L 133.4422,244.63166 z M 157.18156,236.3893 C 157.18155,237.79389 157.56732,239.20623 158.33885,240.62635 C 159.52723,242.818 161.44875,244.25343 164.10341,244.93264 C 165.66248,245.33395 168.14757,245.5346 171.5587,245.5346 C 176.5284,245.5346 179.89288,243.79819 181.65216,240.32537 C 182.40859,238.82801 182.78682,237.24586 18
 2.78685,235.57891 C 182.78682,229.09677 178.31097,225.85569 169.35928,225.85567 C 165.63963,225.85569 162.73792,226.6583 160.65414,228.26352 C 158.33908,230.06942 157.18155,232.77801 157.18156,236.3893 L 157.18156,236.3893 z M 165.28402,236.27343 C 165.28401,234.74545 165.65447,233.47983 166.39539,232.47655 C 167.22908,231.33481 168.37908,230.76394 169.84537,230.76392 C 170.10771,230.76394 170.23889,230.76394 170.2389,230.76392 C 170.59357,230.77901 170.72475,230.78654 170.63244,230.78653 C 170.81754,230.91042 171.07989,231.01852 171.41951,231.11083 C 171.92867,231.24979 172.21411,231.32704 172.27583,231.34257 C 173.07843,231.6511 173.69593,232.27614 174.12834,233.21769 C 174.49855,234.00478 174.68366,234.88464 174.68367,235.85728 C 174.68366,237.06075 174.27481,238.14103 173.45714,239.09813 C 172.60788,240.11695 171.59684,240.62635 170.42402,240.62635 C 169.00388,240.62635 167.8155,240.26367 166.85887,239.5383 C 165.80896,238.75123 165.28401,237.66294 165.28402,236.27343 L 165.2840
 2,236.27343 z M 194.75544,245.67308 C 201.17588,245.67308 204.82603,243.74379 205.70592,239.8852 C 205.72144,239.8235 205.76006,239.31433 205.82179,238.35769 C 205.86793,237.63186 205.97579,237.17638 206.14538,236.99126 L 206.14538,229.74511 C 206.14535,228.00094 206.04503,226.94374 205.8444,226.5735 C 204.67154,226.46519 203.59126,226.41102 202.60355,226.411 C 201.78537,226.41102 200.59699,226.46519 199.03841,226.5735 L 198.76004,226.85117 L 198.6908,231.94453 C 198.69078,232.68546 198.69078,233.78905 198.6908,235.25532 C 198.67524,237.46205 198.33563,238.95518 197.67198,239.73471 C 197.0083,240.51425 196.04366,240.90402 194.77804,240.90402 C 193.71306,240.90402 192.81035,240.64166 192.06992,240.11694 C 191.22067,239.53053 190.79604,238.72792 190.79605,237.70909 L 190.79605,227.01296 C 190.79604,226.62722 190.60316,226.43433 190.2174,226.43432 L 183.98936,226.43432 C 183.88149,226.43433 183.68861,226.57329 183.41071,226.85117 C 183.41071,227.97786 183.38763,229.66788 183.34147,231.
 92121 C 183.29531,234.17458 183.27223,235.86459 183.27223,236.99126 C 183.27223,239.46082 183.84711,241.3708 184.99687,242.72121 C 186.14662,244.07162 187.93319,244.90909 190.35659,245.23362 C 192.57885,245.52659 194.04513,245.67308 194.75544,245.67308 L 194.75544,245.67308 z M 206.60462,226.89709 L 206.60462,230.94903 C 206.60462,231.27311 207.50756,231.43514 209.31345,231.43512 C 209.77646,231.43514 210.4632,231.42737 211.37369,231.41181 L 213.24881,231.38849 C 213.54225,231.38851 213.68897,231.67418 213.68898,232.24551 L 213.68898,244.67758 C 213.68897,244.97103 213.83546,245.11775 214.12844,245.11775 L 220.77334,245.11775 L 220.91182,244.84009 C 220.95843,242.1388 221.0126,239.4839 221.07432,236.87539 L 221.2128,231.66686 C 221.38282,231.4813 221.52954,231.35765 221.65297,231.29594 L 228.15868,231.29594 L 228.15868,226.89709 L 227.8577,226.59611 C 225.34197,226.50381 223.63641,226.45765 222.74102,226.45763 L 209.75291,226.45763 C 209.50609,226.45765 208.54922,226.50381 206.88229
 ,226.59611 L 206.60462,226.89709 z "
+       id="text9138"
+       inkscape:export-filename="D:\Grafika\mahout\final\public\rect9147.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#005300;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline"
+       id="path3180"
+       sodipodi:cx="160.83333"
+       sodipodi:cy="71.769928"
+       sodipodi:rx="9.5715446"
+       sodipodi:ry="9.5715446"
+       d="M 170.40487 71.769928 A 9.5715446 9.5715446 0 1 1  151.26178,71.769928 A 9.5715446 9.5715446 0 1 1  170.40487 71.769928 z"
+       transform="matrix(0.1639137,0.5551419,-0.6046474,0.3419129,175.50732,-42.778692)"
+       inkscape:export-filename="D:\Grafika\mahout\final\public\rect9147.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <path
+       style="fill:#005300;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.46393025;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline"
+       d="M 144.09954,99.47666 C 144.73876,94.398819 145.13107,89.316533 146.93124,86.364732 C 148.81327,83.278707 151.81908,79.295057 155.72179,79.353742 C 159.62205,79.412389 160.71013,82.503104 161.49346,86.260098 C 162.31875,90.218327 164.77131,91.429818 165.21119,96.63426 C 161.31651,96.683298 158.70428,99.258017 155.40257,101.56491 C 151.84226,100.67725 148.14966,98.855728 144.09954,99.47666 z "
+       id="path4152"
+       sodipodi:nodetypes="cszzccc"
+       inkscape:export-filename="D:\Grafika\mahout\final\public\rect9147.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+  </g>
+</svg>

http://git-wip-us.apache.org/repos/asf/mahout/blob/ec5eb314/website-old/oldsite/images/MeanShift.png
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/MeanShift.png b/website-old/oldsite/images/MeanShift.png
new file mode 100644
index 0000000..ea7f5e1
Binary files /dev/null and b/website-old/oldsite/images/MeanShift.png differ

http://git-wip-us.apache.org/repos/asf/mahout/blob/ec5eb314/website-old/oldsite/images/SampleData.png
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/SampleData.png b/website-old/oldsite/images/SampleData.png
new file mode 100644
index 0000000..48c4690
Binary files /dev/null and b/website-old/oldsite/images/SampleData.png differ

http://git-wip-us.apache.org/repos/asf/mahout/blob/ec5eb314/website-old/oldsite/images/backward.gif
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/backward.gif b/website-old/oldsite/images/backward.gif
new file mode 100755
index 0000000..6b46fca
Binary files /dev/null and b/website-old/oldsite/images/backward.gif differ

http://git-wip-us.apache.org/repos/asf/mahout/blob/ec5eb314/website-old/oldsite/images/bg.png
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/bg.png b/website-old/oldsite/images/bg.png
new file mode 100755
index 0000000..8c6d61b
Binary files /dev/null and b/website-old/oldsite/images/bg.png differ

http://git-wip-us.apache.org/repos/asf/mahout/blob/ec5eb314/website-old/oldsite/images/bullet.gif
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/bullet.gif b/website-old/oldsite/images/bullet.gif
new file mode 100755
index 0000000..a677dfc
Binary files /dev/null and b/website-old/oldsite/images/bullet.gif differ

http://git-wip-us.apache.org/repos/asf/mahout/blob/ec5eb314/website-old/oldsite/images/debug-config-2.png
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/debug-config-2.png b/website-old/oldsite/images/debug-config-2.png
new file mode 100644
index 0000000..59a09b4
Binary files /dev/null and b/website-old/oldsite/images/debug-config-2.png differ

http://git-wip-us.apache.org/repos/asf/mahout/blob/ec5eb314/website-old/oldsite/images/debug-config.png
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/debug-config.png b/website-old/oldsite/images/debug-config.png
new file mode 100644
index 0000000..be49441
Binary files /dev/null and b/website-old/oldsite/images/debug-config.png differ

http://git-wip-us.apache.org/repos/asf/mahout/blob/ec5eb314/website-old/oldsite/images/download-mahout.png
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/download-mahout.png b/website-old/oldsite/images/download-mahout.png
new file mode 100644
index 0000000..77fa513
Binary files /dev/null and b/website-old/oldsite/images/download-mahout.png differ

http://git-wip-us.apache.org/repos/asf/mahout/blob/ec5eb314/website-old/oldsite/images/download-original.png
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/download-original.png b/website-old/oldsite/images/download-original.png
new file mode 100644
index 0000000..ef50ce9
Binary files /dev/null and b/website-old/oldsite/images/download-original.png differ

http://git-wip-us.apache.org/repos/asf/mahout/blob/ec5eb314/website-old/oldsite/images/download.png
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/download.png b/website-old/oldsite/images/download.png
new file mode 100644
index 0000000..ec24e77
Binary files /dev/null and b/website-old/oldsite/images/download.png differ

http://git-wip-us.apache.org/repos/asf/mahout/blob/ec5eb314/website-old/oldsite/images/effects.js
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/effects.js b/website-old/oldsite/images/effects.js
new file mode 100755
index 0000000..f31a81a
--- /dev/null
+++ b/website-old/oldsite/images/effects.js
@@ -0,0 +1,1130 @@
+// script.aculo.us effects.js v1.8.2, Tue Nov 18 18:30:58 +0100 2008
+
+// Copyright (c) 2005-2008 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
+// Contributors:
+//  Justin Palmer (http://encytemedia.com/)
+//  Mark Pilgrim (http://diveintomark.org/)
+//  Martin Bialasinki
+//
+// script.aculo.us is freely distributable under the terms of an MIT-style license.
+// For details, see the script.aculo.us web site: http://script.aculo.us/
+
+// converts rgb() and #xxx to #xxxxxx format,
+// returns self (or first argument) if not convertable
+String.prototype.parseColor = function() {
+  var color = '#';
+  if (this.slice(0,4) == 'rgb(') {
+    var cols = this.slice(4,this.length-1).split(',');
+    var i=0; do { color += parseInt(cols[i]).toColorPart() } while (++i<3);
+  } else {
+    if (this.slice(0,1) == '#') {
+      if (this.length==4) for(var i=1;i<4;i++) color += (this.charAt(i) + this.charAt(i)).toLowerCase();
+      if (this.length==7) color = this.toLowerCase();
+    }
+  }
+  return (color.length==7 ? color : (arguments[0] || this));
+};
+
+/*--------------------------------------------------------------------------*/
+
+Element.collectTextNodes = function(element) {
+  return $A($(element).childNodes).collect( function(node) {
+    return (node.nodeType==3 ? node.nodeValue :
+      (node.hasChildNodes() ? Element.collectTextNodes(node) : ''));
+  }).flatten().join('');
+};
+
+Element.collectTextNodesIgnoreClass = function(element, className) {
+  return $A($(element).childNodes).collect( function(node) {
+    return (node.nodeType==3 ? node.nodeValue :
+      ((node.hasChildNodes() && !Element.hasClassName(node,className)) ?
+        Element.collectTextNodesIgnoreClass(node, className) : ''));
+  }).flatten().join('');
+};
+
+Element.setContentZoom = function(element, percent) {
+  element = $(element);
+  element.setStyle({fontSize: (percent/100) + 'em'});
+  if (Prototype.Browser.WebKit) window.scrollBy(0,0);
+  return element;
+};
+
+Element.getInlineOpacity = function(element){
+  return $(element).style.opacity || '';
+};
+
+Element.forceRerendering = function(element) {
+  try {
+    element = $(element);
+    var n = document.createTextNode(' ');
+    element.appendChild(n);
+    element.removeChild(n);
+  } catch(e) { }
+};
+
+/*--------------------------------------------------------------------------*/
+
+var Effect = {
+  _elementDoesNotExistError: {
+    name: 'ElementDoesNotExistError',
+    message: 'The specified DOM element does not exist, but is required for this effect to operate'
+  },
+  Transitions: {
+    linear: Prototype.K,
+    sinoidal: function(pos) {
+      return (-Math.cos(pos*Math.PI)/2) + .5;
+    },
+    reverse: function(pos) {
+      return 1-pos;
+    },
+    flicker: function(pos) {
+      var pos = ((-Math.cos(pos*Math.PI)/4) + .75) + Math.random()/4;
+      return pos > 1 ? 1 : pos;
+    },
+    wobble: function(pos) {
+      return (-Math.cos(pos*Math.PI*(9*pos))/2) + .5;
+    },
+    pulse: function(pos, pulses) {
+      return (-Math.cos((pos*((pulses||5)-.5)*2)*Math.PI)/2) + .5;
+    },
+    spring: function(pos) {
+      return 1 - (Math.cos(pos * 4.5 * Math.PI) * Math.exp(-pos * 6));
+    },
+    none: function(pos) {
+      return 0;
+    },
+    full: function(pos) {
+      return 1;
+    }
+  },
+  DefaultOptions: {
+    duration:   1.0,   // seconds
+    fps:        100,   // 100= assume 66fps max.
+    sync:       false, // true for combining
+    from:       0.0,
+    to:         1.0,
+    delay:      0.0,
+    queue:      'parallel'
+  },
+  tagifyText: function(element) {
+    var tagifyStyle = 'position:relative';
+    if (Prototype.Browser.IE) tagifyStyle += ';zoom:1';
+
+    element = $(element);
+    $A(element.childNodes).each( function(child) {
+      if (child.nodeType==3) {
+        child.nodeValue.toArray().each( function(character) {
+          element.insertBefore(
+            new Element('span', {style: tagifyStyle}).update(
+              character == ' ' ? String.fromCharCode(160) : character),
+              child);
+        });
+        Element.remove(child);
+      }
+    });
+  },
+  multiple: function(element, effect) {
+    var elements;
+    if (((typeof element == 'object') ||
+        Object.isFunction(element)) &&
+       (element.length))
+      elements = element;
+    else
+      elements = $(element).childNodes;
+
+    var options = Object.extend({
+      speed: 0.1,
+      delay: 0.0
+    }, arguments[2] || { });
+    var masterDelay = options.delay;
+
+    $A(elements).each( function(element, index) {
+      new effect(element, Object.extend(options, { delay: index * options.speed + masterDelay }));
+    });
+  },
+  PAIRS: {
+    'slide':  ['SlideDown','SlideUp'],
+    'blind':  ['BlindDown','BlindUp'],
+    'appear': ['Appear','Fade']
+  },
+  toggle: function(element, effect) {
+    element = $(element);
+    effect = (effect || 'appear').toLowerCase();
+    var options = Object.extend({
+      queue: { position:'end', scope:(element.id || 'global'), limit: 1 }
+    }, arguments[2] || { });
+    Effect[element.visible() ?
+      Effect.PAIRS[effect][1] : Effect.PAIRS[effect][0]](element, options);
+  }
+};
+
+Effect.DefaultOptions.transition = Effect.Transitions.sinoidal;
+
+/* ------------- core effects ------------- */
+
+Effect.ScopedQueue = Class.create(Enumerable, {
+  initialize: function() {
+    this.effects  = [];
+    this.interval = null;
+  },
+  _each: function(iterator) {
+    this.effects._each(iterator);
+  },
+  add: function(effect) {
+    var timestamp = new Date().getTime();
+
+    var position = Object.isString(effect.options.queue) ?
+      effect.options.queue : effect.options.queue.position;
+
+    switch(position) {
+      case 'front':
+        // move unstarted effects after this effect
+        this.effects.findAll(function(e){ return e.state=='idle' }).each( function(e) {
+            e.startOn  += effect.finishOn;
+            e.finishOn += effect.finishOn;
+          });
+        break;
+      case 'with-last':
+        timestamp = this.effects.pluck('startOn').max() || timestamp;
+        break;
+      case 'end':
+        // start effect after last queued effect has finished
+        timestamp = this.effects.pluck('finishOn').max() || timestamp;
+        break;
+    }
+
+    effect.startOn  += timestamp;
+    effect.finishOn += timestamp;
+
+    if (!effect.options.queue.limit || (this.effects.length < effect.options.queue.limit))
+      this.effects.push(effect);
+
+    if (!this.interval)
+      this.interval = setInterval(this.loop.bind(this), 15);
+  },
+  remove: function(effect) {
+    this.effects = this.effects.reject(function(e) { return e==effect });
+    if (this.effects.length == 0) {
+      clearInterval(this.interval);
+      this.interval = null;
+    }
+  },
+  loop: function() {
+    var timePos = new Date().getTime();
+    for(var i=0, len=this.effects.length;i<len;i++)
+      this.effects[i] && this.effects[i].loop(timePos);
+  }
+});
+
+Effect.Queues = {
+  instances: $H(),
+  get: function(queueName) {
+    if (!Object.isString(queueName)) return queueName;
+
+    return this.instances.get(queueName) ||
+      this.instances.set(queueName, new Effect.ScopedQueue());
+  }
+};
+Effect.Queue = Effect.Queues.get('global');
+
+Effect.Base = Class.create({
+  position: null,
+  start: function(options) {
+    function codeForEvent(options,eventName){
+      return (
+        (options[eventName+'Internal'] ? 'this.options.'+eventName+'Internal(this);' : '') +
+        (options[eventName] ? 'this.options.'+eventName+'(this);' : '')
+      );
+    }
+    if (options && options.transition === false) options.transition = Effect.Transitions.linear;
+    this.options      = Object.extend(Object.extend({ },Effect.DefaultOptions), options || { });
+    this.currentFrame = 0;
+    this.state        = 'idle';
+    this.startOn      = this.options.delay*1000;
+    this.finishOn     = this.startOn+(this.options.duration*1000);
+    this.fromToDelta  = this.options.to-this.options.from;
+    this.totalTime    = this.finishOn-this.startOn;
+    this.totalFrames  = this.options.fps*this.options.duration;
+
+    this.render = (function() {
+      function dispatch(effect, eventName) {
+        if (effect.options[eventName + 'Internal'])
+          effect.options[eventName + 'Internal'](effect);
+        if (effect.options[eventName])
+          effect.options[eventName](effect);
+      }
+
+      return function(pos) {
+        if (this.state === "idle") {
+          this.state = "running";
+          dispatch(this, 'beforeSetup');
+          if (this.setup) this.setup();
+          dispatch(this, 'afterSetup');
+        }
+        if (this.state === "running") {
+          pos = (this.options.transition(pos) * this.fromToDelta) + this.options.from;
+          this.position = pos;
+          dispatch(this, 'beforeUpdate');
+          if (this.update) this.update(pos);
+          dispatch(this, 'afterUpdate');
+        }
+      };
+    })();
+
+    this.event('beforeStart');
+    if (!this.options.sync)
+      Effect.Queues.get(Object.isString(this.options.queue) ?
+        'global' : this.options.queue.scope).add(this);
+  },
+  loop: function(timePos) {
+    if (timePos >= this.startOn) {
+      if (timePos >= this.finishOn) {
+        this.render(1.0);
+        this.cancel();
+        this.event('beforeFinish');
+        if (this.finish) this.finish();
+        this.event('afterFinish');
+        return;
+      }
+      var pos   = (timePos - this.startOn) / this.totalTime,
+          frame = (pos * this.totalFrames).round();
+      if (frame > this.currentFrame) {
+        this.render(pos);
+        this.currentFrame = frame;
+      }
+    }
+  },
+  cancel: function() {
+    if (!this.options.sync)
+      Effect.Queues.get(Object.isString(this.options.queue) ?
+        'global' : this.options.queue.scope).remove(this);
+    this.state = 'finished';
+  },
+  event: function(eventName) {
+    if (this.options[eventName + 'Internal']) this.options[eventName + 'Internal'](this);
+    if (this.options[eventName]) this.options[eventName](this);
+  },
+  inspect: function() {
+    var data = $H();
+    for(property in this)
+      if (!Object.isFunction(this[property])) data.set(property, this[property]);
+    return '#<Effect:' + data.inspect() + ',options:' + $H(this.options).inspect() + '>';
+  }
+});
+
+Effect.Parallel = Class.create(Effect.Base, {
+  initialize: function(effects) {
+    this.effects = effects || [];
+    this.start(arguments[1]);
+  },
+  update: function(position) {
+    this.effects.invoke('render', position);
+  },
+  finish: function(position) {
+    this.effects.each( function(effect) {
+      effect.render(1.0);
+      effect.cancel();
+      effect.event('beforeFinish');
+      if (effect.finish) effect.finish(position);
+      effect.event('afterFinish');
+    });
+  }
+});
+
+Effect.Tween = Class.create(Effect.Base, {
+  initialize: function(object, from, to) {
+    object = Object.isString(object) ? $(object) : object;
+    var args = $A(arguments), method = args.last(),
+      options = args.length == 5 ? args[3] : null;
+    this.method = Object.isFunction(method) ? method.bind(object) :
+      Object.isFunction(object[method]) ? object[method].bind(object) :
+      function(value) { object[method] = value };
+    this.start(Object.extend({ from: from, to: to }, options || { }));
+  },
+  update: function(position) {
+    this.method(position);
+  }
+});
+
+Effect.Event = Class.create(Effect.Base, {
+  initialize: function() {
+    this.start(Object.extend({ duration: 0 }, arguments[0] || { }));
+  },
+  update: Prototype.emptyFunction
+});
+
+Effect.Opacity = Class.create(Effect.Base, {
+  initialize: function(element) {
+    this.element = $(element);
+    if (!this.element) throw(Effect._elementDoesNotExistError);
+    // make this work on IE on elements without 'layout'
+    if (Prototype.Browser.IE && (!this.element.currentStyle.hasLayout))
+      this.element.setStyle({zoom: 1});
+    var options = Object.extend({
+      from: this.element.getOpacity() || 0.0,
+      to:   1.0
+    }, arguments[1] || { });
+    this.start(options);
+  },
+  update: function(position) {
+    this.element.setOpacity(position);
+  }
+});
+
+Effect.Move = Class.create(Effect.Base, {
+  initialize: function(element) {
+    this.element = $(element);
+    if (!this.element) throw(Effect._elementDoesNotExistError);
+    var options = Object.extend({
+      x:    0,
+      y:    0,
+      mode: 'relative'
+    }, arguments[1] || { });
+    this.start(options);
+  },
+  setup: function() {
+    this.element.makePositioned();
+    this.originalLeft = parseFloat(this.element.getStyle('left') || '0');
+    this.originalTop  = parseFloat(this.element.getStyle('top')  || '0');
+    if (this.options.mode == 'absolute') {
+      this.options.x = this.options.x - this.originalLeft;
+      this.options.y = this.options.y - this.originalTop;
+    }
+  },
+  update: function(position) {
+    this.element.setStyle({
+      left: (this.options.x  * position + this.originalLeft).round() + 'px',
+      top:  (this.options.y  * position + this.originalTop).round()  + 'px'
+    });
+  }
+});
+
+// for backwards compatibility
+Effect.MoveBy = function(element, toTop, toLeft) {
+  return new Effect.Move(element,
+    Object.extend({ x: toLeft, y: toTop }, arguments[3] || { }));
+};
+
+Effect.Scale = Class.create(Effect.Base, {
+  initialize: function(element, percent) {
+    this.element = $(element);
+    if (!this.element) throw(Effect._elementDoesNotExistError);
+    var options = Object.extend({
+      scaleX: true,
+      scaleY: true,
+      scaleContent: true,
+      scaleFromCenter: false,
+      scaleMode: 'box',        // 'box' or 'contents' or { } with provided values
+      scaleFrom: 100.0,
+      scaleTo:   percent
+    }, arguments[2] || { });
+    this.start(options);
+  },
+  setup: function() {
+    this.restoreAfterFinish = this.options.restoreAfterFinish || false;
+    this.elementPositioning = this.element.getStyle('position');
+
+    this.originalStyle = { };
+    ['top','left','width','height','fontSize'].each( function(k) {
+      this.originalStyle[k] = this.element.style[k];
+    }.bind(this));
+
+    this.originalTop  = this.element.offsetTop;
+    this.originalLeft = this.element.offsetLeft;
+
+    var fontSize = this.element.getStyle('font-size') || '100%';
+    ['em','px','%','pt'].each( function(fontSizeType) {
+      if (fontSize.indexOf(fontSizeType)>0) {
+        this.fontSize     = parseFloat(fontSize);
+        this.fontSizeType = fontSizeType;
+      }
+    }.bind(this));
+
+    this.factor = (this.options.scaleTo - this.options.scaleFrom)/100;
+
+    this.dims = null;
+    if (this.options.scaleMode=='box')
+      this.dims = [this.element.offsetHeight, this.element.offsetWidth];
+    if (/^content/.test(this.options.scaleMode))
+      this.dims = [this.element.scrollHeight, this.element.scrollWidth];
+    if (!this.dims)
+      this.dims = [this.options.scaleMode.originalHeight,
+                   this.options.scaleMode.originalWidth];
+  },
+  update: function(position) {
+    var currentScale = (this.options.scaleFrom/100.0) + (this.factor * position);
+    if (this.options.scaleContent && this.fontSize)
+      this.element.setStyle({fontSize: this.fontSize * currentScale + this.fontSizeType });
+    this.setDimensions(this.dims[0] * currentScale, this.dims[1] * currentScale);
+  },
+  finish: function(position) {
+    if (this.restoreAfterFinish) this.element.setStyle(this.originalStyle);
+  },
+  setDimensions: function(height, width) {
+    var d = { };
+    if (this.options.scaleX) d.width = width.round() + 'px';
+    if (this.options.scaleY) d.height = height.round() + 'px';
+    if (this.options.scaleFromCenter) {
+      var topd  = (height - this.dims[0])/2;
+      var leftd = (width  - this.dims[1])/2;
+      if (this.elementPositioning == 'absolute') {
+        if (this.options.scaleY) d.top = this.originalTop-topd + 'px';
+        if (this.options.scaleX) d.left = this.originalLeft-leftd + 'px';
+      } else {
+        if (this.options.scaleY) d.top = -topd + 'px';
+        if (this.options.scaleX) d.left = -leftd + 'px';
+      }
+    }
+    this.element.setStyle(d);
+  }
+});
+
+Effect.Highlight = Class.create(Effect.Base, {
+  initialize: function(element) {
+    this.element = $(element);
+    if (!this.element) throw(Effect._elementDoesNotExistError);
+    var options = Object.extend({ startcolor: '#ffff99' }, arguments[1] || { });
+    this.start(options);
+  },
+  setup: function() {
+    // Prevent executing on elements not in the layout flow
+    if (this.element.getStyle('display')=='none') { this.cancel(); return; }
+    // Disable background image during the effect
+    this.oldStyle = { };
+    if (!this.options.keepBackgroundImage) {
+      this.oldStyle.backgroundImage = this.element.getStyle('background-image');
+      this.element.setStyle({backgroundImage: 'none'});
+    }
+    if (!this.options.endcolor)
+      this.options.endcolor = this.element.getStyle('background-color').parseColor('#ffffff');
+    if (!this.options.restorecolor)
+      this.options.restorecolor = this.element.getStyle('background-color');
+    // init color calculations
+    this._base  = $R(0,2).map(function(i){ return parseInt(this.options.startcolor.slice(i*2+1,i*2+3),16) }.bind(this));
+    this._delta = $R(0,2).map(function(i){ return parseInt(this.options.endcolor.slice(i*2+1,i*2+3),16)-this._base[i] }.bind(this));
+  },
+  update: function(position) {
+    this.element.setStyle({backgroundColor: $R(0,2).inject('#',function(m,v,i){
+      return m+((this._base[i]+(this._delta[i]*position)).round().toColorPart()); }.bind(this)) });
+  },
+  finish: function() {
+    this.element.setStyle(Object.extend(this.oldStyle, {
+      backgroundColor: this.options.restorecolor
+    }));
+  }
+});
+
+Effect.ScrollTo = function(element) {
+  var options = arguments[1] || { },
+  scrollOffsets = document.viewport.getScrollOffsets(),
+  elementOffsets = $(element).cumulativeOffset();
+
+  if (options.offset) elementOffsets[1] += options.offset;
+
+  return new Effect.Tween(null,
+    scrollOffsets.top,
+    elementOffsets[1],
+    options,
+    function(p){ scrollTo(scrollOffsets.left, p.round()); }
+  );
+};
+
+/* ------------- combination effects ------------- */
+
+Effect.Fade = function(element) {
+  element = $(element);
+  var oldOpacity = element.getInlineOpacity();
+  var options = Object.extend({
+    from: element.getOpacity() || 1.0,
+    to:   0.0,
+    afterFinishInternal: function(effect) {
+      if (effect.options.to!=0) return;
+      effect.element.hide().setStyle({opacity: oldOpacity});
+    }
+  }, arguments[1] || { });
+  return new Effect.Opacity(element,options);
+};
+
+Effect.Appear = function(element) {
+  element = $(element);
+  var options = Object.extend({
+  from: (element.getStyle('display') == 'none' ? 0.0 : element.getOpacity() || 0.0),
+  to:   1.0,
+  // force Safari to render floated elements properly
+  afterFinishInternal: function(effect) {
+    effect.element.forceRerendering();
+  },
+  beforeSetup: function(effect) {
+    effect.element.setOpacity(effect.options.from).show();
+  }}, arguments[1] || { });
+  return new Effect.Opacity(element,options);
+};
+
+Effect.Puff = function(element) {
+  element = $(element);
+  var oldStyle = {
+    opacity: element.getInlineOpacity(),
+    position: element.getStyle('position'),
+    top:  element.style.top,
+    left: element.style.left,
+    width: element.style.width,
+    height: element.style.height
+  };
+  return new Effect.Parallel(
+   [ new Effect.Scale(element, 200,
+      { sync: true, scaleFromCenter: true, scaleContent: true, restoreAfterFinish: true }),
+     new Effect.Opacity(element, { sync: true, to: 0.0 } ) ],
+     Object.extend({ duration: 1.0,
+      beforeSetupInternal: function(effect) {
+        Position.absolutize(effect.effects[0].element);
+      },
+      afterFinishInternal: function(effect) {
+         effect.effects[0].element.hide().setStyle(oldStyle); }
+     }, arguments[1] || { })
+   );
+};
+
+Effect.BlindUp = function(element) {
+  element = $(element);
+  element.makeClipping();
+  return new Effect.Scale(element, 0,
+    Object.extend({ scaleContent: false,
+      scaleX: false,
+      restoreAfterFinish: true,
+      afterFinishInternal: function(effect) {
+        effect.element.hide().undoClipping();
+      }
+    }, arguments[1] || { })
+  );
+};
+
+Effect.BlindDown = function(element) {
+  element = $(element);
+  var elementDimensions = element.getDimensions();
+  return new Effect.Scale(element, 100, Object.extend({
+    scaleContent: false,
+    scaleX: false,
+    scaleFrom: 0,
+    scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width},
+    restoreAfterFinish: true,
+    afterSetup: function(effect) {
+      effect.element.makeClipping().setStyle({height: '0px'}).show();
+    },
+    afterFinishInternal: function(effect) {
+      effect.element.undoClipping();
+    }
+  }, arguments[1] || { }));
+};
+
+Effect.SwitchOff = function(element) {
+  element = $(element);
+  var oldOpacity = element.getInlineOpacity();
+  return new Effect.Appear(element, Object.extend({
+    duration: 0.4,
+    from: 0,
+    transition: Effect.Transitions.flicker,
+    afterFinishInternal: function(effect) {
+      new Effect.Scale(effect.element, 1, {
+        duration: 0.3, scaleFromCenter: true,
+        scaleX: false, scaleContent: false, restoreAfterFinish: true,
+        beforeSetup: function(effect) {
+          effect.element.makePositioned().makeClipping();
+        },
+        afterFinishInternal: function(effect) {
+          effect.element.hide().undoClipping().undoPositioned().setStyle({opacity: oldOpacity});
+        }
+      });
+    }
+  }, arguments[1] || { }));
+};
+
+Effect.DropOut = function(element) {
+  element = $(element);
+  var oldStyle = {
+    top: element.getStyle('top'),
+    left: element.getStyle('left'),
+    opacity: element.getInlineOpacity() };
+  return new Effect.Parallel(
+    [ new Effect.Move(element, {x: 0, y: 100, sync: true }),
+      new Effect.Opacity(element, { sync: true, to: 0.0 }) ],
+    Object.extend(
+      { duration: 0.5,
+        beforeSetup: function(effect) {
+          effect.effects[0].element.makePositioned();
+        },
+        afterFinishInternal: function(effect) {
+          effect.effects[0].element.hide().undoPositioned().setStyle(oldStyle);
+        }
+      }, arguments[1] || { }));
+};
+
+Effect.Shake = function(element) {
+  element = $(element);
+  var options = Object.extend({
+    distance: 20,
+    duration: 0.5
+  }, arguments[1] || {});
+  var distance = parseFloat(options.distance);
+  var split = parseFloat(options.duration) / 10.0;
+  var oldStyle = {
+    top: element.getStyle('top'),
+    left: element.getStyle('left') };
+    return new Effect.Move(element,
+      { x:  distance, y: 0, duration: split, afterFinishInternal: function(effect) {
+    new Effect.Move(effect.element,
+      { x: -distance*2, y: 0, duration: split*2,  afterFinishInternal: function(effect) {
+    new Effect.Move(effect.element,
+      { x:  distance*2, y: 0, duration: split*2,  afterFinishInternal: function(effect) {
+    new Effect.Move(effect.element,
+      { x: -distance*2, y: 0, duration: split*2,  afterFinishInternal: function(effect) {
+    new Effect.Move(effect.element,
+      { x:  distance*2, y: 0, duration: split*2,  afterFinishInternal: function(effect) {
+    new Effect.Move(effect.element,
+      { x: -distance, y: 0, duration: split, afterFinishInternal: function(effect) {
+        effect.element.undoPositioned().setStyle(oldStyle);
+  }}); }}); }}); }}); }}); }});
+};
+
+Effect.SlideDown = function(element) {
+  element = $(element).cleanWhitespace();
+  // SlideDown need to have the content of the element wrapped in a container element with fixed height!
+  var oldInnerBottom = element.down().getStyle('bottom');
+  var elementDimensions = element.getDimensions();
+  return new Effect.Scale(element, 100, Object.extend({
+    scaleContent: false,
+    scaleX: false,
+    scaleFrom: window.opera ? 0 : 1,
+    scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width},
+    restoreAfterFinish: true,
+    afterSetup: function(effect) {
+      effect.element.makePositioned();
+      effect.element.down().makePositioned();
+      if (window.opera) effect.element.setStyle({top: ''});
+      effect.element.makeClipping().setStyle({height: '0px'}).show();
+    },
+    afterUpdateInternal: function(effect) {
+      effect.element.down().setStyle({bottom:
+        (effect.dims[0] - effect.element.clientHeight) + 'px' });
+    },
+    afterFinishInternal: function(effect) {
+      effect.element.undoClipping().undoPositioned();
+      effect.element.down().undoPositioned().setStyle({bottom: oldInnerBottom}); }
+    }, arguments[1] || { })
+  );
+};
+
+Effect.SlideUp = function(element) {
+  element = $(element).cleanWhitespace();
+  var oldInnerBottom = element.down().getStyle('bottom');
+  var elementDimensions = element.getDimensions();
+  return new Effect.Scale(element, window.opera ? 0 : 1,
+   Object.extend({ scaleContent: false,
+    scaleX: false,
+    scaleMode: 'box',
+    scaleFrom: 100,
+    scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width},
+    restoreAfterFinish: true,
+    afterSetup: function(effect) {
+      effect.element.makePositioned();
+      effect.element.down().makePositioned();
+      if (window.opera) effect.element.setStyle({top: ''});
+      effect.element.makeClipping().show();
+    },
+    afterUpdateInternal: function(effect) {
+      effect.element.down().setStyle({bottom:
+        (effect.dims[0] - effect.element.clientHeight) + 'px' });
+    },
+    afterFinishInternal: function(effect) {
+      effect.element.hide().undoClipping().undoPositioned();
+      effect.element.down().undoPositioned().setStyle({bottom: oldInnerBottom});
+    }
+   }, arguments[1] || { })
+  );
+};
+
+// Bug in opera makes the TD containing this element expand for a instance after finish
+Effect.Squish = function(element) {
+  return new Effect.Scale(element, window.opera ? 1 : 0, {
+    restoreAfterFinish: true,
+    beforeSetup: function(effect) {
+      effect.element.makeClipping();
+    },
+    afterFinishInternal: function(effect) {
+      effect.element.hide().undoClipping();
+    }
+  });
+};
+
+Effect.Grow = function(element) {
+  element = $(element);
+  var options = Object.extend({
+    direction: 'center',
+    moveTransition: Effect.Transitions.sinoidal,
+    scaleTransition: Effect.Transitions.sinoidal,
+    opacityTransition: Effect.Transitions.full
+  }, arguments[1] || { });
+  var oldStyle = {
+    top: element.style.top,
+    left: element.style.left,
+    height: element.style.height,
+    width: element.style.width,
+    opacity: element.getInlineOpacity() };
+
+  var dims = element.getDimensions();
+  var initialMoveX, initialMoveY;
+  var moveX, moveY;
+
+  switch (options.direction) {
+    case 'top-left':
+      initialMoveX = initialMoveY = moveX = moveY = 0;
+      break;
+    case 'top-right':
+      initialMoveX = dims.width;
+      initialMoveY = moveY = 0;
+      moveX = -dims.width;
+      break;
+    case 'bottom-left':
+      initialMoveX = moveX = 0;
+      initialMoveY = dims.height;
+      moveY = -dims.height;
+      break;
+    case 'bottom-right':
+      initialMoveX = dims.width;
+      initialMoveY = dims.height;
+      moveX = -dims.width;
+      moveY = -dims.height;
+      break;
+    case 'center':
+      initialMoveX = dims.width / 2;
+      initialMoveY = dims.height / 2;
+      moveX = -dims.width / 2;
+      moveY = -dims.height / 2;
+      break;
+  }
+
+  return new Effect.Move(element, {
+    x: initialMoveX,
+    y: initialMoveY,
+    duration: 0.01,
+    beforeSetup: function(effect) {
+      effect.element.hide().makeClipping().makePositioned();
+    },
+    afterFinishInternal: function(effect) {
+      new Effect.Parallel(
+        [ new Effect.Opacity(effect.element, { sync: true, to: 1.0, from: 0.0, transition: options.opacityTransition }),
+          new Effect.Move(effect.element, { x: moveX, y: moveY, sync: true, transition: options.moveTransition }),
+          new Effect.Scale(effect.element, 100, {
+            scaleMode: { originalHeight: dims.height, originalWidth: dims.width },
+            sync: true, scaleFrom: window.opera ? 1 : 0, transition: options.scaleTransition, restoreAfterFinish: true})
+        ], Object.extend({
+             beforeSetup: function(effect) {
+               effect.effects[0].element.setStyle({height: '0px'}).show();
+             },
+             afterFinishInternal: function(effect) {
+               effect.effects[0].element.undoClipping().undoPositioned().setStyle(oldStyle);
+             }
+           }, options)
+      );
+    }
+  });
+};
+
+Effect.Shrink = function(element) {
+  element = $(element);
+  var options = Object.extend({
+    direction: 'center',
+    moveTransition: Effect.Transitions.sinoidal,
+    scaleTransition: Effect.Transitions.sinoidal,
+    opacityTransition: Effect.Transitions.none
+  }, arguments[1] || { });
+  var oldStyle = {
+    top: element.style.top,
+    left: element.style.left,
+    height: element.style.height,
+    width: element.style.width,
+    opacity: element.getInlineOpacity() };
+
+  var dims = element.getDimensions();
+  var moveX, moveY;
+
+  switch (options.direction) {
+    case 'top-left':
+      moveX = moveY = 0;
+      break;
+    case 'top-right':
+      moveX = dims.width;
+      moveY = 0;
+      break;
+    case 'bottom-left':
+      moveX = 0;
+      moveY = dims.height;
+      break;
+    case 'bottom-right':
+      moveX = dims.width;
+      moveY = dims.height;
+      break;
+    case 'center':
+      moveX = dims.width / 2;
+      moveY = dims.height / 2;
+      break;
+  }
+
+  return new Effect.Parallel(
+    [ new Effect.Opacity(element, { sync: true, to: 0.0, from: 1.0, transition: options.opacityTransition }),
+      new Effect.Scale(element, window.opera ? 1 : 0, { sync: true, transition: options.scaleTransition, restoreAfterFinish: true}),
+      new Effect.Move(element, { x: moveX, y: moveY, sync: true, transition: options.moveTransition })
+    ], Object.extend({
+         beforeStartInternal: function(effect) {
+           effect.effects[0].element.makePositioned().makeClipping();
+         },
+         afterFinishInternal: function(effect) {
+           effect.effects[0].element.hide().undoClipping().undoPositioned().setStyle(oldStyle); }
+       }, options)
+  );
+};
+
+Effect.Pulsate = function(element) {
+  element = $(element);
+  var options    = arguments[1] || { },
+    oldOpacity = element.getInlineOpacity(),
+    transition = options.transition || Effect.Transitions.linear,
+    reverser   = function(pos){
+      return 1 - transition((-Math.cos((pos*(options.pulses||5)*2)*Math.PI)/2) + .5);
+    };
+
+  return new Effect.Opacity(element,
+    Object.extend(Object.extend({  duration: 2.0, from: 0,
+      afterFinishInternal: function(effect) { effect.element.setStyle({opacity: oldOpacity}); }
+    }, options), {transition: reverser}));
+};
+
+Effect.Fold = function(element) {
+  element = $(element);
+  var oldStyle = {
+    top: element.style.top,
+    left: element.style.left,
+    width: element.style.width,
+    height: element.style.height };
+  element.makeClipping();
+  return new Effect.Scale(element, 5, Object.extend({
+    scaleContent: false,
+    scaleX: false,
+    afterFinishInternal: function(effect) {
+    new Effect.Scale(element, 1, {
+      scaleContent: false,
+      scaleY: false,
+      afterFinishInternal: function(effect) {
+        effect.element.hide().undoClipping().setStyle(oldStyle);
+      } });
+  }}, arguments[1] || { }));
+};
+
+Effect.Morph = Class.create(Effect.Base, {
+  initialize: function(element) {
+    this.element = $(element);
+    if (!this.element) throw(Effect._elementDoesNotExistError);
+    var options = Object.extend({
+      style: { }
+    }, arguments[1] || { });
+
+    if (!Object.isString(options.style)) this.style = $H(options.style);
+    else {
+      if (options.style.include(':'))
+        this.style = options.style.parseStyle();
+      else {
+        this.element.addClassName(options.style);
+        this.style = $H(this.element.getStyles());
+        this.element.removeClassName(options.style);
+        var css = this.element.getStyles();
+        this.style = this.style.reject(function(style) {
+          return style.value == css[style.key];
+        });
+        options.afterFinishInternal = function(effect) {
+          effect.element.addClassName(effect.options.style);
+          effect.transforms.each(function(transform) {
+            effect.element.style[transform.style] = '';
+          });
+        };
+      }
+    }
+    this.start(options);
+  },
+
+  setup: function(){
+    function parseColor(color){
+      if (!color || ['rgba(0, 0, 0, 0)','transparent'].include(color)) color = '#ffffff';
+      color = color.parseColor();
+      return $R(0,2).map(function(i){
+        return parseInt( color.slice(i*2+1,i*2+3), 16 );
+      });
+    }
+    this.transforms = this.style.map(function(pair){
+      var property = pair[0], value = pair[1], unit = null;
+
+      if (value.parseColor('#zzzzzz') != '#zzzzzz') {
+        value = value.parseColor();
+        unit  = 'color';
+      } else if (property == 'opacity') {
+        value = parseFloat(value);
+        if (Prototype.Browser.IE && (!this.element.currentStyle.hasLayout))
+          this.element.setStyle({zoom: 1});
+      } else if (Element.CSS_LENGTH.test(value)) {
+          var components = value.match(/^([\+\-]?[0-9\.]+)(.*)$/);
+          value = parseFloat(components[1]);
+          unit = (components.length == 3) ? components[2] : null;
+      }
+
+      var originalValue = this.element.getStyle(property);
+      return {
+        style: property.camelize(),
+        originalValue: unit=='color' ? parseColor(originalValue) : parseFloat(originalValue || 0),
+        targetValue: unit=='color' ? parseColor(value) : value,
+        unit: unit
+      };
+    }.bind(this)).reject(function(transform){
+      return (
+        (transform.originalValue == transform.targetValue) ||
+        (
+          transform.unit != 'color' &&
+          (isNaN(transform.originalValue) || isNaN(transform.targetValue))
+        )
+      );
+    });
+  },
+  update: function(position) {
+    var style = { }, transform, i = this.transforms.length;
+    while(i--)
+      style[(transform = this.transforms[i]).style] =
+        transform.unit=='color' ? '#'+
+          (Math.round(transform.originalValue[0]+
+            (transform.targetValue[0]-transform.originalValue[0])*position)).toColorPart() +
+          (Math.round(transform.originalValue[1]+
+            (transform.targetValue[1]-transform.originalValue[1])*position)).toColorPart() +
+          (Math.round(transform.originalValue[2]+
+            (transform.targetValue[2]-transform.originalValue[2])*position)).toColorPart() :
+        (transform.originalValue +
+          (transform.targetValue - transform.originalValue) * position).toFixed(3) +
+            (transform.unit === null ? '' : transform.unit);
+    this.element.setStyle(style, true);
+  }
+});
+
+Effect.Transform = Class.create({
+  initialize: function(tracks){
+    this.tracks  = [];
+    this.options = arguments[1] || { };
+    this.addTracks(tracks);
+  },
+  addTracks: function(tracks){
+    tracks.each(function(track){
+      track = $H(track);
+      var data = track.values().first();
+      this.tracks.push($H({
+        ids:     track.keys().first(),
+        effect:  Effect.Morph,
+        options: { style: data }
+      }));
+    }.bind(this));
+    return this;
+  },
+  play: function(){
+    return new Effect.Parallel(
+      this.tracks.map(function(track){
+        var ids = track.get('ids'), effect = track.get('effect'), options = track.get('options');
+        var elements = [$(ids) || $$(ids)].flatten();
+        return elements.map(function(e){ return new effect(e, Object.extend({ sync:true }, options)) });
+      }).flatten(),
+      this.options
+    );
+  }
+});
+
+Element.CSS_PROPERTIES = $w(
+  'backgroundColor backgroundPosition borderBottomColor borderBottomStyle ' +
+  'borderBottomWidth borderLeftColor borderLeftStyle borderLeftWidth ' +
+  'borderRightColor borderRightStyle borderRightWidth borderSpacing ' +
+  'borderTopColor borderTopStyle borderTopWidth bottom clip color ' +
+  'fontSize fontWeight height left letterSpacing lineHeight ' +
+  'marginBottom marginLeft marginRight marginTop markerOffset maxHeight '+
+  'maxWidth minHeight minWidth opacity outlineColor outlineOffset ' +
+  'outlineWidth paddingBottom paddingLeft paddingRight paddingTop ' +
+  'right textIndent top width wordSpacing zIndex');
+
+Element.CSS_LENGTH = /^(([\+\-]?[0-9\.]+)(em|ex|px|in|cm|mm|pt|pc|\%))|0$/;
+
+String.__parseStyleElement = document.createElement('div');
+String.prototype.parseStyle = function(){
+  var style, styleRules = $H();
+  if (Prototype.Browser.WebKit)
+    style = new Element('div',{style:this}).style;
+  else {
+    String.__parseStyleElement.innerHTML = '<div style="' + this + '"></div>';
+    style = String.__parseStyleElement.childNodes[0].style;
+  }
+
+  Element.CSS_PROPERTIES.each(function(property){
+    if (style[property]) styleRules.set(property, style[property]);
+  });
+
+  if (Prototype.Browser.IE && this.include('opacity'))
+    styleRules.set('opacity', this.match(/opacity:\s*((?:0|1)?(?:\.\d*)?)/)[1]);
+
+  return styleRules;
+};
+
+if (document.defaultView && document.defaultView.getComputedStyle) {
+  Element.getStyles = function(element) {
+    var css = document.defaultView.getComputedStyle($(element), null);
+    return Element.CSS_PROPERTIES.inject({ }, function(styles, property) {
+      styles[property] = css[property];
+      return styles;
+    });
+  };
+} else {
+  Element.getStyles = function(element) {
+    element = $(element);
+    var css = element.currentStyle, styles;
+    styles = Element.CSS_PROPERTIES.inject({ }, function(results, property) {
+      results[property] = css[property];
+      return results;
+    });
+    if (!styles.opacity) styles.opacity = element.getOpacity();
+    return styles;
+  };
+}
+
+Effect.Methods = {
+  morph: function(element, style) {
+    element = $(element);
+    new Effect.Morph(element, Object.extend({ style: style }, arguments[2] || { }));
+    return element;
+  },
+  visualEffect: function(element, effect, options) {
+    element = $(element);
+    var s = effect.dasherize().camelize(), klass = s.charAt(0).toUpperCase() + s.substring(1);
+    new Effect[klass](element, options);
+    return element;
+  },
+  highlight: function(element, options) {
+    element = $(element);
+    new Effect.Highlight(element, options);
+    return element;
+  }
+};
+
+$w('fade appear grow shrink fold blindUp blindDown slideUp slideDown '+
+  'pulsate shake puff squish switchOff dropOut').each(
+  function(effect) {
+    Effect.Methods[effect] = function(element, options){
+      element = $(element);
+      Effect[effect.charAt(0).toUpperCase() + effect.substring(1)](element, options);
+      return element;
+    };
+  }
+);
+
+$w('getInlineOpacity forceRerendering setContentZoom collectTextNodes collectTextNodesIgnoreClass getStyles').each(
+  function(f) { Effect.Methods[f] = Element[f]; }
+);
+
+Element.addMethods(Effect.Methods);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/ec5eb314/website-old/oldsite/images/favicon.ico
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/favicon.ico b/website-old/oldsite/images/favicon.ico
new file mode 100644
index 0000000..4f5878d
Binary files /dev/null and b/website-old/oldsite/images/favicon.ico differ

http://git-wip-us.apache.org/repos/asf/mahout/blob/ec5eb314/website-old/oldsite/images/flink_squirrel_100_color.png
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/flink_squirrel_100_color.png b/website-old/oldsite/images/flink_squirrel_100_color.png
new file mode 100644
index 0000000..c508e1e
Binary files /dev/null and b/website-old/oldsite/images/flink_squirrel_100_color.png differ

http://git-wip-us.apache.org/repos/asf/mahout/blob/ec5eb314/website-old/oldsite/images/forward.gif
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/forward.gif b/website-old/oldsite/images/forward.gif
new file mode 100755
index 0000000..c17444a
Binary files /dev/null and b/website-old/oldsite/images/forward.gif differ

http://git-wip-us.apache.org/repos/asf/mahout/blob/ec5eb314/website-old/oldsite/images/generic page.png
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/generic page.png b/website-old/oldsite/images/generic page.png
new file mode 100644
index 0000000..892564d
Binary files /dev/null and b/website-old/oldsite/images/generic page.png differ


Mime
View raw message