if not init then
    screenactive = 0
    imagebg = 1
    imgindex = 0
    tabindex = 1
    shipindex = 0
    shipindexmax = 6
    contexttext = ""
    mem1 = {}
    for ix=0,6 do
        mem1[ix] = {}
        for iy=0,35 do
            mem1[ix][iy] = 0
        end
    end
    mem1[0][0] = "TYR Gryphon C" --ship name
    mem1[0][1] = "assets.prod.novaquark.com/66839/d1ea9707-88bf-41c5-88d4-0df7250db22b.png" --img src 
    mem1[0][2] = "XS" --core size
    mem1[0][3] = "TYR Expeditionary Group" --maker / creator name
    mem1[0][4] = "8.84 t" --dry mass
    mem1[0][5] = "0 KL" --cargo volume
    mem1[0][6] = "20 t" --cargo max mass
    mem1[0][7] = "800 L" --ATMO Fuel capacity
    mem1[0][8] = "0 L" --SPACE Fuel capacity
    mem1[0][9] = "0 L" --ROCKET Fuel capacity
    mem1[0][10] = "14.1 g" -- ATMO Thrust
    mem1[0][11] = "25.8 g" -- ATMO Brake
    mem1[0][12] = "1,431 KM/H" -- ATMO Max Speed
    mem1[0][13] = "2.77 g" -- ATMO Low Alt Lift
    mem1[0][14] = "2.64 g" -- ATMO High Alt Lift
    mem1[0][15] = "364 KM/H" -- ATMO Sus Speed
    mem1[0][16] = "0 g" -- SPACE Thrust
    mem1[0][17] = "0 g" -- SPACE Brake
    mem1[0][18] = "50,000 KM/H" -- SPACE Max Speed
    mem1[0][19] = "0 g" -- SPACE Low Alt Lift
    mem1[0][20] = "60.8 m2" -- Xsec Vert 
    mem1[0][21] = "12.9 m2" -- Xsec Front 
    mem1[0][22] = "18.9 m2" -- Xsec Lat 
    mem1[0][23] = "50 k" -- inert matrix 1,1
    mem1[0][24] = "-7.6" -- inert matrix 2,1
    mem1[0][25] = "-0.17" -- inert matrix 3,1
    mem1[0][26] = "-7.6" -- inert matrix 1,2
    mem1[0][27] = "40 k" -- inert matrix 2,2
    mem1[0][28] = "1.4 k" -- inert matrix 3,2
    mem1[0][29] = "-0.17" -- inert matrix 1,3
    mem1[0][30] = "1.4 k" -- inert matrix 2,3
    mem1[0][31] = "58 k" -- inert matrix 3,3
    mem1[0][32] = "10,000,000 quanta" -- TOKEN price
    mem1[0][33] = "7,500,000 quanta" -- BLUEPRINT price
    mem1[0][34] = 6 -- number of image sections used (MAX 6)
    mem1[0][35] = 12 -- number of tokens available
    mem1[0][36] = 999 -- number of blueprints available
    
    
    mem1[1][0] = "TYR Rook E"
    mem1[1][1] = "assets.prod.novaquark.com/66839/2283b727-8101-444c-ab3b-f71605633026.png" --img src
    mem1[1][2] = "S" --core size
    mem1[1][3] = "TYR Expeditionary Group" --maker / creator name
    mem1[1][4] = "8.84 t" --dry mass
    mem1[1][5] = "0 KL" --cargo volume
    mem1[1][6] = "20 t" --cargo max mass
    mem1[1][7] = "800 L" --ATMO Fuel capacity
    mem1[1][8] = "0 L" --SPACE Fuel capacity
    mem1[1][9] = "0 L" --ROCKET Fuel capacity
    mem1[1][10] = "14.1 g" -- ATMO Thrust
    mem1[1][11] = "25.8 g" -- ATMO Brake
    mem1[1][12] = "1,431 KM/H" -- ATMO Max Speed
    mem1[1][13] = "2.77 g" -- ATMO Low Alt Lift
    mem1[1][14] = "2.64 g" -- ATMO High Alt Lift
    mem1[1][15] = "364 KM/H" -- ATMO Sus Speed
    mem1[1][16] = "0 g" -- SPACE Thrust
    mem1[1][17] = "0 g" -- SPACE Brake
    mem1[1][18] = "50,000 KM/H" -- SPACE Max Speed
    mem1[1][19] = "0 g" -- SPACE Low Alt Lift
    mem1[1][20] = "60.8 m2" -- Xsec Vert 
    mem1[1][21] = "12.9 m2" -- Xsec Front 
    mem1[1][22] = "18.9 m2" -- Xsec Lat 
    mem1[1][23] = "50 k" -- inert matrix 1,1
    mem1[1][24] = "-7.6" -- inert matrix 2,1
    mem1[1][25] = "-0.17" -- inert matrix 3,1
    mem1[1][26] = "-7.6" -- inert matrix 1,2
    mem1[1][27] = "40 k" -- inert matrix 2,2
    mem1[1][28] = "1.4 k" -- inert matrix 3,2
    mem1[1][29] = "-0.17" -- inert matrix 1,3
    mem1[1][30] = "1.4 k" -- inert matrix 2,3
    mem1[1][31] = "58 k" -- inert matrix 3,3
    mem1[1][32] = "15,000,000 quanta" -- TOKEN price
    mem1[1][33] = "10,000,000 quanta" -- BLUEPRINT price
    mem1[1][34] = 4 -- number of image sections used (MAX 6)
    mem1[1][35] = 12 -- number of tokens available
    mem1[1][36] = 999 -- number of blueprints available
    
    
    mem1[2][0] = "TYR Gryphon C 2" --ship name
    mem1[2][1] = "assets.prod.novaquark.com/66839/d1ea9707-88bf-41c5-88d4-0df7250db22b.png" --img src 
    mem1[2][2] = "XS" --core size
    mem1[2][3] = "TYR Expeditionary Group" --maker / creator name
    mem1[2][4] = "8.84 t" --dry mass
    mem1[2][5] = "0 KL" --cargo volume
    mem1[2][6] = "20 t" --cargo max mass
    mem1[2][7] = "800 L" --ATMO Fuel capacity
    mem1[2][8] = "0 L" --SPACE Fuel capacity
    mem1[2][9] = "0 L" --ROCKET Fuel capacity
    mem1[2][10] = "14.1 g" -- ATMO Thrust
    mem1[2][11] = "25.8 g" -- ATMO Brake
    mem1[2][12] = "1,431 KM/H" -- ATMO Max Speed
    mem1[2][13] = "2.77 g" -- ATMO Low Alt Lift
    mem1[2][14] = "2.64 g" -- ATMO High Alt Lift
    mem1[2][15] = "364 KM/H" -- ATMO Sus Speed
    mem1[2][16] = "0 g" -- SPACE Thrust
    mem1[2][17] = "0 g" -- SPACE Brake
    mem1[2][18] = "50,000 KM/H" -- SPACE Max Speed
    mem1[2][19] = "0 g" -- SPACE Low Alt Lift
    mem1[2][20] = "60.8 m2" -- Xsec Vert 
    mem1[2][21] = "12.9 m2" -- Xsec Front 
    mem1[2][22] = "18.9 m2" -- Xsec Lat 
    mem1[2][23] = "50 k" -- inert matrix 1,1
    mem1[2][24] = "-7.6" -- inert matrix 2,1
    mem1[2][25] = "-0.17" -- inert matrix 3,1
    mem1[2][26] = "-7.6" -- inert matrix 1,2
    mem1[2][27] = "40 k" -- inert matrix 2,2
    mem1[2][28] = "1.4 k" -- inert matrix 3,2
    mem1[2][29] = "-0.17" -- inert matrix 1,3
    mem1[2][30] = "1.4 k" -- inert matrix 2,3
    mem1[2][31] = "58 k" -- inert matrix 3,3
    mem1[2][32] = "10,000,000 quanta" -- TOKEN price
    mem1[2][33] = "7,500,000 quanta" -- BLUEPRINT price
    mem1[2][34] = 5 -- number of image sections used (MAX 6)
    mem1[2][35] = 0 -- number of tokens available
    mem1[2][36] = 999 -- number of blueprints available
    
    
    mem1[3][0] = "TYR Rook E 2"
    mem1[3][1] = "assets.prod.novaquark.com/66839/2283b727-8101-444c-ab3b-f71605633026.png" --img src
    mem1[3][2] = "S" --core size
    mem1[3][3] = "TYR Expeditionary Group" --maker / creator name
    mem1[3][4] = "8.84 t" --dry mass
    mem1[3][5] = "0 KL" --cargo volume
    mem1[3][6] = "20 t" --cargo max mass
    mem1[3][7] = "800 L" --ATMO Fuel capacity
    mem1[3][8] = "0 L" --SPACE Fuel capacity
    mem1[3][9] = "0 L" --ROCKET Fuel capacity
    mem1[3][10] = "14.1 g" -- ATMO Thrust
    mem1[3][11] = "25.8 g" -- ATMO Brake
    mem1[3][12] = "1,431 KM/H" -- ATMO Max Speed
    mem1[3][13] = "2.77 g" -- ATMO Low Alt Lift
    mem1[3][14] = "2.64 g" -- ATMO High Alt Lift
    mem1[3][15] = "364 KM/H" -- ATMO Sus Speed
    mem1[3][16] = "0 g" -- SPACE Thrust
    mem1[3][17] = "0 g" -- SPACE Brake
    mem1[3][18] = "50,000 KM/H" -- SPACE Max Speed
    mem1[3][19] = "0 g" -- SPACE Low Alt Lift
    mem1[3][20] = "60.8 m2" -- Xsec Vert 
    mem1[3][21] = "12.9 m2" -- Xsec Front 
    mem1[3][22] = "18.9 m2" -- Xsec Lat 
    mem1[3][23] = "50 k" -- inert matrix 1,1
    mem1[3][24] = "-7.6" -- inert matrix 2,1
    mem1[3][25] = "-0.17" -- inert matrix 3,1
    mem1[3][26] = "-7.6" -- inert matrix 1,2
    mem1[3][27] = "40 k" -- inert matrix 2,2
    mem1[3][28] = "1.4 k" -- inert matrix 3,2
    mem1[3][29] = "-0.17" -- inert matrix 1,3
    mem1[3][30] = "1.4 k" -- inert matrix 2,3
    mem1[3][31] = "58 k" -- inert matrix 3,3
    mem1[3][32] = "15,000,000 quanta" -- TOKEN price
    mem1[3][33] = "10,000,000 quanta" -- BLUEPRINT price
    mem1[3][34] = 6 -- number of image sections used (MAX 6)
    mem1[3][35] = 12 -- number of tokens available
    mem1[3][36] = 0 -- number of blueprints available
    
    
    mem1[4][0] = "TYR Gryphon C 3" --ship name
    mem1[4][1] = "assets.prod.novaquark.com/66839/d1ea9707-88bf-41c5-88d4-0df7250db22b.png" --img src  
    mem1[4][2] = "XS" --core size
    mem1[4][3] = "TYR Expeditionary Group" --maker / creator name
    mem1[4][4] = "8.84 t" --dry mass
    mem1[4][5] = "0 KL" --cargo volume
    mem1[4][6] = "20 t" --cargo max mass
    mem1[4][7] = "800 L" --ATMO Fuel capacity
    mem1[4][8] = "0 L" --SPACE Fuel capacity
    mem1[4][9] = "0 L" --ROCKET Fuel capacity
    mem1[4][10] = "14.1 g" -- ATMO Thrust
    mem1[4][11] = "25.8 g" -- ATMO Brake
    mem1[4][12] = "1,431 KM/H" -- ATMO Max Speed
    mem1[4][13] = "2.77 g" -- ATMO Low Alt Lift
    mem1[4][14] = "2.64 g" -- ATMO High Alt Lift
    mem1[4][15] = "364 KM/H" -- ATMO Sus Speed
    mem1[4][16] = "0 g" -- SPACE Thrust
    mem1[4][17] = "0 g" -- SPACE Brake
    mem1[4][18] = "50,000 KM/H" -- SPACE Max Speed
    mem1[4][19] = "0 g" -- SPACE Low Alt Lift
    mem1[4][20] = "60.8 m2" -- Xsec Vert 
    mem1[4][21] = "12.9 m2" -- Xsec Front 
    mem1[4][22] = "18.9 m2" -- Xsec Lat 
    mem1[4][23] = "50 k" -- inert matrix 1,1
    mem1[4][24] = "-7.6" -- inert matrix 2,1
    mem1[4][25] = "-0.17" -- inert matrix 3,1
    mem1[4][26] = "-7.6" -- inert matrix 1,2
    mem1[4][27] = "40 k" -- inert matrix 2,2
    mem1[4][28] = "1.4 k" -- inert matrix 3,2
    mem1[4][29] = "-0.17" -- inert matrix 1,3
    mem1[4][30] = "1.4 k" -- inert matrix 2,3
    mem1[4][31] = "58 k" -- inert matrix 3,3
    mem1[4][32] = "10,000,000 quanta" -- TOKEN price
    mem1[4][33] = "7,500,000 quanta" -- BLUEPRINT price
    mem1[4][34] = 4 -- number of image sections used (MAX 6)
    mem1[4][35] = 12 -- number of tokens available
    mem1[4][36] = 999 -- number of blueprints available
    
    
    mem1[5][0] = "TYR Rook E 3"
    mem1[5][1] = "assets.prod.novaquark.com/66839/2283b727-8101-444c-ab3b-f71605633026.png" --img src
    mem1[5][2] = "S" --core size
    mem1[5][3] = "TYR Expeditionary Group" --maker / creator name
    mem1[5][4] = "8.84 t" --dry mass
    mem1[5][5] = "0 KL" --cargo volume
    mem1[5][6] = "20 t" --cargo max mass
    mem1[5][7] = "800 L" --ATMO Fuel capacity
    mem1[5][8] = "0 L" --SPACE Fuel capacity
    mem1[5][9] = "0 L" --ROCKET Fuel capacity
    mem1[5][10] = "14.1 g" -- ATMO Thrust
    mem1[5][11] = "25.8 g" -- ATMO Brake
    mem1[5][12] = "1,431 KM/H" -- ATMO Max Speed
    mem1[5][13] = "2.77 g" -- ATMO Low Alt Lift
    mem1[5][14] = "2.64 g" -- ATMO High Alt Lift
    mem1[5][15] = "364 KM/H" -- ATMO Sus Speed
    mem1[5][16] = "0 g" -- SPACE Thrust
    mem1[5][17] = "0 g" -- SPACE Brake
    mem1[5][18] = "50,000 KM/H" -- SPACE Max Speed
    mem1[5][19] = "0 g" -- SPACE Low Alt Lift
    mem1[5][20] = "60.8 m2" -- Xsec Vert 
    mem1[5][21] = "12.9 m2" -- Xsec Front 
    mem1[5][22] = "18.9 m2" -- Xsec Lat 
    mem1[5][23] = "50 k" -- inert matrix 1,1
    mem1[5][24] = "-7.6" -- inert matrix 2,1
    mem1[5][25] = "-0.17" -- inert matrix 3,1
    mem1[5][26] = "-7.6" -- inert matrix 1,2
    mem1[5][27] = "40 k" -- inert matrix 2,2
    mem1[5][28] = "1.4 k" -- inert matrix 3,2
    mem1[5][29] = "-0.17" -- inert matrix 1,3
    mem1[5][30] = "1.4 k" -- inert matrix 2,3
    mem1[5][31] = "58 k" -- inert matrix 3,3
    mem1[5][32] = "15,000,000 quanta" -- TOKEN price
    mem1[5][33] = "10,000,000 quanta" -- BLUEPRINT price
    mem1[5][34] = 6 -- number of image sections used (MAX 6)
    mem1[5][35] = 12 -- number of tokens available
    mem1[5][36] = 999 -- number of blueprints available
    
    color1R, color1G, color1B, color1A = 28/255, 20/255, 33/255, 0.45 --export:UI Panel BG Color
    color2R, color2G, color2B, color2A = 233/255, 163/255,1/255, 0.75 --export:UI Element BG, Hover
    color3R, color3G, color3B, color3A = 233/255, 163/255,1/255, 0.4   --export:UI Element BG, Selected
    color4R, color4G, color4B, color4A = 233/255, 163/255,1/255, 1   --export:UI Element Outline
    color5R, color5G, color5B, color5A = 1,1,1, 1 --export:UI Element Text
    color6R, color6G, color6B, color6A = 1.1, 0.6, 0.2, 0.2 --export: Index Widget Idle
    color7R, color7G, color7B, color7A = 1.1, 0.8, 0.2, 0.4 --export: Index Widget Selected
    color8R, color8G, color8B, color8A = 0, 0, 0, 0.5 --export:Shadow color
    color9R, color9G, color9B, color9A = 0.05, 0.05, 0.05, 0.75 --export:BG Tint Color
    color11R, color11G, color11B, color11A = 1,1,1, 1 --export:Header Text Color-BG
    color12R, color12G, color12B, color12A = 1, 1, 1, 1 --export:Header Text Color-FG
    color13R, color13G, color13B, color13A = 1,1,1,1 --export:Start Screen Header1 Text Color
    color14R, color14G, color14B, color14A = 0.9,0.9,0.9,1 --export:Start Screen Header2 Text Color
    color15R, color15G, color15B, color15A = 0.8,0.6,0.2,1 --export:Start Screen Header3 Text Color
    color16R, color16G, color16B, color16A = 0.6, 0.6, 0.6, 1 --export:Stat Name Text Color
    color17R, color17G, color17B, color17A = 0.9, 0.9, 0.9, 1 --export:Stat Text Color
    color18R, color18G, color18B, color18A = 0.5, 0, 0, 1 --export:Out-Of-Stock Text Color-BG
    color19R, color19G, color19B, color19A = 0.9, 0, 0, 1 --export:Out-Of-Stock Text Color-FG
    color21R, color21G, color21B, color21A = 0.5,0.5,0.5,1 --export:Cursor Normal Color
    color22R, color22G, color22B, color22A = 0.8,0.6,0.2,1 --export:Cursor Click-Down Color
    color23R, color23G, color23B, color23A = 0.2,0.2,0.2,1 --export:Ship Creator Text Color-BG
    color24R, color24G, color24B, color24A = 0.5,0.5,0.5,1 --export:Ship Creator Text Color-FG
    
    devoverlay = false
    init = true
