/**** Scripts für www.panorado.com ****/


function showImage(strParams, width, height) {
  width +=20; height +=20;
  var availWidth  = screen.availWidth - 10;
  var availHeight = screen.availHeight - 32;
  var width  = Math.min(width, availWidth);
  var height = Math.min(height, availHeight);
  var left   = (availWidth - width) / 2;
  var top    = (availHeight - height) / 2;

  var strBig = (width == availWidth || height == availHeight) ? "yes" : "no";

  var strWndParams = "left=" + left + ",top=" + top + ",width=" + width + ",height=" + height +
                     ",resizable=" + strBig + ",scrollbars=" + strBig +
                     ",menubar=no,status=no,toolbar=no,directories=no";

  if (isOpera()) strParams = strParams.replace(/\//g, "%2F");

  checkCloseImage(); // neue Größe erzwingen
  wndImage = self.open("../ImageViewer.htm?" + strParams, "_Image_Viewer_", strWndParams);
  if (wndImage != null) wndImage.focus();
}


function showPano(strParams) {
  if (navigator.javaEnabled()) {
    var availWidth  = screen.availWidth - 10;
    var availHeight = screen.availHeight - 32;
    var width  = Math.min(920, availWidth);
    var height = Math.min(650, availHeight);
    var left   = (availWidth - width) / 2;
    var top    = (availHeight - height) / 2;

    var strBig = (width == availWidth || height == availHeight) ? "yes" : "no";
    var strResizable = isMSIE() ? "yes" : "no";
    var strWndParams = "left=" + left + ",top=" + top + ",width=" + width + ",height=" + height +
                       ",resizable=" + strResizable +
                       ",scrollbars=no,menubar=no,status=no,toolbar=no,directories=no";

    if (isOpera()) strParams = strParams.replace(/\//g, "%2F");

    wndImage = self.open("PanoramaViewer.htm?" + strParams, "_Image_Viewer_", strWndParams);
    if (wndImage != null) wndImage.focus();
  }
  else {
    alert("Please enable Java to open the panorama viewer!");
  }
}


function showAnimation() {
  if (navigator.javaEnabled()) {
    var availWidth  = screen.availWidth - 10;
    var availHeight = screen.availHeight - 32;
    var width  = Math.min(344, availWidth);
    var height = Math.min(188, availHeight);
    var left   = (availWidth - width) / 2;
    var top    = (availHeight - height) / 2;

    var strBig = (width == availWidth || height == availHeight) ? "yes" : "no";
    var strResizable = "no";
    var strWndParams = "left=" + left + ",top=" + top + ",width=" + width + ",height=" + height +
                       ",resizable=" + strResizable +
                       ",scrollbars=no,menubar=no,status=no,toolbar=no,directories=no";

    if (isOpera()) strParams = strParams.replace(/\//g, "%2F");

    wndImage = self.open("../PanoradoAnimation.htm", "_Demo_Animation_", strWndParams);
    if (wndImage != null) wndImage.focus();
  }
  else {
    alert("Please enable Java to show the demo animation!");
  }
}


function checkCloseImage() {
  if (!this.wndImage);
  else if (!(this.wndImage.closed))
    this.wndImage.close();
}


function onLoadHeader() {
  var wndPage, wndNav = this;

  if (wndPage = top.frames[2]) {
    strPage = wndPage.location.href;
    strPage = strPage.substring(strPage.lastIndexOf("/") + 1, strPage.lastIndexOf("."));
  }
  else
    strPage = "Home";

  var Links = wndNav.document.links;
  var Link, length, i, bActive;

  // Akt. Menüpunkt hervorheben:
  for (i = 0, length = Links.length; i < length; i++) {
    Link = Links[i];
    if (!Link.name) continue;
    bActive = (Link.name == strPage);
    Link.style.fontWeight = bActive ? "bold" : "normal";
  }
}


function onLoadIndex() {
  var bFresh, strSearch, wndPage;

  if (isOldBrowser())
    alert("Notice:\nYou are using an old web browser which might not be able to display all style properties correctly!");

  if (top != this) top.location.replace(this.location.href);
  top.status = document.title;

  if (typeof(lang) == "undefined") lang = systemLang();

  strSearch = this.location.search.substr(1);
  if (strSearch == "") strSearch = lang + "/Home.htm";

  wndPage = top.window[2];
  wndPage.document.location.href = strSearch;
}


function update()  {
  var wndNav, wndPage, strPage;

  // Hot Links verhindern, Fenster ggfs. aus Aufrufer-Frame befreien:
  if (top == this || top.location.hostname != this.location.hostname) {
    strPage = this.location.href;
    strPage = strPage.substring(strPage.lastIndexOf("/", strPage.lastIndexOf("/") - 1) + 1);
    top.location.replace("../index.htm?" + strPage);
    return;
  }

  if ((wndNav = top.frames[1]) && (wndPage = top.frames[2])) {
    // Nav-Doc (Header) mit der richtigen Sprache:
    wndNav.document.location.replace("Header.htm");

    if (top.location.pathname != "/") { // ohne Pfad geladen?
      strPage = wndPage.location.href;
      var strNewLang = (strPage.indexOf("/de/") > 0) ? "de" : "en";
      top.lang = strNewLang;
    }
  }
}


function changeLang(strNewLang) {
  var strOldLang;

  strOldLang = top.lang;
  top.lang = strNewLang;

  var wndPage = top.window[2];
  var strUrl = wndPage.location.href;
  strUrl = strUrl.replace("/" + strOldLang + "/", "/" + strNewLang + "/");
  wndPage.document.location.href = strUrl;
}


function checkMail(Form) {
  var strMsg;

  Form.useragent.value = navigator.userAgent;

  if (Form.realname.value == "") {
    strMsg = (getLang() == "de") ? "Bitte tragen Sie Ihren Namen ein!" : "Please enter your name!";
    alert(strMsg);
    Form.realname.focus();
    return false;
  }

  if (!checkMailAddress(Form.email.value)) {
    strMsg = (getLang() == "de") ? "Bitte tragen Sie Ihre E-Mail-Adresse ein!" : "Please enter your e-mail address!";
    alert(strMsg);
    Form.email.focus();
    return false;
  }

  return true;
}


function checkMailAddress(strAddress)
{
  var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

  return filter.test(strAddress) ? true : false;
}


function isMSIE() {
   return (navigator.appName == "Microsoft Internet Explorer") ? true : false;
}


function isNetscape () {  // oder Firefox
   return (navigator.appName == "Netscape") ? true : false;
}


function isOpera () {  // Opera fälscht aber gerne!
   return (navigator.appName == "Opera") ? true : false;
}


function isOldBrowser() {
  if (isMSIE() || isOpera()) // Opera's Default: simuliert MSIE
    return (navigator.appVersion.substring(0,1) < "4");
  else if (isNetscape())     // kann auch Firefox sein
    return (navigator.appVersion.substring(0,1) < "5");
  else                       // unbekannt
    return false;
}


function getLang() {
  return top.lang;
}


function systemLang() {
  var str = isMSIE() ? navigator.userLanguage : navigator.language;
  str = str.substr(0, 2);
  if (str != "de") str = "en";
  return str;
}


function getParam(strParams, strName) {
  strVal = null;

  if (((posName = strParams.indexOf("?" + strName + "=")) >= 0) ||
  ((posName = strParams.indexOf("&" + strName + "=")) >= 0)) {
    strVal = strParams.substr(posName + strName.length + 2);

    if ((posEnd = strVal.indexOf("&")) >= 0)
      strVal = strVal.substr(0, posEnd);
  }

  return strVal;
}


function writeParam(strParams, strName) {
  strVal = getParam(strParams, strName);

  if (strVal != null)
    document.writeln('<param name=' + strName + ' value="' + strVal + '">');
}


function centerWindow(cx, cy) {
  if (cx > screen.width) cx = screen.width;
  if (cy > screen.height) cy = screen.height;
  resizeTo(cx, cy);
  moveTo((screen.width - cx) / 2, (screen.height - cy) / 2);
}