/*** utils.js *** jumpTo
*** js 16.11.2001 ***/

/* ---
 | Aus-/Umbaumöglichkeiten:
 | * Verwendung von referrer falls kein Elternframe
 | - History kann nur angesprungen aber nicht ausgelesen werden,
 |   kann also dafür nicht verwendet werden.
 +------------------ */

function isChildOfEco()
{
  if (! parent.location) return false;
  // ^- Nicht unterstützt
  if (parent==window || top==window) return false;
  // ^- Keine Eltern
  var pl=parent.location;
  if (pl.hostname.indexOf("ecodesign.at") < 0) return false;

  return true;
};

function cameFrom()
{
  if (!isChildOfEco()) return "";

  var path=parent.location.pathname;

  if (path=="/" || path=="/index"    ||
      path.indexOf("/index.htm")==0  ||
      path.indexOf(".de.htm")>=0) return "de";
  if (path.indexOf("english")>=0     ||
      path.indexOf("_eng/")>=0       ||
      path.indexOf(".en.htm")>=0) return "en";

  return "";
}

function jumpToAddr(loc,ext)
{
  if (ext=="undefined" ||
      // ext==undefined || IE kennt undefined nicht!
      ext=="" ||
      ! ext)  ext="html";

  var from=cameFrom();
  switch (cameFrom())
  { case "de":        return loc+".de."+ext;
    case "en":        return loc+".en."+ext;
    case "": default: return loc;
  }
};

function goto__(loc)
{ var l=window.location;

  //window.blur();
  //parent.focus();

  //if (l.assign)    // wegen IE5, der kennt assign, aber nächste Zeile
  //  l.assign(loc)  // das wird nicht akzeptiert.
  //else
    l.href=loc;

  //window.blur();
  //parent.focus();
}

function jumpTo(loc,ext)
{ var l=window.location;
  //var to="http://www.ecodesign.at"+jumpToAddr(loc,ext);
  var to=jumpToAddr(loc,ext);
  //alert("test: "+to+"("+l+").");

  goto__(to);
  window.setTimeout("goto__(\""+to+"\")",10);
  //alert("");

  return false; // wichtig damit href nicht wirkt!!!
};