end
local layer = createLayer() --  Main Background
local layer2 = createLayer() --  image
local layer3 = createLayer() --  UI / Text
local layer4 = createLayer() --  cursor
local rx, ry = getResolution()
local fontL = loadFont("Play", 100)
local fontM = loadFont("Play", 50)
local fontS = loadFont("Play", 20)
local fontT1 = loadFont("Play", 60)
local fontT2 = loadFont("Play-Bold", 60)
local fontT3 = loadFont("Play", 20)
local cx, cy = getCursor()
local cd = getCursorDown()
local cp = getCursorPressed()
local cr = getCursorReleased()

local bgimg1 = loadImage("assets.prod.novaquark.com/74927/f3c8301c-b890-47a6-a04b-afd516a5e85f.png")
local bgimg2 = loadImage("assets.prod.novaquark.com/74927/f3c8301c-b890-47a6-a04b-afd516a5e85f.png")
local tyrlogo = loadImage("assets.prod.novaquark.com/74927/c5a1b557-f193-4bfa-a5b6-2f853c4641aa.png");

if imagebg == 1 then
    if screenactive == 1 then
        addImage(layer, bgimg2, 0, 0, rx, ry)
        setNextFillColor(layer, color9R, color9G, color9B, color9A)
        addBox(layer,0,0,rx,ry)
    else
        addImage(layer, bgimg1, 0, 0, rx, ry)
    end
