roller-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From snoopd...@apache.org
Subject svn commit: r454197 [13/29] - in /incubator/roller/trunk/web: WEB-INF/classes/ roller-ui/authoring/editors/ roller-ui/authoring/editors/xinha/ roller-ui/authoring/editors/xinha/conf/ roller-ui/authoring/editors/xinha/contrib/ roller-ui/authoring/editor...
Date Sun, 08 Oct 2006 19:54:16 GMT
Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/forms.js
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/forms.js?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/forms.js (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/forms.js Sun Oct  8 12:53:13 2006
@@ -0,0 +1,354 @@
+// Form plugin for HTMLArea
+// Distributed under the same terms as HTMLArea itself.
+// This notice MUST stay intact for use (see license.txt).
+
+
+function Forms(editor) {
+	this.editor = editor;
+	var cfg = editor.config;
+	var bl = Forms.btnList;
+	var self = this;
+	// register the toolbar buttons provided by this plugin
+  var toolbar = ["linebreak"];
+	for (var i = 0; i < bl.length; ++i) {
+		var btn = bl[i];
+		if (!btn) {
+			toolbar.push("separator");
+		} else {
+			var id = btn[0];
+			cfg.registerButton(id, HTMLArea._lc(btn[1]), editor.imgURL("ed_" + btn[0] + ".gif", "Forms"), false,
+					   function(editor, id) {
+						   // dispatch button press event
+						   self.buttonPress(editor, id);
+					   });
+			toolbar.push(id);
+		}
+	}
+	// add a new line in the toolbar
+	cfg.toolbar.push(toolbar);
+}
+
+Forms._pluginInfo = {
+  name          : "Forms",
+	origin        : "version: 1.0, by Nelson Bright, BrightWork, Inc., http://www.brightworkweb.com",
+	version       : "2.0",
+	developer     : "Udo Schmal",
+	developer_url : "",
+	sponsor       : "L.N.Schaffrath NeueMedien",
+	sponsor_url   : "http://www.schaffrath-neuemedien.de/",
+	c_owner       : "Udo Schmal & Schaffrath-NeueMedien",
+	license       : "htmlArea"
+};
+
+// the list of buttons added by this plugin
+Forms.btnList = [
+	// form properties button
+  null,			// separator
+	["form",        "Form"],
+	null,			// separator
+	// form elements
+	["textarea",    "Textarea"],
+	["select",      "Selection Field"],
+	["checkbox",    "Checkbox"],
+	["radio",       "Radio Button"],
+	["text",        "Text Field"],
+  ["password",    "Password Field"],
+  ["file",        "File Field"],
+	["button",      "Button"],
+  ["submit",      "Submit Button"],
+  ["reset",       "Reset Button"], 
+	["image",       "Image Button"],
+	["hidden",      "Hidden Field"],
+  ["label",       "Label"],
+  ["fieldset",    "Field Set"]
+	];
+
+Forms.prototype._lc = function(string) {
+    return HTMLArea._lc(string, 'Forms');
+};
+
+Forms.prototype.onGenerate = function() {
+  var style_id = "Form-style"
+  var style = this.editor._doc.getElementById(style_id);
+  if (style == null) {
+    style = this.editor._doc.createElement("link");
+    style.id = style_id;
+    style.rel = 'stylesheet';
+    style.href = _editor_url + 'plugins/Forms/forms.css';
+    this.editor._doc.getElementsByTagName("HEAD")[0].appendChild(style);
+  }
+};
+
+Forms.prototype.buttonPress = function(editor,button_id, node) {
+  function optionValues(text,value) {
+		this.text = text;
+		this.value = value;
+	}
+  var outparam = new Object();
+  var type = button_id;
+  var sel = editor._getSelection();
+  var range = editor._createRange(sel);
+  if (button_id=="form") { //Form
+  	// see if selection is inside an existing 'form' tag 
+	  var pe = editor.getParentElement();
+	  var frm = null;
+	  while (pe && (pe.nodeType == 1) && (pe.tagName.toLowerCase() != 'body')) {
+		  if(pe.tagName.toLowerCase() == "form") {
+			  frm = pe;
+			  break;
+		  } else 
+        pe = pe.parentNode;
+	  }
+	  if (frm) { 
+      outparam.f_name = frm.name;
+      outparam.f_action = frm.action;
+      outparam.f_method = frm.method;
+      outparam.f_enctype = frm.enctype;
+      outparam.f_target = frm.target;
+    } else {;
+      outparam.f_name = "";
+  	  outparam.f_action = "";
+	    outparam.f_method = "";
+      outparam.f_enctype = "";
+      outparam.f_target = "";
+    }
+  	editor._popupDialog("plugin://Forms/form", function(param) {
+  		if (param) {
+	  		if(frm) {
+			    frm.name	 = param["f_name"];
+          setAttr(frm, "action", param["f_action"]);
+          setAttr(frm, "method", param["f_method"]);
+          setAttr(frm, "enctype",param["f_enctype"]);
+          setAttr(frm, "target", param["f_target"]);
+		    } else {
+          frm = '<form name="' + param["f_name"] + '"';
+          if (param["f_action"] != "") frm += ' action="' + param["f_action"] + '"';
+				  if (param["f_method"] != "") frm += ' method="' + param["f_method"] + '"';
+          if (param["f_enctype"] != "") frm += ' enctype="' + param["f_enctype"] + '"';
+          if (param["f_target"] != "") frm += ' target="' + param["f_target"] + '"';
+          frm += '>';
+			    editor.surroundHTML(frm, '&nbsp;</form>');
+        }
+      }
+	  }, outparam);
+    
+  } else { // form element (checkbox, radio, text, password, textarea, select, button, submit, reset, image, hidden)
+	  var tagName = "";
+	  // see if selection is an form element
+	  if (typeof node == "undefined") {
+		  node = editor.getParentElement();
+		  var tag = node.tagName.toLowerCase()
+      if (node && (tag == "legend")) {
+        node = node.parentElement;
+        tag = node.tagName.toLowerCase();
+      }
+		  if (node && !(tag == "textarea" || tag == "select" || tag == "input" || tag == "label" || tag == "fieldset"))
+			  node = null;
+	  }
+
+	  if(node) {
+		  type = node.tagName.toLowerCase();
+      outparam.f_name = node.name;
+      tagName = node.tagName;
+      if (type == "input") {
+        outparam.f_type = node.type;
+        type = node.type;
+      }
+      switch (type) {
+        case "textarea":
+    		  outparam.f_cols = node.cols;
+				  outparam.f_rows = node.rows;
+				  outparam.f_text = node.innerHTML;
+          outparam.f_wrap = node.getAttribute("wrap");
+          outparam.f_readOnly = node.getAttribute("readOnly");
+          outparam.f_disabled = node.getAttribute("disabled");
+          outparam.f_tabindex = node.getAttribute("tabindex");
+          outparam.f_accesskey = node.getAttribute("accesskey");
+			    break;
+        case "select":
+			    outparam.f_size = parseInt(node.size);
+				  outparam.f_multiple = node.getAttribute("multiple");
+          outparam.f_disabled = node.getAttribute("disabled");
+          outparam.f_tabindex = node.getAttribute("tabindex");
+          var a_options = new Array(); 
+			    for (var i=0; i<=node.options.length-1; i++) {
+            a_options[i] = new optionValues(node.options[i].text, node.options[i].value);
+			    }
+			    outparam.f_options = a_options;
+				  break;
+			  case "text":
+			  case "password":
+				  outparam.f_value = node.value;
+					outparam.f_size = node.size;
+					outparam.f_maxLength = node.maxLength;
+          outparam.f_readOnly = node.getAttribute("readOnly");
+          outparam.f_disabled = node.getAttribute("disabled");
+          outparam.f_tabindex = node.getAttribute("tabindex");
+          outparam.f_accesskey = node.getAttribute("accesskey");
+					break;
+				case "hidden":
+          outparam.f_value = node.value;
+          break;
+				case "submit":
+				case "reset":
+				  outparam.f_value = node.value;
+          outparam.f_disabled = node.getAttribute("disabled");
+          outparam.f_tabindex = node.getAttribute("tabindex");
+          outparam.f_accesskey = node.getAttribute("accesskey");
+				  break;
+				case "checkbox":
+				case "radio": 
+				  outparam.f_value = node.value;
+		  		outparam.f_checked = node.checked;
+          outparam.f_disabled = node.getAttribute("disabled");
+          outparam.f_tabindex = node.getAttribute("tabindex");
+          outparam.f_accesskey = node.getAttribute("accesskey");
+			   	break;
+				case "button": 
+				  outparam.f_value = node.value;
+					outparam.f_onclick = node.getAttribute("onclick");
+          outparam.f_disabled = node.getAttribute("disabled");
+          outparam.f_tabindex = node.getAttribute("tabindex");
+          outparam.f_accesskey = node.getAttribute("accesskey");
+				  break;
+				case "image":
+				  outparam.f_value = node.value;
+					outparam.f_src = node.src;
+          outparam.f_disabled = node.getAttribute("disabled");
+          outparam.f_tabindex = node.getAttribute("tabindex");
+          outparam.f_accesskey = node.getAttribute("accesskey");
+				  break;
+        case "file":
+          outparam.f_disabled = node.getAttribute("disabled");
+          outparam.f_tabindex = node.getAttribute("tabindex");
+          outparam.f_accesskey = node.getAttribute("accesskey");
+				  break;
+        case "label":
+          outparam.f_text = node.innerHTML;
+          outparam.f_for = node.getAttribute("for");
+          outparam.f_accesskey = node.getAttribute("accesskey");
+          break;
+        case "fieldset":
+          if(node.firstChild.tagName.toLowerCase()=="legend")
+            outparam.f_text = node.firstChild.innerHTML;
+          else
+            outparam.f_text = "";
+          break;
+      }    
+		} else {
+      outparam.f_name = "";
+      switch (button_id) {
+        case "textarea":
+        case "select":
+        case "label":
+        case "fieldset":
+          tagName = button_id;
+          break;
+        default:
+          tagName = "input";
+          outparam.f_type = button_id;
+          break;
+      }
+      outparam.f_options = "";
+      outparam.f_cols = "20";
+		  outparam.f_rows = "4";
+		  outparam.f_multiple = "false";
+     	outparam.f_value = "";
+		  outparam.f_size = "";
+		  outparam.f_maxLength = "";
+		  outparam.f_checked = "";
+		  outparam.f_src = "";
+		  outparam.f_onclick = "";
+      outparam.f_wrap = "";
+      outparam.f_readOnly = "false";
+      outparam.f_disabled = "false";
+      outparam.f_tabindex = "";
+      outparam.f_accesskey = "";
+      outparam.f_for = "";
+      outparam.f_text = "";
+      outparam.f_legend = "";
+	  }
+  	editor._popupDialog("plugin://Forms/" + tagName + ".html", function(param) {
+	  	if (param) {
+        if(param["f_cols"])
+          if (isNaN(parseInt(param["f_cols"],10)) || parseInt(param["f_cols"],10) <= 0)
+            param["f_cols"] = "";
+        if(param["f_rows"])
+          if(isNaN(parseInt(param["f_rows"],10)) || parseInt(param["f_rows"],10) <= 0)
+            param["f_rows"] = "";
+        if(param["f_size"])
+          if(isNaN(parseInt(param["f_size"],10)) || parseInt(param["f_size"],10) <= 0)
+            param["f_size"] = "";
+        if(param["f_maxlength"])
+          if(isNaN(parseInt(param["f_maxLength"],10)) || parseInt(param["f_maxLength"],10) <= 0)
+            param["f_maxLength"] = "";
+		  	if(node) {
+          //prepare existing Element
+          for (field in param) {
+            alert(field.substring(2,20) + '=' + param[field]);
+					  if ((field=="f_text") || (field=="f_options") || (field=="f_onclick") || (field=="f_checked"))continue;
+            if (param[field] != "")
+              node.setAttribute(field.substring(2,20), param[field]);
+            else
+              node.removeAttribute(field.substring(2,20));
+				  }
+			    if (type == "textarea") {
+            node.innerHTML = param["f_text"];
+			    } else if(type == "select") {
+				    node.options.length = 0;
+				    var optionsList =  param["f_options"];
+				    for (i=0; i<= optionsList.length-1; i++) {
+					    node.options[i] = new Option(optionsList[i].text, optionsList[i].value)
+				    }
+			    } else if(type == "label") {
+				    node.innerHTML = param["f_text"];
+          } else if(type == "fieldset") {
+            if(outparam.f_text != "") {
+				      if(node.firstChild.tagName.toLowerCase()=="legend")
+                node.firstChild.innerHTML = param["f_text"];
+            } else {}// not implemented jet
+          } else if((type == "checkbox") || (type == "radio")) { //input
+              if(param["f_checked"]!="")
+						    node.checked = true;
+              else
+                node.checked = false;
+          } else {
+            if(param["f_onclick"]){
+				      node.onclick = "";
+					    if(param["f_onclick"]!="") 
+						    node.onclick = param["f_onclick"];
+            }
+			    }
+        } else {
+          //create Element
+          var text = "";
+          for (field in param) {
+					  if (!param[field]) continue;
+            if ((param[field]=="") || (field=="f_text")|| (field=="f_options"))continue;
+            text += " " + field.substring(2,20) + '="' + param[field] + '"';
+				  }
+
+			    if(type == "textarea") {
+				    text = '<textarea' + text + '>' + param["f_text"] + '</textarea>';
+			    } else if(type == "select") {
+				    text = '<select' + text + '>';
+				    var optionsList =  param["f_options"];
+				    for (i=0; i<= optionsList.length-1; i++) {
+					    text += '<option value="'+optionsList[i].value+'">'+optionsList[i].text+'</option>';
+				    }
+				    text += '</select>';
+          } else if(type == "label") {
+            text = '<label' + text + '>' + param["f_text"] + '</label>';
+          } else if(type == "fieldset") {
+            text = '<fieldset' + text + '>';
+            if (param["f_legend"] != "") text += '<legend>' + param["f_text"] + '</legend>';
+				    text += '</fieldset>';
+			    } else {
+				    text = '<input type="'+type+'"' + text + '>';
+			    }
+	        editor.insertHTML(text);
+        }
+      }
+	  }, outparam);
+  }  
+};
\ No newline at end of file

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_button.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_button.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_button.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_checkbox.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_checkbox.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_checkbox.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_fieldset.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_fieldset.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_fieldset.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_file.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_file.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_file.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_form.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_form.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_form.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_hidden.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_hidden.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_hidden.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_image.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_image.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_image.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_label.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_label.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_label.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_password.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_password.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_password.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_radio.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_radio.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_radio.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_reset.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_reset.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_reset.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_select.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_select.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_select.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_submit.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_submit.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_submit.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_text.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_text.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_text.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_textarea.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_textarea.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/img/ed_textarea.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/popups/fieldset.html
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/popups/fieldset.html?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/popups/fieldset.html (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/popups/fieldset.html Sun Oct  8 12:53:13 2006
@@ -0,0 +1,46 @@
+<html>
+
+<head>
+  <title>Insert/Edit Form Element FIELDSET</title>
+  <link rel="stylesheet" type="text/css" href="../../../popups/popup.css" />
+  <script type="text/javascript" src="../../../popups/popup.js"></script>
+
+<script type="text/javascript">
+function Init() {
+	window.resizeTo(350,320);
+  __dlg_translate("Forms");
+	__dlg_init();
+	var param = window.dialogArguments;
+  document.getElementById("f_text").value = param["f_text"];
+  document.getElementById("f_text").focus();
+}
+
+function onOK() {
+	// pass data back to the calling window
+  var param = new Object();
+  param["f_text"] = document.getElementById("f_text").value;
+	__dlg_close(param);
+  return false;
+}
+
+function onCancel() {
+	__dlg_close(null);
+	return false;
+}
+
+</script>
+</head>
+
+<body class="dialog" onload="Init()">
+  <div id="f_type" class="title">Form Element: FIELDSET</div>
+  <form action="" method="get">
+    <div class="fr">Legend:</div>
+    <input type="text" name="text" id="f_text" />
+    <p />
+    <div id="buttons">
+      <button type="button" name="ok" onclick="return onOK();">OK</button>
+      <button type="button" name="cancel" onclick="return onCancel();">Cancel</button>
+    </div>      
+  </form>
+</body>
+</html>
\ No newline at end of file

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/popups/form.html
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/popups/form.html?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/popups/form.html (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/popups/form.html Sun Oct  8 12:53:13 2006
@@ -0,0 +1,90 @@
+<html>
+
+<head>
+  <title>Insert/Edit Form</title>
+  <link rel="stylesheet" type="text/css" href="../../../popups/popup.css" />
+  <script type="text/javascript" src="../../../popups/popup.js"></script>
+
+<script type="text/javascript">
+
+var fields = ["f_name", "f_action", "f_method", "f_enctype", "f_target"];
+
+function Init() {
+  window.resizeTo(400, 170);
+  __dlg_translate("Forms");
+	__dlg_init();
+  var param = window.dialogArguments;
+  for (var i in fields) {
+    document.getElementById(fields[i]).value = param[fields[i]];
+  }
+ 	document.getElementById("f_name").focus();
+}
+
+function onOK() {
+  var required = {
+    "f_name": "You must enter the form name"
+  };
+  for (var i in required) {
+	  var el = document.getElementById(i);
+	  if (!el.value) {
+		alert(required[i]);
+		el.focus();
+		return false;
+	  }
+  }
+  // pass data back to the calling window
+  var param = new Object();
+  for (var i in fields) {
+    param[fields[i]] = document.getElementById(fields[i]).value;
+  }
+  __dlg_close(param);
+  return false;
+}
+
+function onCancel() {
+  __dlg_close(null);
+  return false;
+}
+</script>
+</head>
+
+<body class="dialog" onload="Init()">
+<div class="title">Form</div>
+<form action="" method="get">
+  <div class="fr">Form Name:</div>
+  <input type="text" name="name" id="f_name" size="20" title="Name" />
+  <p />
+
+  <fieldset>
+  <legend>Form handler script</legend>
+  <div class="space"></div>
+  <div class="fr">Action URL:</div>
+  <input name="action" id="f_action" type="text" size="30">
+  <p />
+  <div class="fr">Method:</div>
+  <select name="f_method" id="f_method">
+    <option value=""></option>
+    <option value="post">Post</option>
+    <option value="get">Get</option>
+  </select>
+  <div class="space"></div>
+  <div class="fr">Encoding:</div>
+  <select name="enctype" id="f_enctype">
+    <option value=""></option>
+    <option value="application/x-www-form-urlencoded">HTML-Form to CGI (default)</option>
+    <option value="multipart/form-data">multipart Form Data (File-Upload)</option>
+  </select>
+  <p />
+  <div class="fr">Target Frame:</div>
+  <input name="target" id="f_target" type="text" size="30">
+  <p />  
+  </fieldset>
+
+<div id="buttons">
+  <button type="button" name="ok" onclick="return onOK();">OK</button>
+  <button type="button" name="cancel" onclick="return onCancel();">Cancel</button>
+</div>
+</form>
+
+</body>
+</html>
\ No newline at end of file

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/popups/input.html
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/popups/input.html?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/popups/input.html (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/popups/input.html Sun Oct  8 12:53:13 2006
@@ -0,0 +1,179 @@
+<html>
+
+<head>
+  <title>Insert/Edit Form Element INPUT</title>
+  <link rel="stylesheet" type="text/css" href="../../../popups/popup.css" />
+  <script type="text/javascript" src="../../../popups/popup.js"></script>
+
+<script type="text/javascript">
+var fields = null;
+var type;
+function Init() {
+  __dlg_translate("Forms");
+	__dlg_init();
+	var param = window.dialogArguments;
+  type = param.f_type;
+  document.getElementById("f_type").innerHTML = 'Form Element: INPUT (' + type + ')';
+  document.getElementById("txt").style.display = "none";
+  document.getElementById("chk").style.display = "none";
+  document.getElementById("btn").style.display = "none";
+  document.getElementById("img").style.display = "none";
+  switch (type) {
+    case "text":
+    case "password":
+      fields = ["f_name", "f_value", "f_readOnly", "f_disabled", "f_tabindex", "f_accesskey", "f_size", "f_maxLength"];
+      height = 350;
+      document.getElementById("txt").style.display = "block";
+      break;
+    case "checkbox":
+		case "radio": 
+      fields = ["f_name", "f_value", "f_checked", "f_disabled", "f_tabindex", "f_accesskey"];
+      document.getElementById("chk").style.display = "block";
+      height = 280;
+      break;
+		case "button": 
+      fields = ["f_name", "f_value", "f_disabled", "f_onclick", "f_tabindex", "f_accesskey"];
+      document.getElementById("btn").style.display = "block";
+      height = 300;
+	    break;
+		case "file":
+      fields = ["f_name", "f_disabled", "f_tabindex", "f_accesskey"];
+      document.getElementById("f_value").disabled = true;
+      height = 280;
+      break;
+    case "image": 
+      fields = ["f_name", "f_disabled", "f_tabindex", "f_accesskey", "f_src"];
+      document.getElementById("img").style.display = "block";
+      document.getElementById("f_value").disabled = true;
+      height = 300;
+      break;
+    case "reset":
+    case "submit":
+      fields = ["f_name", "f_value", "f_disabled", "f_tabindex", "f_accesskey"];
+      height =260;
+      break;
+    case "hidden":
+      fields = ["f_name", "f_value"];
+      document.getElementById("f_disabled").disabled = true;
+      document.getElementById("f_tabindex").disabled = true;
+      document.getElementById("f_accesskey").disabled = true;
+      height =260;
+      break;
+  }
+  for (var i in fields) {
+    switch (fields[i]) { 
+    case "f_readOnly": 
+    case "f_disabled":
+    case "f_checked":
+      document.getElementById(fields[i]).checked = (param[fields[i]]==fields[i].substring(2,20)) || (param[fields[i]] == true); break;
+    default:
+      document.getElementById(fields[i]).value = param[fields[i]]; break;
+    }
+  }
+  window.resizeTo(320,height);
+	document.getElementById("f_name").focus();
+}
+
+function onOK() {
+	var el = document.getElementById("f_name");
+	if (!el.value) {
+  	alert("You must enter a Name");
+		el.focus();
+	  return false;
+	}
+  // pass data back to the calling window
+  var param = new Object();
+  for (var i in fields) {
+    switch (fields[i]) {
+    case "f_readOnly":
+    case "f_disabled":
+    case "f_checked":
+      if(HTMLArea.is_ie)
+        param[fields[i]] = (document.getElementById(fields[i]).checked)?true:"";
+      else
+        param[fields[i]] = (document.getElementById(fields[i]).checked)?fields[i].substring(2,20):"";
+      break;
+    default:
+      param[fields[i]] = document.getElementById(fields[i]).value; break;
+    }
+  }
+  __dlg_close(param);
+  return false;
+}
+
+function onCancel() {
+	__dlg_close(null);
+	return false;
+}
+</script>
+
+</head>
+
+<body class="dialog" onload="Init()">
+  <div id="f_type" class="title"></div>
+  <form action="" method="get">
+    <div class="fr">Name/ID:</div>
+    <input type="text" name="name" id="f_name" title="Name of the form input" />
+    <p />
+    <div class="fr">Value:</div>
+    <input type="text" name="value" id="f_value" title="Value of the form input" />
+    <p />
+    <div class="fr">Disabled</div>
+    <input type="checkbox" name="disabled" id="f_disabled" value="disabled" />
+    <p />
+    
+  <div id="chk">
+    <div class="fr">Checked</div>
+      <input name="checked" id="f_checked" type="checkbox" />
+    <p />
+	</div>
+	  
+    <div class="fr">Tab Index:</div>
+    <input type="text" name="tabindex" id="f_tabindex" />
+    <p />
+    <div class="fr">Access Key:</div>
+    <input type="text" name="accesskey" id="f_accesskey" />
+    <p />
+
+  <div id="txt">
+    <div class="fr">Read Only</div>
+    <input type="checkbox" name="readOnly" id="f_readOnly" value="readOnly" />
+    <p />
+    
+	  <fieldset>
+  	<legend>Dimensions</legend>
+      <div class="space"></div>
+      <div class="fr">Size:</div>
+      <input type="text" name="size" id="f_size" size="5" title="Size of text box in characters" />
+      <div class="space"></div>
+      <div class="fr">Max length:</div>
+      <input type="text" name="maxLength" id="f_maxLength" size="5"	title="Maximum number of characters accepted" />
+      <div class="space"></div>
+	  </fieldset>
+  </div>
+  <div id="btn">
+	  <fieldset>
+	  <legend> Button Script</legend>
+	    <div class="space"></div>
+      <div class="fr">'onClick'=</div>
+      <input type="text" name="onClick" id="f_onclick" title="Javascript for button click" />
+      <div class="space"></div>
+	  </fieldset>
+  </div>
+	<div id="img">
+	  <fieldset>
+	  <legend>Image source</legend>
+	    <div class="space"></div>
+      <div class="fr">Image URL:</div>
+      <input type="text" name="src" id="f_src" title="URL of image" />
+      <div class="space"></div>
+	  </fieldset>
+  </div>
+  <div id="buttons">
+    <button type="button" name="ok" onclick="return onOK();">OK</button>
+    <button type="button" name="cancel" onclick="return onCancel();">Cancel</button>
+  </div>  
+</form>
+
+</body>
+</html>
\ No newline at end of file

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/popups/label.html
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/popups/label.html?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/popups/label.html (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/popups/label.html Sun Oct  8 12:53:13 2006
@@ -0,0 +1,59 @@
+<html>
+
+<head>
+  <title>Insert/Edit Form Element LABEL</title>
+  <link rel="stylesheet" type="text/css" href="../../../popups/popup.css" />
+  <script type="text/javascript" src="../../../popups/popup.js"></script>
+
+<script type="text/javascript">
+var fields = ["f_text","f_for","f_accesskey"];
+
+function Init() {
+	window.resizeTo(350,320);
+  __dlg_translate("Forms");
+	__dlg_init();
+	var param = window.dialogArguments;
+  for (var i in fields) {
+    document.getElementById(fields[i]).value = param[fields[i]];
+  }
+  document.getElementById("f_text").focus();
+}
+
+function onOK() {
+	// pass data back to the calling window
+    // pass data back to the calling window
+  var param = new Object();
+  for (var i in fields) {
+    param[fields[i]] = document.getElementById(fields[i]).value;
+  }
+	__dlg_close(param);
+  return false;
+}
+
+function onCancel() {
+	__dlg_close(null);
+	return false;
+}
+
+</script>
+</head>
+
+<body class="dialog" onload="Init()">
+  <div id="f_type" class="title">Form Element: LABEL</div>
+  <form action="" method="get">
+    <div class="fr">Text:</div>
+    <input type="text" name="text" id="f_text" />
+    <p />
+    <div class="fr">For Control:</div>
+    <input type="text" name="for" id="f_for" />
+    <p />
+    <div class="fr">Access Key:</div>
+    <input type="text" name="accesskey" id="f_accesskey" />
+    <p />
+    <div id="buttons">
+      <button type="button" name="ok" onclick="return onOK();">OK</button>
+      <button type="button" name="cancel" onclick="return onCancel();">Cancel</button>
+    </div>      
+  </form>
+</body>
+</html>
\ No newline at end of file

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/popups/select.html
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/popups/select.html?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/popups/select.html (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/popups/select.html Sun Oct  8 12:53:13 2006
@@ -0,0 +1,209 @@
+<html>
+
+<head>
+  <title>Insert/Edit Form Element SELECT</title>
+  <link rel="stylesheet" type="text/css" href="../../../popups/popup.css" />
+  <script type="text/javascript" src="../../../popups/popup.js"></script>
+
+<script type="text/javascript">
+var fields = ["f_name", "f_size", "f_tabindex", "f_multiple", "f_disabled"];
+
+function Init() {
+	window.resizeTo(350,320);
+  __dlg_translate("Forms");
+	__dlg_init();
+	var param = window.dialogArguments;
+  for (var i in fields) {
+    switch (fields[i]) {
+    case "f_multiple":
+    case "f_disabled":
+      document.getElementById(fields[i]).checked = (param[fields[i]]==fields[i].substring(2,20)) || (param[fields[i]] == true); break;
+    case "f_size":
+      document.getElementById(fields[i]).value = (param[fields[i]]<=0)?"":param[fields[i]]; break;
+    default:
+      document.getElementById(fields[i]).value = param[fields[i]]; break;
+    }
+  }
+  for (var i=0; i<=param.f_options.length-1; i++) {
+		document.getElementById("f_select").options[i] = new Option(param.f_options[i].text, param.f_options[i].value);
+	}
+  document.getElementById("f_name").focus();
+}
+
+function onOK() {
+	var el = document.getElementById("f_name");
+	if (!el.value) {
+  	alert("You must enter a Name");
+		el.focus();
+	  return false;
+	}
+  // pass data back to the calling window
+  var param = new Object();
+  for (var i in fields) {
+    switch (fields[i]) { 
+    case "f_multiple":
+      if (document.getElementById("f_size").value=="1") 
+        param["f_multiple"] = "";
+      else
+  	    param["f_multiple"] = (document.getElementById(fields[i]).checked)?"multiple":"";
+	    break;
+    case "f_disabled":
+      param[fields[i]] = (document.getElementById(fields[i]).checked)?"disabled":""; break;
+    default:
+      param[fields[i]] = document.getElementById(fields[i]).value; break;
+    }
+  }
+  function optionValues(text,value) {
+		this.text = text;
+		this.value = value;
+	}
+	optionNodes = new Array(); // for option text/value pairs
+	for (var i=0; i<= document.getElementById("f_select").options.length-1; i++) {
+		optionNodes[i] = new optionValues(document.getElementById("f_select").options[i].text, document.getElementById("f_select").options[i].value);
+	}
+	param["f_options"] = optionNodes;
+	__dlg_close(param);
+  return false;
+}
+
+function onCancel() {
+	__dlg_close(null);
+	return false;
+}
+
+
+//functions to build select options list
+//Populates Label and Value fields with selected option values
+function getValues(){
+	var d = document;
+	d.getElementById("f_optionvalue").value = d.getElementById("f_select").options[d.getElementById("f_select").selectedIndex].value;
+	d.getElementById("f_optiontext").value = d.getElementById("f_select").options[d.getElementById("f_select").selectedIndex].text;
+	d.getElementById("f_update").value ="Update Option";
+}
+
+//Add or update options to the select box
+function addItem(item) {
+	var d = document;
+	if (item.f_optiontext.value =="") {alert("Please enter a Label");}
+ 	else { 
+		if (d.getElementById("f_select").options.selectedIndex != -1) { //update item
+			var indx = d.getElementById("f_select").options.selectedIndex;
+			d.getElementById("f_select").options[indx].text=d.getElementById("f_optiontext").value;
+			d.getElementById("f_select").options[indx].value=d.getElementById("f_optionvalue").value;
+		} else { //add new item
+			var newItem = d.getElementById("f_select").options.length++;
+			d.getElementById("f_select").options[newItem].text=d.getElementById("f_optiontext").value;
+			d.getElementById("f_select").options[newItem].value=d.getElementById("f_optionvalue").value;
+		}
+		d.getElementById("f_select").selectedIndex = -1; //deselect
+		d.getElementById("f_optiontext").value="";//clean up
+		d.getElementById("f_optionvalue").value="";
+		d.getElementById("f_update").value ="Add Option";
+		d.getElementById("f_optiontext").focus();
+	}
+}
+//Clears selected option
+function deleteItem() {
+	var d = document;
+	for (var i = d.getElementById("f_select").options.length - 1; i>=0; i--) { 
+		var opt = d.getElementById("f_select").options[i]; 
+		if (opt.selected) { 
+			d.getElementById("f_select").options[i] = null; 
+		} 
+	} 
+	d.getElementById("f_select").selectedIndex = -1; 
+	d.getElementById("f_optiontext").value="";
+	d.getElementById("f_optionvalue").value="";
+	d.getElementById("f_optiontext").focus();
+} 
+//Moves selected option up
+function moveOptionUp() {
+	var d = document;
+	for (i=0; i<d.getElementById("f_select").options.length; i++) {
+		if (d.getElementById("f_select").options[i].selected) {
+			if (i != 0 && !d.getElementById("f_select").options[i-1].selected) {
+				swapOptions(d.getElementById("f_select"),i,i-1);
+				d.getElementById("f_select").options[i-1].selected = true;
+			}
+		}
+	}
+}
+//Moves selected option down
+function moveOptionDown() {
+	var d = document;
+	for (i=d.getElementById("f_select").options.length-1; i>=0; i--) {
+		if (d.getElementById("f_select").options[i].selected) {
+			if (i != (d.getElementById("f_select").options.length-1) && ! d.getElementById("f_select").options[i+1].selected) {
+				swapOptions(d.getElementById("f_select"),i,i+1);
+				d.getElementById("f_select").options[i+1].selected = true;
+			}
+		}
+	}
+}
+	
+function swapOptions(obj,i,j) {
+	var o = obj.options;
+	var i_selected = o[i].selected;
+	var j_selected = o[j].selected;
+	var temp = new Option(o[i].text, o[i].value);
+	var temp2= new Option(o[j].text, o[j].value);
+	o[i] = temp2;
+	o[j] = temp;
+	o[i].selected = j_selected;
+	o[j].selected = i_selected;
+}
+</script>
+</head>
+
+<body class="dialog" onload="Init()">
+  <div id="f_type" class="title">Form Element: SELECT</div>
+  <form action="" method="get">
+    <div class="fr">Name/ID:</div>
+    <input type="text" name="name" id="f_name" title="Name of the form select" />
+    <p />
+    <div class="fr">Size:</div>
+    <input name="size" id="f_size" type="text" value="" size="15" />
+    <p />
+		<div class="fr"><nobr>Multiple Select</nobr></div>
+    <input name="multiple" id="f_multiple" type="checkbox" value="multiple" />
+    <p />
+    <div class="fr">Disabled</div>
+    <input type="checkbox" name="disabled" id="f_disabled" value="disabled" />
+    <p />
+    <div class="fr">Tab Index:</div>
+    <input type="text" name="tabindex" id="f_tabindex" />
+    <p />
+    <div class="space"></div>
+    <fieldset id="fldLayout">
+	  <legend>Options</legend>
+      <table border="0" cellspacing="0" width="100%">
+		  <tr>
+      <td align="right">
+        <select name="select" id="f_select" Size="6" onchange="getValues();"  style="width:16em">
+   	    </select>
+      </td>
+      <td align="center">
+        <input type="button" name="up" value="Move Up" style="width:6em" onClick="moveOptionUp()"><br />
+	      <input type="button" name="down" value="Move Down" style="width:6em" onClick="moveOptionDown()"><br />
+        <input type="button" name="delete" value="Delete" style="width:6em" onClick="deleteItem();">
+      </td>
+      </tr>
+      </table>
+      <div class="space"></div>
+      <table border="0" cellspacing="0" width="100%">
+		  <tr>
+			  <td align="right">Lable:</td>
+			  <td><input type="text" id="f_optiontext" name="optionText" value="" size="15"></td>
+			  <td align="right">Value:</td>
+			  <td><input name="optionValue" id="f_optionvalue" type="text" value="" size="15"></td>
+        <td><input type="button" name="update" id="f_update" value="Add" onclick="addItem(document.forms[0])"></td>
+		  </tr>
+		  </table>
+	  </fieldset>
+	  <div id="buttons">
+      <button type="button" name="ok" onclick="return onOK();">OK</button>
+      <button type="button" name="cancel" onclick="return onCancel();">Cancel</button>
+    </div>      
+  </form>
+</body>
+</html>
\ No newline at end of file

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/popups/textarea.html
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/popups/textarea.html?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/popups/textarea.html (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/Forms/popups/textarea.html Sun Oct  8 12:53:13 2006
@@ -0,0 +1,113 @@
+<html>
+
+<head>
+  <title>Insert/Edit Form Element TEXTAREA</title>
+  <link rel="stylesheet" type="text/css" href="../../../popups/popup.css" />
+  <script type="text/javascript" src="../../../popups/popup.js"></script>
+
+<script type="text/javascript">
+
+var fields = ["f_name", "f_text", "f_cols", "f_rows", "f_wrap", "f_tabindex", "f_accesskey", "f_readOnly", "f_disabled"];
+
+function Init() {
+  window.resizeTo(280,260);
+  __dlg_translate("Forms");
+	__dlg_init();
+	var param = window.dialogArguments;
+  for (var i in fields) {
+    switch (fields[i]) { 
+    case "f_readOnly":
+    case "f_disabled":
+      document.getElementById(fields[i]).checked = (param[fields[i]]==fields[i].substring(2,20)) || (param[fields[i]] == true);  break;
+    default:
+      document.getElementById(fields[i]).value = param[fields[i]]; break;
+    }
+  }
+  document.getElementById("f_name").focus();
+}
+
+function onOK() {
+	var el = document.getElementById("f_name");
+	if (!el.value) {
+  	alert("You must enter a Name");
+		el.focus();
+	  return false;
+	}
+  // pass data back to the calling window
+  var param = new Object();
+  for (var i in fields) {
+    switch (fields[i]) { 
+    case "f_readOnly":
+    case "f_disabled":
+      if(HTMLArea.is_ie)
+        param[fields[i]] = (document.getElementById(fields[i]).checked)?true:"";
+      else
+        param[fields[i]] = (document.getElementById(fields[i]).checked)?fields[i].substring(2,20):"";
+      break;
+    default:
+      param[fields[i]] = document.getElementById(fields[i]).value; break;
+    }
+  }
+  __dlg_close(param);
+  return false;
+}
+
+function onCancel() {
+	__dlg_close(null);
+	return false;
+}
+</script>
+</head>
+
+<body class="dialog" onload="Init()">
+<div id="f_type" class="title">Form Element: TEXTAREA</div>
+<form action="" method="get">
+  <div class="fr">Name/ID:</div>
+  <input type="text" name="name" id="f_name" title="name of the textarea" />
+  <p />
+  <fieldset>
+	<legend>Dimensions</legend>
+    <div class="fr">Columns:</div>
+    <input type="text" name="cols" id="f_cols" size="5" title="Width in number of characters" />
+    <p />
+    <div class="fr">Rows:</div>
+		<input type="text" name="rows" id="f_rows" size="5" title="Height in number of rows" />
+    <p />
+	</fieldset>
+  <div class="space"></div>
+  <div class="fr">Wrap Mode:</div>
+  <select name="wrap" id="f_wrap">
+    <option value=""></option>
+    <option value="off">Off</option>
+    <option value="soft">Soft</option>
+    <option value="hard">Hard</option>
+    <option value="physical">Physical</option>
+    <option value="virtual">Virtual</option>
+    <option value="normal">normal</option>
+    <option value="nowrap">nowrap</option>
+    <option value="pre">pre</option>    
+  </select>
+  <p />
+  <div class="fr">Read Only</div>
+  <input type="checkbox" name="readOnly" id="f_readOnly" value="readOnly" />
+  <p />
+  <div class="fr">Disabled</div>
+  <input type="checkbox" name="disabled" id="f_disabled" value="disabled" />
+  <p />
+  <div class="fr">Tab Index:</div>
+  <input type="text" name="tabindex" id="f_tabindex" />
+  <p />
+  <div class="fr">Access Key:</div>
+  <input type="text" name="accesskey" id="f_accesskey" />
+  <p />
+  
+  <div class="fr">Initial Text:</div>
+  <input type="text" name="text" id="f_text" title="Default text (optional)" />
+  <div id="buttons">
+    <button type="button" name="ok" onclick="return onOK();">OK</button>
+    <button type="button" name="cancel" onclick="return onCancel();">Cancel</button>
+  </div>  
+</form>
+
+</body>
+</html>
\ No newline at end of file

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/full-page.js
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/full-page.js?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/full-page.js (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/full-page.js Sun Oct  8 12:53:13 2006
@@ -0,0 +1,209 @@
+// FullPage Plugin for HTMLArea-3.0
+// Implementation by Mihai Bazon.  Sponsored by http://thycotic.com
+//
+// htmlArea v3.0 - Copyright (c) 2002 interactivetools.com, inc.
+// This notice MUST stay intact for use (see license.txt).
+//
+// A free WYSIWYG editor replacement for <textarea> fields.
+// For full source code and docs, visit http://www.interactivetools.com/
+//
+// Version 3.0 developed by Mihai Bazon for InteractiveTools.
+//   http://dynarch.com/mishoo
+//
+// $Id: full-page.js 419 2005-10-31 05:33:41Z mokhet $
+
+function FullPage(editor) {
+	this.editor = editor;
+
+	var cfg = editor.config;
+	cfg.fullPage = true;
+	var self = this;
+
+	cfg.registerButton("FP-docprop", this._lc("Document properties"), editor.imgURL("docprop.gif", "FullPage"), false,
+			   function(editor, id) {
+				   self.buttonPress(editor, id);
+			   });
+
+	// add a new line in the toolbar
+	cfg.addToolbarElement(["separator","FP-docprop"],"separator",-1);
+}
+
+FullPage._pluginInfo = {
+	name          : "FullPage",
+	version       : "1.0",
+	developer     : "Mihai Bazon",
+	developer_url : "http://dynarch.com/mishoo/",
+	c_owner       : "Mihai Bazon",
+	sponsor       : "Thycotic Software Ltd.",
+	sponsor_url   : "http://thycotic.com",
+	license       : "htmlArea"
+};
+
+FullPage.prototype._lc = function(string) {
+    return HTMLArea._lc(string, 'FullPage');
+};
+
+FullPage.prototype.buttonPress = function(editor, id) {
+	var self = this;
+	switch (id) {
+	    case "FP-docprop":
+		var doc = editor._doc;
+		var links = doc.getElementsByTagName("link");
+		var style1 = '';
+		var style2 = '';
+		var keywords = '';
+		var description = '';
+		var charset = '';
+		for (var i = links.length; --i >= 0;) {
+			var link = links[i];
+			if (/stylesheet/i.test(link.rel)) {
+				if (/alternate/i.test(link.rel))
+					style2 = link.href;
+				else
+					style1 = link.href;
+			}
+		}
+		var metas = doc.getElementsByTagName("meta");
+		for (var i = metas.length; --i >= 0;) {
+			var meta = metas[i];
+			if (/content-type/i.test(meta.httpEquiv)) {
+				r = /^text\/html; *charset=(.*)$/i.exec(meta.content);
+				charset = r[1];
+			} else if ((/keywords/i.test(meta.name)) || (/keywords/i.test(meta.id))) {
+				keywords = meta.content;
+			}	else if ((/description/i.test(meta.name)) || (/description/i.test(meta.id))) {
+				description = meta.content;
+			}
+		}
+		var title = doc.getElementsByTagName("title")[0];
+		title = title ? title.innerHTML : '';
+		var init = {
+			f_doctype      : editor.doctype,
+			f_title        : title,
+			f_body_bgcolor : HTMLArea._colorToRgb(doc.body.style.backgroundColor),
+			f_body_fgcolor : HTMLArea._colorToRgb(doc.body.style.color),
+			f_base_style   : style1,
+			f_alt_style    : style2,
+			f_charset      : charset,
+			f_keywords     : keywords,
+			f_description  : description,
+			editor         : editor
+		};
+		editor._popupDialog("plugin://FullPage/docprop", function(params) {
+			self.setDocProp(params);
+		}, init);
+		break;
+	}
+};
+
+FullPage.prototype.setDocProp = function(params) {
+	var txt = "";
+	var doc = this.editor._doc;
+	var head = doc.getElementsByTagName("head")[0];
+	var links = doc.getElementsByTagName("link");
+	var metas = doc.getElementsByTagName("meta");
+	var style1 = null;
+	var style2 = null;
+	var charset = null;
+	var charset_meta = null;
+	var keywords = null;
+	var description = null;
+	for (var i = links.length; --i >= 0;) {
+		var link = links[i];
+		if (/stylesheet/i.test(link.rel)) {
+			if (/alternate/i.test(link.rel))
+				style2 = link;
+			else
+				style1 = link;
+		}
+	}
+	for (var i = metas.length; --i >= 0;) {
+		var meta = metas[i];
+		if (/content-type/i.test(meta.httpEquiv)) {
+			r = /^text\/html; *charset=(.*)$/i.exec(meta.content);
+			charset = r[1];
+			charset_meta = meta;
+		} else if ((/keywords/i.test(meta.name)) || (/keywords/i.test(meta.id))) {
+			keywords = meta;
+		}	else if ((/description/i.test(meta.name)) || (/description/i.test(meta.id))) {
+			description = meta;
+		}
+	}
+	function createLink(alt) {
+		var link = doc.createElement("link");
+		link.rel = alt ? "alternate stylesheet" : "stylesheet";
+		head.appendChild(link);
+		return link;
+	}
+	function createMeta(httpEquiv, name, content) {
+		var meta = doc.createElement("meta");
+		if (httpEquiv!="") meta.httpEquiv = httpEquiv;
+		if (name!="") meta.name = name;
+		if (name!="") meta.id = name;
+		meta.content = content;
+		head.appendChild(meta);
+		return meta;
+	}
+
+	if (!style1 && params.f_base_style)
+		style1 = createLink(false);
+	if (params.f_base_style)
+		style1.href = params.f_base_style;
+	else if (style1)
+		head.removeChild(style1);
+
+	if (!style2 && params.f_alt_style)
+		style2 = createLink(true);
+	if (params.f_alt_style)
+		style2.href = params.f_alt_style;
+	else if (style2)
+		head.removeChild(style2);
+
+	if (charset_meta) {
+		head.removeChild(charset_meta);
+		charset_meta = null;
+	}
+	if (!charset_meta && params.f_charset)
+		charset_meta = createMeta("Content-Type","", "text/html; charset="+params.f_charset);
+
+	if (!keywords && params.f_keywords)
+		keywords = createMeta("","keywords", params.f_keywords);
+	else if (params.f_keywords)
+		keywords.content = params.f_keywords;
+	else if (keywords)
+		head.removeChild(keywords);
+
+	if (!description && params.f_description)
+		description = createMeta("","description", params.f_description);
+	else if (params.f_description)
+		description.content = params.f_description;
+	else if (description)
+		head.removeChild(description);
+
+  	for (var i in params) {
+		var val = params[i];
+		switch (i) {
+		    case "f_title":
+			var title = doc.getElementsByTagName("title")[0];
+			if (!title) {
+				title = doc.createElement("title");
+				head.appendChild(title);
+			} else while (node = title.lastChild)
+				title.removeChild(node);
+			if (!HTMLArea.is_ie)
+				title.appendChild(doc.createTextNode(val));
+			else
+				doc.title = val;
+			break;
+		    case "f_doctype":
+			this.editor.setDoctype(val);
+			break;
+		    case "f_body_bgcolor":
+			doc.body.style.backgroundColor = val;
+			break;
+		    case "f_body_fgcolor":
+			doc.body.style.color = val;
+			break;
+		}
+	}
+};
\ No newline at end of file

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/img/docprop.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/img/docprop.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/img/docprop.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/lang/de.js
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/lang/de.js?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/lang/de.js (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/lang/de.js Sun Oct  8 12:53:13 2006
@@ -0,0 +1,18 @@
+// I18N for the FullPage plugin
+// LANG: "de", ENCODING: UTF-8
+// Author: Holger Hees, http://www.systemconcept.de
+{
+  "Alternate style-sheet:": "Alternativer Stylesheet:",
+  "Background color:": "Hintergrundfarbe:",
+  "Cancel": "Abbrechen",
+  "DOCTYPE:": "DOCTYPE:",
+  "Document properties": "Dokumenteigenschaften",
+  "Document title:": "Dokumenttitel:",
+  "OK": "OK",
+  "Primary style-sheet:": "Stylesheet:",
+  "Text color:": "Textfarbe:",
+  "Character set:": "Zeichensatz",
+  "Description:": "Beschreibung",
+  "Keywords:": "Schlüsselworte",
+  "UTF-8 (recommended)": "UTF-8 (empfohlen)"
+}

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/lang/fr.js
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/lang/fr.js?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/lang/fr.js (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/lang/fr.js Sun Oct  8 12:53:13 2006
@@ -0,0 +1,17 @@
+// I18N for the FullPage plugin
+// LANG: "fr", ENCODING: UTF-8
+{
+  "Alternate style-sheet:": "Feuille CSS alternative",
+  "Background color:": "Couleur d'arrière plan",
+  "Cancel": "Annuler",
+  "DOCTYPE:": "DOCTYPE",
+  "Document properties": "Propriétés du document",
+  "Document title:": "Titre du document",
+  "OK": "OK",
+  "Primary style-sheet:": "Feuille CSS primaire",
+  "Text color:": "Couleur de texte",
+  "Character set:": "Jeu de caractères",
+  "Description:": "Description",
+  "Keywords:": "Mots clés",
+  "UTF-8 (recommended)": "UTF-8 (recommandé)"
+};
\ No newline at end of file

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/lang/he.js
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/lang/he.js?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/lang/he.js (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/lang/he.js Sun Oct  8 12:53:13 2006
@@ -0,0 +1,14 @@
+// I18N for the FullPage plugin
+// LANG: "he", ENCODING: UTF-8
+// Author: Liron Newman, http://www.eesh.net, <plastish at ultinet dot org>
+{
+  "Alternate style-sheet:": "גיליון סגנון אחר:",
+  "Background color:": "צבע רקע:",
+  "Cancel": "ביטול",
+  "DOCTYPE:": "DOCTYPE:",
+  "Document properties": "מאפייני מסמך",
+  "Document title:": "כותרת מסמך:",
+  "OK": "אישור",
+  "Primary style-sheet:": "גיליון סגנון ראשי:",
+  "Text color:": "צבע טקסט:"
+};

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/lang/nb.js
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/lang/nb.js?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/lang/nb.js (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/lang/nb.js Sun Oct  8 12:53:13 2006
@@ -0,0 +1,17 @@
+// I18N constants
+// LANG: "nb", ENCODING: UTF-8
+// translated: Kim Steinhaug, http://www.steinhaug.com/, kim@steinhaug.com
+{
+  "Alternate style-sheet:": "Alternativt stilsett:",
+  "Background color:": "Bakgrunnsfarge:",
+  "Cancel": "Avbryt",
+  "DOCTYPE:": "DOCTYPE:",
+  "Keywords:": "Nøkkelord",
+  "Description:": "Beskrivelse",
+  "Character set:": "Tegnsett",
+  "Document properties": "Egenskaper for dokument",
+  "Document title:": "Tittel på dokument:",
+  "OK": "OK",
+  "Primary style-sheet:": "Stilsett:",
+  "Text color:": "Tekstfarge:"
+};
\ No newline at end of file

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/lang/nl.js
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/lang/nl.js?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/lang/nl.js (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/lang/nl.js Sun Oct  8 12:53:13 2006
@@ -0,0 +1,13 @@
+// I18N for the FullPage plugin
+// LANG: "nl", ENCODING: UTF-8
+{
+  "Alternate style-sheet:": "Wisselen van style-sheet:",
+  "Background color:": "Achtergrondkleur:",
+  "Cancel": "Annuleren",
+  "DOCTYPE:": "DOCTYPE:",
+  "Document properties": "Documenteigenschappen",
+  "Document title:": "Documenttitel:",
+  "OK": "OK",
+  "Primary style-sheet:": "Primaire style-sheet:",
+  "Text color:": "Tekstkleur:"
+};
\ No newline at end of file

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/lang/no.js
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/lang/no.js?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/lang/no.js (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/lang/no.js Sun Oct  8 12:53:13 2006
@@ -0,0 +1,17 @@
+// I18N constants
+// LANG: "no", ENCODING: UTF-8
+// translated: Kim Steinhaug, http://www.steinhaug.com/, kim@steinhaug.com
+{
+  "Alternate style-sheet:": "Alternativt stilsett:",
+  "Background color:": "Bakgrunnsfarge:",
+  "Cancel": "Avbryt",
+  "DOCTYPE:": "DOCTYPE:",
+  "Keywords:": "Nøkkelord",
+  "Description:": "Beskrivelse",
+  "Character set:": "Tegnsett",
+  "Document properties": "Egenskaper for dokument",
+  "Document title:": "Tittel på dokument:",
+  "OK": "OK",
+  "Primary style-sheet:": "Stilsett:",
+  "Text color:": "Tekstfarge:"
+};
\ No newline at end of file

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/lang/pl.js
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/lang/pl.js?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/lang/pl.js (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/lang/pl.js Sun Oct  8 12:53:13 2006
@@ -0,0 +1,18 @@
+// I18N for the FullPage plugin
+// LANG: "pl", ENCODING: UTF-8
+// translated: Krzysztof Kotowicz, koto1sa@o2.pl, http://www.eskot.krakow.pl/portfolio
+{
+  "Alternate style-sheet:": "Alternatywny arkusz stylów:",
+  "Background color:": "Kolor tła:",
+  "Cancel": "Anuluj",
+  "DOCTYPE:": "DOCTYPE:",
+  "Document properties": "Właściwości dokumentu",
+  "Document title:": "Tytuł dokumentu:",
+  "OK": "OK",
+  "Primary style-sheet:": "Arkusz stylów:",
+  "Text color:": "Kolor tekstu:",
+  "Character set:": "Zestaw znaków",
+  "Description:": "Opis",
+  "Keywords:": "Słowa kluczowe",
+  "UTF-8 (recommended)": "UTF-8 (zalecany)"
+};

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/lang/ro.js
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/lang/ro.js?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/lang/ro.js (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/lang/ro.js Sun Oct  8 12:53:13 2006
@@ -0,0 +1,14 @@
+// I18N for the FullPage plugin
+// LANG: "en", ENCODING: UTF-8
+// Author: Mihai Bazon, http://dynarch.com/mishoo
+{
+  "Alternate style-sheet:": "Template CSS alternativ:",
+  "Background color:": "Culoare de fundal:",
+  "Cancel": "Renunţă",
+  "DOCTYPE:": "DOCTYPE:",
+  "Document properties": "Proprietăţile documentului",
+  "Document title:": "Titlul documentului:",
+  "OK": "Acceptă",
+  "Primary style-sheet:": "Template CSS principal:",
+  "Text color:": "Culoare text:"
+};

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/popups/docprop.html
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/popups/docprop.html?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/popups/docprop.html (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/popups/docprop.html Sun Oct  8 12:53:13 2006
@@ -0,0 +1,142 @@
+<html>
+<head>
+<title>Document properties</title>
+<script type="text/javascript" src="../../../popups/popup.js"></script>
+<script type="text/javascript" src="../../../popups/color_picker.js"></script>
+<link rel="stylesheet" type="text/css" href="../../../popups/popup.css" />
+<script type="text/javascript">
+FullPage = window.opener.FullPage; // load the FullPage plugin and lang file ;-)
+window.resizeTo(400, 130);
+var accepted = {
+  f_doctype       : true,
+  f_title         : true,
+  f_body_bgcolor  : true,
+  f_body_fgcolor  : true,
+  f_base_style    : true,
+  f_alt_style     : true,
+  f_charset       : true,
+  f_keywords      : true,
+  f_description   : true
+};
+
+var editor = null;
+function Init() {
+  __dlg_translate('FullPage');
+  __dlg_init();
+  var params = window.dialogArguments;
+  for (var i in params) {
+    if (i in accepted) {
+      var el = document.getElementById(i);
+      el.value = params[i];
+    }
+  }
+  editor = params.editor;
+
+  var bgCol_pick = document.getElementById('bgCol_pick');
+  var f_body_bgcolor = document.getElementById('f_body_bgcolor');
+  var bgColPicker = new colorPicker({cellsize:'5px',callback:function(color){f_body_bgcolor.value=color;}});
+  bgCol_pick.onclick = function() { bgColPicker.open('top,right', f_body_bgcolor ); }
+
+  var fgCol_pick = document.getElementById('fgCol_pick');
+  var f_body_fgcolor = document.getElementById('f_body_fgcolor');
+  var fgColPicker = new colorPicker({cellsize:'5px',callback:function(color){f_body_fgcolor.value=color;}});
+  fgCol_pick.onclick = function() { fgColPicker.open('top,right', f_body_fgcolor ); }
+
+  document.getElementById("f_title").focus();
+  document.getElementById("f_title").select();
+}
+
+function onOK() {
+  var required = {
+  };
+  for (var i in required) {
+    var el = document.getElementById(i);
+    if (!el.value) {
+      alert(required[i]);
+      el.focus();
+      return false;
+    }
+  }
+
+  var param = {};
+  for (var i in accepted) {
+    var el = document.getElementById(i);
+    param[i] = el.value;
+  }
+  __dlg_close(param);
+  return false;
+}
+
+function onCancel() {
+  __dlg_close(null);
+  return false;
+}
+</script>
+<style type="text/css">
+.fr { width: 11em; float: left; padding: 2px 5px; text-align: right; }
+.txt { width:200px; }
+div { clear:both; }
+.picker { width:30px; }
+</style>
+</head>
+
+<body class="dialog" onload="Init()">
+
+<div class="title">Document properties</div>
+
+<div>
+  <label class="fr" for="f_title">Document title:</label>
+  <input type="text" id="f_title" class="txt" />
+</div>
+<div>
+  <label class="fr" for="f_doctype">DOCTYPE:</label>
+  <input type="text" id="f_doctype" class="txt" />
+</div>
+<div>
+  <label class="fr" for="f_keywords">Keywords:</label>
+
+  <input type="text" id="f_keywords" class="txt" />
+</div>
+<div>
+  <label class="fr" for="f_description">Description:</label>
+  <input type="text" id="f_description" class="txt" />
+</div>
+<div>
+  <label class="fr" for="f_charset">Character set:</label>
+  <select id="f_charset" class="txt">
+    <option value=""></option>
+    <option value="utf-8">UTF-8 (recommended)</option>
+    <option value="windows-1251">cyrillic (WINDOWS-1251)</option>
+
+    <option value="koi8-r">cyrillic (KOI8-R)</option>
+    <option value="iso-8859-5">cyrillic (ISO-8859-5)</option>
+    <option value="iso-8859-1">western (ISO-8859-1)</option>
+  </select>
+</div>
+<div>
+  <label class="fr" for="f_base_style">Primary style-sheet:</label>
+  <input type="text" id="f_base_style" class="txt" />
+</div>
+<div>
+  <label class="fr" for="f_alt_style">Alternate style-sheet:</label>
+  <input type="text" id="f_alt_style" class="txt" />
+</div>
+<div>
+  <label class="fr" for="f_body_bgcolor">Background color:</label>
+  <input name="f_body_bgcolor" type="text" id="f_body_bgcolor" size="7" />
+  <button type="button" id="bgCol_pick" class="picker">...</button>
+</div>
+<div>
+  <label class="fr" for="f_body_fgcolor">Text color:</label>
+  <input name="f_body_fgcolor" type="text" id="f_body_fgcolor" size="7" />
+  <button type="button" id="fgCol_pick" class="picker">...</button>
+</div>
+
+<div id="buttons">
+  <button type="button" name="ok" onclick="return onOK();"><span>OK</span></button>
+
+  <button type="button" name="cancel" onclick="return onCancel();"><span>Cancel</span></button>
+</div>
+
+</body>
+</html>
\ No newline at end of file

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/test.html
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/test.html?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/test.html (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullPage/test.html Sun Oct  8 12:53:13 2006
@@ -0,0 +1,89 @@
+<html>
+  <head>
+    <title>Test of FullPage plugin</title>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <script type="text/javascript">
+      _editor_url = "../../";
+    </script>
+
+    <!-- load the main HTMLArea files -->
+    <script type="text/javascript" src="../../htmlarea.js"></script>
+    <script type="text/javascript" src="../../lang/en.js"></script>
+    <script type="text/javascript" src="../../dialog.js"></script>
+
+    <!-- <script type="text/javascript" src="popupdiv.js"></script> -->
+    <script type="text/javascript" src="../../popupwin.js"></script>
+
+    <script type="text/javascript">
+      HTMLArea.loadPlugin("TableOperations");
+      HTMLArea.loadPlugin("SpellChecker");
+      HTMLArea.loadPlugin("FullPage");
+
+      function initDocument() {
+        var editor = new HTMLArea("editor");
+        editor.registerPlugin(TableOperations);
+        editor.registerPlugin(SpellChecker);
+        editor.registerPlugin(FullPage);
+        editor.generate();
+      }
+    </script>
+
+    <style type="text/css">
+      @import url(../../htmlarea.css);
+    </style>
+
+  </head>
+
+  <body onload="initDocument()">
+    <h1>Test of FullPage plugin</h1>
+
+    <textarea id="editor" style="height: 30em; width: 100%;">
+      &lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"&gt;
+      &lt;html&gt;
+        &lt;head&gt;
+          &lt;title&gt;FullPage plugin for HTMLArea&lt;/title&gt;
+          &lt;link rel="alternate stylesheet" href="http://dynarch.com/mishoo/css/dark.css" /&gt;
+          &lt;link rel="stylesheet" href="http://dynarch.com/mishoo/css/cool-light.css" /&gt;
+        &lt;/head&gt;
+        &lt;body style="background-color: #ddddee; color: #000077;"&gt;
+          &lt;table style="width:60%; height: 90%; margin: 2% auto 1% auto;" align="center" border="0" cellpadding="0" cellspacing="0"&gt;
+            &lt;tr&gt;
+              &lt;td style="background-color: #ddeedd; border: 2px solid #002; height: 1.5em; padding: 2px; font: bold 24px Verdana;"&gt;
+                FullPage plugin
+              &lt;/td&gt;
+            &lt;/tr&gt;
+            &lt;tr&gt;
+              &lt;td style="background-color: #fff; border: 1px solid #aab; padding: 1em 3em; font: 12px Verdana;"&gt;
+                &lt;p&gt;
+                  This plugin enables one to edit a full HTML file in &lt;a
+                    href="http://dynarch.com/htmlarea/"&gt;HTMLArea&lt;/a&gt;.  This is not
+                  normally possible with just the core editor since it only
+                  retrieves the HTML inside the &lt;code&gt;body&lt;/code&gt; tag.
+                &lt;/p&gt;
+                &lt;p&gt;
+                  It provides the ability to change the &lt;code&gt;DOCTYPE&lt;/code&gt; of
+                  the document, &lt;code&gt;body&lt;/code&gt; &lt;code&gt;bgcolor&lt;/code&gt; and
+                  &lt;code&gt;fgcolor&lt;/code&gt; attributes as well as to add additional
+                  &lt;code&gt;link&lt;/code&gt;-ed stylesheets.  Cool, eh?
+                &lt;/p&gt;
+                &lt;p&gt;
+                  The development of this plugin was initiated and sponsored by
+                  &lt;a href="http://thycotic.com"&gt;Thycotic Software Ltd.&lt;/a&gt;.
+                  That's also cool, isn't it? ;-)
+                &lt;/p&gt;
+              &lt;/td&gt;
+            &lt;/tr&gt;
+          &lt;/table&gt;
+        &lt;/body&gt;
+      &lt;/html&gt;
+    </textarea>
+
+    <hr />
+    <address><a href="http://dynarch.com/mishoo/">Mihai Bazon</a></address>
+<!-- Created: Wed Oct  1 19:55:37 EEST 2003 -->
+<!-- hhmts start -->
+Last modified on Sat Oct 25 01:06:59 2003
+<!-- hhmts end -->
+<!-- doc-lang: English -->
+  </body>
+</html>

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullScreen/full-screen.js
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullScreen/full-screen.js?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullScreen/full-screen.js (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullScreen/full-screen.js Sun Oct  8 12:53:13 2006
@@ -0,0 +1,203 @@
+function FullScreen(editor, args)
+{
+  this.editor = editor;
+  editor._superclean_on = false;
+  cfg = editor.config;
+
+  cfg.registerButton
+  ( 'fullscreen',
+    this._lc("Maximize/Minimize Editor"),
+    [_editor_url + cfg.imgURL + 'ed_buttons_main.gif',8,0], true,
+      function(e, objname, obj)
+      {
+        e._fullScreen();
+        if(e._isFullScreen)
+        {
+          obj.swapImage([_editor_url + cfg.imgURL + 'ed_buttons_main.gif',9,0]);
+        }
+        else
+        {
+          obj.swapImage([_editor_url + cfg.imgURL + 'ed_buttons_main.gif',8,0]);
+        }
+      }
+  );
+
+  // See if we can find 'popupeditor' and replace it with fullscreen
+  cfg.addToolbarElement("fullscreen", "popupeditor", 0);
+}
+
+FullScreen._pluginInfo =
+{
+  name     : "FullScreen",
+  version  : "1.0",
+  developer: "James Sleeman",
+  developer_url: "http://www.gogo.co.nz/",
+  c_owner      : "Gogo Internet Services",
+  license      : "htmlArea",
+  sponsor      : "Gogo Internet Services",
+  sponsor_url  : "http://www.gogo.co.nz/"
+};
+
+FullScreen.prototype._lc = function(string) {
+    return HTMLArea._lc(string, 'FullScreen');
+};
+
+/** fullScreen makes an editor take up the full window space (and resizes when the browser is resized)
+ *  the principle is the same as the "popupwindow" functionality in the original htmlArea, except
+ *  this one doesn't popup a window (it just uses to positioning hackery) so it's much more reliable
+ *  and much faster to switch between
+ */
+
+HTMLArea.prototype._fullScreen = function()
+{
+  var e = this;
+  function sizeItUp()
+  {
+    if(!e._isFullScreen || e._sizing) return false;
+    e._sizing = true;
+    // Width & Height of window
+    var x,y;
+    if (window.innerHeight) // all except Explorer
+    {
+      x = window.innerWidth;
+      y = window.innerHeight;
+    }
+    else if (document.documentElement && document.documentElement.clientHeight)
+      // Explorer 6 Strict Mode
+    {
+      x = document.documentElement.clientWidth;
+      y = document.documentElement.clientHeight;
+    }
+    else if (document.body) // other Explorers
+    {
+      x = document.body.clientWidth;
+      y = document.body.clientHeight;
+    }
+
+    e.sizeEditor(x + 'px',y + 'px',true,true);
+    e._sizing = false;
+  }
+
+  function sizeItDown()
+  {
+    if(e._isFullScreen || e._sizing) return false;
+    e._sizing = true;
+    e.initSize();
+    e._sizing = false;
+  }
+
+  /** It's not possible to reliably get scroll events, particularly when we are hiding the scrollbars
+   *   so we just reset the scroll ever so often while in fullscreen mode
+   */
+  function resetScroll()
+  {
+    if(e._isFullScreen)
+    {
+      window.scroll(0,0);
+      window.setTimeout(resetScroll,150);
+    }
+  }
+
+  if(typeof this._isFullScreen == 'undefined')
+  {
+    this._isFullScreen = false;
+    if(e.target != e._iframe)
+    {
+      HTMLArea._addEvent(window, 'resize', sizeItUp);
+    }
+  }
+
+  // Gecko has a bug where if you change position/display on a
+  // designMode iframe that designMode dies.
+  if(HTMLArea.is_gecko)
+  {
+    this.deactivateEditor();
+  }
+
+  if(this._isFullScreen)
+  {
+    // Unmaximize
+    this._htmlArea.style.position = '';
+    try
+    {
+      if(HTMLArea.is_ie)
+      {
+        var bod = document.getElementsByTagName('html');
+      }
+      else
+      {
+        var bod = document.getElementsByTagName('body');
+      }
+      bod[0].style.overflow='';
+    }
+    catch(e)
+    {
+      // Nutthin
+    }
+    this._isFullScreen = false;
+    sizeItDown();
+
+    // Restore all ancestor positions
+    var ancestor = this._htmlArea;
+    while((ancestor = ancestor.parentNode) && ancestor.style)
+    {
+      ancestor.style.position = ancestor._xinha_fullScreenOldPosition;
+      ancestor._xinha_fullScreenOldPosition = null;
+    }
+
+    window.scroll(this._unScroll.x, this._unScroll.y);
+  }
+  else
+  {
+
+    // Get the current Scroll Positions
+    this._unScroll =
+    {
+     x:(window.pageXOffset)?(window.pageXOffset):(document.documentElement)?document.documentElement.scrollLeft:document.body.scrollLeft,
+     y:(window.pageYOffset)?(window.pageYOffset):(document.documentElement)?document.documentElement.scrollTop:document.body.scrollTop
+    };
+
+
+    // Make all ancestors position = static
+    var ancestor = this._htmlArea;
+    while((ancestor = ancestor.parentNode) && ancestor.style)
+    {
+      ancestor._xinha_fullScreenOldPosition = ancestor.style.position;
+      ancestor.style.position = 'static';
+    }
+
+    // Maximize
+    window.scroll(0,0);
+    this._htmlArea.style.position = 'absolute';
+    this._htmlArea.style.zIndex   = 999;
+    this._htmlArea.style.left     = 0;
+    this._htmlArea.style.top      = 0;
+    this._isFullScreen = true;
+    resetScroll();
+
+    try
+    {
+      if(HTMLArea.is_ie)
+      {
+        var bod = document.getElementsByTagName('html');
+      }
+      else
+      {
+        var bod = document.getElementsByTagName('body');
+      }
+      bod[0].style.overflow='hidden';
+    }
+    catch(e)
+    {
+      // Nutthin
+    }
+
+    sizeItUp();
+  }
+
+  if(HTMLArea.is_gecko)
+  {
+    this.activateEditor();
+  }
+  this.focusEditor();
+};
\ No newline at end of file

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullScreen/lang/de.js
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullScreen/lang/de.js?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullScreen/lang/de.js (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullScreen/lang/de.js Sun Oct  8 12:53:13 2006
@@ -0,0 +1,6 @@
+// I18N constants
+// LANG: "de", ENCODING: UTF-8
+// translated: Raimund Meyer xinha@ray-of-light.org
+{
+  "Maximize/Minimize Editor": "Editor maximieren/verkleinern"
+};

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullScreen/lang/fr.js
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullScreen/lang/fr.js?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullScreen/lang/fr.js (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullScreen/lang/fr.js Sun Oct  8 12:53:13 2006
@@ -0,0 +1,5 @@
+// I18N constants
+// LANG: "fr", ENCODING: UTF-8
+{
+  "Maximize/Minimize Editor": "Agrandir/Réduire l'éditeur"
+};
\ No newline at end of file

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullScreen/lang/nb.js
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullScreen/lang/nb.js?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullScreen/lang/nb.js (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullScreen/lang/nb.js Sun Oct  8 12:53:13 2006
@@ -0,0 +1,6 @@
+// I18N constants
+// LANG: "nb", ENCODING: UTF-8
+// translated: Kim Steinhaug, http://www.steinhaug.com/, kim@steinhaug.com
+{
+  "Maximize/Minimize Editor": "Maksimer/Minimer WYSIWYG vindu"
+};
\ No newline at end of file

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullScreen/lang/no.js
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullScreen/lang/no.js?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullScreen/lang/no.js (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullScreen/lang/no.js Sun Oct  8 12:53:13 2006
@@ -0,0 +1,6 @@
+// I18N constants
+// LANG: "no", ENCODING: UTF-8
+// translated: Kim Steinhaug, http://www.steinhaug.com/, kim@steinhaug.com
+{
+  "Maximize/Minimize Editor": "Maksimer/Minimer WYSIWYG vindu"
+};
\ No newline at end of file

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullScreen/lang/pl.js
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullScreen/lang/pl.js?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullScreen/lang/pl.js (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullScreen/lang/pl.js Sun Oct  8 12:53:13 2006
@@ -0,0 +1,6 @@
+// I18N constants
+// LANG: "pl", ENCODING: UTF-8
+// translated: Krzysztof Kotowicz, koto1sa@o2.pl, http://www.eskot.krakow.pl/portfolio
+{
+  "Maximize/Minimize Editor": "Maksymalizuj/minimalizuj edytor"
+};

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullScreen/lang/ru.js
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullScreen/lang/ru.js?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullScreen/lang/ru.js (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullScreen/lang/ru.js Sun Oct  8 12:53:13 2006
@@ -0,0 +1,6 @@
+// I18N constants
+// LANG: "ru", ENCODING: UTF-8
+// Author: Andrei Blagorazumov, a@fnr.ru
+{
+  "Maximize/Minimize Editor": "Развернуть/Свернуть редактор"
+};
\ No newline at end of file

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullScreen/lang/sv.js
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullScreen/lang/sv.js?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullScreen/lang/sv.js (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullScreen/lang/sv.js Sun Oct  8 12:53:13 2006
@@ -0,0 +1,6 @@
+// I18N constants
+// LANG: "sv" (Swedish), ENCODING: UTF-8
+// translated: Erik Dalén, <dalen@jpl.se>
+{
+  "Maximize/Minimize Editor": "Maximera/Minimera WYSIWYG fönster"
+};

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/FullScreen/lang/sv.js
------------------------------------------------------------------------------
    svn:executable = *



Mime
View raw message