Index: /branches/version-2_5-dev/data/class/pages/entry/LC_Page_Entry_EmailMobile.php
===================================================================
--- /branches/version-2_5-dev/data/class/pages/entry/LC_Page_Entry_EmailMobile.php	(revision 19870)
+++ /branches/version-2_5-dev/data/class/pages/entry/LC_Page_Entry_EmailMobile.php	(revision 20085)
@@ -44,4 +44,7 @@
     function init() {
         parent::init();
+
+        $this->objFormParam = new SC_FormParam();
+        $this->lfInitParam();
     }
 
@@ -62,16 +65,13 @@
      */
     function action() {
-        $objCustomer = new SC_Customer;
-        $objFormParam = new SC_FormParam;
-
-        $this->lfInitParam($objFormParam);
+        $objCustomer    = new SC_Customer;
 
         if ($_SERVER['REQUEST_METHOD'] == 'POST') {
-            $objFormParam->setParam($_POST);
-            $objFormParam->convParam();
-            $this->arrErr = $this->lfCheckError($objFormParam, $objCustomer);
+            $this->objFormParam->setParam($_POST);
+            $this->objFormParam->convParam();
+            $this->arrErr = $this->lfCheckError($objCustomer);
 
             if (empty($this->arrErr)) {
-                $this->lfRegister($objFormParam, $objCustomer);
+                $this->lfRegister($objCustomer);
                 $this->tpl_mainpage = 'entry/email_mobile_complete.tpl';
                 $this->tpl_title = '携帯メール登録完了';
@@ -80,5 +80,5 @@
 
         $this->tpl_name = $objCustomer->getValue('name01');
-        $this->arrForm = $objFormParam->getFormParamList();
+        $this->arrForm  = $this->objFormParam->getFormParamList();
     }
 
@@ -93,49 +93,47 @@
 
 
-    function lfInitParam(&$objFormParam) {
-        $objFormParam->addParam('メールアドレス', 'email_mobile', MTEXT_LEN, 'a',
+    /**
+     * lfInitParam
+     *
+     * @param mixed $objFormParam
+     * @access public
+     * @return void
+     */
+    function lfInitParam() {
+        $this->objFormParam->addParam('メールアドレス', 'email_mobile', MTEXT_LEN, 'a',
                                 array('NO_SPTAB', 'EXIST_CHECK', 'MAX_LENGTH_CHECK', 'CHANGE_LOWER', 'EMAIL_CHAR_CHECK', 'EMAIL_CHECK', 'MOBILE_EMAIL_CHECK'));
     }
 
-    function lfCheckError(&$objFormParam, &$objCustomer) {
-        $arrRet = $objFormParam->getHashArray();
-        $objErr = new SC_CheckError($arrRet);
-        $objErr->arrErr = $objFormParam->checkError();
+    /**
+     * lfCheckError
+     *
+     * @param mixed $objFormParam
+     * @param mixed $objCustomer
+     * @access public
+     * @return void
+     */
+    function lfCheckError(&$objCustomer) {
+        $arrRet         = $this->objFormParam->getHashArray();
+        $objErr         = new SC_CheckError($arrRet);
+        $objErr->arrErr = $this->objFormParam->checkError();
 
-        if (count($objErr->arrErr) > 0) {
-            return $objErr->arrErr;
-        }
-
-        $email_mobile = strtolower($objFormParam->getValue('email_mobile'));
-        $customer_id = $objCustomer->getValue('customer_id');
-        $objQuery = new SC_Query();
-        // TODO ORDER BY del_flg は必要?
-        $arrRet = $objQuery->select('email, email_mobile, update_date, del_flg', 'dtb_customer', '(email = ? OR email_mobile = ?) AND customer_id <> ? ORDER BY del_flg', array($email_mobile, $email_mobile, $customer_id));
-
-        if (count($arrRet) > 0) {
-            if ($arrRet[0]['del_flg'] != '1') {
-                // 会員である場合
-                $objErr->arrErr['email_mobile'] .= '※ すでに登録されているメールアドレスです。<br>';
-            } else {
-                // 退会した会員である場合
-                $leave_time = SC_Utils_Ex::sfDBDatetoTime($arrRet[0]['update_date']);
-                $now_time = time();
-                $pass_time = $now_time - $leave_time;
-                // 退会から何時間-経過しているか判定する。
-                $limit_time = ENTRY_LIMIT_HOUR * 3600;
-                if ($pass_time < $limit_time) {
-                    $objErr->arrErr['email_mobile'] .= '※ 退会から一定期間の間は、同じメールアドレスを使用することはできません。<br>';
-                }
-            }
-        }
+        $objErr->doFunc(array("メールアドレス", "email_mobile"), array("CHECK_REGIST_CUSTOMER_EMAIL"));
 
         return $objErr->arrErr;
     }
 
-    function lfRegister(&$objFormParam, &$objCustomer) {
-        $customer_id = $objCustomer->getValue('customer_id');
-        $email_mobile = strtolower($objFormParam->getValue('email_mobile'));
+    /**
+     * lfRegister
+     *
+     * @param mixed $objFormParam
+     * @param mixed $objCustomer
+     * @access public
+     * @return void
+     */
+    function lfRegister(&$objCustomer) {
+        $customer_id    = $objCustomer->getValue('customer_id');
+        $email_mobile   = strtolower($this->objFormParam->getValue('email_mobile'));
 
-        $objQuery = new SC_Query();
+        $objQuery       = new SC_Query();
         $objQuery->update('dtb_customer', array('email_mobile' => $email_mobile), 'customer_id = ?', array($customer_id));
 
Index: /branches/version-2_5-dev/data/class/pages/entry/LC_Page_Entry.php
===================================================================
--- /branches/version-2_5-dev/data/class/pages/entry/LC_Page_Entry.php	(revision 20082)
+++ /branches/version-2_5-dev/data/class/pages/entry/LC_Page_Entry.php	(revision 20085)
@@ -329,15 +329,6 @@
 
         // 現会員の判定 → 現会員もしくは仮登録中は、メアド一意が前提になってるので同じメアドで登録不可
-        $register_user_flg =  SC_Helper_Customer_Ex::sfCheckRegisterUserFromEmail($arrRet["email"]);
-        switch($register_user_flg) {
-            case 1:
-                $objErr->arrErr["email"] .= "※ すでに会員登録で使用されているメールアドレスです。<br />";
-                break;
-            case 2:
-                $objErr->arrErr["email"] .= "※ 退会から一定期間の間は、同じメールアドレスを使用することはできません。<br />";
-                break;
-            default:
-                break;
-        }
+        $objErr->doFunc(array("メールアドレス", "email"), array("CHECK_REGIST_CUSTOMER_EMAIL"));
+
         return $objErr->arrErr;
     }
Index: /branches/version-2_5-dev/data/class/SC_CheckError.php
===================================================================
--- /branches/version-2_5-dev/data/class/SC_CheckError.php	(revision 19856)
+++ /branches/version-2_5-dev/data/class/SC_CheckError.php	(revision 20085)
@@ -795,5 +795,5 @@
         // 年が入力されている。
         if ($this->arrParam[$value[1]] > 0) {
-            
+
             // 年の数字チェック、最小数値制限チェック
             $this->doFunc(array($value[0].'(年)', $value[1], START_BIRTH_YEAR), array("NUM_CHECK", "MIN_CHECK"));
@@ -802,5 +802,5 @@
                 return;
             }
-            
+
             // 年の最大数値制限チェック
             $this->doFunc(array($value[0].'(年)', $value[1], date("Y",strtotime("now"))), array("MAX_CHECK"));
@@ -810,5 +810,5 @@
             }
         }
-        
+
         // XXX createParam() が二重に呼ばれる問題を抱える
         $this->CHECK_DATE($value);
@@ -985,4 +985,25 @@
         }
     }
+
+    function CHECK_REGIST_CUSTOMER_EMAIL ($value) {
+        if(isset($this->arrErr[$value[1]])) {
+            return;
+        }
+        $this->createParam($value);
+
+        $register_user_flg =  SC_Helper_Customer_Ex::sfCheckRegisterUserFromEmail($this->arrParam[$value[1]]);
+        switch($register_user_flg) {
+            case 1:
+                $this->arrErr[$value[1]] .= "※ すでに会員登録で使用されている" . $value[0] . "です。<br />";
+                break;
+            case 2:
+                $this->arrErr[$value[1]] .= "※ 退会から一定期間の間は、同じ" . $value[0] . "を使用することはできません。<br />";
+                break;
+            default:
+                break;
+        }
+    }
+
+
     /**
      * 禁止文字列のチェック
Index: /branches/version-2_5-dev/data/class/helper/SC_Helper_Customer.php
===================================================================
--- /branches/version-2_5-dev/data/class/helper/SC_Helper_Customer.php	(revision 20074)
+++ /branches/version-2_5-dev/data/class/helper/SC_Helper_Customer.php	(revision 20085)
@@ -173,27 +173,24 @@
         $return = 0;
 
-        $objCustomer = new SC_Customer();
-        $objQuery =& SC_Query::getSingletonInstance();
-
-        $arrRet = $objQuery->select("email, update_date, del_flg"
-                                    ,"dtb_customer"
-                                    ,"email = ? OR email_mobile = ? ORDER BY del_flg"
-                                    ,array($email, $email)
-                                    );
+        $objCustomer    = new SC_Customer();
+        $objQuery       =& SC_Query::getSingletonInstance();
+
+        $arrRet         = $objQuery->select("email, update_date, del_flg",
+                                            "dtb_customer",
+                                            "email = ? OR email_mobile = ? ORDER BY del_flg",
+                                            array($email, $email));
 
         if(count($arrRet) > 0) {
             if($arrRet[0]['del_flg'] != '1') {
                 // 会員である場合
-                if (!isset($objErr->arrErr['email'])) $objErr->arrErr['email'] = "";
                 $return = 1;
             } else {
                 // 退会した会員である場合
                 $leave_time = SC_Utils_Ex::sfDBDatetoTime($arrRet[0]['update_date']);
-                $now_time = time();
-                $pass_time = $now_time - $leave_time;
+                $now_time   = time();
+                $pass_time  = $now_time - $leave_time;
                 // 退会から何時間-経過しているか判定する。
                 $limit_time = ENTRY_LIMIT_HOUR * 3600;
                 if($pass_time < $limit_time) {
-                    if (!isset($objErr->arrErr['email'])) $objErr->arrErr['email'] = "";
                     $return = 2;
                 }
@@ -203,13 +200,12 @@
         // ログインしている場合、すでに登録している自分のemailの場合はエラーを返さない
         if ($objCustomer->getValue('customer_id')){
-            $arrRet = $objQuery->select("email, email_mobile"
-                            ,"dtb_customer"
-                            ,"customer_id = ? ORDER BY del_flg"
-                            ,array($objCustomer->getValue('customer_id'))
-                            );
-            if ($email == $arrRet[0]["email"]
-                || $email == $arrRet[0]["email_mobile"]){
-                    $return = 3;
-                }
+            $arrRet = $objQuery->select("email, email_mobile",
+                                        "dtb_customer",
+                                        "customer_id = ? ORDER BY del_flg",
+                                        array($objCustomer->getValue('customer_id')));
+
+            if ($email == $arrRet[0]["email"] || $email == $arrRet[0]["email_mobile"]) {
+                $return = 3;
+            }
         }
         return $return;