else
    setNextFillColor(layer, color9R, color9G, color9B, 1)
    addBox(layer,0,0,rx,ry)
end

function DrawTYRFooter()
    --If you modify our script, please leave this intact
    setNextFillColor(layer4, 1, 1, 1, 0.1)
    addText(layer4, fontS, "Template Example - Not Live Data", rx*0.65, ry - 15)
    setNextFillColor(layer4, 1, 1, 1, 0.2)
    addText(layer4, fontS, "Template Example - Not Live Data", rx*0.65 - 2, ry - 15 - 2)
end

function DrawButton(drawlayer, btnx, btny, btnw, btnh, btntxt)
    setNextFillColor(drawlayer, color1R, color1G, color1B, color1A)
    if cx > btnx then
        if cx < btnx+btnw then
            if cy > btny then
                if cy < (btny+btnh) then
                    if getCursorReleased() == true then
                        --clicked
                        if btntxt == "  BROWSE  " then
                            screenactive = 1
                        end
                        if btntxt == "<<<" then
                            if imgindex > 0 then
                                imgindex = imgindex - 1
                            end
                        end
                        if btntxt == ">>>" then
                            if imgindex < mem1[shipindex][34] - 1 then
                                imgindex = imgindex + 1
                            end
                        end
                        if btntxt == "<<" then
                            if shipindex > 0 then
                                shipindex = shipindex - 1
                                imgindex = 0
                            end
                        end
                        if btntxt == ">>" then
                            if shipindex < shipindexmax - 1 then
                                shipindex = shipindex + 1
                                imgindex = 0
                            end
                        end
                        if btntxt == "Power" then
                            tabindex = 1
                        end
                        if btntxt == "Flight" then
                            tabindex = 2
                        end
                        if btntxt == "Capacity" then
                            tabindex = 3
                        end
                        setNextFillColor(drawlayer, color3R, color3G, color3B, color3A)
                    else
                        --hovered
                        setNextFillColor(drawlayer, color2R, color2G, color2B, color2A)
                    end
                end
            end
        end
    end
    if btntxt == "Power" and tabindex == 1 then
        setNextFillColor(drawlayer, color3R, color3G, color3B, color3A)
    end
    if btntxt == "Flight" and tabindex == 2 then
        setNextFillColor(drawlayer, color3R, color3G, color3B, color3A)
    end
    if btntxt == "Capacity" and tabindex == 3 then
        setNextFillColor(drawlayer, color3R, color3G, color3B, color3A)
    end
    setNextStrokeColor(drawlayer, color4R, color4G, color4B, color4A)
    setNextStrokeWidth(drawlayer, 5)
    setNextShadow(drawlayer, 25, color8R, color8G, color8B, color8A)
    addBoxRounded(drawlayer, btnx, btny, btnw, btnh, 5)
    setNextFillColor(drawlayer, color5R, color5G, color5B, color5A)
    addText(drawlayer, fontS, btntxt, btnx + (rx*0.005), btny + (ry*0.05))
