function fetchTeam($mode = 'fullPage', $page = '', $option = '')
 {
     // fetches team subtab via ajax
     switch ($page) {
         case 'team':
             require_once PATH_FACEBOOK . '/pages/pageTeam.class.php';
             $teamObj = new pageTeam($this);
             $code = $teamObj->fetch($mode, $option);
             break;
         case 'wall':
             require_once PATH_FACEBOOK . '/pages/pageWall.class.php';
             $wallObj = new pageWall($this);
             $code = $wallObj->fetch($mode, $option, $arg3);
             break;
         case 'rewards':
             require_once PATH_FACEBOOK . '/pages/pageRewards.class.php';
             $prizesObj = new pageRewards($this);
             $code = $prizesObj->fetch($mode);
             break;
         case 'winners':
             require_once PATH_FACEBOOK . '/pages/pageRewards.class.php';
             $prizesObj = new pageRewards($this);
             $code = $prizesObj->fetch($mode, 'winners');
             break;
         case 'challenges':
             require_once PATH_FACEBOOK . '/pages/pageChallenges.class.php';
             $challengesObj = new pageChallenges($this);
             $code = $challengesObj->fetch($mode);
             break;
         case 'challengeSubmit':
             require_once PATH_FACEBOOK . '/pages/pageChallengeSubmit.class.php';
             $challengeSubmitObj = new pageChallengeSubmit($this);
             $code = $challengeSubmitObj->fetch($mode);
             break;
         case 'leaders':
             require_once PATH_FACEBOOK . '/pages/pageLeaders.class.php';
             $leadersObj = new pageLeaders($this);
             $code = $leadersObj->fetch($mode, $option);
             break;
         case 'rules':
             require_once PATH_FACEBOOK . '/pages/pageRules.class.php';
             $rulesObj = new pageRules($this);
             $code = $rulesObj->fetch($mode);
             break;
         case 'redeem':
             // check auth for member
             require_once PATH_FACEBOOK . '/pages/pageRedeem.class.php';
             $redeemObj = new pageRedeem($this);
             $code = $redeemObj->fetch($mode);
             break;
         case 'orders':
             // check auth for member
             require_once PATH_FACEBOOK . '/pages/pageOrders.class.php';
             $ordersObj = new pageOrders($this);
             $code = $ordersObj->fetch($mode);
             break;
     }
     return $code;
 }
    function fetch($mode = 'fullPage')
    {
        // build the prizes page
        if (isset($_GET['currentPage'])) {
            $currentPage = $_GET['currentPage'];
        } else {
            $currentPage = 1;
        }
        if (isset($_GET['id'])) {
            $id = $_GET['id'];
        } else {
            $id = NULL;
        }
        if (isset($_GET['step'])) {
            $step = $_GET['step'];
        } else {
            $step = NULL;
        }
        if (isset($_GET['message'])) {
            $message = $_GET['message'];
        } else {
            $message = '';
        }
        if ($_GET['debug']) {
            echo '<pre>' . print_r($_GET, true) . '</pre>';
        }
        require_once PATH_FACEBOOK . '/classes/actionTeam.class.php';
        $this->teamObj = new actionTeam($this->page);
        $tabs .= $this->teamObj->buildSubNav('rewards');
        $inside = '<div id="col_left"><!-- begin left side -->';
        require_once PATH_CORE . '/classes/prizes.class.php';
        $rewards = new rewards($this->db);
        require_once PATH_CORE . '/classes/prizes.class.php';
        $pt = new PrizeTable($this->db);
        $prize = $pt->getRowObject();
        if ($step == 'submit') {
            $id = $_POST['prizeid'];
        }
        if (!$id || !$prize->load($id)) {
            $inside .= 'Error: cannot redeem a prize with no id specified';
        } else {
            $inside .= $rewards->fetchRewardDetail($id, true);
            if ($step != 'submit') {
                if (!$this->checkOrderPossible(&$prize, &$this->page->session->u, &$this->page->session->ui, $message)) {
                    $inside .= $this->page->buildMessage('error', "There is a problem redeeming this prize", $message);
                } else {
                    // order form
                    $inside .= $this->buildOrderForm(&$prize, &$this->page->session->u, &$this->page->session->ui);
                }
            } else {
                // repopulate form with get vars
                $user =& $this->page->session->u;
                $userinfo =& $this->page->session->ui;
                //$user->email = $_GET['email'];
                $uipostfields = array('address1', 'address2', 'city', 'state', 'phone', 'zip');
                //echo '<pre>'.print_r($_POST, true). '</pre>';
                foreach ($uipostfields as $field) {
                    if (isset($_POST[$field])) {
                        $userinfo->{$field} = $_POST[$field];
                    }
                }
                $userinfo->update();
                // sync updated address info to database
                //echo '<pre>'.print_r($userinfo, true). '</pre>';
                $message = '';
                if (!$this->validateOrderFields($prize, $user, $userinfo, $message)) {
                    $inside .= $this->page->buildMessage('error', "There was a problem with your submission", $message);
                    $inside .= $this->buildOrderForm(&$prize, &$this->page->session->u, &$this->page->session->ui);
                } else {
                    // success
                    $orderid = $this->processPrizeOrder($prize->id, $user->userid, $message);
                    // TODO: make this function a bit faster by using whats stored in the session
                    if (!$orderid) {
                        $inside .= $this->page->buildMessage('error', "There was a problem redeeming this prize", $message);
                    } else {
                        $inside .= $this->page->buildMessage('success', "Order received", $message);
                        require_once PATH_FACEBOOK . '/pages/pageOrders.class.php';
                        $orders = new pageOrders($this->page);
                        $inside .= '<div class="panel_1">' . '<div class="panelBar clearfix">
								<h2>Order Details</h2>
								<div class="bar_link"><a href="?p=orders" onclick="setTeamTab(\'orders\'); return false;">See all</a></div>
								</div><!__end "panelBar"__>' . $orders->fetchOrderDetail($orderid) . '</div><!-- end panel_1 -->';
                    }
                }
            }
        }
        $inside .= '</div><!-- end left side --><div id="col_right">';
        $inside .= $this->teamObj->fetchSidePanel('challenges');
        $inside .= '</div> <!-- end right side -->';
        //$inside.='<input type="hidden" id="pagingFunction" value="fetchChallenges">';
        if ($mode == 'teamWrap') {
            return $inside;
        }
        $inside = $tabs . '<div id="teamWrap">' . $inside . '<!-- end teamWrap --></div>';
        if ($this->page->isAjax) {
            return $inside;
        }
        $code = $this->page->constructPage('team', $inside, '');
        return $code;
    }