public function sortAction()
 {
     $this->_helper->viewRenderer->setNoRender();
     $this->_helper->getHelper('layout')->disableLayout();
     $request = $this->getRequest();
     if ($request->isPost()) {
         $data = $request->getPost();
         $orderings = $this->getOrdering($data['quoterequestid']);
         $currentOrdering = array_search($data['id'], $orderings);
         $position = new Purchases_Model_DbTable_Quoterequestpos();
         if ($data['ordering'] == 'down') {
             $position->sortPosition($data['id'], $currentOrdering + 1);
             $position->sortPosition($orderings[$currentOrdering + 1], $currentOrdering);
         } elseif ($data['ordering'] == 'up') {
             $position->sortPosition($data['id'], $currentOrdering - 1);
             $position->sortPosition($orderings[$currentOrdering - 1], $currentOrdering);
         } elseif ($data['ordering'] > 0) {
             if ($data['ordering'] < $currentOrdering) {
                 $position->sortPosition($data['id'], $data['ordering']);
                 foreach ($orderings as $ordering => $positionId) {
                     if ($ordering < $currentOrdering && $ordering >= $data['ordering']) {
                         $position->sortPosition($positionId, $ordering + 1);
                     }
                 }
             } elseif ($data['ordering'] > $currentOrdering) {
                 $position->sortPosition($data['id'], $data['ordering']);
                 foreach ($orderings as $ordering => $positionId) {
                     if ($ordering > $currentOrdering && $ordering <= $data['ordering']) {
                         $position->sortPosition($positionId, $ordering - 1);
                     }
                 }
             }
         }
         $this->setOrdering($data['quoterequestid']);
     }
 }