function getGeologicTime( years_ago )
{
    var time_period = {};
    
    switch( true )
    {
        case years_ago <= 65:
            time_period.era = 'Cenozoic';
            
            switch( true )
            {
                case years_ago >= 0 && years_ago <=2:
                    time_period.period = 'Quaternary';
                    
                    switch( true )
                    {
                        case years_ago == 0:
                            time_period.epoch = 'Holocene';
                            time_period.age = 'Holocene';
                            break;
                        case years_ago == 1:
                            time_period.epoch = 'Pleistocene';
                            time_period.age = 'Calabrian';
                            break;
                        case years_ago == 2:
                            time_period.epoch = 'Pleistocene';
                            time_period.age = 'Gelasian';
                            break;
                    }
                    
                    break;
                
                case years_ago >= 3 && years_ago <= 23:
                    time_period.period = 'Neogene';
                    
                    switch ( true )
                    {
                        case years_ago == 3:
                            time_period.epoch = 'Pliocene';
                            time_period.age = 'Placenzian';
                            break;
                        case years_ago >= 4 && years_ago <= 5:
                            time_period.epoch = 'Pliocene';
                            time_period.age = 'Zanclean';
                            break;
                        case years_ago >= 6 && years_ago <= 23:
                            time_period.epoch = 'Miocene';
                            
                            switch ( true )
                            {
                                case years_ago >= 6 && years_ago <= 7:
                                    time_period.age = 'Messinian';
                                    break;
                                case years_ago >= 8 && years_ago <= 11:
                                    time_period.age = 'Tortonian';
                                    break;
                                case years_ago >= 12 && years_ago <= 13:
                                    time_period.age = 'Serravallian';
                                    break;
                                case years_ago >= 14 && years_ago <= 16:
                                    time_period.age = 'Langhian';
                                    break;
                                case years_ago >= 17 && years_ago <= 20:
                                    time_period.age = 'Burdialian';
                                    break;
                                case years_ago >= 21 && years_ago <= 23:
                                    time_period.age = 'Aquitanian';
                                    break;
                            }
                            break;
                    }
                    
                    break;
                    
                case years_ago >= 24 && years_ago <= 65:
                    time_period.period = 'Paleogene';
                    
                    switch( true )
                    {
                        case years_ago >= 24 && years_ago <= 28:
                            time_period.epoch = 'Oligocene';
                            time_period.age = 'Chattian';
                            break;
                        case years_ago >= 29 && years_ago <= 33:
                            time_period.epoch = 'Oligocene';
                            time_period.age = 'Rupelian';
                            break;
                        case years_ago >= 34 && years_ago <= 55:
                            time_period.epoch = 'Eocene';
                            
                            switch (true )
                            {
                                 case years_ago >= 34 && years_ago <= 37:
                                    time_period.age = 'Priabonian';
                                    break;
                                case years_ago >= 38 && years_ago <= 40:
                                    time_period.age = 'Bartonian';
                                    break;
                                case years_ago >= 41 && years_ago <= 48:
                                    time_period.age = 'Lutetian';
                                    break;
                                case years_ago >= 49 && years_ago <= 55:
                                    time_period.age = 'Ypresian';
                                    break;   
                            }
                            
                            break;
                        case years_ago >= 56 && years_ago <= 65:
                            time_period.epoch = 'Paleocene';
                            switch (true )
                            {
                                 case years_ago >= 56 && years_ago <= 58:
                                    time_period.age = 'Thanetian';
                                    break;
                                case years_ago >= 59 && years_ago <= 61:
                                    time_period.age = 'Selandian';
                                    break;
                                case years_ago >= 62 && years_ago <= 65:
                                    time_period.age = 'Danian';
                                    break; 
                            }
                            
                            break;                
                    }

                
                    
                break;
            }
            
            break;
        
        case years_ago >= 66 && years_ago <= 251:
            time_period.era = 'Mesozoic';
            
            switch( true )
            {
                case years_ago >= 66 && years_ago <= 145:
                    time_period.period = 'Cretaceous';
                    
                    switch( true )
                    {
                        case years_ago >= 66 && years_ago <= 99:
                            time_period.epoch = 'Late';
                            switch ( true )
                            {
                                case years_ago >= 66 && years_ago <= 70:
                                    time_period.age = 'Maastrichtian';
                                    break;
                                case years_ago >= 71 && years_ago <= 83:
                                    time_period.age = 'Campanian';
                                    break;
                                case years_ago >= 84 && years_ago <= 85:
                                    time_period.age = 'Santonian';
                                    break;
                                case years_ago >= 86 && years_ago <= 89:
                                    time_period.age = 'Coniacian';
                                    break;
                                case years_ago >= 90 && years_ago <= 93:
                                    time_period.age = 'Turonian';
                                    break;
                                case years_ago >= 94 && years_ago <= 99:
                                    time_period.age = 'Cenomanian';
                                    break;
                            }
                            break;
                        case years_ago >= 100 && years_ago <= 145:
                            time_period.epoch = 'Early';
                            switch ( true )
                            {
                                case years_ago >= 100 && years_ago <= 112:
                                    time_period.age = 'Albian';
                                    break;
                                case years_ago >= 113 && years_ago <= 125:
                                    time_period.age = 'Aptian';
                                    break;
                                case years_ago >= 126 && years_ago <= 130:
                                    time_period.age = 'Barremian';
                                    break;
                                case years_ago >= 131 && years_ago <= 135:
                                    time_period.age = 'Hauterivian';
                                    break;
                                case years_ago >= 136 && years_ago <= 140:
                                    time_period.age = 'Valanginian';
                                    break;
                                case years_ago >= 141 && years_ago <= 145:
                                    time_period.age = 'Berriasian';
                                    break;
                            }
                            break;
                    }
                    
                    break;
                
                case years_ago >= 146 && years_ago <= 201:
                    time_period.period = 'Jurassic';
                    
                    switch ( true )
                    {
                        case years_ago >= 146 && years_ago <= 151:
                            time_period.epoch = 'Late';
                            time_period.age = 'Tithonian';
                            break;
                        case years_ago >= 152 && years_ago <= 156:
                            time_period.epoch = 'Late';
                            time_period.age = 'Kimmeridgian';
                            break;
                        case years_ago >= 157 && years_ago <= 161:
                            time_period.epoch = 'Late';
                            time_period.age = 'Oxfordian';
                            break;
                        case years_ago >= 162 && years_ago <= 176:
                            time_period.epoch = 'Middle';
                            
                            switch ( true )
                            {
                                case years_ago >= 162 && years_ago <= 165:
                                    time_period.age = 'Messinian';
                                    break;
                                case years_ago >= 166 && years_ago <= 168:
                                    time_period.age = 'Tortonian';
                                    break;
                                case years_ago >= 169 && years_ago <= 172:
                                    time_period.age = 'Serravallian';
                                    break;
                                case years_ago >= 173 && years_ago <= 176:
                                    time_period.age = 'Langhian';
                                    break;
                            }
                            break;
                        case years_ago >= 177 && years_ago <= 201:
                            time_period.epoch = 'Early';
                            
                            switch ( true )
                            {
                                case years_ago >= 177 && years_ago <= 183:
                                    time_period.age = 'Toarcian';
                                    break;
                                case years_ago >= 184 && years_ago <= 190:
                                    time_period.age = 'Pliensbachian';
                                    break;
                                case years_ago >= 191 && years_ago <= 197:
                                    time_period.age = 'Sinemurian';
                                    break;
                                case years_ago >= 198 && years_ago <= 201:
                                    time_period.age = 'Hettangian';
                                    break;
                            }
                            break;
                    }
                    
                    break;
                    
                case years_ago >= 202 && years_ago <= 251:
                    time_period.period = 'Triassic';
                    
                    switch( true )
                    {
                        case years_ago >= 202 && years_ago <= 204:
                            time_period.epoch = 'Late';
                            time_period.age = 'Rhaetian';
                            break;
                        case years_ago >= 205 && years_ago <= 228:
                            time_period.epoch = 'Late';
                            time_period.age = 'Norian';
                            break;
                        case years_ago >= 229 && years_ago <= 235:
                            time_period.epoch = 'Late';
                            time_period.age = 'Carnian';
                            break;
                        case years_ago >= 236 && years_ago <= 241:
                            time_period.epoch = 'Middle';
                            time_period.age = 'Ladinian';
                            break;
                        case years_ago >= 242 && years_ago <= 245:
                            time_period.epoch = 'Middle';
                            time_period.age = 'Anisian';
                            break;
                        case years_ago >= 246 && years_ago <= 250:
                            time_period.epoch = 'Early';
                            time_period.age = 'Oleneian';
                            break;
                        case years_ago == 251:
                            time_period.epoch = 'Early';
                            time_period.age = 'Induan';
                            break;          
                    }

                
                    
                break;
            }
            
            break;
        case years_ago >= 252 && years_ago <= 542:
            time_period.era = 'Paleozoic';
            switch( true )
            {
                case years_ago >= 252 && years_ago <= 299:
                    time_period.period = 'Permian';
                    
                    switch( true )
                    {
                        case years_ago >= 252 && years_ago <= 260:
                            time_period.epoch = 'Late';
                            switch ( true )
                            {
                                case years_ago >= 252 && years_ago <= 254:
                                    time_period.age = 'Changhsingian';
                                    break;
                                case years_ago >= 255 && years_ago <= 260:
                                    time_period.age = 'Wuchiapingian';
                                    break;
                            }
                            break;
                        case years_ago >= 261 && years_ago <= 271:
                            time_period.epoch = 'Middle';
                            switch ( true )
                            {
                                case years_ago >= 261 && years_ago <= 266:
                                    time_period.age = 'Capitanian';
                                    break;
                                case years_ago >= 267 && years_ago <= 268:
                                    time_period.age = 'Wordian';
                                    break;
                                case years_ago >= 269 && years_ago <= 271:
                                    time_period.age = 'Roadian';
                                    break;
                            }
                            break;
                        case years_ago >= 272 && years_ago <= 299:
                            time_period.epoch = 'Early';
                            switch ( true )
                            {
                                case years_ago >= 272 && years_ago <= 276:
                                    time_period.age = 'Kungurian';
                                    break;
                                case years_ago >= 277 && years_ago <= 284:
                                    time_period.age = 'Artinskian';
                                    break;
                                case years_ago >= 285 && years_ago <= 297:
                                    time_period.age = 'Sakmarian';
                                    break;
                                case years_ago >= 298 && years_ago <= 299:
                                    time_period.age = 'Asselian';
                                    break;
                            }
                            break;
                    }
                    
                    break;
                
                case years_ago >= 300 && years_ago <= 359:
                    time_period.period = 'Carboniferous';
                    
                    switch ( true )
                    {
                        case years_ago >= 300 && years_ago <= 318:
                            time_period.epoch = 'Pennsylvanian';
                            
                            switch ( true )
                            {
                                case years_ago >= 300 && years_ago <= 304:
                                    time_period.age = 'Gzelian';
                                    break;
                                case years_ago >= 305 && years_ago <= 306:
                                    time_period.age = 'Kasimovian';
                                    break;
                                case years_ago >= 307 && years_ago <= 312:
                                    time_period.age = 'Moscovian';
                                    break;
                                case years_ago >= 313 && years_ago <= 318:
                                    time_period.age = 'Bashkirian';
                                    break;
                            }
                            break;
                        case years_ago >= 319 && years_ago <= 359:
                            time_period.epoch = 'Mississippian';
                            
                            switch ( true )
                            {
                                case years_ago >= 319 && years_ago <= 326:
                                    time_period.age = 'Serpukhovian';
                                    break;
                                case years_ago >= 327 && years_ago <= 345:
                                    time_period.age = 'Visean';
                                    break;
                                case years_ago >= 346 && years_ago <= 359:
                                    time_period.age = 'Tournaisian';
                                    break;
                            }
                            break;
                    }
                    
                    break;
                    
                case years_ago >= 360 && years_ago <= 416:
                    time_period.period = 'Devonian';
                    
                    switch( true )
                    {
                        case years_ago >= 360 && years_ago <= 374:
                            time_period.epoch = 'Late';
                            time_period.age = 'Famennian';
                            break;
                        case years_ago >= 375 && years_ago <= 385:
                            time_period.epoch = 'Late';
                            time_period.age = 'Frasnian';
                            break;
                        case years_ago >= 386 && years_ago <= 392:
                            time_period.epoch = 'Middle';
                            time_period.age = 'Givetian';
                            break;
                        case years_ago >= 393 && years_ago <= 398:
                            time_period.epoch = 'Middle';
                            time_period.age = 'Eifelian';
                            break;
                        case years_ago >= 399 && years_ago <= 407:
                            time_period.epoch = 'Early';
                            time_period.age = 'Emsian';
                            break;
                        case years_ago >= 408 && years_ago <= 411:
                            time_period.epoch = 'Early';
                            time_period.age = 'Praghian';
                            break;
                        case years_ago >= 412 && years_ago <= 416:
                            time_period.epoch = 'Early';
                            time_period.age = 'Lockhovian';
                            break;          
                    }
                
                    break;
                
                case years_ago >= 417 && years_ago <= 444:
                    time_period.period = 'Silurian';
                    
                    switch ( true )
                    {
                        case years_ago >= 417 && years_ago <= 419:
                            time_period.epoch = 'Late';
                            time_period.age = 'Pridolian';
                            break;
                        case years_ago >= 420 && years_ago <= 421:
                            time_period.epoch = 'Late';
                            time_period.age = 'Ludfordian';
                            break;
                        case years_ago >= 422 && years_ago <= 423:
                            time_period.epoch = 'Middle';
                            time_period.age = 'Gorstian';
                            break;
                        case years_ago >= 424 && years_ago <= 426:
                            time_period.epoch = 'Middle';
                            time_period.age = 'Homerian';
                            break;
                        case years_ago >= 427 && years_ago <= 428:
                            time_period.epoch = 'Early';
                            time_period.age = 'Sheinwoodian';
                            break;
                        case years_ago >= 429 && years_ago <= 436:
                            time_period.epoch = 'Early';
                            time_period.age = 'Telychian';
                            break;
                        case years_ago >= 437 && years_ago <= 439:
                            time_period.epoch = 'Early';
                            time_period.age = 'Aeronian';
                            break; 
                        case years_ago >= 440 && years_ago <= 444:
                            time_period.epoch = 'Early';
                            time_period.age = 'Rhuddanian';
                            break;  
                    }
                    
                    break;
                    
                case years_ago >= 445 && years_ago <= 488:
                    time_period.period = 'Ordovician';
                    
                    switch( true )
                    {
                        case years_ago >= 445 && years_ago <= 446:
                            time_period.epoch = 'Late';
                            time_period.age = 'Hirnantian';
                            break;
                        case years_ago >= 447 && years_ago <= 455:
                            time_period.epoch = 'Late';
                            time_period.age = 'Katian';
                            break;
                        case years_ago >= 456 && years_ago <= 461:
                            time_period.epoch = 'Late';
                            time_period.age = 'Sandbian';
                            break;
                        case years_ago >= 462 && years_ago <= 468:
                            time_period.epoch = 'Middle';
                            time_period.age = 'Darriwilian';
                            break;
                        case years_ago >= 469 && years_ago <= 472:
                            time_period.epoch = 'Middle';
                            time_period.age = 'Dapingian';
                            break;
                        case years_ago >= 473 && years_ago <= 479:
                            time_period.epoch = 'Early';
                            time_period.age = 'Floian';
                            break;
                        case years_ago >= 480 && years_ago <= 488:
                            time_period.epoch = 'Early';
                            time_period.age = 'Tremadocian';
                            break;         
                    }
                
                    break;
                    
                case years_ago >= 489 && years_ago <= 542:
                    time_period.period = 'Cambrian';
                    
                    switch( true )
                    {
                        case years_ago >= 489 && years_ago <= 492:
                            time_period.epoch = 'Furongian';
                            time_period.age = 'Stage 10';
                            break;
                        case years_ago >= 493 && years_ago <= 496:
                            time_period.epoch = 'Furongian';
                            time_period.age = 'Stage 9';
                            break;
                        case years_ago >= 497 && years_ago <= 501:
                            time_period.epoch = 'Furongian';
                            time_period.age = 'Paibian';
                            break;
                        case years_ago >= 502 && years_ago <= 503:
                            time_period.epoch = 'Series 3';
                            time_period.age = 'Guzhangian';
                            break;
                        case years_ago >= 504 && years_ago <= 507:
                            time_period.epoch = 'Series 3';
                            time_period.age = 'Drumian';
                            break;
                        case years_ago >= 508 && years_ago <= 510:
                            time_period.epoch = 'Series 3';
                            time_period.age = 'Stage 5';
                            break;
                        case years_ago >= 511 && years_ago <= 517:
                            time_period.epoch = 'Series 2';
                            time_period.age = 'Stage 4';
                            break;  
                        case years_ago >= 518 && years_ago <= 521:
                            time_period.epoch = 'Series 2';
                            time_period.age = 'Stage 3';
                            break;
                        case years_ago >= 522 && years_ago <= 535:
                            time_period.epoch = 'Terreneuvian';
                            time_period.age = 'Stage 2';
                            break;
                        case years_ago >= 536 && years_ago <= 542:
                            time_period.epoch = 'Terreneuvian';
                            time_period.age = 'Fortunian';
                            break;  
                    }
                
                    break;
            }
            
        break;
    }
    
    return time_period;
}

