/**
*@author Carsten Schäfer 20.07.2005 09:49
* Values can be altered in the subproject by creating an individual defs-script overwriting these
*/
var CONFIG = new Array();
var inc  = -1;
var data = new Array();
CONFIG['APP_VERSION']= "";//to be defined in sub-projects
CONFIG['ENVIRONMENT'] = new Array();
CONFIG['ENVIRONMENT']['isEUMETSATWWW']= location.href.indexOf('eumetsat.int')!=-1;// || location.href.indexOf('http://dev')==0;
CONFIG['ENVIRONMENT']['isWWW']= location.href.indexOf('http')==0;// || location.href.indexOf('http://dev')==0;
CONFIG['ENVIRONMENT']['isCD'] = !CONFIG['ENVIRONMENT']['isWWW']
                             && location.href.indexOf('p:/')==-1
                             && location.href.indexOf('v:/')==-1;
CONFIG['ENVIRONMENT']['messages'] = "";//for any mesages

CONFIG['RUNNING_VARS'] = new Array();
CONFIG['RUNNING_VARS']['amountPages']       = 0;
CONFIG['RUNNING_VARS']['amountItemsTotal']  = 0;
CONFIG['RUNNING_VARS']['amountItems']       = 0;

/*Place for constant*/
CONFIG['CONSTANTS'] = new Array();
CONFIG['CONSTANTS']['alertImageSizeTrigger'] = 1024*1024;//~1 MB

/*Looks and feels*/
CONFIG['LOOK_AND_FEEL'] = 1;

/*Define, how many of the modules are displayed and how*/
CONFIG['PAGE_CONTROL'] = new Array();
CONFIG['PAGE_CONTROL']['perpageRows'] = 10;//amount of rows
CONFIG['PAGE_CONTROL']['perpageCols'] = 2;//amount of columns
//calculate, how many Atoms will be displayed on each page
CONFIG['PAGE_CONTROL']['perpage']     = CONFIG['PAGE_CONTROL']['perpageCols'] * CONFIG['PAGE_CONTROL']['perpageRows'];

//trigger search-filter display only, when more than this amount of atoms are visible
CONFIG['PAGE_CONTROL']['limitSearchMenuDisplay'] = CONFIG['PAGE_CONTROL']['perpage'];

/*Switch for character-search*/
CONFIG['CHR_SEARCH'] = new Array();
CONFIG['CHR_SEARCH']['active']                     = false;
CONFIG['CHR_SEARCH']['characterLengthRestriction'] = 3;//minimum amount of characters for a search accepted
CONFIG['CHR_SEARCH']['ignoreList']                 = new Array();//lists searchvalues that were ignored
//CONFIG['CHR_SEARCH']['search'];//searchstrings

/*Convert (pre-/post fix)  values*/
CONFIG['SEARCH_DISPLAY_TEXT_CONVERT'] = new Array();
//CONFIG['SEARCH_DISPLAY_TEXT_CONVERT']['KEY'] = "getTitleText";

CONFIG['SEARCH_DISPLAY_HEADLINE_CONVERT'] = new Array();
//CONFIG['SEARCH_DISPLAY_HEADLINE_CONVERT']['KEY'] = "Country";

/*Sorting for combos*/
CONFIG['SEARCH_DISPLAY_TEXT_SORT_DIRECTION'] = new Array();
CONFIG['SEARCH_DISPLAY_TEXT_SORT'] = new Array();
//CONFIG['SEARCH_DISPLAY_TEXT_SORT']['YEARS'] = "methodName";
//CONFIG['SEARCH_DISPLAY_TEXT_SORT_DIRECTION']['YEARS'] = -1;//reverse

/*Basic alerts on clicks - extendable*/
CONFIG['CLICK_ALERT'] = new Array();
CONFIG['CLICK_ALERT']['imageSizeTrigger'] = 1000000;//~1 MB

/*Which search fields are being used - extendable*/
CONFIG['ACTIVE_FILTER_KEYS']           = new Array();
CONFIG['ACTIVE_FILTER_KEYS_SEPARATOR'] = new Array();
CONFIG['ACTIVE_FILTER_KEYS_SEPARATOR']['DEFAULT'] = ",";

