var myMooFlowPage =
{
  start: function()
  {
    var div = new Element('div').inject($('content'), 'top');

    var mf = new MooFlow
    (div,
      {
        encoding: 'iso-8859-1',
        startIndex: 7,
        offsetY: 40,
        factor: 100,
        reflection: 0.3,
        useAutoPlay: true,
        bgColor: 'transparent',
        useResize:false,
        useSlider: true,
        useWindowResize: true,
        useCaption: false,
        useMouseWheel: true,
        useKeyInput: true,
        useViewer: true,
        onEmptyinit: function()
        {
          this.loadJSON(json_image_file);
        },
        onClickView: function(obj)
        {
          var a = new Element
          (
            'a',
            {
              'class':'remooz-element',
              'href':obj.href,
              'title':obj.title,
              'styles':{'border':'none'}
            }
          );

          var img = new Element
          ('img',
            {
              'src':obj.src,
              'title':obj.title,
              'alt':obj.alt,
              'styles':obj.coords
            }
          ).setStyles
          (
            {
              'position':'absolute',
              'border':'single'
            }
          ).inject(a);

          a.inject(document.body);

          var remooz = new ReMooz
          (
            a,
            {
              centered: true,
              resizeFactor: 1,
              origin: img,
              onCloseEnd: function()
              {
                a.destroy();
                delete remooz;
              }
            }
          ).open();
        }
      }
    );
  }
}

function InputFocus(el)
{
  $(el).setStyles({"background-color": "#6B7B95"});
}

function InputBlur(el)
{
  $(el).setStyles({"background-color": "#444"});
}

var kontaktformularSlide = null;
var kontaktresultSlide = null;

function ShowSection(section, inhalt)
{
  section.setStyles({'font-weight': 'bold', 'text-align': 'center'});
  if (section.id == 'contact')
  {
    kontaktformularSlide.show();
  }
}

function HideSection(section, inhalt)
{
  section.setStyles({'font-weight': 'normal', 'text-align': 'left'});
  kontaktresultSlide.hide();
}

var InputTips = null;
var TextareaTips = null;

function SectionComplete(section, inhalt)
{
  if (InputTips)
  {
    InputTips.hide();
    InputTips.detach($$('input'));
  }
  InputTips = null;

  if (TextareaTips)
  {
    TextareaTips.hide();
    TextareaTips.detach($$('textarea'));
  }
  TextareaTips = null;

  if ($(this.elements[this.previous]).id == 'contactcontent')
  {
    InputTips = new dgTips('input');
    TextareaTips = new dgTips('textarea');
    $('field_name').focus();
  }
}

var dgTips = new Class({
  Extends: Tips,
  attach: function(elements)
  {
    $$(elements).each(function(element)
    {
      var title = element.retrieve('tip:title', element.get('title') || '');
      var text = element.retrieve('tip:text', element.get('alt') || '&nbsp;');
      if (title != '')
      {
        var enter = element.retrieve('tip:enter', this.elementEnter.bindWithEvent(this, element));
        var leave = element.retrieve('tip:leave', this.elementLeave.bindWithEvent(this, element));
        element.addEvents(
          {
            mouseenter: enter,
            mouseleave: leave
          });
        if (!this.options.fixed)
        {
          var move = element.retrieve('tip:move', this.elementMove.bindWithEvent(this, element));
          element.addEvent('mousemove', move);
        }
        element.store('tip:native', element.get('title'));
        element.erase('title');
      }
    }, this);
    this.tip.setStyles({zIndex: '100'});
    return this;
  }
});

function PageStart()
{
  kontaktformularSlide = new Fx.Slide('kontakt');
  kontaktresultSlide = new Fx.Slide('kontaktresult');

  kontaktresultSlide.hide();

  new Accordion($$('dl#accordionMenu dt'), $$('dl#accordionMenu dd'), {'fixedHeight':500, 'onActive': ShowSection, 'onBackground': HideSection, 'onComplete': SectionComplete});

  $('kontaktformular').addEvent('submit', function(e)
  {
    //Prevents the default submit event from loading a new page.
    e.stop();

    if(this.field_name.value == "")
    {
      $('field_name').setStyles({'border-color': '#ff8080'});
      alert(error_field_name);
      $('field_name').focus();
      return;
    }
    else
      $('field_name').setStyles({'border-color': '#F5F5F5'});

    if(this.field_message.value == "")
    {
      $('field_message').setStyles({'border-color': '#ff8080'});
      alert(error_field_message);
      $('field_message').focus();
      return;
    }
    else
      $('field_message').setStyles({'border-color': '#F5F5F5'});


    kontaktformularSlide.slideOut();
    kontaktresultSlide.slideIn();

    //Empty the log and show the spinning indicator.
    var log = $('kontaktresult');
    log.set('html', form_sending);
    log.addClass('ajax-loading');

    //Set the options of the form's Request handler.
    //("this" refers to the $('kontaktformular') element).
    this.set('send',
    {
      url: 'kontakt.php5',
      onComplete: function(response)
      {
        // ready
        log.removeClass('ajax-loading');

        // Result
        if (this.isSuccess() == true)
        {
          if (response == 'OK')
            log.set('html', '<div class="messageresult" style="border-color: #80ff80;">' + form_sent + '</div>');
          else
            log.set('html', '<div class="messageresult"><b>' + error_form_title + '</b><br/><br/><br/>' + error_form_text1 + '<br/><br/><br/><b>' + error_form_text2 + '</b></div>');
        }
        else
          log.set('html', '<div class="messageresult"><b>' + error_form_title + '</b><br/><br/><br/>' + error_form_text1 + '<br/><br/><br/><b>' + error_form_text2 + '</b></div>');
      }
    });
    //Send the form.
    this.send();
  });

  myMooFlowPage.start();
}

window.addEvent('domready', PageStart);

