<head><title>projections.html</title>
<script src="../window.js"></script>
<script src="../examples.js"></script>
</head>

<body>
<script>

var w = new win(100,100,400,400,"All Projections")
w.setServerURL(MSURL)
w.setVar("map",MSMAP)
w.setVar("mapext","-20000000 -10000000 20000000 10000000")

function submitWin () {
    w.setVar("mapsize",w.contentWidth + " " + w.contentHeight)
    w.submit()
}

w.setExecOnResize(submitWin)

function setProj(b) {
    var projString = "proj=" + b.prCode + ",ellps=clrk66,lat_1=30,lat_2=50"
    w.setVar("map_projection",projString)
    submitWin()
}

function mkProjMenu() {
    var m = new menu()
    var i=0
    while (i<arguments.length) {
        var prCode = arguments[i++]
        var prName = arguments[i++]
        var prButton = new button(prName, setProj)
        prButton.prCode = prCode
        m.addButton(prButton)
    }
    return(m)
}

cylMenu = mkProjMenu
(
    "latlong","LatLong",
    "merc","Mercator",
    "cc","Central Cylindrical",
    "mill","Miller",
    "cea","Lambert Cylindrical Equal Area",
    "gall","Gall Stereographic",
    "tcea","Transverse Cylindrical Equal Area",
    "eqc","Equidistant Cylindrical (Plate Caree)",
    "cass","Cassini"
)


psCyl1Menu = mkProjMenu
(    "sinu","Sinusoidal",
    "moll","Mollweide",
    "robin","Robinson",
    "eck1","Eckert I",
    "eck2","Eckert II",
    "eck3","Eckert III",
    "eck4","Eckert IV",
    "eck5","Eckert V",
    "eck6","Eckert VI",
    "goode","Goode Homolosine",
    "hatano","Hatano",
    "loxim","Loximuthal",
    "mbtfpp","McBryde-Thomas Flat-Polar Parabolic",
    "mbtfpq","McBryde-Thomas Flat-Polar Quartic",
    "mbtfps","McBryde-Thomas Flat-Polar Sinusoidal",
    "mbt_s","McBryde-Thomas Flat-Polar Sine (1)",
    "mbt_fps","McBryde-Thomas Flat-Polar Sine (2)",
    "qua_aut","Quartic Authalic",
    "wink1","Winkel I",
    "wink2","Winkel II", 
    "boggs","Boggs Eumorphic", 
    "collg","Collignon",
    "fahey","Fahey",
    "denoy","Denoyer" 
)

psCyl2Menu = mkProjMenu
(
    "fouc","Foucaut",
    "fouc_s","Foucaut Sinusoidal",
    "kav5","Kavraisky V",
    "kav7","Kavraisky VII",
    "nell","Nell",
    "nell_h","Nell-Hammer",
    "putp1","Putnin p1",
    "putp2","Putnin p2",
    "putp3","Putnin p3",
    "putp3p","Putnin p3'",
    "crast","Craster Parabolic (Putnins P4)",
    "putp4p","Putnin p4'",
    "putp5","Putnin p5",
    "putp5p","Putnin p5'",
    "putp6","Putnin p6",
    "putp6p","Putnin p6'",
    "wag1","Wagner I (Kavraisky VI)",
    "wag2","Wagner II",
    "wag3","Wagner III",
    "wag4","Wagner IV",
    "wag5","Wagner V",
    "wag6","Wagner VI"
)

conicMenu = mkProjMenu
(    
    "lcc","Lambert Conformal",
    "eqdc","Equidistant",
    "pconic","Perspective",
    "aea","Albers Equal Area",
    "leac","Lambert Equal Area",
    "poly","Polyconic (American)",
    "rpoly","Rectangular Polyconic",
    "euler","Euler",
    "murd1","Murdoch I",
    "murd2","Murdoch II",
    "murd3","Murdoch III",
    "tissot","Tissot",
    "vitk1","Vitkovsky I",
    "bonne","Bonne"
)

azimMenu = mkProjMenu
(
    "stere","Stereographic",
    "gnom","Gnomonic",
    "ortho","Orthographic",
    "airy","Airy", 
    "aeqd","Azimuthal Equidistant",
    "hammer","Hammer Equidistant", 
    "wag7","Wagner VII", 
    "mil_os","Miller Oblated Stereographic",
    "ups","Universal Polar Stereographic"
)

miscMenu = mkProjMenu
(
    "august","August", 
    "bacon","Bacon", 
    "nicol","Nicolosi",  
    "apian","Apian", 
    "ortel","Ortelius", 
    "vandg","Van der Grinten I",
    "vandg2","Van der Grinten II", 
    "vandg3","Van der Grinten III", 
    "vandg4","Van der Grinten IV", 
    "lagrng","Lagrange", 
    "larr","Larrivee", 
    "lask","Laskowski", 
    "tpeqd","Two Points Equidistant", 
    "gins8","Ginsburg VIII"
)

projMenu= new menu
(    
    "Cylindrical",cylMenu,
    "Pseudo-Cylindrical 1",psCyl1Menu,
    "Pseudo-Cylindrical 2",psCyl2Menu,
    "Conic",conicMenu,
    "Azimuthal",azimMenu,
    "Miscellaneous",miscMenu
)

projMenu.realSticky(true)
projMenu.vertical(false)
projMenu.showAt(10,10)
</script>