108 lines
2.6 KiB
JavaScript
108 lines
2.6 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);
|
|
}
|
|
|
|
// 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();
|
|
}
|
|
|
|
if ( $('post_htmlstatus') )
|
|
{
|
|
ipb.textEditor.bindHtmlCheckbox( $('post_htmlstatus') );
|
|
}
|
|
},
|
|
|
|
// 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); };
|
|
}
|
|
};
|
|
|
|
ipb.post.init(); |