end

function DrawImageSubWithShadow(drawlayer, imgx, imgy, imgw, imgh, subx, suby, subw, subh, shadrad)
    setNextShadow(drawlayer, shadrad, color8R, color8G, color8B, color8A)
    setNextFillColor(drawlayer, color8R, color8G, color8B, 0)
    addBox(drawlayer,imgx,imgy,imgw,imgh)
    local imghandle = loadImage(mem1[shipindex][1])
    addImageSub(drawlayer, imghandle, imgx, imgy, imgw, imgh, subx, suby + (imgindex * 600), subw, subh)
end

function DrawIndexWidget(drawlayer, px, py, sx, sy, index, indmax)
    for xb=0,indmax do
        if xb == index then
            setNextFillColor(drawlayer, color7R, color7G, color7B, color7A)
        else
            setNextFillColor(drawlayer, color6R, color6G, color6B, color6A)
        end
        addCircle(drawlayer, px + (sx * (xb/indmax)), py, 10)
    end
end

function DrawNameRibbon()
    --ribbon
    setNextFillColor(layer3, color1R, color1G, color1B, color1A)
    setNextShadow(layer3, 25, color8R, color8G, color8B, color8A)
    addBox(layer3, 0, 5, rx, 60)
    
    --Ship Name
    setNextFillColor(layer3, color11R, color11G, color11B, color11A)
    addText(layer3, fontM, mem1[shipindex][0], rx * 0.075, ry * 0.085)
    setNextFillColor(layer3, color12R, color12G, color12B, color12A)
    addText(layer3, fontM, mem1[shipindex][0], rx * 0.075 - 2, ry * 0.085 - 2)
    
    --Draw Ship Index Widget
    DrawIndexWidget(layer3, 675, 35, 250, 0, shipindex, shipindexmax - 1)
    
    --Creator Name
    setNextFillColor(layer3, color1R, color1G, color1B, color1A)
    setNextShadow(layer3, 25, color8R, color8G, color8B, color8A)
    addBox(layer3, rx * 0.075 - 20, ry * 0.13 - 15, string.len(mem1[shipindex][3]) * 15, 20)
    
    setNextFillColor(layer3, color23R, color23G, color23B, color23A)
    addText(layer3, fontS, mem1[shipindex][3], rx * 0.075, ry * 0.13)
    setNextFillColor(layer3, color24R, color24G, color24B, color24A)
    addText(layer3, fontS, mem1[shipindex][3], rx * 0.075 - 1, ry * 0.13 - 1)

    --Ship Display Controls
    DrawButton(layer3,10,10,35,50,"<<")
    DrawButton(layer3,rx - 45,10,35,50,">>")
