src/geometry.js
function(intersection, size) {
    var i, j, ret;
    if (intersection.charCodeAt(1) > CODE_9) { // "aa"
	i = intersection.charCodeAt(0) - CODE_a + 1;
	j = intersection.charCodeAt(1) - CODE_a + 1;
	ret = horizontal(i, "A1") + vertical(j, "A1", size);
    }
    else { // "A1"
	i = intersection.charCodeAt(0) - CODE_A + 1;
	var skipI = i >= 9 ? 1 : 0;
	i -= skipI;
	j = size - (+intersection.substring(1)) + 1;
	ret = horizontal(i, "aa") + vertical(j, "aa", size);
    }
    return ret;
}
function(intersection, size) {
    var i, j, ret;
    if (intersection.charCodeAt(1) > CODE_9) { // "aa"
	i = intersection.charCodeAt(0) - CODE_a + 1;
	j = intersection.charCodeAt(1) - CODE_a + 1;
	ret = horizontal(i, "A1") + vertical(j, "A1", size);
    }
    else { // "A1"
	i = intersection.charCodeAt(0) - CODE_A + 1;
	var skipI = i >= 9 ? 1 : 0;
	i -= skipI;
	j = size - (+intersection.substring(1)) + 1;
	ret = horizontal(i, "aa") + vertical(j, "aa", size);
    }
    return ret;
}
function ( intersection , size ) { var i , j , ret ; if ( intersection . charCodeAt ( 1 ) > CODE_9 ) { // "aa" i = intersection . charCodeAt ( 0 ) - CODE_a + 1 ; j = intersection . charCodeAt ( 1 ) - CODE_a + 1 ; ret = horizontal ( i , "A1" ) + vertical ( j , "A1" , size ) ; } else { // "A1" i = intersection . charCodeAt ( 0 ) - CODE_A + 1 ; var skipI = i >= 9 ? 1 : 0 ; i -= skipI ; j = size - ( + intersection . substring ( 1 ) ) + 1 ; ret = horizontal ( i , "aa" ) + vertical ( j , "aa" , size ) ; } return ret ; }
Translates intersection in other coordinate system.

@param {string} intersection either in "A1" or "aa" coordinates
@param {number} size the grid base (9, 13, 19)
@returns {string}
Translates intersection in other coordinate system .