function WWParam() {

  this.numDaysNewWebcams = 30;

  this.bShowSunRS       = false;
  this.bShowSunRiseSet  = false;
  this.bShowMoreRiseSet = false;

  this.bParamGeoSearch = false;
  this.bGeoSearch      = false;
  this.bSwapCoord      = false;

  this.bShowNewFeatures = false;  // neue (noch nicht freigegebene) Funktionen anzeigen

  this.bParamShowFotos = false;
  this.bShowFotos      = this.bParamShowFotos;
  this.bShowTagFilter  = false;

  this.bParamShowVideos = false;
  this.bShowVideos      = this.bParamShowVideos;

  this.bParamShowWikipedia = false;
  this.bShowWikipedia      = this.bParamShowWikipedia;

  this.bParamShowGWebcams = false;
  this.bShowGWebcams      = this.bParamShowGWebcams;

  this.noCenterParam = 999;
  this.centerLatStart = this.noCenterParam;
  this.centerLngStart = this.noCenterParam;
  this.zoomStart      = -1;

  this.searchtext = "";
  this.searchtextParam = "";

  this.msecDiff = 0;
  this.prioLog = -1;

  var zma = 'ilto:na';
  var zmb = 'dt@';
  var zmc = 'freenet.de';
  //this.strPost =    '<a href="ma' + zma + zmb + zmc + '?subject=Wildlife%20Webcams">E-Mail</a>';
  this.strPostErr = '<a href="ma' + zma + zmb + zmc + '?subject=Wildlife%20Webcams:%20'; // + ... + '">...</a>';   // wird später fertig zusammengesetzt wg. variablem Text
  this.strReportChanges = 'Notify error or change';


  var parY = -1;
  var parM = -1;
  var parD = -1;
  var parh = -1;
  var parm = -1;
  var pars = -1;

  //var statCountOn = true; // Counter laden

  //if (window.location.protocol == "file:") {
    //statCountOn = false;
  //}

  //----------------------------
  // Parameter auswerten
  //----------------------------

  var locsearch = window.location.search;
  if (locsearch.charAt(0) == '?') {
    locsearch = locsearch.slice(1);
  }

  var params = locsearch.split("&");

  var idx;
  for (idx = 0; idx < params.length; idx++) {
    var vals = params[idx].split("=");

    switch (vals[0]) {
      case "sn": // show new features
        if (vals[1] == "1") {
          this.bShowNewFeatures = true;
        }
        break;
      case "ss": // show search
        if (vals[1] == "1") {
          this.bParamGeoSearch = true;
          this.bGeoSearch = true;
        } else if (vals[1] == "2") {
          this.bParamGeoSearch = true;
          this.bGeoSearch = true;
          this.bSwapCoord = true; /* Koordinaten für kml-Datei in der Reihenfolge lng,lat anzeigen */
          this.bShowNewFeatures = true;
        } else {
          this.bParamGeoSearch = false;
          this.bGeoSearch = false;
        }
        break;
      case "sf": // show fotos
        if (vals[1] == "0") {
          this.bParamShowFotos = false;
          this.bShowFotos = false;
        } else {
          this.bParamShowFotos = true;
          this.bShowFotos = true;
        }
        break;
      case "sv": // show videos
        if (vals[1] == "0") {
          this.bParamShowVideos = false;
          this.bShowVideos = false;
        } else {
          this.bParamShowVideos = true;
          this.bShowVideos = true;
        }
        break;
      case "sw": // show wikipedia
        if (vals[1] == "0") {
          this.bParamShowWikipedia = false;
          this.bShowWikipedia = false;
        } else {
          this.bParamShowWikipedia = true;
          this.bShowWikipedia = true;
        }
        break;
      case "sc": // show cams
        if (vals[1] == "0") {
          this.bParamShowGWebcams = false;
          this.bShowGWebcams = false;
        } else {
          this.bParamShowGWebcams = true;
          this.bShowGWebcams = true;
        }
        break;
      case "lat":
        var lat = parseFloat(vals[1]);
        if ((lat >= -180) && (lat <= 180)) {
          this.centerLatStart = lat;
       }
        break;
      case "lng":
        var lng = parseFloat(vals[1]);
        if ((lng >= -180) && (lng <= 180)) {
          this.centerLngStart = lng;
        }
        break;
      case "zoom":
        var val = parseInt(vals[1]);
        if ((val >= 0) && (val <= 20)) {
          this.zoomStart = val;
        }
        break;
      case "search":
        this.searchtext = decodeURIComponent(vals[1]);
        this.searchtextParam = this.searchtext;
        break;
      case "log":
        if ((vals[1] >= 0) && (vals[1] <= 5)) {
          this.prioLog = vals[1];
        }
        break;
      case "sunrs":
        if (vals[1] == "2") {
          this.bShowMoreRiseSet = true;
          this.bShowSunRS = true;
        } else if (vals[1] == "1") {
          this.bShowSunRS = true;
        } else {
          this.bShowSunRS = false;
        }
        break;
      case "nc": // erstmal nicht verwendet
      case "newcams":
        var newcams = parseInt(vals[1]);
        if (this.numDaysNewWebcams > 0 && this.numDaysNewWebcams < 1000) {
          this.numDaysNewWebcams = newcams;
        }
        break;
      case "Y":
        parY = vals[1];
        break;
      case "M":
        parM = vals[1];
        break;
      case "D":
        parD = vals[1];
        break;
      case "h":
        parh = vals[1];
        break;
      case "m":
        parm = vals[1];
        break;
      case "s":
        pars = vals[1];
        break;
      default:
        break;
    }
  }

  var datum = new Date();
  var actual = new Date();
  //datum  = new Date(2007, 3-1, 25, 1, 59, 30);

  if (parY >= 1970) {
    datum.setFullYear(parY);
  }

  parM -= 1;
  if (parM >= 0 && parM <= 11) {
    datum.setMonth(parM);
  }

  var days = new Array(31,29,31,30,31,30,31,31,30,31,30,31); // Februar genauer?
  if (parD >= 1 && parD <= days[parM]) {
    datum.setDate(parD);
  }

  if (parh >= 0 && parh <= 23) {
    datum.setHours(parh);
  }

  if (parm >= 0 && parm <= 59) {
    datum.setMinutes(parm);
  }

  if (pars >= 0 && pars <= 59) {
    datum.setSeconds(pars);
  }

  //this.msecDiff = Date.parse(datum.toGMTString()) - Date.parse(actual.toGMTString());
  this.msecDiff = datum.getTime() - actual.getTime();

}

var wwParam = new WWParam();