CONFIG['ACTIVE_FILTER_KEYS_SUB'] = new Array();//a date has months and years as SUB!!
CONFIG['ACTIVE_FILTER_FIELDS']   = new Array();
CONFIG['ACTIVE_FILTER_FIELDS']['useFilterFunction']= true;
CONFIG['ACTIVE_FILTER_FIELDS']['useSortField']     = true;
CONFIG['ACTIVE_FILTER_FIELDS']['useFormSubmit']    = false;
CONFIG['ACTIVE_FILTER_FIELDS']['useFormReset']     = true;
CONFIG['ACTIVE_FILTER_FIELDS']['useFormLatest']    = false;
CONFIG['ACTIVE_FILTER_FIELDS']['useComboFilterFillChoiceSwitch'] = true;

/*Certain Data may needs cropping as being to loong for display*/
/*Atoms aggregated Metas container*/
CONFIG['CUT_CONTENT_LIMIT_CHARACTERS'] = new Array();

/*HTTP-GET - basics - extendable*/
CONFIG['GET_PARAMS'] = new Array();
CONFIG['GET_PARAMS_DEF'] = new Array();
CONFIG['GET_PARAMS_SKIPSEARCH_VALUE'] = new Array();
CONFIG['GET_PARAMS_SKIPSEARCH_VALUE_DEFAULT'] = -1;
CONFIG['GET_PARAMS_SKIPSEARCH_VALUE']['search'] = "";
var pCount = -1;
CONFIG['GET_PARAMS'][++pCount] = "page";   CONFIG['GET_PARAMS_DEF']['page'] = 1;
CONFIG['GET_PARAMS'][++pCount] = "recent"; CONFIG['GET_PARAMS_DEF']['recent'] = false;
CONFIG['GET_PARAMS'][++pCount] = "showfullcomboalways";   CONFIG['GET_PARAMS_DEF']['showfullcomboalways'] = -1;
CONFIG['GET_PARAMS'][++pCount] = "sorter"; CONFIG['GET_PARAMS_DEF']['sorter'] = CONFIG['GET_PARAMS_SKIPSEARCH_VALUE_DEFAULT'];
CONFIG['GET_PARAMS'][++pCount] = "search"; CONFIG['GET_PARAMS_DEF']['search'] = CONFIG['GET_PARAMS_SKIPSEARCH_VALUE']['search'];

/*HTML-elements*/
CONFIG['HTML_ELEMENTS'] = new Array();
CONFIG['HTML_FORM_SEARCH'] = "<form name='searchNav' action='"+location.href+"' method='"+(CONFIG['ENVIRONMENT']['isEUMETSATWWW'] ? "POST":"GET")+"'>";

/*Data related*/
CONFIG['DATA'] = new Array();
CONFIG['DATA']['internalIncrementer'] = 0;//used in the page html-page to incement the atoms
CONFIG['DATA']['orig_data']     = new Array();
CONFIG['DATA']['filtered_data'] = new Array();
CONFIG['DATA']['keys'] = new Array();
CONFIG['DATA']['keys_row2'] = new Array();

