Here's my working script
Code:
-- relayers items of the selection according to their Y (vertical) coordinate
-- select all the items you want brought to front
tell application id "OGfl"
tell front window
-- get a text list of Y coord & object ID
set theSelection to the selection
if theSelection is not {} then
set theText to ""
repeat with theItem in theSelection
set theOrigin to origin of theItem
set theY to item 2 of (theOrigin)
set theID to the id of theItem
set theText to theText & theY & tab & theID & linefeed -- use linefeed, not return!
end repeat
-- sort the text list
set sortedIDs to paragraphs 2 through -1 of ¬
(do shell script "echo " & quoted form of (theText) & " | sort -n | cut -f 2")
-- bring each to front, in sorted sequence
set refGraphics to (a reference to graphics of its canvas)
repeat with theID in sortedIDs
set oGraphic to (a reference to graphic id (theID as number))
move oGraphic to beginning of refGraphics
end repeat
else
beep
end if
end tell
end tell