public function register()
 {
     $data['message1'] = "";
     $data['message2'] = "";
     $this->form_validation->set_rules('email', 'Email', 'trim|required|valid_email|max_length[60]|xxs_clean');
     $this->form_validation->set_rules('firstname', 'First name', 'trim|required|max_length[30]|min_length[2]');
     $this->form_validation->set_rules('lastname', 'Last name', 'trim|required|max_length[30]|min_length[2]');
     $this->form_validation->set_rules('passwd', 'Password', 'trim|required|matches[cnfpasswd]|max_length[16]|min_length[5]|md5');
     $this->form_validation->set_rules('cnfpasswd', 'Confirm password', 'trim|required|max_length[16]|md5');
     if ($this->form_validation->run() == TRUE) {
         if (ctype_alpha($this->input->post('firstname')) && ctype_alpha($this->input->post('lastname'))) {
             $user = new User_info();
             $user->user_email = $this->input->post('email');
             $user->user_name = $this->input->post('email');
             $user->password = $this->input->post('passwd');
             $user->first_name = $this->input->post('firstname');
             $user->last_name = $this->input->post('lastname');
             $user->verify_code = mt_rand(999999, 99999999);
             if ($user->register()) {
                 /**********Send email verification**************/
                 Guest::sendMail($user->email, $user->first_name, $user->verify_code);
                 Guest::setSession($user->user_email);
                 Guest::recordLoginEvent("Successful", $user->user_email);
                 $url = base_url() . "user/index/";
                 redirect($url, 'Location');
             } else {
                 $data['message1'] = "Email already registered.";
                 $data['message2'] = "retry";
             }
         } else {
             $data['message1'] = "First & Last Name must be valid.";
             $data['message2'] = "retry";
         }
     } else {
         if (isset($_POST['email'])) {
             $data['message2'] = "retry";
         }
     }
     $this->load->view('guest/header', $data);
     $this->load->view('guest/register', $data);
     $this->load->view('guest/footer', $data);
 }