File: /var/www/ilya/data/www/irkboard.ru/public/js/ips.hooks.js
/************************************************/
/* IPB3 Javascript */
/* -------------------------------------------- */
/* ips.forums.js - Forum view code */
/* (c) IPS, Inc 2008 */
/* -------------------------------------------- */
/* Author: Rikki Tissier */
/************************************************/
var _hooks = window.IPBoard;
_hooks.prototype.hooks = {
activeTab: 'forums',
init: function()
{
Debug.write("Initializing ips.hooks.js");
document.observe("dom:loaded", function(){
ipb.hooks.initEvents();
});
},
initEvents: function()
{
$$('.tab_toggle').each( function(elem){
$(elem).observe('click', ipb.hooks.changeTabContent );
});
if( $('more-watched-forums') )
{
$('more-watched-forums').observe('click', ipb.hooks.toggleWatchedForums );
}
if( $('more-watched-topics') )
{
$('more-watched-topics').observe('click', ipb.hooks.toggleWatchedTopics );
}
},
toggleWatchedForums: function(e)
{
Event.stop(e);
$('more-watched-forums-container').toggle();
},
toggleWatchedTopics: function(e)
{
Event.stop(e);
$('more-watched-topics-container').toggle();
},
changeTabContent: function(e)
{
Event.stop(e);
elem = Event.findElement(e, 'li');
if( !elem.hasClassName('tab_toggle') || !elem.id ){ return; }
id = elem.id.replace('tab_link_', '');
if( !id || id.blank() ){ return; }
if( !$('tab_content_' + id ) ){ return; }
if( ipb.hooks.activeTab == id )
{
return;
}
oldTab = ipb.hooks.activeTab;
ipb.hooks.activeTab = id;
// OK, we should have an ID. Does it exist already?
if( !$('tab_' + id ) )
{
$$('.tab_toggle_content').each( function(otherelem){
$(otherelem).hide();
});
$('tab_content_' + id ).show();
}
else
{
new Effect.Parallel( [
new Effect.BlindUp( $('tab_content_' + oldTab), { sync: true } ),
new Effect.BlindDown( $('tab_content_' + ipb.hooks.activeTab), { sync: true } )
], { duration: 0.4 } );
}
$$('.tab_toggle').each( function(otherelem){
$(otherelem).removeClassName('active');
});
$(elem).addClassName('active');
}
}
ipb.hooks.init();