<?php

/**
 * Description of SingIn
 *
 * @author janusz
 */
class Newsletter_Form_SingIn extends Eppe_Form {

	protected $_disableLoadDefaultDecoratorsForFields = true;

	const recordExist = '<div class="newsletter-block newsletter-already-done">
                        <span class="bold">Ten adres e-mail znajduje się  już w naszej bazie.</span> 
			Dziękujemy za zapisanie się!
                    </div>';
	const wrongEmail = '<div class="newsletter-block newsletter-error">
                        <span class="bold">Wystąpił błąd.</span> 
			Prosimy o poprawienie adresu e-mail w poniższym polu.
                    </div>';
	const fillFields = '<div class="newsletter-block newsletter-error">
                        <span class="bold">Wystąpił błąd.</span> 
			Prosimy o uzupełnienie wszystkich pól.
                    </div>';

	public function init() {

		$this->setAttrib('id', 'newsletter-form');
		$this->setMethod('post');

		$element = new Zend_Form_Element_Text('name', array(
		    'class' => 'regular-long',
		    'placeholder' => 'Imię i nazwisko',
		    'validators' => array(
			new Eppe_Validate_NotEmpty(array('eppe-messages' => self::fillFields))
		    ),
		    'filters' => array(
			new Zend_Filter_StripTags(),
			new Zend_Filter_StringTrim(),
		    ),
		    'required' => true
		));

		$this->addElement($element);

		$element = new Zend_Form_Element_Text('number', array(
		    'class' => 'regular-long',
		    'placeholder' => 'Nr prawa wykonywania zawodu',
		    'validators' => array(
			new Eppe_Validate_NotEmpty(array('eppe-messages' => self::fillFields))
		    ),
		    'filters' => array(
			new Zend_Filter_StringTrim(),
		    ),
		    'required' => true
		));

		$this->addElement($element);
		$element = new Zend_Form_Element_Text('email', array(
		    'class' => 'regular',
		    'placeholder' => 'Adres e-mail',
		    'validators' => array(
			array(new Eppe_Validate_NotEmpty(array('eppe-messages' => self::fillFields)), true),
			array(new Eppe_Validate_EmailAddress(array('eppe-messages' => self::wrongEmail)), true),
			new Eppe_Validate_Db_NoRecordExists(['bean' => 'nluser', 'column' => 'email', 'eppe-messages' => self::recordExist])
		    ),
		    'filters' => array(
			new Zend_Filter_StripTags(),
			new Zend_Filter_StringTrim(),
			new Zend_Filter_StringToLower()
		    ),
		    'required' => true
		));

		$this->addElement($element);
	}

}
