How Do I Retain Pagination In Clistview From Form Submission

I cannot maintain pagination in clistview from a submitted form.

I know that when page 2 or next link is clicked the form variables are lost. I have tried saving the $_POST information into a session variable. This solves the form submitted pagination but creates another; how to know when to unset the session variable if the user changes their form submission or clicks the link to show all.

How can I make it work?

Model, Controller and View code:

Thanks in advance.