// $Id: img_upload.2.6.js,v 1.1.2.1 2008/11/21 23:12:43 jeffcd Exp $

function yui_editor_img_upload() {
  for (var e in YAHOO.Drupal.editors) {
    var myEditor = YAHOO.Drupal.editors[e].editor;
    var config = YAHOO.Drupal.editors[e].config;

    if (config.img_upload == 1) {
      yui_img_uploader(myEditor, config.base_path + '?q=/yui_editor/image_upload', 'files[upload]', config.base_path, YAHOO.Drupal.editors[e].id);
    }
  }
}

function yui_img_uploader(rte, upload_url, upload_image_name, base_path, id) {
  rte.addListener('toolbarLoaded', function() {
    rte.toolbar.addListener('insertimageClick', function(o) {
      try {
        var imgPanel = new YAHOO.util.Element(id+'-panel');
        imgPanel.on ('contentReady', function() {
          try {
            var Dom = YAHOO.util.Dom;
            if(!document.getElementById('insertimage_upload')) {
              var label = document.createElement('label');
              label.innerHTML = '<strong>Upload:</strong>' +
              '<input type="file" id="insertimage_upload" name="' + upload_image_name +
              '" size="10" style="width: 20%"/>' +
              '<a href="#"  id="insertimage_upload_btn" style="width: 20%; margin-left: 10em;">Upload Image</a>' +
              '</label>';

              var img_elem=Dom.get(id+'_insertimage_url');
              Dom.getAncestorByTagName(img_elem, 'form').encoding = 'multipart/form-data';
              if (Dom.get(id+'_insertimage_url')) {
                Dom.insertAfter(label, img_elem.parentNode);
              }
            }

            YAHOO.util.Event.on('insertimage_upload_btn', 'click', function(ev) {
              YAHOO.util.Event.stopEvent(ev); // no default click action
              YAHOO.util.Connect.setForm(img_elem.form, true, true);
              var c = YAHOO.util.Connect.asyncRequest('POST', upload_url, { upload:
			    function(r) {
                  try {
                    resp = r.responseText.replace( /<hints .*/i, '');
                    var o = eval('('+resp+')');
                    if (o.status == 'UPLOADED') {
                      Dom.get('insertimage_upload').value = '';
                      Dom.get(id+'_insertimage_url').value = base_path + o.image_url;
                      Dom.get(id+'_insertimage_url').focus();
                      Dom.get('insertimage_upload').focus();
                    }
                    else {
                      alert ("Upload Failed: " + o.status);
                    }
                  }
                  catch (eee) {
                    YAHOO.log(eee.message, 'error');
                  }
                }
              });

              return false;
            });
          }
          catch (ee) {
            YAHOO.log(ee.message, 'error');
          }
        });
      }
      catch (e) {
        YAHOO.log(e.message, 'error');
      }
    });
  });
}
YAHOO.Drupal.yui_editor_load.subscribe(yui_editor_img_upload);
;
// $Id: plaintext.js,v 1.1.2.3.2.1 2008/11/21 22:54:27 jeffcd Exp $

function yui_editor_plaintext() {
  for (var e in YAHOO.Drupal.editors) {
    var myEditor = YAHOO.Drupal.editors[e].editor;
    var config = YAHOO.Drupal.editors[e].config;
    var id = YAHOO.Drupal.editors[e].id;

    myEditor.plaintextState = 'off';
    if (config.plaintext == 1) {
      $("#"+id).after("<button id=\"toggleEditor-"+id+"\">"+ Drupal.t('Switch to Plain Editor') +"</button>");
      var _button = new YAHOO.widget.Button('toggleEditor-'+id);
      _button.addClass('toggleEditor');

      _button.on('click', function(ev, myEditor) {
        var Event = YAHOO.util.Event;
        var Dom = YAHOO.util.Dom;

        Event.stopEvent(ev);
        if (myEditor.plaintextState == 'off') {
          myEditor.plaintextState = 'on';
          myEditor.saveHTML();
          Dom.setStyle(myEditor.get('element_cont').get('firstChild'), 'position', 'absolute');
          Dom.setStyle(myEditor.get('element_cont').get('firstChild'), 'top', '-9999px');
          Dom.setStyle(myEditor.get('element_cont').get('firstChild'), 'left', '-9999px');
          myEditor.get('element_cont').removeClass('yui-editor-container');
          Dom.setStyle(myEditor.get('element'), 'visibility', 'visible');
          Dom.setStyle(myEditor.get('element'), 'top', '');
          Dom.setStyle(myEditor.get('element'), 'left', '');
          Dom.setStyle(myEditor.get('element'), 'position', 'static');
          _button.set("label", Drupal.t('Switch to Rich Text Editor'));
          $(".grippie").show();
          $(".teaser-checkbox").show();
        }
        else {
          myEditor.plaintextState = 'off';
          Dom.setStyle(myEditor.get('element_cont').get('firstChild'), 'position', 'static');
          Dom.setStyle(myEditor.get('element_cont').get('firstChild'), 'top', '0');
          Dom.setStyle(myEditor.get('element_cont').get('firstChild'), 'left', '0');
          Dom.setStyle(myEditor.get('element'), 'visibility', 'hidden');
          Dom.setStyle(myEditor.get('element'), 'top', '-9999px');
          Dom.setStyle(myEditor.get('element'), 'left', '-9999px');
          Dom.setStyle(myEditor.get('element'), 'position', 'absolute');
          myEditor.get('element_cont').addClass('yui-editor-container');
          myEditor._setDesignMode('on');
          myEditor.setEditorHTML(myEditor.get('textarea').value);
          _button.set("label", Drupal.t('Switch to Plain Editor'));
          $(".grippie").hide();
          $(".teaser-checkbox").hide();
        }
      }, myEditor);
    }

    var toggle = 'off';
    $('#toggleEditor-'+id).bind('click', function () { toggle = 'on'; });
    $('form').bind('submit', function (e) {
      if (toggle == 'on') {
        toggle = 'off';
        return false;
      }
      else if (myEditor.plaintextState == 'on') {
        myEditor.setEditorHTML(myEditor.get('textarea').value);
      }
      else {
        myEditor.saveHTML();
      }
    });
  }
}
YAHOO.Drupal.yui_editor_load.subscribe(yui_editor_plaintext);
;

