function create_searchpage($template_tag = false, $no_results = false)
 {
     global $config, $lang, $conn;
     require_once $config['basepath'] . '/include/misc.inc.php';
     $misc = new misc();
     // Determine if we are searching for a particular property class
     $class_sql = '';
     if (!isset($_GET['pclass'])) {
         $_GET['pclass'] = '';
     }
     if (is_array($_GET['pclass'])) {
         foreach ($_GET['pclass'] as $c => $class) {
             // Ignore non numberic values
             if (is_numeric($class)) {
                 if (!empty($class_sql)) {
                     $class_sql .= ' OR ';
                 }
                 $class_sql .= $config['table_prefix_no_lang'] . "classformelements.class_id = {$class}";
             } else {
                 unset($_GET['pclass'][$c]);
             }
         }
     }
     // Determine users login status.
     $display_status = false;
     $display_priv = 'listingsformelements_display_priv = 0';
     $display_status = login::loginCheck('Member', true);
     if ($display_status == true) {
         $display_priv = '(listingsformelements_display_priv = 0 OR listingsformelements_display_priv = 1)';
     }
     $display_status = login::loginCheck('Agent', true);
     if ($display_status == true) {
         $display_priv = '(listingsformelements_display_priv = 0 OR listingsformelements_display_priv = 1 OR listingsformelements_display_priv = 2)';
     }
     // Get all searchable fields and display them
     if (empty($class_sql)) {
         $sql = "SELECT listingsformelements_id, listingsformelements_search_label, listingsformelements_search_type, listingsformelements_field_name FROM " . $config['table_prefix'] . "listingsformelements WHERE  listingsformelements_searchable = 1 AND {$display_priv} ORDER BY listingsformelements_search_rank";
     } else {
         $sql = "SELECT DISTINCT(" . $config['table_prefix'] . "listingsformelements.listingsformelements_id), listingsformelements_search_label, listingsformelements_search_type, listingsformelements_field_name, listingsformelements_search_rank FROM " . $config['table_prefix'] . "listingsformelements, " . $config['table_prefix_no_lang'] . "classformelements WHERE " . $config['table_prefix'] . "listingsformelements.listingsformelements_id = " . $config['table_prefix_no_lang'] . "classformelements.listingsformelements_id AND ({$class_sql}) AND listingsformelements_searchable = 1 AND {$display_priv} ORDER BY listingsformelements_search_rank";
     }
     $rs = $conn->Execute($sql);
     if (!$rs) {
         $misc->log_error($sql);
     }
     $field_data = '';
     while (!$rs->EOF) {
         // Check for Translations if needed
         if (!isset($_SESSION["users_lang"])) {
             $search_label = $misc->make_db_unsafe($rs->fields['listingsformelements_search_label']);
         } else {
             $listingsformelements_id = $rs->fields['listingsformelements_id'];
             $lang_sql = "SELECT listingsformelements_search_label FROM " . $config['lang_table_prefix'] . "listingsformelements WHERE listingsformelements_id = {$listingsformelements_id}";
             $lang_recordSet = $conn->Execute($lang_sql);
             if (!$lang_recordSet) {
                 $misc->log_error($lang_sql);
             }
             $search_label = $misc->make_db_unsafe($lang_recordSet->fields['listingsformelements_search_label']);
         }
         $search_type = $misc->make_db_unsafe($rs->fields['listingsformelements_search_type']);
         $field_name = $misc->make_db_unsafe($rs->fields['listingsformelements_field_name']);
         $field_data .= search_page::searchbox_render($search_label, $field_name, $_GET['pclass'], $search_type);
         $rs->MoveNext();
     }
     require_once $config['basepath'] . '/include/class/template/core.inc.php';
     $page = new page_user();
     if (is_array($_GET['pclass'])) {
         $class = $_GET['pclass'][0];
         if (file_exists($config['template_path'] . '/search_page_class_' . $class . '.html')) {
             $page->load_page($config['template_path'] . '/search_page_class_' . $class . '.html');
         } else {
             $page->load_page($config['template_path'] . '/search_page_default.html');
         }
     } else {
         $page->load_page($config['template_path'] . '/search_page_default.html');
     }
     if ($template_tag == true) {
         $page->page = $page->get_template_section('templated_search_form');
     } else {
         $page->page = str_replace('{templated_search_form}', '', $page->page);
         $page->page = str_replace('{/templated_search_form}', '', $page->page);
     }
     $class_inputs = '';
     if (is_array($_GET['pclass'])) {
         foreach ($_GET['pclass'] as $class) {
             $class_inputs .= '<input type="hidden" name="pclass[]" value="' . $class . '" />';
         }
     }
     if ($class_inputs == '') {
         $class_inputs .= '<input type="hidden" name="pclass[]" value="" />';
     }
     $page->page = str_replace('{search_type}', $class_inputs, $page->page);
     $page->replace_tags(array('featured_listings_horizontal', 'featured_listings_vertical'));
     $page->page = $page->parse_template_section($page->page, 'browse_all_listings', search_page::browse_all_listings_link());
     $page->page = $page->parse_template_section($page->page, 'browse_all_listings_pclass', search_page::browse_all_listings_pclass_link());
     $page->page = $page->parse_template_section($page->page, 'search_fields', $field_data);
     $page->page = $page->parse_template_section($page->page, 'agent_searchbox', search_page::searchbox_agentdropdown());
     $page->page = $page->parse_template_section($page->page, 'lat_long_dist_search', search_page::searchbox_latlongdist());
     $page->page = $page->parse_template_section($page->page, 'postalcode_dist_search', search_page::searchbox_postaldist());
     $page->page = $page->parse_template_section($page->page, 'city_dist_search', search_page::searchbox_citydist());
     $ImagesOnlySet = '';
     if (isset($_GET['imagesOnly']) && $_GET['imagesOnly'] == 'yes') {
         $ImagesOnlySet = 'checked="checked"';
     }
     $page->page = $page->parse_template_section($page->page, 'show_only_with_images', '<input type="checkbox" name="imagesOnly" ' . $ImagesOnlySet . ' value="yes" />');
     $VtourOnlySet = '';
     if (isset($_GET['vtoursOnly']) && $_GET['vtoursOnly'] == 'yes') {
         $VtourOnlySet = 'checked="checked"';
     }
     $page->page = $page->parse_template_section($page->page, 'show_only_with_vtours', '<input type="checkbox" name="vtoursOnly" ' . $VtourOnlySet . ' value="yes" />');
     if (isset($_GET['searchtext']) && $_GET['searchtext'] != '') {
         $page->page = $page->parse_template_section($page->page, 'full_text_search', '<input type="text" name="searchtext" value="' . $_GET['searchtext'] . '" />');
     } else {
         $page->page = $page->parse_template_section($page->page, 'full_text_search', '<input type="text" name="searchtext" />');
     }
     if ($no_results == false) {
         $page->replace_template_section('no_search_results_block', '');
     } else {
         $page->page = $page->cleanup_template_block('no_search_results', $page->page);
         // Generate a Saved search link
         $guidestring_no_action = '';
         foreach ($_GET as $k => $v) {
             if ($v != '' && $k != 'cur_page' && $k != 'PHPSESSID' && $k != 'action' && $k != 'printer_friendly' && $k != 'template') {
                 if (is_array($v)) {
                     foreach ($v as $vitem) {
                         $guidestring_no_action .= '&amp;' . urlencode("{$k}") . '[]=' . urlencode("{$vitem}");
                     }
                 } else {
                     $guidestring_no_action .= '&amp;' . urlencode("{$k}") . '=' . urlencode("{$v}");
                 }
             }
         }
         $save_search_link = 'index.php?action=save_search' . $guidestring_no_action;
         $page->page = $page->parse_template_section($page->page, 'save_search_link', $save_search_link);
     }
     return $page->page;
 }