<?php
// Check for a prior definition of HORDE_BASE (perhaps by an auto_prepend_file
// definition for site customization).
if (!defined('HORDE_BASE')) {
    @define('HORDE_BASE', dirname(__FILE__) . '/../../../../..');
}

// Load the Horde Framework core, and set up inclusion paths.
require_once HORDE_BASE . '/lib/core.php';
require_once 'Horde/Tree.php';

// Registry
$registry = &Registry::singleton();

/* Determine how we were called; with a URL, or with a gallery id */
$gallerylist = $registry->call('images/listGalleries', array(null));
$current_gallery_id = Util::getFormData('gallery', key($gallerylist));
$imagelist = $registry->call('images/listImages', array(null, $current_gallery_id, PERMS_SHOW, 'screen', true));
if (is_a($imagelist, 'PEAR_Error')) {
    $imagelist = array();
}

$gallery_select = $registry->call('images/selectGalleries',
    array(null, PERMS_SHOW, null, true, 0, 0, $current_gallery_id));
?>
<html>
<head>
 <title>Insert Image</title>
 <script type="text/javascript" src="../../popups/popup.js"></script>
 <link rel="stylesheet" type="text/css" href="../../popups/popup.css" />

<script type="text/javascript">

window.resizeTo(400, 550);

HTMLArea = window.opener.HTMLArea;
function i18n(str) {
  return (HTMLArea._lc(str, 'HTMLArea'));
}

function Init() {
  __dlg_translate('HTMLArea');
  __dlg_init();
  // Make sure the translated string appears in the drop down. (for gecko)
  document.getElementById("f_align").selectedIndex = 1;
  document.getElementById("f_align").selectedIndex = 5;
  var param = window.dialogArguments;
  if (param) {
      document.getElementById("f_url").value = param["f_url"];
      document.getElementById("f_alt").value = param["f_alt"];
      document.getElementById("f_border").value = param["f_border"];
      document.getElementById("f_align").value = param["f_align"];
      document.getElementById("f_vert").value = param["f_vert"];
      document.getElementById("f_horiz").value = param["f_horiz"];
      window.ipreview.location.replace(param.f_url);
  }
  document.getElementById("f_url").focus();
}

function onOK() {
  var required = {
    "f_url": i18n("You must enter the URL")
  };
  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 fields = ["f_url", "f_alt", "f_align", "f_border",
                "f_horiz", "f_vert"];
  var param = new Object();
  for (var i in fields) {
    var id = fields[i];
    var el = document.getElementById(id);
    param[id] = el.value;
  }
  __dlg_close(param);
  return false;
}

function onCancel() {
  __dlg_close(null);
  return false;
}

function onPreview() {
  var f_url = document.getElementById("f_url");
  var url = f_url.value;
  if (!url) {
    alert(i18n("You must enter the URL"));
    f_url.focus();
    return false;
  }
  url = url.replace('/screen', '/thumb');
  window.ipreview.location.replace(url);
  return false;
}

function changeGallery() {
  var reload_url = document.location.href;

  reload_url     = reload_url.substring(0,reload_url.lastIndexOf('?'));
  reload_url     = reload_url + '?gallery=' + document.forms[0].gallery.value;

  document.location.replace(reload_url);
}
</script>

</head>

<body class="dialog" onload="Init()">

<div class="title">Insert Image</div>
<!--- new stuff --->
<form action="" method="get">
<table border="0" width="100%" style="padding: 0px; margin: 0px">
  <tbody>

  <tr>
    <td style="width: 7em; text-align: right">Gallery:</td>
    <td><select size="1" name="gallery" id="f_gallery" title="Gallery to take image from" onChange="changeGallery();"><?php echo $gallery_select?></select></td>
  </tr>
  <tr>
    <td style="width: 7em; text-align: right">Image from gallery:</td>
    <td><select size="1" name="img_gallery" id="f_img_gallery" title="Image from gallery" onChange="document.forms[0].url.value = document.forms[0].img_gallery.value">
      <option value=""><?php echo _("Select an image") ?></option>
<?php foreach ($imagelist as $id => $image): ?>
      <option value="<?php echo $image['url'] ?>"><?php echo $image['name'] ?></option>
<?php endforeach; ?>
    </select>
    </td>
  </tr>

  <tr>
    <td style="width: 7em; text-align: right">Image URL:</td>
    <td><input type="text" name="url" id="f_url" style="width:75%"
      title="Enter the image URL here" />
      <button name="preview" onclick="return onPreview();"
      title="Preview the image in a new window">Preview</button>
    </td>
  </tr>
  <tr>
    <td style="width: 7em; text-align: right">Alternate text:</td>
    <td><input type="text" name="alt" id="f_alt" style="width:100%"
      title="For browsers that don't support images" /></td>
  </tr>

  </tbody>
</table>

<p />

<fieldset style="float: left; margin-left: 5px;">
<legend>Layout</legend>

<div class="space"></div>

<div class="fl">Alignment:</div>
<select size="1" name="align" id="f_align"
  title="Positioning of this image">
  <option value="">Not set</option>
  <option value="left">Left</option>
  <option value="right">Right</option>
  <option value="texttop">Texttop</option>
  <option value="absmiddle">Absmiddle</option>
  <option value="baseline" selected="1">Baseline</option>
  <option value="absbottom">Absbottom</option>
  <option value="bottom">Bottom</option>
  <option value="middle">Middle</option>
  <option value="top">Top</option>
</select>

<p />

<div class="fl">Border thickness:</div>
<input type="text" name="border" id="f_border" size="5"
title="Leave empty for no border" />

<div class="space"></div>

</fieldset>

<fieldset style="float:right; margin-right: 5px;">
<legend>Spacing</legend>

<div class="space"></div>

<div class="fr">Horizontal:</div>
<input type="text" name="horiz" id="f_horiz" size="5"
title="Horizontal padding" />

<p />

<div class="fr">Vertical:</div>
<input type="text" name="vert" id="f_vert" size="5"
title="Vertical padding" />

<div class="space"></div>

</fieldset>
<br clear="all" />
<table width="100%" style="margin-bottom: 0.2em">
 <tr>
  <td valign="bottom">
    <div class="fr">Image Preview:</div>
    <iframe name="ipreview" id="ipreview" frameborder="0" style="border : 1px solid gray;" height="200" width="300" src=""></iframe>
  </td>
  <td valign="bottom" style="text-align: right">
    <button type="button" name="ok" onclick="return onOK();">OK</button><br>
    <button type="button" name="cancel" onclick="return onCancel();">Cancel</button>
  </td>
 </tr>
</table>
</form>
</body>
</html>