/*Helpful mappers*/
CONFIG['MAPPERS'] = new Array();
CONFIG['MAPPERS']['months'] = new Array("January","February","March","April","May","June","July","August","September","October","November","December");
//alert ("XXXXX");
CONFIG['MAPPERS']['SATELLITES'] = new Array();
CONFIG['MAPPERS']['SATELLITES']['ma'] = "Metop-A";
CONFIG['MAPPERS']['SATELLITES']['m9'] = "Meteosat-9";
CONFIG['MAPPERS']['SATELLITES']['m8'] = "Meteosat-8";
CONFIG['MAPPERS']['SATELLITES']['m7'] = "Meteosat-7";
CONFIG['MAPPERS']['SATELLITES']['m6'] = "Meteosat-6";
CONFIG['MAPPERS']['SATELLITES']['m5'] = "Meteosat-5";
CONFIG['MAPPERS']['SATELLITES']['m4'] = "Meteosat-4";
CONFIG['MAPPERS']['SATELLITES']['m3'] = "Meteosat-3";
CONFIG['MAPPERS']['SATELLITES']['m2'] = "Meteosat-2";
CONFIG['MAPPERS']['SATELLITES_SMALL'] = new Array();
CONFIG['MAPPERS']['SATELLITES_SMALL']['ma'] = "Metop-A";
CONFIG['MAPPERS']['SATELLITES_SMALL']['m9'] = "Met-9";
CONFIG['MAPPERS']['SATELLITES_SMALL']['m8'] = "Met-8";
CONFIG['MAPPERS']['SATELLITES_SMALL']['m7'] = "Met-7";
CONFIG['MAPPERS']['SATELLITES_SMALL']['m6'] = "Met-6";
CONFIG['MAPPERS']['SATELLITES_SMALL']['m5'] = "Met-5";
CONFIG['MAPPERS']['SATELLITES_SMALL']['m4'] = "Met-4";
CONFIG['MAPPERS']['SATELLITES_SMALL']['m3'] = "Met-3";
CONFIG['MAPPERS']['SATELLITES_SMALL']['m2'] = "Met-2";
CONFIG['MAPPERS']['SATELLITES_SMALL']['m1'] = "Met-1";
CONFIG['MAPPERS']['SATELLITES_SMALL']['goes'] = "GOES";
CONFIG['MAPPERS']['SATELLITES_SMALL']['ta'] = "Terra/Aqua";
CONFIG['MAPPERS']['SATELLITES_SMALL']['noaa'] = "NOAA";
CONFIG['MAPPERS']['SATELLITES_SMALL']['landsat'] = "Landsat";
CONFIG['MAPPERS']['SATELLITES_SMALL']['ers'] = "ERS";
CONFIG['MAPPERS']['SATELLITES_SMALL']['seastar'] = "Seastar";
CONFIG['MAPPERS']['SATELLITES_SMALL']['orb-view'] = "Orb-View";
CONFIG['MAPPERS']['SATELLITES_SMALL']['envisat'] = "ENVISAT";
CONFIG['MAPPERS']['SATELLITES_SMALL']['trmm'] = "TRMM";
CONFIG['MAPPERS']['SATELLITES_SMALL']['earthprobe'] = "Earth Probe";
CONFIG['MAPPERS']['SATELLITES_SMALL']['spot'] = "SPOT";
CONFIG['MAPPERS']['SATELLITES_SMALL']['jason'] = "JASON";
CONFIG['MAPPERS']['SATELLITES_SMALL']['topex'] = "TOPEX/POSEIDON";
CONFIG['MAPPERS']['SATELLITES_SMALL']['aura'] = "AURA";
CONFIG['MAPPERS']['SATELLITES_SMALL']['quikscat'] = "QUIKSCAT";

CONFIG['MAPPERS']['INSTRUMENT'] = new Array();
CONFIG['MAPPERS']['INSTRUMENT']['mviri'] = "MVIRI";
CONFIG['MAPPERS']['INSTRUMENT']['seviri'] = "SEVIRI";
CONFIG['MAPPERS']['INSTRUMENT']['goesi'] = "GOES Imager";
CONFIG['MAPPERS']['INSTRUMENT']['misr'] = "MISR";
CONFIG['MAPPERS']['INSTRUMENT']['modis'] = "MODIS";
CONFIG['MAPPERS']['INSTRUMENT']['avhrr'] = "AVHRR";
CONFIG['MAPPERS']['INSTRUMENT']['tm'] = "Thematic Mapper";
CONFIG['MAPPERS']['INSTRUMENT']['gome1'] = "GOME-1";
CONFIG['MAPPERS']['INSTRUMENT']['gome2'] = "GOME-2";
CONFIG['MAPPERS']['INSTRUMENT']['atsr'] = "ATSR";
CONFIG['MAPPERS']['INSTRUMENT']['seawifs'] = "SeaWIFS";
CONFIG['MAPPERS']['INSTRUMENT']['meris'] = "MERIS";
CONFIG['MAPPERS']['INSTRUMENT']['sciamachy'] = "SCIAMACHY";
CONFIG['MAPPERS']['INSTRUMENT']['tmi'] = "TMI";
CONFIG['MAPPERS']['INSTRUMENT']['amsu'] = "AMSU";
CONFIG['MAPPERS']['INSTRUMENT']['toms'] = "TOMS";
CONFIG['MAPPERS']['INSTRUMENT']['airs'] = "AIRS";
CONFIG['MAPPERS']['INSTRUMENT']['aster'] = "ASTER";
CONFIG['MAPPERS']['INSTRUMENT']['spoti'] = "SPOT Imager";
CONFIG['MAPPERS']['INSTRUMENT']['altimeter'] = "Jason/Topex/Poseidon Altimeter";
CONFIG['MAPPERS']['INSTRUMENT']['omi'] = "OMI";
CONFIG['MAPPERS']['INSTRUMENT']['seawinds'] = "SeaWinds";
CONFIG['MAPPERS']['INSTRUMENT']['mhs'] = "MHS";
CONFIG['MAPPERS']['INSTRUMENT']['iasi'] = "IASI";
CONFIG['MAPPERS']['INSTRUMENT']['ascat'] = "ASCAT";


