%@ page import="grails.converters.JSON; org.ossim.omar.BaseQuery; org.ossim.omar.VideoDataSetQuery; org.ossim.omar.VideoDataSetSearchTag" contentType="text/html;charset=UTF-8" %>
OMAR: Video Search
var mapWidget = null;
var oElement = null;
var oElement1 = null;
var oElement2 = null;
var oElement3 = null;
var tabView = null;
var criteriaTabView = null;
var videoDataSetSearchCriteriaIndex=${session.videoDataSetSearchCriteriaTab?:0};
function init()
{
tabView = new YAHOO.widget.TabView('demo');
criteriaTabView = new YAHOO.widget.TabView('criteriaTab');
var tab0 = criteriaTabView.getTab(0);
var tab1 = criteriaTabView.getTab(1);
tab0.addListener('click', handleClickCriteriaTab0);
tab1.addListener('click', handleClickCriteriaTab1);
criteriaTabView.selectTab(videoDataSetSearchCriteriaIndex);
mapWidget = new MapWidget();
mapWidget.setupMapWidget();
setupBaseLayers();
mapWidget.setupDataLayer("${dataWMS.name}", "${dataWMS.url}", "${dataWMS.params.layers}", "${dataWMS.options.styles}", "${dataWMS.params.format}");
mapWidget.changeMapSize();
mapWidget.setupAoiLayer();
mapWidget.setupToolBar();
mapWidget.setupMapView("${queryParams?.viewMinLon ?: -180}", "${queryParams?.viewMinLat ?: -90}", "${queryParams?.viewMaxLon ?: 180}", "${queryParams?.viewMaxLat ?: 90}");
var minLon = ${queryParams?.aoiMinLon ?: 'null'};
var minLat = ${queryParams?.aoiMinLat ?: 'null'};
var maxLon = ${queryParams?.aoiMaxLon ?: 'null'};
var maxLat = ${queryParams?.aoiMaxLat ?: 'null'};
if ( minLon && minLat && maxLon && maxLat)
{
mapWidget.initAOI(minLon, minLat, maxLon, maxLat);
}
if("${queryParams.searchMethod}" == "BBOX")
{
mapWidget.toggleBboxCheckBox()
}
else if("${queryParams.searchMethod}" == "RADIUS")
{
mapWidget.togglePointRadiusCheckBox()
}
else
{
mapWidget.toggleBboxCheckBox()
}
updateOmarFilters();
oElement = document.getElementById("startDate_hour");
oElement1 = document.getElementById("startDate_minute");
oElement2 = document.getElementById("endDate_hour");
oElement3 = document.getElementById("endDate_minute");
YAHOO.util.Event.addListener(oElement, "change", updateOmarFilters);
YAHOO.util.Event.addListener(oElement1, "change", updateOmarFilters);
YAHOO.util.Event.addListener(oElement2, "change", updateOmarFilters);
YAHOO.util.Event.addListener(oElement3, "change", updateOmarFilters);
}
function handleClickCriteriaTab0(e) {
updateCurrentTab(0);
}
function handleClickCriteriaTab1(e) {
updateCurrentTab(1);
}
function updateCurrentTab(tabIndex)
{
var link = "${createLink(action: 'updateSession', controller: 'session')}";
if(tabIndex != videoDataSetSearchCriteriaIndex)
{
videoDataSetSearchCriteriaIndex = tabIndex;
new OpenLayers.Ajax.Request(link+"?"+"videoDataSetSearchCriteriaTab="+videoDataSetSearchCriteriaIndex, {method: 'post',
onCreate: function(transport) {
}
});
}
}
function updateOmarFilters()
{
if(!mapWidget) return;
var numberOfNames = parseInt("${queryParams?.searchTagNames.size()}");
var numberOfValues = parseInt(${queryParams?.searchTagValues.size()});
var ogcFilterInput = document.getElementById('ogcFilter');
var additionalParams = new Array();
if(ogcFilterInput)
{
additionalParams['filter']=ogcFilterInput.value;
}
mapWidget.updateOmarFilters(
$("startDate_day").value, $("startDate_month").value, $("startDate_year").value, $("startDate_hour").value, $("startDate_minute").value,
$("endDate_day").value, $("endDate_month").value, $("endDate_year").value, $("endDate_hour").value, $("endDate_minute").value,
numberOfNames, numberOfValues, additionalParams
);
}
function setupBaseLayers()
{
if(!mapWidget) return;
var baseLayer = null;
var baseWMS=${baseWMS as JSON};
for ( layer in baseWMS ) {
baseLayer = new OpenLayers.Layer.WMS(baseWMS[layer].name, baseWMS[layer].url,
baseWMS[layer].params, baseWMS[layer].options);
mapWidget.setupBaseLayers(baseLayer);
}
}