code: function ( OldPos, NewPos, AfterNewPos ) {
  				OldPos = parseInt ( OldPos );
  				NewPos = parseInt ( NewPos );
  				if ( AfterNewPos ) {
  					NewPos = NewPos + 1;
  				}
  				if ( OldPos > _Pins.length - 1 ) {
  					return;
  				}
  				if ( NewPos > _Pins.length ) {
  					return;
  				}
  				if ( OldPos === NewPos ) {
  					return;
  				}
  				var CurrentPos = 0;
  				var NewPins = [];
  				for ( var Counter = 0; Counter < _Pins.length; Counter++ ) {
  					if ( Counter === OldPos ) {
  					}
  					else if ( Counter === NewPos ) {
  						NewPins [ CurrentPos ] = _Pins [ OldPos ];
  						CurrentPos++;
  						NewPins [ CurrentPos ] = _Pins [ Counter ];
  						CurrentPos++;
  					}
  					else {
  						NewPins [ CurrentPos ] = _Pins [ Counter ];
  						CurrentPos++;
  					}
  				}
  				if ( NewPos === _Pins.length ) {
  					NewPins [ _Pins.length - 1 ] = _Pins [ OldPos ];
  				}
  				_Pins = NewPins;
  				this.CallbackFunction ( );
  				_updateControl ( );
  			}
docs: /*
  --- order ( OldPos, NewPos, AfterNewPos ) method ---
  
  This method changes the position of a pin in the pins collection
  
  Parameters :
  - OldPos : the old position of the pin in the collection
  - NewPos : the new position of the pin in the collection
  - AfterNewPos : a boolean indicates if the pin position must be
  after the pin at the new position ( true ) or before ( false )