mailr/public/tiny_mce/plugins/advimage/image.htm

371 lines
18 KiB
HTML

<html>
<head>
<title>{$lang_insert_image_title}</title>
<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
<script language="javascript">
var url = tinyMCE.getParam("external_image_list_url");
if (url != null) {
// Fix relative
if (url.charAt(0) != '/')
url = tinyMCE.documentBasePath + "/" + url;
document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
}
</script>
<script language="javascript" type="text/javascript">
<!--
function myRegexpReplace(in_str, reg_exp, replace_str, opts) {
if (typeof opts == "undefined")
opts = 'g';
var re = new RegExp(reg_exp, opts);
return in_str.replace(re, replace_str);
}
function insertImage() {
var formObj = document.forms[0];
if (window.opener) {
var src = formObj.src.value;
var alt = formObj.alt.value;
var title = formObj.title.value;
var border = formObj.border.value;
var vspace = formObj.vspace.value;
var hspace = formObj.hspace.value;
var width = formObj.width.value;
var height = formObj.height.value;
var align = formObj.align.options[formObj.align.selectedIndex].value;
var onmouseover = formObj.onmouseover.value;
var onmouseout = formObj.onmouseout.value;
if (!formObj.onmousemove.checked)
onmouseover = onmouseout = "";
window.opener.tinyMCE.insertImage(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout);
// Close the dialog
tinyMCE.closeDialog();
}
}
function init() {
var formObj = document.forms[0];
var strOnOver = "", strOnOut = "";
for (var i=0; i<document.forms[0].align.options.length; i++) {
if (document.forms[0].align.options[i].value == tinyMCE.getWindowArg('align'))
document.forms[0].align.options.selectedIndex = i;
}
formObj.src.value = tinyMCE.getWindowArg('src');
formObj.alt.value = tinyMCE.getWindowArg('alt');
formObj.title.value = tinyMCE.getWindowArg('title');
formObj.border.value = tinyMCE.getWindowArg('border');
formObj.vspace.value = tinyMCE.getWindowArg('vspace');
formObj.hspace.value = tinyMCE.getWindowArg('hspace');
formObj.width.value = tinyMCE.getWindowArg('width');
formObj.height.value = tinyMCE.getWindowArg('height');
formObj.insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('action'), 'Insert', true);
strOnOver = tinyMCE.getWindowArg('onmouseover');
strOnOut = tinyMCE.getWindowArg('onmouseout');
if (strOnOver != '' && strOnOut != '') {
setOnMouseInput('enabled');
formObj.onmousemove.checked = true;
formObj.onmouseover.value = strOnOver;
formObj.onmouseout.value = strOnOut;
} else {
setOnMouseInput('disabled');
formObj.onmousemove.checked = false;
formObj.onmouseover.value = '';
formObj.onmouseout.value = '';
}
// Handle file browser
if (tinyMCE.getParam("file_browser_callback") != null) {
document.getElementById('src').style.width = '260px';
document.getElementById('onmouseover').style.width = '260px';
document.getElementById('onmouseout').style.width = '260px';
document.getElementById('browser1').innerHTML = getBrowserHTML('src');
document.getElementById('browser2').innerHTML = getBrowserHTML('onmouseover');
document.getElementById('browser3').innerHTML = getBrowserHTML('onmouseout');
}
// Auto select image in list
selectByValue(formObj, "image_list", tinyMCE.getWindowArg('src'));
selectByValue(formObj, "image_list2", strOnOver);
selectByValue(formObj, "image_list3", strOnOut);
// Handle preview
var htmlprev = '';
var src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], document.forms[0].src.value);
if (src == "")
src = "about:blank";
htmlprev += ' <iframe id="preview" name="preview" scrolling="auto" '
htmlprev += ' marginwidth="0" marginheight="0" frameborder="0" src="' + src + '"'
htmlprev += ' style="margin:0px;border: 1px solid black;width:135px;height:135px"></iframe>';
document.getElementById('prev').innerHTML = htmlprev;
getImageData();
}
function selectByValue(form_obj, field_name, value) {
if (!form_obj || !form_obj.elements[field_name])
return;
for (var i=0; i<form_obj.elements[field_name].options.length; i++) {
var option = form_obj.elements[field_name].options[i];
if (option.value == value)
option.selected = true;
}
}
function getBrowserHTML(name) {
var html = "";
html += '<img id="browserBtn" src="../../themes/advanced/images/browse.gif"';
html += ' onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');"';
html += ' onmouseout="tinyMCE.restoreClass(this);"';
html += ' onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');"';
html += ' onclick="javascript:tinyMCE.openFileBrowser(\'' + name + '\',document.forms[0].' + name + '.value,\'image\',window);"';
html += ' width="20" height="18" border="0" title="' + tinyMCE.getLang('lang_browse') + '"';
html += ' class="mceButtonNormal" alt="' + tinyMCE.getLang('lang_browse') + '" />';
return html;
}
function setOnMouseInput(stat){
var formObj = document.forms[0];
if (stat=='enabled') {
formObj.onmouseover.disabled = false;
formObj.onmouseout.disabled = false;
if (document.getElementById) {
document.getElementById('showInput1').style.color="#000000";
document.getElementById('showInput2').style.color="#000000";
}
formObj.onmouseout.value = formObj.src.value;
} else {
formObj.onmouseover.disabled = true;
formObj.onmouseout.disabled = true;
if (document.getElementById) {
document.getElementById('showInput1').style.color="#666666";
document.getElementById('showInput2').style.color="#666666";
}
}
}
function cancelAction() {
// Close the dialog
tinyMCE.closeDialog();
}
var preloadImg = new Image();
function resetImageData() {
var formObj = document.forms[0];
formObj.width.value = formObj.height.value = "";
}
function updateImageData() {
var formObj = document.forms[0];
if (formObj.width.value == "")
formObj.width.value = preloadImg.width;
if (formObj.height.value == "")
formObj.height.value = preloadImg.height;
}
function getImageData() {
if (document.forms[0].src.value == "") {
self.preview.location = "about:blank";
return;
}
preloadImg = new Image();
tinyMCE.addEvent(preloadImg, "load", updateImageData);
tinyMCE.addEvent(preloadImg, "error", function () {var formObj = document.forms[0];formObj.width.value = formObj.height.value = "";});
preloadImg.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], document.forms[0].src.value);
var src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], document.forms[0].src.value);
if (src == "")
src = "about:blank";
self.preview.location = src;
}
function changeHeight() {
var formObj = document.forms[0];
if (!tinyMCE.getParam("advimage_constrain_proportions", false) || formObj.width.value == "")
return;
var temp = (formObj.width.value / preloadImg.width) * preloadImg.height;
formObj.height.value = temp.toFixed(0);
}
function changeWidth() {
var formObj = document.forms[0];
if (!tinyMCE.getParam("advimage_constrain_proportions", false) || formObj.height.value == "")
return;
var temp = (formObj.height.value / preloadImg.height) * preloadImg.width;
formObj.width.value = temp.toFixed(0);
}
//-->
</script>
</head>
<body onload="init();">
<form onsubmit="insertImage();return false;">
<table border="0" cellpadding="0" cellspacing="0" width="300">
<tr>
<td align="center" valign="middle"><table border="0" cellpadding="4" cellspacing="0">
<tr>
<td colspan="3" class="title">{$lang_insert_image_title}</td>
</tr>
<tr>
<td align="right" nowrap="nowrap">{$lang_insert_image_src}:</td>
<td colspan="2"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input name="src" type="text" id="src" value="" style="width: 280px" onchange="resetImageData();getImageData();" /></td>
<td id="browser1"></td>
</tr>
</table></td>
</tr>
<!-- Image list -->
<script language="javascript">
if (typeof(tinyMCEImageList) != "undefined" && tinyMCEImageList.length > 0) {
var html = "";
html += '<tr><td align="right" nowrap="nowrap">{$lang_image_list}:</td>';
html += '<td colspan="2"><select name="image_list" style="width: 280px" onchange="this.form.alt.value=this.options[this.selectedIndex].text;this.form.title.value=this.options[this.selectedIndex].text;this.form.src.value=this.options[this.selectedIndex].value;resetImageData();getImageData();">';
html += '<option value="">---</option>';
for (var i=0; i<tinyMCEImageList.length; i++)
html += '<option value="' + tinyMCEImageList[i][1] + '">' + tinyMCEImageList[i][0] + '</option>';
html += '</select></td></tr>';
document.write(html);
}
</script>
<!-- /Image list -->
<tr>
<td align="right" nowrap="nowrap">{$lang_insert_image_alt}:</td>
<td colspan="2"><input name="alt" type="text" id="alt" value="" style="width: 280px" onblur="if(document.forms[0].title.value==''){ document.forms[0].title.value=this.value; }" onfocus="if(document.forms[0].title.value==''){ document.forms[0].title.value=this.value; }" /></td>
</tr>
<tr>
<td align="right" nowrap="nowrap">{$lang_insert_image_alt2}:</td>
<td colspan="2"><input name="title" type="text" id="title" value="" style="width: 280px" /></td>
</tr>
<tr>
<td align="right" nowrap="nowrap">{$lang_insert_image_dimensions}:</td>
<td nowrap="nowrap">
<input name="width" type="text" id="width" value="" size="5" maxlength="5" style="vertical-align: middle; width: 50px; text-align: center;" onChange="changeHeight();" /> x
<input name="height" type="text" id="height" value="" size="5" maxlength="5" style="vertical-align: middle; width: 50px; text-align: center;" onChange="changeWidth();" /> px
</td>
<td rowspan="6" valign="top"><div id="prev" name="prev" style="margin:0px;border:none;width:135px;height:135px"></div></td>
</tr>
<tr>
<td align="right" nowrap="nowrap">{$lang_insert_image_border}:</td>
<td colspan="2"><input name="border" type="text" id="border" value="" size="3" maxlength="3" style="vertical-align: middle; width: 30px; text-align: center;" /></td>
</tr>
<tr>
<td align="right" nowrap="nowrap">{$lang_insert_image_align}:</td>
<td><select name="align" style="width: 100px">
<option value="">{$lang_insert_image_align_default}</option>
<option value="baseline">{$lang_insert_image_align_baseline}</option>
<option value="top">{$lang_insert_image_align_top}</option>
<option value="middle">{$lang_insert_image_align_middle}</option>
<option value="bottom">{$lang_insert_image_align_bottom}</option>
<option value="texttop">{$lang_insert_image_align_texttop}</option>
<option value="absmiddle">{$lang_insert_image_align_absmiddle}</option>
<option value="absbottom">{$lang_insert_image_align_absbottom}</option>
<option value="left">{$lang_insert_image_align_left}</option>
<option value="right">{$lang_insert_image_align_right}</option>
</select>
</td>
</tr>
<tr>
<td align="right" nowrap="nowrap">{$lang_insert_image_vspace}:</td>
<td><input name="vspace" type="text" id="vspace" value="" size="3" maxlength="3" style="vertical-align: middle; width: 30px; text-align: center;" /></td>
</tr>
<tr>
<td align="right" nowrap="nowrap">{$lang_insert_image_hspace}:</td>
<td><input name="hspace" type="text" id="hspace" value="" size="3" maxlength="3" style="vertical-align: middle; width: 30px; text-align: center;" /></td>
</tr>
<tr>
<td colspan="2" nowrap="nowrap"><input type="checkbox" name="onmousemove" id="onmousemove" style="border: 1px none #000000; background-color: transparent; vertical-align: middle;" onclick="if(this.checked==true){ setOnMouseInput('enabled'); }else{ setOnMouseInput('enable'); }" /><label for="onmousemove"><b>{$lang_insert_image_onmousemove}</b>:</label></td>
</tr>
<tr>
<td align="right" nowrap="nowrap" id="showInput1">{$lang_insert_image_mouseover}:</td>
<td colspan="2"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input name="onmouseover" type="text" id="onmouseover" value="" style="width: 280px" /></td>
<td id="browser2"></td>
</tr>
</table></td>
</tr>
<!-- Image list -->
<script language="javascript">
if (typeof(tinyMCEImageList) != "undefined" && tinyMCEImageList.length > 0) {
var html = "";
html += '<tr><td align="right" nowrap="nowrap">{$lang_image_list}:</td>';
html += '<td colspan="2"><select name="image_list2" style="width: 280px" onchange="this.form.onmouseover.value=this.options[this.selectedIndex].value;">';
html += '<option value="">---</option>';
for (var i=0; i<tinyMCEImageList.length; i++)
html += '<option value="' + tinyMCEImageList[i][1] + '">' + tinyMCEImageList[i][0] + '</option>';
html += '</select></td></tr>';
document.write(html);
}
</script>
<!-- /Image list -->
<tr>
<td align="right" nowrap="nowrap" id="showInput2">{$lang_insert_image_mouseout}:</td>
<td colspan="2"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input name="onmouseout" type="text" id="onmouseout" value="" style="width: 280px" /></td>
<td id="browser3"></td>
</tr>
</table></td>
</tr>
<!-- Image list -->
<script language="javascript">
if (typeof(tinyMCEImageList) != "undefined" && tinyMCEImageList.length > 0) {
var html = "";
html += '<tr><td align="right" nowrap="nowrap">{$lang_image_list}:</td>';
html += '<td colspan="2"><select name="image_list3" style="width: 280px" onchange="this.form.onmouseout.value=this.options[this.selectedIndex].value;">';
html += '<option value="">---</option>';
for (var i=0; i<tinyMCEImageList.length; i++)
html += '<option value="' + tinyMCEImageList[i][1] + '">' + tinyMCEImageList[i][0] + '</option>';
html += '</select></td></tr>';
document.write(html);
}
</script>
<!-- /Image list -->
<tr>
<td><input type="button" name="insert" value="{$lang_insert}" onclick="insertImage();" id="insert" /></td>
<td>&nbsp;</td>
<td align="right"><input type="button" name="cancel" value="{$lang_cancel}" onclick="cancelAction();" id="cancel" /></td>
</tr>
</table></td>
</tr>
</table>
</form>
</body>
</html>