/**
 * @desc Dummy Funktion für den PageLoad
 */
function init() {};

var FormatErrorMsg = 'Bitte geben Sie das Datum im Format \'TT.MM.JJJJ\' ein !';

function TiefpreisGarantie() {
  var titel = "Die Preise fliegen bei traveltopia.de tief -  garantiert!";
  var msg =
    "<p>Wenn Sie bei uns, traveltopia.de, Ihre Reise buchen und am Buchungstag " +
    "die gleiche Leistung vom selben Veranstalter über ein anderes Reisebüro " +
    "oder Internetreisebüro buchen können, erstatten wir Ihnen den Differenzbetrag.</p>\n" +
    "<p>Bitte kontaktieren Sie hierfür unser Serviceteam unter 01805/155 855 (0,14/Min.) oder senden Sie " +
    "eine email an <a href=\"mailto:pauschal@traveltopia.de\" title=\"Nehmen Sie mit uns Kontakt auf\">pauschal@traveltopia.de</a>.</p>\n" +
    "<p>Diese Garantie gilt für die Kategorien:</p>\n" +
    "<ul><li>Charterflüge</li><li>Last-Minute-Reisen</li><li>Pauschal-Katalog-Reisen</li></ul>";
  TextPopper(titel,msg,450,280);
  }

function openFixedWindow(url) {
  window.open(url,'_blank','width=800,height=550,resizable,scrollbars=yes');
  }
  
function openWindow(url, width, height, scrollbars) {
window.open(url,'_blank','width=' + width + ',height=' + height +
',resizable,scrollbars='+scrollbars);
}

function date() {
  document.write(new Date().getDate()+"."+(new Date().getMonth()+1)+"."+new Date().getFullYear())
}

function TextPopper(Header,Message,Width,Height) {
  var ScreenX = (screen.width / 2) - 160;
  var ScreenY = (screen.height / 2) - 150;
  if (Width) {var width = Width;}
  else {width = 320;}
  if (Height) {var height = Height;}
  else {height = 300;}
  win = window.open("","PopText","dependent=yes,width=" + width + "px,height=" + height + "px,location=no,toolbar=no,resizable=yes,scrollbars=no,status=no,top="+ ScreenY +"px,left=" + ScreenX +"px");
  win.document.open();
  win.document.write("<html>\n<head>\n<link rel=\"stylesheet\" type=\"text/css\" href=\"/library/style/textpopper.css\">\n<title>" + Header + "</title>\n</head>\n");
  win.document.write("<body>\n<table class=\"popup\">\n");
  win.document.write("<tr>\n<td class=\"headline\">&nbsp;&nbsp;&nbsp;" + Header + "</td>\n</tr>\n");
  win.document.write("<tr>\n<td class=\"textpopp\">\n");
  win.document.write(Message + "\n");
  win.document.write("</td>\n");
  win.document.write("<tr>\n<td class=\"bottomline\">\n<a href=\"javascript:window.close();\" class=\"closewin\">Fenster schliessen</a>\n</td>\n</tr>\n");
  win.document.write("</table>\n</body>\n</html>");
  win.document.close();
  }

/**
 * @desc verhindert das Laden von Frame Dateien als Top Instanz. Erwartet im globalen
 *       Scope eine Variable Namens Frameset, die den Url zur Fallback Datei enthält.
 */
function framedoc() {
  var Parent;
  if (typeof(Frameset) != 'string') {
    return;
    }
  try {
    Parent = window.parent;
    }
  catch (e) {
    Parent = null;
    }
  if (Parent != null) {
    try {if (document.location.href == Parent.location.href) top.location.href = Frameset;}
    catch(e){return;}
    }
  else {
    Parent.location.href = Frameset;
    }
  }

/**
 * @desc Funktion abstrahiert die Suche nach einem DOM Element, weil
 *       sich bei der Flugsuche bestimmte Bereiche ausgelagert in einem
 *       Javascript Objekt befinden.
 */
function getHtObject(Id) {
  var RetVal;
  if (is_object(Id)) {
    RetVal = Id;
    }
  else {
    RetVal = getHtmlObject(Id);
    }

  return RetVal;
  }

/**
 * @desc Gibt Objekt zurück, wobei der übergebene Parameter entweder das Objekt selber,
 *       oder aber das ID desselben sein kann, mittels dessen das Objekt selber dann
 *       aus dem document ermitteln lässt.
 * @param Mixed Variable
 * @return Mixed - Objekt oder false
 */
function getHtmlObject(Variable) {
  var RetVal = false;
  if (!is_object(Variable)) {
    if (is_string(Variable)) {
      RetVal = document.getElementById(Variable);
      if (RetVal == null) {
        RetVal = false;
        }
      }
    }
  return RetVal;
  }

/**
 * @desc Ermittelt, ob es sich bei der übergebenen Variable um ein HTML Input Element handelt
 * @param Mixed Variable - Prüfvariable
 * @return Boolean
 */
