Current File : /home/jvzmxxx/wiki1/extensions/SocialProfile/UserBoard/BoardBlast.js
var BoardBlast = {
	submitted: 0,

	toggleUser: function( user_id ) {
		var elem = jQuery( '#user-' + user_id );

		if ( elem.hasClass( 'blast-friend-selected' ) ) {
			elem.removeClass( 'blast-friend-selected' )
				.addClass( 'blast-friend-unselected' );
		} else if ( elem.hasClass( 'blast-friend-unselected' ) ) {
			elem.removeClass( 'blast-friend-unselected' )
				.addClass( 'blast-friend-selected' );
		}

		if ( elem.hasClass( 'blast-foe-selected' ) ) {
			elem.removeClass( 'blast-foe-selected' )
				.addClass( 'blast-foe-unselected' );
		} else if ( elem.hasClass( 'blast-foe-unselected' ) ) {
			elem.removeClass( 'blast-foe-unselected' )
				.addClass( 'blast-foe-selected' );
		}
	},

	toggleType: function( method, on, off ) {
		var list = jQuery( '#blast-friends-list div.' + ( ( method === 1 ) ? off : on ) );

		for ( var x = 0; x <= list.length - 1; x++ ) {
			var el = list[x];
			if ( jQuery( el ).hasClass( on ) || jQuery( el ).hasClass( off ) ) {
				if ( method === 1 ) {
					jQuery( el ).removeClass( off ).addClass( on );
				} else {
					jQuery( el ).removeClass( on ).addClass( off );
				}
			}
		}
	},

	toggleFriends: function( method ) {
		BoardBlast.toggleType(
			method,
			'blast-friend-selected',
			'blast-friend-unselected'
		);
	},

	toggleFoes: function( method ) {
		BoardBlast.toggleType(
			method,
			'blast-foe-selected',
			'blast-foe-unselected'
		);
	},

	selectAll: function() {
		BoardBlast.toggleFriends( 1 );
		BoardBlast.toggleFoes( 1 );
	},

	unselectAll: function() {
		BoardBlast.toggleFriends( 0 );
		BoardBlast.toggleFoes( 0 );
	},

	sendMessages: function() {
		if ( BoardBlast.submitted === 1 ) {
			return 0;
		}

		BoardBlast.submitted = 1;
		var selected = 0;
		var user_ids_to = '';

		var list = jQuery( '#blast-friends-list div.blast-friend-selected' );
		var el, user_id;
		for ( var x = 0; x <= list.length - 1; x++ ) {
			el = list[x];
			selected++;
			user_id = el.id.replace( 'user-', '' );
			user_ids_to += ( ( user_ids_to ) ? ',' : '' ) + user_id;
		}

		list = jQuery( '#blast-friends-list div.blast-foe-selected' );
		for ( x = 0; x <= list.length - 1; x++ ) {
			el = list[x];
			selected++;
			user_id = el.id.replace( 'user-', '' );
			user_ids_to += ( ( user_ids_to ) ? ',' : '' ) + user_id;
		}

		if ( selected === 0 ) {
			window.alert( mediaWiki.msg( 'boardblast-js-error-missing-user' ) );
			BoardBlast.submitted = 0;
			return 0;
		}

		if ( !document.getElementById( 'message' ).value ) {
			window.alert( mediaWiki.msg( 'boardblast-js-error-missing-message' ) );
			BoardBlast.submitted = 0;
			return 0;
		}

		document.getElementById( 'ids' ).value = user_ids_to;

		document.blast.message.style.color = '#ccc';
		document.blast.message.readOnly = true;
		document.getElementById( 'blast-friends-list' ).innerHTML = mediaWiki.msg( 'boardblast-js-sending' );
		document.blast.submit();
	}
};

jQuery( function() {
	// "Select/Unselect all" links
	jQuery( 'div.blast-nav-links a.blast-select-all-link' ).on( 'click', function() {
		BoardBlast.selectAll();
	} );

	jQuery( 'div.blast-nav-links a.blast-unselect-all-link' ).on( 'click', function() {
		BoardBlast.unselectAll();
	} );

	// "Select/Unselect friends" links
	jQuery( 'div.blast-nav-links a.blast-select-friends-link' ).on( 'click', function() {
		BoardBlast.toggleFriends( 1 );
	} );

	jQuery( 'div.blast-nav-links a.blast-unselect-friends-link' ).on( 'click', function() {
		BoardBlast.toggleFriends( 0 );
	} );

	// "Select/Unselect foes" links
	jQuery( 'div.blast-nav-links a.blast-select-foes-link' ).on( 'click', function() {
		BoardBlast.toggleFoes( 1 );
	} );

	jQuery( 'div.blast-nav-links a.blast-unselect-foes-link' ).on( 'click', function() {
		BoardBlast.toggleFoes( 0 );
	} );

	// Toggling for an individual user
	jQuery( 'div#blast-friends-list div[id^="user-"]' ).on( 'click', function() {
		BoardBlast.toggleUser( jQuery( this ).attr( 'id' ).replace( /user-/, '' ) );
	} );

	// The submit button
	jQuery( 'div.blast-message-box-button input[type="button"]' ).on( 'click', function() {
		BoardBlast.sendMessages();
	} );
} );