/*
Era -> Period -> Epoch -> Age
=============================

- Cenozoic
    - Quaternary
        - Holocene 0
        - Pleistocene
            - Calabrian 1
            - Gelasian 2
    - Neogene
        - Pliocene
            - Placenzian 3
            - Zanclean 4-5
        - Miocene
            - Messinian 6-7
            - Tortonian 8-11
            - Serravallian 12-13
            - Langhian 14-16
            - Burdialian  17-20
            - Aquitanian 21-23
            
    - Paleogene  
        - Oligocene
            - Chattian 24-28
            - Rupelian 29-33
        - Eocene
            - Priabonian 34-37
            - Bartonian 38-40
            - Lutetian 41-48
            - Ypresian 49-55
        - Paleocene
            - Thanetian 56-58
            - Selandian 59-61
            - Danian 62-65
- Mesozoic
    - Cretaceous
        - Late
            - Maastrichtian 66-70
            - Campanian 71-83
            - Santonian 84-85
            - Coniacian 86-89
            - Turonian 90-93
            - Cenomanian 94-99
        - Early
            - Albian 100-112
            - Aptian 113-125
            - Barremian 126-130
            - Hauterivian 131-135
            - Valanginian 136-140
            - Berriasian 141-145
    - Jurassic
        - Late
            - Tithonian 146-151
            - Kimmeridgian 152-156
            - Oxfordian 157-161
        - Middle
            - Callovian 162-165
            - Bathonian 166-168
            - Bajocian 169-172
            - Aalenian 173-176
        - Early
            - Toarcian 177-183
            - Pliensbachian 184-190
            - Sinemurian 191-197
            - Hettangian 198-201
    - Triassic
        - Late
            - Rhaetian 202-204
            - Norian 205-228
            - Carnian 229-235
        - Middle
            - Ladinian 236-241
            - Anisian 242-245
        - Early
            - Oleneian 246-250
            - Induan 251
        
- Paleozoic
    - Permian
        - Late
            - Changhsingian 252-254
            - Wuchiapingian 255-260
        - Middle
            - Capitanian 261-266
            - Wordian 267-268
            - Roadian 269-271
        - Early
            - Kungurian 272-276
            - Artinskian 277-284
            - Sakmarian 285-297
            - Asselian 298-299
    - Carboniferous
        - Pennsylvanian
            - Gzelian 300-304
            - Kasimovian 305-306
            - Moscovian 307-312
            - Bashkirian 313-318
        - Mississippian
            - Serpukhovian 319-326
            - Visean 327-345
            - Tournaisian 346-359
    - Devonian
        - Late
            - Famennian 360-374
            - Frasnian 375-385
        - Middle
            - Givetian 386-392
            - Eifelian 393-398
        - Early
            - Emsian 399-407
            - Praghian 408-411
            - Lockhovian 412-416
    - Silurian
        - Late
            - Pridolian 417-419
            - Ludfordian 420-421
            - Gorstian 422-423
        - Middle
            - Homerian 424-426
            - Sheinwoodian 426-428
        - Early
            - Telychian 429-436
            - Aeronian 437-439
            - Rhuddanian 440-444
    - Ordovician
        - Late
            - Hirnantian 445-446
            - Katian 447-455
            - Sandbian 456-461
        - Middle
            - Darriwilian 462-468
            - Dapingian 469-472
        - Early
            - Floian 473-479
            - Tremadocian 480-488
    - Cambrian
        - Furongian
            - Stage 10 489-492
            - Stage 9 493-496
            - Paibian 497-501
        - Series 3
            - Guzhangian 502-503
            - Drumian 504-507
            - Stage 5 508-510
        - Series 2
            - Stage 4 511-517
            - Stage 3 518-521
        - Terreneuvian
            - Stage 2 522-535
            - Fortunian 536-542
*/