CONFIG['MAPPERS']['PRODUCTS'] = new Array();
CONFIG['MAPPERS']['PRODUCTS']['sla'] = "Sea Level Anomaly";
CONFIG['MAPPERS']['PRODUCTS']['sst'] = "Sea Surface Temperature";
CONFIG['MAPPERS']['PRODUCTS']['asii'] = "Automatic Satellite Image Interpretation";
CONFIG['MAPPERS']['PRODUCTS']['ctp'] = "Cloud Top Pressure";
CONFIG['MAPPERS']['PRODUCTS']['ct'] = "Cloud Type";
CONFIG['MAPPERS']['PRODUCTS']['snow'] = "Snow Cover";
CONFIG['MAPPERS']['PRODUCTS']['lst'] = "Land Surface Temperature";
CONFIG['MAPPERS']['PRODUCTS']['so2'] = "Sulfur Dioxide Concentration";
CONFIG['MAPPERS']['PRODUCTS']['ash'] = "Ash Mass";
CONFIG['MAPPERS']['PRODUCTS']['ndvi'] = "Normalised Differential Vegetation Index";
CONFIG['MAPPERS']['PRODUCTS']['ice'] = "Ice Cover";
CONFIG['MAPPERS']['PRODUCTS']['swind'] = "Ocean Surface Wind";
CONFIG['MAPPERS']['PRODUCTS']['amv'] = "Atmospheric Motion Vectors";
CONFIG['MAPPERS']['PRODUCTS']['fire'] = "Active Fire Monitoring";
CONFIG['MAPPERS']['PRODUCTS']['rain'] = "Rain Rate";
CONFIG['MAPPERS']['PRODUCTS']['rdt'] = "Rapidly Developing Thunderstorms Product";
CONFIG['MAPPERS']['PRODUCTS']['swh'] = "Significant Wave Height";
CONFIG['MAPPERS']['PRODUCTS']['tchp'] = "Tropical Cyclone Heat Potential";
CONFIG['MAPPERS']['PRODUCTS']['tpw'] = "Total Precipitable Water";
CONFIG['MAPPERS']['PRODUCTS']['gii'] = "Global Instability Index";
CONFIG['MAPPERS']['PRODUCTS']['ozone'] = "Total Ozone";
CONFIG['MAPPERS']['PRODUCTS']['aai'] = "Absorbing Aerosol Index";
CONFIG['MAPPERS']['PRODUCTS']['no2'] = "Nitrogen Dioxide Concentration";



//CONFIG['MAPPERS']['SATELLITES_SMALL'] = new Array();
/*Indexing*/
CONFIG['INDEXING'] = new Array();
CONFIG['INDEXING']['keyPrefix'] = "index_";
CONFIG['INDEXING']['keys'] = new Array();

/*Special treatment for certain atom data-values (used in getAtomByNo() in dynlist_app_*_logic.js)
* add the key-value (=method-key) as a next element with array-value.
* Assign a key-value to the new array with true as a value as an indicator that it shall be processed by this method
* e.g.:
* CONFIG['VALUE_PROCESSING_TYPE']['date']['date'] = new Array();
* CONFIG['VALUE_PROCESSING_TYPE']['date']['published']= true;
*/
CONFIG['VALUE_PROCESSING_TYPE'] = new Array();
CONFIG['VALUE_PROCESSING_TYPE']['empty']   = new Array();

/**Adding functionality to the string-object*/
function strtrim() {
  return this.replace(/^\s+/,'').replace(/\s+$/,'');
}

String.prototype.trim = strtrim;

function addZero(val )
{
    return val < 10 ? ("0"+val):val;
}