Version 2.2.0 RC-1
This commit is contained in:
1 parent
f73f8bff6d
commit
22f1b963ee
1034 files changed
+178610
-70897
No files matched your search
@@ -1,923 +1 @@
|
||||
//------------------------------------------
|
||||
// Invision Power Board 2.1.7
|
||||
// STD Editor Functions
|
||||
// (c) 2005 Invision Power Services, Inc.
|
||||
//
|
||||
// http://www.invisionboard.com
|
||||
// SHOULD BE CALLED AFTER ipb_editor.js
|
||||
//------------------------------------------
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
// INIT
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
var i_am = 'std';
|
||||
var rtewindow;
|
||||
var buttonbar;
|
||||
|
||||
var opentags =
|
||||
{
|
||||
'b' : 0,
|
||||
'i' : 0,
|
||||
's' : 0,
|
||||
'u' : 0,
|
||||
'img' : 0,
|
||||
'quote' : 0,
|
||||
'left' : 0,
|
||||
'center' : 0,
|
||||
'right' : 0,
|
||||
'color' : 0,
|
||||
'background' : 0,
|
||||
'indent' : 0,
|
||||
'code' : 0
|
||||
};
|
||||
|
||||
var tags_to_div =
|
||||
{
|
||||
'b' : 'do_bold',
|
||||
'i' : 'do_italic',
|
||||
's' : 'do_strikethrough',
|
||||
'u' : 'do_underline',
|
||||
'quote' : 'do_quote',
|
||||
'left' : 'do_justifyleft',
|
||||
'center' : 'do_justifycenter',
|
||||
'right' : 'do_justifyright',
|
||||
'color' : 'forecolor',
|
||||
'background' : 'hilitecolor',
|
||||
'indent' : 'do_indent',
|
||||
'code' : 'do_code'
|
||||
};
|
||||
|
||||
var rte_to_std =
|
||||
{
|
||||
'forecolor' : 'color',
|
||||
'hilitecolor' : 'background'
|
||||
};
|
||||
|
||||
var easymode = 0;
|
||||
|
||||
// IE bug fix
|
||||
var ie_range_cache = '';
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
// INIT
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
function init_std_editor()
|
||||
{
|
||||
//--------------------------------------------
|
||||
// Pull in width of textarea
|
||||
//--------------------------------------------
|
||||
|
||||
try
|
||||
{
|
||||
rtewindow = document.getElementById( 'postcontent' );
|
||||
oldwidth = parseInt(document.getElementById( 'postcontent' ).style.width);
|
||||
buttonbar = document.getElementById( 'std-table-buttons' );
|
||||
widthunit = document.getElementById( 'postcontent' ).style.width.match( /%/ ) ? '%' : 'px';
|
||||
|
||||
if ( widthunit == 'px' )
|
||||
{
|
||||
if ( is_opera )
|
||||
{
|
||||
document.getElementById( 'postcontent' ).style.width = oldwidth - 4 + widthunit;
|
||||
buttonbar.style.width = parseInt( buttonbar.style.width ) - 4 + widthunit;
|
||||
}
|
||||
else if ( is_safari )
|
||||
{
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
document.getElementById( 'postcontent' ).style.width = oldwidth - 6 + widthunit;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( is_ie || is_moz )
|
||||
{
|
||||
document.getElementById( 'postcontent' ).style.width = oldwidth - 1 + widthunit;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch(e)
|
||||
{}
|
||||
|
||||
cvalue = my_getcookie( "bbmode" );
|
||||
|
||||
if ( cvalue == 1 )
|
||||
{
|
||||
document.getElementById('togglebbmode').value = js_bbeasy_on;
|
||||
easymode = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
document.getElementById('togglebbmode').value = js_bbeasy_off;
|
||||
easymode = 0;
|
||||
}
|
||||
}
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
// Toggle button highlighting (used when clicked on)
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
function toggle_button( tag )
|
||||
{
|
||||
//--------------------------------------------
|
||||
// Change the button status
|
||||
// Ensure we're not looking for FONT, SIZE or COLOR as these
|
||||
// buttons don't exist, they are select lists instead.
|
||||
//--------------------------------------------
|
||||
|
||||
if ( (tag == 'font') || (tag == 'size') )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if ( opentags[ tag ] )
|
||||
{
|
||||
document.getElementById( tags_to_div[ tag ] ).className = 'rteimage';
|
||||
|
||||
// Turn off
|
||||
opentags[ tag ] = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
document.getElementById( tags_to_div[ tag ] ).className = 'rteImageRaised';
|
||||
|
||||
// Turn on
|
||||
opentags[ tag ] = 1;
|
||||
}
|
||||
}
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
// Set BBCode mode
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
function toggle_bbmode(mVal)
|
||||
{
|
||||
if ( easymode )
|
||||
{
|
||||
document.getElementById('togglebbmode').value = js_bbeasy_off;
|
||||
easymode = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
document.getElementById('togglebbmode').value = js_bbeasy_on;
|
||||
easymode = 1;
|
||||
}
|
||||
|
||||
my_setcookie( 'bbmode', easymode, 1 );
|
||||
}
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
// Get easy mode state
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
function get_easy_mode_state()
|
||||
{
|
||||
//--------------------------------------------
|
||||
// Returns true if we've chosen easy mode
|
||||
//--------------------------------------------
|
||||
|
||||
if ( easymode )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
// Pop open and set up the color palette
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
function popcolor( command )
|
||||
{
|
||||
//-------------------------------
|
||||
// Already open?
|
||||
//-------------------------------
|
||||
|
||||
if ( opentags[ rte_to_std[ command ] ] )
|
||||
{
|
||||
//--------------------------------------------
|
||||
// Smart close tags
|
||||
//--------------------------------------------
|
||||
|
||||
smart_close_tags( rte_to_std[ command ] );
|
||||
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
//-------------------------------
|
||||
// Save current values
|
||||
//-------------------------------
|
||||
|
||||
parent.command = command;
|
||||
|
||||
if ( is_ie )
|
||||
{
|
||||
postfieldobj.focus();
|
||||
ie_range_cache = document.selection.createRange();
|
||||
}
|
||||
|
||||
//-------------------------------
|
||||
// Position and show color palette
|
||||
//-------------------------------
|
||||
|
||||
buttonElement = document.getElementById(command);
|
||||
|
||||
var iLeftPos = getOffsetLeft(buttonElement);
|
||||
var iTopPos = getOffsetTop(buttonElement) + (buttonElement.offsetHeight + 30);
|
||||
|
||||
document.getElementById('cp').style.left = (iLeftPos) + "px";
|
||||
document.getElementById('cp').style.top = (iTopPos) + "px";
|
||||
|
||||
if (document.getElementById('cp').style.visibility == "hidden")
|
||||
{
|
||||
document.getElementById('cp').style.visibility = "visible";
|
||||
document.getElementById('cp').style.display = "inline";
|
||||
}
|
||||
else
|
||||
{
|
||||
document.getElementById('cp').style.visibility = "hidden";
|
||||
document.getElementById('cp').style.display = "none";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
// Write the color
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
function setColor(color)
|
||||
{
|
||||
var parentCommand = parent.command;
|
||||
|
||||
if ( parentCommand == "hilitecolor" )
|
||||
{
|
||||
if ( wrap_tags("[background=" +color+ "]", "[/background]", true ) )
|
||||
{
|
||||
toggle_button( "background" );
|
||||
pushstack(bbtags, "background");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( wrap_tags("[color=" +color+ "]", "[/color]", true ) )
|
||||
{
|
||||
toggle_button( "color" );
|
||||
pushstack(bbtags, "color");
|
||||
}
|
||||
}
|
||||
|
||||
document.getElementById('cp').style.visibility = "hidden";
|
||||
document.getElementById('cp').style.display = "none";
|
||||
}
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
// EMOTICONS
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
function emoticon(theSmilie)
|
||||
{
|
||||
doInsert(" " + theSmilie + " ", "", false);
|
||||
|
||||
if ( (ua_vers >= 4) && is_ie && is_win && emowindow != 'undefined' )
|
||||
{
|
||||
emowindow.focus();
|
||||
}
|
||||
}
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
// ALTER FONT
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
function alterfont(theval, thetag)
|
||||
{
|
||||
if (theval == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if ( wrap_tags("[" + thetag + "=" + theval + "]", "[/" + thetag + "]", true ) )
|
||||
{
|
||||
pushstack(bbtags, thetag);
|
||||
}
|
||||
|
||||
postformobj.ffont.selectedIndex = 0;
|
||||
postformobj.fsize.selectedIndex = 0;
|
||||
}
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
// SIMPLE TAGS (such as B, I S U, etc)
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
function simpletag(thetag)
|
||||
{
|
||||
var tagOpen = opentags[ thetag ];
|
||||
|
||||
if ( get_easy_mode_state() )
|
||||
{
|
||||
inserttext = prompt(prompt_start + "\n[" + thetag + "]xxx[/" + thetag + "]");
|
||||
|
||||
if ( (inserttext != null) && (inserttext != "") )
|
||||
{
|
||||
wrap_tags("[" + thetag + "]" + inserttext + "[/" + thetag + "] ", "", false);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( tagOpen == 0 )
|
||||
{
|
||||
if ( wrap_tags("[" + thetag + "]", "[/" + thetag + "]", true ) )
|
||||
{
|
||||
//--------------------------------------------
|
||||
// Toggle
|
||||
//--------------------------------------------
|
||||
|
||||
toggle_button( thetag );
|
||||
|
||||
pushstack(bbtags, thetag);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//--------------------------------------------
|
||||
// Smart close tags
|
||||
//--------------------------------------------
|
||||
|
||||
smart_close_tags( thetag );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
// List tag
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
function tag_list( type )
|
||||
{
|
||||
var listvalue = "init";
|
||||
var thelist = "";
|
||||
|
||||
opentag = ( type == 'ordered' ) ? '[list=1]' : '[list]';
|
||||
|
||||
while ( (listvalue != "") && (listvalue != null) )
|
||||
{
|
||||
listvalue = prompt(list_prompt, "");
|
||||
|
||||
if ( (listvalue != "") && (listvalue != null) )
|
||||
{
|
||||
thelist = thelist+"[*]"+listvalue+"\n";
|
||||
}
|
||||
}
|
||||
|
||||
if ( thelist != "" )
|
||||
{
|
||||
wrap_tags( opentag + "\n" + thelist + "[/list]\n", "");
|
||||
}
|
||||
}
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
// URL tag
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
function tag_url()
|
||||
{
|
||||
var FoundErrors = '';
|
||||
|
||||
//----------------------------------------
|
||||
// Do we have ranged text?
|
||||
//----------------------------------------
|
||||
|
||||
if ( check_range() )
|
||||
{
|
||||
//----------------------------------------
|
||||
// Yes, just ask for the URL and wrap
|
||||
//----------------------------------------
|
||||
|
||||
var enterURL = prompt(text_enter_url, "http://");
|
||||
|
||||
if ( ! enterURL)
|
||||
{
|
||||
alert(error_no_url);
|
||||
return;
|
||||
}
|
||||
|
||||
wrap_tags( "[url="+enterURL+"]", "[/url]", "" );
|
||||
}
|
||||
else
|
||||
{
|
||||
var enterURL = prompt(text_enter_url, "http://");
|
||||
var enterTITLE = prompt(text_enter_url_name, jsfile_myweb_lang );
|
||||
|
||||
if ( ! enterURL)
|
||||
{
|
||||
FoundErrors += " " + error_no_url;
|
||||
}
|
||||
if ( ! enterTITLE)
|
||||
{
|
||||
FoundErrors += " " + error_no_title;
|
||||
}
|
||||
|
||||
if ( FoundErrors )
|
||||
{
|
||||
alert( jsfile_error_lang +FoundErrors);
|
||||
return;
|
||||
}
|
||||
|
||||
wrap_tags("[url="+enterURL+"]"+enterTITLE+"[/url]", "");
|
||||
}
|
||||
}
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
// Image tag
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
function tag_image()
|
||||
{
|
||||
var FoundErrors = '';
|
||||
|
||||
//----------------------------------------
|
||||
// Do we have ranged text?
|
||||
//----------------------------------------
|
||||
|
||||
if ( check_range() )
|
||||
{
|
||||
//----------------------------------------
|
||||
// Yes, just wrap text
|
||||
//----------------------------------------
|
||||
|
||||
wrap_tags( "[img]", "[/img]", "" );
|
||||
}
|
||||
else
|
||||
{
|
||||
var enterURL = prompt(text_enter_image, "http://");
|
||||
|
||||
if ( ! enterURL )
|
||||
{
|
||||
alert(error_no_url);
|
||||
return;
|
||||
}
|
||||
|
||||
wrap_tags("[img]"+enterURL+"[/img]", "");
|
||||
}
|
||||
}
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
// Email tag
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
function tag_email()
|
||||
{
|
||||
//----------------------------------------
|
||||
// Do we have ranged text?
|
||||
//----------------------------------------
|
||||
|
||||
if ( check_range() )
|
||||
{
|
||||
//----------------------------------------
|
||||
// Yes, just wrap text
|
||||
//----------------------------------------
|
||||
|
||||
wrap_tags( "[email]", "[/email]", "" );
|
||||
}
|
||||
else
|
||||
{
|
||||
var emailAddress = prompt(text_enter_email, "");
|
||||
|
||||
if ( ! emailAddress )
|
||||
{
|
||||
alert(error_no_email);
|
||||
return;
|
||||
}
|
||||
|
||||
wrap_tags( "[email]"+emailAddress+"[/email]", "" );
|
||||
}
|
||||
}
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
// Do we have ranged text?
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
function check_range()
|
||||
{
|
||||
var has_range = false;
|
||||
|
||||
//----------------------------------------
|
||||
// It's IE!
|
||||
//----------------------------------------
|
||||
|
||||
if ( (ua_vers >= 4) && is_ie && is_win )
|
||||
{
|
||||
var sel = document.selection;
|
||||
var rng = sel.createRange();
|
||||
rng.colapse;
|
||||
|
||||
if ( (sel.type == "Text" || sel.type == "None") && rng != null )
|
||||
{
|
||||
if ( rng.text.length > 0)
|
||||
{
|
||||
has_range = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// It's MOZZY!
|
||||
//----------------------------------------
|
||||
|
||||
else if ( postfieldobj.selectionEnd )
|
||||
{
|
||||
var ss = postfieldobj.selectionStart;
|
||||
var st = postfieldobj.scrollTop;
|
||||
var es = postfieldobj.selectionEnd;
|
||||
|
||||
if (es <= 2)
|
||||
{
|
||||
es = postfieldobj.textLength;
|
||||
}
|
||||
|
||||
var start = (postfieldobj.value).substring(0, ss);
|
||||
var middle = (postfieldobj.value).substring(ss, es);
|
||||
var end = (postfieldobj.value).substring(es, postfieldobj.textLength);
|
||||
|
||||
//-----------------------------------
|
||||
// text range?
|
||||
//-----------------------------------
|
||||
|
||||
if (postfieldobj.selectionEnd - postfieldobj.selectionStart > 0)
|
||||
{
|
||||
has_range = true;
|
||||
}
|
||||
}
|
||||
|
||||
return has_range;
|
||||
}
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
// Check message length
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
function check_length()
|
||||
{
|
||||
MessageLength = postfieldobj.value.length;
|
||||
message = "";
|
||||
|
||||
if (MessageMax > 0)
|
||||
{
|
||||
message = js_post + ": " + js_max_length + " " + MessageMax + " " + js_characters +".";
|
||||
}
|
||||
else
|
||||
{
|
||||
message = "";
|
||||
}
|
||||
|
||||
alert(message + " " + js_used + " " + MessageLength + " " + js_characters + ".");
|
||||
}
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
// GENERAL INSERT FUNCTION
|
||||
// opentext : opening tag
|
||||
// closetext: closing tag, used if we have selected text
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
function wrap_tags(opentext, closetext, issingle)
|
||||
{
|
||||
var has_closed = false;
|
||||
|
||||
if ( ! issingle )
|
||||
{
|
||||
issingle = false;
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// It's IE!
|
||||
//----------------------------------------
|
||||
|
||||
if ( (ua_vers >= 4) && is_ie && is_win )
|
||||
{
|
||||
if ( postfieldobj.isTextEdit )
|
||||
{
|
||||
postfieldobj.focus();
|
||||
|
||||
var sel = document.selection;
|
||||
|
||||
var rng = ie_range_cache ? ie_range_cache : sel.createRange();
|
||||
|
||||
var stored_range = rng.duplicate()
|
||||
stored_range.moveToElementText( postfieldobj );
|
||||
stored_range.setEndPoint( 'EndToEnd', rng );
|
||||
|
||||
// Stores start position of text selection
|
||||
postfieldobj.selectionStart = stored_range.text.length - rng.text.length;
|
||||
// Stores end position of text selection
|
||||
postfieldobj.selectionEnd = postfieldobj.selectionStart + rng.text.length;
|
||||
|
||||
rng.colapse;
|
||||
|
||||
if ( (sel.type == "Text" || sel.type == "None") && rng != null)
|
||||
{
|
||||
if (closetext != "" && rng.text && rng.text.length > 0)
|
||||
{
|
||||
opentext += rng.text + closetext;
|
||||
}
|
||||
else if ( issingle )
|
||||
{
|
||||
has_closed = true;
|
||||
}
|
||||
|
||||
rng.text = rng.text.charAt(rng.text.length - 1) == ' ' ? opentext + ' ' : opentext;
|
||||
}
|
||||
else
|
||||
{
|
||||
postfieldobj.value += opentext;
|
||||
has_closed = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
postfieldobj.value += opentext;
|
||||
has_closed = true;
|
||||
}
|
||||
|
||||
ie_range_cache = null;
|
||||
|
||||
rng.select();
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// It's MOZZY!
|
||||
//----------------------------------------
|
||||
|
||||
else if ( postfieldobj.selectionEnd )
|
||||
{
|
||||
var ss = postfieldobj.selectionStart;
|
||||
var st = postfieldobj.scrollTop;
|
||||
var es = postfieldobj.selectionEnd;
|
||||
|
||||
if (es <= 0)
|
||||
{
|
||||
es = postfieldobj.textLength;
|
||||
}
|
||||
|
||||
var start = (postfieldobj.value).substring(0, ss);
|
||||
var middle = (postfieldobj.value).substring(ss, es);
|
||||
var end = (postfieldobj.value).substring(es, postfieldobj.textLength);
|
||||
|
||||
//-----------------------------------
|
||||
// text range?
|
||||
//-----------------------------------
|
||||
|
||||
if ( postfieldobj.selectionEnd - postfieldobj.selectionStart > 0 )
|
||||
{
|
||||
middle = opentext + middle + closetext;
|
||||
}
|
||||
else
|
||||
{
|
||||
middle = opentext + middle;
|
||||
|
||||
if ( issingle )
|
||||
{
|
||||
has_closed = true;
|
||||
}
|
||||
}
|
||||
|
||||
postfieldobj.value = start + middle + end;
|
||||
|
||||
var cpos = ss + (middle.length);
|
||||
|
||||
postfieldobj.selectionStart = cpos;
|
||||
postfieldobj.selectionEnd = cpos;
|
||||
postfieldobj.scrollTop = st;
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// It's CRAPPY!
|
||||
//----------------------------------------
|
||||
|
||||
else
|
||||
{
|
||||
if ( issingle )
|
||||
{
|
||||
has_closed = false;
|
||||
}
|
||||
|
||||
postfieldobj.value += opentext + ' ' + closetext;
|
||||
}
|
||||
|
||||
postfieldobj.focus();
|
||||
|
||||
return has_closed;
|
||||
}
|
||||
|
||||
/*--------------------------------------------*/
|
||||
// Make current STD window (n)px bigger
|
||||
/*--------------------------------------------*/
|
||||
|
||||
function std_window_resize( pix )
|
||||
{
|
||||
var box = postfieldobj;
|
||||
var cur_height = parseInt( box.style.height ) ? parseInt( box.style.height ) : 300;
|
||||
var new_height = cur_height + pix;
|
||||
|
||||
if ( new_height > 0 )
|
||||
{
|
||||
box.style.height = new_height + "px";
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
// Validate form (must always have this method defined!)
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
function ValidateForm( isMsg )
|
||||
{
|
||||
MessageLength = postfieldobj.value.length;
|
||||
errors = "";
|
||||
|
||||
//-----------------------------------------
|
||||
// Check for remove attachments
|
||||
//-----------------------------------------
|
||||
|
||||
try
|
||||
{
|
||||
if ( postformobj.removeattachid.value > 0 )
|
||||
{
|
||||
okdelete = confirm( js_remove_attach );
|
||||
|
||||
if ( okdelete == true )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
postformobj.removeattachid.value = 0;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch(error)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
if ( isMsg == 1)
|
||||
{
|
||||
if ( postformobj.msg_title.value.length < 2 )
|
||||
{
|
||||
errors = js_msg_no_title;
|
||||
}
|
||||
}
|
||||
|
||||
if ( MessageLength < 2 )
|
||||
{
|
||||
errors = js_no_message;
|
||||
}
|
||||
|
||||
if ( MessageMax !=0 )
|
||||
{
|
||||
if (MessageLength > MessageMax)
|
||||
{
|
||||
errors = js_max_length + " " + MessageMax + " " + js_characters + ". " + js_current + ": " + MessageLength;
|
||||
}
|
||||
}
|
||||
|
||||
if ( errors != "" && ! Override )
|
||||
{
|
||||
alert(errors);
|
||||
return false;
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
try
|
||||
{
|
||||
postformobj.submit.disabled = true;
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
try
|
||||
{
|
||||
postformobj.dosubmit.disabled = true;
|
||||
}
|
||||
catch(e) { }
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function doInsert(ibTag, ibClsTag, isSingle)
|
||||
{
|
||||
var isClose = false;
|
||||
var obj_ta = fombj.Post;
|
||||
|
||||
//----------------------------------------
|
||||
// It's IE!
|
||||
//----------------------------------------
|
||||
if ( (ua_vers >= 4) && is_ie && is_win)
|
||||
{
|
||||
if (obj_ta.isTextEdit)
|
||||
{
|
||||
obj_ta.focus();
|
||||
var sel = document.selection;
|
||||
var rng = sel.createRange();
|
||||
rng.colapse;
|
||||
if((sel.type == "Text" || sel.type == "None") && rng != null)
|
||||
{
|
||||
if(ibClsTag != "" && rng.text.length > 0)
|
||||
ibTag += rng.text + ibClsTag;
|
||||
else if(isSingle)
|
||||
isClose = true;
|
||||
|
||||
rng.text = ibTag;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(isSingle)
|
||||
{
|
||||
isClose = true;
|
||||
}
|
||||
|
||||
obj_ta.value += ibTag;
|
||||
}
|
||||
}
|
||||
//----------------------------------------
|
||||
// It's MOZZY!
|
||||
//----------------------------------------
|
||||
|
||||
else if ( obj_ta.selectionEnd )
|
||||
{
|
||||
var ss = obj_ta.selectionStart;
|
||||
var st = obj_ta.scrollTop;
|
||||
var es = obj_ta.selectionEnd;
|
||||
|
||||
if (es <= 2)
|
||||
{
|
||||
es = obj_ta.textLength;
|
||||
}
|
||||
|
||||
var start = (obj_ta.value).substring(0, ss);
|
||||
var middle = (obj_ta.value).substring(ss, es);
|
||||
var end = (obj_ta.value).substring(es, obj_ta.textLength);
|
||||
|
||||
//-----------------------------------
|
||||
// text range?
|
||||
//-----------------------------------
|
||||
|
||||
if (obj_ta.selectionEnd - obj_ta.selectionStart > 0)
|
||||
{
|
||||
middle = ibTag + middle + ibClsTag;
|
||||
}
|
||||
else
|
||||
{
|
||||
middle = ibTag + middle;
|
||||
|
||||
if (isSingle)
|
||||
{
|
||||
isClose = true;
|
||||
}
|
||||
}
|
||||
|
||||
obj_ta.value = start + middle + end;
|
||||
|
||||
var cpos = ss + (middle.length);
|
||||
|
||||
obj_ta.selectionStart = cpos;
|
||||
obj_ta.selectionEnd = cpos;
|
||||
obj_ta.scrollTop = st;
|
||||
|
||||
|
||||
}
|
||||
//----------------------------------------
|
||||
// It's CRAPPY!
|
||||
//----------------------------------------
|
||||
else
|
||||
{
|
||||
if (isSingle)
|
||||
{
|
||||
isClose = true;
|
||||
}
|
||||
|
||||
obj_ta.value += ibTag;
|
||||
}
|
||||
|
||||
obj_ta.focus();
|
||||
|
||||
return isClose;
|
||||
}
|
||||
var bbtags = new Array();
|
||||
|
||||
var fombj = document.REPLIER;
|
||||
|
||||
|
||||
|
||||
var i_am='std';var rtewindow;var buttonbar;var opentags={'b':0,'i':0,'s':0,'u':0,'img':0,'quote':0,'left':0,'center':0,'right':0,'color':0,'background':0,'indent':0,'code':0};var tags_to_div={'b':'do_bold','i':'do_italic','s':'do_strikethrough','u':'do_underline','quote':'do_quote','left':'do_justifyleft','center':'do_justifycenter','right':'do_justifyright','color':'forecolor','background':'hilitecolor','indent':'do_indent','code':'do_code'};var rte_to_std={'forecolor':'color','hilitecolor':'background'};var easymode=0;var ie_range_cache='';function init_std_editor(){try{rtewindow=document.getElementById('postcontent');oldwidth=parseInt(document.getElementById('postcontent').style.width);buttonbar=document.getElementById('std-table-buttons');widthunit=document.getElementById('postcontent').style.width.match( /%/)?'%':'px';if(widthunit=='px'){if(is_opera){document.getElementById('postcontent').style.width=oldwidth-4+widthunit;buttonbar.style.width=parseInt(buttonbar.style.width)-4+widthunit;}else if(is_safari){}else{document.getElementById('postcontent').style.width=oldwidth-6+widthunit;}}else{if(is_ie||is_moz){document.getElementById('postcontent').style.width=oldwidth-1+widthunit;}}}catch(e){}cvalue=my_getcookie("bbmode");if(cvalue==1){document.getElementById('togglebbmode').value=js_bbeasy_on;easymode=1;}else{document.getElementById('togglebbmode').value=js_bbeasy_off;easymode=0;}faceobj=document.getElementById('fontface');faceregex= /\<\!--FONTFACE--\>/gi;facecontent=faceobj.innerHTML.replace(faceregex,write_fontface_box());faceobj.innerHTML=facecontent;sizeobj=document.getElementById('fontsize');sizeregex= /\<\!--FONTSIZE--\>/gi;sizecontent=sizeobj.innerHTML.replace(sizeregex,write_fontsize_box());sizeobj.innerHTML=sizecontent;}function toggle_button(tag){if((tag=='font')||(tag=='size')){return;}if(opentags[tag]){document.getElementById(tags_to_div[tag]).className='rteimage';opentags[tag]=0;}else{document.getElementById(tags_to_div[tag]).className='rteImageRaised';opentags[tag]=1;}}function toggle_bbmode(mVal){if(easymode){document.getElementById('togglebbmode').value=js_bbeasy_off;easymode=0;}else{document.getElementById('togglebbmode').value=js_bbeasy_on;easymode=1;}my_setcookie('bbmode',easymode,1);}function get_easy_mode_state(){if(easymode){return true;}else{return false;}}function popcolor(command){if(opentags[rte_to_std[command]]){smart_close_tags(rte_to_std[command]);return false;}else{parent.command=command;if(is_ie){postfieldobj.focus();ie_range_cache=document.selection.createRange();}buttonElement=document.getElementById(command);var iLeftPos=getOffsetLeft(buttonElement);var iTopPos=getOffsetTop(buttonElement)+(buttonElement.offsetHeight+30);document.getElementById('cp').style.left=(iLeftPos)+"px";document.getElementById('cp').style.top=(iTopPos)+"px";if(document.getElementById('cp').style.visibility=="hidden"){document.getElementById('cp').style.visibility="visible";document.getElementById('cp').style.display="inline";}else{document.getElementById('cp').style.visibility="hidden";document.getElementById('cp').style.display="none";}}}function setColor(color){var parentCommand=parent.command;if(parentCommand=="hilitecolor"){if(wrap_tags("[background="+color+"]","[/background]",true)){toggle_button("background");pushstack(bbtags,"background");}}else{if(wrap_tags("[color="+color+"]","[/color]",true)){toggle_button("color");pushstack(bbtags,"color");}}document.getElementById('cp').style.visibility="hidden";document.getElementById('cp').style.display="none";}function emoticon(theSmilie){doInsert(" "+theSmilie+" ","",false);if((ua_vers>=4)&&is_ie&&is_win&&emowindow!=''&&emowindow!='undefined'){emowindow.focus();}}function alterfont(theval,thetag){if(theval==0){return;}if(wrap_tags("["+thetag+"="+theval+"]","[/"+thetag+"]",true)){pushstack(bbtags,thetag);}postformobj.ffont.selectedIndex=0;postformobj.fsize.selectedIndex=0;}function simpletag(thetag){var tagOpen=opentags[thetag];if(get_easy_mode_state()){inserttext=prompt(prompt_start+"\n["+thetag+"]xxx[/"+thetag+"]");if((inserttext!=null)&&(inserttext!="")){wrap_tags("["+thetag+"]"+inserttext+"[/"+thetag+"] ","",false);}}else{if(tagOpen==0){if(wrap_tags("["+thetag+"]","[/"+thetag+"]",true)){toggle_button(thetag);pushstack(bbtags,thetag);}}else{smart_close_tags(thetag);}}}function tag_list(type){var listvalue="init";var thelist="";opentag=(type=='ordered')?'[list=1]':'[list]';while((listvalue!="")&&(listvalue!=null)){listvalue=prompt(list_prompt,"");if((listvalue!="")&&(listvalue!=null)){thelist=thelist+"[*]"+listvalue+"\n";}}if(thelist!=""){wrap_tags(opentag+"\n"+thelist+"[/list]\n","");}}function tag_url(){var FoundErrors='';if(check_range()){var enterURL=prompt(text_enter_url,"http://");if(!enterURL){alert(error_no_url);return;}wrap_tags("[url="+enterURL+"]","[/url]","");}else{var enterURL=prompt(text_enter_url,"http://");var enterTITLE=prompt(text_enter_url_name,jsfile_myweb_lang);if(!enterURL){FoundErrors+=" "+error_no_url;}if(!enterTITLE){FounLine truncated
|
||||
Reference in new issue
Block a user