From 16aab5b2e15377a74c6b3345de82291b90bfa8b5 Mon Sep 17 00:00:00 2001
From: mattpiwik <matthieu.aubry@gmail.com>
Date: Mon, 27 Apr 2009 04:18:16 +0000
Subject: [PATCH] - API CHANGE: the API for the function Piwik_AddWidget has
 changed. The new API is Piwik_AddWidget( $widgetCategory, $widgetName,
 $controllerName, $controllerAction, $customParameters = array()). See
 examples of calls in all the core Piwik plugins. This change was necessary to
 make widgets more modular (they now accept custom parameters). - API CHANGE:
 a small number of CSV outputs for some API calls would change following the
 simplification of DataTable_Simple implementation. Affected calls are
 VisitsSummary.get, Goals.get, VisitFrequency.get. This is due to a change in
 the implementation of DataTable_Simple (we simplified implementation). -
 FIXED #84 Added proper translations for all columns, in tables, and graphs. -
 FIXED #322 piwik is now using open flash chart 2 - FIXED #126 all dates
 should be correctly displayed in all graphs. For example, evolution graph for
 days would show, on the X axis "Mon 29", "Wed 31". For months it would show
 "Aug 2009", etc. - ADDED: when hovering any of the sparklines, the UI makes
 it clear that clicking will refresh the evolution graph. This feature was in
 Piwik for months, and even Google Analytics implemented this UI feature after
 Piwik. However in Piwik it wasn't clear to the user that the sparklines were
 clickable. - ADDED: now widgets can be created with custom parameters. This
 makes it possible to create a widget that calls a controller->action with
 other custom parameters, this is used in Piwik to draw an evolution graph
 (module=VisitsSummary & action=getEvolutionGraph) for a given metric
 (&columns[]=nb_visits). These custom parameters are automatically forwarded
 to the sparkline url, the flash graph when clicked on sparkline, etc.

- The widget layout is now saved as a JSON string rather than a custom data structure. The dashboard code should be able to read & restore most of the layouts from the old format (except the evolution graphs widgets). Simplified the Dashboard.js, widgetMenu.js, cleaned up what was a messy code.
- Added sentence in Widgetize to let users know they can easily export the Piwik dashboard in an iframe.
- Changed the way translations used in Javascript are loaded: all translations strings finishing by _js will be loaded to be used in the templates when calling {loadJavascriptTranslations plugins='YOUR_PLUGIN_NAME'}
- Moved all templates in plugins under plugins/$PLUGIN/templates/
- 'Khtml (Konqueror, Safari)' now displayed as 'KHTML (Safari, Chrome)'

git-svn-id: http://dev.piwik.org/svn/trunk@1072 59fd770c-687e-43c8-a1e3-f5a4ff64c105
---
 LICENSE                                       |    2 +-
 core/API/ResponseBuilder.php                  |   13 +-
 core/Archive/Array/IndexedByDate.php          |    5 +-
 core/Archive/Array/IndexedBySite.php          |    1 +
 core/Archive/Single.php                       |    5 +
 core/ArchiveProcessing.php                    |   12 +-
 core/ArchiveProcessing/Day.php                |   10 -
 core/ArchiveProcessing/Period.php             |    2 +-
 core/Controller.php                           |   29 +-
 core/DataTable/Array.php                      |   10 +-
 .../ColumnCallbackAddColumnPercentage.php     |   28 +-
 core/DataTable/Filter/SafeDecodeLabel.php     |    9 +-
 core/DataTable/Renderer/Console.php           |   15 +-
 core/DataTable/Renderer/Csv.php               |   21 +-
 core/DataTable/Renderer/Html.php              |    6 -
 core/DataTable/Renderer/Php.php               |   11 +-
 core/DataTable/Renderer/Rss.php               |    6 -
 core/DataTable/Renderer/Xml.php               |    4 +-
 core/DataTable/Simple.php                     |   24 +-
 core/Date.php                                 |   29 +-
 core/FrontController.php                      |    1 +
 core/Period.php                               |    4 +-
 core/Period/Day.php                           |   14 +-
 core/Period/Month.php                         |    7 +
 core/Period/Range.php                         |   12 +-
 core/Period/Week.php                          |   11 +
 core/Period/Year.php                          |    7 +
 core/Piwik.php                                |    9 +
 core/PluginsFunctions/WidgetsList.php         |   17 +-
 core/Site.php                                 |    5 +
 .../function.loadJavascriptTranslations.php   |   48 +-
 core/Translate.php                            |   19 +-
 core/Url.php                                  |    4 +
 core/ViewDataTable.php                        |   46 +
 core/ViewDataTable/GenerateGraphData.php      |   73 +-
 .../GenerateGraphData/ChartEvolution.php      |  247 +--
 core/ViewDataTable/GenerateGraphHTML.php      |    2 +-
 core/ViewDataTable/HtmlTable.php              |   51 +-
 core/ViewDataTable/HtmlTable/AllColumns.php   |    3 -
 core/ViewDataTable/HtmlTable/Goals.php        |    2 -
 core/ViewDataTable/Sparkline.php              |   95 +-
 core/Visualization/Chart.php                  |  180 +-
 core/Visualization/Chart/Evolution.php        |  126 +-
 core/Visualization/Chart/Pie.php              |   61 +-
 core/Visualization/Chart/VerticalBar.php      |   56 +-
 core/Visualization/OpenFlashChart.php         | 1637 -----------------
 core/Visualization/Sparkline.php              |   44 +-
 lang/en.php                                   |   78 +-
 libs/javascript/json2.js                      |   29 +
 libs/open-flash-chart/open-flash-chart.swf    |  Bin 64600 -> 271000 bytes
 .../php-ofc-library/README.txt                |   16 +
 .../php-ofc-library/dot_base.php              |  231 +++
 .../php-ofc-library/json_format.php           |   86 +
 .../php-ofc-library/ofc_area_base.php         |   40 +
 .../php-ofc-library/ofc_area_hollow.php       |   10 +
 .../php-ofc-library/ofc_area_line.php         |   10 +
 .../php-ofc-library/ofc_bar.php               |   34 +
 .../php-ofc-library/ofc_bar_3d.php            |   22 +
 .../php-ofc-library/ofc_bar_base.php          |   78 +
 .../php-ofc-library/ofc_bar_filled.php        |   39 +
 .../php-ofc-library/ofc_bar_glass.php         |  109 ++
 .../php-ofc-library/ofc_bar_sketch.php        |   29 +
 .../php-ofc-library/ofc_bar_stack.php         |   50 +
 .../php-ofc-library/ofc_hbar.php              |   64 +
 .../php-ofc-library/ofc_line.php              |  115 ++
 .../php-ofc-library/ofc_line_base.php         |   92 +
 .../php-ofc-library/ofc_line_dot.php          |   33 +
 .../php-ofc-library/ofc_line_hollow.php       |    9 +
 .../php-ofc-library/ofc_line_style.php        |   11 +
 .../php-ofc-library/ofc_menu.php              |   56 +
 .../php-ofc-library/ofc_pie.php               |  257 +++
 .../php-ofc-library/ofc_radar_axis.php        |   47 +
 .../php-ofc-library/ofc_radar_axis_labels.php |   15 +
 .../ofc_radar_spoke_labels.php                |   15 +
 .../php-ofc-library/ofc_scatter.php           |   47 +
 .../php-ofc-library/ofc_scatter_line.php      |   43 +
 .../php-ofc-library/ofc_shape.php             |   25 +
 .../php-ofc-library/ofc_sugar.php             |   43 +
 .../php-ofc-library/ofc_title.php             |   39 +
 .../php-ofc-library/ofc_tooltip.php           |   67 +
 .../php-ofc-library/ofc_upload_image.php      |   70 +
 .../php-ofc-library/ofc_x_axis.php            |  104 ++
 .../php-ofc-library/ofc_x_axis_label.php      |   45 +
 .../php-ofc-library/ofc_x_axis_labels.php     |   46 +
 .../php-ofc-library/ofc_x_legend.php          |   15 +
 .../php-ofc-library/ofc_y_axis.php            |   16 +
 .../php-ofc-library/ofc_y_axis_base.php       |  131 ++
 .../php-ofc-library/ofc_y_axis_right.php      |    6 +
 .../php-ofc-library/ofc_y_legend.php          |   15 +
 .../open-flash-chart-object.php               |  109 ++
 .../php-ofc-library/open-flash-chart.php      |  174 ++
 misc/widget_example_lastvisits.html           |    2 +-
 plugins/Actions/Actions.php                   |    6 +-
 plugins/CoreHome/templates/calendar.js        |   38 +-
 plugins/CoreHome/templates/datatable.css      |   12 +-
 plugins/CoreHome/templates/datatable.js       |   24 +-
 .../CoreHome/templates/datatable_footer.tpl   |    1 -
 plugins/CoreHome/templates/datatable_js.tpl   |    1 -
 plugins/CoreHome/templates/header_message.tpl |    4 +-
 .../CoreHome/templates/js_css_includes.tpl    |    2 -
 plugins/CoreHome/templates/piwik_tag.tpl      |    1 +
 plugins/CoreHome/templates/sparkline.js       |   88 +-
 plugins/CoreHome/templates/styles.css         |   20 +-
 plugins/Dashboard/Controller.php              |   22 +-
 plugins/Dashboard/Dashboard.php               |    1 +
 plugins/Dashboard/templates/Dashboard.js      |  424 ++---
 plugins/Dashboard/templates/dashboard.css     |   23 +-
 plugins/Dashboard/templates/header.tpl        |   22 +-
 plugins/Dashboard/templates/index.tpl         |   83 +-
 plugins/Dashboard/templates/standalone.tpl    |    5 +
 plugins/Dashboard/templates/widgetMenu.js     |  453 +++--
 .../ExampleFeedburner/ExampleFeedburner.php   |    4 +-
 .../{ => templates}/feedburner.tpl            |    0
 plugins/ExamplePlugin/ExamplePlugin.php       |   17 +-
 plugins/ExampleRssWidget/ExampleRssWidget.php |    6 +-
 .../{ => templates}/styles.css                |    0
 plugins/Feedback/Controller.php               |    4 +-
 plugins/Feedback/{ => templates}/index.tpl    |    0
 plugins/Feedback/{ => templates}/sent.tpl     |    0
 plugins/Goals/API.php                         |   36 +-
 plugins/Goals/Controller.php                  |  112 +-
 plugins/Goals/Goals.php                       |    1 -
 plugins/Goals/templates/overview.tpl          |   19 +-
 plugins/Goals/templates/release_notes.tpl     |    4 +-
 .../templates/title_and_evolution_graph.tpl   |   26 +-
 plugins/Live/API.php                          |    3 +-
 plugins/Live/Live.php                         |    2 +-
 plugins/Provider/Provider.php                 |    2 +-
 plugins/Referers/API.php                      |    2 +-
 plugins/Referers/Controller.php               |   80 +-
 plugins/Referers/Referers.php                 |   10 +-
 plugins/Referers/templates/index.tpl          |   42 +-
 .../SitesManager/templates/SitesManager.js    |    2 +-
 plugins/UserCountry/API.php                   |    2 +-
 plugins/UserCountry/Controller.php            |    2 +-
 plugins/UserCountry/UserCountry.php           |    4 +-
 plugins/UserCountry/{ => templates}/index.tpl |    0
 plugins/UserSettings/Controller.php           |    2 +-
 plugins/UserSettings/UserSettings.php         |   16 +-
 .../UserSettings/{ => templates}/index.tpl    |    0
 .../UsersManager/templates/UsersManager.js    |    2 +-
 plugins/VisitFrequency/API.php                |   35 +-
 plugins/VisitFrequency/Controller.php         |   91 +-
 plugins/VisitFrequency/VisitFrequency.php     |    4 +-
 plugins/VisitFrequency/sparklines.tpl         |   13 -
 .../VisitFrequency/{ => templates}/index.tpl  |    4 +-
 .../VisitFrequency/templates/sparklines.tpl   |   11 +
 plugins/VisitTime/Controller.php              |    2 +-
 plugins/VisitTime/VisitTime.php               |    6 +-
 plugins/VisitTime/{ => templates}/index.tpl   |    0
 plugins/VisitorInterest/Controller.php        |    2 +-
 plugins/VisitorInterest/VisitorInterest.php   |    5 +-
 .../VisitorInterest/{ => templates}/index.tpl |    0
 plugins/VisitsSummary/API.php                 |   51 +-
 plugins/VisitsSummary/Controller.php          |  103 +-
 plugins/VisitsSummary/VisitsSummary.php       |    7 +-
 plugins/VisitsSummary/sparklines.tpl          |   13 -
 .../VisitsSummary/{ => templates}/index.tpl   |    7 +-
 .../VisitsSummary/templates/sparklines.tpl    |   13 +
 plugins/Widgetize/templates/iframe.tpl        |   15 +-
 plugins/Widgetize/templates/index.tpl         |   57 +-
 plugins/Widgetize/templates/js.tpl            |    2 +-
 plugins/Widgetize/templates/widgetize.js      |  123 +-
 tests/core/DataTable/Renderer.test.php        |   25 +-
 tests/core/Url.test.php                       |   12 +
 themes/default/common.js                      |   34 +
 166 files changed, 4474 insertions(+), 3386 deletions(-)
 delete mode 100644 core/Visualization/OpenFlashChart.php
 create mode 100644 libs/javascript/json2.js
 create mode 100644 libs/open-flash-chart/php-ofc-library/README.txt
 create mode 100644 libs/open-flash-chart/php-ofc-library/dot_base.php
 create mode 100644 libs/open-flash-chart/php-ofc-library/json_format.php
 create mode 100644 libs/open-flash-chart/php-ofc-library/ofc_area_base.php
 create mode 100644 libs/open-flash-chart/php-ofc-library/ofc_area_hollow.php
 create mode 100644 libs/open-flash-chart/php-ofc-library/ofc_area_line.php
 create mode 100644 libs/open-flash-chart/php-ofc-library/ofc_bar.php
 create mode 100644 libs/open-flash-chart/php-ofc-library/ofc_bar_3d.php
 create mode 100644 libs/open-flash-chart/php-ofc-library/ofc_bar_base.php
 create mode 100644 libs/open-flash-chart/php-ofc-library/ofc_bar_filled.php
 create mode 100644 libs/open-flash-chart/php-ofc-library/ofc_bar_glass.php
 create mode 100644 libs/open-flash-chart/php-ofc-library/ofc_bar_sketch.php
 create mode 100644 libs/open-flash-chart/php-ofc-library/ofc_bar_stack.php
 create mode 100644 libs/open-flash-chart/php-ofc-library/ofc_hbar.php
 create mode 100644 libs/open-flash-chart/php-ofc-library/ofc_line.php
 create mode 100644 libs/open-flash-chart/php-ofc-library/ofc_line_base.php
 create mode 100644 libs/open-flash-chart/php-ofc-library/ofc_line_dot.php
 create mode 100644 libs/open-flash-chart/php-ofc-library/ofc_line_hollow.php
 create mode 100644 libs/open-flash-chart/php-ofc-library/ofc_line_style.php
 create mode 100644 libs/open-flash-chart/php-ofc-library/ofc_menu.php
 create mode 100644 libs/open-flash-chart/php-ofc-library/ofc_pie.php
 create mode 100644 libs/open-flash-chart/php-ofc-library/ofc_radar_axis.php
 create mode 100644 libs/open-flash-chart/php-ofc-library/ofc_radar_axis_labels.php
 create mode 100644 libs/open-flash-chart/php-ofc-library/ofc_radar_spoke_labels.php
 create mode 100644 libs/open-flash-chart/php-ofc-library/ofc_scatter.php
 create mode 100644 libs/open-flash-chart/php-ofc-library/ofc_scatter_line.php
 create mode 100644 libs/open-flash-chart/php-ofc-library/ofc_shape.php
 create mode 100644 libs/open-flash-chart/php-ofc-library/ofc_sugar.php
 create mode 100644 libs/open-flash-chart/php-ofc-library/ofc_title.php
 create mode 100644 libs/open-flash-chart/php-ofc-library/ofc_tooltip.php
 create mode 100644 libs/open-flash-chart/php-ofc-library/ofc_upload_image.php
 create mode 100644 libs/open-flash-chart/php-ofc-library/ofc_x_axis.php
 create mode 100644 libs/open-flash-chart/php-ofc-library/ofc_x_axis_label.php
 create mode 100644 libs/open-flash-chart/php-ofc-library/ofc_x_axis_labels.php
 create mode 100644 libs/open-flash-chart/php-ofc-library/ofc_x_legend.php
 create mode 100644 libs/open-flash-chart/php-ofc-library/ofc_y_axis.php
 create mode 100644 libs/open-flash-chart/php-ofc-library/ofc_y_axis_base.php
 create mode 100644 libs/open-flash-chart/php-ofc-library/ofc_y_axis_right.php
 create mode 100644 libs/open-flash-chart/php-ofc-library/ofc_y_legend.php
 create mode 100644 libs/open-flash-chart/php-ofc-library/open-flash-chart-object.php
 create mode 100644 libs/open-flash-chart/php-ofc-library/open-flash-chart.php
 create mode 100644 plugins/Dashboard/templates/standalone.tpl
 rename plugins/ExampleFeedburner/{ => templates}/feedburner.tpl (100%)
 rename plugins/ExampleRssWidget/{ => templates}/styles.css (100%)
 rename plugins/Feedback/{ => templates}/index.tpl (100%)
 rename plugins/Feedback/{ => templates}/sent.tpl (100%)
 rename plugins/UserCountry/{ => templates}/index.tpl (100%)
 rename plugins/UserSettings/{ => templates}/index.tpl (100%)
 delete mode 100644 plugins/VisitFrequency/sparklines.tpl
 rename plugins/VisitFrequency/{ => templates}/index.tpl (68%)
 create mode 100644 plugins/VisitFrequency/templates/sparklines.tpl
 rename plugins/VisitTime/{ => templates}/index.tpl (100%)
 rename plugins/VisitorInterest/{ => templates}/index.tpl (100%)
 delete mode 100644 plugins/VisitsSummary/sparklines.tpl
 rename plugins/VisitsSummary/{ => templates}/index.tpl (65%)
 create mode 100644 plugins/VisitsSummary/templates/sparklines.tpl

diff --git a/LICENSE b/LICENSE
index 6d5606bb24..5e08270fef 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,2 +1,2 @@
-# GNU/GPL v3 or later
+# GNU/GPL v3 or later 
 see misc/license.txt
diff --git a/core/API/ResponseBuilder.php b/core/API/ResponseBuilder.php
index 52e2d0ee14..1f6f04c8fb 100644
--- a/core/API/ResponseBuilder.php
+++ b/core/API/ResponseBuilder.php
@@ -156,11 +156,16 @@ class Piwik_API_ResponseBuilder
 		// if asked for original dataStructure
 		if($format == 'original')
 		{
-			// if the original dataStructure is a simpleDataTable and has only one row, we return the value
-			if($dataTable instanceof Piwik_DataTable_Simple
-				&& $dataTable->getRowsCount() == 1)
+			// if the original dataStructure is a simpleDataTable 
+			// and has only one column, we return the value
+			if($dataTable instanceof Piwik_DataTable_Simple)
 			{
-				return $dataTable->getRowFromId(0)->getColumn('value');
+				$columns = $dataTable->getFirstRow()->getColumns();
+				if(count($columns) == 1)
+				{
+					$values = array_values($columns);
+					return $values[0];
+				}
 			}
 			
 			// by default "original" data is not serialized
diff --git a/core/Archive/Array/IndexedByDate.php b/core/Archive/Array/IndexedByDate.php
index 57ab78bb1c..f9fe5eb3a1 100644
--- a/core/Archive/Array/IndexedByDate.php
+++ b/core/Archive/Array/IndexedByDate.php
@@ -34,6 +34,7 @@ class Piwik_Archive_Array_IndexedByDate extends Piwik_Archive_Array
 		$table->metadata[$archive->getPrettyDate()] = array( 
 				'timestamp' => $archive->getTimestampStartDate(),
 				'site' => $archive->getSite(),
+				'period' => $archive->getPeriod(),
 			);
 	}
 	
@@ -78,7 +79,7 @@ class Piwik_Archive_Array_IndexedByDate extends Piwik_Archive_Array
 		foreach($queries as $table => $aIds)
 		{
 			$inIds = implode(', ', $aIds);
-			$sql = "SELECT value, name, idarchive, UNIX_TIMESTAMP(date1) as timestamp
+			$sql = "SELECT value, name, UNIX_TIMESTAMP(date1) as timestamp
 									FROM $table
 									WHERE idarchive IN ( $inIds )
 										AND name IN ( $inNames )";
@@ -87,7 +88,7 @@ class Piwik_Archive_Array_IndexedByDate extends Piwik_Archive_Array
 			
 			foreach($values as $value)
 			{
-				$arrayValues[$value['timestamp']][$value['name']] = $value['value'];
+				$arrayValues[$value['timestamp']][$value['name']] = (float)$value['value'];
 			}			
 		}
 		
diff --git a/core/Archive/Array/IndexedBySite.php b/core/Archive/Array/IndexedBySite.php
index 1a27c10ce5..7dbf0f5a30 100644
--- a/core/Archive/Array/IndexedBySite.php
+++ b/core/Archive/Array/IndexedBySite.php
@@ -66,6 +66,7 @@ class Piwik_Archive_Array_IndexedBySite extends Piwik_Archive_Array
 
 	private function getValues($fields)
 	{
+		$arrayValues = array();
 		foreach($this->loadValuesFromDB($fields) as $value)
  		{
 			$arrayValues[$value['idsite']][$value['name']] = $value['value'];
diff --git a/core/Archive/Single.php b/core/Archive/Single.php
index e4d6c4d472..475d5319eb 100644
--- a/core/Archive/Single.php
+++ b/core/Archive/Single.php
@@ -107,6 +107,11 @@ class Piwik_Archive_Single extends Piwik_Archive
 		$this->period = $period;
 	}
 	
+	public function getPeriod()
+	{
+		return $this->period;
+	}
+	
 	/**
 	 * Returns the timestamp of the first date in the period for this Archive.
 	 * This is used to sort archives by date when working on a Archive_Array
diff --git a/core/ArchiveProcessing.php b/core/ArchiveProcessing.php
index 3418447d10..d2b5c6f72f 100644
--- a/core/ArchiveProcessing.php
+++ b/core/ArchiveProcessing.php
@@ -173,6 +173,13 @@ abstract class Piwik_ArchiveProcessing
 	 */
 	protected $debugAlwaysArchive = false;
 	
+	/**
+	 * If the archive has at least 1 visit, this is set to true.
+	 *
+	 * @var bool
+	 */
+	public $isThereSomeVisits = false;
+	
 	/**
 	 * Constructor
 	 */
@@ -290,11 +297,6 @@ abstract class Piwik_ArchiveProcessing
 		{
 			return null;
 		}
-		else
-		{
-			$this->isThereSomeVisits = true;
-		}
-		
 		return $this->idArchive;
 	}
 	
diff --git a/core/ArchiveProcessing/Day.php b/core/ArchiveProcessing/Day.php
index 7fcc512c46..1b0a21c19b 100644
--- a/core/ArchiveProcessing/Day.php
+++ b/core/ArchiveProcessing/Day.php
@@ -22,16 +22,6 @@
  */
 class Piwik_ArchiveProcessing_Day extends Piwik_ArchiveProcessing
 {
-	/**
-	 * If the archive has at least 1 visit, this is set to true.
-	 *
-	 * @var bool
-	 */
-	public $isThereSomeVisits = false;
-	
-	/**
-	 * Constructor
-	 */
 	function __construct()
 	{
 		parent::__construct();
diff --git a/core/ArchiveProcessing/Period.php b/core/ArchiveProcessing/Period.php
index e2bcfda5c9..06cd6ab894 100644
--- a/core/ArchiveProcessing/Period.php
+++ b/core/ArchiveProcessing/Period.php
@@ -267,7 +267,7 @@ class Piwik_ArchiveProcessing_Period extends Piwik_ArchiveProcessing
 		
 		$nbVisits = $record['nb_visits']->value;
 		$nbVisitsConverted = $record['nb_visits_converted']->value;
-		$this->isThereSomeVisits = ( $nbVisits!= 0);
+		$this->isThereSomeVisits = ( $nbVisits > 0);
 		if($this->isThereSomeVisits === false)
 		{
 			return;
diff --git a/core/Controller.php b/core/Controller.php
index ed615103a9..8718b20cf2 100644
--- a/core/Controller.php
+++ b/core/Controller.php
@@ -68,6 +68,21 @@ abstract class Piwik_Controller
 		return 'index';
 	}
 	
+	protected $standardColumnNameToTranslation = array(
+		'label' => 'General_ColumnLabel',
+		'nb_visits' => 'General_ColumnNbVisits',
+		'nb_actions' => 'General_ColumnNbActions',
+		'max_actions' => 'General_ColumnMaxActions',
+		'sum_visit_length' => 'General_ColumnSumVisitLength',
+		'nb_uniq_visitors' => 'General_ColumnNbUniqVisitors',
+		'nb_actions_per_visit' => 'General_ColumnActionsPerVisit',
+		'avg_time_on_site' => 'General_ColumnAvgTimeOnSite',
+		'bounce_rate' => 'General_ColumnBounceRate',
+	
+		'revenue_per_visit' => 'General_ColumnValuePerVisit',
+		'goals_conversion_rate' => 'General_ColumnVisitsWithConversions',
+	);
+	
 	/**
 	 * Given an Object implementing Piwik_iView interface, we either:
 	 * - echo the output of the rendering if fetch = false
@@ -88,6 +103,9 @@ abstract class Piwik_Controller
 									'controllerActionCalledWhenRequestSubTable' => $view->getControllerActionCalledWhenRequestSubTable(),
 							)
 				);
+
+		$standardColumnNameToTranslation = array_map('Piwik_Translate', $this->standardColumnNameToTranslation);
+		$view->setColumnsTranslations($standardColumnNameToTranslation);
 		$view->main();
 		$rendered = $view->getView()->render();
 		if($fetch)
@@ -118,7 +136,7 @@ abstract class Piwik_Controller
 		if( !is_null($this->date))
 		{
 			$view->setParametersToModify( 
-				$this->getGraphParamsModified( array('date'=>$this->strDate))
+				$this->getGraphParamsModified( array('date' => $this->strDate))
 				);
 		}
 		
@@ -192,20 +210,22 @@ abstract class Piwik_Controller
 	}
 
 	/**
-	 * Returns the current URL to use in a <img src=X> to display a sparkline.
+	 * Returns the current URL to use in a img src=X to display a sparkline.
 	 * $action must be the name of a Controller method that requests data using the Piwik_ViewDataTable::factory
 	 * It will automatically build a sparkline by setting the viewDataTable=sparkline parameter in the URL.
 	 * It will also computes automatically the 'date' for the 'last30' days/weeks/etc. 
 	 *
 	 * @param string $action, eg. method name of the controller to call in the img src
+	 * @param array array of name => value of parameters to set in the generated GET url 
 	 * @return string the generated URL
 	 */
-	protected function getUrlSparkline( $action )
+	protected function getUrlSparkline( $action, $customParameters = array() )
 	{
 		$params = $this->getGraphParamsModified( 
 					array(	'viewDataTable' => 'sparkline', 
 							'action' => $action,
 							'module' => $this->pluginName)
+					+ $customParameters
 				);
 		$url = Piwik_Url::getCurrentQueryStringWithParametersModified($params);
 		return $url;
@@ -214,7 +234,8 @@ abstract class Piwik_Controller
 	protected function setGeneralVariablesView($view)
 	{
 		$oDate = Piwik_Date::factory($this->strDate);
-		$localizedDateFormat = Piwik_Translate('CoreHome_LocalizedDateFormat');
+		//TODO TO FIX
+		$localizedDateFormat = Piwik_Translate('CoreHome_DayFormat');
 		$view->prettyDate = $oDate->getLocalized($localizedDateFormat);
 		$view->date = $this->strDate;
 		
diff --git a/core/DataTable/Array.php b/core/DataTable/Array.php
index 63bbd6704b..11b812e894 100644
--- a/core/DataTable/Array.php
+++ b/core/DataTable/Array.php
@@ -111,7 +111,7 @@ class Piwik_DataTable_Array
 	 */
 	public function filter($className, $parameters = array())
 	{
-		foreach($this->array as $table)
+		foreach($this->array as $id => $table)
 		{
 			$table->filter($className, $parameters);
 		}
@@ -161,6 +161,14 @@ class Piwik_DataTable_Array
 			$table->enableRecursiveSort();
 		}
 	}
+	
+	public function deleteColumns($columns)
+	{
+		foreach($this->array as $table)
+		{
+			$table->deleteColumns($columns);
+		}
+	}
 }
 
 
diff --git a/core/DataTable/Filter/ColumnCallbackAddColumnPercentage.php b/core/DataTable/Filter/ColumnCallbackAddColumnPercentage.php
index 7032a3a873..15ffab66c5 100644
--- a/core/DataTable/Filter/ColumnCallbackAddColumnPercentage.php
+++ b/core/DataTable/Filter/ColumnCallbackAddColumnPercentage.php
@@ -16,22 +16,32 @@ class Piwik_DataTable_Filter_ColumnCallbackAddColumnPercentage extends Piwik_Dat
 {
 	private $columnValueToRead;
 	private $columnNamePercentageToAdd;
-	private $totalValueUsedToComputePercentage;
+	private $columnNameUsedAsDivisor;
+	private $totalValueUsedAsDivisor;
 	private $percentagePrecision;
 	
 	/**
 	 * @param Piwik_DataTable $table
 	 * @param string $columnValueToRead
 	 * @param string $columnNamePercentageToAdd
-	 * @param double $totalValueUsedToComputePercentage
+	 * @param numeric|string $totalValueUsedToComputePercentageOrColumnName 
+	 * 						if a numeric value is given, we use this value as the divisor to process the percentage. 
+	 * 						if a string is given, this string is the column name's value used as the divisor.
 	 * @param int $percentagePrecision precision 0 means "11", 1 means "11.2"
 	 */
-	public function __construct( $table, $columnValueToRead, $columnNamePercentageToAdd, $totalValueUsedToComputePercentage, $percentagePrecision = 0 )
+	public function __construct( $table, $columnValueToRead, $columnNamePercentageToAdd, $totalValueUsedToComputePercentageOrColumnName, $percentagePrecision = 0 )
 	{
 		parent::__construct($table);
 		$this->columnValueToRead = $columnValueToRead;
 		$this->columnNamePercentageToAdd = $columnNamePercentageToAdd;
-		$this->totalValueUsedToComputePercentage = $totalValueUsedToComputePercentage;
+		if(is_numeric($totalValueUsedToComputePercentageOrColumnName))
+		{
+			$this->totalValueUsedAsDivisor = $totalValueUsedToComputePercentageOrColumnName;
+		}
+		else
+		{
+			$this->columnNameUsedAsDivisor = $totalValueUsedToComputePercentageOrColumnName;
+		}
 		$this->percentagePrecision = $percentagePrecision;
 		$this->filter();
 	}
@@ -41,7 +51,15 @@ class Piwik_DataTable_Filter_ColumnCallbackAddColumnPercentage extends Piwik_Dat
 		foreach($this->table->getRows() as $key => $row)
 		{
 			$value = $row->getColumn($this->columnValueToRead);
-			$percentage = round( 100 * $value / $this->totalValueUsedToComputePercentage, $this->percentagePrecision);
+			if(!is_null($this->totalValueUsedAsDivisor))
+			{
+				$divisor = $this->totalValueUsedAsDivisor;
+			}
+			else
+			{
+				$divisor = $row->getColumn($this->columnNameUsedAsDivisor);
+			}
+			$percentage = Piwik::getPercentageSafe($value, $divisor, $this->percentagePrecision);
 			$row->addColumn($this->columnNamePercentageToAdd, $percentage);
 		}
 	}
diff --git a/core/DataTable/Filter/SafeDecodeLabel.php b/core/DataTable/Filter/SafeDecodeLabel.php
index fc293d9107..454d4599f4 100644
--- a/core/DataTable/Filter/SafeDecodeLabel.php
+++ b/core/DataTable/Filter/SafeDecodeLabel.php
@@ -28,13 +28,18 @@ class Piwik_DataTable_Filter_SafeDecodeLabel extends Piwik_DataTable_Filter
 	{
 		foreach($this->table->getRows() as $row)
 		{
-			$row->setColumn( 	$this->columnToDecode, 
+			$value = $row->getColumn($this->columnToDecode);
+			if($value !== false)
+			{
+				$row->setColumn( 
+								$this->columnToDecode, 
 								htmlspecialchars(
 									htmlspecialchars_decode(
-										urldecode($row->getColumn($this->columnToDecode)),
+										urldecode($value),
 										ENT_QUOTES), 
 									ENT_QUOTES)
 					);
+			}
 		}
 	}
 }
diff --git a/core/DataTable/Renderer/Console.php b/core/DataTable/Renderer/Console.php
index b0c00e3f6f..d324370024 100644
--- a/core/DataTable/Renderer/Console.php
+++ b/core/DataTable/Renderer/Console.php
@@ -29,16 +29,27 @@ class Piwik_DataTable_Renderer_Console extends Piwik_DataTable_Renderer
 		$this->prefixRows = $str;
 	}
 	
-	protected function renderDataTableArray(Piwik_DataTable_Array $table, $prefix )
+	protected function renderDataTableArray(Piwik_DataTable_Array $tableArray, $prefix )
 	{
 		$output = "Piwik_DataTable_Array<hr>";
 		$prefix = $prefix . '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
-		foreach($table->getArray() as $descTable => $table)
+		foreach($tableArray->getArray() as $descTable => $table)
 		{
 			$output .= $prefix . "<b>". $descTable. "</b><br>";
 			$output .= $prefix . $this->renderTable($table, $prefix . '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;');
 			$output .= "<hr>";
 		}
+		$output .= "Metadata<br>";
+		foreach($tableArray->metadata as $id => $metadata)
+		{
+			$output .= "<br>";
+			$output .= $prefix . " <b>$id</b> <br>";
+			foreach($metadata as $name => $value)
+			{
+				$output .= $prefix . $prefix . "$name => $value";
+			}
+		}
+		$output .= "<hr>";
 		return $output;
 	}
 	
diff --git a/core/DataTable/Renderer/Csv.php b/core/DataTable/Renderer/Csv.php
index 55a4887370..53dbc25a8d 100644
--- a/core/DataTable/Renderer/Csv.php
+++ b/core/DataTable/Renderer/Csv.php
@@ -110,16 +110,21 @@ class Piwik_DataTable_Renderer_Csv extends Piwik_DataTable_Renderer
 	
 	protected function renderDataTable( $table )
 	{	
-		if($table instanceof Piwik_DataTable_Simple 
-			&& $table->getRowsCount() == 1)
+		if($table instanceof Piwik_DataTable_Simple)
 		{
-			$str = 'value' . $this->lineEnd . $this->formatValue($table->getRowFromId(0)->getColumn('value'));
-			return $str;
+			$row = $table->getFirstRow();
+			if($row !== false)
+			{
+				$columnNameToValue = $row->getColumns();
+				if(count($columnNameToValue) == 1)
+				{
+					$value = array_values($columnNameToValue);
+					$str = 'value' . $this->lineEnd . $this->formatValue($value[0]);
+					return $str;
+				}
+			}
 		}
-		
-		$csv = array();		
-
-		$allColumns = array();
+		$csv = $allColumns = array();
 		foreach($table->getRows() as $row)
 		{
 			$csvRow = array();
diff --git a/core/DataTable/Renderer/Html.php b/core/DataTable/Renderer/Html.php
index ef9664ba23..6601a6c7ad 100644
--- a/core/DataTable/Renderer/Html.php
+++ b/core/DataTable/Renderer/Html.php
@@ -51,12 +51,6 @@ class Piwik_DataTable_Renderer_Html extends Piwik_DataTable_Renderer
 		{
 			return "<b><i>Empty table</i></b> <br>\n";
 		}
-		if($table instanceof Piwik_DataTable_Simple 
-			&& $table->getRowsCount() ==1)
-		{
-			$table->deleteColumn('label');
-		}
-		
 		static $depth=0;
 		$i = 1;
 		$someMetadata = false;
diff --git a/core/DataTable/Renderer/Php.php b/core/DataTable/Renderer/Php.php
index b098fedeb8..1fcfea5d3b 100644
--- a/core/DataTable/Renderer/Php.php
+++ b/core/DataTable/Renderer/Php.php
@@ -97,7 +97,6 @@ class Piwik_DataTable_Renderer_Php extends Piwik_DataTable_Renderer
 			}
 		}
 		
-		// A DataTable_Simple is already flattened so no need to do some crazy stuff to convert it
 		else if($dataTable instanceof Piwik_DataTable_Simple)
 		{
 			$flatArray = $this->renderSimpleTable($dataTable);
@@ -198,9 +197,15 @@ class Piwik_DataTable_Renderer_Php extends Piwik_DataTable_Renderer
 	protected function renderSimpleTable($table)
 	{
 		$array = array();
-		foreach($table->getRows() as $row)
+
+		$row = $table->getFirstRow();
+		if($row === false)
+		{
+			return $array;
+		}
+		foreach($row->getColumns() as $columnName => $columnValue)
 		{
-			$array[$row->getColumn('label')] = $row->getColumn('value');
+			$array[$columnName] = $columnValue;
 		}
 		return $array;
 	}
diff --git a/core/DataTable/Renderer/Rss.php b/core/DataTable/Renderer/Rss.php
index 311925a9e7..fc8565bf66 100644
--- a/core/DataTable/Renderer/Rss.php
+++ b/core/DataTable/Renderer/Rss.php
@@ -95,16 +95,10 @@ class Piwik_DataTable_Renderer_Rss extends Piwik_DataTable_Renderer
 		
 	protected function renderDataTable($table)
 	{
-	
 		if($table->getRowsCount() == 0)
 		{
 			return "<b><i>Empty table</i></b> <br>\n";
 		}
-		if($table instanceof Piwik_DataTable_Simple 
-			&& $table->getRowsCount() ==1)
-		{
-			$table->deleteColumn('label');
-		}
 
 		$i = 1;		
 		$tableStructure = array();
diff --git a/core/DataTable/Renderer/Xml.php b/core/DataTable/Renderer/Xml.php
index f509c3e9bf..5d70a44bf8 100644
--- a/core/DataTable/Renderer/Xml.php
+++ b/core/DataTable/Renderer/Xml.php
@@ -160,9 +160,9 @@ class Piwik_DataTable_Renderer_Xml extends Piwik_DataTable_Renderer
 	  			{
 		  			if(is_array($dataTableSimple))
 		  			{
-			  			$dataTableSimple = "\n" . $this->renderDataTableSimple($dataTableSimple, $prefixLines . "\t") . "\t" ;
+			  			$dataTableSimple = "\n" . $this->renderDataTableSimple($dataTableSimple, $prefixLines . "\t") . $prefixLines . "\t";
 		  			}
-		  			$xml .= $prefixLines . "\t<result $nameDescriptionAttribute=\"$valueAttribute\">".$dataTableSimple. $prefixLines . "</result>\n";
+		  			$xml .= $prefixLines . "\t<result $nameDescriptionAttribute=\"$valueAttribute\">".$dataTableSimple. "</result>\n";
 	  			}
 	  		}
 	  		return $xml;
diff --git a/core/DataTable/Simple.php b/core/DataTable/Simple.php
index 33c9f87b79..8dfdbaefec 100644
--- a/core/DataTable/Simple.php
+++ b/core/DataTable/Simple.php
@@ -34,28 +34,6 @@ class Piwik_DataTable_Simple extends Piwik_DataTable
 	 */
 	function addRowsFromArray($array)
 	{
-		foreach($array as $label => $value)
-		{
-			$row = new Piwik_DataTable_Row;
-			$row->addColumn('label', $label);
-			$row->addColumn('value', $value);
-			$this->addRow($row);
-		}
-	}
-	
-	/**
-	 * Returns the 'value' column of the row that has a label '$label'. 
-	 *
-	 * @param string Label of the row we want the value
-	 * @return false|mixed The 'value' column of the row labelled $label
-	 */
-	function getColumn( $label )
-	{
-		$row = $this->getRowFromLabel($label);
-		if($row === false)
-		{
-			return false;
-		}
-		return $row->getColumn('value');
+		$this->addRowsFromSimpleArray(array($array));
 	}
 }
diff --git a/core/Date.php b/core/Date.php
index fc708ffd86..394adab8d4 100644
--- a/core/Date.php
+++ b/core/Date.php
@@ -237,20 +237,23 @@ class Piwik_Date
 		return date($part, $this->getTimestamp());
 	}
 	
-	/**
-	 * Returns a localized representation of a date or datepart
-	 *
-	 * @see Windows compatible arguments http://msdn.microsoft.com/en-us/library/fe06s4ak(VS.71).aspx
-	 * @param string OPTIONAL Part of the date to return (in strftime format), if null timestamp is returned
-	 * @return integer|string date or datepart
-	 */
-	public function getLocalized($part = null)
+	//TODO to test
+	public function getLocalized($template)
 	{
-		if(is_null($part))
-		{
-			return $this->getTimestamp();
-		}
-		return strftime($part, $this->getTimestamp());
+		$day = $this->toString('j');
+		$dayOfWeek = $this->toString('N');
+		$monthOfYear = $this->toString('n');
+		$patternToValue = array(
+			"%day%" => $day,
+			"%shortMonth%" => Piwik_Translate('General_ShortMonth_'.$monthOfYear),
+			"%longMonth%" => Piwik_Translate('General_LongMonth_'.$monthOfYear),
+			"%shortDay%" => Piwik_Translate('General_ShortDay_'.$dayOfWeek),
+			"%longDay%" => Piwik_Translate('General_LongDay_'.$dayOfWeek),
+			"%longYear%" => $this->toString('Y'),
+			"%shortYear%" => $this->toString('y'),
+		);
+		$out = str_replace(array_keys($patternToValue), array_values($patternToValue), $template);
+		return $out;
 	}
 	
     /**
diff --git a/core/FrontController.php b/core/FrontController.php
index bccd477520..8270f53212 100644
--- a/core/FrontController.php
+++ b/core/FrontController.php
@@ -235,6 +235,7 @@ class Piwik_FrontController
 			Piwik::createAccessObject();
 			
 			require_once "CoreUpdater/Controller.php";
+			//TODO should not be a controller!
 			$updaterController = new Piwik_CoreUpdater_Controller();
 			$updaterController->checkForCoreAndPluginsUpdates();
 			
diff --git a/core/Period.php b/core/Period.php
index 50201bf583..b5fbd33e0e 100644
--- a/core/Period.php
+++ b/core/Period.php
@@ -221,7 +221,8 @@ abstract class Piwik_Period
 	
 	public function __toString()
 	{
-		return $this->toString();
+		$elements = $this->toString();
+		return implode(",", $elements);
 	}
 	
 	public function get( $part= null )
@@ -234,6 +235,7 @@ abstract class Piwik_Period
 	}
 	
 	abstract public function getPrettyString();
+	abstract public function getLocalizedShortString();
 }
 
 	
diff --git a/core/Period/Day.php b/core/Period/Day.php
index e4597945de..55f158a796 100644
--- a/core/Period/Day.php
+++ b/core/Period/Day.php
@@ -7,12 +7,20 @@
 class Piwik_Period_Day extends Piwik_Period
 {
 	protected $label = 'day';
-	
+
 	public function getPrettyString()
 	{
 		$out = $this->getDateStart()->toString() ;
 		return $out;
 	}
+	public function getLocalizedShortString()
+	{
+		//"Mon 15 Aug"
+		$date = $this->getDateStart();
+		$template = "%shortDay% %day% %shortMonth%";
+		$out = $date->getLocalized($template);
+		return $out;
+	}
 	
 	public function isFinished()
 	{
@@ -37,4 +45,8 @@ class Piwik_Period_Day extends Piwik_Period
 	{
 		return $this->date->toString("Y-m-d");
 	}
+	public function __toString()
+	{
+		return $this->toString();
+	}
 }
diff --git a/core/Period/Month.php b/core/Period/Month.php
index 57fd1d25c5..3d6e9f9d77 100644
--- a/core/Period/Month.php
+++ b/core/Period/Month.php
@@ -7,6 +7,13 @@ class Piwik_Period_Month extends Piwik_Period
 {
 	protected $label = 'month';
 
+	public function getLocalizedShortString()
+	{
+		//"Aug 09"
+		$out = $this->getDateStart()->getLocalized("%shortMonth% %shortYear%");
+		return $out;
+	}
+	
 	public function getPrettyString()
 	{
 		$out = $this->getDateStart()->toString('Y-m');
diff --git a/core/Period/Range.php b/core/Period/Range.php
index d3cdc1982a..dea4ed73ad 100644
--- a/core/Period/Range.php
+++ b/core/Period/Range.php
@@ -12,7 +12,17 @@ class Piwik_Period_Range extends Piwik_Period
 		$this->strDate = $strDate;
 		$this->defaultEndDate = null;
 	}
-
+	public function getLocalizedShortString()
+	{
+		//"30 Dec 08 - 26 Feb 09"
+		$dateStart = $this->getDateStart();
+		$dateEnd = $this->getDateEnd();
+		$template = "%day% %shortMonth% %shortYear%";
+		$shortDateStart = $dateStart->getLocalized($template);
+		$shortDateEnd = $dateEnd->getLocalized($template);
+		$out = "$shortDateStart - $shortDateEnd";
+		return $out;
+	}
 	public function getPrettyString()
 	{
 		$out = "From ".$this->getDateStart()->toString() . " to " . $this->getDateEnd()->toString();
diff --git a/core/Period/Week.php b/core/Period/Week.php
index f24002c878..f0c682241a 100644
--- a/core/Period/Week.php
+++ b/core/Period/Week.php
@@ -7,6 +7,17 @@
 class Piwik_Period_Week extends Piwik_Period
 {
 	protected $label = 'week';
+
+	public function getLocalizedShortString()
+	{
+		//"Week 30 Dec - 6 Jan 09"
+		$dateStart = $this->getDateStart();
+		$dateEnd = $this->getDateEnd();
+		$shortDateStart = $dateStart->getLocalized("%day% %shortMonth%");
+		$shortDateEnd = $dateEnd->getLocalized("%day% %shortMonth% %shortYear%");
+		$out = "$shortDateStart - $shortDateEnd";
+		return $out;
+	}
 	
 	public function getPrettyString()
 	{
diff --git a/core/Period/Year.php b/core/Period/Year.php
index 5ff4f083a7..c916e5ca7a 100644
--- a/core/Period/Year.php
+++ b/core/Period/Year.php
@@ -9,6 +9,13 @@ class Piwik_Period_Year extends Piwik_Period
 {	
 	protected $label = 'year';
 
+	public function getLocalizedShortString()
+	{
+		//"2009"
+		$out = $this->getDateStart()->getLocalized("%longYear%");
+		return $out;
+	}
+	
 	public function getPrettyString()
 	{
 		$out = $this->getDateStart()->toString('Y');
diff --git a/core/Piwik.php b/core/Piwik.php
index ae7360c375..8f928ccf3f 100644
--- a/core/Piwik.php
+++ b/core/Piwik.php
@@ -407,6 +407,15 @@ class Piwik
 		return sprintf("$symbol%.2f", $value);
 	}
 	
+	static public function getPercentageSafe($dividend, $divisor, $precision = 0)
+	{
+		if($divisor == 0)
+		{
+			return 0;
+		}
+		return round(100 * $dividend / $divisor, $precision);
+	}
+	
 	static public function getPrettyTimeFromSeconds($numberOfSeconds)
 	{
 		$numberOfSeconds = (double)$numberOfSeconds;
diff --git a/core/PluginsFunctions/WidgetsList.php b/core/PluginsFunctions/WidgetsList.php
index d06f8e8aef..e8339543f7 100644
--- a/core/PluginsFunctions/WidgetsList.php
+++ b/core/PluginsFunctions/WidgetsList.php
@@ -4,9 +4,9 @@ function Piwik_GetWidgetsList()
 	return Piwik_WidgetsList::get();
 }
 
-function Piwik_AddWidget( $pluginName, $controllerMethodToCall, $widgetTitle )
+function Piwik_AddWidget( $widgetCategory, $widgetName, $controllerName, $controllerAction, $customParameters = array())
 {
-	Piwik_WidgetsList::add($pluginName, $controllerMethodToCall, $widgetTitle);
+	Piwik_WidgetsList::add($widgetCategory, $widgetName, $controllerName, $controllerAction, $customParameters);
 }
 
 class Piwik_WidgetsList
@@ -19,8 +19,17 @@ class Piwik_WidgetsList
 		return self::$widgets;
 	}
 	
-	static function add($pluginName, $controllerMethodToCall, $widgetTitle)
+	static function add($widgetCategory, $widgetName, $controllerName, $controllerAction, $customParameters)
 	{
-		self::$widgets[$pluginName][] = array( $widgetTitle, $controllerMethodToCall );
+		$widgetCategory = Piwik_Translate($widgetCategory);
+		$widgetName = Piwik_Translate($widgetName);
+		$widgetUniqueId = 'widget' . $controllerName . $controllerAction;
+		self::$widgets[$widgetCategory][] = array( 
+					'name' => $widgetName,
+					'uniqueId' => $widgetUniqueId,
+					'parameters' => array (	'module' => $controllerName,
+											'action' => $controllerAction
+										) + $customParameters
+									);
 	}
 }
diff --git a/core/Site.php b/core/Site.php
index eeb7ef68c0..4b04df8915 100644
--- a/core/Site.php
+++ b/core/Site.php
@@ -28,6 +28,11 @@ class Piwik_Site
 		}
 	}
 	
+	function __toString()
+	{
+		return "site id=".$this->getId().", name=".$this->getName();
+	}
+	
 	function getName()
 	{
 		return self::$infoSites[$this->id]['name'];
diff --git a/core/SmartyPlugins/function.loadJavascriptTranslations.php b/core/SmartyPlugins/function.loadJavascriptTranslations.php
index 64d218160b..bd1a7fc634 100644
--- a/core/SmartyPlugins/function.loadJavascriptTranslations.php
+++ b/core/SmartyPlugins/function.loadJavascriptTranslations.php
@@ -1,38 +1,24 @@
 <?php
 
 /**
- *	inserts javascript translation array into the template from given plugins
- *  must be called with 'plugins' argument which consists of space-separated module names (i.e. plugins)
- *
- *
- *  Example (use in template):
+ *	Load translation strings suffixed with _js for a given list of modules. 
+ *  This function needs to be called when you want to i18n the user interface.
  *
+ *  How to use the function in smarty templates:
  *  {loadJavascriptTranslations plugins='SitesManager CoreHome General'}
  *
- *  loads javascript array translations from main translation file ('General')
- *  and both 'CoreHome' and 'SitesManager' plugins translations
- *
- *  Note: You can put noHtml=1 option in order to output pure JS code
- * 
- *  only translations with '_fs' suffix will be loaded
+ *  This will load the javascript translations array for the modules specified as parameters.
+ *  Only translations string with their ids suffixed with '_js' will be loaded
+ *  Note: You can specify disableOutputScriptTag=1 and the returned value won't be enclosed in Javascript tags.
  *
- *  in order to use translation in your javascript use _pk_translate function
- *  (it is always loaded with translations):
+ *  You can then translate strings in javascript by calling the javascript function:
+ *     _pk_translate('MY_TRANSLATION_STRING_js')
  *
- *  <script type="text/javascript">
- *     alert(_pk_translate('MY_TRANSLATION_STRING'))
- *  </script>
- *
- *  Note: Use translation string from your translation file WITHOUT '_js' suffix.
- * 
- * _pk_translate DOES NOT support printf() arguments, but you can call:
- *
- *   sprintf(_pk_translate('_NB_OF_EGGS'),'ten')
- *   (where _NB_OF_EGGS is defined in translation file as i.e. 'There is %s eggs on the table')
- * 
- * sprintf() function is by default included when loading translations
+ * _pk_translate does NOT support printf() arguments, but you can call:
+ *     sprintf(_pk_translate('MyPlugin_numberOfEggs_js'),'ten')
+ * where you would have the following in your translation file plugins/MyPlugin/lang/en.php:
+ *     'MyPlugin_numberOfEggs_js' => 'There are %s eggs.'
  */
-
 function smarty_function_loadJavascriptTranslations($params, &$smarty) 
 {
 	static $pluginTranslationsAlreadyLoaded = array();
@@ -45,12 +31,9 @@ function smarty_function_loadJavascriptTranslations($params, &$smarty)
 		return;
 	}
 	$pluginTranslationsAlreadyLoaded[] = $params['plugins'];
-	$translate = Piwik_Translate::getInstance();
-	$jsTranslations = $translate->getJavascriptTranslations(explode(' ',$params['plugins']));
-	
-	$jsCode = "";
-	
-	if( isset($params['noHtml']) )
+	$jsTranslations = Piwik_Translate::getInstance()->getJavascriptTranslations(explode(' ',$params['plugins']));
+	$jsCode = '';
+	if( isset($params['disableOutputScriptTag']) )
 	{
 		$jsCode .= $jsTranslations;
 	}
@@ -60,6 +43,5 @@ function smarty_function_loadJavascriptTranslations($params, &$smarty)
 		$jsCode .= $jsTranslations;
 		$jsCode .= '</script>';
 	}
-	
 	return $jsCode;
 }
diff --git a/core/Translate.php b/core/Translate.php
index 48b53029c6..3917bca56f 100644
--- a/core/Translate.php
+++ b/core/Translate.php
@@ -113,24 +113,17 @@ class Piwik_Translate
 		
 		foreach($GLOBALS['Piwik_translations'] as $key => $value)
 		{
-			$matches = array();
-			
-			if( preg_match($moduleRegex,$key,$matches) ) {
-				$varName = $matches[1].'_'.$matches[2];
-				$varValue = $value;
-				
-				$js .= "".$varName.": '".str_replace("'","\\'",$varValue)."',";
+			if( preg_match($moduleRegex,$key) ) {
+				$js .= '"'.$key.'": "'.str_replace('"','\"',$value).'",';
 			}
-			
-			$matches = null;
 		}
 		$js = substr($js,0,-1);
 		$js .= '};';
 		$js .=	'if(typeof(piwik_translations) == \'undefined\') { var piwik_translations = new Object; }'.
 				'for(var i in translations) { piwik_translations[i] = translations[i];} ';
-		$js .= 'function _pk_translate(tvar, str) { '.
-			'var s = str; if( typeof(piwik_translations[tvar]) != \'undefined\' ){  s = piwik_translations[tvar]; }'.
-			'return s;}';
+		$js .= 'function _pk_translate(translationStringId) { '.
+			'if( typeof(piwik_translations[translationStringId]) != \'undefined\' ){  return piwik_translations[translationStringId]; }'.
+			'return "The string "+translationStringId+" was not loaded in javascript. Make sure it is prefixed with _js";}';
 		
 		return $js;
 	}
@@ -175,5 +168,3 @@ function Piwik_TranslateException($message, $args = array())
 		return $message;
 	}
 }
-
-
diff --git a/core/Url.php b/core/Url.php
index e0e221e06f..27b57310ec 100644
--- a/core/Url.php
+++ b/core/Url.php
@@ -174,6 +174,10 @@ class Piwik_Url
 		$query = '';
 		foreach($urlValues as $name => $value)
 		{
+			if(empty($value))
+			{
+				continue;
+			}
 			if(is_array($value))
 			{
 				foreach($value as $theValue)
diff --git a/core/ViewDataTable.php b/core/ViewDataTable.php
index 9854c2b081..c30cb185d6 100644
--- a/core/ViewDataTable.php
+++ b/core/ViewDataTable.php
@@ -109,6 +109,13 @@ abstract class Piwik_ViewDataTable
 	 */
 	protected $view = null;
 	
+	/**
+	 * Array of columns names translations
+	 *
+	 * @var array
+	 */
+	protected $columnsTranslations = array();
+	
 	/**
 	 * Method to be implemented by the ViewDataTable_*.
 	 * This method should create and initialize a $this->view object @see Piwik_iView
@@ -755,6 +762,45 @@ abstract class Piwik_ViewDataTable
 		$this->variablesDefault['filter_sort_order'] = $order;
 	}
 	
+
+	/**
+	 * Sets translation string for given column
+	 *
+	 * @param string $columnName column name
+	 * @param string $columnTranslation column name translation
+	 */
+	public function setColumnTranslation( $columnName, $columnTranslation )
+	{
+		$this->columnsTranslations[$columnName] = $columnTranslation;
+	}
+	
+	/**
+	 * Returns column translation if available, in other case given column name
+	 *
+	 * @param string $columnName column name
+	 */
+	public function getColumnTranslation( $columnName )
+	{
+		if( isset($this->columnsTranslations[$columnName]) )
+		{
+			return $this->columnsTranslations[$columnName];
+		}
+		else
+		{
+			return $columnName;
+		}
+	}
+	
+	/**
+	 * Sets columns translations array.
+	 *
+	 * @param array $columnsTranslations An associative array indexed by column names, eg. array('nb_visit'=>"Numer of visits")
+	 */
+	public function setColumnsTranslations( $columnsTranslations )
+	{
+		$this->columnsTranslations += $columnsTranslations;
+	}
+	
 	/**
 	 * Sets a custom parameter, that will be printed in the javascript array associated with each datatable
 	 *
diff --git a/core/ViewDataTable/GenerateGraphData.php b/core/ViewDataTable/GenerateGraphData.php
index c041ed75ed..bf5285cca9 100644
--- a/core/ViewDataTable/GenerateGraphData.php
+++ b/core/ViewDataTable/GenerateGraphData.php
@@ -37,13 +37,25 @@ abstract class Piwik_ViewDataTable_GenerateGraphData extends Piwik_ViewDataTable
 	 */
 	protected $graphLimit = null;
 	
+	protected $columnsToDisplay = array();
+	
+	public function setColumnsToDisplay($columns)
+	{
+		$this->columnsToDisplay = $columns;
+	}
+	
+	public function getColumnsToDisplay()
+	{
+		return $this->columnsToDisplay;
+	}
+	
 	/**
 	 * Sets the number max of elements to display (number of pie slice, vertical bars, etc.)
 	 * If the data has more elements than $limit then the last part of the data will be the sum of all the remaining data.
 	 *
 	 * @param int $limit
 	 */
-	function setGraphLimit( $limit )
+	public function setGraphLimit( $limit )
 	{
 		$this->graphLimit = $limit;
 	}
@@ -57,7 +69,7 @@ abstract class Piwik_ViewDataTable_GenerateGraphData extends Piwik_ViewDataTable
 	{
 		return $this->graphLimit;
 	}
-	
+
 	public function main()
 	{
 		if($this->mainAlreadyExecuted)
@@ -82,52 +94,41 @@ abstract class Piwik_ViewDataTable_GenerateGraphData extends Piwik_ViewDataTable
 										)
 									);
 		}
-		$this->dataAvailable = $this->dataTable->getRowsCount() != 0;
-		
-		if(!$this->dataAvailable)
+		$this->isDataAvailable = $this->dataTable->getRowsCount() != 0;
+
+		if(!$this->isDataAvailable)
 		{
-			$this->view->customizeGraph();
-			$this->view->title(Piwik_Translate('General_NoDataForGraph'), '{font-size: 25px;}');
+			$this->view->setTitle(Piwik_Translate('General_NoDataForGraph'), '{font-size: 25px;}');
 		}
 		else
 		{
-			$data = $this->generateDataFromDataTable();
-			$this->view->setData($data);
-			$this->view->customizeGraph();
+			$this->generateDataFromDataTable();
 		}
+		//TODO rename
+		$this->view->customizeGraph();
 	}
-	
-	/**
-	 * Returns a format friendly array from the dataTable 
-	 *
-	 * @return array
-	 */
+
+	//TODO rename
 	protected function generateDataFromDataTable()
 	{
 		$this->dataTable->applyQueuedFilters();
+
 		// We apply a filter to the DataTable, decoding the label column (useful for keywords for example)
-		$this->dataTable->filter('ColumnCallbackReplace',
-									array('label','urldecode')
-							);
-		$data = array();
-		foreach($this->dataTable->getRows() as $row)
+		$this->dataTable->filter('ColumnCallbackReplace', array('label','urldecode')	);
+
+		$xLabels = $this->dataTable->getColumn('label');
+		$columnNames = array_keys($this->dataTable->getFirstRow()->getColumns());
+		unset($columnNames[array_search('label',$columnNames)]);
+		
+		$columnNameToTranslation = $columnNameToValue = array();
+		foreach($columnNames as $columnName)
 		{
-			$label = $row->getColumn('label');
-			$value = $row->getColumn('nb_uniq_visitors');
-			
-			// case no unique visitors
-			if($value === false)
-			{
-				$value = $row->getColumn('nb_visits');
-			}
-			
-			$data[] = array(
-				'label' => $label,
-				'value' => $value,
-				'url' 	=> $row->getMetadata('url'),
-			);
+			$columnNameToTranslation[$columnName] = $this->getColumnTranslation($columnName);
+			$columnNameToValue[$columnName] = $this->dataTable->getColumn($columnName);
 		}
-		return $data;
+		$this->view->setAxisXLabels($xLabels);
+		$this->view->setAxisYValues($columnNameToValue);
+		$this->view->setAxisYLabels($columnNameToTranslation);
 	}
 }
 
diff --git a/core/ViewDataTable/GenerateGraphData/ChartEvolution.php b/core/ViewDataTable/GenerateGraphData/ChartEvolution.php
index 0dd6c56468..30ee37fd1f 100644
--- a/core/ViewDataTable/GenerateGraphData/ChartEvolution.php
+++ b/core/ViewDataTable/GenerateGraphData/ChartEvolution.php
@@ -12,196 +12,133 @@ class Piwik_ViewDataTable_GenerateGraphData_ChartEvolution extends Piwik_ViewDat
 	{
 		return 'generateDataChartEvolution';
 	}
+	
 	function __construct()
 	{
 		require_once "Visualization/Chart/Evolution.php";
 		$this->view = new Piwik_Visualization_Chart_Evolution;
 	}
 	
-	var $lineLabels = array();
-	var $data = array();
-	
-	private function generateLine( $dataArray, $columns, $schema = "##label## ##column##" )
+	protected function generateDataFromDataTable()
 	{
-		$data = array();
-		foreach($dataArray as $keyName => $table)
+		$this->dataTable->applyQueuedFilters();
+		if(!($this->dataTable instanceof Piwik_DataTable_Array))
 		{
-			$table->applyQueuedFilters();
-			// initialize data (default values for all lines is 0)
-			$dataRow = array();
-			$rows = $table->getRows();
-			foreach($rows as $row)
-			{
-				$rowLabel = $schema;
-				if( strpos($rowLabel, "##label##") !== false )
-				{
-					$rowLabel = str_replace("##label##", $row->getColumn('label'), $rowLabel);
-				}
-				foreach($columns as $col)
-				{
-					$label = $rowLabel;
-					if( strpos($label, "##column##") !== false )
-					{
-						$label = str_replace("##column##", $col, $label);
-					}
-					if( !isset($this->lineLabels[$label]) )
-					{
-						$this->lineLabels[$label] = count($this->lineLabels);
-					}					
-					$lineNb = $this->lineLabels[$label];
-										
-					$value = $row->getColumn($col);
-
-					$dataRow['value'.$lineNb] = $value;
-				}
-			}
-			$data[] = $dataRow;
+			throw new Exception("Expecting a DataTable_Array with custom format to draw an evolution chart");
 		}
-		return $data;
-	}
-	
-	private function generateLabels( $dataArray )
-	{
-		$data = array();
-		
-		foreach($dataArray as $keyName => $table)
+		$xLabels = $uniqueIdsDataTable = array();
+		foreach($this->dataTable->metadata as $idDataTable => $metadataDataTable)
 		{
-			$table->applyQueuedFilters();
-			
-			$data[] = array('label' => $keyName);
+			$xLabels[] = $metadataDataTable['period']->getLocalizedShortString();
+			$uniqueIdsDataTable[] = $idDataTable;
 		}
 		
-		return $data;
-	}
-	
-	private function addArray( &$data, $newData )
-	{	
-		for($i = 0; $i < count($newData); $i++)
+		// list of column names requested to be plotted, we only need to forward these to the Graph object
+		$columnNameRequested = $this->getColumnsToDisplay();
+		
+		$columnNameToValue = array();
+		foreach($this->dataTable->getArray() as $idDataTable => $dataTable)
 		{
-			foreach($newData[$i] as $key => $value)
+			if($dataTable->getRowsCount() > 1)
 			{
-				$data[$i][$key] = $value;
+				throw new Exception("Expecting only one row per DataTable");
 			}
-		}
-	}
-	
-	private function fillValues( &$data )
-	{
-		$nbLines = count($this->lineLabels);
-		
-		for($i = 0; $i < count($data); $i++)
-		{
-			for($j = 0; $j < $nbLines; $j++)
+			$row = $dataTable->getFirstRow();
+			if($row !== false)
 			{
-				if( !isset($data[$i]['value'.$j]) )
+				foreach($row->getColumns() as $columnName => $columnValue)
 				{
-					$data[$i]['value'.$j] = 0;
+					if(array_search($columnName, $columnNameRequested) !== false)
+					{
+						$columnNameToValue[$columnName][$idDataTable] = $columnValue;
+					} 
 				}
 			}
 		}
-	}
-	
-	/*
-	 * generates data for evolution graph from a numeric DataTable (DataTable that has only 'label' and 'value' columns)
-	 */
-	protected function generateDataFromNumericDataTable($dataArray, $siteLabel = "")
-	{
-		$columnsToDisplay = Piwik_Common::getRequestVar('columns', array(), 'array');
-				
-		// for numeric we want to have only one column name
-		if( count($columnsToDisplay) != 1 )
-		{
-			$columnsToDisplay = array( 'nb_visits' );
-		}
 		
-		$label = $siteLabel . array_shift($columnsToDisplay);
 		
-		$this->addArray($this->data, $this->generateLabels($dataArray));
-		$this->addArray($this->data, $this->generateLine($dataArray,array('value'),$label));
-		$this->fillValues($this->data);
-	}
-	
-	/*
-	 * generates data for evolution graph from a DataTable that has named columns (i.e. 'nb_hits', 'nb_visits')    
-	 */
-	protected function generateDataFromRegularDataTable($dataArray, $siteLabel = "")
-	{	
-		// get list of columns 	to display i.e. array('nb_hits','nb_visits')						
-		$columnsToDisplay = Piwik_Common::getRequestVar('columns', array(), 'array');
-				
-		// default column
-		if( count($columnsToDisplay) == 0 )
+		// make sure all column values are set (at least zero) in order for all unique idDataTable
+		$columnNameToValueCleaned = array();
+		foreach($uniqueIdsDataTable as $uniqueIdDataTable)
 		{
-			$columnsToDisplay = array( 'nb_visits' );
-		}		
-		
-		$this->addArray($this->data, $this->generateLabels($dataArray));
-		$this->addArray($this->data, $this->generateLine($dataArray, $columnsToDisplay, $siteLabel."##label## ##column##"));
-		$this->fillValues($this->data);
-	}	
-
-	protected function handleSiteGenerateDataFromDataTable($dataArray, $siteLabel = "")
-	{			
-		// detect if we got numeric Datatable or regular DataTable	
-		foreach($dataArray as $table) 
-		{
-			$row = $table->getFirstRow();
-				
-			if( $row != null )
+			foreach($columnNameToValue as $columnName => $idDataTableToColumnValue)
 			{
-				$columns = $row->getColumns();
-
-				// if we got 2 columns - 'label' and 'value' this is numeric DataTable
-				if( count($columns) == 2 && isset($columns['label']) && isset($columns['value']) )
+				if(isset($idDataTableToColumnValue[$uniqueIdDataTable]))
 				{
-					$this->generateDataFromNumericDataTable($dataArray, $siteLabel);
+					$columnValue = $idDataTableToColumnValue[$uniqueIdDataTable];
 				}
 				else
 				{
-					$this->generateDataFromRegularDataTable($dataArray, $siteLabel);
+					$columnValue = 0;
 				}
-				break;
+				$columnNameToValueCleaned[$columnName][] = $columnValue;
 			}
 		}
-	}
-			
-	public function generateDataFromDataTable()
-	{
-		$data = array();
-				
-		if( $this->dataTable->getRowsCount() )
+		$columnNames = array_keys($columnNameToValueCleaned);
+		$columnNameToTranslation = array();
+		$columnNameToType = array();
+		$nameToType = array(
+			'_rate' => '%',
+			'_revenue' => Piwik::getCurrency(),
+		);
+		foreach($columnNames as $columnName)
 		{
-			$row = null;
-			
-			// find first table with rows
-			foreach($this->dataTable->getArray() as $idsite => $table)
+			$columnNameToTranslation[$columnName] = $this->getColumnTranslation($columnName);
+			$columnNameToType[$columnName] = false;
+			foreach($nameToType as $pattern => $type)
 			{
-				// detect if we got data from more than one site
-				if( $table instanceof Piwik_DataTable_Array)
-				{
-					// multiple sites
-					$site = new Piwik_Site($idsite);
-					
-					$this->handleSiteGenerateDataFromDataTable($table->getArray(), $site->getName()." ");
-				}
-				else if( $table instanceof Piwik_DataTable_Simple && $this->dataTable->getKeyName() == 'idSite')
-				{
-					// multiple sites (when numeric DataTable)
-					$site = new Piwik_Site($idsite);
-										
-					$this->handleSiteGenerateDataFromDataTable($table->getFirstRow()->getColumn('value')->getArray(), $site->getName()." ");
-				}
-				else
+				if(strpos($columnName, $pattern) !== false)
 				{
-					// single site
-					$this->handleSiteGenerateDataFromDataTable($this->dataTable->getArray());
+					$columnNameToType[$columnName] = $type;
 					break;
-				}				
-			}			
+				}
+			}
+		}
+		$this->view->setAxisXLabels($xLabels);
+		$this->view->setAxisYValues($columnNameToValueCleaned);
+		$this->view->setAxisYLabels($columnNameToTranslation);
+		$this->view->setAxisYValuesTypes($columnNameToType);
+		
+		$firstDatatable = reset($this->dataTable->metadata);
+		$period = $firstDatatable['period'];
+		switch($period->getLabel()) {
+			case 'day': $steps = 7; break;
+			case 'week': $steps = 10; break;
+			case 'month': $steps = 6; break;
+			case 'year': $steps = 2; break;
+			default: $steps = 10; break;
+		}
+		$this->view->setXSteps($steps);
+		
+		if($this->isLinkEnabled())
+		{
+			$axisXOnClick = array();
+			foreach($this->dataTable->metadata as $idDataTable => $metadataDataTable)
+			{
+				$period = $metadataDataTable['period'];
+				$dateInUrl = $period->getDateStart();
+				$link = Piwik_Url::getCurrentUrlWithoutQueryString() . 
+						Piwik_Url::getCurrentQueryStringWithParametersModified( array(
+							'date' => $dateInUrl,
+							'module' => 'CoreHome',
+							'action' => 'index',
+							'viewDataTable' => null, // we reset the viewDataTable parameter (useless in the link)
+							'idGoal' => null, // we reset idGoal
+							'columns' => null, 
+				));
+				$axisXOnClick[] = $link;
+			}
+			$this->view->setAxisXOnClick($axisXOnClick);
+		}
+	}
 
-		}		
-		array_unshift($this->data, array_keys($this->lineLabels));
-				
-		return $this->data;
+	private function isLinkEnabled() 
+	{
+		static $linkEnabled;
+		if(!isset($linkEnabled)) 
+		{
+			$linkEnabled = !Piwik_Common::getRequestVar('disableLink', 0, 'int');
+		}
+		return $linkEnabled;
 	}
 }
diff --git a/core/ViewDataTable/GenerateGraphHTML.php b/core/ViewDataTable/GenerateGraphHTML.php
index 90ccfa54e7..0523531a82 100644
--- a/core/ViewDataTable/GenerateGraphHTML.php
+++ b/core/ViewDataTable/GenerateGraphHTML.php
@@ -127,7 +127,7 @@ abstract class Piwik_ViewDataTable_GenerateGraphHTML extends Piwik_ViewDataTable
 			$return .= '
 </noscript></div></div>
 <script type="text/javascript">
-swfobject.embedSWF("'.$pathToLibraryOpenChart.'open-flash-chart.swf", "'. $obj_id .'_swf", "'. $width . '", "' . $height . '", "9.0.0", false, {"data":"'.$url.'"}, {"allowScriptAccess":"sameDomain","wmode":"opaque"}, {"bgcolor":"#FFFFFF"});
+swfobject.embedSWF("'.$pathToLibraryOpenChart.'open-flash-chart.swf", "'. $obj_id .'_swf", "'. $width . '", "' . $height . '", "9.0.0", false, {"data-file":"'.$url.'"}, {"allowScriptAccess":"sameDomain","wmode":"opaque"}, {"bgcolor":"#FFFFFF"});
 </script>';
 		}
 		
diff --git a/core/ViewDataTable/HtmlTable.php b/core/ViewDataTable/HtmlTable.php
index 7eb9e5160e..ac6d56ca44 100644
--- a/core/ViewDataTable/HtmlTable.php
+++ b/core/ViewDataTable/HtmlTable.php
@@ -25,13 +25,6 @@ class Piwik_ViewDataTable_HtmlTable extends Piwik_ViewDataTable
 	 * @var array
 	 */
 	protected $columnsToDisplay = array();
-	
-	/**
-	 * Array of columns names translations
-	 *
-	 * @var array
-	 */
-	protected $columnsTranslations = array();
 
 	/**
 	 * Set to true when the DataTable must be loaded along with all its children subtables
@@ -63,11 +56,6 @@ class Piwik_ViewDataTable_HtmlTable extends Piwik_ViewDataTable
 		$this->dataTableTemplate = 'CoreHome/templates/datatable.tpl';
 		$this->variablesDefault['enable_sort'] = '1';
 		
-		// load general columns translations
-		$this->setColumnTranslation('nb_visits', Piwik_Translate('General_ColumnNbVisits'));
-		$this->setColumnTranslation('label', Piwik_Translate('General_ColumnLabel'));
-		$this->setColumnTranslation('nb_uniq_visitors', Piwik_Translate('General_ColumnNbUniqVisitors'));
-		
 		$this->handleLowPopulation();
 	}
 
@@ -174,44 +162,6 @@ class Piwik_ViewDataTable_HtmlTable extends Piwik_ViewDataTable
 		$this->columnsToDisplay[] = $columnName;
 	}
 	
-	/**
-	 * Sets translation string for given column
-	 *
-	 * @param string $columnName column name
-	 * @param string $columnTranslation column name translation
-	 */
-	public function setColumnTranslation( $columnName, $columnTranslation )
-	{
-		$this->columnsTranslations[$columnName] = $columnTranslation;
-	}
-	
-	/**
-	 * Returns column translation if available, in other case given column name
-	 *
-	 * @param string $columnName column name
-	 */
-	public function getColumnTranslation( $columnName )
-	{
-		if( isset($this->columnsTranslations[$columnName]) )
-		{
-			return $this->columnsTranslations[$columnName];
-		}
-		else
-		{
-			return $columnName;
-		}
-	}
-	
-	/**
-	 * Sets columns translations array.
-	 *
-	 * @param array $columnsTranslations An associative array indexed by column names, eg. array('nb_visit'=>"Numer of visits")
-	 */
-	public function setColumnsTranslations( $columnsTranslations )
-	{
-		$this->columnsTranslations = $columnsTranslations;
-	}
-	
 	/**
 	 * Returns array(
 	 * 				array('name' => 'nb_visits', 'displayName' => 'Visits'),
@@ -281,6 +231,7 @@ class Piwik_ViewDataTable_HtmlTable extends Piwik_ViewDataTable
 		}
 		return $requestString;
 	}
+	
 	/**
 	 * Set the flag to load the datatable recursively so we can search on subtables as well
 	 *
diff --git a/core/ViewDataTable/HtmlTable/AllColumns.php b/core/ViewDataTable/HtmlTable/AllColumns.php
index 786763abf1..2efdfbf129 100644
--- a/core/ViewDataTable/HtmlTable/AllColumns.php
+++ b/core/ViewDataTable/HtmlTable/AllColumns.php
@@ -37,8 +37,5 @@ class Piwik_ViewDataTable_HtmlTable_AllColumns extends Piwik_ViewDataTable_HtmlT
 										'bounce_rate'));
 		$this->dataTable->filter('ColumnCallbackReplace', array('avg_time_on_site', create_function('$averageTimeOnSite', 'return Piwik::getPrettyTimeFromSeconds($averageTimeOnSite);')));
 		$this->dataTable->filter('ColumnCallbackReplace', array('bounce_rate', create_function('$bounceRate', 'return $bounceRate."%";')));
-		$this->setColumnTranslation('nb_actions_per_visit', Piwik_Translate('General_ColumnActionsPerVisit'));
-		$this->setColumnTranslation('avg_time_on_site', Piwik_Translate('General_ColumnAvgTimeOnSite'));
-		$this->setColumnTranslation('bounce_rate', Piwik_Translate('General_ColumnBounceRate'));
 	}
 }
diff --git a/core/ViewDataTable/HtmlTable/Goals.php b/core/ViewDataTable/HtmlTable/Goals.php
index 1bc961940e..6f4f46ad65 100644
--- a/core/ViewDataTable/HtmlTable/Goals.php
+++ b/core/ViewDataTable/HtmlTable/Goals.php
@@ -70,8 +70,6 @@ class Piwik_ViewDataTable_HtmlTable_Goals extends Piwik_ViewDataTable_HtmlTable
 	protected function postDataTableLoadedFromAPI()
 	{
 		parent::postDataTableLoadedFromAPI();
-		$this->setColumnTranslation('revenue_per_visit', 'Value per Visit');
-		$this->setColumnTranslation('goals_conversion_rate', 'Visits with Conversions');
 		$this->columnsToPercentageFilter[] = 'goals_conversion_rate';
 		foreach($this->columnsToPercentageFilter as $columnName)
 		{
diff --git a/core/ViewDataTable/Sparkline.php b/core/ViewDataTable/Sparkline.php
index 8b694468ee..1982cba555 100644
--- a/core/ViewDataTable/Sparkline.php
+++ b/core/ViewDataTable/Sparkline.php
@@ -22,6 +22,18 @@ class Piwik_ViewDataTable_Sparkline extends Piwik_ViewDataTable
 	{
 		return 'sparkline';
 	}
+
+	protected $columnsToDisplay = array();
+	
+	public function setColumnsToDisplay($columns)
+	{
+		$this->columnsToDisplay = $columns;
+	}
+	
+	public function getColumnsToDisplay()
+	{
+		return $this->columnsToDisplay;
+	}
 	
 	/**
 	 * @see Piwik_ViewDataTable::main()
@@ -37,82 +49,55 @@ class Piwik_ViewDataTable_Sparkline extends Piwik_ViewDataTable
 		// we load the data with the filters applied
 		$this->loadDataTableFromAPI();
 		
-		$this->dataAvailable = $this->dataTable->getRowsCount() != 0;
-		if(!$this->dataAvailable)
+		$this->isDataAvailable = $this->dataTable->getRowsCount() != 0;
+		if(!$this->isDataAvailable)
 		{
 			throw new Exception(Piwik_Translate('General_NoDataForGraph'));
 		}
-		$data = $this->generateDataFromDataTableArray($this->dataTable);
+		$values = $this->getValuesFromDataTable($this->dataTable);
 		
 		$graph = new Piwik_Visualization_Sparkline;
-		$graph->setData($data);
+		$graph->setValues($values);
 		$graph->main();
 		
 		$this->view = $graph;
 	}
 	
-	/**
-	 * Given a Piwik_DataTable_Array made of DataTable_Simple rows, returns a php array with the structure:
-	 * array(
-	 * 	array( label => X, value => Y),
-	 * 	array( label => A, value => B),
-	 * ...
-	 * )
-	 *
-	 * This is used for example for the evolution graph (last 30 days visits) or the sparklines.
-	 * 
-	 * @param Piwik_DataTable_Array $dataTableArray
-	 * @return array
-	 */
-	protected function generateDataFromDataTableArray( Piwik_DataTable_Array $dataTableArray)
+	protected function getValuesFromDataTable( Piwik_DataTable_Array $dataTableArray)
 	{
-		$data = array();
+		$dataTableArray->applyQueuedFilters();
+		
+		$columns = $this->getColumnsToDisplay();
+		$columnToPlot = false;
+		if(!empty($columns))
+		{
+			$columnToPlot = $columns[0];
+		}
+		$values = array();
 		foreach($dataTableArray->getArray() as $keyName => $table)
 		{
-			if($table instanceof Piwik_DataTable_Array)
+			$value = 0;
+			if($table->getRowsCount() > 1)
 			{
-				throw new Exception("Operation not supported (yet)");
+				throw new Exception("Expecting only one row per DataTable");
 			}
-			$value = false;
-			
 			$onlyRow = $table->getFirstRow();
 			if($onlyRow !== false)
 			{
-				$value = $onlyRow->getColumn('value');
-				if($value == false)
+				if(!empty($columnToPlot))
 				{
-					// TEMP
-					// quite a hack, useful in the case at this point we do have a normal row with nb_visits, nb_actions, nb_uniq_visitors, etc.
-					// instead of the dataTable_Simple row (label, value) 
-					// to do it properly we'd need to
-					// - create a filter that removes columns
-					// - apply this filter to keep only the column called nb_uniq_visitors
-					// - rename this column as 'value'
-					// and at this point the getcolumn('value') would have worked
-					// this code is executed eg. when displaying a sparkline for the last 30 days displaying the number of unique visitors coming from search engines
-					
-					//TODO solution: use a filter rename column etc.
-					
-					// another solution would be to add a method to the Referers API giving directly the integer 'visits from search engines'
-					// and we would build automatically the dataTable_array of datatatble_simple from these integers
-					// but we'd have to add this integer to be recorded during archiving etc.
-					$value = $onlyRow->getColumn('nb_uniq_visitors');
-					if($value === false)
-					{
-						$value = $onlyRow->getColumn('nb_visits');
-					}
+					$value = $onlyRow->getColumn($columnToPlot);
+				}
+				// if not specified, we load by default the first column found
+				// eg. case of getLastDistinctCountriesGraph
+				else
+				{
+					$columns = $onlyRow->getColumns();
+					$value = current($columns);
 				}
 			}
-
-			if($value === false)
-			{
-				$value = 0;
-			}
-			$data[] = array(
-					'label' => $keyName,
-					'value' => $value
-				);
+			$values[] = $value;
 		}
-		return $data;
+		return $values;
 	}
 }
diff --git a/core/Visualization/Chart.php b/core/Visualization/Chart.php
index c86e80a933..2f12137255 100644
--- a/core/Visualization/Chart.php
+++ b/core/Visualization/Chart.php
@@ -9,78 +9,160 @@
  * @package Piwik_Visualization
  */
 
-require_once "Visualization/OpenFlashChart.php";
+require_once "libs/open-flash-chart/php-ofc-library/open-flash-chart.php";
+
 /**
  * Generates the data in the Open Flash Chart format, from the given data.
- * Uses Open flash chart PHP library @see Piwik_Visualization_OpenFlashChart
  * 
  * @package Piwik_Visualization
  */
-abstract class Piwik_Visualization_Chart extends Piwik_Visualization_OpenFlashChart
+abstract class Piwik_Visualization_Chart implements Piwik_iView
 {
-	protected $dataGraph = array();
+	/**
+	 * @var Piwik_Visualization_OpenFlashChart
+	 */
+	protected $chart = null;
+	
+	protected $xLabels = array();
+	protected $xOnClick = array();
+	protected $xSteps = 2;
+	
+	protected $yLabels = array();
+	protected $yValues = array();
 	
-	function setData($data)
+	function __construct()
 	{
-		$this->dataGraph = $data;
+		$this->chart = new open_flash_chart();
 	}
 	
-	function getCount()
+	public function setAxisXLabels($xLabels)
 	{
-		return count($this->dataGraph);
+		$this->xLabels = $xLabels;
 	}
 	
-	function customizeGraph()
+	public function setAxisYValues($values)
 	{
-		$this->set_num_decimals ( 0 );
-		$this->set_is_decimal_separator_comma( false );
-		$this->set_is_thousand_separator_disabled( true );  
-		$this->y_axis_colour = '#ffffff';
-		$this->x_axis_colour = '#596171'; 
-		$this->x_grid_colour = $this->y_grid_colour = '#E0E1E4';
-		
-		// approx 5 x labels on the graph
-		$steps = ceil($this->getCount() / 5);
-		$steps = $steps + $steps % 2; // make sure modulo 2
-		
-		$this->set_x_label_style( 10, $this->x_axis_colour, 0, $steps, $this->x_grid_colour );
-		$this->set_x_axis_steps( $steps / 2 );
-		
-		
-		$stepsY = ceil($this->getCount() / 4);
-		$this->y_label_steps( $stepsY / 3 );
-		$this->y_label_steps( 4 );
-		
-		$this->bg_colour = '#ffffff';
-		$this->set_inner_background('#ffffff');
-		
-		$this->set_tool_tip( '#x_label# <br>#val# #key# ' );
+		$this->yValues = $values;
+	}
+	
+	public function setAxisYLabels($labels)
+	{
+		$this->yLabels = $labels;
+	}
+	
+	public function setAxisXOnClick($onClick)
+	{
+		$this->xOnClick = $onClick;
+	}
+	
+	//TODO call + make sure matches beginning of period? (hard..)
+	// day -> every 7 days
+	// week & year -> 1, plot last 
+	// month -> every 12 months, plot last 24
+	public function setXSteps($steps)
+	{
+		$this->xSteps = $steps;
+	}
+	
+	protected function getDataSetsToDisplay()
+	{
+		if(empty($this->yValues)) {
+			return false;
+		}
+		return array_keys($this->yValues);
 	}
 	
-	function prepareData()
-	{		
-		$label = $data = array();
-		$max = 0;
-		foreach($this->dataGraph as $row)
+	public function getMaxValue()
+	{
+		$datasetsIds = $this->getDataSetsToDisplay();
+		if($datasetsIds === false)
+		{
+			return 0;
+		}
+		$maxCrossDataSets = false;
+		foreach($datasetsIds as $dataset)
 		{
-			$label[] = $row['label'];
-			$data[] = $row['value'];
-			
-			if($row['value'] > $max) 
+			$maxValue = max($this->yValues[$dataset]);
+			if($maxCrossDataSets === false 
+				|| $maxValue > $maxCrossDataSets)
 			{
-				$max = $row['value'];
+				$maxCrossDataSets = $maxValue;
 			}
 		}
-		$this->arrayData = $data;
-		$this->arrayLabel = $label;
+		if($maxCrossDataSets > 10)
+		{
+			$maxCrossDataSets = $maxCrossDataSets + 10 - $maxCrossDataSets % 10;
+		}
+		return $maxCrossDataSets;
+	}
+	
+	public function setTitle($text, $css)
+	{
+		$title = new title($text);
+		$title->set_style($css);
+		$this->chart->set_title($title);
+	}
+	
+	public function render()
+	{
+		return $this->chart->toPrettyString();
+	}
+	
+	function customizeGraph()
+	{
+		$this->chart->set_number_format($num_decimals = 0, 
+							$is_fixed_num_decimals_forced = true, 
+							$is_decimal_separator_comma = false, 
+							$is_thousand_separator_disabled = false);
+							
+		$gridColour = '#E0E1E4';
+		$countValues = count($this->xLabels);
+		$maxValue = $this->getMaxValue();
+		$minValue = 0;
 		
-		$this->arrayLabel = str_replace(","," -",$this->arrayLabel);
+		// X Axis
+		$this->x = new x_axis();
+		$this->x->set_colour( '#596171' );
+		$this->x->set_grid_colour( $gridColour );
+		$this->x->set_steps($this->xSteps);
 		
-		$this->maxData = $max;
-		if($this->maxData > 10)
+		// X Axis Labels
+		$this->x_labels = new x_axis_labels();
+		$this->x_labels->set_size(11);
+		//manually fix the x labels step as this doesn't work in this OFC release..
+		$xLabelsStepped = $this->xLabels;
+		foreach($xLabelsStepped as $i => &$xLabel)
 		{
-			$this->maxData = $max + 10 - $max % 10;
+			if(($i % $this->xSteps) != 0)
+			{
+				$xLabel = '';
+			}
 		}
+		$this->x_labels->set_labels($xLabelsStepped);
+		$this->x_labels->set_steps(2);
+		$this->x->set_labels($this->x_labels);
+		
+		// Y Axis
+		$this->y = new y_axis();
+		$this->y->set_colour('#ffffff');
+		$this->y->set_grid_colour($gridColour);
+		$stepsCount = 2;
+		$stepsEveryNLabel = ceil(($maxValue - $minValue) / $stepsCount);
+		if($maxValue == 0)
+		{
+			$maxValue = 1;
+		}
+		$this->y->set_range( $minValue, $maxValue, $stepsEveryNLabel);
+		
+		// Tooltip
+		$this->tooltip = new tooltip();
+		$this->tooltip->set_shadow( true );
+		$this->tooltip->set_stroke( 1 );
+				
+		// Attach elements to the graph
+		$this->chart->set_x_axis($this->x);
+		$this->chart->set_y_axis($this->y);
+		$this->chart->set_tooltip($this->tooltip);
+		$this->chart->set_bg_colour('#ffffff');
 	}
-	
 }
diff --git a/core/Visualization/Chart/Evolution.php b/core/Visualization/Chart/Evolution.php
index 66005ca6a9..6cef02f6e0 100644
--- a/core/Visualization/Chart/Evolution.php
+++ b/core/Visualization/Chart/Evolution.php
@@ -16,94 +16,90 @@ require_once "Visualization/Chart.php";
  * 
  * @package Piwik_Visualization
  */
-class Piwik_Visualization_Chart_Evolution extends Piwik_Visualization_Chart
+class Piwik_Visualization_Chart_Evolution extends Piwik_Visualization_Chart 
 {
+	protected $yValuesType = array();
+	function setAxisYValuesTypes($yValuesTypes)
+	{
+		$this->yValuesTypes = $yValuesTypes;
+	}
+	
 	function customizeGraph()
 	{
 		parent::customizeGraph();
-
+		$dataSetsToDisplay = $this->getDataSetsToDisplay();
+		if($dataSetsToDisplay === false)
+		{
+			return;
+		}
+		
 		$colors = array(
 			"0x3357A0",
-			"0x9933CC",
 			"0xCC3399",			
+			"0x9933CC",
 			"0x80a033",
 			"0xFD9816",
 			"0x246AD2",
 			"0xFD16EA",
 			"0x49C100",
-			);
-
-		// first row in array contains line labels (legend)		
-		$legendLabels = array_shift($this->dataGraph);
-
-		$line = array();
-
-		// define labels
-		foreach($legendLabels as $nbLabel => $labelName)
-		{
-			$line[$nbLabel] = new line_hollow( 1, 3, $colors[$nbLabel] );
-			$line[$nbLabel]->key( $labelName, 10 );
-		}
-		
-		$maxData = 0;		
-		$xLabels = array();		
-		$cnt = count($this->dataGraph);
+		);
 		
-		// loop over data
-		foreach($this->dataGraph as $values)
+		$i = 0;
+		foreach($dataSetsToDisplay as $dataSetToDisplay)
 		{
-			// add x axis value (label)
-			array_push($xLabels, $values['label']);
+			$color = $colors[$i];
+			
+			$labelName = $this->yLabels[$dataSetToDisplay];
+			$d = new hollow_dot();
+			$d->size(3)->halo_size(0)->colour($color); 
+		
+			$line = new line();
+			$line->set_default_dot_style($d);
+			$line->set_key($labelName, 11);
+			$line->set_width( 1 );
+			$line->set_colour( $color );
 			
-			// loop over values for all lines (y axis values)		
-			for($j = 0; $j < count($legendLabels); $j++)
-			{
-				// get the y axis value for line $j
-				$dotValue = $values['value'.$j];
+			// Line Values
+			// Note: we have to manually create the dot values as the steps feature doens't work on X axis
+			// when it's working again, we can remove code below and set generic tooltip above: // ->tooltip('#x_label#<br>#val# '.$labelName) 
+			$yValues = $this->yValues[$dataSetToDisplay];
+			$labelName = $this->yLabels[$dataSetToDisplay];
+			$lineValues = array();
+			$j = 0;
+			foreach($this->xLabels as $label) {
+				$value = $yValues[$j];
+				$lineValue = new hollow_dot($value);
 				
-				// find maximum y axis value 
-				if(  $dotValue > $maxData )
-				{
-					$maxData = $dotValue;
-				}
-
-				$link = null;
-				if($this->isLinkEnabled())
+				$unit = '';
+				if(!empty($this->yValuesTypes[$dataSetToDisplay]))
 				{
-					$spacePosition = strpos($values['label'],' ');
-					if($spacePosition === false)
-					{
-						$spacePosition = strlen($values['label']);
-					}				
-					$link = Piwik_Url::getCurrentScriptName() . 
-							Piwik_Url::getCurrentQueryStringWithParametersModified( array(
-								'date' => substr($values['label'],0,$spacePosition),
-								'module' => 'CoreHome',
-								'action' => 'index',
-								'viewDataTable' => null, // we reset the viewDataTable parameter (useless in the link)
-								'idGoal' => null, // we reset idGoal
-						));
-					// add the dot on the chart and link it
-					$line[$j]->add_link($dotValue, $link);
+					$unit = $this->yValuesTypes[$dataSetToDisplay];
 				}
-				else
+				// set the Y Label to display the right unit
+				$this->y->set_label_text("#val#$unit");
+				
+				$lineValue->tooltip("$label<br>$value$unit $labelName");
+				if(!empty($this->xOnClick))
 				{
-					$line[$j]->add($dotValue);
+					$lineValue->on_click('redirectToUrl("'.$this->xOnClick[$j].'")');
 				}
+				$lineValues[] = $lineValue;
+				$j++;
 			}
+			$line->set_values( $lineValues );
+			$lines[] = $line;
+			$i++;
 		}
-		$this->data_sets = $line;		
-		$this->set_y_max( $maxData );
-		$this->set_x_labels( $xLabels );
-	}
-	
-	private function isLinkEnabled() 
-	{
-		static $linkEnabled;
-		if(!isset($linkEnabled)) 
+		foreach($lines as $line)
+		{
+			$this->chart->add_element($line);
+		}
+		// if one column is a percentage we set the grid accordingly
+		// note: it is invalid to plot a percentage dataset along with a numeric dataset
+		//TODO only if the max was 100!!
+		if(array_search('%', $this->yValuesTypes) !== false)
 		{
-			$linkEnabled = !Piwik_Common::getRequestVar('disableLink', 0, 'int');
+			$this->y->set_range( 0, 100, 50);
 		}
-		return $linkEnabled;
 	}
 }
diff --git a/core/Visualization/Chart/Pie.php b/core/Visualization/Chart/Pie.php
index 46b5aace60..8ea8e7e2ec 100644
--- a/core/Visualization/Chart/Pie.php
+++ b/core/Visualization/Chart/Pie.php
@@ -11,28 +11,61 @@
 require_once "Visualization/Chart.php";
 
 /**
- * 
- * Customize the Pie chart style for the flash graph
+ * Customize & set values for the Flash Pie chart 
  * 
  * @package Piwik_Visualization
  */
 class Piwik_Visualization_Chart_Pie extends Piwik_Visualization_Chart
 {
+	// return the first dataset id from the list
+	protected function getDataSetsToDisplay()
+	{
+		$dataSetsToDisplay = parent::getDataSetsToDisplay();
+		if($dataSetsToDisplay === false)
+		{
+			return false;
+		}
+		return array_slice($dataSetsToDisplay, 0, 1);
+	}
+	
 	function customizeGraph()
 	{
 		parent::customizeGraph();
-		$this->prepareData();		
-	
-	    for($i = 0, $cnt = count($this->arrayLabel); $i < $cnt; $i++) 
-	    {
-	    	$label = $this->arrayLabel[$i];
-			$this->arrayLabel[$i] = (strlen($label) > 20 ? substr($label, 0, 20).'...' : $label);
-	    }
-	    $this->set_x_label_style( 12, $this->x_axis_colour, 0, 2, $this->bg_colour );
-		$this->pie(60,'#505050','{font-size: 12px; color: #142448}', true);
-		$this->pie_values( $this->arrayData, $this->arrayLabel );
-		$this->pie_slice_colours( array('#3C5A69','#679BB5','#695A3C','#B58E67','#969696') );
+		$dataSetsToDisplay = $this->getDataSetsToDisplay();
+		if($dataSetsToDisplay === false)
+		{
+			return;
+		}
+		$dataSetToDisplay = current($dataSetsToDisplay);
+		
+		// create the Pie
+		$pie = new pie();
+		$pie->set_alpha(0.6);
+		$pie->set_start_angle( 35 );
+		$pie->add_animation( new pie_fade() );
+		$pie->set_label_colour('#142448');
+		$pie->set_colours( array('#3C5A69','#679BB5','#695A3C','#B58E67','#969696') );
+
+		// create the Pie values
+		$yValues = $this->yValues[$dataSetToDisplay];
+		$labelName = $this->yLabels[$dataSetToDisplay];
+		$sum = array_sum($yValues);
+		$pieValues = array();
+		$i = 0;
+		foreach($this->xLabels as $label) {
+			$value = $yValues[$i];
+			$i++;
+			// we never plot empty pie slices (eg. visits by server time pie chart)
+			if($value <= 0) {
+				continue;
+			}
+			$pieValue = new pie_value($value, $label);
+			$percentage = round(100 * $value / $sum);
+			$pieValue->set_tooltip("$label <br>$percentage% ($value $labelName)");
+			$pieValues[] = $pieValue;
+		}
+		$pie->set_values($pieValues);
 		
-		$this->set_tool_tip( '#x_label# <br>#val# ' );
+		$this->chart->add_element($pie);
 	}
 }
diff --git a/core/Visualization/Chart/VerticalBar.php b/core/Visualization/Chart/VerticalBar.php
index d94272df9b..a87487bb51 100644
--- a/core/Visualization/Chart/VerticalBar.php
+++ b/core/Visualization/Chart/VerticalBar.php
@@ -12,25 +12,59 @@
 require_once "Visualization/Chart.php";
 
 /**
- * 
- * Customize the Vertical bar chart style for the flash graph
+ * Customize & set values for the flash Vertical bar chart
  * 
  * @package Piwik_Visualization
- *
  */
 class Piwik_Visualization_Chart_VerticalBar extends Piwik_Visualization_Chart
 {
+	// return the first dataset id from the list
+	protected function getDataSetsToDisplay()
+	{
+		$dataSetsToDisplay = parent::getDataSetsToDisplay();
+		if($dataSetsToDisplay === false)
+		{
+			return false;
+		}
+		return array_slice($dataSetsToDisplay, 0, 1);
+	}
+	
 	function customizeGraph()
 	{
 		parent::customizeGraph();
-		$this->prepareData();
-		$this->set_data( $this->arrayData );
-		$this->set_x_labels( $this->arrayLabel );
-		$this->set_x_label_style( 12, $this->x_axis_colour, 0, 2, $this->bg_colour );
-		$this->set_x_axis_steps( 2 );
-		$this->set_y_max( $this->maxData );
-		$this->y_label_steps( 2 );
-		$this->bar_filled( 50, '#3B5AA9', '#063E7E', 'visits', 10 );
+		$dataSetsToDisplay = $this->getDataSetsToDisplay();
+		if($dataSetsToDisplay === false)
+		{
+			return;
+		}
+		$dataSetToDisplay = current($dataSetsToDisplay);
+		
+		$this->x->set_grid_colour('#ffffff');
+		$this->x_labels->set_steps(2);
+		$this->x->set_stroke(1);
+
+		// create the Bar object
+		$bar = new bar_filled('#3B5AA9', '#063E7E');
+		$bar->set_alpha(0.5);
+		$bar->set_key($this->yLabels[$dataSetToDisplay], 12);
+		$bar->set_tooltip( '#val# #key#');
+		
+		// create the bar values
+		$yValues = $this->yValues[$dataSetToDisplay];
+		$labelName = $this->yLabels[$dataSetToDisplay];
+		$sum = array_sum($yValues);
+		$barValues = array();
+		$i = 0;
+		foreach($this->xLabels as $label) {
+			$value = $yValues[$i];
+			$barValue = new bar_value($value);
+			$percentage = round(100 * $value / $sum);
+			$barValue->set_tooltip("$label <br>$value $labelName ($percentage%)");
+			$barValues[] = $barValue;
+			$i++;
+		}
+		$bar->set_values($barValues);
+		$this->chart->add_element($bar);
 	}
 	
 }
diff --git a/core/Visualization/OpenFlashChart.php b/core/Visualization/OpenFlashChart.php
deleted file mode 100644
index 1b65f3a0fa..0000000000
--- a/core/Visualization/OpenFlashChart.php
+++ /dev/null
@@ -1,1637 +0,0 @@
-<?php
-/**
- * Piwik - Open source web analytics
- *
- * @link http://piwik.org
- * @license http://www.gnu.org/licenses/gpl-3.0.html Gpl v3 or later
- * @version $Id: OpenFlashChart.php 566 2008-07-21 00:34:43Z matt $
- *
- * @package Piwik_Visualization
- * @subpackage OFC
- */
-
-require_once "iView.php";
-
-
-/**
- * Original class provided by Open Flash Chart
- *
- * @package Piwik_Visualization
- */
-abstract class Piwik_Visualization_OpenFlashChart implements Piwik_iView
-{
-	function __construct()
-	{
-		$this->data_sets = array();
-		$this->data = array();
-		$this->links = array();
-		$this->width = 250;
-		$this->height = 200;
-		$this->js_path = 'js/';
-		$this->swf_path = '';
-		$this->x_labels = array();
-		$this->y_min = '';
-		$this->y_max = '';
-		$this->x_min = '';
-		$this->x_max = '';
-		$this->y_steps = '';
-		$this->title = '';
-		$this->title_style = '';
-		$this->occurence = 0;
-		
-		$this->x_offset = '';
-
-		$this->x_tick_size = -1;
-
-		$this->y2_max = '';
-		$this->y2_min = '';
-
-		// GRID styles:
-		$this->x_axis_colour = '';
-		$this->x_axis_3d = '';
-		$this->x_grid_colour = '';
-		$this->x_axis_steps = 1;
-		$this->y_axis_colour = '';
-		$this->y_grid_colour = '';
-		$this->y2_axis_colour = '';
-		
-		// AXIS LABEL styles:         
-		$this->x_label_style = '';
-		$this->y_label_style = '';
-		$this->y_label_style_right = '';
-	
-	
-		// AXIS LEGEND styles:
-		$this->x_legend = '';
-		$this->x_legend_size = 20;
-		$this->x_legend_colour = '#000000';
-	
-		$this->y_legend = '';
-		$this->y_legend_right = '';
-		//$this->y_legend_size = 20;
-		//$this->y_legend_colour = '#000000';
-	
-		$this->lines = array();
-		$this->line_default['type'] = 'line';
-		$this->line_default['values'] = '3,#87421F';
-		//$this->js_line_default = 'flashvars["line"] = "3,#87421F";';
-
-		$this->bg_colour = '';
-		$this->bg_image = '';
-	
-		$this->inner_bg_colour = '';
-		$this->inner_bg_colour_2 = '';
-		$this->inner_bg_angle = '';
-		
-		// PIE chart ------------
-		$this->pie = '';
-		$this->pie_values = '';
-		$this->pie_colours = '';
-		$this->pie_labels = '';
-		
-		$this->tool_tip = '';
-		
-		// which data lines are attached to the
-		// right Y axis?
-		$this->y2_lines = array();
-		
-		// Number formatting:
-		$this->y_format='';
-		$this->num_decimals='';
-		$this->is_fixed_num_decimals_forced='';
-		$this->is_decimal_separator_comma='';
-		$this->is_thousand_separator_disabled='';
-		
-		$this->output_type = '';
-		
-		//
-		// set some default value incase the user forgets
-		// to set them, so at least they see *something*
-		// even is it is only the axis and some ticks
-		//
-		$this->set_y_min( 0 );
-		$this->set_y_max( 20 );
-		$this->set_x_axis_steps( 1 );
-		$this->y_label_steps( 5 );
-	}
-
-	/**
-	* Set the unique_id to use for the flash object id.
-	*/
-	function set_unique_id()
-	{
-		$this->unique_id = uniqid(rand(), true);
-	}
-	
-	/**
-	* Get the flash object ID for the last rendered object.
-	*/
-	function get_unique_id()
-	{
-		return ($this->unique_id);
-	}
-	
-	/**
-	* Set the base path for the swfobject.js
-	*
-	* @param base_path a string argument.
-	*   The path to the swfobject.js file
-	*/
-	function set_js_path($path)
-	{
-		$this->js_path = $path;
-	}
-	
-	/**
-	* Set the base path for the open-flash-chart.swf
-	*
-	* @param path a string argument.
-	*   The path to the open-flash-chart.swf file
-	*/
-	function set_swf_path($path)
-	{
-		$this->swf_path = $path;
-	}
-
-	/**
-	* Set the type of output data.
-	*
-	* @param type a string argument.
-	*   The type of data.  Currently only type is js, or nothing.
-	*/
-	function set_output_type($type)
-	{
-		$this->output_type = $type;
-	}
-
-	/**
-	* returns the next line label for multiple lines.
-	*/
-	function next_line()
-	{
-		$line_num = '';
-		if( count( $this->lines ) > 0 )
-			$line_num = '_'. (count( $this->lines )+1);
-
-		return $line_num;
-	}
-	
-	// escape commas (,)
-	static function esc( $text )
-	{
-		// we replace the comma so it is not URL escaped
-		// if it is, flash just thinks it is a comma
-		// which is no good if we are splitting the
-		// string on commas.
-		$tmp = str_replace( ',', '#comma#', $text );
-		//$tmp = utf8_encode( $tmp );
-		// now we urlescape all dodgy characters (like & % $ etc..)
-		return urlencode( $tmp );
-	}
-
-	/**
-	* Format the text to the type of output.
-	*/
-	function format_output($function,$values)
-	{
-		if($this->output_type == 'js')
-		{
-			$tmp = 'flashvars["' . $function . '"] = "' . $values . '";';
-		}
-		else
-		{
-			$tmp = '&'. $function .'='. $values .'&';
-		}
-
-		return $tmp;
-	}
-
-	/**
-	* Set the text and style of the title.
-	*
-	* @param title a string argument.
-	*   The text of the title.
-	* @param style a string.
-	*   CSS styling of the title.
-	*/
-	function set_title( $title, $style='' )
-	{
-		$this->title = $this->esc( $title );
-		if( strlen( $style ) > 0 )
-			$this->title_style = $style;
-	}
-
-	/**
-	 * Set the width of the chart.
-	 *
-	 * @param width an int argument.
-	 *   The width of the chart frame.
-	 */
-	function set_width( $width )
-	{
-		$this->width = $width;
-	}
-	
-	/**
-	 * Set the height of the chart.
-	 *
-	 * @param height an int argument.
-	 *   The height of the chart frame.
-	 */
-	function set_height( $height )
-	{
-		$this->height = $height;
-	}
-
-	/**
-	 * Set the base path of the swfobject.
-	 *
-	 * @param base a string argument.
-	 *   The base path of the swfobject.
-	 */
-	function set_base( $base='js/' )
-	{
-		$this->base = $base;
-	}
-	
-	// Number formatting:
-	function set_y_format( $val )
-	{
-		$this->y_format = $val;	
-	}
-	
-	function set_num_decimals( $val )
-	{
-		$this->num_decimals = $val;
-	}
-	
-	function set_is_fixed_num_decimals_forced( $val )
-	{
-		$this->is_fixed_num_decimals_forced = $val?'true':'false';
-	}
-	
-	function set_is_decimal_separator_comma( $val )
-	{
-		$this->is_decimal_separator_comma = $val?'true':'false';
-	}
-	
-	function set_is_thousand_separator_disabled( $val )
-	{
-		$this->is_thousand_separator_disabled = $val?'true':'false';
-	}
-
-	/**
-	 * Set the data for the chart
-	 * @param a an array argument.
-	 *   An array of the data to add to the chart.
-	 */
-	function set_data( $a )
-	{
-		$this->data[] = implode(',',$a);
-	}
-	
-	// UGH, these evil functions are making me fell ill
-	function set_links( $links )
-	{
-		// TO DO escape commas:
-		$this->links[] = implode(',',$links);
-	}
-	
-	// $val is a boolean
-	function set_x_offset( $val )
-	{
-		$this->x_offset = $val?'true':'false';
-	}
-
-	/**
-	 * Set the tooltip to be displayed on each chart item.\n
-	 * \n
-	 * Replaceable tokens that can be used in the string include: \n
-	 * #val# - The actual value of whatever the mouse is over. \n
-	 * #key# - The key string. \n
-	 * \<br>  - New line. \n
-	 * #x_label# - The X label string. \n
-	 * #x_legend# - The X axis legend text. \n
-	 * Default string is: "#x_label#<br>#val#" \n
-	 * 
-	 * @param tip a string argument.
-	 *   A formatted string to show as the tooltip.
-	 */
-	function set_tool_tip( $tip )
-	{
-		$this->tool_tip = $this->esc( $tip );
-	}
-
-	/**
-	 * Set the x axis labels
-	 *
-	 * @param a an array argument.
-	 *   An array of the x axis labels.
-	 */
-	function set_x_labels( $a )
-	{
-		$tmp = array();
-		foreach( $a as $item )
-			$tmp[] = $this->esc( $item );
-		$this->x_labels = $tmp;
-	}
-
-	/**
-	 * Set the look and feel of the x axis labels
-	 *
-	 * @param font_size an int argument.
-	 *   The font size.
-	 * @param colour a string argument.
-	 *   The hex colour value.
-	 * @param orientation an int argument.
-	 *   The orientation of the x-axis text.
-	 *   0 - Horizontal
-	 *   1 - Vertical
-	 *   2 - 45 degrees
-	 * @param step an int argument.
-	 *   Show the label on every $step label.
-	 * @param grid_colour a string argument.
-	 */
-	function set_x_label_style( $size, $colour='', $orientation=0, $step=-1, $grid_colour='' )
-	{
-		$this->x_label_style = $size;
-		
-		if( strlen( $colour ) > 0 )
-			$this->x_label_style .= ','. $colour;
-
-		if( $orientation > -1 )
-			$this->x_label_style .= ','. $orientation;
-
-		if( $step > 0 )
-			$this->x_label_style .= ','. $step;
-
-		if( strlen( $grid_colour ) > 0 )
-			$this->x_label_style .= ','. $grid_colour;
-	}
-
-	/**
-	 * Set the background colour.
-	 * @param colour a string argument.
-	 *   The hex colour value.
-	 */
-	function set_bg_colour( $colour )
-	{
-		$this->bg_colour = $colour;
-	}
-
-	/**
-	 * Set a background image.
-	 * @param url a string argument.
-	 *   The location of the image.
-	 * @param x a string argument.
-	 *   The x location of the image. 'Right', 'Left', 'Center'
-	 * @param y a string argument.
-	 *   The y location of the image. 'Top', 'Bottom', 'Middle'
-	 */
-	function set_bg_image( $url, $x='center', $y='center' )
-	{
-		$this->bg_image = $url;
-		$this->bg_image_x = $x;
-		$this->bg_image_y = $y;
-	}
-
-	/**
-	 * Attach a set of data (a line, area or bar chart) to the right Y axis.
-	 * @param data_number an int argument.
-	 *   The numbered order the data was attached using set_data.
-	 */
-	function attach_to_y_right_axis( $data_number )
-	{
-		$this->y2_lines[] = $data_number;
-	}
-
-	/**
- 	 * Set the background colour of the grid portion of the chart.
-	 * @param col a string argument.
-	 *   The hex colour value of the background.
-	 * @param col2 a string argument.
-	 *   The hex colour value of the second colour if you want a gradient.
-	 * @param angle an int argument.
-	 *   The angle in degrees to make the gradient.
-	 */
-	function set_inner_background( $col, $col2='', $angle=-1 )
-	{
-		$this->inner_bg_colour = $col;
-		
-		if( strlen($col2) > 0 )
-			$this->inner_bg_colour_2 = $col2;
-		
-		if( $angle != -1 )
-			$this->inner_bg_angle = $angle;
-	}
-
-	/**
-	 * Internal function to build the y label style for y and y2
-	 */
-	function _set_y_label_style( $size, $colour )
-	{
-		$tmp = $size;
-		
-		if( strlen( $colour ) > 0 )
-			$tmp .= ','. $colour;
-		return $tmp;
-	}
-
-	/**
-	 * Set the look and feel of the y axis labels
-	 *
-	 * @param font_size an int argument.
-	 *   The font size.
-	 * @param colour a string argument.
-	 *   The hex colour value.
-	 */
-	function set_y_label_style( $size, $colour='' )
-	{
-		$this->y_label_style = $this->_set_y_label_style( $size, $colour );
-	}
-
-	/**
-	 * Set the look and feel of the right y axis labels
-	 *
-	 * @param font_size an int argument.
-	 *   The font size.
-	 * @param colour a string argument.
-	 *   The hex colour value.
-	 */
-	function set_y_right_label_style( $size, $colour='' )
-	{
-		$this->y_label_style_right = $this->_set_y_label_style( $size, $colour );
-	}
-
-	function set_x_max( $max )
-	{
-		$this->x_max = floatval( $max );
-	}
-
-	function set_x_min( $min )
-	{
-		$this->x_min = floatval( $min );
-	}
-
-	/**
-	 * Set the maximum value of the y axis.
-	 *
-	 * @param max an float argument.
-	 *   The maximum value.
-	 */
-	function set_y_max( $max )
-	{
-		$this->y_max = floatval( $max );
-	}
-
-	/**
-	 * Set the minimum value of the y axis.
-	 *
-	 * @param min an float argument.
-	 *   The minimum value.
-	 */
-	function set_y_min( $min )
-	{
-		$this->y_min = floatval( $min );
-	}
-
-	/**
-	 * Set the maximum value of the right y axis.
-	 *
-	 * @param max an float argument.
-	 *   The maximum value.
-	 */  
-	function set_y_right_max( $max )
-	{
-		$this->y2_max = floatval($max);
-	}
-
-	/**
-	 * Set the minimum value of the right y axis.
-	 *
-	 * @param min an float argument.
-	 *   The minimum value.
-	 */
-	function set_y_right_min( $min )
-	{
-		$this->y2_min = floatval($min);
-	}
-
-	/**
-	 * Show the y label on every $step label.
-	 *
-	 * @param val an int argument.
-	 *   Show the label on every $step label.
-	 */
-	function y_label_steps( $val )
-	{
-		 $this->y_steps = intval( $val );
-	}
-	
-	function title( $title, $style='' )
-	{
-		 $this->title = $this->esc( $title );
-		 if( strlen( $style ) > 0 )
-				 $this->title_style = $style;
-	}
-
-	/**
-	 * Set the parameters of the x legend.
-	 *
-	 * @param text a string argument.
-	 *   The text of the x legend.
-	 * @param font_size an int argument.
-	 *   The font size of the x legend text.
-	 * @param colour a string argument
-	 *   The hex value of the font colour. 
-	 */
-	function set_x_legend( $text, $size=-1, $colour='' )
-	{
-		$this->x_legend = $this->esc( $text );
-		if( $size > -1 )
-			$this->x_legend_size = $size;
-		
-		if( strlen( $colour )>0 )
-			$this->x_legend_colour = $colour;
-	}
-
-	/**
-	 * Set the size of the x label ticks.
-	 *
-	 * @param size an int argument.
-	 *   The size of the ticks in pixels.
-	 */
-	function set_x_tick_size( $size )
-	{
-		if( $size > 0 )
-				$this->x_tick_size = $size;
-	}
-
-	/**
-	 * Set how often you would like to show a tick on the x axis.
-	 *
-	 * @param steps an int argument.
-	 *   Show a tick ever $steps.
-	 */
-	function set_x_axis_steps( $steps )
-	{
-		if ( $steps > 0 )
-			$this->x_axis_steps = $steps;
-	}
-
-	/**
-	 * Set the depth in pixels of the 3D X axis slab.
-	 *
-	 * @param size an int argument.
-	 *   The depth in pixels of the 3D X axis.
-	 */
-	function set_x_axis_3d( $size )
-	{
-		if( $size > 0 )
-			$this->x_axis_3d = intval($size);
-	}
-	
-	/**
-	 * The private method of building the y legend output.
-	 */
-	function _set_y_legend( $text, $size, $colour )
-	{
-		$tmp = $text;
-	
-		if( $size > -1 )
-			$tmp .= ','. $size;
-
-		if( strlen( $colour )>0 )
-			$tmp .= ','. $colour;
-
-		return $tmp;
-		}
-
-	/**
-	 * Set the parameters of the y legend.
-	 *
-	 * @param text a string argument.
-	 *   The text of the y legend.
-	 * @param font_size an int argument.
-	 *   The font size of the y legend text.
-	 * @param colour a string argument
-	 *   The hex colour value of the font colour. 
-	 */
-	function set_y_legend( $text, $size=-1, $colour='' )
-	{
-		$this->y_legend = $this->_set_y_legend( $text, $size, $colour );
-	}
-
-	/**
-	 * Set the parameters of the right y legend.
-	 *
-	 * @param text a string argument.
-	 *   The text of the right y legend.
-	 * @param font_size an int argument.
-	 *   The font size of the right y legend text.
-	 * @param colour a string argument
-	 *   The hex value of the font colour. 
-	 */
-	function set_y_right_legend( $text, $size=-1, $colour='' )
-	{
-		$this->y_legend_right = $this->_set_y_legend( $text, $size, $colour );
-	}
-	
-	/**
-	 * Set the colour of the x axis line and grid.
-	 *
-	 * @param axis a string argument.
-	 *   The hex colour value of the x axis line.
-	 * @param grid a string argument.
-	 *   The hex colour value of the x axis grid. 
-	 */
-	function x_axis_colour( $axis, $grid='' )
-	{
-		$this->x_axis_colour = $axis;
-		$this->x_grid_colour = $grid;
-	}
-
-	/**
-	 * Set the colour of the y axis line and grid.
-	 *
-	 * @param axis a string argument.
-	 *   The hex colour value of the y axis line.
-	 * @param grid a string argument.
-	 *   The hex colour value of the y axis grid. 
-	 */
-	function y_axis_colour( $axis, $grid='' )
-	{
-		$this->y_axis_colour = $axis;
-
-		if( strlen( $grid ) > 0 )
-			$this->y_grid_colour = $grid;
-	}
-
-	/**
-	 * Set the colour of the right y axis line.
-	 *
-	 * @param colour a string argument.
-	 *   The hex colour value of the right y axis line.
-	 */
-	function y_right_axis_colour( $colour )
-	{
-		 $this->y2_axis_colour = $colour;
-	}
-
-	/**
-	 * Draw a line without markers on values.
-	 *
-	 * @param width an int argument.
-	 *   The width of the line in pixels.
-	 * @param colour a string argument.
-	 *   The hex colour value of the line.
-	 * @param text a string argument.
-	 *   The label of the line.
-	 * @param font_size an int argument.
-	 *   Font size of the label
-	 * @param circles an int argument
-	 *   Need to find out.
-	 */
-	function line( $width, $colour='', $text='', $size=-1, $circles=-1 )
-	{
-		$type = 'line'. $this->next_line();
-
-		$description = '';
-		if( $width > 0 )
-		{
-			$description .= $width;
-			$description .= ','. $colour;
-		}
-
-		if( strlen( $text ) > 0 )
-		{
-			$description.= ','. $text;
-			$description .= ','. $size;
-		}
-
-		if( $circles > 0 ) 
-			$description .= ','. $circles;
-
-		$this->lines[$type] = $description;
-	}
-
-	/**
-	 * Draw a line with solid dot markers on values.
-	 *
-	 * @param width an int argument.
-	 *   The width of the line in pixels.
-	 * @param dot_size an int argument.
-	 *   Size in pixels of the dot.
-	 * @param colour a string argument.
-	 *   The hex colour value of the line.
-	 * @param text a string argument.
-	 *   The label of the line.
-	 * @param font_size an int argument.
-	 *   Font size of the label.
-	 */
-	function line_dot( $width, $dot_size, $colour, $text='', $font_size='' )
-	{
-		$type = 'line_dot'. $this->next_line();
-
-		$description = "$width,$colour,$text";
-
-		if( strlen( $font_size ) > 0 )
-			$description .= ",$font_size,$dot_size";
-
-		$this->lines[$type] = $description;
-	}
-
-	/**
-	 * Draw a line with hollow dot markers on values.
-	 *
-	 * @param width an int argument.
-	 *   The width of the line in pixels.
-	 * @param dot_size an int argument.
-	 *   Size in pixels of the dot.
-	 * @param colour a string argument.
-	 *   The hex colour value of the line.
-	 * @param text a string argument.
-	 *   The label of the line.
-	 * @param font_size an int argument.
-	 *   Font size of the label.
-	 */
-	function line_hollow( $width, $dot_size, $colour, $text='', $font_size='' )
-	{
-		$type = 'line_hollow'. $this->next_line();
-
-		$description = "$width,$colour,$text";
-
-		if( strlen( $font_size ) > 0 )
-			$description .= ",$font_size,$dot_size";
-
-		$this->lines[$type] = $description;
-	}
-
-	/**
-	 * Draw an area chart.
-	 *
-	 * @param width an int argument.
-	 *   The width of the line in pixels.
-	 * @param dot_size an int argument.
-	 *   Size in pixels of the dot.
-	 * @param colour a string argument.
-	 *   The hex colour value of the line.
-	 * @param alpha an int argument.
-	 *   The percentage of transparency of the fill colour.
-	 * @param text a string argument.
-	 *   The label of the line.
-	 * @param font_size an int argument.
-	 *   Font size of the label.
-	 * @param fill_colour a string argument.
-	 *   The hex colour value of the fill colour.
-	 */
-	function area_hollow( $width, $dot_size, $colour, $alpha, $text='', $font_size='', $fill_colour='' )
-	{
-		$type = 'area_hollow'. $this->next_line();
-
-		$description = "$width,$dot_size,$colour,$alpha";
-
-		if( strlen( $text ) > 0 )
-			$description .= ",$text,$font_size";
-	
-		if( strlen( $fill_colour ) > 0 )
-			$description .= ','. $fill_colour;
-
-		$this->lines[$type] = $description;
-	}
-
-	/**
-	 * Draw a bar chart.
-	 *
-	 * @param alpha an int argument.
-	 *   The percentage of transparency of the bar colour.
-	 * @param colour a string argument.
-	 *   The hex colour value of the line.
-	 * @param text a string argument.
-	 *   The label of the line.
-	 * @param font_size an int argument.
-	 *   Font size of the label.
-	 */
-	function bar( $alpha, $colour='', $text='', $size=-1 )
-	{
-		$type = 'bar'. $this->next_line();
-
-		$description = $alpha .','. $colour .','. $text .','. $size;
-
-		$this->lines[$type] = $description;
-	}
-
-	/**
-	 * Draw a bar chart with an outline.
-	 *
-	 * @param alpha an int argument.
-	 *   The percentage of transparency of the bar colour.
-	 * @param colour a string argument.
-	 *   The hex colour value of the line.
-	 * @param colour_outline a strng argument.
-	 *   The hex colour value of the outline.
-	 * @param text a string argument.
-	 *   The label of the line.
-	 * @param font_size an int argument.
-	 *   Font size of the label.
-	 */
-	function bar_filled( $alpha, $colour, $colour_outline, $text='', $size=-1 )
-	{
-		$type = 'filled_bar'. $this->next_line();
-
-		$description = "$alpha,$colour,$colour_outline,$text,$size";
-
-		$this->lines[$type] = $description;
-	}
-
-	function bar_sketch( $alpha, $offset, $colour, $colour_outline, $text='', $size=-1 )
-	{
-		$type = 'bar_sketch'. $this->next_line();
-
-		$description = "$alpha,$offset,$colour,$colour_outline,$text,$size";
-
-		$this->lines[$type] = $description;
-	}
-
-	/**
-	 * Draw a 3D bar chart.
-	 *
-	 * @param alpha an int argument.
-	 *   The percentage of transparency of the bar colour.
-	 * @param colour a string argument.
-	 *   The hex colour value of the line.
-	 * @param text a string argument.
-	 *   The label of the line.
-	 * @param font_size an int argument.
-	 *   Font size of the label.
-	 */
-	function bar_3D( $alpha, $colour='', $text='', $size=-1 )
-	{
-		$type = 'bar_3d'. $this->next_line();
-
-		$description = $alpha .','. $colour .','. $text .','. $size;
-
-		$this->lines[$type] = $description;
-	}
-
-	/**
-	 * Draw a 3D bar chart that looks like glass.
-	 *
-	 * @param alpha an int argument.
-	 *   The percentage of transparency of the bar colour.
-	 * @param colour a string argument.
-	 *   The hex colour value of the line.
-	 * @param outline_colour a string argument.
-	 *   The hex colour value of the outline.
-	 * @param text a string argument.
-	 *   The label of the line.
-	 * @param font_size an int argument.
-	 *   Font size of the label.
-	 */
-	function bar_glass( $alpha, $colour, $outline_colour, $text='', $size=-1 )
-	{
-		$type = 'bar_glass'. $this->next_line();
-
-		$description = $alpha .','. $colour .','. $outline_colour .','. $text .','. $size;
-
-		$this->lines[$type] = $description;
-	}
-
-	/**
-	 * Draw a faded bar chart.
-	 *
-	 * @param alpha an int argument.
-	 *   The percentage of transparency of the bar colour.
-	 * @param colour a string argument.
-	 *   The hex colour value of the line.
-	 * @param text a string argument.
-	 *   The label of the line.
-	 * @param font_size an int argument.
-	 *   Font size of the label.
-	 */
-	function bar_fade( $alpha, $colour='', $text='', $size=-1 )
-	{
-		$type = 'bar_fade'. $this->next_line();
-
-		$description = $alpha .','. $colour .','. $text .','. $size;
-
-		$this->lines[$type] = $description;
-	}
-	
-	function candle( $data, $alpha, $line_width, $colour, $text='', $size=-1 )
-	{
-		$type = 'candle'. $this->next_line();
-
-		$description = $alpha .','. $line_width .','. $colour .','. $text .','. $size;
-
-		$this->lines[$type] = $description;
-		
-		$a = array();
-		foreach( $data as $can )
-			$a[] = $can->toString();
-			
-		$this->data[] = implode(',',$a);
-	}
-	
-	function hlc( $data, $alpha, $line_width, $colour, $text='', $size=-1 )
-	{
-		$type = 'hlc'. $this->next_line();
-
-		$description = $alpha .','. $line_width .','. $colour .','. $text .','. $size;
-
-		$this->lines[$type] = $description;
-		
-		$a = array();
-		foreach( $data as $can )
-			$a[] = $can->toString();
-			
-		$this->data[] = implode(',',$a);
-	}
-
-	function scatter( $data, $line_width, $colour, $text='', $size=-1 )
-	{
-		$type = 'scatter'. $this->next_line();
-
-		$description = $line_width .','. $colour .','. $text .','. $size;
-
-		$this->lines[$type] = $description;
-		
-		$a = array();
-		foreach( $data as $can )
-			$a[] = $can->toString();
-			
-		$this->data[] = implode(',',$a);
-	}
-
-
-	//
-	// Patch by, Jeremy Miller (14th Nov, 2007)
-	//
-	/**
-	 * Draw a pie chart.
-	 *
-	 * @param alpha an int argument.
-	 *   The percentage of transparency of the pie colour.
-	 * @param $style a string argument.
-	 *   CSS style string
-	 * @param label_colour a string argument.
-	 *   The hex colour value of the label.
-	 * @param gradient a boolean argument.
-	 *   Use a gradient true or false.
-	 * @param border_size an int argument.
-	 *   Size of the border in pixels.
-	 */
-	function pie( $alpha, $line_colour, $style, $gradient = true, $border_size = false )
-	{
-		$this->pie = $alpha.','.$line_colour.','.$style;
-		if( !$gradient )
-		{
-			$this->pie .= ','.!$gradient;
-		}
-		if ($border_size)
-		{
-			if ($gradient === false)
-			{
-				$this->pie .= ',';
-			}
-			$this->pie .= ','.$border_size;
-		}
-	}
-
-	/**
-	 * Set the values of the pie chart.
-	 *
-	 * @param values an array argument.
-	 *   An array of the values for the pie chart.
-	 * @param labels an array argument.
-	 *   An array of the labels for the pie pieces.
-	 * @param links an array argument.
-	 *   An array of the links to the pie pieces.
-	 */	
-	function pie_values( $values, $labels=array(), $links=array() )
-	{
-		$this->pie_values = implode(',',$values);
-		$this->pie_labels = implode(',',$labels);
-		$this->pie_links  = implode(",",$links);
-	}
-
-	/**
-	 * Set the pie slice colours.
-	 *
-	 * @param colours an array argument.
-	 *   The hex colour values of the pie pieces.
-	 */
-	function pie_slice_colours( $colours )
-	{
-		$this->pie_colours = implode(',',$colours);
-	}
-	
-
-	/**
-	 * Render the output.
-	 */
-	function render()
-	{
-		$tmp = array();
-		
-		//echo headers_sent() ?'yes':'no';
-		if( !headers_sent() )
-			header('content-type: text; charset: utf-8');
-
-		if($this->output_type == 'js')
-		{
-			$this->set_unique_id();
-
-			// alternate content (<p></p>) is empty for browsers without Flash
-			$tmp[] = '<div id="' . $this->unique_id . '"><p></p></div>';
-			$tmp[] = '<script type="text/javascript" src="' . $this->js_path . 'swfobject.js"></script>';
-			$tmp[] = '<script type="text/javascript">';
-			$tmp[] = 'var flashvars = [];';
-		}
-
-		if( strlen( $this->title ) > 0 )
-		{
-			$values = $this->title;
-			$values .= ','. $this->title_style;
-			$tmp[] = $this->format_output('title',$values);
-		}
-
-		if( strlen( $this->x_legend ) > 0 )
-		{
-			$values = $this->x_legend;
-			$values .= ','. $this->x_legend_size;
-			$values .= ','. $this->x_legend_colour;
-			$tmp[] = $this->format_output('x_legend',$values);
-		}
-	
-		if( strlen( $this->x_label_style ) > 0 )
-			$tmp[] = $this->format_output('x_label_style',$this->x_label_style);
-	
-		if( $this->x_tick_size > 0 )
-			$tmp[] = $this->format_output('x_ticks',$this->x_tick_size);
-
-		if( $this->x_axis_steps > 0 )
-			$tmp[] = $this->format_output('x_axis_steps',$this->x_axis_steps);
-
-		if( strlen( $this->x_axis_3d ) > 0 )
-			$tmp[] = $this->format_output('x_axis_3d',$this->x_axis_3d);
-		
-		if( strlen( $this->y_legend ) > 0 )
-			$tmp[] = $this->format_output('y_legend',$this->y_legend);
-		
-		if( strlen( $this->y_legend_right ) > 0 )
-			$tmp[] = $this->format_output('y2_legend',$this->y_legend_right);
-
-		if( strlen( $this->y_label_style ) > 0 )
-			$tmp[] = $this->format_output('y_label_style',$this->y_label_style);
-
-		$values = '5,10,'. $this->y_steps;
-		$tmp[] = $this->format_output('y_ticks',$values);
-
-		if( count( $this->lines ) == 0 && count($this->data_sets)==0 )
-		{
-			$tmp[] = $this->format_output($this->line_default['type'],$this->line_default['values']);	
-		}
-		else
-		{
-			foreach( $this->lines as $type=>$description )
-				$tmp[] = $this->format_output($type,$description);	
-		}
-	
-		$num = 1;
-		foreach( $this->data as $data )
-		{
-			if( $num==1 )
-			{
-				$tmp[] = $this->format_output( 'values', $data);
-			}
-			else
-			{
-				$tmp[] = $this->format_output('values_'. $num, $data);
-			}
-		
-			$num++;
-		}
-		
-		$num = 1;
-		foreach( $this->links as $link )
-		{
-			if( $num==1 )
-			{
-				$tmp[] = $this->format_output( 'links', $link);
-			}
-			else
-			{
-				$tmp[] = $this->format_output('links_'. $num, $link);
-			}
-		
-			$num++;
-		}
-
-		if( count( $this->y2_lines ) > 0 )
-		{
-			$tmp[] = $this->format_output('y2_lines',implode( ',', $this->y2_lines ));
-			//
-			// Should this be an option? I think so...
-			//
-			$tmp[] = $this->format_output('show_y2','true');
-		}
-
-		if( count( $this->x_labels ) > 0 )
-			$tmp[] = $this->format_output('x_labels',implode(',',$this->x_labels));
-		else
-		{
-			if( strlen($this->x_min) > 0 )
-				$tmp[] = $this->format_output('x_min',$this->x_min);
-				
-			if( strlen($this->x_max) > 0 )
-				$tmp[] = $this->format_output('x_max',$this->x_max);			
-		}
-		
-		$tmp[] = $this->format_output('y_min',$this->y_min);
-		$tmp[] = $this->format_output('y_max',$this->y_max);
-
-		if( strlen($this->y2_min) > 0 )
-			$tmp[] = $this->format_output('y2_min',$this->y2_min);
-			
-		if( strlen($this->y2_max) > 0 )
-			$tmp[] = $this->format_output('y2_max',$this->y2_max);
-		
-		if( strlen( $this->bg_colour ) > 0 )
-			$tmp[] = $this->format_output('bg_colour',$this->bg_colour);
-
-		if( strlen( $this->bg_image ) > 0 )
-		{
-			$tmp[] = $this->format_output('bg_image',$this->bg_image);
-			$tmp[] = $this->format_output('bg_image_x',$this->bg_image_x);
-			$tmp[] = $this->format_output('bg_image_y',$this->bg_image_y);
-		}
-
-		if( strlen( $this->x_axis_colour ) > 0 )
-		{
-			$tmp[] = $this->format_output('x_axis_colour',$this->x_axis_colour);
-			$tmp[] = $this->format_output('x_grid_colour',$this->x_grid_colour);
-		}
-
-		if( strlen( $this->y_axis_colour ) > 0 )
-			$tmp[] = $this->format_output('y_axis_colour',$this->y_axis_colour);
-
-		if( strlen( $this->y_grid_colour ) > 0 )
-			$tmp[] = $this->format_output('y_grid_colour',$this->y_grid_colour);
-  
-		if( strlen( $this->y2_axis_colour ) > 0 )
-			$tmp[] = $this->format_output('y2_axis_colour',$this->y2_axis_colour);
-		
-		if( strlen( $this->x_offset ) > 0 )
-			$tmp[] = $this->format_output('x_offset',$this->x_offset);
-
-		if( strlen( $this->inner_bg_colour ) > 0 )
-		{
-			$values = $this->inner_bg_colour;
-			if( strlen( $this->inner_bg_colour_2 ) > 0 )
-			{
-				$values .= ','. $this->inner_bg_colour_2;
-				$values .= ','. $this->inner_bg_angle;
-			}
-			$tmp[] = $this->format_output('inner_background',$values);
-		}
-	
-		if( strlen( $this->pie ) > 0 )
-		{
-			$tmp[] = $this->format_output('pie',$this->pie);
-			$tmp[] = $this->format_output('values',$this->pie_values);
-			$tmp[] = $this->format_output('pie_labels',$this->pie_labels);
-			$tmp[] = $this->format_output('colours',$this->pie_colours);
-			$tmp[] = $this->format_output('links',$this->pie_links);
-		}
-
-		if( strlen( $this->tool_tip ) > 0 )
-			$tmp[] = $this->format_output('tool_tip',$this->tool_tip);
-			
-			
-		
-		if( strlen( $this->y_format ) > 0 )
-			$tmp[] = $this->format_output('y_format',$this->y_format);
-			
-		if( strlen( $this->num_decimals ) > 0 )
-			$tmp[] = $this->format_output('num_decimals',$this->num_decimals);
-			
-		if( strlen( $this->is_fixed_num_decimals_forced ) > 0 )
-			$tmp[] = $this->format_output('is_fixed_num_decimals_forced',$this->is_fixed_num_decimals_forced);
-			
-		if( strlen( $this->is_decimal_separator_comma ) > 0 )
-			$tmp[] = $this->format_output('is_decimal_separator_comma',$this->is_decimal_separator_comma);
-			
-		if( strlen( $this->is_thousand_separator_disabled ) > 0 )
-			$tmp[] = $this->format_output('is_thousand_separator_disabled',$this->is_thousand_separator_disabled);
-
-
-		$count = 1;
-		foreach( $this->data_sets as $set )
-		{
-			$tmp[] = $set->toString( $this->output_type, $count>1?'_'.$count:'' );
-			$count++;
-		}
-		
-		if($this->output_type == 'js')
-		{
-			$tmp[] = 'swfobject.embedSWF("' .  $this->swf_path . 'open-flash-chart.swf", "' . $this->unique_id . '", "'. $this->width . '", "' . $this->height . '", "9.0.0", false, flashvars, {bgcolor:"#FFFFFF"}, {id:"ofc",name:"ofc"});';
-			$tmp[] = '</script>';
-		}
-		
-		return implode("\r\n",$tmp);
-	}
-}
-
-class line
-{
-	var $line_width;
-	var $colour;
-	var $_key;
-	var $key;
-	var $key_size;
-	// hold the data
-	var $data;
-	// extra tool tip info:
-	var $tips;
-	
-	function line( $line_width, $colour )
-	{
-		$this->var = 'line';
-		
-		$this->line_width = $line_width;
-		$this->colour = $colour;
-		$this->data = array();
-		$this->links = array();
-		$this->tips = array();
-		$this->_key = false;
-	}
-
-	function key( $key, $size )
-	{
-		$this->_key = true;
-		$this->key = graph::esc( $key );
-		$this->key_size = $size;
-	}
-	
-	function add( $data )
-	{
-		$this->data[] = $data;
-	}
-	
-	function add_link( $data, $link )
-	{
-		$this->data[] = $data;
-		$this->links[] = graph::esc( $link );
-	}
-	
-	function add_data_tip( $data, $tip )
-	{
-		$this->data[] = $data;
-		$this->tips[] = graph::esc( $tip );
-	}
-	
-	function add_data_link_tip( $data, $link, $tip )
-	{
-		$this->data[] = $data;
-		$this->links[] = graph::esc( $link );
-		$this->tips[] = graph::esc( $tip );
-	}
-	
-	// return the variables for this chart
-	function _get_variable_list()
-	{
-		$values = array();
-		$values[] = $this->line_width;
-		$values[] = $this->colour;
-		
-		if( $this->_key )
-		{
-			$values[] = $this->key;
-			$values[] = $this->key_size;
-		}
-		
-		return $values;
-	}
-	
-	function toString( $output_type, $set_num )
-	{
-		$values = implode( ',', $this->_get_variable_list() );
-		
-		$tmp = array();
-		
-		if( $output_type == 'js' )
-		{
-			$tmp[] = 'flashvars["'. $this->var.$set_num .'"] = "'. $values .'";';
-			$tmp[] = 'flashvars["values'. $set_num .'"] = "'. implode( ',', $this->data ) .'";';
-			if( count( $this->links ) > 0 )
-				$tmp[] = 'flashvars["links'. $set_num .'"] = "'. implode( ',', $this->links ) .'";';
-			if( count( $this->tips ) > 0 )
-				$tmp[] = 'flashvars["tool_tips_set'. $set_num .'"] = "'. implode( ',', $this->tips ) .'";';
-		}
-		else
-		{
-			$tmp[]  = '&'. $this->var. $set_num .'='. $values .'&';
-			$tmp[] = '&values'. $set_num .'='. implode( ',', $this->data ) .'&';
-			
-			if( count( $this->links ) > 0 )
-				$tmp[] = '&links'. $set_num .'='. implode( ',', $this->links ) .'&';
-				
-			if( count( $this->tips ) > 0 )
-				$tmp[] = '&tool_tips_set'. $set_num .'='. implode( ',', $this->tips ) .'&';	
-		}
-
-		return implode( "\r\n", $tmp );
-	}
-}
-
-class line_hollow extends line
-{
-	var $dot_size;
-	
-	function line_hollow( $line_width, $dot_size, $colour )
-	{
-		parent::line( $line_width, $colour );
-		$this->var = 'line_hollow';
-		$this->dot_size = $dot_size;
-	}
-	
-	// return the variables for this chart
-	function _get_variable_list()
-	{
-		$values = array();
-		$values[] = $this->line_width;
-		$values[] = $this->colour;
-		
-		if( $this->_key )
-		{
-			$values[] = $this->key;
-			$values[] = $this->key_size;
-		}
-		else
-		{
-			$values[] = '';
-			$values[] = '';
-		}
-		$values[] = $this->dot_size;
-		
-		return $values;
-	}
-}
-
-class line_dot extends line_hollow
-{
-	function line_dot( $line_width, $dot_size, $colour )
-	{
-		parent::line_hollow( $line_width, $dot_size,$colour );
-		$this->var = 'line_dot';
-	}
-}
-
-class bar
-{
-	var $colour;
-	var $alpha;
-	var $data;
-	var $links;
-	var $_key;
-	var $key;
-	var $key_size;
-	var $var;
-	// extra tool tip info:
-	var $tips;
-	
-	function bar( $alpha, $colour )
-	{
-		$this->var = 'bar';
-		
-		$this->alpha = $alpha;
-		$this->colour = $colour;
-		$this->data = array();
-		$this->links = array();
-		$this->tips = array();
-		$this->_key = false;
-	}
-
-	function key( $key, $size )
-	{
-		$this->_key = true;
-		$this->key = graph::esc( $key );
-		$this->key_size = $size;
-	}
-	
-	function add( $data )
-	{
-		$this->data[] = $data;
-	}
-
-	function add_link( $data, $link )
-	{
-		$this->data[] = $data;
-		$this->links[] = graph::esc( $link );
-	}
-	
-	function add_data_tip( $data, $tip )
-	{
-		$this->data[] = $data;
-		$this->tips[] = graph::esc( $tip );
-	}
-	
-	// return the variables for this
-	// bar chart
-	function _get_variable_list()
-	{
-		$values = array();
-		$values[] = $this->alpha;
-		$values[] = $this->colour;
-		
-		if( $this->_key )
-		{
-			$values[] = $this->key;
-			$values[] = $this->key_size;
-		}
-		
-		return $values;
-	}
-	
-	function toString( $output_type, $set_num )
-	{
-		$values = implode( ',', $this->_get_variable_list() );
-		
-		$tmp = array();
-		
-		if( $output_type == 'js' )
-		{
-			$tmp[] = 'flashvars["'. $this->var.$set_num .'"] = "'. $values . '";';
-			$tmp[] = 'flashvars["values'. $set_num .'"] = "'. implode( ',', $this->data ) .'";';
-
-			if( count( $this->links ) > 0 )
-				$tmp[] = 'flashvars["links'. $set_num .'"] = "'. implode( ',', $this->links ) .'";';
-
-			if( count( $this->tips ) > 0 )
-				$tmp[] = 'flashvars["tool_tips_set'. $set_num .'"] = "'. implode( ',', $this->tips ) .'";';
-		}
-		else
-		{
-			$tmp[]  = '&'. $this->var. $set_num .'='. $values .'&';
-			$tmp[] = '&values'. $set_num .'='. implode( ',', $this->data ) .'&';
-			
-			if( count( $this->links ) > 0 )
-				$tmp[] = '&links'. $set_num .'='. implode( ',', $this->links ) .'&';
-				
-			if( count( $this->tips ) > 0 )
-				$tmp[] = '&tool_tips_set'. $set_num .'='. implode( ',', $this->tips ) .'&';	
-		}
-
-		return implode( "\r\n", $tmp );
-	}
-	
-}
-
-class bar_3d extends bar
-{
-	function bar_3d( $alpha, $colour )
-	{
-		parent::bar( $alpha, $colour );
-		$this->var = 'bar_3d';
-	}
-}
-
-class bar_fade extends bar
-{
-	function bar_fade( $alpha, $colour )
-	{
-		parent::bar( $alpha, $colour );
-		$this->var = 'bar_fade';
-	}
-}
-
-class bar_outline extends bar
-{
-	var $outline_colour;
-	
-	function bar_outline( $alpha, $colour, $outline_colour )
-	{
-		parent::bar( $alpha, $colour );
-		$this->var = 'filled_bar';
-		$this->outline_colour = $outline_colour;
-	}
-	
-	// override the base method
-	function _get_variable_list()
-	{
-		$values = array();
-		$values[] = $this->alpha;
-		$values[] = $this->colour;
-		$values[] = $this->outline_colour;
-		
-		if( $this->_key )
-		{
-			$values[] = $this->key;
-			$values[] = $this->key_size;
-		}
-		
-		return $values;
-	}
-}
-
-class bar_glass extends bar_outline
-{
-	function bar_glass( $alpha, $colour, $outline_colour )
-	{
-		parent::bar_outline( $alpha, $colour, $outline_colour );
-		$this->var = 'bar_glass';
-	}
-}
-
-//
-// this has an outline colour and a 'jiggle' parameter
-// called offset
-//
-class bar_sketch extends bar_outline
-{
-	var $offset;
-	
-	function bar_sketch( $alpha, $offset, $colour, $outline_colour )
-	{
-		parent::bar_outline( $alpha, $colour, $outline_colour );
-		$this->var = 'bar_sketch';
-		$this->offset = $offset;
-	}
-	
-	// override the base method
-	function _get_variable_list()
-	{
-		$values = array();
-		$values[] = $this->alpha;
-		$values[] = $this->offset;
-		$values[] = $this->colour;
-		$values[] = $this->outline_colour;
-		
-		if( $this->_key )
-		{
-			$values[] = $this->key;
-			$values[] = $this->key_size;
-		}
-		
-		return $values;
-	}
-}
-
-class candle
-{
-	var $out;
-	
-	function candle( $high, $open, $close, $low )
-	{
-		$this->out = array();
-		$this->out[] = $high;
-		$this->out[] = $open;
-		$this->out[] = $close;
-		$this->out[] = $low;
-	}
-	
-	function toString()
-	{
-		return '['. implode( ',', $this->out ) .']';
-	}
-}
-
-class hlc
-{
-	var $out;
-	
-	function hlc( $high, $low, $close )
-	{
-		$this->out = array();
-		$this->out[] = $high;
-		$this->out[] = $low;
-		$this->out[] = $close;
-	}
-	
-	function toString()
-	{
-		return '['. implode( ',', $this->out ) .']';
-	}
-}
-
-class point
-{
-	var $out;
-	
-	function point( $x, $y, $size_px )
-	{
-		$this->out = array();
-		$this->out[] = $x;
-		$this->out[] = $y;
-		$this->out[] = $size_px;
-	}
-	
-	function toString()
-	{
-		return '['. implode( ',', $this->out ) .']';
-	}
-}
-
-// PIWIK SPECIAL ALIAS HACK - when updating Open Flash Chart, leave this line unchanged
-class graph extends Piwik_Visualization_OpenFlashChart {}
diff --git a/core/Visualization/Sparkline.php b/core/Visualization/Sparkline.php
index b0e60dbcbd..5dba26696a 100644
--- a/core/Visualization/Sparkline.php
+++ b/core/Visualization/Sparkline.php
@@ -21,15 +21,12 @@ require_once 'sparkline/lib/Sparkline_Line.php';
 class Piwik_Visualization_Sparkline implements Piwik_iView
 {
 	/**
-	 * Sets data. Must have format: array( array('value' => X),array('value' =>Y ), ...)
-	 *
+	 * Array with format: array( x, y, z, ... )
 	 * @param array $data
 	 */
-	function setData($data)
+	function setValues($data)
 	{
-		$this->data = $data;
-		$this->width = self::getWidth();
-		$this->height = self::getHeight();
+		$this->values = $data;
 	}
 	
 	static public function getWidth()
@@ -39,14 +36,17 @@ class Piwik_Visualization_Sparkline implements Piwik_iView
 	
 	static public function getHeight()
 	{
-		return 20;
+		return 25;
 	}
 	
 	function main()
 	{
-		$data = $this->data;
+		$width = self::getWidth();
+		$height = self::getHeight();
+		
+		$data = $this->values;
 		$sparkline = new Sparkline_Line();
-		$sparkline->SetColor('lineColor', 22,44,74); // dark blue
+		$sparkline->SetColor('lineColor', 22, 44, 74); // dark blue
 		$sparkline->SetColorHtml('red', '#FF7F7F');
 		$sparkline->SetColorHtml('blue', '#55AAFF');
 		$sparkline->SetColorHtml('green', '#75BF7C');
@@ -54,37 +54,31 @@ class Piwik_Visualization_Sparkline implements Piwik_iView
 		$data = array_reverse($data);
 		$min = $max = $last = null;
 		$i = 0;
-		
-		foreach($this->data as $row)
+		foreach($this->values as $value)
 		{
-			$value = $row['value'];
 			$sparkline->SetData($i, $value);
 			if(	null == $min || $value <= $min[1])
 			{
 				$min = array($i, $value);
 			}
-		
 			if(null == $max || $value >= $max[1]) 
 			{
 				$max = array($i, $value);
 			}
-		
 			$last = array($i, $value);
-			$i++;			
+			$i++;
 		}
-		
 		$sparkline->SetYMin(0);
-		$sparkline->SetPadding(2); // setpadding is additive
-		$sparkline->SetPadding(0,//13 font height 
-					3, //4 * (strlen("$last[1]")), 
-					0, //imagefontheight(FONT_2), 
-					0);
+		$sparkline->setYMax($max[1] + 1); // the +1 seems to be mandatory to not lose some pixels when value = max
+		$sparkline->SetPadding( 3, 0, 2, 0);
 		$font = FONT_2;
-		$sparkline->SetFeaturePoint($min[0]-1,  $min[1],  'red', 5);
-		$sparkline->SetFeaturePoint($max[0]-1,  $max[1],  'green', 5);
-		$sparkline->SetFeaturePoint($last[0]-1, $last[1], 'blue',5);
+		// the -0.5 is a hack as the sparkline samping rendering is obviously slightly bugged
+		// (see also fix marked as //FIX FROM PIWIK in libs/sparkline/lib/Sparkline.php)
+		$sparkline->SetFeaturePoint($min[0] -0.5,  $min[1],  'red', 5);
+		$sparkline->SetFeaturePoint($max[0] -0.5,  $max[1],  'green', 5);
+		$sparkline->SetFeaturePoint($last[0] -0.5, $last[1], 'blue', 5);
 		$sparkline->SetLineSize(3); // for renderresampled, linesize is on virtual image
-		$sparkline->RenderResampled($this->width, $this->height, 'lineColor');
+		$sparkline->RenderResampled($width, $height);
 		
 		$this->sparkline = $sparkline;
 	}
diff --git a/lang/en.php b/lang/en.php
index 0db6022f04..26e63e35ad 100644
--- a/lang/en.php
+++ b/lang/en.php
@@ -40,12 +40,17 @@ $translations = array(
 	'General_Visitors' => 'Visitors',
 	'General_ColumnNbUniqVisitors' => 'Unique visitors',
 	'General_ColumnNbVisits' => 'Visits',
+	'General_ColumnNbActions' => 'Actions',
+	'General_ColumnMaxActions' => 'Maximum actions in one visit',
+	'General_ColumnSumVisitLength' => 'Total time spent by visitors (in seconds)',
 	'General_ColumnLabel' => 'Label',
 	'General_ColumnActionsPerVisit' => 'Actions per Visit',
 	'General_ColumnAvgTimeOnSite' => 'Avg. Time on Site',
 	'General_ColumnBounceRate' => 'Bounce Rate',
 	'General_ColumnPageviews' => 'Pageviews',
 	'General_ColumnUniquePageviews' => 'Unique Pageviews',
+	'General_ColumnValuePerVisit' => 'Value per Visit',
+	'General_ColumnVisitsWithConversions' => 'Visits with Conversions',
 	'General_Save' => 'Save',
 	'General_Website' => 'Website',
 	'General_NoDataForGraph' => 'No data for this graph',
@@ -56,6 +61,44 @@ $translations = array(
 	'General_YouAreCurrentlyViewingDemoOfPiwik' => "You are currently viewing the demo of %s; %sdownload%s the full version! Check out %s",
 	'General_PiwikXIsAvailablePleaseUpdateNow' => "Piwik %s is available. %s Please update now!%s (see %s changes%s).",
 	'General_BackToPiwik' => "Back to Piwik",
+	'General_ShortMonth_1' => "Jan",
+	'General_ShortMonth_2' => "Feb",
+	'General_ShortMonth_3' => "Mar",
+	'General_ShortMonth_4' => "Apr",
+	'General_ShortMonth_5' => "May",
+	'General_ShortMonth_6' => "Jun",
+	'General_ShortMonth_7' => "Jul",
+	'General_ShortMonth_8' => "Aug",
+	'General_ShortMonth_9' => "Sep",
+	'General_ShortMonth_10' => "Oct",
+	'General_ShortMonth_11' => "Nov",
+	'General_ShortMonth_12' => "Dec",
+	'General_LongMonth_1' => "January",
+	'General_LongMonth_2' => "February",
+	'General_LongMonth_3' => "March",
+	'General_LongMonth_4' => "April",
+	'General_LongMonth_5' => "May",
+	'General_LongMonth_6' => "June",
+	'General_LongMonth_7' => "July",
+	'General_LongMonth_8' => "August",
+	'General_LongMonth_9' => "September",
+	'General_LongMonth_10' => "October",
+	'General_LongMonth_11' => "November",
+	'General_LongMonth_12' => "December",
+	'General_ShortDay_1' => "Mon",
+	'General_ShortDay_2' => "Tue",
+	'General_ShortDay_3' => "Wed",
+	'General_ShortDay_4' => "Thu",
+	'General_ShortDay_5' => "Fri",
+	'General_ShortDay_6' => "Sat",
+	'General_ShortDay_7' => "Sun",
+	'General_LongDay_1' => "Monday",
+	'General_LongDay_2' => "Tuesday",
+	'General_LongDay_3' => "Wednesday",
+	'General_LongDay_4' => "Thursday",
+	'General_LongDay_5' => "Friday",
+	'General_LongDay_6' => "Saturday",
+	'General_LongDay_7' => "Sunday",
 	'CorePluginsAdmin_Plugins' => 'Plugins',
 	'CorePluginsAdmin_PluginsManagement' => 'Plugins Management',
 	'CorePluginsAdmin_MainDescription' => 'Plugins extend and expand the functionality of Piwik. Once a plugin is installed, you may activate it or deactivate it here.',
@@ -83,7 +126,7 @@ $translations = array(
 	'CoreHome_ExcludeLowPopulation_js' => 'Exclude low population',
 	'CoreHome_PageOf_js' => '%s of %s',
 	'CoreHome_Loading_js' => 'Loading...',
-	'CoreHome_LocalizedDateFormat' => '%A %d %B %Y',
+	'CoreHome_DayFormat' => '%longDay% %day% %longMonth% %longYear%',
 	'CoreHome_PeriodDay' => 'Day',
 	'CoreHome_PeriodWeek' => 'Week',
 	'CoreHome_PeriodMonth' => 'Month',
@@ -151,11 +194,11 @@ $translations = array(
 	'Dashboard_AddWidget' => 'Add a widget...',
 	'Dashboard_DeleteWidgetConfirm' => 'Are you sure you want to delete this widget from the dashboard?',
 	'Dashboard_SelectWidget' => 'Select the widget to add in the dashboard',
-	'Dashboard_AddPreviewedWidget' => 'Add previewed widget to the dashboard',
-	'Dashboard_WidgetPreview' => 'Widget preview',
+	'Dashboard_AddPreviewedWidget_js' => 'Add previewed widget to the dashboard',
+	'Dashboard_WidgetPreview_js' => 'Widget preview',
+	'Dashboard_Close_js' => 'Close',
 	'Dashboard_TitleWidgetInDashboard_js' => 'Widget already in dashboard',
 	'Dashboard_TitleClickToAdd_js' => 'Click to add to dashboard',
-	'Dashboard_LoadingPreview_js' => 'Loading preview, please wait...',
 	'Dashboard_LoadingWidget_js' => 'Loading widget, please wait...',
 	'Dashboard_WidgetNotFound_js' => 'Widget not found',
 	'Referers_Referers' => 'Referers',
@@ -164,6 +207,7 @@ $translations = array(
 	'Referers_DirectEntry' => 'Direct Entry',
 	'Referers_Websites' => 'Websites',
 	'Referers_Campaigns' => 'Campaigns',
+	'Referers_MetricsFromRefererTypeGraphLegend' => '%1s (from %2s)',
 	'Referers_Evolution' => 'Evolution over the period',
 	'Referers_Type' => 'Referer Type',
 	'Referers_DetailsByRefererType' => 'Details by Referer Type',
@@ -171,11 +215,12 @@ $translations = array(
 	'Referers_TypeSearchEngines' => '%s from search engines',
 	'Referers_TypeWebsites' => '%s from websites',
 	'Referers_TypeCampaigns' => '%s from campaigns',
-	'Referers_Other' => 'Other',
-	'Referers_OtherDistinctSearchEngines' => '%s distinct search engines',
-	'Referers_OtherDistinctKeywords' => '%s distinct keywords',
-	'Referers_OtherDistinctWebsites' => '%1s distinct websites (using %2s distinct urls)',
-	'Referers_OtherDistinctCampaigns' => '%s distinct campaigns',
+	'Referers_Distinct' => 'Distinct Referers by Referer Type',
+	'Referers_DistinctSearchEngines' => 'distinct search engines',
+	'Referers_DistinctKeywords' => 'distinct keywords',
+	'Referers_DistinctCampaigns' => 'distinct campaigns',
+	'Referers_DistinctWebsites' => 'distinct websites',
+	'Referers_UsingNDistinctUrls' => ' (using %2s distinct urls)',
 	'Referers_SubmenuEvolution' => 'Evolution',
 	'Referers_SubmenuSearchEngines' => 'Search engines & keywords',
 	'Referers_SubmenuWebsites' => 'Websites',
@@ -185,6 +230,7 @@ $translations = array(
 	'Referers_WidgetExternalWebsites' => 'List of external Websites',
 	'Referers_WidgetSearchEngines' => 'Best search engines',
 	'Referers_WidgetOverview' => 'Overview',
+	'UserSettings_VisitorSettings' => 'Visitor Settings',
 	'UserSettings_BrowserFamilies' => 'Browser families',
 	'UserSettings_Browsers' => 'Browsers',
 	'UserSettings_Plugins' => 'Plugins',
@@ -480,8 +526,8 @@ $translations = array(
 	'VisitsSummary_NbActions' => '%s actions (page views)',
 	'VisitsSummary_TotalTime' => '%s total time spent by the visitors',
 	'VisitsSummary_MaxNbActions' => '%s max actions in one visit',
-	'VisitsSummary_NbBounced' => '%s visitors have bounced (left the site after one page)',
-	'VisitsSummary_EvolutionPeriods' => 'Evolution on the last 30 %s',
+	'VisitsSummary_NbVisitsBounced' => '%s visits have bounced (left the site after one page)',
+	'VisitsSummary_EvolutionOverLastPeriods' => 'Evolution over the last %s',
 	'VisitsSummary_Report' => 'Report',
 	'VisitsSummary_GenerateTime' => '%s seconds to generate the page',
 	'VisitsSummary_GenerateQueries' => '%s queries executed',
@@ -491,11 +537,16 @@ $translations = array(
 	'VisitsSummary_WidgetOverviewGraph' => 'Overview with graph',
 	'VisitsSummary_SubmenuOverview' => 'Overview',
 	'VisitFrequency_Evolution' => 'Evolution over the period',
+	'VisitFrequency_ColumnReturningVisits' => 'Returning Visits',
+	'VisitFrequency_ColumnActionsByReturningVisits' => 'Actions by Returning Visits',
+	'VisitFrequency_ColumnMaximumActionsByAReturningVisit' => 'Maximum Actions by a Returning Visit',
+	'VisitFrequency_ColumnTotalTimeSpentByReturningVisits' => 'Total time spent by Returning Visits (in seconds)',
+	'VisitFrequency_ColumnBounceRateForReturningVisits' => 'Bounce rate for Returning Visits',
 	'VisitFrequency_ReturnVisits' => '%s returning visits',
 	'VisitFrequency_ReturnActions' => '%s actions by the returning visits',
 	'VisitFrequency_ReturnMaxActions' => '%s maximum actions by a returning visit',
 	'VisitFrequency_ReturnTotalTime' => '%s total time spent by returning visits',
-	'VisitFrequency_ReturnBounces' => '%s times that a returning visit has bounced (left the site after one page)',
+	'VisitFrequency_ReturnBounceRate' => '%s returning visits have bounced (left the site after one page)',
 	'VisitFrequency_WidgetOverview' => 'Frequency overview',
 	'VisitFrequency_WidgetGraphReturning' => 'Graph returning visits',
 	'VisitFrequency_SubmenuFrequency' => 'Frequency',
@@ -634,6 +685,9 @@ $translations = array(
 	'Installation_ErrorInvalidState' => 'Error: it seems you try to skip a step of the Installation process, or your cookies are disabled, or the Piwik configuration file is already created. %sMake sure your cookies are enabled%s and go back %s to the first page of the installation %s.',
 	'Provider_WidgetProviders' => 'Providers',
 	'Provider_SubmenuLocationsProvider' => 'Locations & provider',
+	'Goals_ColumnConversions' => 'Conversions',
+	'Goals_ColumnConversionRate' => 'Conversion Rate',
+	'Goals_ColumnRevenue' => 'Revenue',
 	'DBStats_DatabaseUsage' => 'Database usage',
 	'DBStats_MainDescription' => 'Piwik is storing all your web analytics data in the Mysql database. Currently, Piwik tables are using %s.',
 	'DBStats_Table' => 'Table',
diff --git a/libs/javascript/json2.js b/libs/javascript/json2.js
new file mode 100644
index 0000000000..d7c3fb5d13
--- /dev/null
+++ b/libs/javascript/json2.js
@@ -0,0 +1,29 @@
+// see http://www.json.org/js.html
+if(!this.JSON){JSON={};}
+(function(){function f(n){return n<10?'0'+n:n;}
+if(typeof Date.prototype.toJSON!=='function'){Date.prototype.toJSON=function(key){return this.getUTCFullYear()+'-'+
+f(this.getUTCMonth()+1)+'-'+
+f(this.getUTCDate())+'T'+
+f(this.getUTCHours())+':'+
+f(this.getUTCMinutes())+':'+
+f(this.getUTCSeconds())+'Z';};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(key){return this.valueOf();};}
+var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'},rep;function quote(string){escapable.lastIndex=0;return escapable.test(string)?'"'+string.replace(escapable,function(a){var c=meta[a];return typeof c==='string'?c:'\\u'+('0000'+a.charCodeAt(0).toString(16)).slice(-4);})+'"':'"'+string+'"';}
+function str(key,holder){var i,k,v,length,mind=gap,partial,value=holder[key];if(value&&typeof value==='object'&&typeof value.toJSON==='function'){value=value.toJSON(key);}
+if(typeof rep==='function'){value=rep.call(holder,key,value);}
+switch(typeof value){case'string':return quote(value);case'number':return isFinite(value)?String(value):'null';case'boolean':case'null':return String(value);case'object':if(!value){return'null';}
+gap+=indent;partial=[];if(Object.prototype.toString.apply(value)==='[object Array]'){length=value.length;for(i=0;i<length;i+=1){partial[i]=str(i,value)||'null';}
+v=partial.length===0?'[]':gap?'[\n'+gap+
+partial.join(',\n'+gap)+'\n'+
+mind+']':'['+partial.join(',')+']';gap=mind;return v;}
+if(rep&&typeof rep==='object'){length=rep.length;for(i=0;i<length;i+=1){k=rep[i];if(typeof k==='string'){v=str(k,value);if(v){partial.push(quote(k)+(gap?': ':':')+v);}}}}else{for(k in value){if(Object.hasOwnProperty.call(value,k)){v=str(k,value);if(v){partial.push(quote(k)+(gap?': ':':')+v);}}}}
+v=partial.length===0?'{}':gap?'{\n'+gap+partial.join(',\n'+gap)+'\n'+
+mind+'}':'{'+partial.join(',')+'}';gap=mind;return v;}}
+if(typeof JSON.stringify!=='function'){JSON.stringify=function(value,replacer,space){var i;gap='';indent='';if(typeof space==='number'){for(i=0;i<space;i+=1){indent+=' ';}}else if(typeof space==='string'){indent=space;}
+rep=replacer;if(replacer&&typeof replacer!=='function'&&(typeof replacer!=='object'||typeof replacer.length!=='number')){throw new Error('JSON.stringify');}
+return str('',{'':value});};}
+if(typeof JSON.parse!=='function'){JSON.parse=function(text,reviver){var j;function walk(holder,key){var k,v,value=holder[key];if(value&&typeof value==='object'){for(k in value){if(Object.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined){value[k]=v;}else{delete value[k];}}}}
+return reviver.call(holder,key,value);}
+cx.lastIndex=0;if(cx.test(text)){text=text.replace(cx,function(a){return'\\u'+
+('0000'+a.charCodeAt(0).toString(16)).slice(-4);});}
+if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,'@').replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,']').replace(/(?:^|:|,)(?:\s*\[)+/g,''))){j=eval('('+text+')');return typeof reviver==='function'?walk({'':j},''):j;}
+throw new SyntaxError('JSON.parse');};}}());
\ No newline at end of file
diff --git a/libs/open-flash-chart/open-flash-chart.swf b/libs/open-flash-chart/open-flash-chart.swf
index 85b590a28f4a5cea29eefa8c7cad6b551e29de4a..9496b1a5c0d55297ec43d60534d87792b2d2469b 100644
GIT binary patch
literal 271000
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
Zim871L(21~sUQ6;^5^vO{{a!jN_@^zTM+;N

literal 64600
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
HtI>lMRC*G=

diff --git a/libs/open-flash-chart/php-ofc-library/README.txt b/libs/open-flash-chart/php-ofc-library/README.txt
new file mode 100644
index 0000000000..012fbfd52f
--- /dev/null
+++ b/libs/open-flash-chart/php-ofc-library/README.txt
@@ -0,0 +1,16 @@
+Open Flash Chart - PHP libraries. These help create data files for Open Flash Chart.
+Copyright (C) 2007 
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
\ No newline at end of file
diff --git a/libs/open-flash-chart/php-ofc-library/dot_base.php b/libs/open-flash-chart/php-ofc-library/dot_base.php
new file mode 100644
index 0000000000..5772efcd9f
--- /dev/null
+++ b/libs/open-flash-chart/php-ofc-library/dot_base.php
@@ -0,0 +1,231 @@
+<?php
+
+/**
+ * A private class. All the other line-dots inherit from this.
+ * Gives them all some common methods.
+ */ 
+class dot_base
+{
+	/**
+	 * @param $type string
+	 * @param $value integer
+	 */
+	function dot_base($type, $value=null)
+	{
+		$this->type = $type;
+		if( isset( $value ) )
+			$this->value( $value );
+	}
+	
+	/**
+	 * For line charts that only require a Y position
+	 * for each point.
+	 * @param $value as integer, the Y position
+	 */
+	function value( $value )
+	{
+		$this->value = $value;
+	}
+	
+	/**
+	 * For scatter charts that require an X and Y position for
+	 * each point.
+	 * 
+	 * @param $x as integer
+	 * @param $y as integer
+	 */
+	function position( $x, $y )
+	{
+		$this->x = $x;
+		$this->y = $y;
+	}
+	
+	/**
+	 * @param $colour is a string, HEX colour, e.g. '#FF0000' red
+	 */
+	function colour($colour)
+	{
+		$this->colour = $colour;
+		return $this;
+	}
+	
+	/**
+	 * The tooltip for this dot.
+	 */
+	function tooltip( $tip )
+	{
+		$this->tip = $tip;
+		return $this;
+	}
+	
+	/**
+	 * @param $size is an integer. Size of the dot.
+	 */
+	function size($size)
+	{
+		$tmp = 'dot-size';
+		$this->$tmp = $size;
+		return $this;
+	}
+	
+	/**
+	 * a private method
+	 */
+	function type( $type )
+	{
+		$this->type = $type;
+		return $this;
+	}
+	
+	/**
+	 * @param $size is an integer. The size of the hollow 'halo' around the dot that masks the line.
+	 */
+	function halo_size( $size )
+	{
+		$tmp = 'halo-size';
+		$this->$tmp = $size;
+		return $this;
+	}
+	
+	/**
+	 * @param $do as string. One of three options (examples):
+	 *  - "http://example.com" - browse to this URL
+	 *  - "https://example.com" - browse to this URL
+	 *  - "trace:message" - print this message in the FlashDevelop debug pane
+	 *  - all other strings will be called as Javascript functions, so a string "hello_world"
+	 *  will call the JS function "hello_world(index)". It passes in the index of the
+	 *  point.
+	 */
+	function on_click( $do )
+	{
+		$tmp = 'on-click';
+		$this->$tmp = $do;
+	}
+}
+
+/**
+ * Draw a hollow dot
+ */
+class hollow_dot extends dot_base
+{	
+	function hollow_dot($value=null)
+	{
+		parent::dot_base( 'hollow-dot', $value );
+	}
+}
+
+/**
+ * Draw a star
+ */
+class star extends dot_base
+{
+	/**
+	 * The constructor, takes an optional $value
+	 */
+	function star($value=null)
+	{
+		parent::dot_base( 'star', $value );
+	}
+	
+	/**
+	 * @param $angle is an integer.
+	 */
+	function rotation($angle)
+	{
+		$this->rotation = $angle;
+		return $this;
+	}
+	
+	/**
+	 * @param $is_hollow is a boolean.
+	 */
+	function hollow($is_hollow)
+	{
+		$this->hollow = $is_hollow;
+	}
+}
+
+/**
+ * Draw a 'bow tie' shape.
+ */
+class bow extends dot_base
+{
+	/**
+	 * The constructor, takes an optional $value
+	 */
+	function bow($value=null)
+	{
+		parent::dot_base( 'bow', $value );
+	}
+	
+	/**
+	 * Rotate the anchor object.
+	 * @param $angle is an integer.
+	 */
+	function rotation($angle)
+	{
+		$this->rotation = $angle;
+		return $this;
+	}
+}
+
+/**
+ * An <i><b>n</b></i> sided shape.
+ */
+class anchor extends dot_base
+{
+	/**
+	 * The constructor, takes an optional $value
+	 */
+	function anchor($value=null)
+	{
+		parent::dot_base( 'anchor', $value );
+	}
+	
+	/**
+	 * Rotate the anchor object.
+	 * @param $angle is an integer.
+	 */
+	function rotation($angle)
+	{
+		$this->rotation = $angle;
+		return $this;
+	}
+	
+	/**
+	 * @param $sides is an integer. Number of sides this shape has.
+	 */
+	function sides($sides)
+	{
+		$this->sides = $sides;
+		return $this;
+	}
+}
+
+/**
+ * A simple dot
+ */
+class dot extends dot_base
+{
+	/**
+	 * The constructor, takes an optional $value
+	 */
+	function dot($value=null)
+	{
+		parent::dot_base( 'dot', $value );
+	}
+}
+
+/**
+ * A simple dot
+ */
+class solid_dot extends dot_base
+{
+	/**
+	 * The constructor, takes an optional $value
+	 */
+	function solid_dot($value=null)
+	{
+		parent::dot_base( 'solid-dot', $value );
+	}
+}
\ No newline at end of file
diff --git a/libs/open-flash-chart/php-ofc-library/json_format.php b/libs/open-flash-chart/php-ofc-library/json_format.php
new file mode 100644
index 0000000000..b8e3de5cb1
--- /dev/null
+++ b/libs/open-flash-chart/php-ofc-library/json_format.php
@@ -0,0 +1,86 @@
+<?php
+
+// Pretty print some JSON
+function json_format($json)
+{
+    $tab = "  ";
+    $new_json = "";
+    $indent_level = 0;
+    $in_string = false;
+
+/*
+ commented out by monk.e.boy 22nd May '08
+ because my web server is PHP4, and
+ json_* are PHP5 functions...
+
+    $json_obj = json_decode($json);
+
+    if($json_obj === false)
+        return false;
+
+    $json = json_encode($json_obj);
+*/
+    $len = strlen($json);
+
+    for($c = 0; $c < $len; $c++)
+    {
+        $char = $json[$c];
+        switch($char)
+        {
+            case '{':
+            case '[':
+                if(!$in_string)
+                {
+                    $new_json .= $char . "\n" . str_repeat($tab, $indent_level+1);
+                    $indent_level++;
+                }
+                else
+                {
+                    $new_json .= $char;
+                }
+                break;
+            case '}':
+            case ']':
+                if(!$in_string)
+                {
+                    $indent_level--;
+                    $new_json .= "\n" . str_repeat($tab, $indent_level) . $char;
+                }
+                else
+                {
+                    $new_json .= $char;
+                }
+                break;
+            case ',':
+                if(!$in_string)
+                {
+                    $new_json .= ",\n" . str_repeat($tab, $indent_level);
+                }
+                else
+                {
+                    $new_json .= $char;
+                }
+                break;
+            case ':':
+                if(!$in_string)
+                {
+                    $new_json .= ": ";
+                }
+                else
+                {
+                    $new_json .= $char;
+                }
+                break;
+            case '"':
+                if($c > 0 && $json[$c-1] != '\\')
+                {
+                    $in_string = !$in_string;
+                }
+            default:
+                $new_json .= $char;
+                break;                   
+        }
+    }
+
+    return $new_json;
+}
\ No newline at end of file
diff --git a/libs/open-flash-chart/php-ofc-library/ofc_area_base.php b/libs/open-flash-chart/php-ofc-library/ofc_area_base.php
new file mode 100644
index 0000000000..a6e811fd55
--- /dev/null
+++ b/libs/open-flash-chart/php-ofc-library/ofc_area_base.php
@@ -0,0 +1,40 @@
+<?php
+
+/**
+ * inherits from line
+ */
+class area extends line
+{
+	function area()
+	{
+		$this->type      = "area";
+	}
+	
+	/**
+	 * the fill colour
+	 */
+	function set_fill_colour( $colour )
+	{
+		$this->fill = $colour;
+	}
+	
+	/**
+	 * sugar: see set_fill_colour
+	 */
+	function fill_colour( $colour )
+	{
+		$this->set_fill_colour( $colour );
+		return $this;
+	}
+	
+	function set_fill_alpha( $alpha )
+	{
+		$tmp = "fill-alpha";
+		$this->$tmp = $alpha;
+	}
+	
+	function set_loop()
+	{
+		$this->loop = true;
+	}
+}
diff --git a/libs/open-flash-chart/php-ofc-library/ofc_area_hollow.php b/libs/open-flash-chart/php-ofc-library/ofc_area_hollow.php
new file mode 100644
index 0000000000..4293af0b65
--- /dev/null
+++ b/libs/open-flash-chart/php-ofc-library/ofc_area_hollow.php
@@ -0,0 +1,10 @@
+<?php
+
+class area_hollow extends area_base
+{
+	function area_hollow()
+	{
+		$this->type      = "area_hollow";
+		parent::area_base();
+	}
+}
diff --git a/libs/open-flash-chart/php-ofc-library/ofc_area_line.php b/libs/open-flash-chart/php-ofc-library/ofc_area_line.php
new file mode 100644
index 0000000000..5731391a33
--- /dev/null
+++ b/libs/open-flash-chart/php-ofc-library/ofc_area_line.php
@@ -0,0 +1,10 @@
+<?php
+
+class area_line extends area_base
+{
+	function area_line()
+	{
+		$this->type      = "area_line";
+		parent::area_base();
+	}
+}
diff --git a/libs/open-flash-chart/php-ofc-library/ofc_bar.php b/libs/open-flash-chart/php-ofc-library/ofc_bar.php
new file mode 100644
index 0000000000..6ddda42749
--- /dev/null
+++ b/libs/open-flash-chart/php-ofc-library/ofc_bar.php
@@ -0,0 +1,34 @@
+<?php
+
+include_once 'ofc_bar_base.php';
+
+class bar_value
+{
+	function bar_value( $top, $bottom=null )
+	{
+		$this->top = $top;
+		
+		if( isset( $bottom ) )
+			$this->bottom = $bottom;
+	}
+	
+	function set_colour( $colour )
+	{
+		$this->colour = $colour;
+	}
+	
+	function set_tooltip( $tip )
+	{
+		$this->tip = $tip;
+	}
+}
+
+class bar extends bar_base
+{
+	function bar()
+	{
+		$this->type      = "bar";
+		parent::bar_base();
+	}
+}
+
diff --git a/libs/open-flash-chart/php-ofc-library/ofc_bar_3d.php b/libs/open-flash-chart/php-ofc-library/ofc_bar_3d.php
new file mode 100644
index 0000000000..47552184ce
--- /dev/null
+++ b/libs/open-flash-chart/php-ofc-library/ofc_bar_3d.php
@@ -0,0 +1,22 @@
+<?php
+
+include_once 'ofc_bar_base.php';
+
+class bar_3d_value
+{
+	function bar_3d_value( $top )
+	{
+		$this->top = $top;
+	}
+	
+	function set_colour( $colour )
+	{
+		$this->colour = $colour;
+	}
+	
+	function set_tooltip( $tip )
+	{
+		$this->tip = $tip;
+	}
+}
+
diff --git a/libs/open-flash-chart/php-ofc-library/ofc_bar_base.php b/libs/open-flash-chart/php-ofc-library/ofc_bar_base.php
new file mode 100644
index 0000000000..c0105fac4b
--- /dev/null
+++ b/libs/open-flash-chart/php-ofc-library/ofc_bar_base.php
@@ -0,0 +1,78 @@
+<?php
+
+/* this is a base class */
+
+class bar_base
+{
+	function bar_base(){}
+
+	/**
+	 * @param $text as string the key text
+	 * @param $size as integer, size in pixels
+	 */
+	function set_key( $text, $size )
+	{
+		$this->text = $text;
+		$tmp = 'font-size';
+		$this->$tmp = $size;
+	}
+	
+	/**
+	 * syntatical sugar.
+	 */
+	function key( $text, $size )
+	{
+		$this->set_key( $text, $size );
+	}
+
+	/**
+	 * @param $v as an array, a mix of:
+	 * 	- a bar_value class. You can use this to customise the paramters of each bar.
+	 * 	- integer. This is the Y position of the top of the bar.
+	 */
+	function set_values( $v )
+	{
+		$this->values = $v;		
+	}
+	
+	/**
+	 * see set_values
+	 */
+	function append_value( $v )
+	{
+		$this->values[] = $v;		
+	}
+	
+	/**
+	 * @param $colour as string, a HEX colour, e.g. '#ff0000' red
+	 */
+	function set_colour( $colour )
+	{
+		$this->colour = $colour;	
+	}
+	
+	/**
+	 *syntatical sugar
+	 */
+	function colour( $colour )
+	{
+		$this->set_colour( $colour );
+	}
+
+	/**
+	 * @param $alpha as real number (range 0 to 1), e.g. 0.5 is half transparent
+	 */
+	function set_alpha( $alpha )
+	{
+		$this->alpha = $alpha;	
+	}
+	
+	/**
+	 * @param $tip as string, the tip to show. May contain various magic variables.
+	 */
+	function set_tooltip( $tip )
+	{
+		$this->tip = $tip;	
+	}
+}
+
diff --git a/libs/open-flash-chart/php-ofc-library/ofc_bar_filled.php b/libs/open-flash-chart/php-ofc-library/ofc_bar_filled.php
new file mode 100644
index 0000000000..837c1fc458
--- /dev/null
+++ b/libs/open-flash-chart/php-ofc-library/ofc_bar_filled.php
@@ -0,0 +1,39 @@
+<?php
+
+include_once 'ofc_bar_base.php';
+
+class bar_filled_value extends bar_value
+{
+	function bar_filled_value( $top, $bottom=null )
+	{
+		parent::bar_value( $top, $bottom );	
+	}
+	
+	function set_outline_colour( $outline_colour )
+	{
+		$tmp = 'outline-colour';
+		$this->$tmp = $outline_colour;	
+	}
+}
+
+class bar_filled extends bar_base
+{
+	function bar_filled( $colour=null, $outline_colour=null )
+	{
+		$this->type      = "bar_filled";
+		parent::bar_base();
+		
+		if( isset( $colour ) )
+			$this->set_colour( $colour );
+		
+		if( isset( $outline_colour ) )
+			$this->set_outline_colour( $outline_colour );
+	}
+	
+	function set_outline_colour( $outline_colour )
+	{
+		$tmp = 'outline-colour';
+		$this->$tmp = $outline_colour;	
+	}
+}
+
diff --git a/libs/open-flash-chart/php-ofc-library/ofc_bar_glass.php b/libs/open-flash-chart/php-ofc-library/ofc_bar_glass.php
new file mode 100644
index 0000000000..af829fe640
--- /dev/null
+++ b/libs/open-flash-chart/php-ofc-library/ofc_bar_glass.php
@@ -0,0 +1,109 @@
+<?php
+
+include_once 'ofc_bar_base.php';
+
+class bar_value
+{
+	/**
+	 * @param $top as integer. The Y value of the top of the bar
+	 * @param OPTIONAL $bottom as integer. The Y value of the bottom of the bar, defaults to Y min.
+	 */
+	function bar_value( $top, $bottom=null )
+	{
+		$this->top = $top;
+		
+		if( isset( $bottom ) )
+			$this->bottom = $bottom;
+	}
+	
+	function set_colour( $colour )
+	{
+		$this->colour = $colour;
+	}
+	
+	function set_tooltip( $tip )
+	{
+		$this->tip = $tip;
+	}
+}
+
+class bar extends bar_base
+{
+	function bar()
+	{
+		$this->type      = "bar";
+		parent::bar_base();
+	}
+}
+
+class bar_glass extends bar_base
+{
+	function bar_glass()
+	{
+		$this->type      = "bar_glass";
+		parent::bar_base();
+	}
+}
+
+class bar_cylinder extends bar_base
+{
+	function bar_cylinder()
+	{
+		$this->type      = "bar_cylinder";
+		parent::bar_base();
+	}
+}
+
+class bar_cylinder_outline extends bar_base
+{
+	function bar_cylinder_outline()
+	{
+		$this->type      = "bar_cylinder_outline";
+		parent::bar_base();
+	}
+}
+
+class bar_rounded_glass extends bar_base
+{
+	function bar_rounded_glass()
+	{
+		$this->type      = "bar_round_glass";
+		parent::bar_base();
+	}
+}
+
+class bar_round extends bar_base
+{
+	function bar_round()
+	{
+		$this->type      = "bar_round";
+		parent::bar_base();
+	}
+}
+
+class bar_dome extends bar_base
+{
+	function bar_dome()
+	{
+		$this->type      = "bar_dome";
+		parent::bar_base();
+	}
+}
+
+class bar_round3d extends bar_base
+{
+	function bar_round3d()
+	{
+		$this->type      = "bar_round3d";
+		parent::bar_base();
+	}
+}
+
+class bar_3d extends bar_base
+{
+	function bar_3d()
+	{
+		$this->type      = "bar_3d";
+		parent::bar_base();
+	}
+}
\ No newline at end of file
diff --git a/libs/open-flash-chart/php-ofc-library/ofc_bar_sketch.php b/libs/open-flash-chart/php-ofc-library/ofc_bar_sketch.php
new file mode 100644
index 0000000000..ce1bcccf8a
--- /dev/null
+++ b/libs/open-flash-chart/php-ofc-library/ofc_bar_sketch.php
@@ -0,0 +1,29 @@
+<?php
+
+include_once 'ofc_bar_base.php';
+
+class bar_sketch extends bar_base
+{
+	/**
+	 * @param $colour as string, HEX colour e.g. '#00ff00'
+	 * @param $outline_colour as string, HEX colour e.g. '#ff0000'
+	 * @param $fun_factor as integer, range 0 to 10. 0,1 and 2 are pretty boring.
+	 * 4 to 6 is a bit fun, 7 and above is lots of fun. 
+	 */
+	function bar_sketch( $colour, $outline_colour, $fun_factor )
+	{
+		$this->type      = "bar_sketch";
+		parent::bar_base();
+		
+		$this->set_colour( $colour );
+		$this->set_outline_colour( $outline_colour );
+		$this->offset = $fun_factor;
+	}
+	
+	function set_outline_colour( $outline_colour )
+	{
+		$tmp = 'outline-colour';
+		$this->$tmp = $outline_colour;	
+	}
+}
+
diff --git a/libs/open-flash-chart/php-ofc-library/ofc_bar_stack.php b/libs/open-flash-chart/php-ofc-library/ofc_bar_stack.php
new file mode 100644
index 0000000000..7b8d11e4ed
--- /dev/null
+++ b/libs/open-flash-chart/php-ofc-library/ofc_bar_stack.php
@@ -0,0 +1,50 @@
+<?php
+
+include_once 'ofc_bar_base.php';
+
+class bar_stack extends bar_base
+{
+	function bar_stack()
+	{
+		$this->type      = "bar_stack";
+		parent::bar_base();
+	}
+	
+	function append_stack( $v )
+	{
+		$this->append_value( $v );
+	}
+	
+	// an array of HEX colours strings
+	// e.g. array( '#ff0000', '#00ff00' );
+	function set_colours( $colours )
+	{
+		$this->colours = $colours;
+	}
+	
+	// an array of bar_stack_value
+	function set_keys( $keys )
+	{
+		$this->keys = $keys;
+	}
+}
+
+class bar_stack_value
+{
+	function bar_stack_value( $val, $colour )
+	{
+		$this->val = $val;
+		$this->colour = $colour;
+	}
+}
+
+class bar_stack_key
+{
+	function bar_stack_key( $colour, $text, $font_size )
+	{
+		$this->colour = $colour;
+		$this->text = $text;
+		$tmp = 'font-size';
+		$this->$tmp = $font_size;
+	}
+}
\ No newline at end of file
diff --git a/libs/open-flash-chart/php-ofc-library/ofc_hbar.php b/libs/open-flash-chart/php-ofc-library/ofc_hbar.php
new file mode 100644
index 0000000000..6f8c0e451f
--- /dev/null
+++ b/libs/open-flash-chart/php-ofc-library/ofc_hbar.php
@@ -0,0 +1,64 @@
+<?php
+
+class hbar_value
+{
+	function hbar_value( $left, $right=null )
+	{
+		if( isset( $right ) )
+		{
+			$this->left = $left;
+			$this->right = $right;
+		}
+		else
+			$this->right = $left;
+	}
+	
+	function set_colour( $colour )
+	{
+		$this->colour = $colour;	
+	}
+	
+	function set_tooltip( $tip )
+	{
+		$this->tip = $tip;	
+	}
+}
+
+class hbar
+{
+	function hbar( $colour )
+	{
+		$this->type      = "hbar";
+		$this->values    = array();
+		$this->set_colour( $colour );
+	}
+	
+	function append_value( $v )
+	{
+		$this->values[] = $v;		
+	}
+	
+	function set_values( $v )
+	{
+		foreach( $v as $val )
+			$this->append_value( new hbar_value( $val ) );
+	}
+	
+	function set_colour( $colour )
+	{
+		$this->colour = $colour;	
+	}
+	
+	function set_key( $text, $size )
+	{
+		$this->text = $text;
+		$tmp = 'font-size';
+		$this->$tmp = $size;
+	}
+	
+	function set_tooltip( $tip )
+	{
+		$this->tip = $tip;	
+	}
+}
+
diff --git a/libs/open-flash-chart/php-ofc-library/ofc_line.php b/libs/open-flash-chart/php-ofc-library/ofc_line.php
new file mode 100644
index 0000000000..68ea03a5ce
--- /dev/null
+++ b/libs/open-flash-chart/php-ofc-library/ofc_line.php
@@ -0,0 +1,115 @@
+<?php
+
+class line
+{
+	function line()
+	{
+		$this->type      = "line";
+		$this->values    = array();
+	}
+	
+	/**
+	 * Set the default dot that all the real
+	 * dots inherit their properties from. If you set the
+	 * default dot to be red, all values in your chart that
+	 * do not specify a colour will be red. Same for all the
+	 * other attributes such as tooltip, on-click, size etc...
+	 * 
+	 * @param $style as any class that inherits base_dot
+	 */
+	function set_default_dot_style( $style )
+	{
+		$tmp = 'dot-style';
+		$this->$tmp = $style;	
+	}
+	
+	/**
+	 * @param $v as array, can contain any combination of:
+	 *  - integer, Y position of the point
+	 *  - any class that inherits from dot_base
+	 *  - <b>null</b>
+	 */
+	function set_values( $v )
+	{
+		$this->values = $v;		
+	}
+	
+	/**
+     * Append a value to the line.
+     *
+     * @param mixed $v
+     */
+    function append_value($v)
+    {
+        $this->values[] = $v;       
+    }
+	
+	function set_width( $width )
+	{
+		$this->width = $width;		
+	}
+	
+	function set_colour( $colour )
+	{
+		$this->colour = $colour;
+	}
+	
+	/**
+	 * sytnatical sugar for set_colour
+	 */
+	function colour( $colour )
+	{
+		$this->set_colour( $colour );
+		return $this;
+	}
+	
+	function set_halo_size( $size )
+	{
+		$tmp = 'halo-size';
+		$this->$tmp = $size;		
+	}
+	
+	function set_key( $text, $font_size )
+	{
+		$this->text      = $text;
+		$tmp = 'font-size';
+		$this->$tmp = $font_size;
+	}
+	
+	function set_tooltip( $tip )
+	{
+		$this->tip = $tip;
+	}
+	
+	function set_on_click( $text )
+	{
+		$tmp = 'on-click';
+		$this->$tmp = $text;
+	}
+	
+	function loop()
+	{
+		$this->loop = true;
+	}
+	
+	function line_style( $s )
+	{
+		$tmp = "line-style";
+		$this->$tmp = $s;
+	}
+	
+	    /**
+     * Sets the text for the line.
+     *
+     * @param string $text
+     */   
+    function set_text($text)
+    {
+        $this->text = $text;
+    }
+	
+	function attach_to_right_y_axis()
+	{
+		$this->axis = 'right';
+	}
+}
\ No newline at end of file
diff --git a/libs/open-flash-chart/php-ofc-library/ofc_line_base.php b/libs/open-flash-chart/php-ofc-library/ofc_line_base.php
new file mode 100644
index 0000000000..fa45cbc899
--- /dev/null
+++ b/libs/open-flash-chart/php-ofc-library/ofc_line_base.php
@@ -0,0 +1,92 @@
+<?php
+
+class line_base
+{
+	function line_base()
+	{
+		$this->type      = "line";
+		$this->text      = "Page views";
+		$tmp = 'font-size';
+		$this->$tmp = 10;
+		
+		$this->values    = array();
+	}
+	
+	function set_values( $v )
+	{
+		$this->values = $v;		
+	}
+	
+	/**
+     * Append a value to the line.
+     *
+     * @param mixed $v
+     */
+    function append_value($v)
+    {
+        $this->values[] = $v;       
+    }
+	
+	function set_width( $width )
+	{
+		$this->width = $width;		
+	}
+	
+	function set_colour( $colour )
+	{
+		$this->colour = $colour;
+	}
+	
+	function set_dot_size( $size )
+	{
+		$tmp = 'dot-size';
+		$this->$tmp = $size;		
+	}
+	
+	function set_halo_size( $size )
+	{
+		$tmp = 'halo-size';
+		$this->$tmp = $size;		
+	}
+	
+	function set_key( $text, $font_size )
+	{
+		$this->text      = $text;
+		$tmp = 'font-size';
+		$this->$tmp = $font_size;
+	}
+	
+	function set_tooltip( $tip )
+	{
+		$this->tip = $tip;
+	}
+	
+	function set_on_click( $text )
+	{
+		$tmp = 'on-click';
+		$this->$tmp = $text;
+	}
+	
+	function loop()
+	{
+		$this->loop = true;
+	}
+	
+	function line_style( $s )
+	{
+		$tmp = "line-style";
+		$this->$tmp = $s;
+	}
+	
+	    /**
+     * Sets the text for the line.
+     *
+     * @param string $text
+     */   
+    function set_text($text)
+    {
+        $this->text = $text;
+    }
+	
+	
+}
\ No newline at end of file
diff --git a/libs/open-flash-chart/php-ofc-library/ofc_line_dot.php b/libs/open-flash-chart/php-ofc-library/ofc_line_dot.php
new file mode 100644
index 0000000000..146691173b
--- /dev/null
+++ b/libs/open-flash-chart/php-ofc-library/ofc_line_dot.php
@@ -0,0 +1,33 @@
+<?php
+
+class dot_value
+{
+	function dot_value( $value, $colour )
+	{
+		$this->value = $value;
+		$this->colour = $colour;
+	}
+	
+	function set_colour( $colour )
+	{
+		$this->colour = $colour;
+	}
+	
+	function set_size( $size )
+	{
+		$this->size = $size;
+	}
+	
+	function set_tooltip( $tip )
+	{
+		$this->tip = $tip;
+	}
+}
+
+class line_dot extends line_base
+{
+	function line_dot()
+	{
+		$this->type      = "line_dot";
+	}
+}
\ No newline at end of file
diff --git a/libs/open-flash-chart/php-ofc-library/ofc_line_hollow.php b/libs/open-flash-chart/php-ofc-library/ofc_line_hollow.php
new file mode 100644
index 0000000000..512bb07d97
--- /dev/null
+++ b/libs/open-flash-chart/php-ofc-library/ofc_line_hollow.php
@@ -0,0 +1,9 @@
+<?php
+
+class line_hollow extends line_base
+{
+	function line_hollow()
+	{
+		$this->type      = "line_hollow";
+	}
+}
\ No newline at end of file
diff --git a/libs/open-flash-chart/php-ofc-library/ofc_line_style.php b/libs/open-flash-chart/php-ofc-library/ofc_line_style.php
new file mode 100644
index 0000000000..4f538cf9de
--- /dev/null
+++ b/libs/open-flash-chart/php-ofc-library/ofc_line_style.php
@@ -0,0 +1,11 @@
+<?php
+
+class line_style
+{
+	function line_style($on, $off)
+	{
+		$this->style	= "dash";
+		$this->on		= $on;
+		$this->off		= $off;
+	}
+}
\ No newline at end of file
diff --git a/libs/open-flash-chart/php-ofc-library/ofc_menu.php b/libs/open-flash-chart/php-ofc-library/ofc_menu.php
new file mode 100644
index 0000000000..0750a09c2b
--- /dev/null
+++ b/libs/open-flash-chart/php-ofc-library/ofc_menu.php
@@ -0,0 +1,56 @@
+<?php
+
+class ofc_menu_item
+{
+	/**
+	 * @param $text as string. The menu item text.
+	 * @param $javascript_function_name as string. The javascript function name, the
+	 * js function takes one parameter, the chart ID. See ofc_menu_item_camera for
+	 * some example code.
+	 */
+	function ofc_menu_item($text, $javascript_function_name)
+	{
+		$this->type = "text";
+		$this->text = $text;
+		$tmp = 'javascript-function';
+		$this->$tmp = $javascript_function_name;
+	}
+}
+
+class ofc_menu_item_camera
+{
+	/**
+	 * @param $text as string. The menu item text.
+	 * @param $javascript_function_name as string. The javascript function name, the
+	 * js function takes one parameter, the chart ID. So for example, our js function
+	 * could look like this:
+	 *
+	 * function save_image( chart_id )
+	 * {
+	 *     alert( chart_id );
+	 * }
+	 *
+	 * to make a menu item call this: ofc_menu_item_camera('Save chart', 'save_image');
+	 */
+	function ofc_menu_item_camera($text, $javascript_function_name)
+	{
+		$this->type = "camera-icon";
+		$this->text = $text;
+		$tmp = 'javascript-function';
+		$this->$tmp = $javascript_function_name;
+	}
+}
+
+class ofc_menu
+{
+	function ofc_menu($colour, $outline_colour)
+	{
+		$this->colour = $colour;
+		$this->outline_colour = $outline_colour;
+	}
+	
+	function values($values)
+	{
+		$this->values = $values;
+	}
+}
\ No newline at end of file
diff --git a/libs/open-flash-chart/php-ofc-library/ofc_pie.php b/libs/open-flash-chart/php-ofc-library/ofc_pie.php
new file mode 100644
index 0000000000..bf779c5541
--- /dev/null
+++ b/libs/open-flash-chart/php-ofc-library/ofc_pie.php
@@ -0,0 +1,257 @@
+<?php
+
+class pie_value
+{
+	function pie_value( $value, $label )
+	{
+		$this->value = $value;
+		$this->label = $label;
+	}
+	
+	function set_colour( $colour )
+	{
+		$this->colour = $colour;
+	}
+	
+	function set_label( $label, $label_colour, $font_size )
+	{
+		$this->label = $label;
+		
+		$tmp = 'label-colour';
+		$this->$tmp = $label_colour;
+		
+		$tmp = 'font-size';
+		$this->$tmp = $font_size;
+		
+	}
+	
+	function set_tooltip( $tip )
+	{
+		$this->tip = $tip;
+	}
+	
+	function on_click( $event )
+	{
+		$tmp = 'on-click';
+		$this->$tmp = $event;
+	}
+	
+	
+	/**
+	 * An object that inherits from base_pie_animation
+	 */
+	function add_animation( $animation )
+	{
+		if( !isset( $this->animate ) )
+			$this->animate = array();
+			
+		$this->animate[] = $animation;
+		
+		return $this;
+	}
+}
+
+class base_pie_animation{}
+
+/**
+ * fade the pie slice from $alpha (pie set_alpha) to 100% opaque.
+ */
+class pie_fade extends base_pie_animation
+{
+	function pie_fade()
+	{
+		$this->type="fade";
+	}
+}
+
+/**
+ * Bounce the pie slice out a little
+ */
+class pie_bounce extends base_pie_animation
+{
+	/**
+	 * @param $distance as integer, distance to bounce in pixels
+	 */
+	function pie_bounce( $distance )
+	{
+		$this->type="bounce";
+		$this->distance = $distance;
+	}
+}
+
+/**
+ * Make a pie chart and fill it with pie slices
+ */
+class pie
+{
+	function pie()
+	{
+		$this->type      		= 'pie';
+	}
+	
+	function set_colours( $colours )
+	{
+		$this->colours = $colours;
+	}
+	
+	/**
+	 * Sugar wrapped around set_colours
+	 */
+	function colours( $colours )
+	{
+		$this->set_colours( $colours );
+		return $this;
+	}
+	
+	/**
+	 * @param $alpha as float (0-1) 0.75 = 3/4 visible
+	 */
+	function set_alpha( $alpha )
+	{
+		$this->alpha = $alpha;
+	}
+	
+	/**
+	 *sugar wrapped set_alpha
+	 **/
+	function alpha( $alpha )
+	{
+		$this->set_alpha( $alpha );
+		return $this;
+	}
+	
+	/**
+	 * @param $v as array containing one of
+	 *  - null
+	 *  - real or integer number
+	 *  - a pie_value object
+	 */
+	function set_values( $v )
+	{
+		$this->values = $v;		
+	}
+
+	/**
+	 * sugar for set_values
+	 */
+	function values( $v )
+	{
+		$this->set_values( $v );
+		return $this;
+	}
+	
+	/**
+	 * HACK to keep old code working.
+	 */
+	function set_animate( $bool )
+	{
+		if( $bool )
+			$this->add_animation( new pie_fade() );
+			
+	}
+	
+	/**
+	 * An object that inherits from base_pie_animation
+	 */
+	function add_animation( $animation )
+	{
+		if( !isset( $this->animate ) )
+			$this->animate = array();
+			
+		$this->animate[] = $animation;
+		
+		return $this;
+	}
+	
+	/**
+	 * @param $angle as real number
+	 */
+	function set_start_angle( $angle )
+	{
+		$tmp = 'start-angle';
+		$this->$tmp = $angle;
+	}
+	
+	/**
+	 * sugar for set_start_angle
+	 */
+	function start_angle($angle)
+	{
+		$this->set_start_angle( $angle );
+		return $this;
+	}
+	
+	/**
+	 * @param $tip as string. The tooltip text. May contain magic varibles
+	 */
+	function set_tooltip( $tip )
+	{
+		$this->tip = $tip;
+	}
+	
+	/**
+	 * sugar for set_tooltip
+	 */
+	function tooltip( $tip )
+	{
+		$this->set_tooltip( $tip );
+		return $this;
+	}
+	
+	function set_gradient_fill()
+	{
+		$tmp = 'gradient-fill';
+		$this->$tmp = true;
+	}
+	
+	function gradient_fill()
+	{
+		$this->set_gradient_fill();
+		return $this;
+	}
+	
+	/**
+	 * By default each label is the same colour as the slice,
+	 * but you can ovveride that behaviour using this method.
+	 * 
+	 * @param $label_colour as string HEX colour;
+	 */
+	function set_label_colour( $label_colour )
+	{
+		$tmp = 'label-colour';
+		$this->$tmp = $label_colour;	
+	}
+	
+	function label_colour( $label_colour )
+	{
+		$this->set_label_colour( $label_colour );
+		return $this;
+	}
+	
+	/**
+	 * Turn off the labels
+	 */
+	function set_no_labels()
+	{
+		$tmp = 'no-labels';
+		$this->$tmp = true;
+	}
+	
+	function on_click( $event )
+	{
+		$tmp = 'on-click';
+		$this->$tmp = $event;
+	}
+	
+	/**
+	 * Fix the radius of the pie chart. Take a look at the magic variable #radius#
+	 * for helping figure out what radius to set it to.
+	 * 
+	 * @param $radius as number
+	 */
+	function radius( $radius )
+	{
+		$this->radius = $radius;
+		return $this;
+	}
+}
diff --git a/libs/open-flash-chart/php-ofc-library/ofc_radar_axis.php b/libs/open-flash-chart/php-ofc-library/ofc_radar_axis.php
new file mode 100644
index 0000000000..909c41af8f
--- /dev/null
+++ b/libs/open-flash-chart/php-ofc-library/ofc_radar_axis.php
@@ -0,0 +1,47 @@
+<?php
+
+class radar_axis
+{
+	function radar_axis( $max )
+	{
+		$this->set_max( $max );
+	}
+	
+	function set_max( $max )
+	{
+		$this->max = $max;
+	}
+	
+	function set_steps( $steps )
+	{
+		$this->steps = $steps;
+	}
+	
+	function set_stroke( $s )
+	{
+		$this->stroke = $s;
+	}
+    
+	function set_colour( $colour )
+	{
+		$this->colour = $colour;
+	}
+	
+	function set_grid_colour( $colour )
+	{
+		$tmp = 'grid-colour';
+		$this->$tmp = $colour;
+	}
+	
+	function set_labels( $labels )
+	{
+		$this->labels = $labels;
+	}
+	
+	function set_spoke_labels( $labels )
+	{
+		$tmp = 'spoke-labels';
+		$this->$tmp = $labels;
+	}
+}
+
diff --git a/libs/open-flash-chart/php-ofc-library/ofc_radar_axis_labels.php b/libs/open-flash-chart/php-ofc-library/ofc_radar_axis_labels.php
new file mode 100644
index 0000000000..22d485e4e6
--- /dev/null
+++ b/libs/open-flash-chart/php-ofc-library/ofc_radar_axis_labels.php
@@ -0,0 +1,15 @@
+<?php
+
+class radar_axis_labels
+{
+	// $labels : array
+	function radar_axis_labels( $labels )
+	{
+		$this->labels = $labels;
+	}
+	
+	function set_colour( $colour )
+	{
+		$this->colour = $colour;
+	}
+}
\ No newline at end of file
diff --git a/libs/open-flash-chart/php-ofc-library/ofc_radar_spoke_labels.php b/libs/open-flash-chart/php-ofc-library/ofc_radar_spoke_labels.php
new file mode 100644
index 0000000000..51ba25e9a7
--- /dev/null
+++ b/libs/open-flash-chart/php-ofc-library/ofc_radar_spoke_labels.php
@@ -0,0 +1,15 @@
+<?php
+
+class radar_spoke_labels
+{
+	// $labels : array
+	function radar_spoke_labels( $labels )
+	{
+		$this->labels = $labels;
+	}
+	
+	function set_colour( $colour )
+	{
+		$this->colour = $colour;
+	}
+}
\ No newline at end of file
diff --git a/libs/open-flash-chart/php-ofc-library/ofc_scatter.php b/libs/open-flash-chart/php-ofc-library/ofc_scatter.php
new file mode 100644
index 0000000000..7159a3a64f
--- /dev/null
+++ b/libs/open-flash-chart/php-ofc-library/ofc_scatter.php
@@ -0,0 +1,47 @@
+<?php
+
+class scatter_value
+{
+	function scatter_value( $x, $y, $dot_size=-1 )
+	{
+		$this->x = $x;
+		$this->y = $y;
+		
+		if( $dot_size > 0 )
+		{
+			$tmp = 'dot-size';
+			$this->$tmp = $dot_size;
+		}
+	}
+}
+
+class scatter
+{
+	function scatter( $colour )
+	{
+		$this->type      = "scatter";
+		$this->set_colour( $colour );
+	}
+	
+	function set_colour( $colour )
+	{
+		$this->colour = $colour;
+	}
+
+	function set_default_dot_style( $style )
+	{
+		$tmp = 'dot-style';
+		$this->$tmp = $style;	
+	}
+	
+	/**
+	 * @param $v as array, can contain any combination of:
+	 *  - integer, Y position of the point
+	 *  - any class that inherits from scatter_value
+	 *  - <b>null</b>
+	 */
+	function set_values( $values )
+	{
+		$this->values = $values;
+	}
+}
diff --git a/libs/open-flash-chart/php-ofc-library/ofc_scatter_line.php b/libs/open-flash-chart/php-ofc-library/ofc_scatter_line.php
new file mode 100644
index 0000000000..bd6c27ecf0
--- /dev/null
+++ b/libs/open-flash-chart/php-ofc-library/ofc_scatter_line.php
@@ -0,0 +1,43 @@
+<?php
+
+class scatter_line
+{
+	function scatter_line( $colour )
+	{
+		$this->type      = "scatter_line";
+		$this->set_colour( $colour );
+	}
+	
+	function set_default_dot_style( $style )
+	{
+		$tmp = 'dot-style';
+		$this->$tmp = $style;	
+	}
+	
+	function set_colour( $colour )
+	{
+		$this->colour = $colour;
+	}
+	
+	function set_values( $values )
+	{
+		$this->values = $values;
+	}
+	
+	function set_step_horizontal()
+	{
+		$this->stepgraph = 'horizontal';
+	}
+	
+	function set_step_vertical()
+	{
+		$this->stepgraph = 'vertical';
+	}
+	
+	function set_key( $text, $font_size )
+	{
+		$this->text      = $text;
+		$tmp = 'font-size';
+		$this->$tmp = $font_size;
+	}
+}
\ No newline at end of file
diff --git a/libs/open-flash-chart/php-ofc-library/ofc_shape.php b/libs/open-flash-chart/php-ofc-library/ofc_shape.php
new file mode 100644
index 0000000000..0cfe39f9bc
--- /dev/null
+++ b/libs/open-flash-chart/php-ofc-library/ofc_shape.php
@@ -0,0 +1,25 @@
+<?php
+
+class shape_point
+{
+	function shape_point( $x, $y )
+	{
+		$this->x = $x;
+		$this->y = $y;
+	}
+}
+
+class shape
+{
+	function shape( $colour )
+	{
+		$this->type		= "shape";
+		$this->colour	= $colour;
+		$this->values	= array();
+	}
+	
+	function append_value( $p )
+	{
+		$this->values[] = $p;	
+	}
+}
\ No newline at end of file
diff --git a/libs/open-flash-chart/php-ofc-library/ofc_sugar.php b/libs/open-flash-chart/php-ofc-library/ofc_sugar.php
new file mode 100644
index 0000000000..a9e85555ee
--- /dev/null
+++ b/libs/open-flash-chart/php-ofc-library/ofc_sugar.php
@@ -0,0 +1,43 @@
+<?php
+
+/**
+ * Sugar: to make stars easier sometimes
+ */
+class s_star extends star
+{
+	/**
+	 * I use this wrapper for default dot types,
+	 * it just makes the code easier to read.
+	 */
+	function s_star($colour, $size)
+	{
+		parent::star();
+		$this->colour($colour)->size($size);
+	}
+}
+
+class s_box extends anchor
+{
+	/**
+	 * I use this wrapper for default dot types,
+	 * it just makes the code easier to read.
+	 */
+	function s_box($colour, $size)
+	{
+		parent::anchor();
+		$this->colour($colour)->size($size)->rotation(45)->sides(4);
+	}
+}
+
+class s_hollow_dot extends hollow_dot
+{
+	/**
+	 * I use this wrapper for default dot types,
+	 * it just makes the code easier to read.
+	 */
+	function s_hollow_dot($colour, $size)
+	{
+		parent::hollow_dot();
+		$this->colour($colour)->size($size);
+	}
+}
\ No newline at end of file
diff --git a/libs/open-flash-chart/php-ofc-library/ofc_title.php b/libs/open-flash-chart/php-ofc-library/ofc_title.php
new file mode 100644
index 0000000000..cda1de0068
--- /dev/null
+++ b/libs/open-flash-chart/php-ofc-library/ofc_title.php
@@ -0,0 +1,39 @@
+<?php
+
+/**
+ * Set the title of a chart, make one of these and pass it into
+ * open_flash_chart set_title
+ */
+class title
+{
+	function title( $text='' )
+	{
+		$this->text = $text;
+	}
+	
+	/**
+	 * A css string. Can optionally contain:
+     * - font-size
+     * - font-family
+     * - font-weight
+     * - color
+     * - background-color
+     * - text-align
+     * - margin
+     * - margin-left
+     * - margin-right
+     * - margin-top
+     * - margin-bottom
+     * - padding
+     * - padding-left
+     * - padding-right
+     * - padding-top
+     * - padding-bottom
+     * just like the css we use all the time :-)
+	 */
+	function set_style( $css )
+	{
+		$this->style = $css;
+		//"{font-size: 20px; color:#0000ff; font-family: Verdana; text-align: center;}";		
+	}
+}
\ No newline at end of file
diff --git a/libs/open-flash-chart/php-ofc-library/ofc_tooltip.php b/libs/open-flash-chart/php-ofc-library/ofc_tooltip.php
new file mode 100644
index 0000000000..3104ee33b9
--- /dev/null
+++ b/libs/open-flash-chart/php-ofc-library/ofc_tooltip.php
@@ -0,0 +1,67 @@
+<?php
+
+include_once 'ofc_bar_base.php';
+
+class tooltip
+{
+	function tooltip(){}
+	
+	/**
+	 * @param $shadow as boolean. Enable drop shadow.
+	 */
+	function set_shadow( $shadow )
+	{
+		$this->shadow = $shadow;
+	}
+	
+	/**
+	 * @param $stroke as integer, border width in pixels (e.g. 5 )
+	 */
+	function set_stroke( $stroke )
+	{
+		$this->stroke = $stroke;
+	}
+	
+	/**
+	 * @param $colour as string, HEX colour e.g. '#0000ff'
+	 */
+	function set_colour( $colour )
+	{
+		$this->colour = $colour;
+	}
+	
+	/**
+	 * @param $bg as string, HEX colour e.g. '#0000ff'
+	 */
+	function set_background_colour( $bg )
+	{
+		$this->background = $bg;
+	}
+	
+	/**
+	 * @param $style as string. A css style.
+	 */
+	function set_title_style( $style )
+	{
+		$this->title = $style;
+	}
+	
+	/**
+	 * @param $style as string. A css style.
+	 */
+    function set_body_style( $style )
+	{
+		$this->body = $style;
+	}
+	
+	function set_proximity()
+	{
+		$this->mouse = 1;
+	}
+	
+	function set_hover()
+	{
+		$this->mouse = 2;
+	}
+}
+
diff --git a/libs/open-flash-chart/php-ofc-library/ofc_upload_image.php b/libs/open-flash-chart/php-ofc-library/ofc_upload_image.php
new file mode 100644
index 0000000000..0261f9aeae
--- /dev/null
+++ b/libs/open-flash-chart/php-ofc-library/ofc_upload_image.php
@@ -0,0 +1,70 @@
+<?php
+
+//
+// In Open Flash Chart -> save_image debug mode, you
+// will see the 'echo' text in a new window.
+//
+
+/*
+ 
+print_r( $_GET );
+print_r( $_POST );
+print_r( $_FILES );
+
+print_r( $GLOBALS );
+print_r( $GLOBALS["HTTP_RAW_POST_DATA"] );
+
+*/
+
+
+// default path for the image to be stored //
+$default_path = '../tmp-upload-images/';
+
+if (!file_exists($default_path)) mkdir($default_path, 0777, true);
+
+// full path to the saved image including filename //
+$destination = $default_path . basename( $_GET[ 'name' ] ); 
+
+echo 'Saving your image to: '. $destination;
+// print_r( $_POST );
+// print_r( $_SERVER );
+// echo $HTTP_RAW_POST_DATA;
+
+//
+// POST data is usually string data, but we are passing a RAW .png
+// so PHP is a bit confused and $_POST is empty. But it has saved
+// the raw bits into $HTTP_RAW_POST_DATA
+//
+
+$jfh = fopen($destination, 'w') or die("can't open file");
+fwrite($jfh, $HTTP_RAW_POST_DATA);
+fclose($jfh);
+
+//
+// LOOK:
+//
+exit();
+
+
+//
+// PHP5:
+//
+
+
+// default path for the image to be stored //
+$default_path = 'tmp-upload-images/';
+
+if (!file_exists($default_path)) mkdir($default_path, 0777, true);
+
+// full path to the saved image including filename //
+$destination = $default_path . basename( $_FILES[ 'Filedata' ][ 'name' ] ); 
+
+// move the image into the specified directory //
+if (move_uploaded_file($_FILES[ 'Filedata' ][ 'tmp_name' ], $destination)) {
+    echo "The file " . basename( $_FILES[ 'Filedata' ][ 'name' ] ) . " has been uploaded;";
+} else {
+    echo "FILE UPLOAD FAILED";
+}
+
+
+?>
diff --git a/libs/open-flash-chart/php-ofc-library/ofc_x_axis.php b/libs/open-flash-chart/php-ofc-library/ofc_x_axis.php
new file mode 100644
index 0000000000..aa3187c5e3
--- /dev/null
+++ b/libs/open-flash-chart/php-ofc-library/ofc_x_axis.php
@@ -0,0 +1,104 @@
+<?php
+
+class x_axis
+{
+	function x_axis(){}
+
+	/**
+	 * @param $stroke as integer, with of the line and ticks
+	 */
+	function set_stroke( $stroke )
+	{
+		$this->stroke = $stroke;	
+	}
+	
+	/**
+	 *@param $colour as string HEX colour
+	 *@param $grid_colour as string HEX colour
+	 */
+	function set_colours( $colour, $grid_colour )
+	{
+		$this->set_colour( $colour );
+		$this->set_grid_colour( $grid_colour );
+	}
+	
+	/**
+	 *@param $colour as string HEX colour
+	 */
+	function set_colour( $colour )
+	{
+		$this->colour = $colour;	
+	}
+	
+	function set_tick_height( $height )
+	{
+		$tmp = 'tick-height';
+		$this->$tmp      		= $height;
+	}
+	
+	function set_grid_colour( $colour )
+	{
+		$tmp = 'grid-colour';
+		$this->$tmp = $colour;
+	}
+	
+	/**
+	 * @param $o is a boolean. If true, the X axis start half a step in
+	 * This defaults to True
+	 */
+	function set_offset( $o )
+	{
+		$this->offset = $o?true:false;	
+	}
+	
+	/**
+	 * @param $steps as integer. Which ticks are visible.
+	 */
+	function set_steps( $steps )
+	{
+		$this->steps = $steps;
+	}
+	
+	/**
+	 * @param $val as an integer, the height in pixels of the 3D bar. Mostly
+	 * used for the 3D bar chart.
+	 */
+	function set_3d( $val )
+	{
+		$tmp = '3d';
+		$this->$tmp				= $val;		
+	}
+	
+	/**
+	 * @param $x_axis_labels as an x_axis_labels object
+	 * Use this to customize the labels (colour, font, etc...)
+	 */
+	function set_labels( $x_axis_labels )
+	{
+		//$this->labels = $v;
+		$this->labels = $x_axis_labels;
+	}
+	
+	/**
+	 * Sugar syntax: helper function to make the examples simpler.
+	 * @param $a is an array of labels
+	 */
+	function set_labels_from_array( $a )
+	{
+		$x_axis_labels = new x_axis_labels();
+		$x_axis_labels->set_labels( $a );
+		$this->labels = $x_axis_labels;
+		
+		if( isset( $this->steps ) )
+			$x_axis_labels->set_steps( $this->steps );
+	}
+	
+	/**
+	 * min and max.
+	 */
+	function set_range( $min, $max )
+	{
+		$this->min = $min;
+		$this->max = $max;
+	}
+}
\ No newline at end of file
diff --git a/libs/open-flash-chart/php-ofc-library/ofc_x_axis_label.php b/libs/open-flash-chart/php-ofc-library/ofc_x_axis_label.php
new file mode 100644
index 0000000000..cf116f15f0
--- /dev/null
+++ b/libs/open-flash-chart/php-ofc-library/ofc_x_axis_label.php
@@ -0,0 +1,45 @@
+<?php
+
+/**
+ * x_axis_label see x_axis_labels
+ */
+class x_axis_label
+{
+	function x_axis_label( $text, $colour, $size, $rotate )
+	{
+		$this->set_text( $text );
+		$this->set_colour( $colour );
+		$this->set_size( $size );
+		$this->set_rotate( $rotate );
+	}
+	
+	function set_text( $text )
+	{
+		$this->text = $text;
+	}
+	
+	function set_colour( $colour )
+	{
+		$this->colour = $colour;
+	}
+	
+	function set_size( $size )
+	{
+		$this->size = $size;
+	}
+	
+	function set_rotate( $rotate )
+	{
+		$this->rotate = $rotate;
+	}
+	
+	function set_vertical()
+	{
+		$this->rotate = "vertical";
+	}
+	
+	function set_visible()
+	{
+		$this->visible = true;
+	}
+}
\ No newline at end of file
diff --git a/libs/open-flash-chart/php-ofc-library/ofc_x_axis_labels.php b/libs/open-flash-chart/php-ofc-library/ofc_x_axis_labels.php
new file mode 100644
index 0000000000..860dfd5f12
--- /dev/null
+++ b/libs/open-flash-chart/php-ofc-library/ofc_x_axis_labels.php
@@ -0,0 +1,46 @@
+<?php
+
+class x_axis_labels
+{
+	function x_axis_labels(){}
+	
+	function set_steps( $steps )
+	{
+		$this->steps = $steps;
+	}
+	
+	/**
+	 *
+	 * @param $labels as an array of [x_axis_label or string]
+	 */
+	function set_labels( $labels )
+	{
+		$this->labels = $labels;
+	}
+	
+	function set_colour( $colour )
+	{
+		$this->colour = $colour;
+	}
+	
+	/**
+	 * font size in pixels
+	 */
+	function set_size( $size )
+	{
+		$this->size = $size;
+	}
+	
+	/**
+	 * rotate labels
+	 */
+	function set_vertical()
+	{
+		$this->rotate = 270;
+	}
+	
+	function rotate( $angle )
+	{
+		$this->rotate = $angle;
+	}
+}
\ No newline at end of file
diff --git a/libs/open-flash-chart/php-ofc-library/ofc_x_legend.php b/libs/open-flash-chart/php-ofc-library/ofc_x_legend.php
new file mode 100644
index 0000000000..7a25af0c28
--- /dev/null
+++ b/libs/open-flash-chart/php-ofc-library/ofc_x_legend.php
@@ -0,0 +1,15 @@
+<?php
+
+class x_legend
+{
+	function x_legend( $text='' )
+	{
+		$this->text = $text;
+	}
+	
+	function set_style( $css )
+	{
+		$this->style = $css;
+		//"{font-size: 20px; color:#0000ff; font-family: Verdana; text-align: center;}";		
+	}
+}
\ No newline at end of file
diff --git a/libs/open-flash-chart/php-ofc-library/ofc_y_axis.php b/libs/open-flash-chart/php-ofc-library/ofc_y_axis.php
new file mode 100644
index 0000000000..f8532e1573
--- /dev/null
+++ b/libs/open-flash-chart/php-ofc-library/ofc_y_axis.php
@@ -0,0 +1,16 @@
+<?php
+
+class y_axis extends y_axis_base
+{
+	function y_axis(){}
+	
+	/**
+	 * @param $colour as string. The grid are the lines inside the chart.
+	 * HEX colour, e.g. '#ff0000'
+	 */
+	function set_grid_colour( $colour )
+	{
+		$tmp = 'grid-colour';
+		$this->$tmp = $colour;
+	}
+}
\ No newline at end of file
diff --git a/libs/open-flash-chart/php-ofc-library/ofc_y_axis_base.php b/libs/open-flash-chart/php-ofc-library/ofc_y_axis_base.php
new file mode 100644
index 0000000000..33a2ce1d44
--- /dev/null
+++ b/libs/open-flash-chart/php-ofc-library/ofc_y_axis_base.php
@@ -0,0 +1,131 @@
+<?php
+
+class y_axis_labels
+{
+	function y_axis_labels()
+	{	
+	}
+	
+	function set_text($text)
+	{
+		$this->text = $text;
+	}
+}
+
+class y_axis_base
+{
+	function y_axis_base(){}
+	
+	/**
+	 * @param $s as integer, thickness of the Y axis line
+	 */
+	function set_stroke( $s )
+	{
+		$this->stroke = $s;
+	}
+	
+	/**
+	 * @param $val as integer. The length of the ticks in pixels
+	 */
+	function set_tick_length( $val )
+	{
+		$tmp = 'tick-length';
+		$this->$tmp = $val;
+	}
+	
+	function set_colours( $colour, $grid_colour )
+	{
+		$this->set_colour( $colour );
+		$this->set_grid_colour( $grid_colour );
+	}
+	
+	function set_colour( $colour )
+	{
+		$this->colour = $colour;
+	}
+	
+	function set_grid_colour( $colour )
+	{
+		$tmp = 'grid-colour';
+		$this->$tmp = $colour;
+	}
+	
+	/**
+	 * Set min and max values, also (optionally) set the steps value.
+	 * You can reverse the chart by setting min larger than max, e.g. min = 10
+	 * and max = 0.
+	 * 
+	 * @param $min as integer
+	 * @param $max as integer
+	 * @param $steps as integer.
+	 */
+	function set_range( $min, $max, $steps=1 )
+	{
+		$this->min = $min;
+		$this->max = $max;
+		$this->set_steps( $steps );
+	}
+	
+	/**
+	 * Sugar for set_range
+	 */
+	function range( $min, $max, $steps=1 )
+	{
+		$this->set_range( $min, $max, $steps );
+		return $this;
+	}
+	
+	/**
+	 * @param $off as Boolean. If true the Y axis is nudged up half a step.
+	 */
+	function set_offset( $off )
+	{
+		$this->offset = $off?1:0;
+	}
+	
+	/**
+	 * @param $labels as an array of string values.
+	 *
+	 * By default the Y axis will show from min to max, but you can override this
+	 * by passing in your own labels. Remember the Y axis min is at the bottom, so
+	 * the labels will go from bottom to top.
+	 */
+	function set_labels( $labels )
+	{
+		$this->labels = $labels;	
+	}
+	
+	/**
+	 * Pass in some text for each label. This can contain magic variables "#val#" which
+	 * will get replaced with the value for that Y axis label. Useful for:
+	 * - "£#val#"
+	 * - "#val#%"
+	 * - "#val# million"
+	 * 
+	 * @param $text as string.
+	 */
+	function set_label_text( $text )
+	{
+		$tmp = new y_axis_labels();
+		$tmp->set_text( $text );
+		$this->labels = $tmp;
+	}
+	
+	/**
+	 * @param $steps as integer.
+	 *
+	 * Only show every $steps label, e.g. every 10th
+	 */
+	function set_steps( $steps )
+	{
+		$this->steps = $steps;	
+	}
+	
+	/**
+	 * Make the labels show vertical
+	 */
+	function set_vertical()
+	{
+		$this->rotate = "vertical";
+	}
+}
\ No newline at end of file
diff --git a/libs/open-flash-chart/php-ofc-library/ofc_y_axis_right.php b/libs/open-flash-chart/php-ofc-library/ofc_y_axis_right.php
new file mode 100644
index 0000000000..71f7c29845
--- /dev/null
+++ b/libs/open-flash-chart/php-ofc-library/ofc_y_axis_right.php
@@ -0,0 +1,6 @@
+<?php
+
+class y_axis_right extends y_axis_base
+{
+	function y_axis_right(){}
+}
\ No newline at end of file
diff --git a/libs/open-flash-chart/php-ofc-library/ofc_y_legend.php b/libs/open-flash-chart/php-ofc-library/ofc_y_legend.php
new file mode 100644
index 0000000000..048d8b51e6
--- /dev/null
+++ b/libs/open-flash-chart/php-ofc-library/ofc_y_legend.php
@@ -0,0 +1,15 @@
+<?php
+
+class y_legend
+{
+	function y_legend( $text='' )
+	{
+		$this->text = $text;
+	}
+	
+	function set_style( $css )
+	{
+		$this->style = $css;
+		//"{font-size: 20px; color:#0000ff; font-family: Verdana; text-align: center;}";		
+	}
+}
\ No newline at end of file
diff --git a/libs/open-flash-chart/php-ofc-library/open-flash-chart-object.php b/libs/open-flash-chart/php-ofc-library/open-flash-chart-object.php
new file mode 100644
index 0000000000..6e1129f46b
--- /dev/null
+++ b/libs/open-flash-chart/php-ofc-library/open-flash-chart-object.php
@@ -0,0 +1,109 @@
+<?php
+
+function open_flash_chart_object_str( $width, $height, $url, $use_swfobject=true, $base='' )
+{
+    //
+    // return the HTML as a string
+    //
+    return _ofc( $width, $height, $url, $use_swfobject, $base );
+}
+
+function open_flash_chart_object( $width, $height, $url, $use_swfobject=true, $base='' )
+{
+    //
+    // stream the HTML into the page
+    //
+    echo _ofc( $width, $height, $url, $use_swfobject, $base );
+}
+
+function _ofc( $width, $height, $url, $use_swfobject, $base )
+{
+    //
+    // I think we may use swfobject for all browsers,
+    // not JUST for IE...
+    //
+    //$ie = strstr(getenv('HTTP_USER_AGENT'), 'MSIE');
+    
+    //
+    // escape the & and stuff:
+    //
+    $url = urlencode($url);
+    
+    //
+    // output buffer
+    //
+    $out = array();
+    
+    //
+    // check for http or https:
+    //
+    if (isset ($_SERVER['HTTPS']))
+    {
+        if (strtoupper ($_SERVER['HTTPS']) == 'ON')
+        {
+            $protocol = 'https';
+        }
+        else
+        {
+            $protocol = 'http';
+        }
+    }
+    else
+    {
+        $protocol = 'http';
+    }
+    
+    //
+    // if there are more than one charts on the
+    // page, give each a different ID
+    //
+    global $open_flash_chart_seqno;
+    $obj_id = 'chart';
+    $div_name = 'flashcontent';
+    
+    //$out[] = '<script type="text/javascript" src="'. $base .'js/ofc.js"></script>';
+    
+    if( !isset( $open_flash_chart_seqno ) )
+    {
+        $open_flash_chart_seqno = 1;
+        $out[] = '<script type="text/javascript" src="'. $base .'js/swfobject.js"></script>';
+    }
+    else
+    {
+        $open_flash_chart_seqno++;
+        $obj_id .= '_'. $open_flash_chart_seqno;
+        $div_name .= '_'. $open_flash_chart_seqno;
+    }
+    
+    if( $use_swfobject )
+    {
+		// Using library for auto-enabling Flash object on IE, disabled-Javascript proof  
+		$out[] = '<div id="'. $div_name .'"></div>';
+		$out[] = '<script type="text/javascript">';
+		$out[] = 'var so = new SWFObject("'. $base .'open-flash-chart.swf", "'. $obj_id .'", "'. $width . '", "' . $height . '", "9", "#FFFFFF");';
+		
+		$out[] = 'so.addVariable("data-file", "'. $url . '");';
+	
+		$out[] = 'so.addParam("allowScriptAccess", "always" );//"sameDomain");';
+		$out[] = 'so.write("'. $div_name .'");';
+		$out[] = '</script>';
+		$out[] = '<noscript>';
+    }
+
+    $out[] = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="' . $protocol . '://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" ';
+    $out[] = 'width="' . $width . '" height="' . $height . '" id="ie_'. $obj_id .'" align="middle">';
+    $out[] = '<param name="allowScriptAccess" value="sameDomain" />';
+    $out[] = '<param name="movie" value="'. $base .'open-flash-chart.swf?data='. $url .'" />';
+    $out[] = '<param name="quality" value="high" />';
+    $out[] = '<param name="bgcolor" value="#FFFFFF" />';
+    $out[] = '<embed src="'. $base .'open-flash-chart.swf?data=' . $url .'" quality="high" bgcolor="#FFFFFF" width="'. $width .'" height="'. $height .'" name="'. $obj_id .'" align="middle" allowScriptAccess="sameDomain" ';
+    $out[] = 'type="application/x-shockwave-flash" pluginspage="' . $protocol . '://www.macromedia.com/go/getflashplayer" id="'. $obj_id .'"/>';
+    $out[] = '</object>';
+
+    if ( $use_swfobject ) {
+		$out[] = '</noscript>';
+    }
+    
+    return implode("\n",$out);
+}
+?>
\ No newline at end of file
diff --git a/libs/open-flash-chart/php-ofc-library/open-flash-chart.php b/libs/open-flash-chart/php-ofc-library/open-flash-chart.php
new file mode 100644
index 0000000000..c3cab1a0b2
--- /dev/null
+++ b/libs/open-flash-chart/php-ofc-library/open-flash-chart.php
@@ -0,0 +1,174 @@
+<?php
+
+// var_dump(debug_backtrace());
+
+//
+// Omar Kilani's php C extension for encoding JSON has been incorporated in stock PHP since 5.2.0
+// http://www.aurore.net/projects/php-json/
+//
+// -- Marcus Engene
+//
+if (! function_exists('json_encode'))
+{
+	include_once 'JSON.php';
+}
+
+include_once 'json_format.php';
+
+// ofc classes
+include_once 'ofc_title.php';
+include_once 'ofc_y_axis_base.php';
+include_once 'ofc_y_axis.php';
+include_once 'ofc_y_axis_right.php';
+include_once 'ofc_x_axis.php';
+
+
+include_once 'ofc_pie.php';
+//include_once 'ofc_bar.php';
+include_once 'ofc_bar_glass.php';
+include_once 'ofc_bar_filled.php';
+include_once 'ofc_bar_stack.php';
+//include_once 'ofc_bar_3d.php';
+include_once 'ofc_hbar.php';
+include_once 'ofc_line_base.php';
+include_once 'ofc_line.php';
+//include_once 'ofc_line_dot.php';
+//include_once 'ofc_line_hollow.php';
+
+include_once 'ofc_area_base.php';
+//include_once 'ofc_area_hollow.php';
+//include_once 'ofc_area_line.php';
+
+include_once 'ofc_x_legend.php';
+include_once 'ofc_y_legend.php';
+include_once 'ofc_bar_sketch.php';
+include_once 'ofc_scatter.php';
+include_once 'ofc_scatter_line.php';
+include_once 'ofc_x_axis_labels.php';
+include_once 'ofc_x_axis_label.php';
+include_once 'ofc_tooltip.php';
+include_once 'ofc_shape.php';
+include_once 'ofc_radar_axis.php';
+include_once 'ofc_radar_axis_labels.php';
+include_once 'ofc_radar_spoke_labels.php';
+include_once 'ofc_line_style.php';
+
+include_once 'dot_base.php';
+include_once 'ofc_menu.php';
+
+class open_flash_chart
+{
+	function open_flash_chart()
+	{
+		//$this->title = new title( "Many data lines" );
+		$this->elements = array();
+	}
+	
+	function set_title( $t )
+	{
+		$this->title = $t;
+	}
+	
+	function set_x_axis( $x )
+	{
+		$this->x_axis = $x;	
+	}
+	
+	function set_y_axis( $y )
+	{
+		$this->y_axis = $y;
+	}
+	
+	function add_y_axis( $y )
+	{
+		$this->y_axis = $y;
+	}
+
+	function set_y_axis_right( $y )
+	{
+		$this->y_axis_right = $y;
+	}
+	
+	function add_element( $e )
+	{
+		$this->elements[] = $e;
+	}
+	
+	function set_x_legend( $x )
+	{
+		$this->x_legend = $x;
+	}
+
+	function set_y_legend( $y )
+	{
+		$this->y_legend = $y;
+	}
+	
+	function set_bg_colour( $colour )
+	{
+		$this->bg_colour = $colour;	
+	}
+	
+	function set_radar_axis( $radar )
+	{
+		$this->radar_axis = $radar;
+	}
+	
+	function set_tooltip( $tooltip )
+	{
+		$this->tooltip = $tooltip;	
+	}
+	
+	/**
+	 * This is a bit funky :(
+	 *
+	 * @param $num_decimals as integer. Truncate the decimals to $num_decimals, e.g. set it
+	 * to 5 and 3.333333333 will display as 3.33333. 2.0 will display as 2 (or 2.00000 - see below)
+	 * @param $is_fixed_num_decimals_forced as boolean. If true it will pad the decimals.
+	 * @param $is_decimal_separator_comma as boolean
+	 * @param $is_thousand_separator_disabled as boolean
+	 *
+	 * This needs a bit of love and attention
+	 */
+	function set_number_format($num_decimals, $is_fixed_num_decimals_forced, $is_decimal_separator_comma, $is_thousand_separator_disabled )
+	{
+		$this->num_decimals = $num_decimals;
+		$this->is_fixed_num_decimals_forced = $is_fixed_num_decimals_forced;
+		$this->is_decimal_separator_comma = $is_decimal_separator_comma;
+		$this->is_thousand_separator_disabled = $is_thousand_separator_disabled;
+	}
+	
+	/**
+	 * This is experimental and will change as we make it work
+	 * 
+	 * @param $m as ofc_menu
+	 */
+	function set_menu($m)
+	{
+		$this->menu = $m;
+	}
+	
+	function toString()
+	{
+		if (function_exists('json_encode'))
+		{
+			return json_encode($this);
+		}
+		else
+		{
+			$json = new Services_JSON();
+			return $json->encode( $this );
+		}
+	}
+	
+	function toPrettyString()
+	{
+		return json_format( $this->toString() );
+	}
+}
+
+
+
+//
+// there is no PHP end tag so we don't mess the headers up!
+//
\ No newline at end of file
diff --git a/misc/widget_example_lastvisits.html b/misc/widget_example_lastvisits.html
index 5adf21fdb2..403a3d4f88 100644
--- a/misc/widget_example_lastvisits.html
+++ b/misc/widget_example_lastvisits.html
@@ -1,5 +1,5 @@
 <html><body>
 <p>Number of visits per week for the last 52 weeks</p>
-<div id="widgetIframe"><iframe width="800" height="450" src="http://piwik.org/demo/index.php?module=Widgetize&action=iframe&moduleToWidgetize=VisitsSummary&actionToWidgetize=getLastVisitsGraph&idSite=1&period=week&date=last52&disableLink=1" scrolling="no" frameborder="0" marginheight="0" marginwidth="0"></iframe></div>
+<div id="widgetIframe"><iframe width="800" height="450" src="http://piwik.org/demo/index.php?module=Widgetize&action=iframe&moduleToWidgetize=VisitsSummary&actionToWidgetize=getEvolutionGraph&idSite=1&period=week&date=last52&columns[]=nb_visits&disableLink=1" scrolling="no" frameborder="0" marginheight="0" marginwidth="0"></iframe></div>
 </body>
 </html>
diff --git a/plugins/Actions/Actions.php b/plugins/Actions/Actions.php
index 530e30eef9..e8963fe272 100644
--- a/plugins/Actions/Actions.php
+++ b/plugins/Actions/Actions.php
@@ -52,9 +52,9 @@ class Piwik_Actions extends Piwik_Plugin
 	
 	function addWidgets()
 	{
-		Piwik_AddWidget( 'Actions', 'getActions', Piwik_Translate('Actions_SubmenuPages'));
-		Piwik_AddWidget( 'Actions', 'getDownloads', Piwik_Translate('Actions_SubmenuDownloads'));
-		Piwik_AddWidget( 'Actions', 'getOutlinks', Piwik_Translate('Actions_SubmenuOutlinks'));
+		Piwik_AddWidget( 'Actions_Actions', 'Actions_SubmenuPages', 'Actions', 'getActions');
+		Piwik_AddWidget( 'Actions_Actions', 'Actions_SubmenuOutlinks', 'Actions', 'getOutlinks');
+		Piwik_AddWidget( 'Actions_Actions', 'Actions_SubmenuDownloads', 'Actions', 'getDownloads');
 	}
 	
 	function addMenus()
diff --git a/plugins/CoreHome/templates/calendar.js b/plugins/CoreHome/templates/calendar.js
index db71c42fe8..774ba55ed2 100644
--- a/plugins/CoreHome/templates/calendar.js
+++ b/plugins/CoreHome/templates/calendar.js
@@ -147,26 +147,26 @@ $(document).ready(function(){
 			currentText: "",
 			customDate: isDateSelected,
 			dayNames: [
-				_pk_translate('CoreHome_DaySu'),
-				_pk_translate('CoreHome_DayMo'),
-				_pk_translate('CoreHome_DayTu'),
-				_pk_translate('CoreHome_DayWe'),
-				_pk_translate('CoreHome_DayTh'),
-				_pk_translate('CoreHome_DayFr'),
-				_pk_translate('CoreHome_DaySa')],
+				_pk_translate('CoreHome_DaySu_js'),
+				_pk_translate('CoreHome_DayMo_js'),
+				_pk_translate('CoreHome_DayTu_js'),
+				_pk_translate('CoreHome_DayWe_js'),
+				_pk_translate('CoreHome_DayTh_js'),
+				_pk_translate('CoreHome_DayFr_js'),
+				_pk_translate('CoreHome_DaySa_js')],
 			monthNames: [
-				_pk_translate('CoreHome_MonthJanuary'),
-				_pk_translate('CoreHome_MonthFebruary'),
-				_pk_translate('CoreHome_MonthMarch'),
-				_pk_translate('CoreHome_MonthApril'),
-				_pk_translate('CoreHome_MonthMay'),
-				_pk_translate('CoreHome_MonthJune'),
-				_pk_translate('CoreHome_MonthJuly'),
-				_pk_translate('CoreHome_MonthAugust'),
-				_pk_translate('CoreHome_MonthSeptember'),
-				_pk_translate('CoreHome_MonthOctober'),
-				_pk_translate('CoreHome_MonthNovember'),
-				_pk_translate('CoreHome_MonthDecember')]
+				_pk_translate('CoreHome_MonthJanuary_js'),
+				_pk_translate('CoreHome_MonthFebruary_js'),
+				_pk_translate('CoreHome_MonthMarch_js'),
+				_pk_translate('CoreHome_MonthApril_js'),
+				_pk_translate('CoreHome_MonthMay_js'),
+				_pk_translate('CoreHome_MonthJune_js'),
+				_pk_translate('CoreHome_MonthJuly_js'),
+				_pk_translate('CoreHome_MonthAugust_js'),
+				_pk_translate('CoreHome_MonthSeptember_js'),
+				_pk_translate('CoreHome_MonthOctober_js'),
+				_pk_translate('CoreHome_MonthNovember_js'),
+				_pk_translate('CoreHome_MonthDecember_js')]
 			},
 			currentDate);
 			
diff --git a/plugins/CoreHome/templates/datatable.css b/plugins/CoreHome/templates/datatable.css
index cb13c6553e..48fcf6824f 100644
--- a/plugins/CoreHome/templates/datatable.css
+++ b/plugins/CoreHome/templates/datatable.css
@@ -1,13 +1,13 @@
 /*Overriding some dataTable css for better dashboard display*/
-.widgetDiv .dataTableWrapper, 
-.widgetDiv .dataTableAllColumnsWrapper,
-.widgetDiv .dataTableGraphWrapper,
-.widgetDiv .dataTableActionsWrapper,
-.widgetDiv .dataTableGraphEvolutionWrapper {
+.widget .dataTableWrapper, 
+.widget .dataTableAllColumnsWrapper,
+.widget .dataTableGraphWrapper,
+.widget .dataTableActionsWrapper,
+.widget .dataTableGraphEvolutionWrapper {
 	width: 100%;
 }
 
-.widgetDiv {
+.widget {
 	z-index:1;
 }
 
diff --git a/plugins/CoreHome/templates/datatable.js b/plugins/CoreHome/templates/datatable.js
index 7c83458dff..a14b49eb83 100644
--- a/plugins/CoreHome/templates/datatable.js
+++ b/plugins/CoreHome/templates/datatable.js
@@ -258,12 +258,12 @@ dataTable.prototype =
 					}
 					if(Number(self.param.enable_filter_excludelowpop) != 0)
 					{
-						string = _pk_translate('CoreHome_IncludeAllPopulation');
+						string = _pk_translate('CoreHome_IncludeAllPopulation_js');
 						self.param.enable_filter_excludelowpop = 1;
 					}
 					else
 					{
-						string = _pk_translate('CoreHome_ExcludeLowPopulation');
+						string = _pk_translate('CoreHome_ExcludeLowPopulation_js');
 						self.param.enable_filter_excludelowpop = 0;
 					}
 					$(this).html(string);
@@ -377,7 +377,7 @@ dataTable.prototype =
 				// only show this string if there is some rows in the datatable
 				if(totalRows != 0)
 				{
-					var str = sprintf(_pk_translate('CoreHome_PageOf'),offset + '-' + offsetEndDisp,totalRows);
+					var str = sprintf(_pk_translate('CoreHome_PageOf_js'),offset + '-' + offsetEndDisp,totalRows);
 					$(this).text(str);
 				}
 			}
@@ -653,15 +653,15 @@ dataTable.prototype =
 					
 					// at the end of the query it will replace the ID matching the new HTML table #ID
 					// we need to create this ID first
-					$(this).after( '\
-					<tr>\
-						<td colspan="'+numberOfColumns+'" class="cellSubDataTable">\
-							<div id="'+divIdToReplaceWithSubTable+'">\
-								<span id="loadingDataTable" style="display:inline"><img src="'+piwik.piwik_url+'themes/default/images/loading-blue.gif" />'+ _pk_translate('CoreHome_Loading') +'</span>\
-							</div>\
-						</td>\
-					</tr>\
-					');
+					$(this).after( 
+					'<tr>'+
+						'<td colspan="'+numberOfColumns+'" class="cellSubDataTable">'+
+							'<div id="'+divIdToReplaceWithSubTable+'">'+
+								'<span id="loadingDataTable" style="display:inline"><img src="'+piwik.piwik_url+'themes/default/images/loading-blue.gif" />'+ _pk_translate('CoreHome_Loading_js') +'</span>'+
+							'</div>'+
+						'</td>'+
+					'</tr>'
+					);
 					
 					var savedActionVariable = self.param.action;
 					
diff --git a/plugins/CoreHome/templates/datatable_footer.tpl b/plugins/CoreHome/templates/datatable_footer.tpl
index 2e44ebbcf7..6c3f3a0d06 100644
--- a/plugins/CoreHome/templates/datatable_footer.tpl
+++ b/plugins/CoreHome/templates/datatable_footer.tpl
@@ -1,5 +1,4 @@
 <div id="dataTableFeatures">
-
 {if $properties.show_exclude_low_population}
 	<span id="dataTableExcludeLowPopulation"></span>
 {/if}
diff --git a/plugins/CoreHome/templates/datatable_js.tpl b/plugins/CoreHome/templates/datatable_js.tpl
index acae875cf4..04aa61d391 100644
--- a/plugins/CoreHome/templates/datatable_js.tpl
+++ b/plugins/CoreHome/templates/datatable_js.tpl
@@ -5,7 +5,6 @@ $(document).ready(function(){literal}{{/literal}
 	dataTables['{$properties.uniqueId}'].param = {literal}{{/literal} 
 	{foreach from=$javascriptVariablesToSet key=name item=value name=loop}
 		{$name}: '{$value}'{if !$smarty.foreach.loop.last},{/if}
-		
 	{/foreach}
 	{literal}};{/literal}
 	dataTables['{$properties.uniqueId}'].init('{$properties.uniqueId}');
diff --git a/plugins/CoreHome/templates/header_message.tpl b/plugins/CoreHome/templates/header_message.tpl
index 577f2986d6..2a5f3a5ee6 100644
--- a/plugins/CoreHome/templates/header_message.tpl
+++ b/plugins/CoreHome/templates/header_message.tpl
@@ -1,10 +1,10 @@
 <span id="header_message">
 {if  $piwikUrl == 'http://piwik.org/demo/'}
-	{'General_YouAreCurrentlyViewingDemoOfPiwik'|translate:"<a target='_blank' href='http://piwik.org'>Piwik</a>":"<a href='http://piwik.org/'><u>":"</u></a>":"<a href='http://piwik.org'><u>piwik.org</u></a>"}
+	{'General_YouAreCurrentlyViewingDemoOfPiwik'|translate:"<a target='_blank' href='http://piwik.org'>Piwik</a>":"<a href='http://piwik.org/'>":"</a>":"<a href='http://piwik.org'>piwik.org</a>"}
 {elseif $latest_version_available}
 	<img src='themes/default/images/warning_small.png' alt='' style="vertical-align: middle;"> 
 	{'General_PiwikXIsAvailablePleaseUpdateNow'|translate:$latest_version_available:"<br /><a href='index.php?module=CoreUpdater&action=newVersionAvailable'>":"</a>":"<a href='misc/redirectToUrl.php?url=http://piwik.org/changelog/' target='_blank'>":"</a>"}
 {else}
-	{'General_PiwikIsACollaborativeProjectYouCanContribute'|translate:"<a href='misc/redirectToUrl.php?url=http://piwik.org'>":"$piwik_version</a>":"<br />":"<a target='_blank' href='misc/redirectToUrl.php?url=http://piwik.org/contribute/'>":"</a></u>"} 
+	{'General_PiwikIsACollaborativeProjectYouCanContribute'|translate:"<a href='misc/redirectToUrl.php?url=http://piwik.org'>":"$piwik_version</a>":"<br />":"<a target='_blank' href='misc/redirectToUrl.php?url=http://piwik.org/contribute/'>":"</a>"} 
 {/if}
 </span>
diff --git a/plugins/CoreHome/templates/js_css_includes.tpl b/plugins/CoreHome/templates/js_css_includes.tpl
index 606ded1728..6755d2fe7a 100644
--- a/plugins/CoreHome/templates/js_css_includes.tpl
+++ b/plugins/CoreHome/templates/js_css_includes.tpl
@@ -1,5 +1,3 @@
-{* when adding a script here you may want to also add it for Iframe embedded widgets 
-   in plugins/Widgetize/templates/iframe.tpl *}
 <script type="text/javascript" src="libs/jquery/jquery.js"></script>
 <script type="text/javascript" src="themes/default/common.js"></script>
 <script type="text/javascript" src="libs/jquery/jquery.dimensions.js"></script>
diff --git a/plugins/CoreHome/templates/piwik_tag.tpl b/plugins/CoreHome/templates/piwik_tag.tpl
index 7807ceb5bd..ef25de38d4 100644
--- a/plugins/CoreHome/templates/piwik_tag.tpl
+++ b/plugins/CoreHome/templates/piwik_tag.tpl
@@ -1,4 +1,5 @@
 {if ereg('http://127.0.0.1|http://localhost|http://piwik.org', $url)}
+<div style="clear:both"></div>
 {literal}
 <!-- Piwik -->
 <a href="http://piwik.org" title="Web analytics" onclick="window.open(this.href);return(false);">
diff --git a/plugins/CoreHome/templates/sparkline.js b/plugins/CoreHome/templates/sparkline.js
index 382f5bb2db..5753235977 100644
--- a/plugins/CoreHome/templates/sparkline.js
+++ b/plugins/CoreHome/templates/sparkline.js
@@ -1,58 +1,36 @@
-
 $(document).ready( function(){
-
-	//for every section
-	$("a[name='evolutionGraph']").each(
-		function()
-		{
-			//try to find the graph
-			var graph = $(this);
-		
-			if(graph && graph.size() > 0)
-			{
-				//try to find sparklines and add them clickable behaviour
-				$(this).parent().find('p').each(
-					function()
-					{
-						var url = "";
-						//find the sparkline and get it's src attribute
-						$(".sparkline", this).each(
-							function()
-							{
-								//search viewDataTable parameter and replace it with value for chart
-								var reg = new RegExp("(viewDataTable=sparkline)", "g");
-								url = this.src.replace(reg,'viewDataTable=generateDataChartEvolution');
-							}
-						);
-						
-						if(url != "")
-						{
-							$("*", this).each(
-								function()
-								{
-									//on click, reload the graph with the new url
-									$(this).click(
-										function()
-										{	
-											//get the main page graph and reload with new data
-											findSWFGraph(graph.attr('graphId')+"Chart_swf").reload(url);
-											lazyScrollTo(graph[0], 400);
-										}
-									);
-									
-									//on hover, change cursor to indicate clickable item
-									$(this).hover(
-										function()
-										{  
-									 		$(this).css({ cursor: "pointer"}); 
-									  	}, function (){}
-									);
-								}
-							);
+	$("a[name='evolutionGraph']").each( function() {
+		var graph = $(this);
+		if(graph && graph.size() > 0) {
+			//try to find sparklines and add them clickable behaviour
+			$(this).parent().find('div.sparkline').each( function() {
+				var url = "";
+				//find the sparkline and get it's src attribute
+				$("img.sparkline", this).each(function() {
+					//search viewDataTable parameter and replace it with value for chart
+					var reg = new RegExp("(viewDataTable=sparkline)", "g");
+					url = this.src.replace(reg,'viewDataTable=generateDataChartEvolution');
+				});
+				if(url != ""){
+					//on click, reload the graph with the new url
+					$(this).click( function() {	
+						//get the main page graph and reload with new data
+						findSWFGraph(graph.attr('graphId')+"Chart_swf").reload(url);
+						lazyScrollTo(graph[0], 400);
+					});
+					$(this).hover( 	
+						function() { 
+							$(this).css({
+										"cursor": "pointer", 
+										"border-bottom": "1px dashed #C3C3C3",
+									});
+						}, 
+						function(){
+							$(this).css({"border-bottom":"1px solid white"});
 						}
-					}
-				);
-			}
+					);
+				}
+			});
 		}
-	);
-});
+	});
+});
\ No newline at end of file
diff --git a/plugins/CoreHome/templates/styles.css b/plugins/CoreHome/templates/styles.css
index 1c86ed5d2a..d05e47494f 100644
--- a/plugins/CoreHome/templates/styles.css
+++ b/plugins/CoreHome/templates/styles.css
@@ -8,6 +8,7 @@ h2 {
 	font-size: 1.6em;
 	color: #1D3256;
 	padding-bottom: 0.5em;
+	clear:both;
 }
 
 h3 {
@@ -26,17 +27,23 @@ p {
 	margin-left: 10px;
 }
 
+
 /* 2 columns reports */
 #leftcolumn {
 	float: left;
 	width: 50%;
 	padding-left: 10px;
 }
-
 #rightcolumn {
 	float: right;
 	width: 45%;
 }
+/* not in widget */
+.widget #leftcolumn, .widget #rightcolumn {
+	float:left;
+	width:100%;
+	padding-left:10px;
+}
 
 #calendar {
 	display: block;
@@ -78,8 +85,15 @@ p {
 	border-bottom: 1px solid #520202;
 }
 
-.sparkline {
+div .sparkline {
+	float:left;
+	clear:both;
+	padding-bottom: 1px;
+	margin-top:10px;
+	border-bottom:1px solid white;
+}
+.sparkline img {
 	vertical-align: middle;
 	padding-right: 10px;
+	margin-top: 0;
 }
-
diff --git a/plugins/Dashboard/Controller.php b/plugins/Dashboard/Controller.php
index cf6aa2c902..331f84437b 100644
--- a/plugins/Dashboard/Controller.php
+++ b/plugins/Dashboard/Controller.php
@@ -17,27 +17,23 @@ require_once "ViewDataTable.php";
  */
 class Piwik_Dashboard_Controller extends Piwik_Controller
 {
-	function getListWidgets()
-	{
-		$widgets = Piwik_GetWidgetsList();
-		$json = json_encode($widgets);
-		return $json;
-	}
-	
 	public function embeddedIndex()
-	{		
+	{
 		$view = new Piwik_View('Dashboard/templates/index.tpl');
 		$this->setGeneralVariablesView($view);
-		$view->layout = $this->getLayout();
-		$view->availableWidgets = $this->getListWidgets();
+		$view->layout = html_entity_decode($this->getLayout());
+		
+		$view->availableWidgets = json_encode(Piwik_GetWidgetsList());
 		echo $view->render();
 	}
+	
 	public function index()
 	{
-		//add the header for stand-alone mode
-		$view = new Piwik_View('Dashboard/templates/header.tpl');
+		$view = new Piwik_View('Dashboard/templates/standalone.tpl');
+		$this->setGeneralVariablesView($view);
+		$view->layout = html_entity_decode($this->getLayout());
+		$view->availableWidgets = json_encode(Piwik_GetWidgetsList());
 		echo $view->render();
-		$this->embeddedIndex();
 	}
 	
 	/**
diff --git a/plugins/Dashboard/Dashboard.php b/plugins/Dashboard/Dashboard.php
index 95162bb30d..dea80e07de 100644
--- a/plugins/Dashboard/Dashboard.php
+++ b/plugins/Dashboard/Dashboard.php
@@ -34,6 +34,7 @@ class Piwik_Dashboard extends Piwik_Plugin
 	{
 		echo '
 <script type="text/javascript" src="plugins/Dashboard/templates/widgetMenu.js"></script>
+<script type="text/javascript" src="libs/javascript/json2.js"></script>
 <script type="text/javascript" src="plugins/Dashboard/templates/Dashboard.js"></script>
 		';
 	}
diff --git a/plugins/Dashboard/templates/Dashboard.js b/plugins/Dashboard/templates/Dashboard.js
index 7ca8f323da..de12a8fcc6 100644
--- a/plugins/Dashboard/templates/Dashboard.js
+++ b/plugins/Dashboard/templates/Dashboard.js
@@ -1,37 +1,10 @@
-function contains(array, searchElem) {
-	for(var i=0; i<array.length; i++) {
-		if (array[i]==searchElem) {
-			return true;
-		}
-	}
-	return false;
-}
-
-//Default configuration of the blockUI jquery plugin
-function blockUIConfig()
-{
-	//set default style value for blockUI
-	$.extend($.blockUI.defaults.overlayCSS, { backgroundColor: '#000000', opacity: '0.4'});
-	//disable animation effect
-	$.extend($.blockUI.defaults,{ fadeIn: 0, fadeOut: 0 });
-	//unblock UI on 'escape' key pressed...
-	$(window).keydown(
-		function(e)
-		{
-			var key = e.keyCode || e.which;
-			if(key == 27) //escape key ascii code
-				$.unblockUI();
-		}
-	);
-}
-
 function dashboard()
 {
-	this.dashArea = new Object;
-	this.dashColumns = new Object;
+	this.dashboardElement = new Object;
+	this.dashboardColumnsElement = new Object;
 	this.layout = '';
 }
-	
+
 dashboard.prototype =
 {
 	//function called on dashboard initialisation
@@ -40,314 +13,221 @@ dashboard.prototype =
 		var self = this;
 		
 		//save some often used DOM objects
-		self.dashArea = $('#dashboardWidgetsArea');
-		self.dashColumns = $('.col', self.dashDom);
+		self.dashboardElement = $('#dashboardWidgetsArea');
+		self.dashboardColumnsElement = $('.col', self.dashDom);
 		
 		//dashboard layout
 		self.layout = layout;
 		
 		//generate dashboard layout and load every displayed widgets
 		self.generateLayout();
-
-		//setup widget dynamic behaviour
-		self.setupWidgetSortable();
+		
+		self.makeSortable();
 	},
 	
-	//return the DOM corresponding to the dashboard columns
-	getColumns: function()
+	getWidgetsElementsInsideElement: function(elementToSearch)
 	{
-		return this.dashColumns;
+		return $('.sortable:not(.dummyItem) .widget', elementToSearch);
 	},
 	
-	//'widgetize' every created widgets:
-	//add an handle bar and apply 'sortable' drag&drop effect
-	setupWidgetSortable: function()
-	{
-		var self = this;
-		
-		//add a dummy item on each columns
-		self.dashColumns.each(
-			function()
-			{
-				$(this).append('<div class="items dummyItem"><div class="handle dummyHandle"></div></div>');
-			});
-		 
-		self.hideUnnecessaryDummies();
-		 
-		self.makeSortable();
-	},
-	
-	//generate dashboard DOM corresponding to the initial layout
 	generateLayout: function()
 	{
 		var self = this;
 		
-		//dashboardLayout looks like :
-		//'Actions.getActions~Actions.getDownloads|UserCountry.getCountry|Referers.getSearchEngines';
-		//'|' separate columns
-		//'~' separate widgets
-		//'.' separate plugin name from action name
-		var col = self.layout.split('|');
-		for(var i=0; i<col.length; i++)
-		{
-			if(col[i] != '')
-			{
-				var widgets = col[i].split('~');
-				for(var j=0; j<widgets.length; j++)
-				{
-					var wid = widgets[j].split('.');
-					self.addWidgetAndLoad(i+1, wid[0], wid[1]);
+		if(typeof self.layout == 'string') {
+			var layout = new Object;
+			//Old dashboard layout format: a string that looks like 'Actions.getActions~Actions.getDownloads|UserCountry.getCountry|Referers.getSearchEngines';
+			// '|' separate columns
+			// '~' separate widgets
+			// '.' separate plugin name from action name
+			var columns = self.layout.split('|');
+			for(var columnNumber=0; columnNumber<columns.length; columnNumber++) {
+				if(columns[columnNumber].length == 0) {
+					continue;
+				}
+				var widgets = columns[columnNumber].split('~');
+				layout[columnNumber] = new Object;
+				for(var j=0; j<widgets.length; j++) {
+					wid = widgets[j].split('.');
+					uniqueId = 'widget'+wid[0]+wid[1];
+					layout[columnNumber][j] = { 
+						"uniqueId": uniqueId,
+						"parameters": { 
+							"module": wid[0], 
+							"action": wid[1] 
+						}
+					};
 	  			}
 	  		}
+			self.layout = layout;
 		}
-	},
-	
-	//add a new widget to the dashboard
-	//colnumber is the column in wich you want to add the widget
-	//plugin/action is the widget to load
-	//onTop: boolean specifying if the widget should be added on top of the column
-	addEmptyWidget: function(colNumber, plugin, action, onTop)
-	{
-		var self = this;
-
-		if((plugin === "") || (action === ""))  return;
-
-		if(typeof onTop == "undefined")
-			onTop = false;
-		
-		var item = '<div class="items"><div class="widget"><div class="widgetLoading">'+ _pk_translate('Dashboard_LoadingWidget') +'</div><div plugin="'+plugin+'"'+' id="'+action+'" class="widgetDiv"></div></div></div>';
-	
-		if(onTop)
-		{
-			$(self.dashColumns[colNumber-1]).prepend(item);
-		}
-		else
-		{
-			$(self.dashColumns[colNumber-1]).append(item);
+		layout = self.layout;
+		for(var columnNumber in layout) {
+			var widgetsInColumn = layout[columnNumber];
+			for(var widgetId in widgetsInColumn) {
+				widgetParameters = widgetsInColumn[widgetId]["parameters"];
+				uniqueId = widgetsInColumn[widgetId]["uniqueId"];
+				if(uniqueId.length>0) {
+					self.addEmptyWidget(columnNumber, uniqueId, false);
+				}
+			}
+			self.addDummyWidgetAtBottomOfColumn(columnNumber);
 		}
-	
-		//find the title of the widget
-		var title = self.getWidgetTitle(plugin, action);
-		
-		//add an handle to each items
-		var widget = $('.widgetDiv#'+action+'[plugin='+plugin+']', self.dashColumns[colNumber-1]).parents('.widget');
-		self.addHandleToWidget(widget, title);
-		
-		var button = $('.button#close', widget);
+
+		self.makeSortable();
 		
-		//Only show handle buttons on mouse hover
-		$(widget).hover(
-			function()
-			{
-				$(this).addClass('widgetHover');
-				$('.handle',this).addClass('handleHover');
-				button.show();
-			},
-			function()
+		// load all widgets
+		$('.widget', self.dashboardElement).each( function() {
+			var uniqueId = $(this).attr('id');
+			function onWidgetLoadedReplaceElementWithContent(loadedContent)
 			{
-				$(this).removeClass('widgetHover');
-				$('.handle',this).removeClass('handleHover');
-				button.hide();
+				$('#'+uniqueId+'>.widgetContent', self.dashboardElement).html(loadedContent);
 			}
-		);
-		
-		//Bind click event on close button
-		button.click(function(ev){self.onDeleteItem(this, ev);});
-		
-		self.makeSortable();
-	},
-	
-	//return widget title designated by its plugin/action couple
-	getWidgetTitle: function(plugin, action)
-	{
-		var self = this;
-		
-		var title = _pk_translate('Dashboard_WidgetNotFound');
-		var widgets = piwik.availableWidgets[plugin];
-		for(var i in widgets)
-		{
-			if(action == widgets[i][1])
-				title = widgets[i][0];
-		}
-		return title;
+			widget = widgetsHelper.getWidgetObjectFromUniqueId(uniqueId);
+			widgetParameters = widget["parameters"];
+			$.ajax(widgetsHelper.getLoadWidgetAjaxRequest(uniqueId, widgetParameters, onWidgetLoadedReplaceElementWithContent));
+		});
 	},
 	
-	//add the widget and load it
-	addWidgetAndLoad: function(colNumber, plugin, action, onTop)
+	addDummyWidgetAtBottomOfColumn: function(columnNumber)
 	{
 		var self = this;
-		
-		self.addEmptyWidget(colNumber, plugin, action, onTop);
-		self.loadItem($('.items [plugin='+plugin+']#'+action, self.dashArea).parents('.items'));
+		var columnElement = $(self.dashboardColumnsElement[columnNumber]);
+		$(columnElement).append(	
+						'<div class="sortable dummyItem">'+
+							'<div class="widgetTop dummyWidgetTop"></div>'+
+						'</div>');
 	},
 	
-	//add an handle bar to a given widget with a particular title
-	addHandleToWidget: function(widget, title)
+	addEmptyWidget: function(columnNumber, uniqueId, addWidgetOnTop)
 	{
-		widget.prepend('<div class="handle">\
-							<div class="button" id="close">\
-								<img src="themes/default/images/close.png" />\
-							</div>\
-							<div class="widgetTitle">'+title+'</div>\
-						</div>');
-	},
-
-	//auxiliary function calling ajax loading procedure for a given DOM element
-	loadItem: function(domElem)
-	{	
 		var self = this;
 		
-		//load every widgetDiv with asynchronous ajax
-		$('.widgetDiv', domElem).each(
-			function()
-			{				
-				// get the ID of the div and load with ajax						
-				loadWidgetInDiv($(this).attr('plugin'), $(this).attr('id'));
+		widgetName = widgetsHelper.getWidgetNameFromUniqueId(uniqueId);
+		if(widgetName == false) {
+			widgetName = _pk_translate('Dashboard_WidgetNotFound_js');
+		}
+		columnElement = $(self.dashboardColumnsElement[columnNumber]);
+		emptyWidgetContent = '<div class="sortable">'+
+								widgetsHelper.getEmptyWidgetHtml(uniqueId, widgetName, _pk_translate('Dashboard_LoadingWidget_js'))+
+							'</div>';
+		if(addWidgetOnTop) {
+			columnElement.prepend(emptyWidgetContent);
+		} else {
+			columnElement.append(emptyWidgetContent);
+		}
+		widgetElement = $('#'+ uniqueId);
+		widgetElement
+			.hover( function() {
+					$(this).addClass('widgetHover');
+					$('.widgetTop', this).addClass('widgetTopHover');
+					$('.button#close', this).show();
+				}, function() {
+					$(this).removeClass('widgetHover');
+					$('.widgetTop', this).removeClass('widgetTopHover');
+					$('.button#close', this).hide();
+			});
+		$('.button#close', widgetElement)
+			.click( function(ev){
+				self.onDeleteItem(this, ev);
 			});
+
+		widgetElement.show();
+		return widgetElement;
 	},
 	
 	//apply jquery sortable plugin to the dashboard layout
 	makeSortable: function()
 	{
 		var self = this;
-		
-		function getHelper()
-		{
+		function getHelper() {
 			return $(this).clone().addClass('helper');
 		}
-		
-		function onStart()
-		{
-			self.showDummies();
+		function onStart() {
 		}
-		
-		function onStop()
-		{
-			self.hideUnnecessaryDummies();
-			self.saveLayout();
-			
+		function onStop() {
 			$('.widgetHover', this).removeClass('widgetHover');
-			$('.handleHover', this).removeClass('handleHover');
+			$('.widgetTopHover', this).removeClass('widgetTopHover');
 			$('.button#close', this).hide();
+			self.saveLayout();
 		}
-	
 		//launch 'sortable' property on every dashboard widgets
-		self.dashArea.sortableDestroy()
-					 .sortable({
-					 	items:'.items',
-					 	hoverClass: 'hover',
-					 	handle: '.handle',
-					 	helper: getHelper,
-					 	start: onStart,
-					 	stop: onStop
-					 	});
+		self.dashboardElement
+					.sortableDestroy()
+					.sortable({
+						items:'.sortable',
+						hoverClass: 'hover',
+						handle: '.widgetTop',
+						helper: getHelper,
+						start: onStart,
+						stop: onStop
+					});
 	},
 
-	//on mouse click on close widget button
-	//we ask for confirmation and we delete the widget from the dashboard
+	// on mouse click on close widget button
+	// we ask for confirmation and if 'yes' is clicked, we delete the widget from the dashboard
 	onDeleteItem: function(target, ev)
 	{
 		var self = this;
 		   
-		//ask confirmation and delete item
 		var question = $('.dialog#confirm');
-		$('#yes', question).click(function()
-		{
-			var item = $(target).parents('.items');
-			var plugin = $('.widgetDiv', item).attr('plugin');
-			var action = $('.widgetDiv', item).attr('id');
-			
-			//hide confirmation dialog
+		$('#no', question).click($.unblockUI);
+		$('#yes', question).click(function() {
+			var item = $(target).parents('.sortable');
 			$.unblockUI();
-			
-			//the item disapear slowly and is removed from the DOM
-			item.fadeOut(200, function()
-				{
-					$(this).remove();
-					self.showDummies();
-					self.saveLayout();
-					self.makeSortable();
-				});
-			
-			//show menu item
-			$('.menu#widgetChooser .menuItem[pluginToLoad='+plugin+'][actionToLoad='+action+']').show();
+			item.fadeOut(200, function() {
+				$(this).remove();
+				self.saveLayout();
+				self.makeSortable();
+			});
 		});
-		$('#no', question).click($.unblockUI);
-		$.blockUI({message: question, css: { width: '300px', border:'1px solid black' }});
-	},
-	
-	//dummies are invisible item that help for widget positionning
-	//and keep the column visible even when there aren't widget anymore in it
-	showDummies: function()
-	{
-		var self = this;
-		$('.dummyItem').css('display', 'block');
-	},
-	
-	//see showDummies
-	//hide dummies that are not needed for column consistency
-	hideUnnecessaryDummies: function()
-	{
-		var self = this;
-		$('.dummyItem').each(function(){
-			$(this).appendTo($(this).parent());
-			if($(this).siblings().size() > 0)
-				$(this).css('display', 'none');
+		$.blockUI({
+			message: question, 
+			css: { width: '300px', border:'1px solid black' }
 		});
 	},
 	
-	//save the layout in the database/cookie so the user can
-	//retrieve it the next time he load the dashboard
 	saveLayout: function()
 	{
 		var self = this;
-		var column = new Array;
 		
-		//parse the dom to see how our div are organized
-		//build a list of widget sorted by columns
-		self.dashColumns.each(function() {
-			column.push(getWidgetInDom(this));
+		// build the layout object to save
+		var layout = new Array;
+		var columnNumber = 0;
+		self.dashboardColumnsElement.each(function() {
+			layout[columnNumber] = new Array;
+			var items = self.getWidgetsElementsInsideElement(this);
+			for(var j=0; j<items.size(); j++) {
+				widgetElement = items[j];
+				uniqueId = $(widgetElement).attr('id');
+				widget = widgetsHelper.getWidgetObjectFromUniqueId(uniqueId);
+				widgetParameters = widget["parameters"];
+				layout[columnNumber][j] = 
+				{
+					"uniqueId": uniqueId,
+					"parameters": widgetParameters
+				};
+			}
+			columnNumber++;
 		});
 		
-		var ajaxRequest =
-		{
-			type: 'GET',
-			url: 'index.php',
-			dataType: 'html',
-			async: true,
-			error: ajaxHandleError,		// Callback when the request fails
-			data: {	module: 'Dashboard',
-					action: 'saveLayout' }
-		};
-		
-		//write layout in a string
-		//using '|' as column separator
-		// and '~' as widget separator
-		var layout = '';
-		for(var i=0; i<column.length; i++)
-		{
-			layout += column[i].join('~');
-			layout += '|';
-		}
-		
 		//only save layout if it has changed
-		if(layout != self.layout)
-		{
+		layoutString = JSON.stringify(layout);
+		if(layoutString != JSON.stringify(self.layout)) {
 			self.layout = layout;
-			ajaxRequest.data['layout'] = layout;
+			var ajaxRequest =
+			{
+				type: 'GET',
+				url: 'index.php',
+				dataType: 'html',
+				async: true,
+				error: ajaxHandleError,
+				data: {	"module": "Dashboard",
+						"action": "saveLayout",
+						"layout": layoutString
+				}
+			};
 			$.ajax(ajaxRequest);
 		}
 	}
 };
-
-//auxiliary function: list widgets available in a DOM tree
-function getWidgetInDom(domElem)
-{
-	var items = $('.items:not(.dummyItem) .widgetDiv', domElem);
-	var widgets = new Array;
-	for(var i=0; i<items.size(); i++)
-	{
-		widgets.push($(items[i]).attr('plugin')+'.'+$(items[i]).attr('id'));
-	}
-	return widgets;
-}
diff --git a/plugins/Dashboard/templates/dashboard.css b/plugins/Dashboard/templates/dashboard.css
index a13cd6867f..6717152409 100644
--- a/plugins/Dashboard/templates/dashboard.css
+++ b/plugins/Dashboard/templates/dashboard.css
@@ -1,14 +1,9 @@
-.widgetDiv {
-	display: none;
-}
-
-/*--- end of dataTable.css modif*/
 .col {
 	float: left;
 	width: 33%;
 }
 
-.items {
+.sortable {
 	background: white;
 }
 
@@ -29,7 +24,7 @@
 	border: 1px solid #CBD3E7;
 }
 
-.handle {
+.widgetTop {
 	background: #F0F0FA;
 	border-bottom: 1px solid #D2D9EB;
 	width: 100%;
@@ -39,19 +34,20 @@
 	padding-bottom: 4px;
 }
 
-.handleHover {
+.widgetTopHover {
 	background: #E6E6F5;
 }
 
-.widgetTitle {
+.widgetName {
 	font-size: 14pt;
 	margin-left: 25px;
 }
 
 .dummyItem {
 	width: 100%;
-	height: 200px;
+	height: 150px;
 	display: block;
+	visibility:hidden;
 }
 
 .button {
@@ -170,10 +166,6 @@ ul#widgetList {
 	font-weight: bold;
 }
 
-.previewDiv {
-	height: auto;
-}
-
 .widget input {
 	background: #F7F7FF none repeat scroll 0% 50%;
 	border: 1px solid #B3B3B3;
@@ -185,3 +177,6 @@ ul#widgetList {
 #widgetChooser {
 	z-index:100;
 }
+#widgetChooser .widgetTop {
+	cursor:pointer;
+}
\ No newline at end of file
diff --git a/plugins/Dashboard/templates/header.tpl b/plugins/Dashboard/templates/header.tpl
index 342f53a807..724608a17c 100644
--- a/plugins/Dashboard/templates/header.tpl
+++ b/plugins/Dashboard/templates/header.tpl
@@ -1,23 +1,11 @@
 {* This header is for loading the dashboard in stand alone mode*}
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
 <html>
-<body>
+<head>
 {loadJavascriptTranslations plugins='CoreHome Dashboard'}
-
-<script type="text/javascript" src="libs/jquery/jquery.js"></script>
-
-<script type="text/javascript" src="themes/default/common.js"></script>
-<script type="text/javascript" src="libs/jquery/jquery.dimensions.js"></script>
-<script type="text/javascript" src="libs/jquery/tooltip/jquery.tooltip.js"></script>
-<script type="text/javascript" src="libs/jquery/truncate/jquery.truncate.js"></script>
-<script type="text/javascript" src="libs/jquery/jquery.scrollTo.js"></script>
-<script type="text/javascript" src="libs/swfobject/swfobject.js"></script>
-
-<script type="text/javascript" src="plugins/CoreHome/templates/datatable.js"></script>
-
-<script type="text/javascript" src="libs/jquery/jquery.blockUI.js"></script>
-<script type="text/javascript" src="libs/jquery/ui.mouse.js"></script>
-<script type="text/javascript" src="libs/jquery/ui.sortable_modif.js"></script>
-
+{include file="CoreHome/templates/js_css_includes.tpl"}
+{include file="CoreHome/templates/js_global_variables.tpl"}
 <link rel="stylesheet" href="plugins/CoreHome/templates/datatable.css">
 <link rel="stylesheet" href="plugins/Dashboard/templates/dashboard.css">
+</head>
+<body>
\ No newline at end of file
diff --git a/plugins/Dashboard/templates/index.tpl b/plugins/Dashboard/templates/index.tpl
index a093795270..0b2f8d044a 100644
--- a/plugins/Dashboard/templates/index.tpl
+++ b/plugins/Dashboard/templates/index.tpl
@@ -1,25 +1,47 @@
 {loadJavascriptTranslations plugins='CoreHome Dashboard'}
 
 <script type="text/javascript">
-	{if !empty($layout) }
-		piwik.dashboardLayout = '{$layout}';
-	{else}
-		// Load default layout...
-		piwik.dashboardLayout = 'VisitsSummary.getLastVisitsGraph~VisitorInterest.getNumberOfVisitsPerVisitDuration~UserSettings.getBrowser~ExampleFeedburner.feedburner|Referers.getKeywords~Referers.getWebsites|Referers.getSearchEngines~VisitTime.getVisitInformationPerServerTime~ExampleRssWidget.rssPiwik|';
-	{/if}
-	
-	piwik.availableWidgets = {$availableWidgets};
+{if !empty($layout) }
+	piwik.dashboardLayout = {$layout};
+{else}
+{literal}
+	piwik.dashboardLayout = 
+	[
+		[
+			{"uniqueId":"widgetVisitsSummarygetEvolutionGraph","parameters":{"module":"VisitsSummary","action":"getEvolutionGraph","columns":["nb_visits"]}},
+			{"uniqueId":"widgetVisitorInterestgetNumberOfVisitsPerVisitDuration","parameters":{"module":"VisitorInterest","action":"getNumberOfVisitsPerVisitDuration"}},
+			{"uniqueId":"widgetUserSettingsgetBrowser","parameters":{"module":"UserSettings","action":"getBrowser"}},
+			{"uniqueId":"widgetUserCountrygetCountry","parameters":{"module":"UserCountry","action":"getCountry"}},
+			{"uniqueId":"widgetExampleFeedburnerfeedburner","parameters":{"module":"ExampleFeedburner","action":"feedburner"}}
+		],
+		[
+			{"uniqueId":"widgetReferersgetKeywords","parameters":{"module":"Referers","action":"getKeywords"}},
+			{"uniqueId":"widgetReferersgetWebsites","parameters":{"module":"Referers","action":"getWebsites"}}
+		],
+		[
+			{"uniqueId":"widgetReferersgetSearchEngines","parameters":{"module":"Referers","action":"getSearchEngines"}},
+			{"uniqueId":"widgetVisitTimegetVisitInformationPerServerTime","parameters":{"module":"VisitTime","action":"getVisitInformationPerServerTime"}},
+			{"uniqueId":"widgetExampleRssWidgetrssPiwik","parameters":{"module":"ExampleRssWidget","action":"rssPiwik"}}
+		]
+	];
+{/literal}
+
+	{*
+	the old dashboard layout style is:
+	piwik.dashboardLayout = 'VisitsSummary.getEvolutionGraph~VisitorInterest.getNumberOfVisitsPerVisitDuration~UserSettings.getBrowser~ExampleFeedburner.feedburner|Referers.getKeywords~Referers.getWebsites|Referers.getSearchEngines~VisitTime.getVisitInformationPerServerTime~ExampleRssWidget.rssPiwik|';
+	*}
+{/if}
+piwik.availableWidgets = {$availableWidgets};
 </script>
 
 {literal}
 <script type="text/javascript">
 $(document).ready( function() {
-		var dash = new dashboard();
-		var menu = new widgetMenu(dash);
-		blockUIConfig();
-		dash.init(piwik.dashboardLayout);
-		menu.init();
-		$('.button#addWidget').click(function(){menu.show();});
+		var dashboardObject = new dashboard();
+		var widgetMenuObject = new widgetMenu(dashboardObject);
+		dashboardObject.init(piwik.dashboardLayout);
+		widgetMenuObject.init();
+		$('.button#addWidget').click(function(){widgetMenuObject.show();});
 });
 </script>
 {/literal}
@@ -39,35 +61,16 @@ $(document).ready( function() {
 	<div class="menu" id="widgetChooser">
 		<div id="closeMenuIcon"><img src="themes/default/images/close_medium.png" title="{'General_Close'|translate}"/></div>
 		<div id="menuTitleBar">{'Dashboard_SelectWidget'|translate}</div>
-		<div class="subMenu" id="sub1">
-		</div>
-		
-		<div class="subMenu" id="sub2">
-		</div>
-		
-		<div class="subMenu" id="sub3">
-			<div class="widget">
-				<div class="handle" title="{'Dashboard_AddPreviewedWidget'|translate}">
-					<div class="button" id="close">
-						<img src="themes/default/images/close.png" title="{'General_Close'|translate}"/>
-					</div>
-					<div class="widgetTitle">{'Dashboard_WidgetPreview'|translate}</div>
-				</div>
-				<div class="widgetDiv previewDiv" ></div>
-			</div>
-		</div>
-		
+
+		<div class="subMenu" id="sub1"></div>
+		<div class="subMenu" id="sub2"></div>
+		<div class="subMenu" id="sub3"></div>
 		<div class="menuClear"> </div>
 	</div>	
 
 	<div id="dashboardWidgetsArea">
-		<div class="col" id="1">
-		</div>
-	  
-		<div class="col" id="2">
-		</div>
-		
-		<div class="col" id="3">
-		</div>
+		<div class="col" id="1"></div>
+		<div class="col" id="2"></div>
+		<div class="col" id="3"></div>
 	</div>
 </div>
diff --git a/plugins/Dashboard/templates/standalone.tpl b/plugins/Dashboard/templates/standalone.tpl
new file mode 100644
index 0000000000..784ca3c7d5
--- /dev/null
+++ b/plugins/Dashboard/templates/standalone.tpl
@@ -0,0 +1,5 @@
+
+{include file="Dashboard/templates/header.tpl"}
+{include file="Dashboard/templates/index.tpl"}
+</body>
+</html>
\ No newline at end of file
diff --git a/plugins/Dashboard/templates/widgetMenu.js b/plugins/Dashboard/templates/widgetMenu.js
index 620a27673a..701056be78 100644
--- a/plugins/Dashboard/templates/widgetMenu.js
+++ b/plugins/Dashboard/templates/widgetMenu.js
@@ -1,17 +1,91 @@
-//widgetMenu constructor
-function widgetMenu(dash)
+function widgetsHelper()
+{
+}
+
+widgetsHelper.getWidgetCategoryNameFromUniqueId = function (uniqueId)
+{
+	var widgets = piwik.availableWidgets;
+	for(var widgetCategory in widgets) {
+		var widgetInCategory = widgets[widgetCategory];
+		for(var i in widgetInCategory) {
+			if(widgetInCategory[i]["uniqueId"] == uniqueId) {
+				return widgetCategory;
+			}
+		}
+	}
+	return false;
+};
+
+widgetsHelper.getWidgetObjectFromUniqueId = function (uniqueId)
+{
+	var widgets = piwik.availableWidgets;
+	for(var widgetCategory in widgets) {
+		var widgetInCategory = widgets[widgetCategory];
+		for(var i in widgetInCategory) {
+			if(widgetInCategory[i]["uniqueId"] == uniqueId) {
+				return widgetInCategory[i];
+			}
+		}
+	}
+	return false;
+};
+
+widgetsHelper.getWidgetNameFromUniqueId = function (uniqueId)
+{
+	widget = this.getWidgetObjectFromUniqueId(uniqueId);
+	if(widget == false) {
+		return false;
+	}
+	return widget["name"];
+};
+
+widgetsHelper.getLoadWidgetAjaxRequest = function (widgetUniqueId, widgetParameters, onWidgetLoadedCallback)
+{
+	var ajaxRequest = 
+	{
+		widgetUniqueId:widgetUniqueId,
+		type: 'GET',
+		url: 'index.php',
+		dataType: 'html',
+		async: true,
+		error: ajaxHandleError,		
+		success: onWidgetLoadedCallback,
+		data: piwikHelper.getQueryStringFromParameters(widgetParameters) + "&idSite="+piwik.idSite+"&period="+piwik.period+"&date="+piwik.currentDateString
+	};
+	return ajaxRequest;
+};
+
+widgetsHelper.getEmptyWidgetHtml = function (uniqueId, widgetName, widgetLoadingString)
+{
+	return '<div id="'+uniqueId+'" class="widget">'+
+				'<div class="widgetTop">'+
+					'<div class="button" id="close">'+
+						'<img src="themes/default/images/close.png" title="'+_pk_translate('Dashboard_Close_js')+'" />'+
+					'</div>'+
+					'<div class="widgetName">'+widgetName+'</div>'+
+				'</div>'+
+				'<div class="widgetContent">'+ 
+					'<div class="widgetLoading">'+
+						widgetLoadingString +
+					'</div>'+
+				'</div>'+
+			'</div>';
+};
+
+// widgetMenu constructor
+function widgetMenu(dashboard)
 {
 	this.menu = new Object;
-	this.dashboard = dash;
+	this.dashboard = dashboard;
 }
 
-//Prototype of the widgetMenu object
+// widgetMenu object
 widgetMenu.prototype =
 {
-	//function called when the menu is built for the first time
 	init: function()
 	{
 		var self = this;
+		self.menuElement = $('#widgetChooser');		
 		self.buildMenu();
 	},
 	
@@ -20,189 +94,181 @@ widgetMenu.prototype =
 		this.onWidgetLoad = callbackOnWidgetLoad;
 	},
 	
-	registerCallbackOnMainMenuHover: function( callbackOnMainMenuHover )
-	{
-		this.onMainMenuHover = callbackOnMainMenuHover;
-	},
-	
-	registerCallbackOnSubMenuHover:  function( callbackOnSubMenuHover )
+	registerCallbackOnMenuHover:  function( callbackOnMenuHover )
 	{
-		this.onSubMenuHover = callbackOnSubMenuHover;
-	},
-	
-	//function called when a clone of an existing menu is built
-	initBuilt: function(menuDom)
-	{
-		var self = this;
-		self.menu = menuDom;
-		self.bindEvents();
+		this.onMenuHover = callbackOnMenuHover;
 	},
 	
 	//create DOM elements of the menu
 	buildMenu: function()
 	{
 		var self = this;
+		var menuWidgetCategories = $('.subMenu#sub1', self.menuElement);
+		var menuWidgetNames = $('.subMenu#sub2', self.menuElement);
 		
-		//load menu widgets list
-		self.menu = $('#widgetChooser');		
-		var subMenu1 = $('.subMenu#sub1', self.menu);
-		var subMenu2 = $('.subMenu#sub2', self.menu);
-		
-		subMenu1.append('<ol id="menuList"></ol>');
-		subMenu2.append('<ul id="widgetList"></ul>');
-		var lineHeight = $('ol', subMenu1).css('line-height');
+		menuWidgetCategories.append('<ol id="menuList"></ol>');
+		menuWidgetNames.append('<ul id="widgetList"></ul>');
+		var lineHeight = $('ol', menuWidgetCategories).css('line-height');
 		lineHeight = Number(lineHeight.substring(0, lineHeight.length-2));
 	
-		var count=0;
-		for(var plugin in piwik.availableWidgets)
-		{
-			var widgets = piwik.availableWidgets[plugin];
-	
-			for(var i in widgets)
-			{
-				var exist = $('.subMenuItem#'+plugin, subMenu1);
-				if(exist.size()==0)
-				{
-					$('ol', subMenu1).append('<li class="subMenuItem" id="'+plugin+'"><span>'+plugin+'</span></li>');
-					$('ul', subMenu2).append('<li class="subMenuItem" id="'+plugin+'"></li>');
+		var i=0;
+		for(var widgetCategory in piwik.availableWidgets) {
+			var widgets = piwik.availableWidgets[widgetCategory];
+			for(var j in widgets) {
+				widgetName = widgets[j]["name"];
+				widgetUniqueId = widgets[j]["uniqueId"];
+				widgetParameters = widgets[j]["parameters"];
+				widgetCategoryId = 'category'+i;
+				exist = $('.subMenuItem#'+widgetCategoryId, menuWidgetCategories);
+				if(exist.size() == 0) {
+					$('ol', menuWidgetCategories)
+						.append('<li class="subMenuItem" id="'+widgetCategoryId+'">'+
+									'<span>'+widgetCategory+'</span>'+
+								'</li>');
+					$('ul', menuWidgetNames)
+						.append('<li class="subMenuItem" id="'+widgetCategoryId+'"></li>');
 				}
-				
-				var sm2Div = $('.subMenuItem#'+plugin, subMenu2);
-				sm2Div.append('<div class="button menuItem" pluginToLoad="'+plugin+'" actionToLoad="'+widgets[i][1]+'">'+widgets[i][0] + '</div>');
-				sm2Div.css('padding-top', count*lineHeight+'px');
+				// we prepend the ID with "ID" to not conflict with the <div> 
+				// that contains the widget preview and that has the widgetUniqueId already
+				$('.subMenuItem#'+widgetCategoryId, menuWidgetNames)
+						.append('<div class="button menuWidgetName" id="'+ 'ID' + widgetUniqueId +'">'+ 
+									widgetName + 
+								'</div>')
+						.css('padding-top', i*lineHeight+'px');
 			}
-			count++;
+			i++;
 		}
-		
-		$('.subMenuItem', subMenu2).hide();
+		$('.subMenuItem', menuWidgetNames).hide();
+	},
+	
+	resetMenuState: function ()
+	{
+		$('.menuSelected', self.menuElement).removeClass('menuSelected');
+		$('#sub2 .subMenuItem', self.menuElement).hide();
+		$('#sub3').empty().html('<div class="widget"></div>');
 	},
 	
-	//bind events (click/hover/...) of the menu to appropriate callback
 	bindEvents: function()
 	{
 		var self = this;
+		if(typeof self.menuInitialized != 'undefined') {
+			return;
+		}
+		self.menuInitialized = true;
 		
-		//menu buttons
-		$('.button#hideMenu', self.menu).click(function(){self.hide();});
-		$('#closeMenuIcon', self.menu).click(function(){self.hide();});
-		$('.subMenu#sub3 .widget .handle', self.menu)
-				.css('cursor', 'pointer')
-				.click(function(){self.movePreviewToDashboard();});
-		
-		//update widget list on submenu#1 mouse over
-		$('.subMenu#sub1 .subMenuItem', self.menu).each(function(){
-			var plugin = $(this).attr('id');
-			var item = $('.subMenu#sub2 .subMenuItem#' + plugin, self.menu);
-			
-			$(this).hover(
-				function()
-				{
-					if(typeof self.onMainMenuHover != 'undefined')
-					{
-						self.onMainMenuHover();
-					}
-					$('#embedThisWidget').empty();
-					$('.widgetDiv.previewDiv', self.menu).empty()
-													.attr('plugin', '')
-													.attr('id', '');
-					$('.menuItem', self.menu).removeClass('menuSelected');
-					$('.subMenu#sub1 .subMenuItem', self.menu).removeClass('menuSelected');
-					$('.subMenu#sub2 .subMenuItem', self.menu).hide();
-					$(this).addClass('menuSelected');
-					item.show();
-				},function(){});
-		});
+		// Main menu (widget categories)
+		$('.subMenu#sub1 .subMenuItem', self.menuElement)
+			.hover(function() {
+				self.resetMenuState();
+				categoryIdHovered = $(this).attr('id');
+				$('#sub2 #'+categoryIdHovered, self.menuElement).show();
+				$(this).addClass('menuSelected');
+			}, function() {}
+		);
 
-		//update widget preview on submenu#2 mouse over
-		$('.menuItem', self.menu)
-		.click( function() { if(!$(this).hasClass('menuDisabled'))  self.movePreviewToDashboard(); })
-		.hover( function()
-		{
-			if($(this).hasClass('menuDisabled'))
-			{
-				return;
-			}
-			var plugin = $(this).attr('pluginToLoad');
-			var action = $(this).attr('actionToLoad');
-			var widgetName = $(this).text();
-			
-			if(typeof self.onSubMenuHover != 'undefined')
-			{
-				self.onSubMenuHover(plugin, action, widgetName);
-			}
-			
-			$('.subMenu#sub2 .menuSelected').removeClass('menuSelected');
-			$(this).addClass('menuSelected');
-			
-			$('.widgetDiv.previewDiv', self.menu).each(function(){
-				//only reload preview if necessary
-				if($(this).attr('plugin')!=plugin || $(this).attr('id')!=action)
-				{
-					//format the div for upcomming ajax loading and set a temporary content
-					$(this)	.attr('plugin', plugin)
-							.attr('id', action)
-							.html('<div id="loadingPiwik"><img src="themes/default/images/loading-blue.gif" /> '+ _pk_translate('Dashboard_LoadingPreview') +'</div>').show();
-					$('#embedThisWidget').empty();
-					loadWidgetInDiv(plugin, action, self.onWidgetLoad);
+		// Sub menu (each widget in the middle column)
+		$('.menuWidgetName', self.menuElement)
+			.hover( function() {
+				if($(this).hasClass('menuDisabled')) {
+					return;
 				}
-			});
-		},function(){});
-	},
-	
-	hide: function()
-	{
-		//simply disable modal dialog box
-		$.unblockUI();
+				// the ID is prefixed with "ID"
+				widgetUniqueId = $(this).attr('id').substr(2);
+				
+				// only reload preview if necessary
+				if($('#sub3 .widget').attr('id') == widgetUniqueId) {
+					return;
+				}
+				self.expectedWidgetUniqueId = widgetUniqueId;
+				
+				widget = widgetsHelper.getWidgetObjectFromUniqueId(widgetUniqueId);
+				widgetParameters = widget['parameters'];
+				
+				$('.subMenu#sub2 .menuSelected').removeClass('menuSelected');
+				$(this).addClass('menuSelected');
+
+				if(typeof self.onMenuHover != 'undefined') {
+					self.onMenuHover(widgetUniqueId);
+				}
+				emptyWidgetHtml = widgetsHelper.getEmptyWidgetHtml(
+										widgetUniqueId, 
+										'<div title="'+_pk_translate("Dashboard_AddPreviewedWidget_js")+'">'+
+											_pk_translate('Dashboard_WidgetPreview_js')+
+										'</div>', 
+										'<span id="loadingPiwik">'+
+											'<img src="themes/default/images/loading-blue.gif"> ' +_pk_translate('Dashboard_LoadingWidget_js') +
+										'</span>'
+				);
+				$('#sub3').html(emptyWidgetHtml);
+				
+				$('#sub3 .widgetTop').click(function() {
+					self.movePreviewToDashboard();
+				});
+				
+				var onWidgetLoadedCallback = function (response) {
+					if(this.widgetUniqueId != self.expectedWidgetUniqueId) {
+						return;
+					}
+					widgetElement = $('#'+this.widgetUniqueId);
+					$('.widgetContent', widgetElement).html($(response));
+					if(typeof self.onWidgetLoad != 'undefined') {
+						self.onWidgetLoad(	widgetUniqueId, 
+											widgetElement
+						);
+					}
+				};
+				ajaxRequest = widgetsHelper.getLoadWidgetAjaxRequest(widgetUniqueId, widgetParameters, onWidgetLoadedCallback);
+				$.ajax(ajaxRequest);
+			}, function() {}
+		);
 	},
 	
 	show: function()
 	{
 		var self = this;
-		if(self.dashboard != undefined) 
-		{
+		if(typeof self.dashboard != 'undefined') {
+			self.initWidgetMenuForDashboard();
 			self.filterOutAlreadyLoadedWidget();
-			var dispMenu = $('#widgetChooser');
-			$.blockUI({message: dispMenu, css: {width:'', top: '5%',left:'10%', right:'10%', margin:"0px", textAlign:'', cursor:'', border:'0px'}});
-			menuDom = $('.blockMsg #widgetChooser');
+			$.blockUI({
+					message: self.menuElement, 
+					css: {width:'', top: '5%',left:'10%', right:'10%', margin:"0px", textAlign:'', cursor:'', border:'0px'}
+			});
 		}
-		else
-		{
-			menuDom = $('#widgetChooser');
-		}		
-		var dispMenuObject = new widgetMenu(self.dashboard);
-		dispMenuObject.initBuilt(menuDom);
-		dispMenuObject.registerCallbackOnWidgetLoad(self.onWidgetLoad);
-		dispMenuObject.registerCallbackOnMainMenuHover(self.onMainMenuHover);
-		dispMenuObject.registerCallbackOnSubMenuHover(self.onSubMenuHover);
+		self.resetMenuState();
+		self.bindEvents();
 	},
 
+	hideMenu: function()
+	{
+		$.unblockUI();
+	},
+	
 	filterOutAlreadyLoadedWidget: function()
 	{
 		var self = this;
-		
-		//build a list of loaded widget, parse the dashboard column
-		var widgets = new Array;	
-		self.dashboard.getColumns().each(
-			function()
-			{
-				widgets = widgets.concat(getWidgetInDom(this));
+
+		function contains(array, searchElem) {
+			for(var i=0; i<array.length; i++) {
+				if (array[i] == searchElem) {
+					return true;
+				}
 			}
-		);
-		
-		//find widget from the loaded list in the menu, and apply
-		//appropriate style and behaviour
-		$('.menuItem', self.menu).each(function(){
-			var plugin = $(this).attr('pluginToLoad');
-			var action = $(this).attr('actionToLoad');
-			if(contains(widgets, plugin+'.'+action))
-			{
+			return false;
+		}
+		var widgets = self.dashboard.getWidgetsElementsInsideElement( self.dashboard.dashboardElement );
+		var widgetInDashboardUniqueIds = new Array;
+		for(var i=0; i<widgets.size(); i++) {
+			widgetInDashboardUniqueIds.push($(widgets[i]).attr('id'));
+		}
+		$('.menuWidgetName', self.menuElement).each( function() {
+			// the ID is prefixed with "ID"
+			var uniqueId = $(this).attr('id').substr(2);
+			if(contains(widgetInDashboardUniqueIds, uniqueId)) {
 				$(this).addClass('menuDisabled');
-				$(this).attr('title', _pk_translate('Dashboard_TitleWidgetInDashboard'));
-			}
-			else
-			{
+				$(this).attr('title', _pk_translate('Dashboard_TitleWidgetInDashboard_js'));
+			} else {
 				$(this).removeClass('menuDisabled');
-				$(this).attr('title', _pk_translate('Dashboard_TitleClickToAdd'));
+				$(this).attr('title', _pk_translate('Dashboard_TitleClickToAdd_js'));
 			}
 		});
 	},
@@ -210,59 +276,46 @@ widgetMenu.prototype =
 	movePreviewToDashboard: function()
 	{
 		var self = this;
-		
-		$('.widgetDiv.previewDiv', self.menu).each(function(){
-			var plugin = $(this).attr('plugin');
-			var action = $(this).attr('id');
-			
-			self.dashboard.addEmptyWidget(1, plugin, action, true);
-			
-			var parDiv = $('.widgetDiv[plugin='+plugin+']'+'#'+action, self.dashboard.getColumns()[0]);
-			parDiv.show();
-			parDiv.siblings('.widgetLoading').hide();
-			
-			$(this).children().clone(true).appendTo(parDiv);
+		if(typeof self.dashboard == 'undefined') {
+			return;
+		}
+		$('#sub3 .widget', self.menuElement).each(function() {
+			uniqueId = $(this).attr('id');
+			widgetAddedToDashboard = self.dashboard.addEmptyWidget(0, uniqueId, true);
+			widgetContentToReplace = $('.widgetContent', widgetAddedToDashboard );
+			widgetContentLoadedInPreview = $('.widgetContent', this).clone(true);
+			widgetContentToReplace.replaceWith( widgetContentLoadedInPreview );
 		});
-		
-		self.hide();
-		self.clearPreviewDiv();
+		self.hideMenu();
+		self.dashboard.makeSortable();
 		self.dashboard.saveLayout();
 	},
-	
-	//clear the widget preview box
-	clearPreviewDiv: function()
+
+	initWidgetMenuForDashboard: function()
 	{
 		var self = this;
-		$('.subMenu .widgetDiv.previewDiv', self.menu).empty()
-			.attr('id', '')
-			.attr('plugin', '');
-		$('#embedThisWidget').empty();
+		if(typeof self.menuInitialized == 'undefined') {
+			$('.menuWidgetName', self.menuElement)
+				.click( function() { 
+						if(!$(this).hasClass('menuDisabled')) {
+							self.movePreviewToDashboard(); 
+						}
+			});
+			$('.button#hideMenu', self.menuElement)
+				.click(function() { self.hideMenu(); }
+			);
+			$('#closeMenuIcon', self.menuElement)
+				.click(function() { self.hideMenu(); }
+			);
+			$.extend($.blockUI.defaults.overlayCSS, { backgroundColor: '#000000', opacity: '0.4'});
+			$.extend($.blockUI.defaults,{ fadeIn: 0, fadeOut: 0 });
+			$(window).keydown( function(e) {
+				var key = e.keyCode || e.which;
+				if(key == 27) {
+					self.hideMenu();
+				}
+			});
+		}
 	}
 };
 
-function loadWidgetInDiv(pluginId, actionId, callbackOnWidgetLoad)
-{
-	function onLoaded(response)
-	{
-		var parDiv = $('.widgetDiv#'+actionId+'[plugin='+pluginId+']');
-		parDiv.siblings('.widgetLoading').hide();
-		parDiv.html($(response));
-		parDiv.show();
-		
-		if(typeof callbackOnWidgetLoad != 'undefined')
-		{
-			callbackOnWidgetLoad(parDiv, pluginId, actionId);
-		}
-	}
-	var ajaxRequest = 
-	{
-		type: 'GET',
-		url: 'index.php',
-		dataType: 'html',
-		async: true,
-		error: ajaxHandleError,		
-		success: onLoaded,
-		data: "module="+pluginId+"&action="+actionId+"&idSite="+piwik.idSite+"&period="+piwik.period+"&date="+piwik.currentDateString
-	};
-	$.ajax(ajaxRequest);
-}
diff --git a/plugins/ExampleFeedburner/ExampleFeedburner.php b/plugins/ExampleFeedburner/ExampleFeedburner.php
index 7a50ec59c6..089be108d3 100644
--- a/plugins/ExampleFeedburner/ExampleFeedburner.php
+++ b/plugins/ExampleFeedburner/ExampleFeedburner.php
@@ -33,7 +33,7 @@ class Piwik_ExampleFeedburner extends Piwik_Plugin
 	}
 }
 
-Piwik_AddWidget('ExampleFeedburner', 'feedburner', 'Feedburner statistics');
+Piwik_AddWidget('Example Widgets', 'Feedburner statistics', 'ExampleFeedburner', 'feedburner');
 
 class Piwik_ExampleFeedburner_Controller extends Piwik_Controller
 {
@@ -44,7 +44,7 @@ class Piwik_ExampleFeedburner_Controller extends Piwik_Controller
 	 */
 	function feedburner()
 	{
-		$view = new Piwik_View('ExampleFeedburner/feedburner.tpl');
+		$view = new Piwik_View('ExampleFeedburner/templates/feedburner.tpl');
 		$idSite = Piwik_Common::getRequestVar('idSite',1,'int');
 		$feedburnerFeedName = Piwik_FetchOne('SELECT feedburnerName FROM '.Piwik::prefixTable('site').
 								' WHERE idsite = ?', $idSite );
diff --git a/plugins/ExampleFeedburner/feedburner.tpl b/plugins/ExampleFeedburner/templates/feedburner.tpl
similarity index 100%
rename from plugins/ExampleFeedburner/feedburner.tpl
rename to plugins/ExampleFeedburner/templates/feedburner.tpl
diff --git a/plugins/ExamplePlugin/ExamplePlugin.php b/plugins/ExamplePlugin/ExamplePlugin.php
index 36a6e84f4d..b9788b58f4 100644
--- a/plugins/ExamplePlugin/ExamplePlugin.php
+++ b/plugins/ExamplePlugin/ExamplePlugin.php
@@ -44,9 +44,10 @@ class Piwik_ExamplePlugin extends Piwik_Plugin
 	function postLoad()
 	{
 		// we register the widgets so they appear in the "Add a new widget" window in the dashboard
-		Piwik_AddWidget('ExamplePlugin', 'exampleWidget', Piwik_Translate('ExamplePlugin_exampleWidget'));
-		Piwik_AddWidget('ExamplePlugin', 'blogPiwik', Piwik_Translate('ExamplePlugin_blogPiwikRss'));
-		Piwik_AddWidget('ExamplePlugin', 'photostreamMatt', Piwik_Translate('ExamplePlugin_photostreamMatt'));
+		// Note that the first two parameters can be either a normal string, or an index to a translation string
+		Piwik_AddWidget('Example Widgets', 'ExamplePlugin_exampleWidget', 'ExamplePlugin', 'exampleWidget');
+		Piwik_AddWidget('Example Widgets', 'ExamplePlugin_blogPiwikRss', 'ExamplePlugin', 'blogPiwik');
+		Piwik_AddWidget('Example Widgets', 'ExamplePlugin_photostreamMatt', 'ExamplePlugin', 'photostreamMatt');
 	}
 }
 
@@ -72,7 +73,9 @@ class Piwik_ExamplePlugin_Controller extends Piwik_Controller
 		echo "Hello world! <br> You can output whatever you want in widgets, and put them on dashboard or everywhere on the web (in your blog, website, etc.).
 		<br>Widgets can include graphs, tables, flash, text, images, etc.
 		<br>It's very easy to create a new plugin and widgets in Piwik. Have a look at this example file (/plugins/ExamplePlugin/ExamplePlugin.php).
-		<br><i>Happy coding!</i>";
+		<div id='happycoding'><i>Happy coding!</i></div>
+		<div id='jsenabled'>You can easily use Jquery in widgets</div>
+		<script type=\"text/javascript\">$('#happycoding').hide().fadeIn(5000);$('#jsenabled').hide().css({'color':'red'}).fadeIn(10000);</script>";
 	}
 
 	/**
@@ -102,15 +105,15 @@ class Piwik_ExamplePlugin_Controller extends Piwik_Controller
 		$out .= '<h2>General</h2>';
 		$out .= '<h3>Accessible from your plugin controller</h3>';
 		
-		$out .= '<code>$this->date</code> = current selected <b>Piwik_Date</b> object (<a href="http://piwik.org/documentation/Piwik_Helper/Piwik_Date.html">documentation</a>)<br/>';
+		$out .= '<code>$this->date</code> = current selected <b>Piwik_Date</b> object (<a href="http://dev.piwik.org/trac/browser/trunk/core/Date.php">class</a>)<br/>';
 		$out .= '<code>$period = Piwik_Common::getRequestVar("period");</code> - Get the current selected period<br/>';
 		$out .= '<code>$idSite = Piwik_Common::getRequestVar("idSite");</code> - Get the selected idSite<br/>';
-		$out .= '<code>$site = new Piwik_Site($idSite);</code> - Build the Piwik_Site object (<a href="http://piwik.org/documentation/Piwik_Site/Piwik_Site.html">documentation</a>)<br/>';
+		$out .= '<code>$site = new Piwik_Site($idSite);</code> - Build the Piwik_Site object (<a href="http://dev.piwik.org/trac/browser/trunk/core/Site.php">class</a>)<br/>';
 		$out .= '<code>$this->str_date</code> = current selected date in YYYY-MM-DD format<br/>';
 		
 		$out .= '<h3>Misc</h3>';
 		$out .= '<code>Piwik_AddMenu( $mainMenuName, $subMenuName, $url );</code> - Adds an entry to the menu in the Piwik interface (See the example in the <a href="http://dev.piwik.org/trac/browser/trunk/plugins/UserCountry/UserCountry.php#L146">UserCountry Plugin file</a>)<br/>';
-		$out .= '<code>Piwik_AddWidget( $pluginName, $controllerMethodToCall, $widgetTitle );</code> - Adds an entry to the menu in the Piwik interface (See the example in the <a href="http://dev.piwik.org/trac/browser/trunk/plugins/UserCountry/UserCountry.php#L143">UserCountry Plugin file</a>)<br/>';
+		$out .= '<code>Piwik_AddWidget( $widgetCategory, $widgetName, $controllerName, $controllerAction, $customParameters = array());</code> - Adds a widget that users can add in the dashboard, or export using the Widgets link at the top of the screen. See the example in the <a href="http://dev.piwik.org/trac/browser/trunk/plugins/UserCountry/UserCountry.php#L143">UserCountry Plugin file</a> or any other plugin)<br/>';
 		$out .= '<code>Piwik::prefixTable("site")</code> = <b>' . Piwik::prefixTable("site") . '</b><br/>';
 		
 		
diff --git a/plugins/ExampleRssWidget/ExampleRssWidget.php b/plugins/ExampleRssWidget/ExampleRssWidget.php
index 7130c6cd70..57bbb64b9e 100644
--- a/plugins/ExampleRssWidget/ExampleRssWidget.php
+++ b/plugins/ExampleRssWidget/ExampleRssWidget.php
@@ -20,12 +20,12 @@ class Piwik_ExampleRssWidget extends Piwik_Plugin
 
 	function css()
 	{
-		echo '<link rel="stylesheet" type="text/css" href="plugins/ExampleRssWidget/styles.css" />';
+		echo '<link rel="stylesheet" type="text/css" href="plugins/ExampleRssWidget/templates/styles.css" />';
 	}
 }
 
-Piwik_AddWidget('ExampleRssWidget', 'rssPiwik', 'Piwik.org Blog');
-Piwik_AddWidget('ExampleRssWidget', 'rssChangelog', 'Piwik Changelog');
+Piwik_AddWidget('Example Widgets', 'Piwik.org Blog', 'ExampleRssWidget', 'rssPiwik');
+Piwik_AddWidget('Example Widgets', 'Piwik Changelog', 'ExampleRssWidget', 'rssChangelog');
 
 class Piwik_ExampleRssWidget_Controller extends Piwik_Controller
 {
diff --git a/plugins/ExampleRssWidget/styles.css b/plugins/ExampleRssWidget/templates/styles.css
similarity index 100%
rename from plugins/ExampleRssWidget/styles.css
rename to plugins/ExampleRssWidget/templates/styles.css
diff --git a/plugins/Feedback/Controller.php b/plugins/Feedback/Controller.php
index 733ee36225..a1833e3fa0 100644
--- a/plugins/Feedback/Controller.php
+++ b/plugins/Feedback/Controller.php
@@ -17,7 +17,7 @@ class Piwik_Feedback_Controller extends Piwik_Controller
 {	
 	function index()
 	{		
-		$view = new Piwik_View('Feedback/index.tpl');
+		$view = new Piwik_View('Feedback/templates/index.tpl');
 		echo $view->render();
 	}
 
@@ -29,7 +29,7 @@ class Piwik_Feedback_Controller extends Piwik_Controller
 		$body = Piwik_Common::getRequestVar('body', '', 'string');
 		$email = Piwik_Common::getRequestVar('email', '', 'string');
 
-		$view = new Piwik_View('Feedback/sent.tpl');
+		$view = new Piwik_View('Feedback/templates/sent.tpl');
 		try 
 		{
 			$minimumBodyLength = 10;
diff --git a/plugins/Feedback/index.tpl b/plugins/Feedback/templates/index.tpl
similarity index 100%
rename from plugins/Feedback/index.tpl
rename to plugins/Feedback/templates/index.tpl
diff --git a/plugins/Feedback/sent.tpl b/plugins/Feedback/templates/sent.tpl
similarity index 100%
rename from plugins/Feedback/sent.tpl
rename to plugins/Feedback/templates/sent.tpl
diff --git a/plugins/Goals/API.php b/plugins/Goals/API.php
index b3935612a5..ef1ee36216 100644
--- a/plugins/Goals/API.php
+++ b/plugins/Goals/API.php
@@ -151,7 +151,8 @@ class Piwik_Goals_API
 		$nbVisitsReturning = $request->process();
 //		echo $nbVisitsConvertedReturningVisitors;
 //		echo "<br>". $nbVisitsReturning;exit;
-		return $this->getPercentage($nbVisitsConvertedReturningVisitors, $nbVisitsReturning);
+
+		return Piwik::getPercentageSafe($nbVisitsConvertedReturningVisitors, $nbVisitsReturning, Piwik_Goals::ROUNDING_PRECISION);
 	}
 
 	public function getConversionRateNewVisitors( $idSite, $period, $date, $idGoal = false )
@@ -176,26 +177,29 @@ class Piwik_Goals_API
 		$request = new Piwik_API_Request("method=VisitsSummary.getVisits&idSite=$idSite&period=$period&date=$date&format=original");
 		$nbVisits = $request->process();
 		$newVisits = $nbVisits - $nbVisitsReturning;
-		return $this->getPercentage($convertedNewVisits, $newVisits);
-	}
-	
-	protected function getPercentage($a, $b)
-	{
-		if($b == 0)
-		{
-			return 0;
-		}
-		return round(100 * $a / $b, Piwik_Goals::ROUNDING_PRECISION);
+		return Piwik::getPercentageSafe($convertedNewVisits, $newVisits, Piwik_Goals::ROUNDING_PRECISION);
 	}
 	
-	public function get( $idSite, $period, $date, $idGoal = false )
+	public function get( $idSite, $period, $date, $idGoal = false, $columns = array() )
 	{
 		Piwik::checkUserHasViewAccess( $idSite );
 		$archive = Piwik_Archive::build($idSite, $period, $date );
-		$toFetch = array( 	Piwik_Goals::getRecordName('nb_conversions', $idGoal),
-							Piwik_Goals::getRecordName('conversion_rate', $idGoal), 
-							Piwik_Goals::getRecordName('revenue', $idGoal),
-						);
+		if(!empty($columns))
+		{
+			$toFetch = $columns;
+		}
+		else
+		{
+			$toFetch = array(
+						'nb_conversions',
+						'conversion_rate', 
+						'revenue',
+					);
+			foreach($toFetch as &$columnName)
+			{
+				$columnName = Piwik_Goals::getRecordName($columnName, $idGoal);
+			}
+		}
 		$dataTable = $archive->getDataTableFromNumeric($toFetch);
 		return $dataTable;
 	}
diff --git a/plugins/Goals/Controller.php b/plugins/Goals/Controller.php
index 869b66b540..2476dbd81f 100644
--- a/plugins/Goals/Controller.php
+++ b/plugins/Goals/Controller.php
@@ -4,16 +4,22 @@ require_once "Goals/API.php";
 class Piwik_Goals_Controller extends Piwik_Controller 
 {
 	const CONVERSION_RATE_PRECISION = 1;
+	
+	function __construct()
+	{
+		parent::__construct();
+		$this->idSite = Piwik_Common::getRequestVar('idSite');
+		$this->goals = Piwik_Goals_API::getGoals($this->idSite);
+	}
+	
 	function goalReport()
 	{
 		$idGoal = Piwik_Common::getRequestVar('idGoal', null, 'int');
-		$idSite = Piwik_Common::getRequestVar('idSite');
-		$goals = Piwik_Goals_API::getGoals($idSite);
-		if(!isset($goals[$idGoal]))
+		if(!isset($this->goals[$idGoal]))
 		{
 			throw new Exception("idgoal $idGoal not valid.");
 		}
-		$goalDefinition = $goals[$idGoal];
+		$goalDefinition = $this->goals[$idGoal];
 		
 		$view = new Piwik_View('Goals/templates/single_goal.tpl');
 		$view->currency = Piwik::getCurrency();
@@ -24,8 +30,8 @@ class Piwik_Goals_Controller extends Piwik_Controller
 		}
 		$view->name = $goalDefinition['name'];
 		$view->title = $goalDefinition['name'] . ' - Conversions';
-		$view->graphEvolution = $this->getLastNbConversionsGraph(true);
-		$view->nameGraphEvolution = 'GoalsgetLastNbConversionsGraph'; // must be the function name used above
+		$view->graphEvolution = $this->getEvolutionGraph(true, array(Piwik_Goals::getRecordName('nb_conversions', $idGoal)), $idGoal);
+		$view->nameGraphEvolution = 'GoalsgetEvolutionGraph';
 		$view->topSegments = $this->getTopSegments($idGoal);
 		
 		// conversion rate for new and returning visitors
@@ -80,18 +86,19 @@ class Piwik_Goals_Controller extends Piwik_Controller
 		return $topSegments;
 	}
 	
-	protected function getMetricsForGoal($goalId)
+	protected function getMetricsForGoal($idGoal)
 	{
-		$request = new Piwik_API_Request("method=Goals.get&format=original&idGoal=$goalId");
+		$request = new Piwik_API_Request("method=Goals.get&format=original&idGoal=$idGoal");
 		$datatable = $request->process();
+		$dataRow = $datatable->getFirstRow();
 		return array (
-				'id'				=> $goalId,
-				'nb_conversions' 	=> $datatable->getRowFromLabel(Piwik_Goals::getRecordName('nb_conversions', $goalId))->getColumn('value'),
-				'conversion_rate'	=> round($datatable->getRowFromLabel(Piwik_Goals::getRecordName('conversion_rate', $goalId))->getColumn('value'), 1),
-				'revenue'			=> $datatable->getRowFromLabel(Piwik_Goals::getRecordName('revenue', $goalId))->getColumn('value'),
-				'urlSparklineConversions' 		=> $this->getUrlSparkline('getLastNbConversionsGraph', $goalId) . "&idGoal=".$goalId,
-				'urlSparklineConversionRate' 	=> $this->getUrlSparkline('getLastConversionRateGraph', $goalId) . "&idGoal=".$goalId,
-				'urlSparklineRevenue' 			=> $this->getUrlSparkline('getLastRevenueGraph', $goalId) . "&idGoal=".$goalId,
+				'id'				=> $idGoal,
+				'nb_conversions' 	=> $dataRow->getColumn(Piwik_Goals::getRecordName('nb_conversions', $idGoal)),
+				'conversion_rate'	=> round($dataRow->getColumn(Piwik_Goals::getRecordName('conversion_rate', $idGoal)), 1),
+				'revenue'			=> $dataRow->getColumn(Piwik_Goals::getRecordName('revenue', $idGoal)),
+				'urlSparklineConversions' 		=> $this->getUrlSparkline('getEvolutionGraph', array('columns' => array(Piwik_Goals::getRecordName('nb_conversions', $idGoal)), 'idGoal' => $idGoal)),
+				'urlSparklineConversionRate' 	=> $this->getUrlSparkline('getEvolutionGraph', array('columns' => array(Piwik_Goals::getRecordName('conversion_rate', $idGoal)), 'idGoal' => $idGoal)),
+				'urlSparklineRevenue' 			=> $this->getUrlSparkline('getEvolutionGraph', array('columns' => array(Piwik_Goals::getRecordName('revenue', $idGoal)), 'idGoal' => $idGoal)),
 		);
 	}
 	
@@ -101,57 +108,98 @@ class Piwik_Goals_Controller extends Piwik_Controller
 		$view->currency = Piwik::getCurrency();
 		
 		$view->title = 'All goals - evolution';
-		$view->graphEvolution = $this->getLastNbConversionsGraph(true);
-		$view->nameGraphEvolution = 'GoalsgetLastNbConversionsGraph'; // must be the function name used above
+		$view->graphEvolution = $this->getEvolutionGraph(true, array(Piwik_Goals::getRecordName('nb_conversions')));
+		$view->nameGraphEvolution = 'GoalsgetEvolutionGraph'; 
 
 		// sparkline for the historical data of the above values
-		$view->urlSparklineConversions		= $this->getUrlSparkline('getLastNbConversionsGraph');
-		$view->urlSparklineConversionRate 	= $this->getUrlSparkline('getLastConversionRateGraph');
-		$view->urlSparklineRevenue 			= $this->getUrlSparkline('getLastRevenueGraph');
+		$view->urlSparklineConversions		= $this->getUrlSparkline('getEvolutionGraph', array('columns' => array(Piwik_Goals::getRecordName('nb_conversions'))));
+		$view->urlSparklineConversionRate 	= $this->getUrlSparkline('getEvolutionGraph', array('columns' => array(Piwik_Goals::getRecordName('conversion_rate'))));
+		$view->urlSparklineRevenue 			= $this->getUrlSparkline('getEvolutionGraph', array('columns' => array(Piwik_Goals::getRecordName('revenue'))));
 
 		$request = new Piwik_API_Request("method=Goals.get&format=original");
 		$datatable = $request->process();
-		$view->nb_conversions = $datatable->getRowFromLabel('Goal_nb_conversions')->getColumn('value');
-		$view->conversion_rate = $datatable->getRowFromLabel('Goal_conversion_rate')->getColumn('value');
-		$view->revenue = $datatable->getRowFromLabel('Goal_revenue')->getColumn('value');
+		$dataRow = $datatable->getFirstRow();
+		$view->nb_conversions = $dataRow->getColumn('Goal_nb_conversions');
+		$view->conversion_rate = $dataRow->getColumn('Goal_conversion_rate');
+		$view->revenue = $dataRow->getColumn('Goal_revenue');
 		
 		$goalMetrics = array();
-		
-		$idSite = Piwik_Common::getRequestVar('idSite');
-		$goals = Piwik_Goals_API::getGoals($idSite);
-		foreach($goals as $idGoal => $goal)
+		foreach($this->goals as $idGoal => $goal)
 		{
 			$goalMetrics[$idGoal] = $this->getMetricsForGoal($idGoal);
 			$goalMetrics[$idGoal]['name'] = $goal['name'];
 		}
 		
 		$view->goalMetrics = $goalMetrics;
-		$view->goals = $goals;
-		$view->goalsJSON = json_encode($goals);
-		$view->userCanEditGoals = Piwik::isUserHasAdminAccess($idSite);
+		$view->goals = $this->goals;
+		$view->goalsJSON = json_encode($this->goals);
+		$view->userCanEditGoals = Piwik::isUserHasAdminAccess($this->idSite);
 		echo $view->render();
 	}
 	
 	function addNewGoal()
 	{
 		$view = new Piwik_View('Goals/templates/add_new_goal.tpl');
-		$idSite = Piwik_Common::getRequestVar('idSite');
-		$view->userCanEditGoals = Piwik::isUserHasAdminAccess($idSite);
+		$view->userCanEditGoals = Piwik::isUserHasAdminAccess($this->idSite);
 		$view->currency = Piwik::getCurrency();
 		$view->onlyShowAddNewGoal = true;
 		echo $view->render();
 	}
 
+	protected $goalColumnNameToLabel = array(
+		'nb_conversions' => 'Goals_ColumnConversions',
+		'conversion_rate'=> 'Goals_ColumnConversionRate',
+		'revenue' => 'Goals_ColumnRevenue',
+	);
+	
+	public function getEvolutionGraph( $fetch = false, $columns = false, $idGoal = false)
+	{
+		if(empty($columns))
+		{
+			$columns = Piwik_Common::getRequestVar('columns');
+		}
+		if(empty($idGoal))
+		{
+			$idGoal = Piwik_Common::getRequestVar('idGoal', false);
+		}
+		$view = $this->getLastUnitGraph($this->pluginName, __FUNCTION__, 'Goals.get');
+		$view->setParametersToModify(array('idGoal' => $idGoal));
+		
+		foreach($columns as $columnName)
+		{
+			// find the right translation for this column, eg. find 'revenue' if column is Goal_1_revenue
+			foreach($this->goalColumnNameToLabel as $metric => $metricTranslation)
+			{
+				if(strpos($columnName, $metric) !== false)
+				{
+					$columnTranslation = Piwik_Translate($metricTranslation);
+					break;
+				}
+			}
+			
+			if(!empty($idGoal))
+			{
+				$goalName = $this->goals[$idGoal]['name'];
+				$columnTranslation = "$columnTranslation (goal \"$goalName\")";
+			}
+			$view->setColumnTranslation($columnName, $columnTranslation);
+		}
+		$view->setColumnsToDisplay($columns);
+		return $this->renderView($view, $fetch);
+	}
+	
 	function getLastNbConversionsGraph( $fetch = false )
 	{
 		$view = $this->getLastUnitGraph($this->pluginName, __FUNCTION__, 'Goals.getConversions');
 		return $this->renderView($view, $fetch);
 	}
+	
 	function getLastConversionRateGraph( $fetch = false )
 	{
 		$view = $this->getLastUnitGraph($this->pluginName, __FUNCTION__, 'Goals.getConversionRate');
 		return $this->renderView($view, $fetch); 
 	}
+
 	function getLastRevenueGraph( $fetch = false )
 	{
 		$view = $this->getLastUnitGraph($this->pluginName, __FUNCTION__, 'Goals.getRevenue');
diff --git a/plugins/Goals/Goals.php b/plugins/Goals/Goals.php
index 2fdd6206f7..d75c29dbc7 100644
--- a/plugins/Goals/Goals.php
+++ b/plugins/Goals/Goals.php
@@ -59,7 +59,6 @@ class Piwik_Goals extends Piwik_Plugin
 	
 	function addWidgets()
 	{
-//		Piwik_AddWidget( 'Referers', 'getKeywords', Piwik_Translate('Referers_WidgetKeywords'));
 	}
 	
 	function addMenus()
diff --git a/plugins/Goals/templates/overview.tpl b/plugins/Goals/templates/overview.tpl
index 7bf8f4c25f..f87b72b1bf 100644
--- a/plugins/Goals/templates/overview.tpl
+++ b/plugins/Goals/templates/overview.tpl
@@ -5,18 +5,15 @@
 {assign var=nb_conversions value=$goal.nb_conversions}
 {assign var=conversion_rate value=$goal.conversion_rate}
 <h2 style="padding-top: 30px;">{$goal.name} (goal)</h2>
-<table width=700px>
-	<tr><td>
-		<p>{sparkline src=$goal.urlSparklineConversions}<span>
-		{'%s conversions'|translate:"<strong>$nb_conversions</strong>"}</span></p>
-	</td><td>
-		<p>{sparkline src=$goal.urlSparklineConversionRate}<span>
-		{'%s conversion rate'|translate:"<strong>$conversion_rate%</strong>"}</span></p>
-	</td><td>
+<div id='leftcolumn'>
+	<div class="sparkline">{sparkline src=$goal.urlSparklineConversions}
+	{'%s conversions'|translate:"<strong>$nb_conversions</strong>"}</div>
+</div>
+<div id='rightcolumn'>
+	<div class="sparkline">{sparkline src=$goal.urlSparklineConversionRate}
+	{'%s conversion rate'|translate:"<strong>$conversion_rate%</strong>"}</div>
 	{* (<a href=''>more</a>) *}
-	</td></tr>
-</table>
-
+</div>
 {/foreach}
 
 {if $userCanEditGoals}
diff --git a/plugins/Goals/templates/release_notes.tpl b/plugins/Goals/templates/release_notes.tpl
index 2a55ccfee6..6b5a089789 100644
--- a/plugins/Goals/templates/release_notes.tpl
+++ b/plugins/Goals/templates/release_notes.tpl
@@ -1,4 +1,5 @@
-<hr>
+<div style="clear:both" />
+<br><br><hr>
 <b>About the Goal Tracking Plugin</b><br>
 <pre>
 The Goal Tracking Plugin is in alpha release. There is more coming soon!
@@ -13,6 +14,7 @@ The Goal Tracking Plugin is in alpha release. There is more coming soon!
 - documentation, eg. http://feedproxy.google.com/~r/WebAnalyticsWorld/~3/1g5Z7k7jDKQ/10-must-track-google-analytics-goals.html
 - internationalization of all strings i18n
 - provide documentation, screenshots, blog post + add screenshot and inline help in "Add a New Goal"
+- way to test a URL against the regex
 
 Known bugs
 - need to clarify that goals are triggered once per visit max, but can be triggered multiple times by one unique visitor > need option to force only once per uniq visitor? (ie. e-commerce transaction)
diff --git a/plugins/Goals/templates/title_and_evolution_graph.tpl b/plugins/Goals/templates/title_and_evolution_graph.tpl
index 0b1b8d2c7b..8a344df003 100644
--- a/plugins/Goals/templates/title_and_evolution_graph.tpl
+++ b/plugins/Goals/templates/title_and_evolution_graph.tpl
@@ -4,17 +4,15 @@
 <h2>{$title}</h2>
 {$graphEvolution}
 
-<table>
-	<tr><td>
-		<p>{sparkline src=$urlSparklineConversions}<span>
-		{'%s conversions'|translate:"<strong>$nb_conversions</strong>"}</span></p>
-		{if $revenue != 0 }
-			<p>{sparkline src=$urlSparklineRevenue}<span>
-			{'%s overall revenue'|translate:"<strong>$currency$revenue</strong>"}</span></p>
-		{/if}
-	</td><td valign="top">
-		<p>{sparkline src=$urlSparklineConversionRate}<span>
-		{'%s overall conversion rate (visits with a completed goal)'|translate:"<strong>$conversion_rate%</strong>"}</span></p>
-	</td></tr>
-</table>
-
+<div id='leftcolumn'>
+	<div class="sparkline">{sparkline src=$urlSparklineConversions}
+	{'%s conversions'|translate:"<strong>$nb_conversions</strong>"}</div>
+	{if $revenue != 0 }
+		<div class="sparkline">{sparkline src=$urlSparklineRevenue}
+		{'%s overall revenue'|translate:"<strong>$currency$revenue</strong>"}</div>
+	{/if}
+</div>
+<div id='rightcolumn'>
+	<div class="sparkline">{sparkline src=$urlSparklineConversionRate}
+	{'%s overall conversion rate (visits with a completed goal)'|translate:"<strong>$conversion_rate%</strong>"}</div>
+</div>
diff --git a/plugins/Live/API.php b/plugins/Live/API.php
index 9757cf3db2..a2638c59d7 100644
--- a/plugins/Live/API.php
+++ b/plugins/Live/API.php
@@ -74,7 +74,8 @@ class Piwik_Live_API
 			$visitor = new Piwik_Live_Visitor($visitorDetail);
 			$visitorDetailsArray = $visitor->getAllVisitorDetails();
 			$dateTimeVisit = Piwik_Date::factory($visitorDetailsArray['firstActionTimestamp']);
-			$visitorDetailsArray['serverDatePretty'] = $dateTimeVisit->getLocalized('%a %d %b');
+			//TODO TO FIX
+			$visitorDetailsArray['serverDatePretty'] = $dateTimeVisit->getLocalized('%longDay% %d %b');
 			$visitorDetailsArray['serverTimePretty'] = $dateTimeVisit->getLocalized('%X');
 			$table->addRowFromArray( array(Piwik_DataTable_Row::COLUMNS => $visitorDetailsArray));
 		}
diff --git a/plugins/Live/Live.php b/plugins/Live/Live.php
index a8078b4c45..ce280aed64 100644
--- a/plugins/Live/Live.php
+++ b/plugins/Live/Live.php
@@ -28,4 +28,4 @@ class Piwik_Live extends Piwik_Plugin
 	}
 }
 
-Piwik_AddWidget('Live', 'widget', 'Live Visitors!');
\ No newline at end of file
+Piwik_AddWidget('Live!', 'Live Visitors!', 'Live', 'widget');
\ No newline at end of file
diff --git a/plugins/Provider/Provider.php b/plugins/Provider/Provider.php
index 0dcdf42426..963f01685d 100644
--- a/plugins/Provider/Provider.php
+++ b/plugins/Provider/Provider.php
@@ -62,7 +62,7 @@ class Piwik_Provider extends Piwik_Plugin
 	
 	function addWidget()
 	{
-		Piwik_AddWidget( 'Provider', 'getProvider', Piwik_Translate('Provider_WidgetProviders'));
+		Piwik_AddWidget('General_Visitors', 'Provider_WidgetProviders', 'Provider', 'getProvider');
 	}
 	
 	function addMenu()
diff --git a/plugins/Referers/API.php b/plugins/Referers/API.php
index 47a214d190..9d8534cd69 100644
--- a/plugins/Referers/API.php
+++ b/plugins/Referers/API.php
@@ -140,7 +140,7 @@ class Piwik_Referers_API
 	{
 		Piwik::checkUserHasViewAccess( $idSite );
 		$archive = Piwik_Archive::build($idSite, $period, $date );
-		return $archive->getDataTableFromNumeric($name);
+		return $archive->getNumeric($name);
 	}
 }
 
diff --git a/plugins/Referers/Controller.php b/plugins/Referers/Controller.php
index 32f7657ac4..1ae05933c9 100644
--- a/plugins/Referers/Controller.php
+++ b/plugins/Referers/Controller.php
@@ -5,8 +5,8 @@ class Piwik_Referers_Controller extends Piwik_Controller
 	{
 		$view = new Piwik_View('Referers/templates/index.tpl');
 		
-		$view->graphEvolutionReferers = $this->getLastDirectEntryGraph(true);
-		$view->nameGraphEvolutionReferers = 'ReferersgetLastDirectEntryGraph'; // must be the function name used above
+		$view->graphEvolutionReferers = $this->getEvolutionGraph(true, Piwik_Common::REFERER_TYPE_DIRECT_ENTRY, array('nb_visits'));
+		$view->nameGraphEvolutionReferers = 'ReferersgetEvolutionGraph'; // must be the function name used above TODO why?
 		
 		$view->numberDistinctSearchEngines 	= $this->getNumberOfDistinctSearchEngines(true);
 		$view->numberDistinctKeywords 		= $this->getNumberOfDistinctKeywords(true);
@@ -23,10 +23,10 @@ class Piwik_Referers_Controller extends Piwik_Controller
 			$view->$name = $value;
 		}
 		// sparkline for the historical data of the above values
-		$view->urlSparklineSearchEngines	= $this->getUrlSparkline('getLastSearchEnginesGraph');
-		$view->urlSparklineDirectEntry 		= $this->getUrlSparkline('getLastDirectEntryGraph');
-		$view->urlSparklineWebsites 		= $this->getUrlSparkline('getLastWebsitesGraph');
-		$view->urlSparklineCampaigns 		= $this->getUrlSparkline('getLastCampaignsGraph');
+		$view->urlSparklineSearchEngines	= $this->getUrlSparkline('getEvolutionGraph', array('columns' => array('nb_visits'), 'typeReferer' => Piwik_Common::REFERER_TYPE_SEARCH_ENGINE));
+		$view->urlSparklineDirectEntry 		= $this->getUrlSparkline('getEvolutionGraph', array('columns' => array('nb_visits'), 'typeReferer' => Piwik_Common::REFERER_TYPE_DIRECT_ENTRY));
+		$view->urlSparklineWebsites 		= $this->getUrlSparkline('getEvolutionGraph', array('columns' => array('nb_visits'), 'typeReferer' => Piwik_Common::REFERER_TYPE_WEBSITE));
+		$view->urlSparklineCampaigns 		= $this->getUrlSparkline('getEvolutionGraph', array('columns' => array('nb_visits'), 'typeReferer' => Piwik_Common::REFERER_TYPE_CAMPAIGN));
 		
 		// sparklines for the evolution of the distinct keywords count/websites count/ etc
 		$view->urlSparklineDistinctSearchEngines 	= $this->getUrlSparkline('getLastDistinctSearchEnginesGraph');
@@ -179,9 +179,10 @@ class Piwik_Referers_Controller extends Piwik_Controller
 	}
 	
 	
+	// TODO FIXME WITH NEW API
+	// example of how to show evolution of a given column over multiple days
 	public function getSearchEnginesEvolution($fetch = false)
 	{
-		// TODO example of how to show evolution of a given column over multiple days
 		$view = Piwik_ViewDataTable::factory('graphEvolution');
 		$view->init( $this->pluginName, __FUNCTION__, 'Referers.getSearchEngines' );
 		
@@ -221,50 +222,73 @@ class Piwik_Referers_Controller extends Piwik_Controller
 		}
 		return $return;
 	}
-	function getLastSearchEnginesGraph( $fetch = false )
-	{
-		$view = $this->getLastUnitGraph($this->pluginName,__FUNCTION__, 'Referers.getRefererType');
-		$view->setSearchPattern(Piwik_Common::REFERER_TYPE_SEARCH_ENGINE, 'label');
-		return $this->renderView($view, $fetch);
-	}
-	function getLastDirectEntryGraph( $fetch = false )
-	{
-		$view = $this->getLastUnitGraph($this->pluginName,__FUNCTION__, 'Referers.getRefererType');
-		$view->setSearchPattern(Piwik_Common::REFERER_TYPE_DIRECT_ENTRY, 'label');
-		return $this->renderView($view, $fetch);
-	}
-	function getLastWebsitesGraph( $fetch = false )
-	{
-		$view = $this->getLastUnitGraph($this->pluginName,__FUNCTION__, 'Referers.getRefererType');
-		$view->setSearchPattern(Piwik_Common::REFERER_TYPE_WEBSITE, 'label');
-		return $this->renderView($view, $fetch);
-	}
-	function getLastCampaignsGraph( $fetch = false )
+
+	protected $refererTypeToLabel = array(
+		Piwik_Common::REFERER_TYPE_DIRECT_ENTRY => 'Referers_DirectEntry',
+		Piwik_Common::REFERER_TYPE_SEARCH_ENGINE => 'Referers_SearchEngines',
+		Piwik_Common::REFERER_TYPE_WEBSITE => 'Referers_Websites',
+		Piwik_Common::REFERER_TYPE_CAMPAIGN => 'Referers_Campaigns',
+	);
+	
+	public function getEvolutionGraph( $fetch = false, $typeReferer = false, $columns = false)
 	{
-		$view = $this->getLastUnitGraph($this->pluginName,__FUNCTION__, 'Referers.getRefererType');
-		$view->setSearchPattern(Piwik_Common::REFERER_TYPE_CAMPAIGN, 'label');
+		$view = $this->getLastUnitGraph($this->pluginName, __FUNCTION__, 'Referers.getRefererType');
+		if(empty($columns))
+		{
+			$columns = Piwik_Common::getRequestVar('columns');
+		}
+		if(empty($typeReferer))
+		{
+			$typeReferer = Piwik_Common::getRequestVar('typeReferer');
+		}
+		$view->setColumnsToDisplay($columns);
+		$view->setSearchPattern($typeReferer, 'label');
+		$view->setParametersToModify(array('typeReferer' => $typeReferer));
+		foreach($columns as $columnName)
+		{
+			$columnTranslation = $this->standardColumnNameToTranslation[$columnName];
+			$refererTypeTranslation = $this->refererTypeToLabel[$typeReferer];
+			$view->setColumnTranslation(
+				$columnName, 
+				Piwik_Translate('Referers_MetricsFromRefererTypeGraphLegend', 
+					array(	Piwik_Translate($columnTranslation), 
+							Piwik_Translate($refererTypeTranslation)
+						)
+					)
+				);
+		}
 		return $this->renderView($view, $fetch);
 	}
+	
 	function getLastDistinctSearchEnginesGraph( $fetch = false )
 	{
 		$view = $this->getLastUnitGraph($this->pluginName,__FUNCTION__, "Referers.getNumberOfDistinctSearchEngines");
+		$view->setColumnTranslation('Referers_distinctSearchEngines', ucfirst(Piwik_Translate('Referers_DistinctSearchEngines')));
+		$view->setColumnsToDisplay(array('Referers_distinctSearchEngines'));
 		return $this->renderView($view, $fetch);
 	}
 	function getLastDistinctKeywordsGraph( $fetch = false )
 	{
 		$view = $this->getLastUnitGraph($this->pluginName,__FUNCTION__, "Referers.getNumberOfDistinctKeywords");
+		$view->setColumnTranslation('Referers_distinctKeywords', ucfirst(Piwik_Translate('Referers_DistinctKeywords')));
+		$view->setColumnsToDisplay(array('Referers_distinctKeywords'));
 		return $this->renderView($view, $fetch);
 	}
 	function getLastDistinctWebsitesGraph( $fetch = false )
 	{
 		$view = $this->getLastUnitGraph($this->pluginName,__FUNCTION__, "Referers.getNumberOfDistinctWebsites");
+		$view->setColumnTranslation('Referers_distinctWebsites', ucfirst(Piwik_Translate('Referers_DistinctWebsites')));
+		$view->setColumnsToDisplay(array('Referers_distinctWebsites'));
 		return $this->renderView($view, $fetch);
 	}
 	function getLastDistinctCampaignsGraph( $fetch = false )
 	{
 		$view = $this->getLastUnitGraph($this->pluginName,__FUNCTION__, "Referers.getNumberOfDistinctCampaigns");
+		$view->setColumnTranslation('Referers_distinctCampaigns', ucfirst(Piwik_Translate('Referers_DistinctCampaigns')));
+		$view->setColumnsToDisplay(array('Referers_distinctCampaigns'));
 		return $this->renderView($view, $fetch);
 	}
+
 	function getNumberOfDistinctSearchEngines( $fetch = false)
 	{
 		return $this->getNumericValue('Referers.' . __FUNCTION__);
diff --git a/plugins/Referers/Referers.php b/plugins/Referers/Referers.php
index 4041955db2..8bf6446d0f 100644
--- a/plugins/Referers/Referers.php
+++ b/plugins/Referers/Referers.php
@@ -51,11 +51,11 @@ class Piwik_Referers extends Piwik_Plugin
 	
 	function addWidgets()
 	{
-		Piwik_AddWidget( 'Referers', 'getKeywords', Piwik_Translate('Referers_WidgetKeywords'));
-		Piwik_AddWidget( 'Referers', 'getCampaigns', Piwik_Translate('Referers_WidgetCampaigns'));
-		Piwik_AddWidget( 'Referers', 'getWebsites', Piwik_Translate('Referers_WidgetExternalWebsites'));
-		Piwik_AddWidget( 'Referers', 'getSearchEngines', Piwik_Translate('Referers_WidgetSearchEngines'));
-		Piwik_AddWidget( 'Referers', 'getRefererType', Piwik_Translate('Referers_WidgetOverview'));
+		Piwik_AddWidget( 'Referers', 'Referers_WidgetKeywords', 'Referers', 'getKeywords');
+		Piwik_AddWidget( 'Referers', 'Referers_WidgetCampaigns', 'Referers', 'getCampaigns');
+		Piwik_AddWidget( 'Referers', 'Referers_WidgetExternalWebsites', 'Referers', 'getWebsites');
+		Piwik_AddWidget( 'Referers', 'Referers_WidgetSearchEngines', 'Referers', 'getSearchEngines');
+		Piwik_AddWidget( 'Referers', 'Referers_WidgetOverview', 'Referers', 'getRefererType');
 	}
 	
 	function addMenus()
diff --git a/plugins/Referers/templates/index.tpl b/plugins/Referers/templates/index.tpl
index 6715b2a774..bb00ae94e6 100644
--- a/plugins/Referers/templates/index.tpl
+++ b/plugins/Referers/templates/index.tpl
@@ -8,16 +8,16 @@
 <div id='leftcolumn'>
 	<h2>{'Referers_Type'|translate}</h2>
 	<div id='leftcolumn'>
-			<p>{sparkline src=$urlSparklineDirectEntry}<span>
-			{'Referers_TypeDirectEntries'|translate:"<strong>$visitorsFromDirectEntry</strong>"}</span></p>
-			<p>{sparkline src=$urlSparklineSearchEngines}<span>
-			{'Referers_TypeSearchEngines'|translate:"<strong>$visitorsFromSearchEngines</strong>"}</span></p>
+			<div class="sparkline">{sparkline src=$urlSparklineDirectEntry}
+			{'Referers_TypeDirectEntries'|translate:"<strong>$visitorsFromDirectEntry</strong>"}</div>
+			<div class="sparkline">{sparkline src=$urlSparklineSearchEngines}
+			{'Referers_TypeSearchEngines'|translate:"<strong>$visitorsFromSearchEngines</strong>"}</div>
 	</div>
 	<div id='rightcolumn'>
-			<p>{sparkline src=$urlSparklineWebsites}<span>
-			{'Referers_TypeWebsites'|translate:"<strong>$visitorsFromWebsites</strong>"}</span></p>
-			<p>{sparkline src=$urlSparklineCampaigns}<span>
-			{'Referers_TypeCampaigns'|translate:"<strong>$visitorsFromCampaigns</strong>"}</span></p>
+			<div class="sparkline">{sparkline src=$urlSparklineWebsites}
+			{'Referers_TypeWebsites'|translate:"<strong>$visitorsFromWebsites</strong>"}</div>
+			<div class="sparkline">{sparkline src=$urlSparklineCampaigns}
+			{'Referers_TypeCampaigns'|translate:"<strong>$visitorsFromCampaigns</strong>"}</div>
 	</div>
 </div>
 
@@ -27,17 +27,17 @@
 </div>
 
 <div style="clear:both" />
-<h2>{'Referers_Other'|translate}</h2>
-<table>
-	<tr><td>
-		<p>{sparkline src=$urlSparklineDistinctSearchEngines}<span>
-		{'Referers_OtherDistinctSearchEngines'|translate:"<strong>$numberDistinctSearchEngines</strong>"}</span></p>
-		<p>{sparkline src=$urlSparklineDistinctKeywords}<span>
-		{'Referers_OtherDistinctKeywords'|translate:"<strong>$numberDistinctKeywords</strong>"}</span></p>
-	</td><td>
-		<p>{sparkline src=$urlSparklineDistinctWebsites}<span>
-		{'Referers_OtherDistinctWebsites'|translate:"<strong>$numberDistinctWebsites</strong>":"<strong>$numberDistinctWebsitesUrls</strong>"}</span></p>
-		<p>{sparkline src=$urlSparklineDistinctCampaigns}<span> 
-		{'Referers_OtherDistinctCampaigns'|translate:"<strong>$numberDistinctCampaigns</strong>"}</span></p>
-		</td></tr>
+<h2>{'Referers_Distinct'|translate}</h2>
+<table cellpadding="15">
+<tr><td style="padding-right:50px">
+	<div class="sparkline">{sparkline src=$urlSparklineDistinctSearchEngines}
+	<strong>{$numberDistinctSearchEngines}</strong> {'Referers_DistinctSearchEngines'|translate}</div>
+	<div class="sparkline">{sparkline src=$urlSparklineDistinctKeywords}
+	<strong>{$numberDistinctKeywords}</strong> {'Referers_DistinctKeywords'|translate}</div>
+</td>
+	<div class="sparkline">{sparkline src=$urlSparklineDistinctWebsites}
+	<strong>{$numberDistinctWebsites}</strong> {'Referers_DistinctWebsites'|translate} {'Referers_UsingNDistinctUrls'|translate:"<strong>$numberDistinctWebsitesUrls</strong>"}</div>
+	<div class="sparkline">{sparkline src=$urlSparklineDistinctCampaigns} 
+	<strong>{$numberDistinctCampaigns}</strong> {'Referers_DistinctCampaigns'|translate}</div>
+</td></tr>
 </table>
diff --git a/plugins/SitesManager/templates/SitesManager.js b/plugins/SitesManager/templates/SitesManager.js
index 8ebfedd3b3..48bcab165d 100644
--- a/plugins/SitesManager/templates/SitesManager.js
+++ b/plugins/SitesManager/templates/SitesManager.js
@@ -92,7 +92,7 @@ $(document).ready( function() {
 			var idRow = $(this).attr('id');
 			var nameToDelete = $(this).parent().parent().find('#siteName').html();
 			var idsiteToDelete = $(this).parent().parent().find('#idSite').html();
-			if(confirm(sprintf(_pk_translate('SitesManager_DeleteConfirm'),'"'+nameToDelete+'" (idSite = '+idsiteToDelete+')')) )
+			if(confirm(sprintf(_pk_translate('SitesManager_DeleteConfirm_js'),'"'+nameToDelete+'" (idSite = '+idsiteToDelete+')')) )
 			{
 				$.ajax( getDeleteSiteAJAX( idsiteToDelete ) );
 			}
diff --git a/plugins/UserCountry/API.php b/plugins/UserCountry/API.php
index 976f649344..ac9f758fb0 100644
--- a/plugins/UserCountry/API.php
+++ b/plugins/UserCountry/API.php
@@ -62,7 +62,7 @@ class Piwik_UserCountry_API
 	{
 		Piwik::checkUserHasViewAccess( $idSite );
 		$archive = Piwik_Archive::build($idSite, $period, $date );
-		return $archive->getDataTableFromNumeric('UserCountry_distinctCountries');
+		return $archive->getNumeric('UserCountry_distinctCountries');
 	}
 	
 	
diff --git a/plugins/UserCountry/Controller.php b/plugins/UserCountry/Controller.php
index ecf5c0548f..a7fadc8b17 100644
--- a/plugins/UserCountry/Controller.php
+++ b/plugins/UserCountry/Controller.php
@@ -5,7 +5,7 @@ class Piwik_UserCountry_Controller extends Piwik_Controller
 {
 	function index()
 	{
-		$view = new Piwik_View('UserCountry/index.tpl');
+		$view = new Piwik_View('UserCountry/templates/index.tpl');
 		
 		$view->urlSparklineCountries = $this->getUrlSparkline('getLastDistinctCountriesGraph');
 		$view->numberDistinctCountries = $this->getNumberOfDistinctCountries(true);
diff --git a/plugins/UserCountry/UserCountry.php b/plugins/UserCountry/UserCountry.php
index 7f39f2a147..04b41463bd 100644
--- a/plugins/UserCountry/UserCountry.php
+++ b/plugins/UserCountry/UserCountry.php
@@ -40,8 +40,8 @@ class Piwik_UserCountry extends Piwik_Plugin
 	
 	function addWidgets()
 	{
-		Piwik_AddWidget( 'UserCountry', 'getContinent', Piwik_Translate('UserCountry_WidgetContinents'));
-		Piwik_AddWidget( 'UserCountry', 'getCountry', Piwik_Translate('UserCountry_WidgetCountries'));
+		Piwik_AddWidget( 'General_Visitors', 'UserCountry_WidgetContinents', 'UserCountry', 'getContinent');
+		Piwik_AddWidget( 'General_Visitors', 'UserCountry_WidgetCountries', 'UserCountry', 'getCountry');
 	}
 	
 	function addMenu()
diff --git a/plugins/UserCountry/index.tpl b/plugins/UserCountry/templates/index.tpl
similarity index 100%
rename from plugins/UserCountry/index.tpl
rename to plugins/UserCountry/templates/index.tpl
diff --git a/plugins/UserSettings/Controller.php b/plugins/UserSettings/Controller.php
index 055a4c2f5b..f8306b39d0 100644
--- a/plugins/UserSettings/Controller.php
+++ b/plugins/UserSettings/Controller.php
@@ -4,7 +4,7 @@ class Piwik_UserSettings_Controller extends Piwik_Controller
 {
 	function index()
 	{
-		$view = new Piwik_View('UserSettings/index.tpl');
+		$view = new Piwik_View('UserSettings/templates/index.tpl');
 		
 		$view->dataTablePlugin = $this->getPlugin( true );
 		$view->dataTableResolution = $this->getResolution( true );
diff --git a/plugins/UserSettings/UserSettings.php b/plugins/UserSettings/UserSettings.php
index 0ead724fcf..5ab97e0bb8 100644
--- a/plugins/UserSettings/UserSettings.php
+++ b/plugins/UserSettings/UserSettings.php
@@ -38,7 +38,7 @@ class Piwik_UserSettings extends Piwik_Plugin
 	static public $browserType_display = array(
 		'ie' => 'Internet Explorer',
 		'gecko' => 'Gecko (Mozilla, Netscape)',
-		'khtml' => 'Khtml (Konqueror, Safari)',
+		'khtml' => 'KHTML (Safari, Chrome)',
 		'opera' => 'Opera',
 	);
 
@@ -55,13 +55,13 @@ class Piwik_UserSettings extends Piwik_Plugin
 	
 	function addWidgets()
 	{
-		Piwik_AddWidget( 'UserSettings', 'getResolution', Piwik_Translate('UserSettings_WidgetResolutions'));
-		Piwik_AddWidget( 'UserSettings', 'getBrowser', Piwik_Translate('UserSettings_WidgetBrowsers'));
-		Piwik_AddWidget( 'UserSettings', 'getPlugin', Piwik_Translate('UserSettings_WidgetPlugins'));
-		Piwik_AddWidget( 'UserSettings', 'getWideScreen', Piwik_Translate('UserSettings_WidgetWidescreen'));
-		Piwik_AddWidget( 'UserSettings', 'getBrowserType', Piwik_Translate('UserSettings_WidgetBrowserFamilies'));
-		Piwik_AddWidget( 'UserSettings', 'getOS', Piwik_Translate('UserSettings_WidgetOperatingSystems'));
-		Piwik_AddWidget( 'UserSettings', 'getConfiguration', Piwik_Translate('UserSettings_WidgetGlobalVisitors'));
+		Piwik_AddWidget( 'UserSettings_VisitorSettings', 'UserSettings_WidgetResolutions', 'UserSettings', 'getResolution');
+		Piwik_AddWidget( 'UserSettings_VisitorSettings', 'UserSettings_WidgetBrowsers', 'UserSettings', 'getBrowser');
+		Piwik_AddWidget( 'UserSettings_VisitorSettings', 'UserSettings_WidgetPlugins', 'UserSettings', 'getPlugin');
+		Piwik_AddWidget( 'UserSettings_VisitorSettings', 'UserSettings_WidgetWidescreen', 'UserSettings', 'getWideScreen');
+		Piwik_AddWidget( 'UserSettings_VisitorSettings', 'UserSettings_WidgetBrowserFamilies', 'UserSettings', 'getBrowserType');
+		Piwik_AddWidget( 'UserSettings_VisitorSettings', 'UserSettings_WidgetOperatingSystems', 'UserSettings', 'getOS');
+		Piwik_AddWidget( 'UserSettings_VisitorSettings', 'UserSettings_WidgetGlobalVisitors', 'UserSettings', 'getConfiguration');
 	}
 	
 	function addMenu()
diff --git a/plugins/UserSettings/index.tpl b/plugins/UserSettings/templates/index.tpl
similarity index 100%
rename from plugins/UserSettings/index.tpl
rename to plugins/UserSettings/templates/index.tpl
diff --git a/plugins/UsersManager/templates/UsersManager.js b/plugins/UsersManager/templates/UsersManager.js
index 2b1e446270..5dc9fa9ca2 100644
--- a/plugins/UsersManager/templates/UsersManager.js
+++ b/plugins/UsersManager/templates/UsersManager.js
@@ -200,7 +200,7 @@ $(document).ready( function() {
 			ajaxHideError();
 			var idRow = $(this).attr('id');
 			var loginToDelete = $(this).parent().parent().find('#userLogin').html();
-			if( confirm(sprintf(_pk_translate('UsersManager_DeleteConfirm'),'"'+loginToDelete+'"')) )
+			if( confirm(sprintf(_pk_translate('UsersManager_DeleteConfirm_js'),'"'+loginToDelete+'"')) )
 			{
 				$.ajax( getDeleteUserAJAX( loginToDelete ) );
 			}
diff --git a/plugins/VisitFrequency/API.php b/plugins/VisitFrequency/API.php
index 70e6010a02..ab9ed031b2 100644
--- a/plugins/VisitFrequency/API.php
+++ b/plugins/VisitFrequency/API.php
@@ -26,19 +26,36 @@ class Piwik_VisitFrequency_API
 		return self::$instance;
 	}
 	
-	public function getSummary( $idSite, $period, $date )
+	public function get( $idSite, $period, $date, $columns = array() )
 	{
 		Piwik::checkUserHasViewAccess( $idSite );
 		$archive = Piwik_Archive::build($idSite, $period, $date );
-		$toFetch = array( 	'nb_uniq_visitors_returning',
-							'nb_visits_returning',
-							'nb_actions_returning',
-							'max_actions_returning',
-							'sum_visit_length_returning',
-							'bounce_count_returning',
-							'nb_visits_converted_returning',
-				);
+		$bounceRateReturningRequested = false;
+		if(!empty($columns))
+		{
+			$toFetch = $columns;
+			if(($bounceRateReturningRequested = array_search('bounce_rate_returning', $toFetch)) !== false)
+			{
+				$toFetch = array('nb_visits_returning', 'bounce_count_returning');
+			}
+		}
+		else
+		{ 
+			$toFetch = array( 	'nb_uniq_visitors_returning',
+								'nb_visits_returning',
+								'nb_actions_returning',
+								'max_actions_returning',
+								'sum_visit_length_returning',
+								'bounce_count_returning',
+								'nb_visits_converted_returning',
+					);
+		}
 		$dataTable = $archive->getDataTableFromNumeric($toFetch);
+		if($bounceRateReturningRequested !== false)
+		{
+			$dataTable->filter('ColumnCallbackAddColumnPercentage', array('bounce_count_returning', 'bounce_rate_returning', 'nb_visits_returning', 0));
+			$dataTable->deleteColumns($toFetch);
+		}
 		return $dataTable;
 	}
 
diff --git a/plugins/VisitFrequency/Controller.php b/plugins/VisitFrequency/Controller.php
index 366ed17ab4..e792b0a104 100644
--- a/plugins/VisitFrequency/Controller.php
+++ b/plugins/VisitFrequency/Controller.php
@@ -5,70 +5,61 @@ class Piwik_VisitFrequency_Controller extends Piwik_Controller
 {
 	function index()
 	{
-		$view = new Piwik_View('VisitFrequency/index.tpl');
-		$view->graphEvolutionVisitFrequency = $this->getLastVisitsReturningGraph( true );
+		$view = new Piwik_View('VisitFrequency/templates/index.tpl');
+		$view->graphEvolutionVisitFrequency = $this->getEvolutionGraph(true, array('nb_visits_returning') );
 		$this->setSparklinesAndNumbers($view);
 		echo $view->render();
 	}
 	
-	protected function setSparklinesAndNumbers($view)
+	public function getSparklines()
 	{
-		
-		$view->urlSparklineNbVisitsReturning 		= $this->getUrlSparkline( 'getLastVisitsReturningGraph');
-		$view->urlSparklineNbActionsReturning 		= $this->getUrlSparkline( 'getLastActionsReturningGraph');
-		$view->urlSparklineSumVisitLengthReturning 	= $this->getUrlSparkline( 'getLastSumVisitsLengthReturningGraph');
-		$view->urlSparklineMaxActionsReturning 		= $this->getUrlSparkline( 'getLastMaxActionsReturningGraph');
-		$view->urlSparklineBounceCountReturning 	= $this->getUrlSparkline( 'getLastBounceCountReturningGraph');
-		
-		$dataTableFrequency = $this->getSummary();
-		$view->nbVisitsReturning = $dataTableFrequency->getColumn('nb_visits_returning');
-		$view->nbActionsReturning = $dataTableFrequency->getColumn('nb_actions_returning');
-		$view->maxActionsReturning = $dataTableFrequency->getColumn('max_actions_returning');
-		$view->sumVisitLengthReturning = $dataTableFrequency->getColumn('sum_visit_length_returning');
-		$view->bounceCountReturning = $dataTableFrequency->getColumn('bounce_count_returning');
-	}
-
-	function getSparklines()
-	{
-		$view = new Piwik_View('VisitFrequency/sparklines.tpl');
+		$view = new Piwik_View('VisitFrequency/templates/sparklines.tpl');
 		$this->setSparklinesAndNumbers($view);		
 		echo $view->render();
 	}
-
-	protected function getSummary()
-	{		
-		$requestString = "method=VisitFrequency.getSummary&format=original";
-		$request = new Piwik_API_Request($requestString);
-		return $request->process();
-	}
-	
-	function getLastVisitsReturningGraph( $fetch = false )
-	{
-		$view = $this->getLastUnitGraph($this->pluginName, __FUNCTION__, "VisitFrequency.getVisitsReturning");
-		return $this->renderView($view, $fetch);
-	}
-		
-	function getLastActionsReturningGraph( $fetch = false )
-	{
-		$view = $this->getLastUnitGraph($this->pluginName, __FUNCTION__, "VisitFrequency.getActionsReturning");
-		return $this->renderView($view, $fetch);
-	}
 	
-	function getLastSumVisitsLengthReturningGraph( $fetch = false )
+	public function getEvolutionGraph( $fetch = false, $columns = false)
 	{
-		$view = $this->getLastUnitGraph($this->pluginName, __FUNCTION__, "VisitFrequency.getSumVisitsLengthReturning");
+		$view = $this->getLastUnitGraph($this->pluginName, __FUNCTION__, "VisitFrequency.get");
+		if(empty($columns))
+		{
+			$columns = Piwik_Common::getRequestVar('columns');
+		}
+		$view->setColumnsToDisplay($columns);
+		$view->setColumnsTranslations(array(	
+			'nb_visits_returning' => Piwik_Translate('VisitFrequency_ColumnReturningVisits'),
+			'nb_actions_returning' => Piwik_Translate('VisitFrequency_ColumnActionsByReturningVisits'), 
+			'max_actions_returning' => Piwik_Translate('VisitFrequency_ColumnMaximumActionsByAReturningVisit'),
+			'sum_visit_length_returning' => Piwik_Translate('VisitFrequency_ColumnTotalTimeSpentByReturningVisits'),
+			'bounce_rate_returning' => Piwik_Translate('VisitFrequency_ColumnBounceRateForReturningVisits'),
+		));
 		return $this->renderView($view, $fetch);
 	}
 	
-	function getLastMaxActionsReturningGraph( $fetch = false )
+	protected function setSparklinesAndNumbers($view)
 	{
-		$view = $this->getLastUnitGraph($this->pluginName, __FUNCTION__, "VisitFrequency.getMaxActionsReturning");
-		return $this->renderView($view, $fetch);
+		$view->urlSparklineNbVisitsReturning 		= $this->getUrlSparkline( 'getEvolutionGraph', array('columns' => array('nb_visits_returning')));
+		$view->urlSparklineNbActionsReturning 		= $this->getUrlSparkline( 'getEvolutionGraph', array('columns' => array('nb_actions_returning')));
+		$view->urlSparklineMaxActionsReturning 		= $this->getUrlSparkline( 'getEvolutionGraph', array('columns' => array('max_actions_returning')));
+		$view->urlSparklineSumVisitLengthReturning 	= $this->getUrlSparkline( 'getEvolutionGraph', array('columns' => array('sum_visit_length_returning')));
+		$view->urlSparklineBounceRateReturning 	= $this->getUrlSparkline( 'getEvolutionGraph', array('columns' => array('bounce_rate_returning')));
+		
+		$dataTableFrequency = $this->getSummary();
+		$dataRow = $dataTableFrequency->getFirstRow();
+		$nbVisitsReturning = $dataRow->getColumn('nb_visits_returning');
+		$view->nbVisitsReturning = $nbVisitsReturning;
+		$view->nbActionsReturning = $dataRow->getColumn('nb_actions_returning');
+		$view->maxActionsReturning = $dataRow->getColumn('max_actions_returning');
+		$view->sumVisitLengthReturning = $dataRow->getColumn('sum_visit_length_returning');
+		$nbBouncedReturningVisits = $dataRow->getColumn('bounce_count_returning');
+		$view->bounceRateReturning = Piwik::getPercentageSafe($nbBouncedReturningVisits, $nbVisitsReturning);
+		
 	}
-	
-	function getLastBounceCountReturningGraph( $fetch = false )
-	{
-		$view = $this->getLastUnitGraph($this->pluginName, __FUNCTION__, "VisitFrequency.getBounceCountReturning");
-		return $this->renderView($view, $fetch);
+
+	protected function getSummary()
+	{		
+		$requestString = "method=VisitFrequency.get&format=original";
+		$request = new Piwik_API_Request($requestString);
+		return $request->process();
 	}
 }
diff --git a/plugins/VisitFrequency/VisitFrequency.php b/plugins/VisitFrequency/VisitFrequency.php
index 226960bc4a..fbab275603 100644
--- a/plugins/VisitFrequency/VisitFrequency.php
+++ b/plugins/VisitFrequency/VisitFrequency.php
@@ -40,8 +40,8 @@ class Piwik_VisitFrequency extends Piwik_Plugin
 	
 	function addWidgets()
 	{
-		Piwik_AddWidget( 'VisitFrequency', 'getSparklines', Piwik_Translate('VisitFrequency_WidgetOverview'));
-		Piwik_AddWidget( 'VisitFrequency', 'getLastVisitsReturningGraph', Piwik_Translate('VisitFrequency_WidgetGraphReturning'));
+		Piwik_AddWidget( 'General_Visitors', 'VisitFrequency_WidgetOverview', 'VisitFrequency', 'getSparklines');
+		Piwik_AddWidget( 'General_Visitors', 'VisitFrequency_WidgetGraphReturning', 'VisitFrequency', 'getEvolutionGraph', array('columns' => array('nb_visits_returning')));
 	}
 	
 	function addMenu()
diff --git a/plugins/VisitFrequency/sparklines.tpl b/plugins/VisitFrequency/sparklines.tpl
deleted file mode 100644
index bccbd06ea4..0000000000
--- a/plugins/VisitFrequency/sparklines.tpl
+++ /dev/null
@@ -1,13 +0,0 @@
-
-	<p>{sparkline src=$urlSparklineNbVisitsReturning}<span>
-	{'VisitFrequency_ReturnVisits'|translate:"<strong>$nbVisitsReturning</strong>"}</span></p>
-	<p>{sparkline src=$urlSparklineNbActionsReturning}<span>
-	{'VisitFrequency_ReturnActions'|translate:"<strong>$nbActionsReturning</strong>"}</span></p>
-	<p>{sparkline src=$urlSparklineMaxActionsReturning}<span>
-	 {'VisitFrequency_ReturnMaxActions'|translate:"<strong>$maxActionsReturning</strong>"}</span></p>
-	<p>{sparkline src=$urlSparklineSumVisitLengthReturning}<span>
-	 {assign var=sumtimeVisitLengthReturning value=$sumVisitLengthReturning|sumtime}
-	 {'VisitFrequency_ReturnTotalTime'|translate:"<strong>$sumtimeVisitLengthReturning</strong>"}</span></p>
-	<p>{sparkline src=$urlSparklineBounceCountReturning}<span>
-	 {'VisitFrequency_ReturnBounces'|translate:"<strong>$bounceCountReturning</strong>"} </span></p>
-	 
diff --git a/plugins/VisitFrequency/index.tpl b/plugins/VisitFrequency/templates/index.tpl
similarity index 68%
rename from plugins/VisitFrequency/index.tpl
rename to plugins/VisitFrequency/templates/index.tpl
index 069a56d4df..ec4664d310 100644
--- a/plugins/VisitFrequency/index.tpl
+++ b/plugins/VisitFrequency/templates/index.tpl
@@ -1,11 +1,11 @@
 {postEvent name="template_headerVisitsFrequency"}
 <script type="text/javascript" src="plugins/CoreHome/templates/sparkline.js"></script>
 
-<a name="evolutionGraph" graphId="VisitFrequencygetLastVisitsReturningGraph"></a>
+<a name="evolutionGraph" graphId="VisitFrequencygetEvolutionGraph"></a>
 <h2>{'VisitFrequency_Evolution'|translate}</h2>
 {$graphEvolutionVisitFrequency}
 <br />
 
-{include file=VisitFrequency/sparklines.tpl}
+{include file=VisitFrequency/templates/sparklines.tpl}
 	
 {postEvent name="template_footerVisitsFrequency"}
diff --git a/plugins/VisitFrequency/templates/sparklines.tpl b/plugins/VisitFrequency/templates/sparklines.tpl
new file mode 100644
index 0000000000..a72ae2eb6c
--- /dev/null
+++ b/plugins/VisitFrequency/templates/sparklines.tpl
@@ -0,0 +1,11 @@
+<div class="sparkline">{sparkline src=$urlSparklineNbVisitsReturning}
+{'VisitFrequency_ReturnVisits'|translate:"<strong>$nbVisitsReturning</strong>"}</div>
+<div class="sparkline">{sparkline src=$urlSparklineNbActionsReturning}
+{'VisitFrequency_ReturnActions'|translate:"<strong>$nbActionsReturning</strong>"}</div>
+<div class="sparkline">{sparkline src=$urlSparklineMaxActionsReturning}
+ {'VisitFrequency_ReturnMaxActions'|translate:"<strong>$maxActionsReturning</strong>"}</div>
+<div class="sparkline">{sparkline src=$urlSparklineSumVisitLengthReturning}
+ {assign var=sumtimeVisitLengthReturning value=$sumVisitLengthReturning|sumtime}
+ {'VisitFrequency_ReturnTotalTime'|translate:"<strong>$sumtimeVisitLengthReturning</strong>"}</div>
+<div class="sparkline">{sparkline src=$urlSparklineBounceRateReturning}
+ {'VisitFrequency_ReturnBounceRate'|translate:"<strong>$bounceRateReturning%</strong>"} </div>
\ No newline at end of file
diff --git a/plugins/VisitTime/Controller.php b/plugins/VisitTime/Controller.php
index 923c406a1e..0a21a346ac 100644
--- a/plugins/VisitTime/Controller.php
+++ b/plugins/VisitTime/Controller.php
@@ -5,7 +5,7 @@ class Piwik_VisitTime_Controller extends Piwik_Controller
 {
 	function index()
 	{
-		$view = new Piwik_View('VisitTime/index.tpl');
+		$view = new Piwik_View('VisitTime/templates/index.tpl');
 		$view->dataTableVisitInformationPerLocalTime = $this->getVisitInformationPerLocalTime(true);
 		$view->dataTableVisitInformationPerServerTime = $this->getVisitInformationPerServerTime(true);
 		echo $view->render();
diff --git a/plugins/VisitTime/VisitTime.php b/plugins/VisitTime/VisitTime.php
index 531c303014..8d32d3012f 100644
--- a/plugins/VisitTime/VisitTime.php
+++ b/plugins/VisitTime/VisitTime.php
@@ -40,8 +40,8 @@ class Piwik_VisitTime extends Piwik_Plugin
 	
 	function addWidgets()
 	{
-		Piwik_AddWidget( 'VisitTime', 'getVisitInformationPerLocalTime', Piwik_Translate('VisitTime_WidgetLocalTime'));
-		Piwik_AddWidget( 'VisitTime', 'getVisitInformationPerServerTime', Piwik_Translate('VisitTime_WidgetServerTime'));
+		Piwik_AddWidget( 'VisitTime_SubmenuTimes', 'VisitTime_WidgetLocalTime', 'VisitTime', 'getVisitInformationPerLocalTime');
+		Piwik_AddWidget( 'VisitTime_SubmenuTimes', 'VisitTime_WidgetServerTime', 'VisitTime', 'getVisitInformationPerServerTime');
 	}
 	
 	function addMenu()
@@ -101,7 +101,7 @@ class Piwik_VisitTime extends Piwik_Plugin
 
 	private function makeSureAllHoursAreSet($table, $archiveProcessing)
 	{
-		for($i=0;$i<=23;$i++)
+		for($i=0; $i<=23; $i++)
 		{
 			if($table->getRowFromLabel($i) === false)
 			{
diff --git a/plugins/VisitTime/index.tpl b/plugins/VisitTime/templates/index.tpl
similarity index 100%
rename from plugins/VisitTime/index.tpl
rename to plugins/VisitTime/templates/index.tpl
diff --git a/plugins/VisitorInterest/Controller.php b/plugins/VisitorInterest/Controller.php
index dcca856b3a..cd4817ef3d 100644
--- a/plugins/VisitorInterest/Controller.php
+++ b/plugins/VisitorInterest/Controller.php
@@ -5,7 +5,7 @@ class Piwik_VisitorInterest_Controller extends Piwik_Controller
 {
 	function index()
 	{
-		$view = new Piwik_View('VisitorInterest/index.tpl');
+		$view = new Piwik_View('VisitorInterest/templates/index.tpl');
 		$view->dataTableNumberOfVisitsPerVisitDuration = $this->getNumberOfVisitsPerVisitDuration(true);
 		$view->dataTableNumberOfVisitsPerPage = $this->getNumberOfVisitsPerPage(true);
 		echo $view->render();
diff --git a/plugins/VisitorInterest/VisitorInterest.php b/plugins/VisitorInterest/VisitorInterest.php
index 3f36d8b474..d5bb5091b1 100644
--- a/plugins/VisitorInterest/VisitorInterest.php
+++ b/plugins/VisitorInterest/VisitorInterest.php
@@ -66,9 +66,10 @@ class Piwik_VisitorInterest extends Piwik_Plugin
 
 	function addWidgets()
 	{
-		Piwik_AddWidget( 'VisitorInterest', 'getNumberOfVisitsPerVisitDuration', Piwik_Translate('VisitorInterest_WidgetLengths'));
-		Piwik_AddWidget( 'VisitorInterest', 'getNumberOfVisitsPerPage', Piwik_Translate('VisitorInterest_WidgetPages'));
+		Piwik_AddWidget( 'General_Visitors', 'VisitorInterest_WidgetLengths', 'VisitorInterest', 'getNumberOfVisitsPerVisitDuration');
+		Piwik_AddWidget( 'General_Visitors', 'VisitorInterest_WidgetPages', 'VisitorInterest', 'getNumberOfVisitsPerPage');
 	}
+	
 	function addMenu()
 	{
 		Piwik_RenameMenuEntry('General_Visitors', 'VisitFrequency_SubmenuFrequency', 
diff --git a/plugins/VisitorInterest/index.tpl b/plugins/VisitorInterest/templates/index.tpl
similarity index 100%
rename from plugins/VisitorInterest/index.tpl
rename to plugins/VisitorInterest/templates/index.tpl
diff --git a/plugins/VisitsSummary/API.php b/plugins/VisitsSummary/API.php
index ed9a75df7c..e042e518df 100644
--- a/plugins/VisitsSummary/API.php
+++ b/plugins/VisitsSummary/API.php
@@ -25,20 +25,37 @@ class Piwik_VisitsSummary_API
 		return self::$instance;
 	}
 	
-	public function get( $idSite, $period, $date )
+	public function get( $idSite, $period, $date, $columns = array() )
 	{
 		Piwik::checkUserHasViewAccess( $idSite );
 		$archive = Piwik_Archive::build($idSite, $period, $date );
 	
-		$toFetch = array( 	'max_actions',
-							'nb_uniq_visitors', 
-							'nb_visits',
-							'nb_actions', 
-							'sum_visit_length',
-							'bounce_count',
-							'nb_visits_converted',
-						);
+		$bounceRateRequested = false;
+		if(!empty($columns))
+		{
+			$toFetch = $columns;
+			if(($bounceRateRequested = array_search('bounce_rate', $toFetch)) !== false)
+			{
+				$toFetch = array('nb_visits', 'bounce_count');
+			}
+		}
+		else
+		{
+			$toFetch = array(	'max_actions',
+								'nb_uniq_visitors', 
+								'nb_visits',
+								'nb_actions', 
+								'sum_visit_length',
+								'bounce_count',
+								'nb_visits_converted',
+							);
+		}
 		$dataTable = $archive->getDataTableFromNumeric($toFetch);
+		if($bounceRateRequested !== false)
+		{
+			$dataTable->filter('ColumnCallbackAddColumnPercentage', array('bounce_count', 'bounce_rate', 'nb_visits', 0));
+			$dataTable->deleteColumns($toFetch);
+		}
 		return $dataTable;
 	}
 	
@@ -70,23 +87,23 @@ class Piwik_VisitsSummary_API
 		return self::getNumeric( $idSite, $period, $date, 'max_actions');
 	}
 	
-	public function getSumVisitsLength( $idSite, $period, $date )
+	public function getBounceCount( $idSite, $period, $date )
 	{
-		return self::getNumeric( $idSite, $period, $date, 'sum_visit_length');
+		return self::getNumeric( $idSite, $period, $date, 'bounce_count');
 	}
 	
-	public function getSumVisitsLengthPretty( $idSite, $period, $date )
+	public function getVisitsConverted( $idSite, $period, $date )
 	{
-		return Piwik::getPrettyTimeFromSeconds(self::getSumVisitsLength( $idSite, $period, $date ));
+		return self::getNumeric( $idSite, $period, $date, 'nb_visits_converted');
 	}
 	
-	public function getBounceCount( $idSite, $period, $date )
+	public function getSumVisitsLength( $idSite, $period, $date )
 	{
-		return self::getNumeric( $idSite, $period, $date, 'bounce_count');
+		return self::getNumeric( $idSite, $period, $date, 'sum_visit_length');
 	}
 	
-	public function getVisitsConverted( $idSite, $period, $date )
+	public function getSumVisitsLengthPretty( $idSite, $period, $date )
 	{
-		return self::getNumeric( $idSite, $period, $date, 'nb_visits_converted');
+		return Piwik::getPrettyTimeFromSeconds(self::getSumVisitsLength( $idSite, $period, $date ));
 	}
 }
diff --git a/plugins/VisitsSummary/Controller.php b/plugins/VisitsSummary/Controller.php
index 9f7b5ad296..d622dfb19b 100644
--- a/plugins/VisitsSummary/Controller.php
+++ b/plugins/VisitsSummary/Controller.php
@@ -3,51 +3,31 @@ require_once "ViewDataTable.php";
 
 class Piwik_VisitsSummary_Controller extends Piwik_Controller 
 {
-	function index()
+	public function index()
 	{
-		$view = new Piwik_View('VisitsSummary/index.tpl');
+		$view = new Piwik_View('VisitsSummary/templates/index.tpl');
 		$this->setPeriodVariablesView($view);
-		$view->graphEvolutionVisitsSummary = $this->getLastVisitsGraph( true );
+		$view->graphEvolutionVisitsSummary = $this->getEvolutionGraph( true, array('nb_visits') );
 		$this->setSparklinesAndNumbers($view);		
 		echo $view->render();
 	}
 	
-	protected function setSparklinesAndNumbers($view)
+	public function getSparklines()
 	{
-		$view->urlSparklineNbVisits 		= $this->getUrlSparkline( 'getLastVisitsGraph');
-		$view->urlSparklineNbActions 		= $this->getUrlSparkline( 'getLastActionsGraph');
-		$view->urlSparklineSumVisitLength 	= $this->getUrlSparkline( 'getLastSumVisitsLengthGraph');
-		$view->urlSparklineMaxActions 		= $this->getUrlSparkline( 'getLastMaxActionsGraph');
-		$view->urlSparklineBounceCount 		= $this->getUrlSparkline( 'getLastBounceCountGraph');
-		
-		$dataTableVisit = self::getVisitsSummary();
-		
-		if($view->period == 'day')
-		{
-			$view->urlSparklineNbUniqVisitors 	= $this->getUrlSparkline( 'getLastUniqueVisitorsGraph');
-			$view->nbUniqVisitors = $dataTableVisit->getColumn('nb_uniq_visitors');
-		}
-		$view->nbVisits = $dataTableVisit->getColumn('nb_visits');
-		$view->nbActions = $dataTableVisit->getColumn('nb_actions');
-		$view->sumVisitLength = $dataTableVisit->getColumn('sum_visit_length');
-		$view->bounceCount = $dataTableVisit->getColumn('bounce_count');
-		$view->maxActions = $dataTableVisit->getColumn('max_actions');
-	}
-	
-	function getSparklines()
-	{
-		$view = new Piwik_View('VisitsSummary/sparklines.tpl');
+		$view = new Piwik_View('VisitsSummary/templates/sparklines.tpl');
 		$this->setSparklinesAndNumbers($view);		
 		echo $view->render();
 	}
 
-	static public function getVisits()
+	public function getEvolutionGraph( $fetch = false, $columns = false)
 	{
-		$requestString = 	"method=VisitsSummary.getVisits".
-							"&format=original".
-							"&disable_generic_filters=true"; 
-		$request = new Piwik_API_Request($requestString);
-		return $request->process();
+		$view = $this->getLastUnitGraph($this->pluginName, __FUNCTION__, "VisitsSummary.get");
+		if(empty($columns))
+		{
+			$columns = Piwik_Common::getRequestVar('columns');
+		}
+		$view->setColumnsToDisplay($columns);
+		return $this->renderView($view, $fetch);
 	}
 	
 	static public function getVisitsSummary()
@@ -61,39 +41,36 @@ class Piwik_VisitsSummary_Controller extends Piwik_Controller
 		return $request->process();
 	}
 
-	function getLastVisitsGraph( $fetch = false )
-	{
-		$view = $this->getLastUnitGraph('VisitsSummary', __FUNCTION__, "VisitsSummary.getVisits");
-		return $this->renderView($view, $fetch);
-	}
-	
-	function getLastUniqueVisitorsGraph( $fetch = false )
-	{
-		$view = $this->getLastUnitGraph('VisitsSummary', __FUNCTION__, "VisitsSummary.getUniqueVisitors");
-		return $this->renderView($view, $fetch);
-	}
-	
-	function getLastActionsGraph( $fetch = false )
-	{
-		$view = $this->getLastUnitGraph('VisitsSummary', __FUNCTION__, "VisitsSummary.getActions");
-		return $this->renderView($view, $fetch);
-	}
-	
-	function getLastSumVisitsLengthGraph( $fetch = false )
-	{
-		$view = $this->getLastUnitGraph('VisitsSummary', __FUNCTION__, "VisitsSummary.getSumVisitsLength");
-		return $this->renderView($view, $fetch);
-	}
-	
-	function getLastMaxActionsGraph( $fetch = false )
+	static public function getVisits()
 	{
-		$view = $this->getLastUnitGraph('VisitsSummary', __FUNCTION__, "VisitsSummary.getMaxActions");
-		return $this->renderView($view, $fetch);
+		$requestString = 	"method=VisitsSummary.getVisits".
+							"&format=original".
+							"&disable_generic_filters=true"; 
+		$request = new Piwik_API_Request($requestString);
+		return $request->process();
 	}
 	
-	function getLastBounceCountGraph( $fetch = false )
+	protected function setSparklinesAndNumbers($view)
 	{
-		$view = $this->getLastUnitGraph('VisitsSummary', __FUNCTION__, "VisitsSummary.getBounceCount");
-		return $this->renderView($view, $fetch);
+		$view->urlSparklineNbVisits 		= $this->getUrlSparkline( 'getEvolutionGraph', array('columns' => array('nb_visits')));
+		$view->urlSparklineNbActions 		= $this->getUrlSparkline( 'getEvolutionGraph', array('columns' => array('nb_actions')));
+		$view->urlSparklineSumVisitLength 	= $this->getUrlSparkline( 'getEvolutionGraph', array('columns' => array('sum_visit_length')));
+		$view->urlSparklineMaxActions 		= $this->getUrlSparkline( 'getEvolutionGraph', array('columns' => array('max_actions')));
+		$view->urlSparklineBounceRate 		= $this->getUrlSparkline( 'getEvolutionGraph', array('columns' => array('bounce_rate')));
+		
+		$dataTableVisit = self::getVisitsSummary();
+		$dataRow = $dataTableVisit->getFirstRow();
+		if($view->period == 'day')
+		{
+			$view->urlSparklineNbUniqVisitors 	= $this->getUrlSparkline( 'getEvolutionGraph', array('columns' => array('nb_uniq_visitors')));
+			$view->nbUniqVisitors = $dataRow->getColumn('nb_uniq_visitors');
+		}
+		$nbVisits = $dataRow->getColumn('nb_visits');
+		$view->nbVisits = $nbVisits;
+		$view->nbActions = $dataRow->getColumn('nb_actions');
+		$view->sumVisitLength = $dataRow->getColumn('sum_visit_length');
+		$nbBouncedVisits = $dataRow->getColumn('bounce_count');
+		$view->bounceRate = Piwik::getPercentageSafe($nbBouncedVisits, $nbVisits);
+		$view->maxActions = $dataRow->getColumn('max_actions');
 	}
 }
diff --git a/plugins/VisitsSummary/VisitsSummary.php b/plugins/VisitsSummary/VisitsSummary.php
index 29e4398a90..846a3dcb5e 100644
--- a/plugins/VisitsSummary/VisitsSummary.php
+++ b/plugins/VisitsSummary/VisitsSummary.php
@@ -36,10 +36,9 @@ class Piwik_VisitsSummary extends Piwik_Plugin
 	
 	function addWidgets()
 	{
-		Piwik_AddWidget( 'VisitsSummary', 'getLastVisitsGraph', Piwik_Translate('VisitsSummary_WidgetLastVisits'));
-		Piwik_AddWidget( 'VisitsSummary', 'getSparklines', Piwik_Translate('VisitsSummary_WidgetVisits'));
-		Piwik_AddWidget( 'VisitsSummary', 'getLastUniqueVisitorsGraph', Piwik_Translate('VisitsSummary_WidgetLastVisitors'));
-		Piwik_AddWidget( 'VisitsSummary', 'index', Piwik_Translate('VisitsSummary_WidgetOverviewGraph'));
+		Piwik_AddWidget( 'Visits Summary', 'VisitsSummary_WidgetLastVisits', 'VisitsSummary', 'getEvolutionGraph', array('columns' => array('nb_visits')));
+		Piwik_AddWidget( 'Visits Summary', 'VisitsSummary_WidgetVisits', 'VisitsSummary', 'getSparklines');
+		Piwik_AddWidget( 'Visits Summary', 'VisitsSummary_WidgetOverviewGraph', 'VisitsSummary', 'index');
 	}
 	
 	function addMenu()
diff --git a/plugins/VisitsSummary/sparklines.tpl b/plugins/VisitsSummary/sparklines.tpl
deleted file mode 100644
index 7d0f2e28d7..0000000000
--- a/plugins/VisitsSummary/sparklines.tpl
+++ /dev/null
@@ -1,13 +0,0 @@
-<div id='leftcolumn'>
-	<p>{sparkline src=$urlSparklineNbVisits} <span>{'VisitsSummary_NbVisits'|translate:"<strong>$nbVisits</strong>"}</span></p>
-	{if isset($urlSparklineNbUniqVisitors)}
-	<p>{sparkline src=$urlSparklineNbUniqVisitors} <span>{'VisitsSummary_NbUniqueVisitors'|translate:"<strong>$nbUniqVisitors</strong>"}</span></p>
-	{/if}
-	<p>{sparkline src=$urlSparklineNbActions} <span>{'VisitsSummary_NbActions'|translate:"<strong>$nbActions</strong>"}</span></p>
-</div>
-<div id='rightcolumn'>
-	<p>{sparkline src=$urlSparklineSumVisitLength} <span>{assign var=sumtimeVisitLength value=$sumVisitLength|sumtime} {'VisitsSummary_TotalTime'|translate:"<strong>$sumtimeVisitLength</strong>"}</span></p>
-	<p>{sparkline src=$urlSparklineMaxActions} <span>{'VisitsSummary_MaxNbActions'|translate:"<strong>$maxActions</strong>"}</span></p>
-	<p>{sparkline src=$urlSparklineBounceCount} <span>{'VisitsSummary_NbBounced'|translate:"<strong>$bounceCount</strong>"}</span></p>
-</div>
-<div style="clear:both" />
\ No newline at end of file
diff --git a/plugins/VisitsSummary/index.tpl b/plugins/VisitsSummary/templates/index.tpl
similarity index 65%
rename from plugins/VisitsSummary/index.tpl
rename to plugins/VisitsSummary/templates/index.tpl
index 8e8e51398d..7255107589 100644
--- a/plugins/VisitsSummary/index.tpl
+++ b/plugins/VisitsSummary/templates/index.tpl
@@ -1,11 +1,12 @@
+
 <script type="text/javascript" src="plugins/CoreHome/templates/sparkline.js"></script>
 
-<a name="evolutionGraph" graphId="VisitsSummarygetLastVisitsGraph"></a>
-<h2>{'VisitsSummary_EvolutionPeriods'|translate:$periodsNames.$period.plural}</h2>
+<a name="evolutionGraph" graphId="VisitsSummarygetEvolutionGraph"></a>
+<h2>{'VisitsSummary_EvolutionOverLastPeriods'|translate:$periodsNames.$period.plural}</h2>
 {$graphEvolutionVisitsSummary}
 
 <h2>{'VisitsSummary_Report'|translate}</h2>
-{include file=VisitsSummary/sparklines.tpl}
+{include file=VisitsSummary/templates/sparklines.tpl}
 
 <br /><br /><br />
 <p style='color:lightgrey; size:0.8em;'>
diff --git a/plugins/VisitsSummary/templates/sparklines.tpl b/plugins/VisitsSummary/templates/sparklines.tpl
new file mode 100644
index 0000000000..f8ce97cc29
--- /dev/null
+++ b/plugins/VisitsSummary/templates/sparklines.tpl
@@ -0,0 +1,13 @@
+<div id='leftcolumn'>
+	<div class="sparkline">{sparkline src=$urlSparklineNbVisits} {'VisitsSummary_NbVisits'|translate:"<strong>$nbVisits</strong>"}</div>
+	{if isset($urlSparklineNbUniqVisitors)}
+	<div class="sparkline">{sparkline src=$urlSparklineNbUniqVisitors} {'VisitsSummary_NbUniqueVisitors'|translate:"<strong>$nbUniqVisitors</strong>"}</div>
+	{/if}
+	<div class="sparkline">{sparkline src=$urlSparklineNbActions} {'VisitsSummary_NbActions'|translate:"<strong>$nbActions</strong>"}</div>
+</div>
+<div id='rightcolumn'>
+	<div class="sparkline">{sparkline src=$urlSparklineSumVisitLength} {assign var=sumtimeVisitLength value=$sumVisitLength|sumtime} {'VisitsSummary_TotalTime'|translate:"<strong>$sumtimeVisitLength</strong>"}</div>
+	<div class="sparkline">{sparkline src=$urlSparklineMaxActions} {'VisitsSummary_MaxNbActions'|translate:"<strong>$maxActions</strong>"}</div>
+	<div class="sparkline">{sparkline src=$urlSparklineBounceRate} {'VisitsSummary_NbVisitsBounced'|translate:"<strong>$bounceRate%</strong>"}</div>
+</div>
+<div style="clear:both" />
\ No newline at end of file
diff --git a/plugins/Widgetize/templates/iframe.tpl b/plugins/Widgetize/templates/iframe.tpl
index 0cb5f23cf9..6d61d51ada 100644
--- a/plugins/Widgetize/templates/iframe.tpl
+++ b/plugins/Widgetize/templates/iframe.tpl
@@ -4,20 +4,9 @@
 {loadJavascriptTranslations plugins='CoreHome'}
 
 {include file="CoreHome/templates/js_global_variables.tpl"}
-<script type="text/javascript" src="libs/jquery/jquery.js"></script>
-<script type="text/javascript" src="libs/javascript/sprintf.js"></script>
-<script type="text/javascript" src="themes/default/common.js"></script>
-<script type="text/javascript" src="libs/jquery/jquery.dimensions.js"></script>
-<script type="text/javascript" src="libs/jquery/tooltip/jquery.tooltip.js"></script>
-<script type="text/javascript" src="libs/jquery/truncate/jquery.truncate.js"></script>
-<script type="text/javascript" src="libs/jquery/jquery.scrollTo.js"></script>
+{include file="CoreHome/templates/js_css_includes.tpl"}
 
-<script type="text/javascript" src="libs/swfobject/swfobject.js"></script>
-
-<script type="text/javascript" src="plugins/CoreHome/templates/datatable.js"></script>
-<link rel="stylesheet" href="plugins/CoreHome/templates/datatable.css">
-
-<div class="widgetDiv">
+<div class="widget">
 {$content}
 </div>
 
diff --git a/plugins/Widgetize/templates/index.tpl b/plugins/Widgetize/templates/index.tpl
index 8254bf9fef..cf78a1f1dd 100644
--- a/plugins/Widgetize/templates/index.tpl
+++ b/plugins/Widgetize/templates/index.tpl
@@ -4,7 +4,6 @@
 
 {loadJavascriptTranslations plugins='Dashboard'}
 <script type="text/javascript" src="plugins/Dashboard/templates/widgetMenu.js"></script>
-
 <script type="text/javascript" src="themes/default/common.js"></script>
 <script type="text/javascript" src="libs/jquery/jquery.dimensions.js"></script>
 <script type="text/javascript" src="libs/jquery/tooltip/jquery.tooltip.js"></script>
@@ -65,53 +64,31 @@ label {
 $(document).ready( function() {
 	var menu = new widgetMenu();
 	var widgetized = new widgetize();
-	widgetized.callbackHideButtons();
 	menu.init();
 	menu.registerCallbackOnWidgetLoad( widgetized.callbackAddExportButtonsUnderWidget );
-	menu.registerCallbackOnMainMenuHover( widgetized.callbackHideButtons );
-	menu.registerCallbackOnSubMenuHover( widgetized.callbackSavePluginName );
+	menu.registerCallbackOnMenuHover( widgetized.deleteEmbedElements );
 	menu.show();
+	$('#exportFullDashboard').html(
+		widgetized.getInputFormWithHtml( 'dashboardEmbed', '<iframe src="'+document.location.protocol + '//' + document.location.hostname + document.location.pathname + '?'+'module=Widgetize&action=iframe&moduleToWidgetize=Dashboard&actionToWidgetize=index&idSite=1&period=week&date=yesterday" frameborder="0" marginheight="0" marginwidth="0" width="100%" height="100%"></iframe>')
+	);
 });
 
 {/literal}
 </script>
 
 <div style="max-width:980px;">
-<p>With Piwik, you can export your Web Analytics reports on your blog, website, or intranet dashboard... in one click. 
-If you want your widgets to be viewable by everybody, you first have to set the 'view' permissions to the anonymous user in the <a href='?module=UsersManager'>Users Management section</a>.</p>
-<div id="widgetChooser">
-	<div class="subMenu" id="sub1">
-	</div>
-	<div class="subMenu" id="sub2">
-	</div>
-	<div class="subMenu" id="sub3">
-		<div class="widget">
-			<div class="widgetDiv previewDiv"></div>
-		</div>
-
-		<div id="embedThisWidgetIframe">
-			<label for="embedThisWidgetIframeInput">&rsaquo; Embed Iframe</label>
-			<span id="embedThisWidgetIframeInput"></span>
-		</div>
-		
-		<div id="embedThisWidgetFlash">
-			<label for="embedThisWidgetFlashInput">&rsaquo; Embed Flash</label>
-			<span id="embedThisWidgetFlashInput"></span>
-		</div>
-		
-		<div id="embedThisWidgetEverywhere">
-			<div id="exportThisWidget">
-				<label for="flashEmbed">&rsaquo; Export anywhere!</label>
-				<img src='http://cdn.clearspring.com/launchpad/static/cs_button_share1.gif'>
-			</div>
-			<div id="exportThisWidgettest"></div>
-			<div id="exportThisWidgetMenu">
-				<span style="display:none"><img src="{$piwikUrl}themes/default/images/loading-blue.gif" /></span>
-			</div>
-		</div>
-	</div>
+	<p>With Piwik, you can export your Web Analytics reports on your blog, website, or intranet dashboard... in one click. 
+	If you want your widgets to be viewable by everybody, you first have to set the 'view' permissions 
+	to the anonymous user in the <a href='?module=UsersManager'>Users Management section</a>.
+	<br>Note: You can also display the full Piwik dashboard in your application or website in an Iframe. 
+	For example, for idSite=1 and date=yesterday, you can write: <span id='exportFullDashboard'></span>
+	</p>
 	
-	<div class="menuClear"> </div>
-</div>
-<div id='iframeDivToExport' style='display:none;'></div>
+	<div id="widgetChooser">
+		<div class="subMenu" id="sub1"></div>
+		<div class="subMenu" id="sub2"></div>
+		<div class="subMenu" id="sub3"></div>
+		<div class="menuClear"></div>
+	</div>
+	<div id='iframeDivToExport' style='display:none;'></div>
 </div>
diff --git a/plugins/Widgetize/templates/js.tpl b/plugins/Widgetize/templates/js.tpl
index 50284a9591..0cce58d362 100644
--- a/plugins/Widgetize/templates/js.tpl
+++ b/plugins/Widgetize/templates/js.tpl
@@ -1,4 +1,4 @@
-{loadJavascriptTranslations noHtml=1 plugins='CoreHome'}
+{loadJavascriptTranslations disableOutputScriptTag=1 plugins='CoreHome'}
 
 document.write('<scr'+'ipt language="javascript" src="{$piwikUrl}libs/swfobject/swfobject.js"></scr'+'ipt>');
 document.write('<scr'+'ipt language="javascript" src="{$piwikUrl}libs/javascript/sprintf.js"></scr'+'ipt>');
diff --git a/plugins/Widgetize/templates/widgetize.js b/plugins/Widgetize/templates/widgetize.js
index ad3a05a979..3f30806ff1 100644
--- a/plugins/Widgetize/templates/widgetize.js
+++ b/plugins/Widgetize/templates/widgetize.js
@@ -7,24 +7,31 @@ function widgetize()
 		return '<input class="formEmbedCode" id="'+inputId+'" value=\''+ htmlEmbed +'\' onclick="javascript:document.getElementById(\''+inputId+'\').focus();document.getElementById(\''+inputId+'\').select();" readonly="true" type="text">';
 	}
 	
-	this.getEmbedUrl = function( pluginId, actionId, exportFormat )
+	this.getEmbedUrl = function( parameters, exportFormat )
 	{
+		copyParameters = new Object;
+		for(var variableName in parameters) {
+			copyParameters[variableName] = parameters[variableName];
+		}
+		copyParameters['moduleToWidgetize'] = parameters['module'];
+		copyParameters['actionToWidgetize'] = parameters['action'];
+		delete copyParameters['action'];
+		delete copyParameters['module'];
 		var sourceUrl;
 		sourceUrl = document.location.protocol + '//' + document.location.hostname + document.location.pathname + '?';
-		sourceUrl += "module=Widgetize&action="+exportFormat+"&moduleToWidgetize="+pluginId+"&actionToWidgetize="+actionId+"&idSite="+piwik.idSite+"&period="+piwik.period+"&date="+piwik.currentDateString;
-		sourceUrl += "&disableLink=1";
+		sourceUrl += 	"module=Widgetize" +
+						"&action="+exportFormat+
+						"&"+piwikHelper.getQueryStringFromParameters(copyParameters)+
+						"&idSite="+piwik.idSite+
+						"&period="+piwik.period+
+						"&date="+piwik.currentDateString+
+						"&disableLink=1";
 		return sourceUrl;
 	}
 	
-	this.callbackSavePluginName = function(pluginName, actionName, widgetName)
+	this.deleteEmbedElements = function()
 	{
-		self.currentWidgetName = widgetName;
-		self.callbackHideButtons();
-	}
-	
-	this.callbackHideButtons = function()
-	{
-		$('#embedThisWidgetIframe, #embedThisWidgetFlash, #embedThisWidgetEverywhere').hide();
+		$('#exportButtons').remove();
 	}
 	
 	this.htmlentities = function(s)
@@ -32,47 +39,79 @@ function widgetize()
 		return s.replace( /[<>&]/g, function(m) { return "&" + m.charCodeAt(0) + ";"; });
 	}
 	
-	this.callbackAddExportButtonsUnderWidget = function (widget, pluginId, actionId)
+	this.callbackAddExportButtonsUnderWidget = function (	widgetUniqueId, 
+															loadedWidgetElement)
 	{
-		var html = widget.html();
-		
-		// Div containing IFRAME code to load the widget
-		var widgetIframe = '<div id="widgetIframe"><iframe width="100%" height="350" src="'
-							+ self.getEmbedUrl(pluginId, actionId, "iframe") 
-							+ '" scrolling="no" frameborder="0" marginheight="0" marginwidth="0"></iframe></div>';
+		widget = widgetsHelper.getWidgetObjectFromUniqueId(widgetUniqueId);
+		widgetName = widget["name"];
+		widgetParameters = widget['parameters'];
 	
-		// Iframe Export 
-		$('#embedThisWidgetIframe')
-			.show()
-			.find('#embedThisWidgetIframeInput')
-			.empty()
-			.append(self.getInputFormWithHtml('iframeEmbed', widgetIframe));
-	
-	
-		// Flash Export 
-		widget.find('embed').each(function() {
-			var htmlEmbed = $(this).parent().html();
-			$('#embedThisWidgetFlash')
-				.show()
-				.find('#embedThisWidgetFlashInput')
-				.empty()
-				.append(self.getInputFormWithHtml('flashEmbed', htmlEmbed));
-		});
+		self.deleteEmbedElements();
+		var exportButtonsElement = $('<span id="exportButtons">');
+
+		// We first build the HTML code that will load the widget in an IFRAME
+		var widgetIframeHtml = '<div id="widgetIframe">'+
+								'<iframe width="100%" height="350" src="'+
+									self.getEmbedUrl(widgetParameters, "iframe")+ 
+									'" scrolling="no" frameborder="0" marginheight="0" marginwidth="0">'+
+								'</iframe>'+
+							'</div>';
+
+		// Add the input field containing the widget in an Iframe 
+		$(exportButtonsElement).append(
+			'<div id="embedThisWidgetIframe">'+
+				'<label for="embedThisWidgetIframeInput">&rsaquo; Embed Iframe</label>'+
+				'<span id="embedThisWidgetIframeInput">'+
+					self.getInputFormWithHtml('iframeEmbed', widgetIframeHtml)+
+				'</span>'+
+			'</div>'
+		);
 		
+		// Add the Flash Export if a flash <embed> is found in the widget 
+		$(loadedWidgetElement)
+			.find('embed,object')
+			.each(function() {
+				var htmlEmbed = $(this).parent().html();
+
+				$(exportButtonsElement).append(
+					'<div id="embedThisWidgetFlash">'+
+						'<label for="embedThisWidgetFlashInput">&rsaquo; Embed Flash</label>'+
+						'<span id="embedThisWidgetFlashInput">'+
+							self.getInputFormWithHtml('flashEmbed', htmlEmbed) +
+						'</span>'+
+					'</div>'
+				);
+			});
 		
-		// Clearspring Export 
+		// Add the Clearspring Export 
+		$(exportButtonsElement).append(
+			'<div id="embedThisWidgetEverywhere">'+
+				'<div id="exportThisWidget">'+
+					'<label for="flashEmbed">&rsaquo; Export anywhere!</label>'+
+					'<img src="http://cdn.clearspring.com/launchpad/static/cs_button_share1.gif">'+
+				'</div>'+
+				'<div id="exportThisWidgetMenu"></div>'+
+			'</div>'
+		);
+
+		// We then replace the div iframeDivToExport with the actual Iframe html
+		// Clearspring will then build a widget that has the same html as this div
 		$('#iframeDivToExport')
-			.html(widgetIframe);
+			.html(widgetIframeHtml);
 
-		$('#exportThisWidgetMenu').empty();
-		$('#embedThisWidgetEverywhere').show();
+		// Finally we append the content to the parent widget DIV 
+		$(loadedWidgetElement)
+			.parent()
+			.append(exportButtonsElement);
+		
+		// Call clearspring
 		$Launchpad.ShowButton({
 								actionElement : "exportThisWidget",
 								targetElement : "exportThisWidgetMenu",
-								userId : "49ac5bea72e5cd05",
-								widgetName : self.currentWidgetName + " - Piwik",
+								userId : "4797da88692e4fe9",
+								widgetName : widgetName + " - Piwik",
 								source : "iframeDivToExport"
-							});
+		});
 
 		// JS is buggy at least on IE
 		//var widgetJS = '<script type="text/javascript" src="'+ getEmbedUrl(pluginId, actionId, "js") +'"></scr'+'ipt>';
diff --git a/tests/core/DataTable/Renderer.test.php b/tests/core/DataTable/Renderer.test.php
index dbfb455054..a170ca784b 100644
--- a/tests/core/DataTable/Renderer.test.php
+++ b/tests/core/DataTable/Renderer.test.php
@@ -231,13 +231,8 @@ Yahoo!,1,,,15,151,147,50,517,90,http://www.yahoo.com,./plugins/Referers/images/s
 	  	$render = new Piwik_DataTable_Renderer_Csv();
 	  	$render->setTable($dataTable);
 	  	$render->convertToUnicode = false;
-		$expected = 'label,value
-max_actions,14
-nb_uniq_visitors,57
-nb_visits,66
-nb_actions,151
-sum_visit_length,5118
-bounce_count,44';
+		$expected = 'max_actions,nb_uniq_visitors,nb_visits,nb_actions,sum_visit_length,bounce_count
+14,57,66,151,5118,44';
 
 		$this->assertEqual( $expected,$render->render());
 	}
@@ -1018,11 +1013,9 @@ date2,Yahoo!1,150,1510,http://www.yahoo.com1,./plugins/Referers/images/searchEng
 	  	$render = new Piwik_DataTable_Renderer_Csv();
 	  	$render->setTable($dataTable);
 	  	$render->convertToUnicode = false;
-		$expected = 'testKey,label,value
-row1,max_actions,14
-row1,nb_uniq_visitors,57
-row2,max_actions,140
-row2,nb_uniq_visitors,570';
+		$expected = 'testKey,max_actions,nb_uniq_visitors
+row1,14,57
+row2,140,570';
 
 	  	$rendered = $render->render();
 		$this->assertEqual( $expected,$rendered);
@@ -1063,11 +1056,9 @@ idSite,date2,Yahoo!1,150,1510,http://www.yahoo.com1,./plugins/Referers/images/se
 	  	$render = new Piwik_DataTable_Renderer_Csv();
 	  	$render->setTable($dataTable);
 	  	$render->convertToUnicode = false;
-		$expected = 'parentArrayKey,testKey,label,value
-idSite,row1,max_actions,14
-idSite,row1,nb_uniq_visitors,57
-idSite,row2,max_actions,140
-idSite,row2,nb_uniq_visitors,570';
+		$expected = 'parentArrayKey,testKey,max_actions,nb_uniq_visitors
+idSite,row1,14,57
+idSite,row2,140,570';
 
 	  	$rendered = $render->render();
 		$this->assertEqual( $expected,$rendered);
diff --git a/tests/core/Url.test.php b/tests/core/Url.test.php
index 04ea0fadd3..1b130472f2 100644
--- a/tests/core/Url.test.php
+++ b/tests/core/Url.test.php
@@ -19,6 +19,7 @@ class Test_Piwik_Url extends UnitTestCase
     	$this->assertEqual(Piwik_Url::getCurrentQueryStringWithParametersModified(array()),Piwik_Url::getCurrentQueryString() );
     	$this->assertEqual(Piwik_Url::getCurrentUrl(), Piwik_Url::getCurrentUrlWithoutQueryString());
     	$this->assertEqual(Piwik_Url::getCurrentUrl(), Piwik_Url::getCurrentHost() . Piwik_Url::getCurrentScriptName() );
+    	
     	print("<br>\nPiwik_Url::getCurrentQueryStringWithParametersModified() "
     				. Piwik_Url::getCurrentQueryStringWithParametersModified(array()));
     	print("<br>\nPiwik_Url::getCurrentUrl() "
@@ -35,6 +36,17 @@ class Test_Piwik_Url extends UnitTestCase
     				. Piwik_Url::getCurrentQueryString());
     	print("<br>\nPiwik_Url::getArrayFromCurrentQueryString() ");
     	var_dump(Piwik_Url::getArrayFromCurrentQueryString());
+    	
+        // setting parameter to null should remove it from url
+        // test on Url.test.php?test=value
+    	$parameters = array_keys(Piwik_Url::getArrayFromCurrentQueryString());
+    	$parametersNameToValue = array();
+    	foreach($parameters as $name)
+    	{
+    		$parametersNameToValue[$name] = null;
+    	}
+    	$this->assertEqual(Piwik_Url::getCurrentQueryStringWithParametersModified($parametersNameToValue), '');
+    	
     }
 }
 
diff --git a/themes/default/common.js b/themes/default/common.js
index d0d2611c7c..29a16923dd 100644
--- a/themes/default/common.js
+++ b/themes/default/common.js
@@ -1,3 +1,34 @@
+function piwikHelper()
+{
+}
+/*
+ *  Returns query string for an object of key,values
+ *  Note: we don't use $.param from jquery as it doesn't return array values the PHP way (returns a=v1&a=v2 instead of a[]=v1&a[]=v2)
+ *  Example:
+ *  	piwikHelper.getQueryStringFromParameters({"a":"va","b":["vb","vc"],"c":1})
+ *  Returns:
+ *  	a=va&b[]=vb&b[]=vc&c=1
+ */
+piwikHelper.getQueryStringFromParameters = function(parameters)
+{
+	var queryString = '';
+	if(parameters.length==0) {
+		return queryString;
+	}
+	for(var name in parameters) {
+		value = parameters[name];
+		if(typeof value == 'object') {
+			for(var i in value) {
+				queryString += name + '[]=' + value[i] + '&';
+			}
+		} else {
+			queryString += name + '=' + value + '&';
+		}
+	}
+	return queryString.substring(0, queryString.length-1);
+}
+
+//TODO all piwik global functions should be static of piwikHelper 
 function findSWFGraph(name) {
   if (navigator.appName.indexOf("Microsoft")!= -1) {
     return window[name];
@@ -6,6 +37,9 @@ function findSWFGraph(name) {
   }
 }
 
+function redirectToUrl(url) {
+	window.location = url;
+}
 function ajaxHandleError()
 {
 	$('#loadingError').show();
-- 
GitLab