

/*--------------------------------------------------------------------------
 /app.frontend/scr/jscript/DataTable.class.js
--------------------------------------------------------------------------*/
//<?php
/**
 * Objekt zum händeln der Interaktionen beim Klicken auf Elemente, T@M-Frontend common
 *
 *
 *
 * @author klickwerk GmbH <support@klickwerk.de>
 * @version 1.0
 * @package frontend
 * @subpackage common
 */
// ?>
/**
 * @constructor
 * @class
 */
var DataTable = function(el)
{
  this.el = $(el);
};

// Methoden definieren
DataTable.prototype =
{
  /**
   * Bind event listener(s).
   * @method
   * @memberOf DataTable
   */
  bindEventListeners: function()
  {
    this.el.bind("click", this.onClickRow);
    this.el.bind("mouseover", this.onMouseOverRow);
    this.el.bind("mouseout", this.onMouseOutRow);
  },

  /**
   * @method
   * @memberOf DataTable
   */
  onClickRow: function(evt)
  {
    alert("Nicht implementiert !");
  },

  /**
   * @method
   * @memberOf DataTable
   */
  onMouseOverRow: function(evt)
  {
    var target = $(evt.target);

    var row = target.parents("tr:first");

    if (row.size() == 1)
    {
      row.addClass("row-mouseover");
    }
  },

  /**
   * @method
   * @memberOf DataTable
   */
  onMouseOutRow: function(evt)
  {
    var target = $(evt.target);

    var row = target.parents("tr:first");

    if (row.size() == 1)
    {
      row.removeClass("row-mouseover");
    }
  }
};;

/*--------------------------------------------------------------------------
 /app.frontend/scr/jscript/Dialog.class.js
--------------------------------------------------------------------------*/
//<?php
/**
 * Objekt zum Verwalten von Dialogen, T@M-Frontend common
 *
 *
 *
 * @author klickwerk GmbH <support@klickwerk.de>
 * @version 1.0
 * @package frontend
 * @subpackage common
 */
// ?>

/**
 * Jeder Dialog im System besitzt eine Instanz dieser Klasse und kann darüber gesteuert werden.
 *
 * @constructor
 * @class
 * @param {String, Element} el CSS-Selektor oder DOM-Element des Dialogs.
 * @param {Function} clickHandler Callback-Funktion die aufgerufen wird, sobald ein Button im Dialog geklick wurde.
 */
var Dialog = function(el, clickHandler)
{
  /**
   * jQuery-Objekt des Dialogs.
   * @type {jQuery}
   */
  this.el = $(el);

  /**
   * Speichert die Abmessungen des Dialogs auf dem Bildschirm.
   * @type {Array}
   */
  this.elDim = [];

  /**
   * Die Callback-Funktion. Sie bekommt als ersten Parameter immer den Namen des Buttons übergeben,
   * der geklickt wurde.
   * @type {Function}
   */
  this.clickHandler = clickHandler;

  /**
   * Zusätzliche Parameter, die an die Callback-Funktion übergeben werden sollen.
   */
  this.extraArgs = null;

  // Dialog initialisieren
  this.init();
};

