<?php
class IndexController extends Zend_Controller_Action
{
    public function indexAction()
    {
        // Variablen an View übergeben
        $this->view->title = "Ãœbersicht";
    }

    public function logoutAction()
    {
        Zend_Auth::getInstance()->clearIdentity();
        Zend_Session::destroy();
        //$this->_helper->FlashMessenger(array('login' => 'Sie haben sich abgemeldet.'));
        $this->_redirect('/');
    }

    public function buildForm1()
    {
        // Form Objekt initialisieren
        $form = new Zend_Form();
        $form->setAction('index/send1')
            ->setMethod('post');

        // Name Element erstellen
        $name = $form->createElement('text', 'name', array('size' => 40, 'maxlength' => 40));
        $name->addValidator('Alpha')
            ->addValidator('StringLength', false, array(1, 40))
            ->setLabel('Name')
            ->setRequired(true);

        // E-Mail Element erstellen
        $email = $form->createElement('text', 'email', array('size' => 40));
        $email->addValidator('EmailAddress')
            ->addValidator('StringLength', false, array(6))
            ->setLabel('E-Mail')
            ->setRequired(true);

        // Kommentar Element erstellen
        $message = $form->createElement('textarea', 'message', array('rows' => 6, 'cols' => 40));
        $message->setLabel('Nachricht')
            ->setRequired(true)
            ->addFilter('StripTags');

        // Land Element erstellen
        $country = $form->createElement('select', 'country', array('size' => 1));
        $country->setLabel('Land')
            ->setRequired(true)
            ->setMultiOptions(array('' => 'Bitte auswählen', 'de' => 'Deutschland', 'at' => 'Österreich', 'ch' => 'Schweiz', '00' => 'anders'));

        // Newsletter Element erstellen
        $newsletter = $form->createElement('checkbox', 'newsletter');
        $newsletter->setLabel('Newsletter?')
            ->setCheckedValue('yes')
            ->setUncheckedValue('no');

        // Geschlecht Element erstellen
        $gender = $form->createElement('radio', 'gender');
        $gender->setLabel('Geschlecht')
            ->addMultiOption('m', 'männlich')
            ->addMultiOption('w', 'weiblich')
            ->addMultiOption('x', 'sag ich nicht')
            ->setRequired(true);

        // Submit Button erstellen
        $submit = $form->createElement('submit', 'send');
        $submit->setLabel('Absenden');

        // Alle Elemente der Form hinzufügen
        $form->addElement($name)
            ->addElement($email)
            ->addElement($message)
            ->addElement($country)
            ->addElement($newsletter)
            ->addElement($gender)
            ->addElement($submit);

        // Form Objekt übergeben
        return $form;
    }

    public function form1Action()
    {
        // Form Objekt erstellen
        $form = $this->buildForm1();

        // Variablen an View übergeben
        $this->view->form = $form;
        $this->view->title = "Kontaktformular 1";

        // View verarbeiten
        $this->render('form');
    }

    public function send1Action()
    {
        // Prüfen ob POST Request
        if (!$this->getRequest()->isPost()) {
            // Zum Formular weiter leiten
            return $this->_forward('form1');
        }

        // Form Objekt erstellen
        $form = $this->buildForm1();

        // Prüfen ob Formulardaten ungültig
        if (!$form->isValid($this->getRequest()->getPost())) {
            // Variablen an View übergeben
            $this->view->form = $form;
            $this->view->title = "Kontaktformular 1";

            // Verarbeitung beenden
            return $this->render('form');
        }

        // Variablen an View übergeben
        $this->view->formValues = $form->getValues();
        $this->view->title = "Deine Eingaben";

        // View verarbeiten
        $this->render('send');
    }

    public function form2Action()
    {
        // Form Objekt erstellen
        $form = new ContactForm2();

        // Variablen an View übergeben
        $this->view->form = $form;
        $this->view->title = "Kontaktformular 2";

        // View verarbeiten
        $this->render('form');
    }

