<?php

namespace OfficeBrain\Bundle\OrderBundle\Form;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
use Symfony\Component\Validator\Constraints as Assert;

class GuestUserType extends AbstractType
{
    /**
     * @param FormBuilderInterface $builder
     * @param array $options
     */
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('firstName','text', array(
            'required'=>true,'attr'=>array('placeholder'=>''),'constraints' => 
            array(
            		new Assert\NotBlank(array('message' => 'guest_user.first_name.not_blank')),
            	)
            ))
            ->add('email','text', array(
            'required'=>true,'attr'=>array('placeholder'=>''),
            'constraints' => array(
            new Assert\NotBlank(array('message' => 'guest_user.email.not_blank')),
			new Assert\Regex(array(
            	'pattern' => '/^[a-zA-Z0-9_\.\+\-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-]+$/',
            	'message' => 'guest_user.email.invalid',
            )),
            )))
            ->add('zipcode','text', array(
            'required'=>true,'attr'=>array('placeholder'=>''),'constraints' => array(new Assert\NotBlank(array('message' => 'guest_user.zip_code.not_blank')),
            )))
            ->add('phone','text', array(
            'required'=>true,'attr'=>array('placeholder'=>''),'constraints' => array(new Assert\NotBlank(array('message' => 'guest_user.phone.not_blank')),
            )))
            ->add('companyName','text', array(
            'required'=>true,'attr'=>array('placeholder'=>''),'constraints' => array(new Assert\NotBlank(array('message' => 'guest_user.company_name.not_blank')),
            )))
            /* ->add('country')
            ->add('state')
            ->add('city') */
        ;
    }
    
    /**
     * @param OptionsResolverInterface $resolver
     */
    public function setDefaultOptions(OptionsResolverInterface $resolver)
    {
        $resolver->setDefaults(array(
            'data_class' => null
        ));
    }

    /**
     * @return string
     */
    public function getName()
    {
        return 'guestuser';
    }
}
