Files
IPB/upload/public/js/ips.post.js
T
2025-12-19 00:34:03 -08:00

129 lines
3.2 KiB
JavaScript

/************************************************/
/* IPB3 Javascript */
/* -------------------------------------------- */
/* ips.board.js - Board index code */
/* (c) IPS, Inc 2008 */
/* -------------------------------------------- */
/* Author: Rikki Tissier */
/************************************************/
var _post = window.IPBoard;
_post.prototype.post = {
cal_open: '',
cal_close: '',
/*------------------------------*/
/* Constructor */
init: function()
{
Debug.write("Initializing ips.post.js");
document.observe("dom:loaded", function(){
ipb.post.initEvents();
});
},
initEvents: function()
{
// Form validation
if( $('postingform') ){
$('postingform').observe('submit', ipb.post.postFormSubmit);
}
if( $('open_emoticons') ){
$('open_emoticons').observe('click', ipb.post.toggleEmoticons);
}
if( $('post_options_options') && $('toggle_post_options') ){
$('toggle_post_options').update( ipb.lang['click_to_show_opts'] );
$('toggle_post_options').observe('click', ipb.post.showOptions );
}
// Add calendars
if( $('mod_open_date') && $('mod_open_date_icon') ){
$('mod_open_date_icon').observe('click', function(){
new CalendarDateSelect( $('mod_open_date'), { year_range: 6, close_on_click: true } );
});
}
if( $('mod_close_date') && $('mod_close_date_icon') ){
$('mod_close_date_icon').observe('click', function(){
new CalendarDateSelect( $('mod_close_date'), { year_range: 6, close_on_click: true } );
});
}
if( $('post_preview' ) ){
ipb.post.externalizePreviewLinks( $('post_preview') );
}
if( $('review_topic') ){
$('review_topic').observe('click', ipb.global.openNewWindow.bindAsEventListener( this, $('review_topic'), 1 ) );
}
if( $('topic_title') ){
$('topic_title').focus();
}
},
// Bug #16805
// Forces all links in post preview to open in new window, to
// prevent losing the post content when link is clicked
externalizePreviewLinks: function( wrapper )
{
if( !$( wrapper ) ){ return; }
Debug.write("Finding links in post preview");
// Find all links
$( wrapper ).select('a').each( function(elem){
var curRel = ['external'];
if( $( elem ).readAttribute('rel') != null ){
curRel.push( $( elem ).readAttribute('rel').replace('external', '') );
}
$( elem ).writeAttribute('rel', curRel.join(' ') );
});
},
postFormSubmit: function(e)
{
return true;
Event.stop(e);
Debug.write( "Submitting" );
if( $('username') && $F('username').blank() ){
alert( ipb.lang['post_empty_username'] );
error = true;
}
if( $('topic_title') ){
alert( ipb.lang['post_empty_title'] );
error = true;
}
if( $('ed-0_textarea') && $F('ed-0_textarea').blank() ){
alert( ipb.lang['post_empty_post'] );
error = true;
}
if( error ){ Event.stop(e); };
},
showOptions: function(e)
{
new Effect.Fade( $('toggle_post_options'), { duration: 0.2 } );
//$('toggle_post_options').hide();
new Effect.BlindDown( $( 'post_options_options' ), { duration: 0.3 } );
},
hideOptions: function()
{
if( $('post_options_options') )
{
$('post_options_options').hide();
}
}
};
ipb.post.init();