/////////////////////////////////////////////////////////////////////////////////////////////////////
//-------------------------------------------------------------------------------------------------//
// WindowParamters Version 1.0                                                                     //
// Datum: 14.12.2009                                                                               //
// Liest & schreibt beliebige Parameter in den internen Fensternamen des Browsers                  //
// Einschränkungen: folgendene Zeichen in Parametern sind verboten: '|' und '='                    //
//-------------------------------------------------------------------------------------------------//
/////////////////////////////////////////////////////////////////////////////////////////////////////


// Beispiel WindowName: ticker=-22|fontsize=1|font-color=#0000EE


windowParameters = new WindowParameters("Test");


function WindowParameters() {
  var trennZeichenGross = "|"; // Trennzeichen, welches den gesamten String in die einzelnen Paare unterteilt
  var trennZeichenKlein = "="; // Trennzeichen, welches die Parre in Parametername und Parameterwert unterteilt
  
  //Erstellt aus WindowName-String das Parameters-Objekt
  var getAllParameters = function() {
    var windowName = getWindowName();
    var teilung1 = windowName.split(trennZeichenGross);
    var parameters = new Object(); //parameters['Param'] = 1234;
    for (var i=0; i<=(teilung1.length-1); i++) {
      var paramName = teilung1[i].split(trennZeichenKlein)[0];
      var paramValue = teilung1[i].split(trennZeichenKlein)[1];
      parameters[paramName] = paramValue;
    }
    return parameters;
  }
  // Liest die Window-Name Eigenschaft aus
  var getWindowName = function() {
    return parent.window.name;
  }
  //Wandelt Parameters Objekt in den WindowName-String um
  var setAllParameters = function(parameters) {
    var windowName = '';
    for(var param in parameters) {
      windowName += param + trennZeichenKlein + parameters[param] + trennZeichenGross; 
    }
    setWindowName(windowName);
  }
  // Schreibt den WindowName-String in die Window-Name Eigenschaft
  var setWindowName = function(newWindowName) {
    parent.window.name = newWindowName;
  }
  
  //Ermittelt ein Parameter-Wert
  this.getParam = function(name) {
    var parameters = getAllParameters();
    if(typeof(parameters[name]) != 'undefined'){
      return parameters[name];
    } else {
      return false;
    }
  }
  
  //Setzt ein Parameter (neu oder überschreiben)
  this.setParam = function(name,value) {
    var parameters = getAllParameters();
    parameters[name] = value;
    setAllParameters(parameters);
    return; 
  }
}