Dialog.prototype =
{
  /**
   * Dialog initialisieren
   */
  init: function()
  {
    this.el.find(".buttons:first").bind("click", this.onClickButton.evt(this));
  },

  /**
   * Listener-Funktion für Click-Event auf einen Dialog-Button.
   * Führt die Callback-Funktion mit entprechenden Parametern aus.
   */
  onClickButton: function(evt, el)
  {
    var btn = $(evt.target);

    if (btn.is("input"))
    {
      var btnName = [btn.attr("name")];
      this.clickHandler.apply(this, btnName.concat(this.extraArgs));
    }
  },

  /**
   * Berechnet die Maße (Höhe, Breite) des Dialogs.
   * @return {Array} Im ersten Element ist die Breite gespeichert, im zweiten die Höhe.
   */
  getElDimensions: function()
  {
    //console.log(this.el.width());

    if (this.elDim.length == 0)
    {
      //console.log(this.el);

      this.el.css("visibility", "visible");

      // Höhe und Breite des Dialogfelds
      var wEl = this.el.width();
      var hEl = this.el.height();

      //this.el.css("top", "0");
      //this.el.css("left", "0");
      this.el.css("display", "none");
      this.el.css("position", "static");

      this.elDim = [wEl, hEl];

      //console.log(this.elDim);
    }

    return this.elDim;
  },

  /**
   * Dialog einblenden.
   */
  show: function()
  {
    //console.log(this.el);

    this.extraArgs = Array.slice(arguments, 0);

    var elDim = this.getElDimensions();

    // Fensterhöhe und -breite
    var wDoc = $(window).width();
    var hDoc = $(window).height();

    var vOffset = (wDoc - elDim[0]) / 2;
    var hOffset = (hDoc - elDim[1]) / 2;

    /*
    console.log("wDoc: " + wDoc);
    console.log("hDoc: " + hDoc);
    console.log("wEl: " + elDim[0]);
    console.log("hEl: " + elDim[1]);
    console.log("vOffset: " + vOffset);
    console.log("hOffset: " + hOffset);
    */

    $.blockUI(this.el, { left: vOffset + "px", top: hOffset + "px" });
  },

  /**
   * Dialog ausblenden.
   */
  hide: function()
  {
    this.extraArgs = null;
    $.unblockUI();
  }
};;

/*--------------------------------------------------------------------------
 /app.frontend/scr/jscript/HelpToggle.class.js
--------------------------------------------------------------------------*/
//<?php
/**
 * Hilfsobjekt zum Verwalten von Dialogen, T@M-Frontend common
 *
 *
 *
 * @author klickwerk GmbH <support@klickwerk.de>
 * @version 1.0
 * @package frontend
 * @subpackage common
 */
// ?>

/**
 * @constructor
 * @class
 */
var HelpToggle = function(el)
{
  this.el = $(el);

  this.button = this.el.find(".title a:first");

  this.content = this.el.find(".toggleContent");

  this.displayed = true;

  this.bindEventListeners();
};

// Methoden definieren
HelpToggle.prototype =
{
  /**
   * Bind event listener(s).
   * @method
   * @memberOf HelpToggle
   */
  bindEventListeners: function()
  {
    this.button.bind("click", this.onClickToggleBtn.evt(this));
  },

  /**
   * @method
   * @memberOf HelpToggle
   */
  onClickToggleBtn: function(evt)
  {
    evt.preventDefault();

    if (this.displayed)
    {
      this.button.addClass("plus");
      this.content.hide();

      this.displayed = false;
    }
    else
    {
      this.button.removeClass("plus");
      this.content.show();

      this.displayed = true;
    }
  }
};;

/*--------------------------------------------------------------------------
 /app.frontend/scr/jscript/functions.js
--------------------------------------------------------------------------*/
/**
 * @author jburov
 */;

/*--------------------------------------------------------------------------
 /app.frontend/scr/jscript/login.js
--------------------------------------------------------------------------*/
//<?php
/**
 * Funktion zum Überprüfen des Logins, T@M-Frontend common
 *
 *
 *
 * @author klickwerk GmbH <support@klickwerk.de>
 * @version 1.0
 * @package frontend
 * @subpackage common
 */
// ?>
function checkUserLogin(SBMBTN)
{
  var check = true;

  if (document.loginForm.login_usf_userName.value == '' || document.loginForm.login_usf_userName.value == 'E-Mail-Adresse / Benutzername')
  {
    check = false;
    document.loginForm.login_usf_userName.style.backgroundColor = '#E18383';
  }
  else
  {
    check = true;
    document.loginForm.login_usf_userName.style.backgroundColor = '#FFFFFF';
  }

  if (document.loginForm.login_usf_password.value == '')
  {
    check = false;
    document.loginForm.login_tmp_password.style.backgroundColor = '#E18383';
    document.loginForm.login_usf_password.style.backgroundColor = '#E18383';
  }
  else
  {
    check = true;
    document.loginForm.login_tmp_password.style.backgroundColor = '#FFFFFF';
    document.loginForm.login_usf_password.style.backgroundColor = '#FFFFFF';
  }

  if (SBMBTN == '0' && check == true)
    document.loginForm.submit();
  else if (SBMBTN == '1' && check == true)
    return true;
  else
    return false;
};