end

function DrawTabControl(drawlayer, px, py)
    setNextFillColor(drawlayer, color1R, color1G, color1B, color1A)
    setNextStrokeColor(drawlayer, color4R, color4G, color4B, color4A)
    setNextStrokeWidth(drawlayer, 3)
    setNextShadow(drawlayer, 25, color8R, color8G, color8B, color8A)
    addBoxRounded(drawlayer, px, py, rx * 0.325, ry * 0.55, 5)
    
    if tabindex == 1 then
        setNextFillColor(drawlayer, color11R, color11G, color11B, color11A)
        addText(drawlayer, fontS, "ATMO:", px + 25, py + (ry * 0.035))
        setNextFillColor(drawlayer, color12R, color12G, color12B, color12A)
        addText(drawlayer, fontS, "ATMO:", px + 25 - 2, py + (ry * 0.035) - 2)

        setNextFillColor(drawlayer, color16R, color16G, color16B, color16A)
        addText(drawlayer, fontS, "Max Thrust:", px + 5, py + (ry * 0.0675))
        setNextFillColor(drawlayer, color17R, color17G, color17B, color17A)
        addText(drawlayer, fontS, mem1[shipindex][10], px + 165, py + (ry * 0.0675))

        setNextFillColor(drawlayer, color16R, color16G, color16B, color16A)
        addText(drawlayer, fontS, "Brake Force:", px + 5, py + (ry * 0.1))
        setNextFillColor(drawlayer, color17R, color17G, color17B, color17A)
        addText(drawlayer, fontS, mem1[shipindex][11], px + 165, py + (ry * 0.1))

        setNextFillColor(drawlayer, color16R, color16G, color16B, color16A)
        addText(drawlayer, fontS, "Max Speed:", px + 5, py + (ry * 0.1325))
        setNextFillColor(drawlayer, color17R, color17G, color17B, color17A)
        addText(drawlayer, fontS, mem1[shipindex][12], px + 165, py + (ry * 0.1325))

        setNextFillColor(drawlayer, color16R, color16G, color16B, color16A)
        addText(drawlayer, fontS, "Low Alt Lift:", px + 5, py + (ry * 0.165))
        setNextFillColor(drawlayer, color17R, color17G, color17B, color17A)
        addText(drawlayer, fontS, mem1[shipindex][13], px + 165, py + (ry * 0.165))

        setNextFillColor(drawlayer, color16R, color16G, color16B, color16A)
        addText(drawlayer, fontS, "High Alt Lift:", px + 5, py + (ry * 0.1975))
        setNextFillColor(drawlayer, color17R, color17G, color17B, color17A)
        addText(drawlayer, fontS, mem1[shipindex][14], px + 165, py + (ry * 0.1975))
        
        setNextFillColor(drawlayer, color16R, color16G, color16B, color16A)
        addText(drawlayer, fontS, "Sust. Speed:", px + 5, py + (ry * 0.23))
        setNextFillColor(drawlayer, color17R, color17G, color17B, color17A)
        addText(drawlayer, fontS, mem1[shipindex][15], px + 165, py + (ry * 0.23))

        setNextFillColor(drawlayer, color11R, color11G, color11B, color11A)
        addText(drawlayer, fontS, "SPACE:", px + 25, py + (ry * 0.285))
        setNextFillColor(drawlayer, color12R, color12G, color12B, color12A)
        addText(drawlayer, fontS, "SPACE:", px + 25 - 2, py + (ry * 0.285) - 2)
        
        setNextFillColor(drawlayer, color16R, color16G, color16B, color16A)
        addText(drawlayer, fontS, "Max Thrust:", px + 5, py + (ry * 0.3175))
        setNextFillColor(drawlayer, color17R, color17G, color17B, color17A)
        addText(drawlayer, fontS, mem1[shipindex][16], px + 165, py + (ry * 0.3175))
        
        setNextFillColor(drawlayer, color16R, color16G, color16B, color16A)
        addText(drawlayer, fontS, "Brake Force:", px + 5, py + (ry * 0.35))
        setNextFillColor(drawlayer, color17R, color17G, color17B, color17A)
        addText(drawlayer, fontS, mem1[shipindex][17], px + 165, py + (ry * 0.35))
        
        setNextFillColor(drawlayer, color16R, color16G, color16B, color16A)
        addText(drawlayer, fontS, "Max Speed:", px + 5, py + (ry * 0.385))
        setNextFillColor(drawlayer, color17R, color17G, color17B, color17A)
        addText(drawlayer, fontS, mem1[shipindex][18], px + 165, py + (ry * 0.385))
        
        setNextFillColor(drawlayer, color16R, color16G, color16B, color16A)
        addText(drawlayer, fontS, "Low Alt Lift:", px + 5, py + (ry * 0.42))
        setNextFillColor(drawlayer, color17R, color17G, color17B, color17A)
        addText(drawlayer, fontS, mem1[shipindex][19], px + 165, py + (ry * 0.42))
    end

    if tabindex == 2 then
        setNextFillColor(drawlayer, color11R, color11G, color11B, color11A)
        addText(drawlayer, fontS, "X SECTION:", px + 25, py + (ry * 0.035))
        setNextFillColor(drawlayer, color12R, color12G, color12B, color12A)
        addText(drawlayer, fontS, "X SECTION:", px + 25 - 2, py + (ry * 0.035) - 2)

        setNextFillColor(drawlayer, color16R, color16G, color16B, color16A)
        addText(drawlayer, fontS, "Vertical:", px + 5, py + (ry * 0.0675))
        setNextFillColor(drawlayer, color17R, color17G, color17B, color17A)
        addText(drawlayer, fontS, mem1[shipindex][20], px + 165, py + (ry * 0.0675))

        setNextFillColor(drawlayer, color16R, color16G, color16B, color16A)
        addText(drawlayer, fontS, "Frontal:", px + 5, py + (ry * 0.1))
        setNextFillColor(drawlayer, color17R, color17G, color17B, color17A)
        addText(drawlayer, fontS, mem1[shipindex][21], px + 165, py + (ry * 0.1))

        setNextFillColor(drawlayer, color16R, color16G, color16B, color16A)
        addText(drawlayer, fontS, "Lateral:", px + 5, py + (ry * 0.1325))
        setNextFillColor(drawlayer, color17R, color17G, color17B, color17A)
        addText(drawlayer, fontS, mem1[shipindex][22], px + 165, py + (ry * 0.1325))


        setNextFillColor(drawlayer, color11R, color11G, color11B, color11A)
        addText(drawlayer, fontS, "INERTIA MATRIX:", px + 25, py + (ry * 0.2075))
        setNextFillColor(drawlayer, color12R, color12G, color12B, color12A)
        addText(drawlayer, fontS, "INERTIA MATRIX:", px + 25 - 2, py + (ry * 0.2075) - 2)

        setNextFillColor(drawlayer, color17R, color17G, color17B, color17A)
        addText(drawlayer, fontS, mem1[shipindex][23], px + 5, py + (ry * 0.25))

        setNextFillColor(drawlayer, color17R, color17G, color17B, color17A)
        addText(drawlayer, fontS, mem1[shipindex][24], px + 100, py + (ry * 0.25))

        setNextFillColor(drawlayer, color17R, color17G, color17B, color17A)
        addText(drawlayer, fontS, mem1[shipindex][25], px + 195, py + (ry * 0.25))

        setNextFillColor(drawlayer, color17R, color17G, color17B, color17A)
        addText(drawlayer, fontS, mem1[shipindex][26], px + 5, py + (ry * 0.29))

        setNextFillColor(drawlayer, color17R, color17G, color17B, color17A)
        addText(drawlayer, fontS, mem1[shipindex][27], px + 100, py + (ry * 0.29))

        setNextFillColor(drawlayer, color17R, color17G, color17B, color17A)
        addText(drawlayer, fontS, mem1[shipindex][28], px + 195, py + (ry * 0.29))

        setNextFillColor(drawlayer, color17R, color17G, color17B, color17A)
        addText(drawlayer, fontS, mem1[shipindex][29], px + 5, py + (ry * 0.33))

        setNextFillColor(drawlayer, color17R, color17G, color17B, color17A)
        addText(drawlayer, fontS, mem1[shipindex][30], px + 100, py + (ry * 0.33))

        setNextFillColor(drawlayer, color17R, color17G, color17B, color17A)
        addText(drawlayer, fontS, mem1[shipindex][31], px + 195, py + (ry * 0.33))
    end
    
    if tabindex == 3 then
        setNextFillColor(drawlayer, color11R, color11G, color11B, color11A)
        addText(drawlayer, fontS, "CAPACITY:", px + 25, py + (ry * 0.035))
        setNextFillColor(drawlayer, color12R, color12G, color12B, color12A)
        addText(drawlayer, fontS, "CAPACITY:", px + 25 - 2, py + (ry * 0.035) - 2)

        setNextFillColor(drawlayer, color16R, color16G, color16B, color16A)
        addText(drawlayer, fontS, "Mass:", px + 5, py + (ry * 0.0675))
        setNextFillColor(drawlayer, color17R, color17G, color17B, color17A)
        addText(drawlayer, fontS, mem1[shipindex][4], px + 165, py + (ry * 0.0675))

        setNextFillColor(drawlayer, color16R, color16G, color16B, color16A)
        addText(drawlayer, fontS, "Volume:", px + 5, py + (ry * 0.1))
        setNextFillColor(drawlayer, color17R, color17G, color17B, color17A)
        addText(drawlayer, fontS, mem1[shipindex][5], px + 165, py + (ry * 0.1))

        setNextFillColor(drawlayer, color16R, color16G, color16B, color16A)
        addText(drawlayer, fontS, "Max Mass:", px + 5, py + (ry * 0.1325))
        setNextFillColor(drawlayer, color17R, color17G, color17B, color17A)
        addText(drawlayer, fontS, mem1[shipindex][6], px + 165, py + (ry * 0.1325))


        setNextFillColor(drawlayer, color11R, color11G, color11B, color11A)
        addText(drawlayer, fontS, "FUEL:", px + 25, py + (ry * 0.285))
        setNextFillColor(drawlayer, color12R, color12G, color12B, color12A)
        addText(drawlayer, fontS, "FUEL:", px + 25 - 2, py + (ry * 0.285) - 2)
        
        setNextFillColor(drawlayer, color16R, color16G, color16B, color16A)
        addText(drawlayer, fontS, "Atmo:", px + 5, py + (ry * 0.3175))
        setNextFillColor(drawlayer, color17R, color17G, color17B, color17A)
        addText(drawlayer, fontS, mem1[shipindex][7], px + 165, py + (ry * 0.3175))
        
        setNextFillColor(drawlayer, color16R, color16G, color16B, color16A)
        addText(drawlayer, fontS, "Space:", px + 5, py + (ry * 0.35))
        setNextFillColor(drawlayer, color17R, color17G, color17B, color17A)
        addText(drawlayer, fontS, mem1[shipindex][8], px + 165, py + (ry * 0.35))
        
        setNextFillColor(drawlayer, color16R, color16G, color16B, color16A)
        addText(drawlayer, fontS, "Rocket:", px + 5, py + (ry * 0.385))
        setNextFillColor(drawlayer, color17R, color17G, color17B, color17A)
        addText(drawlayer, fontS, mem1[shipindex][9], px + 165, py + (ry * 0.385))
    end
