Binary files wysiwyg 6.x-0.5/.DS_Store and wysiwyg/.DS_Store differ
Binary files wysiwyg 6.x-0.5/editors/.DS_Store and wysiwyg/editors/.DS_Store differ
diff -urN wysiwyg 6.x-0.5/editors/css/innovastudio-3.5.css wysiwyg/editors/css/innovastudio-3.5.css
--- wysiwyg 6.x-0.5/editors/css/innovastudio-3.5.css	1970-01-01 01:00:00.000000000 +0100
+++ wysiwyg/editors/css/innovastudio-3.5.css	2008-12-08 15:30:00.000000000 +0100
@@ -0,0 +1,49 @@
+/**
+ * This includes several fixes for Drupal system.css and default.css
+ * plus support for the default Garland theme.
+ * Originally the Garland theme's style.css redefines some tags. The CSS
+ * below changes it "back" to values compatible with the editor
+*/
+
+.innovastudio-editor {
+}
+
+.innovastudio-editor table {
+    width: 100%;
+    margin: 0;
+}
+
+table {
+    width: auto;
+    margin: 0;
+}
+
+.innovastudio-editor .istoolbar table table,
+.innovastudio-editor .istabctl table  {
+    width: auto;
+    margin: 0;
+}
+
+.innovastudio-editor tbody {
+    border-top: 0px;
+}
+
+td {
+    padding: 0;
+    margin: 0;
+    line-height: 100%;
+}
+
+th { 
+    padding-right: 0;
+    border-bottom: 0;
+}
+
+.innovastudio-editor-colorpicker table {
+    border-collapse: separate;
+}
+.innovastudio-editor-colorpicker table th {
+    padding: 0;
+    margin: 0;
+    border: 0;
+}
\ No newline at end of file
diff -urN wysiwyg 6.x-0.5/editors/innovastudio.inc wysiwyg/editors/innovastudio.inc
--- wysiwyg 6.x-0.5/editors/innovastudio.inc	1970-01-01 01:00:00.000000000 +0100
+++ wysiwyg/editors/innovastudio.inc	2008-12-05 15:56:49.000000000 +0100
@@ -0,0 +1,125 @@
+<?php
+// $Id: innovastudio.inc,v 0.1 2008/11/25 12:00:00 tue Exp $
+
+
+/**
+ * Plugin implementation of hook_editor().
+ *
+ * - Function signature and returned editor name nust match include filename.
+ * - Returns an array of supported editor versions along with support files.
+ *
+ * @todo wysiwyg_<editor>_alter() to add/inject optional libraries like gzip.
+ */
+function wysiwyg_innovastudio_editor() {
+  $editor = array();
+  $editor['innovastudio'] = array(
+    // Required properties
+    'title' => 'InnovaStudio WYSIWYG Editor',
+    'vendor url' => 'http://www.innovastudio.com',
+    'download url' => 'http://www.innovastudio.com/editor.asp',
+    'library path' => wysiwyg_get_path('innovastudio') . '/scripts',
+    'libraries' => array( // We cannot assume that all editors need just one js library.
+      '' => array( // Key may be used in wysiwyg_innovastudio_settings() for exec mode.
+        'title' => 'Default',
+        'files' => array('innovaeditor.js'),
+      ),
+    ),
+    'version callback' => 'wysiwyg_innovastudio_version',
+    'themes callback' => 'wysiwyg_innovastudio_themes',
+    'settings callback' => 'wysiwyg_innovastudio_settings',
+    'plugin callback' => 'wysiwyg_innovastudio_plugins',
+    'plugin settings callback' => 'wysiwyg_innovastudio_plugin_settings',
+    'versions' => array( // Each version can override global editor properties.
+      3.5 => array(
+        // 'include files' => array('fckeditor-2.inc'),
+        'css files' => array('innovastudio-3.5.css'),
+        'js files' => array('innovastudio-3.5.js'),
+      ),
+    ),
+    
+    // Optional properties
+    // 'editor path' => wysiwyg_get_path('innovastudio'),
+    // 'js path' => wysiwyg_get_path('js'),
+    // 'css path' => wysiwyg_get_path('css'),
+    // 'versions' => array( 3.5 => array('js files' => array('file1','file2'))),
+    // @todo Not yet implemented.
+    // 'css files' => array('fckeditor.css'),
+  );
+  return $editor;
+}
+
+/**
+ * Detect editor version.
+ *
+ * @param $editor
+ *   An array containing editor properties as returned from hook_editor().
+ *
+ * @return
+ *   The installed editor version.
+ */
+function wysiwyg_innovastudio_version($editor) {
+    return "3.5";
+}
+
+/**
+ * Return runtime editor settings for a given wysiwyg profile.
+ *
+ * @param $editor
+ *   A processed hook_editor() array of editor properties.
+ * @param $config
+ *   An array containing wysiwyg editor profile settings.
+ * @param $theme
+ *   The name of a theme/GUI/skin to use.
+ *
+ * @return
+ *   A settings array to be populated in
+ *   Drupal.settings.wysiwyg.configs.{editor}
+ */
+function wysiwyg_innovastudio_settings($editor, $config, $theme) {
+  $init = array();
+
+  if ($config['css_setting'] == 'theme') {
+    $css = path_to_theme() .'/style.css';
+    if (file_exists($css)) {
+      $init['EditorAreaCSS'] = base_path() . $css;
+    }
+  } else if ($config['css_setting'] == 'self') {
+    $init['EditorAreaCSS'] = strtr($config['css_path'], array('%b' => base_path(), '%t' => path_to_theme()));
+  }
+
+  return $init;
+}
+
+/**
+ * Determine available editor themes or check/reset a given one.
+ *
+ * @param $editor
+ *   A processed hook_editor() array of editor properties.
+ * @param $profile
+ *   A wysiwyg editor profile.
+ *
+ * @return
+ *   An array of theme names. The first returned name should be the default
+ *   theme name.
+ */
+function wysiwyg_innovastudio_themes($editor, $profile) {
+  return array('default');
+}
+
+/**
+ * Build a JS settings array of external plugins that need to be loaded separately.
+ *
+ * TinyMCE requires that external plugins (i.e. not residing in the editor's
+ * directory) are loaded (once) after the editor has been initialized.
+ */
+function wysiwyg_innovastudio_plugin_settings($editor, $profile, $info) {
+  return array();
+}
+
+/**
+ * Return internal plugins for InnovaStudio; semi-implementation of hook_wysiwyg_plugin().
+ */
+function wysiwyg_innovastudio_plugins($editor) {
+  return array();
+}
+
diff -urN wysiwyg 6.x-0.5/editors/js/innovastudio-3.5.js wysiwyg/editors/js/innovastudio-3.5.js
--- wysiwyg 6.x-0.5/editors/js/innovastudio-3.5.js	1970-01-01 01:00:00.000000000 +0100
+++ wysiwyg/editors/js/innovastudio-3.5.js	2008-12-08 22:33:48.000000000 +0100
@@ -0,0 +1,60 @@
+// $Id: innovastudio-3.5.js,v 0.5 2008/11/25 12:00:00 tue Exp $
+
+/**
+ * Attach this editor to a target element.
+ *
+ * See Drupal.wysiwyg.editor.attach.none() for a full desciption of this hook.
+ */
+
+// Instance is eval()'ed by InnovaStudio.. Temporary workaround
+var oEdit1 = null;
+Drupal.wysiwyg.editor.init.tinymce = function(editorSettings) {
+  oEdit1 = new InnovaEditor("oEdit1");
+}
+
+Drupal.wysiwyg.editor.attach.innovastudio = function(context, params, settings) {
+
+  // Configure settings for this theme.
+  // FCKinstance.BasePath = settings[params.theme].BasePath;
+  // for (var setting in settings[params.theme]) {
+  //  FCKinstance.Config[setting] = settings[params.theme][setting];
+  // }
+  
+  oEdit1.width = '100%'; // settings[params.theme]['Width'];
+  oEdit1.height = '350px'; // settings[params.theme]['Height'];
+  oEdit1.useTab = false;
+  
+  // Attach editor
+  var dvId = params.field+"-innovastudio";
+  if (!document.getElementById(dvId)) {
+     var ta = document.getElementById(params.field);
+     var dv = document.createElement("div");
+     dv.setAttribute("id", dvId);
+     dv.setAttribute("class", "innovastudio-editor");
+
+     if (ta.nextSibling) {
+       ta.parentNode.insertBefore(dv,ta.nextSibling);
+     } else {
+       ta.parentNode.appendChild(dv);
+     }
+  }
+  oEdit1.REPLACE(params.field, dvId);
+
+ // Find colorpicker; add class so we can fix the styling
+ var cpWrapper = document.getElementById("isClPiker"+"oEdit1");
+ if(!cpWrapper) {
+     alert("Error (debug)");
+ } else {
+     cpWrapper.className = "innovastudio-editor-colorpicker";
+ }
+
+};
+
+/**
+ * Detach a single or all editors.
+ *
+ * See Drupal.wysiwyg.editor.detach.none() for a full desciption of this hook.
+ */
+Drupal.wysiwyg.editor.detach.innovastudio = function(context, params) {
+};
+
