/**** Scripts für www.panorado.com ****/


function dlgWindow(strUrl, cx, cy, bScroll, strTarget) {
   cx = (typeof(cx) == "undefined") ? 600 : cx;   // optional
   cy = (typeof(cy) == "undefined") ? 600 : cy;   //

   var availWidth  = screen.availWidth - 10;
   var availHeight = screen.availHeight - 32;
   
   cx = Math.min(cx, availWidth);
   cy = Math.min(cy, availHeight);

   var x = (availWidth - cx)  / 2;
   var y = (availHeight - cy) / 2;

   var strScroll = bScroll ? "yes" : "no";
   
   // Dialoge ggfs. etwas gegeneinander versetzen:
   var xScreen = typeof(self.screenX) == "undefined" ? self.screenLeft : self.screenX;
   var yScreen = typeof(self.screenY) == "undefined" ? self.screenTop  : self.screenY;
   if (x > xScreen - 12 && x < xScreen + 20)   x += 32;
   if (y > yScreen - 32 && y < yScreen + 0)    y += 32;
   
   var strWndParams = "left=" + x + ",top=" + y + ",width=" + cx + ",height=" + cy +
                      ",scrollbars=" + strScroll + ",status=no,resizable=yes,location=no,toolbar=no";
   if (!strTarget) strTarget = "_blank";

   var wndDlg = self.open(strUrl, strTarget, strWndParams, false);
   if (wndDlg) wndDlg.focus();
}


function checkCloseImage() {
   if (!this.wndImage);
   else if (!(this.wndImage.closed))
      this.wndImage.close();
}


function onLoadAppletOrderPage() {
  window.resizeTo(700, Math.min(screen.availHeight - 32, 1000));
  window.moveTo(10, 10);
  window.focus();
  checkLicenseType(document.Order);
  checkVat(document.Order);
}


function checkMail(Form) {
  var strMsg;

  Form.useragent.value = navigator.userAgent;

  if (!checkEmpty(Form.name.value)) {
    strMsg = (getLang() == "de") ? "Bitte tragen Sie Ihren Namen ein!" : "Please enter your name!";
    alert(strMsg);
    Form.name.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 checkAppletOrder(Form) {
  var strMsg;

  if (!checkWebsiteAddress(Form.website.value)) {
    strMsg = (getLang() == "de") ? "Bitte tragen Sie die Website-Adresse ein!" : "Please enter the website address!";
    alert(strMsg);
    Form.website.focus();
    return false;
  }

  if (!Form.type[3].checked && !Form.type[4].checked && !Form.type[5].checked)
    Form.upgradekey.value = "";
  else if (!checkLicenseKey(Form.upgradekey.value)) {
    strMsg = (getLang() == "de") ?
    "Bitte tragen Sie Ihren existierenden Lizenzschlüssel ein!" : "Please enter your existing license key!";
    alert(strMsg);
    Form.upgradekey.focus();
    return false;
  }

  if (!checkEmpty(Form.name.value)) {
    strMsg = (getLang() == "de") ? "Bitte tragen Sie Ihren Namen ein!" : "Please enter your name!";
    alert(strMsg);
    Form.name.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;
  }

  if (!Form.vat[2].checked)
    Form.vatid.value = "";
  else if (!checkEmpty(Form.vatid.value)) {
    strMsg = (getLang() == "de") ?
    "Bitte tragen Sie Ihre Umsatzsteuer-ID ein oder w�hlen Sie eine andere USt-Kategorie!" :
    "Please enter your VAT ID or select another VAT category!";
    alert(strMsg);
    Form.vatid.focus();
    return false;
  }

  return true;
}


function checkLicenseType(Form) {
  var bShow = Form.type[3].checked || Form.type[4].checked || Form.type[5].checked;

  document.getElementById("opt_upgradekey_1").style.display = bShow ? "block" : "none";
  document.getElementById("opt_upgradekey_2").style.display = bShow ? "block" : "none";
}


function checkVat(Form) {
  var bShow = Form.vat[2].checked;

  document.getElementById("opt_vatid_1").style.display = bShow ? "block" : "none";
  document.getElementById("opt_vatid_2").style.display = bShow ? "block" : "none";
}


function checkEmpty(strText)
{
  var filter = /[\S]+/;
  return filter.test(strText) ? true : false;
}


function checkLicenseKey(strKey)
{
  var filter = /^([a-fA-F0-9]){8}(-([a-fA-F0-9]){8}){3}/;
  return filter.test(strKey) ? true : false;
}


function checkMailAddress(strAddress)
{
  var filter = /^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-]+)+/;
  return filter.test(strAddress) ? true : false;
}


function checkWebsiteAddress(strAddress)
{
  var filter = /^(http:\/\/|https:\/\/|)([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-]+)+/;
  return filter.test(strAddress) ? true : false;
}


function clearDefault(element) {
  if (element.value == element.defaultValue) element.value = "";
}


function isMSIE() {
  return (navigator.userAgent.indexOf("MSIE") >= 0);
}


function isNetscape() {
  return (navigator.userAgent.indexOf("Netscape") >= 0);
}


function isFirefox() {
  return (navigator.userAgent.indexOf("Firefox") >= 0);
}


function isOpera() {  // klappt bei Opera 8.5 und allen F�lschungsvarianten
  return (navigator.userAgent.indexOf("Opera") >= 0);
}


function getLang() {
  if (navigator.language)
     return (navigator.language.indexOf("de") >= 0) ? "de" : "en";
  else if (navigator.browserLanguage)
     return (navigator.browserLanguage.indexOf("de") >= 0) ? "de" : "en";
  else
     return "en";
  
}


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);
}


function bookmarkPageMSIE() {
  window.external.AddFavorite(window.location.href, document.title);
}


function bookmarkPageMozilla() {
  window.sidebar.addPanel(document.title, window.location.href, "")
}


function bookmarkThisPage(lang) {
  var strMsg = (lang == "de") ? "Lesezeichen für diese Seite setzen..." : "Bookmark this page...";

  if (typeof(window.external) == "object" && !isFirefox()) {      // MSIE
    document.write('<a href="javascript:bookmarkPageMSIE()">' + strMsg + '<\/a>');
  }
  else if (typeof(window.sidebar) == "object") {  // Mozilla
    document.write('<a href="javascript:bookmarkPageMozilla()">' + strMsg + '<\/a>');
  }
  else if (typeof(window.opera) == "object" && typeof(window.print) == "object") {        // Opera
    document.write('<a rel="sidebar" title = "' + document.title + '" href="' + window.location.href + '">' + strMsg + '<\/a>');
  }
}