    public function send2Action()
    {
        // Prüfen ob POST Request
        if (!$this->getRequest()->isPost()) {
            // Zum Formular weiter leiten
            return $this->_forward('form2');
        }

        // Form Objekt erstellen
        $form = new ContactForm2();

        // Prüfen ob Formulardaten ungültig
        if (!$form->isValid($this->getRequest()->getPost())) {
            // Variablen an View übergeben
            $this->view->form = $form;
            $this->view->title = "Kontaktformular 2";

            // Verarbeitung beenden
            return $this->render('form');
        }

        // Variablen an View übergeben
        $this->view->formValues = $form->getValues();
        $this->view->title = "Deine Eingaben";

        // View verarbeiten
        $this->render('send');
    }

    public function form3Action()
    {
        /*
        $config = new Zend_Config_Xml('application/navigation/navigation.xml', 'nav');
        $container = new Zend_Navigation($config);
        */
        //$container->findOneByLabel('Sondertransporte')->setActive();
        //$this->view->navigation($container);
        // Form Objekt erstellen
        $form = new ContactForm3();

        // Variablen an View übergeben
        $this->view->form = $form;

        // View verarbeiten
        $this->render('form');
    }

    public function send3Action()
    {
        // Prüfen ob POST Request
        if (!$this->getRequest()->isPost()) {
            // Zum Formular weiter leiten
            return $this->_forward('form3');
        }

        // Form Objekt erstellen
        $form = new ContactForm3();
        $this->view->dataSubmitted = true;
        // Prüfen ob Formulardaten ungültig
        if (!$form->isValid($this->getRequest()->getPost())) {
            // Variablen an View übergeben
            $this->view->form = $form;
            $this->view->title = "Kontaktformular 3";

            // Verarbeitung beenden
            return $this->render('form');
        }

        // Variablen an View übergeben
        $this->view->formValues = $form->getValues();
        $this->view->title = "Deine Eingaben";

        // View verarbeiten
        $this->render('send');


        /*					<cfscript>
                                objValidation = createObject("component","com.Validation").init();
                            </cfscript>
                            <!--- Since We're Doing a Postback --->
                            <cfif isDefined("form.fieldnames")>
                                <cfscript>
                                    objValidation.setFields(form);
                                    objValidation.validate();
                                </cfscript>

                                <cfif objValidation.getErrorCount() is 0 and (session.mycaptcha eq form.captcha)>
        <cfmail from="" to="#application.mail_from();"  subject="ALLE ZIELE-Anfrage">
        +++++++++++++++++++++++++++++++++++++++++++++++++
                      ALLE ZIELE-Anfrage
        +++++++++++++++++++++++++++++++++++++++++++++++++
        Wann: #LSDateFormat(NOW(),'dd.mm.yyyy') ?> um #LSTimeFormat(NOW(),'HH:mm:ss') ?> Uhr

        Name oder Firma: #TRIM(form.Company)#
        Vorname oder Ansprechpartner: #form.Contact#

        Telefon: #TRIM(form.Telefon)#
        Fax: #TRIM(form.Fax)#
        Straße: #TRIM(form.Street)#
        PLZ: #TRIM(form.Zip)#
        Ort: #TRIM(form.city)#

        Anfrage:
        #TRIM(form.Inquiry)#
        </cfmail>
         */
    }

    public function form4Action()
    {
        // Form Objekt erstellen
        $form = new ContactForm4();

        // Variablen an View übergeben
        $this->view->form = $form;
        $this->view->title = Zend_Registry::get('Zend_Translate')->translate('titleContactform') . " 4";

        // View verarbeiten
        $this->render('form');
    }

    public function send4Action()
    {
        // Prüfen ob POST Request
        if (!$this->getRequest()->isPost()) {
            // Zum Formular weiter leiten
            return $this->_forward('form4');
        }

        // Form Objekt erstellen
        $form = new ContactForm4();

        // Prüfen ob Formulardaten ungültig
        if (!$form->isValid($this->getRequest()->getPost())) {
            // Variablen an View übergeben
            $this->view->form = $form;
            $this->view->title = Zend_Registry::get('Zend_Translate')->translate('titleContactform') . " 4";

            // Verarbeitung beenden
            return $this->render('form');
        }

        // Variablen an View übergeben
        $this->view->formValues = $form->getValues();
        $this->view->title = Zend_Registry::get('Zend_Translate')->translate('titleYourInput');

        // View verarbeiten
        $this->render('send');
    }
}