/*
Copyright 2001-2005 Six Apart. This code cannot be redistributed without
permission from www.sixapart.com. For more information, consult your
Movable Type license.
$Id: mt.js 17623 2005-09-20 13:46:07Z mschenk $
*/
var ScriptURI;
var ScriptBaseURI;
var StaticURI;
var HelpBaseURI;
var Lexicon = {};
if ((!(navigator.appVersion.indexOf('MSIE') != -1) &&
(parseInt(navigator.appVersion)==4))) {
document.write("");
}
var origWidth, origHeight;
if ((navigator.appName == 'Netscape') &&
(parseInt(navigator.appVersion) == 4)) {
origWidth = innerWidth;
origHeight = innerHeight;
window.onresize = restore;
}
function restore () {
if (innerWidth != origWidth || innerHeight != origHeight)
location.reload();
}
function doRebuild (blogID, otherParams) {
window.open(ScriptURI + '?__mode=rebuild_confirm&blog_id=' + blogID + '&' + otherParams, 'rebuild', 'width=400,height=250,resizable=yes');
}
function openManual (section, page) {
window.open(HelpBaseURI + 'g_contextsensitive_help/' + section + '/' + page + '.html' , '_blank',
'width=800,height=600,scrollbars=yes,status=yes,resizable=yes,toolbar=yes,location=yes,menubar=yes');
return false;
}
function gatherMarked (f, nameRestrict) {
var url = '';
var e = f.id;
if (!e) return;
if (e.value && e.checked)
url += '&id=' + e.value;
else
if (nameRestrict) {
for (i=0; i= 0 && ua.indexOf('Safari') < 0)
canFormat = 1;
function getSelected (e) {
if (document.selection) {
e.focus();
var range = document.selection.createRange();
return range.text;
} else {
var length = e.textLength;
if (length == undefined) return;
var start = e.selectionStart;
var end = e.selectionEnd;
if (end == 1 || end == 2) end = length;
return e.value.substring(start, end);
}
}
function setSelection (e, v) {
if (document.selection) {
e.focus();
var range = document.selection.createRange();
range.text = v;
} else {
var length = e.textLength;
var start = e.selectionStart;
var end = e.selectionEnd;
if (end == 1 || end == 2) end = length;
e.value = e.value.substring(0, start) + v + e.value.substr(end, length);
e.selectionStart = start + v.length;
e.selectionEnd = start + v.length;
}
e.focus();
}
function formatStr (e, v) {
if (!canFormat) return;
var str = getSelected(e);
if (!str) return;
setSelection(e, '<' + v + '>' + str + '' + v + '>');
return false;
}
function mtShortCuts(e) {
e = e || event;
if (!e || (!e.ctrlKey)) return;
/* we have to add 64 to keyCode since the user hit a control key */
var code = (e.keyCode) ? (e.keyCode + 64) :
((e.which) ? e.which : 0);
var ch = String.fromCharCode(code);
el = e.target || e.srcElement;
if (el.nodeType == 3) el = el.parentNode; // Safari bug
if (ch == 'A') insertLink(el, false);
if (ch == 'B') formatStr(el, 'strong');
if (ch == 'I') formatStr(el, 'em');
if (ch == 'U') formatStr(el, 'u');
}
function insertLink (e, isMail) {
if (!canFormat) return;
var str = getSelected(e);
var link = '';
if (!isMail) {
if (str.match(/^https?:/)) {
link = str;
} else if (str.match(/^(\w+\.)+\w{2,5}\/?/)) {
link = 'http://' + str;
} else if (str.match(/ /)) {
link = 'http://';
} else {
link = 'http://' + str;
}
} else {
if (str.match(/@/)) {
link = str;
}
}
var my_link = prompt(isMail ? trans('Enter email address:') : trans('Enter URL:'), link);
if (my_link != null) {
if (str == '') str = my_link;
if (isMail) my_link = 'mailto:' + my_link;
setSelection(e, '' + str + '');
}
return false;
}
function doCheckAll (f, v) {
var e = f.id;
if (e.value)
e.checked = v;
else
for (i=0; i';
}
break;
}
}
} else if (filter_fld.value) {
filter_fld.value = value;
}
}
}
function toggleDisplayOptions() {
var opt = TC.elementOrId('display-options');
if (opt)
{
if (TC.hasClassName(opt, 'active'))
TC.removeClassName(opt, 'active');
else
TC.addClassName(opt, 'active');
}
return false;
}
function tabToggle(selectedTab, tabs) {
for (var i = 0; i < tabs.length; i++) {
var tabObject = getByID(tabs[i] + '-tab');
var contentObject = getByID(tabs[i] + '-panel');
if (tabObject && contentObject) {
if (tabs[i] == selectedTab) {
tabObject.className = 'yah';
contentObject.style.display = 'block';
} else {
tabObject.className = 'default';
contentObject.style.display = 'none';
}
}
}
return false;
}
function toggleSubPrefs(c) {
var div = TC.elementOrId((c.name || c.id)+"-prefs") || TC.elementOrId((c.name || c.id)+'_prefs');
if (div) {
if (c.type) {
var on = c.type == 'checkbox' ? c.checked : c.value != 0;
div.style.display = on ? "block" : "none";
} else {
var on = div.style.display && div.style.display != "none";
div.style.display = on ? "none" : "block";
}
}
return false;
}
function toggleAdvancedPrefs(evt, c) {
evt = evt || window.event;
var id;
var obj;
if (!c || (typeof c != 'string')) {
c = c || evt.target || evt.srcElement;
id = c.id || c.name;
obj = c;
} else {
id = c;
}
var div = getByID( id + '-advanced');
if (div) {
if (obj) {
var shiftKey = evt ? evt.shiftKey : undefined;
if (evt && shiftKey && obj.type == 'checkbox')
obj.checked = true;
var on = obj.type == 'checkbox' ? obj.checked : obj.value != 0;
if (on && shiftKey) {
if (div.style.display == "block")
div.style.display = "none";
else
div.style.display = "block";
} else {
div.style.display = "none";
}
} else {
if (div.style.display == "block")
div.style.display = "none";
else
div.style.display = "block";
}
}
return false;
}
function trans(str) {
if (Lexicon && Lexicon[str])
str = Lexicon[str];
if (arguments.length > 1)
for (var i = 1; i <= arguments.length; i++) {
str = str.replace(new RegExp('\\[_' + i + '\\]', 'g'), arguments[i]);
var re = new RegExp('\\[quant,_' + i + ',(.+?)(?:,(.+?))?\\]');
var matches;
while (matches = str.match(re)) {
if (arguments[i] > 1)
str = str.replace(re, arguments[i] + ' ' +
((typeof(matches[2]) != 'undefined') > 2 ? matches[2]
: matches[1]
+ 's'));
else
str = str.replace(re, arguments[i] + ' ' + matches[1]);
}
}
return str;
}