end

if screenactive == 0 then
    setNextFillColor(layer2,color14R, color14G, color14B, color14A)
    setNextShadow(layer2, 20, color8R, color8G, color8B, 0.85)
    addImage(layer2,tyrlogo, rx*0.205, 50, 250,250)
    addText(layer2, fontT2, "Ship Sales Kiosk", rx*0.205,ry*0.675 )
    
    setNextFillColor(layer2,color15R, color15G, color15B, color15A)
    addText(layer2, fontT3, "Tyr Expeditionary Group Presents", rx*0.205,ry*0.74 )
    
    setNextShadow(layer2, 20, color8R, color8G, color8B, color8A)
    DrawButton(layer3,rx * 0.725,ry * 0.675,110,50,"  BROWSE  ")
else
    --display header ribbon
    DrawNameRibbon()
    
    --Main Image Display
    DrawImageSubWithShadow(layer2, 50,100,600,400, 0,0,900,600, 25)
    
    --Draw Image Index Widget
    DrawIndexWidget(layer3, 250, 475, 200, 0, imgindex, mem1[shipindex][34] - 1)
    
    --Image Display Controls
    DrawButton(layer3,57,ry * 0.725,50,50,"<<<")
    DrawButton(layer3,rx * 0.58,ry * 0.725,50,50,">>>")

    --Ship statistics tab control
    DrawButton(layer3,rx * 0.65,ry * 0.15,70,50,"Power")
    DrawButton(layer3,rx * 0.735,ry * 0.15,65,50,"Flight")
    DrawButton(layer3,rx * 0.815,ry * 0.15,85,50,"Capacity")

    --Draw Tab Control
    DrawTabControl(layer3,rx * 0.65,ry * 0.27)
    
    --Draw Core Size
    setNextFillColor(layer3, color16R, color16G, color16B, color16A)
    addText(layer3, fontS, "Core: " .. mem1[shipindex][2], rx * 0.915, ry * 0.225)
    
    --price display
    setNextFillColor(layer3, color11R, color11G, color11B, color11A)
    addText(layer3, fontS, "BLUEPRINT:", rx * 0.075, ry * 0.9)
    setNextFillColor(layer3, color12R, color12G, color12B, color12A)
    addText(layer3, fontS, "BLUEPRINT:", rx * 0.075 - 1, ry * 0.9 - 1)

    setNextFillColor(layer3, color17R, color17G, color17B, color17A)
    addText(layer3, fontS, mem1[shipindex][33], rx * 0.2, ry * 0.9)
    
    setNextFillColor(layer3, color11R, color11G, color11B, color11A)
    addText(layer3, fontS, "TOKEN:", rx * 0.075, ry * 0.95)
    setNextFillColor(layer3, color12R, color12G, color12B, color12A)
    addText(layer3, fontS, "TOKEN:", rx * 0.075 - 1, ry * 0.95 - 1)

    setNextFillColor(layer3, color17R, color17G, color17B, color17A)
    addText(layer3, fontS, mem1[shipindex][32], rx * 0.2, ry * 0.95)
    
    
    --stock display
    if mem1[shipindex][36] > 0 then
        setNextFillColor(layer3, color11R, color11G, color11B, color11A)
        addText(layer3, fontS, "IN STOCK:", rx * 0.475, ry * 0.9)
        setNextFillColor(layer3, color12R, color12G, color12B, color12A)
        addText(layer3, fontS, "IN STOCK:", rx * 0.475 - 1, ry * 0.9 - 1)

        setNextFillColor(layer3, color17R, color17G, color17B, color17A)
        addText(layer3, fontS, mem1[shipindex][36], rx * 0.575, ry * 0.9)
    else
        setNextFillColor(layer3, color18R, color18G, color18B, color18A)
        addText(layer3, fontS, "OUT OF STOCK :(", rx * 0.475, ry * 0.9)
        setNextFillColor(layer3, color19R, color19G, color19B, color19A)
        addText(layer3, fontS, "OUT OF STOCK :(", rx * 0.475 - 1, ry * 0.9 - 1)
    end

    if mem1[shipindex][35] > 0 then
        setNextFillColor(layer3, color11R, color11G, color11B, color11A)
        addText(layer3, fontS, "IN STOCK:", rx * 0.475, ry * 0.95)
        setNextFillColor(layer3, color12R, color12G, color12B, color12A)
        addText(layer3, fontS, "IN STOCK:", rx * 0.475 - 1, ry * 0.95 - 1)

        setNextFillColor(layer3, color17R, color17G, color17B, color17A)
        addText(layer3, fontS, mem1[shipindex][35], rx * 0.575, ry * 0.95)
    else
        setNextFillColor(layer3, color18R, color18G, color18B, color18A)
        addText(layer3, fontS, "OUT OF STOCK :(", rx * 0.475, ry * 0.95)
        setNextFillColor(layer3, color19R, color19G, color19B, color19A)
        addText(layer3, fontS, "OUT OF STOCK :(", rx * 0.475 - 1, ry * 0.95 - 1)
    end
    DrawTYRFooter()