function is_input_hidden(Variable) {
  var RetVal = false;
  if (is_HTMLObject(Variable,'input')) {
    try {
      RetVal = is_string(Variable.type) && (Variable.type.toLowerCase() == 'hidden');
      }
    catch (e) {
      RetVal = false;
      }
    }
  return RetVal;
  }
/**
 * @desc Ermittelt, ob es sich bei der übergebenen Variable um ein HTML Input Element handelt
 * @param Mixed Variable - Prüfvariable
 * @return Boolean
 */
function is_select(Variable) {
  return is_HTMLObject(Variable,'select');
  }
/**
 * @desc Ermittelt, ob es sich bei der übergebenen Variable um ein HTML Input Element handelt
 * @param Mixed Variable - Prüfvariable
 * @return Boolean
 */
function is_input(Variable) {
  return is_HTMLObject(Variable,'input');
  }

/**
 * @desc Meta Funktion für Objektprüfung HTML Objekte
 * @param Mixed Variable - Prüfvariable
 * @param String Tag - HTML Tag, auf welches Variable geprüft wird
 * @return Boolean
 */
function is_HTMLObject(Variable,Tag) {
  var RetVal = is_htmltagobject(Variable);
  if (is_string(RetVal) && is_string(Tag)) {
    if (Tag == RetVal) {
      try {
        RetVal = is_string(Variable.tagName) && (Variable.tagName.toLowerCase() == Tag);
        }
      catch(e) {
        RetVal = false;
        }
      }
    }
  return RetVal;
  }

/**
 * @desc Ermittelt, ob es sich bei der übergebenen Variable um ein HTML Object handelt.
 * @param Mixed Variable - Prüfvariable
 * @return Boolean
 */
function is_htmltagobject(Variable) {
  var RetVal = false;
  if (is_object(Variable)) {
    if (is_string(Variable.tagName)) {
      RetVal = Variable.tagName;
      }
    }
  return RetVal;
  }

/**
 * @desc Ermittelt, ob es sich bei der übergebenen Variable um ein Objekt Type Datum handelt
 * @param Mixed Variable - Prüfvariable
 * @return Boolean
 */
function is_date(Variable) {
  var RetVal = false;
  try {
    RetVal = is_object(Variable) && is_function(Variable.setTime) && is_function(Variable.getTime);
    }
  catch (e) {
    RetVal = false;
    }
  return RetVal;
  }

/**
 * @desc Ermittelt, ob es sich bei der übergebenen Variable um eine Boolean Variable handelt
 * @param Mixed Variable - Prüfvariable
 * @return Boolean
 */
function is_bool(Variable) {
  return is_Variable(Variable,'boolean');
  }
/**
 * @desc Ermittelt, ob es sich bei der übergebenen Variable um ein Objekt Inhalt null handelt
 * @param Mixed Variable - Prüfvariable
 * @return Boolean
 */
function is_null(Variable) {
  return Variable == null;
  }
/**
 * @desc Ermittelt, ob es sich bei der übergebenen Variable um ein Objekt handelt
 * @param Mixed Variable - Prüfvariable
 * @return Boolean
 */
function is_object(Variable) {
  var RetVal = false;
  if (is_Variable(Variable,'object') && !is_null(Variable)) {
    RetVal = true;
    }
  return RetVal;
  }
/**
 * @desc Ermittelt, ob es sich bei der übergebenen Variable um ein Objekt handelt
 * @param Mixed Variable - Prüfvariable
 * @return Boolean
 */
function is_function(Variable) {
  return is_Variable(Variable,'function');
  }
/**
 * @desc Ermittelt, ob es sich bei der übergebenen Variable um eine Nummer
 * @param Mixed Variable - Prüfvariable
 * @return Boolean
 */
function is_number(Variable) {
  return is_Variable(Variable,'number');
  }
/**
 * @desc Ermittelt, ob es sich bei der übergebenen Variable um einen String handelt
 * @param Mixed Variable - Prüfvariable
 * @return Boolean
 */
function is_string(Variable) {
  return is_Variable(Variable,'string');
  }
/**
 * @desc Meta Funktion für Variablen Typ Abfrage
 * @param Mixed Variable - Prüfvariable
 * @param String TypeName - Typ, auf den geprüft wird.
 * @return Boolean
 */
function is_Variable(Variable,TypeName) {
  var RetVal = false;
  if (typeof(Variable) == TypeName) {
    RetVal = true;
    }
  return RetVal;
  }

/**
 * @desc Funktion prüft, ob eine Variable gesetzt ist
 * @param Mixed Variable - Prüfvariable
 * @param String TypeName - Typ, auf den geprüft wird.
 * @return Boolean
 */
function is_set(Variable) {
  return typeof(Variable) == 'undefined';
  }
/**
 * Funktion wird benutzt, um Global die Anzeige von etwaigen Fehlermeldungen setuern zu können
 */
function eMsg(Message) {
  alert(Message);
  }
/* ggf Google Tracking Code aufrufen **/
if (typeof(urchinTracker) == "function") {
  _uacct="UA-1730802-1";
  urchinTracker();
  }
