﻿_reorderColumn(aColMove, aColBefore, aBefore) {
this._ensureColumnOrder();

var i;
var cols = [];
var col = this.columns.getColumnFor(aColBefore);
if (parseInt(aColBefore.ordinal) < parseInt(aColMove.ordinal)) {
if (aBefore) 
{cols.push(aColBefore);}
for (col = col.getNext(); col.element != aColMove; col = col.getNext()) {
cols.push(col.element);
}

aColMove.ordinal = cols[0].ordinal;
for (i = 0; i < cols.length; ++i) {
cols[i].ordinal = parseInt(cols[i].ordinal) + 2;
}} 
else if (aColBefore.ordinal != aColMove.ordinal) {
if (!aBefore) 
{cols.push(aColBefore);}
for (col = col.getPrevious(); col.element != aColMove; col = col.getPrevious()) 
{cols.push(col.element);
}

aColMove.ordinal = cols[0].ordinal;
for (i = 0; i < cols.length; ++i) 
{cols[i].ordinal = parseInt(cols[i].ordinal) - 2;}
}
    }