/**
  * 
  */
 public function insuredAddressAction()
 {
     $pageSession = new Zend_Session_Namespace('portfolio_insurance_quote');
     // Append the address lookup javascript
     $this->view->headScript()->appendFile('/assets/common/js/addressLookup.js', 'text/javascript');
     // Tell page to use AJAX validation as we go
     $this->view->headScript()->appendScript('var ajaxValidate = true; var ajaxValidatePage = "add";');
     $pageForm = new Form_PortfolioInsuranceQuote_insuredAddress();
     if ($this->getRequest()->isPost()) {
         $request = $this->getRequest();
         $postdata = $request->getPost();
         $valid = $pageForm->isValid($postdata);
         if ($valid) {
             /**************************/
             // Create a new property manager and a new property data object
             $property = new Manager_Insurance_Portfolio_Property();
             $propertyObject = new Model_Insurance_Portfolio_Property();
             $cleanData = $pageForm->getValues();
             // According to the Zend manual these *should* be the clean values
             $propertyObject->building = $cleanData['ins_house_number_name'];
             $propertyObject->buildingsAccidentalDamage = $cleanData['buildings_accidental_damage'];
             $propertyObject->buildingsNilExcess = $cleanData['buildings_nil_excess'];
             $propertyObject->buildingsSumInsured = $cleanData['buildings_cover'];
             $propertyObject->contentsAccidentalDamage = $cleanData['contents_accidental_damage'];
             $propertyObject->contentsNilExcess = $cleanData['contents_nil_excess'];
             $propertyObject->contentsSumInsured = $cleanData['contents_cover'];
             // $propertyObject->id
             $propertyObject->limitedContents = $cleanData['limited_contents'];
             // if we are editing this will be set
             if (isset($cleanData['propertyid'])) {
                 $propertyObject->id = $cleanData['propertyid'];
             }
             // Populate the propertyObject property details
             $propertyObject->address1 = $cleanData["ins_address_line1"];
             $propertyObject->address2 = $cleanData["ins_address_line2"];
             $propertyObject->address3 = $cleanData["ins_address_line3"];
             $propertyObject->postcode = $property->formatPostcode($cleanData["ins_postcode"]);
             $propertyObject->refno = $pageSession->CustomerRefNo;
             $propertyObject->tenantOccupation = $cleanData['employment_status'];
             $lastId = $property->save($propertyObject);
             // Everything has been saved ok so navigate to next step
             $this->_helper->redirector->gotoUrl('/portfolio/insurance-quote/step2');
             exit;
         } elseif (isset($_POST['cancel'])) {
             $this->_formStepCommonNavigate('2');
             return;
         }
     } elseif (isset($_GET['id'])) {
         $this->_formStepCommonPopulate($pageForm, 'editInsuredAddress');
     }
     // Load the element data from the database if we can
     if ($this->_formStepCommonPopulate($pageForm, 'add')) {
         // Render the page unless we have been redirected
         $this->view->form = $pageForm;
         $this->render('step');
     }
 }
 /**
  * TODO: Document this
  * @param
  * @return
  * @author John Burrin
  * @since
  */
 public function updatePropertyAction()
 {
     $pageSession = new Zend_Session_Namespace('portfolio_insurance_quote');
     $customerReferenceNumber = $pageSession->CustomerRefNo;
     $ajaxForm = new Form_PortfolioInsuranceQuote_editPropertyDialog();
     $return = array();
     $request = $this->getRequest();
     $postdata = $request->getPost();
     $return['success'] = false;
     $ajaxForm->isValid($postdata);
     $return['errorObject'] = $ajaxForm->getMessages();
     if ($ajaxForm->isValid($postdata)) {
         $cleanData = $ajaxForm->getValues();
         // According to the Zend manual these *should* be the clean values
         $propertyArray = array();
         $propertyManager = new Manager_Insurance_Portfolio_Property();
         $dataObject = new Model_Insurance_Portfolio_Property();
         if (isset($postdata['propertyid'])) {
             $dataObject->id = $cleanData['propertyid'];
         }
         if (isset($customerReferenceNumber)) {
             $dataObject->refno = $customerReferenceNumber;
         }
         if (isset($postdata['ins_house_number_name'])) {
             $dataObject->building = $cleanData['ins_house_number_name'];
         }
         if (isset($postdata['ins_postcode'])) {
             $dataObject->postcode = $propertyManager->formatPostcode($cleanData['ins_postcode']);
         }
         if (isset($postdata['employment_status'])) {
             $dataObject->tenantOccupation = $cleanData['employment_status'];
         }
         if (isset($postdata['buildings_cover'])) {
             $dataObject->buildingsSumInsured = $cleanData['buildings_cover'];
         }
         if (isset($postdata['buildings_accidental_damage'])) {
             $dataObject->buildingsAccidentalDamage = $cleanData['buildings_accidental_damage'];
         }
         if (isset($postdata['buildings_nil_excess'])) {
             $dataObject->buildingsNilExcess = $cleanData['buildings_nil_excess'];
         }
         if (isset($postdata['contents_cover'])) {
             $dataObject->contentsSumInsured = $cleanData['contents_cover'];
         }
         if (isset($postdata['contents_accidental_damage'])) {
             $dataObject->contentsAccidentalDamage = $cleanData['contents_accidental_damage'];
         }
         if (isset($postdata['contents_nil_excess'])) {
             $dataObject->contentsNilExcess = $cleanData['contents_nil_excess'];
         }
         if (isset($postdata['limited_contents'])) {
             $dataObject->limitedContents = $cleanData['limited_contents'];
         }
         $address = new Manager_Core_Postcode();
         $return['address'] = $address->getPropertyByID($cleanData['ins_address']);
         $dataObject->houseNumber = $return['address']['houseNumber'];
         $dataObject->building = $return['address']['buildingName'];
         $dataObject->address1 = $return['address']['address1'];
         $dataObject->address2 = $return['address']['address2'];
         $dataObject->address3 = $return['address']['address3'];
         $dataObject->address4 = $return['address']['address4'];
         $dataObject->address5 = $return['address']['address5'];
         $dataObject->postcode = $property->formatPostcode($cleanData['ins_postcode']);
         $dataObject->refno = $pageSession->CustomerRefNo;
         $dataObject->tenantOccupation = $dataObject->tenantOccupation;
         // Do the update stuffs
         $propertyManager->save($dataObject);
         // need to tell the view we are on step 2
         $this->view->stepNum = 2;
         // Get the properties to shove back into the page
         $propertyArray = $propertyManager->fetchAllProperties($customerReferenceNumber);
         $return['html'] = $this->view->partialLoop('portfolio-insurance-quote/partials/property-list.phtml', $propertyArray);
         $return['success'] = true;
         $return['propNumb'] = count($propertyArray->toArray());
     }
     echo Zend_Json::encode($return);
 }