function loadBookmarkedProduct(paramType) {
    var params = paramType.split('+');

    if (params.length == 4) {
        document.getElementById('plumeArea').value   = params[0];
        document.getElementById('plumeStart').value  = params[1];
        document.getElementById('plumePeriod').value = params[2];
        makePlumeRegionSelect();
        document.getElementById('plumeRegion').value = params[3];
        document.getElementById('dynamicProductFrame').innerHTML
            = makeFrameTag();
    }
    else {
        makePlumeRegionSelect();
        document.getElementById('dynamicProductFrame').innerHTML
            = makeFrameTag();
    }

    return;
}

function makePlumeRegionSelect() {
    var areaParam     = document.getElementById('plumeArea').value;
    var regionOptions = getRegionOptions(areaParam);
    document.getElementById('dynamicPlumeRegionSelect').innerHTML
        = '<select name="plumeRegion" id="plumeRegion" onchange="setAddressBar()">' +
          regionOptions +
          '</select>';

    return;
}

function setAddressBar() {
    var areaParam   = document.getElementById('plumeArea').value;
    var startParam  = document.getElementById('plumeStart').value;
    var periodParam = document.getElementById('plumePeriod').value;
    var regionParam = document.getElementById('plumeRegion').value;

    var saveHref = document.location.href.split('#')[0];
    saveHref     = saveHref.split('?')[0];
    document.location.href
        = saveHref + '?bookmark=' +
          areaParam + '+' + startParam + '+' + periodParam + '+' + regionParam;

    return;
}

function zoomOut() {
    var areaParam   = document.getElementById('plumeArea').value;
    var regionParam = document.getElementById('plumeRegion').value;

    if (areaParam == regionParam) {
        document.getElementById('plumeArea').selectedIndex = 0;
    }
    else {
        document.getElementById('plumeRegion').selectedIndex = 0;
    }

    makePlumeRegionSelect();
    setAddressBar();

    return;
}

function makeFrameTag() {
    var url      = constructURL();
    var frameTag = '<iframe class="rain-maps" id="rainMaps" frameborder="0" scrolling="no"' +
                   ' src="' + url + '"></iframe>';

    return frameTag;
}

function constructURL() {
    var areaParam = document.getElementById('plumeArea').value;
    var url       = 'ranges/' + areaParam + '_map.html';

    return url;
}

function getRegionOptions(areaParam) {
    var regionOptions = EMPTY_STRING;

    if (areaParam == 'aus') {
        regionOptions
            = '<option value="aus">Not Applicable</option>';
    }
    else if (areaParam == 'nsw') {
        regionOptions
            = '<option value="nsw">NSW Regions</option>'            +
              '<option value="centralcoast">Central Coast</option>' +
              '<option value="centralwest">Central West</option>'   +
              '<option value="sydney">Greater Sydney</option>'      +
              '<option value="midnorth">Mid North Coast</option>'   +
              '<option value="northcoast">North Rivers</option>'    +
              '<option value="northwest">North West</option>'       +
              '<option value="outerwest">Outer West</option>'       +
              '<option value="southcoast">South Coast</option>'     +
              '<option value="southwest">South West</option>';
    }
    else if (areaParam == 'nt') {
        regionOptions
            = '<option value="nt">NT Regions</option>'              +
              '<option value="alice">Alice Springs</option>'        +
              '<option value="roper">Arnhem Land</option>'          +
              '<option value="central">Central Australian</option>' +
              '<option value="gulf">Gulf Region</option>'           +
              '<option value="daly">North West</option>'            +
              '<option value="victoria">Victoria River District</option>';
    }
    else if (areaParam == 'qld') {
        regionOptions
            = '<option value="qld">QLD Regions</option>'            +
              '<option value="border">Border Rivers</option>'       +
              '<option value="centralq">Central Coast</option>'     +
              '<option value="gulfq">Gulf and Peninsula</option>'   +
              '<option value="north">North Tropical Coast</option>' +
              '<option value="seast">South East</option>'           +
              '<option value="west">South West</option>'            +
              '<option value="widebay">Wide Bay and Burnett</option>';
    }
    else if (areaParam == 'sa') {
        regionOptions
            = '<option value="sa">SA Regions</option>'      +
              '<option value="adelaide">Adelaide</option>'  +
              '<option value="ntheast">North East</option>' +
              '<option value="nthwest">North West</option>' +
              '<option value="stheast">South East</option>';
    }
    else if (areaParam == 'tas') {
        regionOptions
            = '<option value="tas">TAS Regions</option>'            +
              '<option value="northwestern">North Western</option>' +
              '<option value="northern">Northern</option>'          +
              '<option value="southern">Southern</option>';
    }
    else if (areaParam == 'vic') {
        regionOptions
            = '<option value="vic">VIC Regions</option>'                +
              '<option value="corangamite">Corangamite</option>'        +
              '<option value="eastgippsland">East Gippsland</option>'   +
              '<option value="glenelghopkins">Glenelg Hopkins</option>' +
              '<option value="goulburnbroken">Goulburn Broken</option>' +
              '<option value="northcentral">North Central</option>'     +
              '<option value="northeast">North East</option>'           +
              '<option value="portphillip">Port Phillip</option>'       +
              '<option value="westgippsland">West Gippsland</option>'   +
              '<option value="wimmeramallee">Wimmera Mallee</option>';
    }
    else if (areaParam == 'wa') {
        regionOptions
            = '<option value="wa">WA Regions</option>'                +
              '<option value="gascoyne">Gascoyne</option>'            +
              '<option value="goldfields">Goldfields</option>'        +
              '<option value="kimberley">Kimberley Region</option>'   +
              '<option value="midwest">Mid West</option>'             +
              '<option value="pilbara">Pilbara</option>'              +
              '<option value="sandydesert">Sandy Desert</option>'     +
              '<option value="swest">South West</option>'             +
              '<option value="southerncoast">Southern Coast</option>' +
              '<option value="wheatbelt">Wheatbelt</option>';
    }

    return regionOptions;
}