end




if cx > 0 and cx < rx then
    if cy > 0 and cy < ry then
        setNextStrokeWidth(layer4,1)
        if cd == true then
            setNextStrokeColor(layer4,color22R, color22G, color22B, color22A)
        else
            setNextStrokeColor(layer4,color21R, color21G, color21B, color21A)
        end
        setNextFillColor(layer4,0,0,0,0)
        addCircle(layer4,cx,cy,8)
        setNextStrokeWidth(layer4,1)
        if cd == true then
            setNextStrokeColor(layer4,color22R, color22G, color22B, color22A)
        else
            setNextStrokeColor(layer4,color21R, color21G, color21B, color21A)
        end
        setNextFillColor(layer4,0,0,0,0)
        addCircle(layer4,cx,cy,2)
        if contexttext ~= "" then
            local bxwdth = (string.len(contexttext)*6)+10
            local xpos = cx+5
            if (cx + bxwdth) > rx then
                xpos = xpos - bxwdth
            end
            setNextStrokeWidth(layer4,3)
            setNextStrokeColor(layer4,color4R, color4G, color4B, color4A)
            setNextFillColor(layer4,color1R, color1G, color1B, color1A)
            addBox(layer4,xpos,cy+5,bxwdth,18)
            setNextFillColor(layer4,color5R, color5G, color5B, color5A)
            addText(layer4,fontS,contexttext,xpos+3,cy+18)
        end
    end
end

if devoverlay == true then
    local rcmax = getRenderCostMax()
    local rccurr = getRenderCost()
    setNextFillColor(layer4, 1, 0, 0, 1)
    local cursp = 0
    if getCursorPressed() == false then cursp = 0 else cursp = 1 end
    local cursr = 0
    if getCursorReleased() == false then cursr = 0 else cursr = 1 end
    addText(layer4, fontS, "Mouse P/R: " .. cursp .. " / " .. cursr, rx*0.001, ry*0.12)
    setNextFillColor(layer4, 1, 0, 0, 1)
    addText(layer4, fontS, "Frame: " .. getDeltaTime(), rx*0.001, ry*0.08)
    setNextFillColor(layer4, 1, 0, 0, 1)
    addText(layer4, fontS, "Render Cost: " .. getRenderCost() .. " / " .. rcmax, rx*0.001, ry*0.03)
end

requestAnimationFrame(1)