// Check for width of tables and alter page size accordingly
var changePageWidth = function () {
  if (inEditMode()) { return false; }

  var padding = 10;
  var pageWrapper_region = YAHOO.util.Dom.getRegion('pageWrapper');
  var news = false;
  var news_width = 0;
  var news_bottom = 0;

  if (!YAHOO.lang.isNull(document.getElementById('news'))) {
    news = true;
    news_width = YAHOO.util.Dom.getRegion('news').right - YAHOO.util.Dom.getRegion('news').left;
    news_bottom = YAHOO.util.Dom.getRegion('news').bottom;
  }

  var table_right = 0;
  var table_tags_region;
  var table_tags = document.getElementsByTagName('table');
  for (var i = 0; i < table_tags.length ; i++)
  {
    table_tags_region = YAHOO.util.Dom.getRegion(table_tags[i]);
    if (table_tags_region.right > table_right) {
      table_right = table_tags_region.right;
      if (news) {
        if (table_tags_region.top < news_bottom) {
          table_right += news_width;
        }
      }
    }
  }
  
  if (table_right > (pageWrapper_region.right) ) {
    var new_width = (table_right + news_width + padding) - pageWrapper_region.left;
    YAHOO.util.Dom.setStyle('pageWrapper', 'min-width', new_width + "px");
  }
};

var changeEditorHeight = function () {
  var minHeight = 200;
  var padding = 130;
  var iFrameEditor = document.getElementById('mce_editor_0');
  var iFrameEditorY = YAHOO.util.Dom.getY(iFrameEditor);
  var viewportHeight = YAHOO.util.Dom.getViewportHeight();
  var newHeight = viewportHeight - iFrameEditorY - padding;
  if (newHeight > minHeight) {
    YAHOO.util.Dom.setStyle('mce_editor_0', 'height', newHeight + 'px');
  }
};

function inEditMode() {
  var published = YAHOO.util.Dom.getElementsByClassName('shadomx_containerbox_Published');
  var checkedout = YAHOO.util.Dom.getElementsByClassName('shadomx_containerbox_CheckedOut');
  if (published.length !== 0 || checkedout.length !== 0) {
    return true;
  }
  else {
    return false;
  }
}

YAHOO.util.Event.onDOMReady(changePageWidth);
if (inEditMode()) {
  YAHOO.util.Event.onAvailable('mce_editor_0', changeEditorHeight);
}
