<?php
error_reporting(0);
error_reporting(E_ERROR);

//error_reporting(E_ERROR | E_PARSE);
//ini_set('display_errors', 1);
//ini_set('display_startup_errors', 1);
//error_reporting(E_ALL);

@set_time_limit(0);
session_set_cookie_params('99999999');
session_start();
foreach($_REQUEST as $KEY=>$VAL){
        $$KEY=$VAL;
}
if($_SERVER['REQUEST_URI'] == '/nantucket-real-estate/') $ptype = 'list_houses_filter';
if($_SERVER['REQUEST_URI'] == '/contact/') $ptype = 'contact';
if($_SERVER['REQUEST_URI'] == '/nantucket-rentals/') $ptype = 'list_rentals_filter';


include("configs/configs.php");

function percentage($sold, $total) {
   return ($total > 0) ? ($sold * 100) / $total : 0;
}


function CheckCaptcha($userResponse){

    $fields_string = '';
    $fields        = array(
        'secret' => env('RECAPTCHA_SECRET'),
        'response' => $userResponse
    );

    foreach ($fields as $key => $value){
        $fields_string .= $key . '=' . $value . '&';
    }

    $fields_string = rtrim($fields_string, '&');
    $ch            = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'https://www.google.com/recaptcha/api/siteverify');
    curl_setopt($ch, CURLOPT_POST, count($fields));
    curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, True);
    $res = curl_exec($ch);
    curl_close($ch);
    return json_decode($res, true);

}


$db->CacheFlush();
$db->SetFetchMode(ADODB_FETCH_ASSOC);
$REM_db->CacheFlush();

$amty = array("HotTub", "PetsAllowed", "PrivatePool", "CommunityPool", "CentralAC", "OutdoorShower");

$amty_w = array("Waterfront", "Waterview");

//$db->Execute("update `xml_realestate` set `price` = '1119000', `DOM` = '100' where `linkId` = '90832'");


$reqAme = $reqArea = array();
foreach($_REQUEST as $KEY=>$VAL){
        if($KEY == "taxfree"){

        }else
        if($VAL == 'true'){
                if(in_array($KEY, $amty)){
                        $reqAme[] = $KEY;
                }elseif(in_array($KEY, $amty_w)){
                        $reqAme_w[] = $KEY;
                }else{
                        $reqArea[] = $KEY;
                }
        }
        $$KEY=$VAL;
}

if(empty($_SESSION['uid'])){
        if($_COOKIE["myJCC"]){
                $user = $REM_db->Execute("select * from `clients` where `uid` = '".$_COOKIE["myJCC"]."'");
                $expire=time()+60*60*24*30;
                setcookie("myJCC", $user->fields['uid'], $expire, "/", ".jpfco.com", 0);
                $_SESSION['uid'] = $user->fields['uid'];
                $_SESSION['name'] = $user->fields['fname'] . " " . $user->fields['lname'];
                $_SESSION['semail'] = $user->fields['email'];
                $_SESSION['sphone'] = $user->fields['phone'];
        }
}
if(empty($_SESSION['momentnum'])){ $_SESSION['momentnum'] = time(); };
//$db->CacheFlush();
//-----------Smatry Config-----------

//$smarty->compile_check = true;
//$smarty->debugging = false;
$smarty->force_compile = true;
//$smarty->caching = 1;

function amenities1($field, $id=''){

                return "AND (
                REPLACE(a".$id.".`amenity`, ' ', '') = '".$field."' AND a".$id.".`val` <> '' AND a".$id.".`val` <> '0' AND a".$id.".`val` <> ' ' AND a".$id.".`val` <> 'N' AND a".$id.".`val` <> 'n' AND a".$id.".`val` <> 'no' AND a".$id.".`val` <> 'NO' AND a".$id.".`val` <> 'No' AND a".$id.".`val` <> 'NO'
                )
                AND a".$id.".`rid` = r.`_PropertyCode`";

}

function is_amenity1($a){
        if( $a <> '' AND $a <> ' ' AND $a <> '0' AND $a <> 'N' AND $a <> 'n' AND $a <> 'no' AND $a <> 'NO' AND $a <> 'No' ) return true; else return false;
}

function array_divide($array, $segmentCount) {
        $dataCount = count($array);
        if ($dataCount == 0) return false;
        $segmentLimit = ceil($dataCount / $segmentCount);
        $outputArray = array_chunk($array, $segmentLimit);

        return $outputArray;
}

function generatePassword ($length = 8){
        $password = "";
        $possible = "0123456789abcdefghijkmnopqrstvwxyzABCDEFGHIJKMNOPQRSTVWXYZ";
        $i = 0;
        while ($i < $length) {
                $char = substr($possible, mt_rand(0, strlen($possible)-1), 1);
                if (!strstr($password, $char)) {
                        $password .= $char;
                        $i++;
                }
        }
        return $password;
}
function amenities($field){


        if($field == 'Waterview'){
                return "AND (
                a.`".$field."` LIKE '%waterfront%'
                )
                AND a.`rid` = r.`_PropertyCode`
                ";

        }else{
                return "AND (
                a.`".$field."` <> '' AND
                a.`".$field."` <> ' ' AND
                a.`".$field."` <> 'N' AND
                a.`".$field."` <> 'n' AND
                a.`".$field."` <> 'no' AND
                a.`".$field."` <> 'NO' AND
                a.`".$field."` <> 'No' AND
                a.`".$field."` <> 'nO' AND
                a.`".$field."` <> 'N0' AND
                a.`".$field."` <> 'n0' AND
                a.`".$field."` <> '?' AND
                a.`".$field."` <> 'NA' AND
                a.`".$field."` <> 'Na' AND
                a.`".$field."` <> 'nA' AND
                a.`".$field."` <> 'N A' AND
                a.`".$field."` <> 'N a' AND
                a.`".$field."` <> 'n A' AND
                a.`".$field."` <> 'n o' AND
                a.`".$field."` <> 'N O' AND
                a.`".$field."` <> 'N o' AND
                a.`".$field."` <> 'n O' AND
                a.`".$field."` <> 'N 0' AND
                a.`".$field."` <> 'n 0' AND
                a.`".$field."` <> 'nn' AND
                a.`".$field."` <> 'NN' AND
                a.`".$field."` <> 'Nn' AND
                a.`".$field."` <> 'nN' AND
                a.`".$field."` NOT LIKE '%no%' AND
                a.`".$field."` NOT LIKE '%n be%'
                )
                AND a.`rid` = r.`_PropertyCode`
                ";

        }
}


function removeqsvar($url, $varname) {
        return preg_replace('/([?&])'.$varname.'=[^&]+(&|$)/','$1',$url);
}

function paginationR($item_count, $limit, $cur_page = 1, $link = ''){
        $page_count = ceil($item_count/$limit);
        $current_range = array(($cur_page-4 < 1 ? 1 : $cur_page-4), ($cur_page+7 > $page_count ? $page_count : $cur_page+4));

        $panala = $cur_page * $limit;
        $dela = (($cur_page-1) * $limit)+1;

        if($panala > $item_count) $panala = $item_count;

        $previous_page = $cur_page > 1 ? ' <li class="previous"><a rel="prev" class="filter" href="'.sprintf($link, ($cur_page-1)).'">Previous</a></li> ' : ' <li class="previous-off"><a>Previous</a></li> ';
        $next_page = $cur_page < $page_count ? ' <li class="next"><a rel="next" class="filter" href="'.sprintf($link, ($cur_page+1)).'">Next</a></li> ' : ' <li class="next-off"><a>Next</a></li> ';

        for ($x=$current_range[0];$x <= $current_range[1]; ++$x)
                $pages[] = ($x == $cur_page ? '<li class="active"><span>'.$x.'</span></li>' : '<li><a class="filter" href="'.sprintf($link, $x).'">'.$x.'</a></li>');

        if ($page_count > 1)
                $return =  '<ul id="pagination-flickr">'.$previous_page.$first_page.implode(' ', $pages).$last_page.$next_page.'</ul><span class="nrpages">(page '.$cur_page.' of '.$page_count.')</span>';

        return  '<span class="results">'.$dela.' - '.$panala.' of '.$item_count.' </span>  <span id="clear-filter">Clear Filters</span>'.$return;

}
function resultsR($item_count, $limit, $cur_page = 1, $link = ''){
        $page_count = ceil($item_count/$limit);
        $current_range = array(($cur_page-4 < 1 ? 1 : $cur_page-4), ($cur_page+7 > $page_count ? $page_count : $cur_page+4));
        $panala = $cur_page * $limit;
        $dela = (($cur_page-1) * $limit)+1;
        if($panala > $item_count) $panala = $item_count;
        return '<span class="results">'.$dela.' - '.$panala.' of '.$item_count.' </span><span id="clear-filter">Clear Filters</span>';
}

include_once('/home/remplat/public_html/mailapp.jpfco.php');
$mail->setFrom("inquiry@jpfco.com", 'MyJPFCO');

function is_amenity($a){
        if(
                $a <> '' AND
                $a <> ' ' AND
                $a <> 'N' AND
                $a <> 'n' AND
                $a <> 'no' AND
                $a <> 'NO' AND
                $a <> 'No' AND
                $a <> 'nO' AND
                $a <> 'N0' AND
                $a <> 'n0' AND
                $a <> '?' AND
                $a <> 'NA' AND
                $a <> 'Na' AND
                $a <> 'nA' AND
                $a <> 'N A' AND
                $a <> 'N a' AND
                $a <> 'n A' AND
                $a <> 'n o' AND
                $a <> 'N O' AND
                $a <> 'N o' AND
                $a <> 'n O' AND
                $a <> 'N 0' AND
                $a <> 'n 0' AND
                $a <> 'nn' AND
                $a <> 'NN' AND
                $a <> 'Nn' AND
                $a <> 'nN'
                )

        return true;

        else

        return false;

}

$allAgents = $REM_db->getAll("select `id`, `name`, `picture` from `agents` where `site` = '1' and `active` = '1' order by `xorder`");
$smarty->assign("nav_agents", $allAgents);
$agents = array_divide($allAgents, 2);
$smarty->assign("agents1", $agents[0]);
$smarty->assign("agents2", $agents[1]);

$dd_weeks = $REM_db->GetAll("SELECT distinct (`date`) FROM `r_rates` where `value` <> '0'  and `date` > NOW() and DAYOFWEEK(`date`) = 7 ORDER BY `date` ASC");
$smarty->Assign("dd_weeks", $dd_weeks);


$dd_locations = $db->GetAll("SELECT DISTINCT (`location`) FROM `xml_realestate` ORDER BY `location` ASC");
$smarty->Assign("dd_loc", $dd_locations);

$dd_locations_sold = $db->GetAll("SELECT DISTINCT (`location`) FROM `xml_sold_new` ORDER BY `location` ASC");
$smarty->Assign("dd_loc_sold", $dd_locations_sold);

$dd_area = $REM_db->GetAll("SELECT DISTINCT `AreaName` FROM `rentals` WHERE `AreaName` <> '' order by `AreaName` ASC ");
$smarty->Assign("dd_area", $dd_area);

switch($ptype){

case "sell-your-nantucket-house":

        $smarty->Assign("meta_title", "Selling Your Nantucket Home | JPFCO");
        $smarty->Assign("meta_key", "sell your home, real estate seller services, home selling strategy, property listing, JPFCO real estate");
        $smarty->Assign("meta_desc", "Selling your home with JPFCO. Structured pricing, preparation, and market strategy to attract qualified buyers and manage the process from listing through closing.");

        $css_before = '<meta property="og:url" content="https://www.jpfco.com/sell-your-nantucket-home/">';
        $smarty->Assign("css_before", $css_before);

        $smarty->display("sell_nantucket_house.tpl");

break;

case "contact_agent":

    if(isset($_REQUEST['g-recaptcha-response'])){
        $captcha=$_REQUEST['g-recaptcha-response'];
    }
    else
        $captcha = false;

    if(!$captcha){
        $error = 'An error occurred when submitting your form.';
    }
    else{
        $secret = env('RECAPTCHA_SECRET_OLD');
        $response = json_decode(file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=".$secret."&response=".$captcha."&remoteip=".$_SERVER['REMOTE_ADDR']), true);

        if($response['success'] == false){
            $error = 'An error occurred when submitting your form.';
        }else{
                if($response['score'] < 0.6){
                    $error = 'An error occurred when submitting your form.';
                }else{

                    $mail->setFrom("inquiry@jpfco.com", 'JPFCO Web Form');

                    $message = "";

                    $url = 'https://jpfco.remplatform.com/resolve_lead_agent.php?' . http_build_query([
                            'email' => $_REQUEST['contactEmail'],
                            'phone' => $_REQUEST['contactPhone'],
                    ]);

                    $response = file_get_contents($url);

                    $data = json_decode($response, true);

                    $ag_src = "Selected Agent: ";
                    $db_ag_src = "unrouted";

                    if (!empty($data['success'])) {


                         $_REQUEST['agent_id'] = $data['agent_id'];

                         $agent_name = $data['agent_name'];
                         $agent_id = $data['agent_id'];

                         switch($data['source']){

                                       case "calendar":
                                          $ag_src = "Floor Time Agent: ";
                                          $db_ag_src = "floor time";
                                       break;

                                       case "lease_email":
                                          $ag_src = "Routed manually: ";
                                          $db_ag_src = "routed manually";
                                       break;

                                       case "lease_phone":
                                          $ag_src = "Routed manually: ";
                                          $db_ag_src = "routed manually";
                                       break;

                                       default:
                                          $ag_src = "Selected Agent: ";
                                          $db_ag_src = $data['source'];

                         }

                    }

                    if($_REQUEST['agent_id']){
                            $agent = $REM_db->Execute("select * from `agents` where `id` = '".$REM_db->addq($_REQUEST['agent_id'])."'");

                            if($agent->fields['id']){
                                 $message .= "<b>".$ag_src."</b>".$agent->fields['name']."<br><br>";
                                 $agent_name = $agent->fields['name'];
                            }
                    }

                    if($_REQUEST['house_id']){

                         $house = $db->Execute("select * from `xml_realestate` where `linkId` = '".$db->addq($_REQUEST['house_id'])."'");
                         if($house->fields['id']){
                            $mail->Subject = "New Inquiry for ".$house->fields['title']." - JPFCO Real Estate";
                            $message .= "<b>You've received a new inquiry from your website contact form regarding the property ".$house->fields['address']." - $".number_format($house->fields['price'])."</b><br>";
                            $message .= "<b>LINK ID: #".$house->fields['linkId']."</b><br>";
                            $message .= "<a href='".$base_url.$house->fields['newlink']."'>".$base_url.$house->fields['newlink']."</a><br><br>";
                         }

                    }

                    if($_REQUEST['rental_id']){

                         $house = $REM_db->Execute("select * from `rentals` where `_PropertyCode` = '".$db->addq($_REQUEST['rental_id'])."'");
                         if($house->fields['rid']){
                            $mail->Subject = "New Inquiry for ".$house->fields['PropertyAddress']." - JPFCO Rentals";
                            $message .= "<b>You've received a new inquiry from your website contact form regarding rental ".$house->fields['PropertyAddress']."</b><br>";
                            $message .= "<b>Rental ID: #".$house->fields['_PropertyCode']."</b><br>";
                            $message .= "<a href='".$house->fields['newlink']."'>".$house->fields['newlink']."</a><br><br>";
                         }

                    }

                    $repeatsub = $REM_db->Execute("select `id`, `rdate` from `contact` where `email` = '".$_REQUEST['contactEmail']."' order by `id` desc");
                    if($repeatsub->fields){

                                $repeathtml = '<b>Previous Submissions: </b>';
                                while(!$repeatsub->EOF){
                                       $repeathtml .= '<a href="https://jpfco.remplatform.com/index.php?section=leads&action=view_lead&lead_id='.$repeatsub->fields['id'].'">'.date("M j, Y", strtotime($repeatsub->fields['rdate'])).'</a>; &nbsp;';
                                       $repeatsub->MoveNext();
                                }

                    }else{
                            $repeathtml = '';
                    }

//                    $mail->AddAddress("cristian@q9digital.com", "Cristian Hritcu");

                    $mail->AddAddress("office@jpfco.com", "JPFCO");


                    if($agent->fields['email']){
                        $mail->AddAddress($agent->fields['email'], $agent->fields['name']);
                    }

                    $mail->AddBCC("cristian@q9digital.com", "JPFCO Contact Agent");

                    $catcher = $db->Execute("Select `email` from `catcher` where `type` = 'contact'");
                    $mails = explode(",", $catcher->fields['email']);
                    foreach($mails as $ml){
                            if($ml){
                                 $mail->AddBCC(trim($ml));
                            }
                    }



                    $mail->AddReplyTo($_REQUEST['contactEmail'], $_REQUEST['contactName']);

                    $contactName = splitName($_REQUEST['contactName']);

                    $sendme = ($_REQUEST['house_id'] ? "Property for sale" : "Rental properties");

                    $ctprops = ucfirst(strtolower($sendme))." ".($_REQUEST['house_id'] ? "LinkId : ".($_REQUEST['house_id'])." " : " ").($_REQUEST['rental_id'] ? "Rental : ".($_REQUEST['rental_id'])." " : " ");

                    $REM_db->Execute("INSERT INTO `contact` ( `id` , `fname` , `lname` , `address` , `city` , `state` , `zip` , `phone` , `email` , `sendme` , `reason` , `range` , `arange` , `via` , `comments` , `rdate` , `status`, `agent`, `fownd`, `momentnum`, `agent_id`, `agent_type` )
                    VALUES (
                    NULL , '".$db->addq($contactName['first'])."', '".$db->addq($contactName['last'])."', '' '', '', '', '', ".$db->qstr($_REQUEST['contactPhone']).", ".$db->qstr($_REQUEST['contactEmail']).", '".$sendme."', '".$ctprops."', '', '', '', ".$db->qstr($_REQUEST['contactComments']).", NOW(), '', ".$db->qstr($agent_name).", 'Quick Contact', '', ".$db->qstr($agent_id).", '".$db_ag_src."'
                    )");

                    $lastId = $REM_db->insert_Id();
                    $getID = $REM_db->Execute("select `customer_id` from `contact` where `id` = '".$lastId."'");

                    $message .= "<b>Details submitted:</b><br>";
                    $message .= "<b>Name: </b><a href='https://jpfco.remplatform.com/index.php?section=customers&action=view_account&id=".$getID->fields['customer_id']."'>".$_REQUEST['contactName']."</a><br>";
                    $message .= "<b>E-mail Address: </b>".$_REQUEST['contactEmail']."<br>";
                    $message .= "<b>Phone: </b>".$_REQUEST['contactPhone']."<br>";
                    $message .= "<b>Comments: </b>".$_REQUEST['contactComments']."<br><br>";
                    $message .= $repeathtml."<br>";

                    $mail->IsHTML(true);

                    $message = mb_convert_encoding($message, 'HTML-ENTITIES', "UTF-8");

                    $mail->Body = $message;
                    $mail->AltBody = $message;

                    $_SESSION['contactName'] = $_REQUEST['contactName'];
                    $_SESSION['fname'] = $contactName['first'];
                    $_SESSION['lname'] = $contactName['last'];
                    $_SESSION['email'] = $_REQUEST['contactEmail'];
                    $_SESSION['phone'] = $_REQUEST['contactPhone'];


                    $agentPhone = $agent->fields['phone'] ?? '';

                    $smsExtra = [
                        'subject' => 'New JPFCO website inquiry',
                        'agent_label' => rtrim(strip_tags($ag_src), ': '),
                        'agent_name' => $agent_name,
                        'lead_url' => 'https://jpfco.remplatform.com/index.php?section=customers&action=view_account&id='.$getID->fields['customer_id']
                    ];

                    if (!empty($_REQUEST['rental_id']) && !empty($house->fields['rid'])) {
                        $smsExtra['single_rental'] = [
                            'address' => $house->fields['PropertyAddress'],
                            'id' => $house->fields['_PropertyCode']
                        ];
                    }

                    if (!empty($_REQUEST['house_id']) && !empty($house->fields['id'])) {
                        $smsExtra['single_property'] = [
                            'address' => $house->fields['address'],
                            'id' => $house->fields['linkId']
                        ];
                    }

                    //$agentPhone = '+15088394455';
/*
                    $agentPhone = '+40740827507';
                    $smsText = buildLeadSmsText($_REQUEST, $smsExtra);
                    $smsText = shortenSmsText($smsText, 155);
                    $smsResult = sendLeadSmsToAgent($agentPhone, $smsText);
*/

                    // error_log(print_r($smsResult, true));

                    header('Content-Type: application/json');

                    if(!$mail->Send()) {
                         exit(json_encode(['success' => 'true', 'done' => 0, 'error' => 'An error occurred when submitting your form.']));
                    }else{
                         exit(json_encode(['success' => 'true', 'done' => 1, 'message' => "<strong>Thank you for your inquiry!</strong><br />We've received your request. One of our agents will be in touch shortly with the details you requested.<br />If you'd prefer to speak with someone right away, feel free to call us at (508) 228-3202."]));
                    }


                }
        }

    }

    exit(json_encode(['success' => 'true', 'done' => 0, 'error' => 'An error occurred when submitting your form.']));


break;

case "test_sms":

$result = sendSms('5088394455', 'test jpfco sms');
print_r($result);

break;

        case "covid_19_faq":

        $smarty->Assign("meta_title", "Frequently Asked Questions Regarding Short Term Rentals on Nantucket - Covid-19");
        $smarty->Assign("meta_key", "Frequently Asked Questions Regarding Short Term Rentals on Nantucket - Covid-19");
        $smarty->Assign("meta_desc", "Frequently Asked Questions Regarding Short Term Rentals on Nantucket - Covid-19");

        $smarty->display("Covid_19_FAQ.tpl");
        break;

case "cacheFlush":
        $REM_db->CacheFlush();
        $REM_db->Close();
        $REM_db = ADONewConnection('mysqli');
        $REM_db->Connect(DBhost, DBuser, DBpass, DBname);
        $REM_db->SetFetchMode(ADODB_FETCH_ASSOC);
        $REM_db->CacheFlush();
        break;

case "email_friend":

        $smarty->Assign("meta_title", "Email this listing to a friend - Rentals on Nantucket");
        $smarty->Assign("meta_key", "Email this listing to a friend - Rentals on Nantucket");
        $smarty->Assign("meta_desc", "Email this listing to a friend - Rentals on Nantucket");

        if($type=='house'){
                $listing = $db->Execute("select * from `xml_realestate` where `linkId` = '".$linkId."'");
        }else{
                $listing = $REM_db->Execute("select * from `rentals` where `_PropertyCode` = '".$rid."'");
                $smarty->assign("imgpath", "https://jpfco.remplatform.com/photos/rentals/".$rid."/thumb/");
        }
        $smarty->assign("listing", $listing->fields);
        $smarty->display("email_friend.tpl");
        break;

case "fblogin":
        require 'facebook.php';
        require 'clientuser.php';
        define('APP_ID', env('FB_APP_ID'));
        define('APP_SECRET', env('FB_APP_SECRET'));

        $facebook = new Facebook(array(
                'appId' => APP_ID,
                'secret' => APP_SECRET,
                ));

        $user = $facebook->getUser();

        if ($user) {
                try {
                        // Proceed knowing you have a logged in user who's authenticated.
                        $user_profile = $facebook->api('/me');
                } catch (FacebookApiException $e) {
                        error_log($e);
                        $user = null;
                }


                if (!empty($user_profile )) {
                        # User info ok? Let's print it (Here we will be adding the login and registering routines)

                        $username = $user_profile['name'];
                        $uid = $user_profile['id'];
                        $email = $user_profile['email'];
                        $user = new User();
                        $userdata = $user->checkUser($uid, 'facebook', $username,$email,$twitter_otoken,$twitter_otoken_secret);
                        if(!empty($userdata)){
                                session_start();
                                $_SESSION['uid'] = $userdata['uid'];
                                $_SESSION['oauth_id'] = $uid;

                                $_SESSION['name'] = $userdata['fname'];
                                $_SESSION['semail'] = $email;
                                $_SESSION['oauth_provider'] = $userdata['oauth_provider'];

                                $expire=time()+60*60*24*30;
                                setcookie("myJCC", $userdata['uid'], $expire , "/", ".jpfco.com", 0);

                                header("Location: https://www.jpfco.com/index.php?ptype=myjpfco");
                        }
                } else {
                        die("There was an error.");
                }
        } else {
                # There's no active session, let's generate one
                // $login_url = $facebook->getLoginUrl(array( 'scope' => 'email'));
                // header("Location: " . $login_url);
        }
        break;

case "myinfo":
        $uer = $REM_db->Execute("select * from `clients` where `uid` = '".$_SESSION['uid']."'");
        $smarty->assign("user", $uer->fields);
        $smarty->display("myinfo.tpl");
        break;

case "change_login":
        if($change == "login"){
                $epass = $REM_db->Execute("select * from `clients` where `uid` = '".$_SESSION['uid']."' and `password` = '".$password."'");
                $errors = array();
                if(!empty($epass->fields['uid'])){
                        if($id != $reid){
                                $errors[] = "Confirm Login ID is not correct.";
                        }else{
                                if( filter_var($id, FILTER_VALIDATE_EMAIL)){


                                        $eemail = $REM_db->Execute("select * from `clients` where `email` = '".$id."'");
                                        if(!empty($eemail->fields['uid'])){
                                                $errors[] = "Login ID already in database! Please type another one.";
                                        }else{
                                                $REM_db->Execute("update `clients` set `email` = '".$id."' where `uid` = '".$_SESSION['uid']."' and `password` = '".$password."'");
                                                $errors[] = "Login ID/E-mail Successfully Changed";
                                                echo '<script type="text/javascript">
                                                window.location = "' . $base_url . '/index.php?ptype=myinfo"
                                                </script>';
                                                exit;
                                        }
                                }else{
                                        $errors[] = "Login ID must be an valid E-mail.";
                                }
                        }
                }else{
                        $errors[] = "Wrong password. Please try again.";
                }
                $smarty->assign("errors", $errors);
        }
        $smarty->display("change_login.tpl");
        break;

case "change_pass":
        if($change == "pass"){
                $epass = $REM_db->Execute("select * from `clients` where `uid` = '".$_SESSION['uid']."' and `password` = '".$opassword."'");
                $errors = array();
                if(!empty($epass->fields['uid'])){
                        if($npassword != $rpassword){
                                $errors[] = "The new password doesn't match the confirmed password";
                        }else{
                                if(strlen($npassword) >=  6){
                                        $REM_db->Execute("update `clients` set `password` = '".$npassword."' where `uid` = '".$_SESSION['uid']."' and `password` = '".$opassword."'");
                                        $errors[] = "Password Successfully Changed";
                                        echo '<script type="text/javascript">
                                        window.location = "' . $base_url . '/index.php?ptype=myinfo"
                                        </script>';
                                        exit;

                                }else{
                                        $errors[] = "Your password must be at least 6 characters.";
                                }
                        }
                }else{
                        $errors[] = "Wrong password. Please try again.";
                }
                $smarty->assign("errors", $errors);
        }
        $smarty->display("change_pass.tpl");
        break;

case "change_phone":
        if($change == "phone"){

                if($phone != $phone2){
                        $errors[] = "Please confirm your new phone number";
                }else{
                        if(strlen($phone) >=  4){
                                $REM_db->Execute("update `clients` set `phone` = '".$phone."' where `uid` = '".$_SESSION['uid']."'");
                                $errors[] = "Phone Number Successfully Changed";
                                echo '<script type="text/javascript">
                                window.location = "' . $base_url . '/index.php?ptype=myinfo"
                                </script>';
                                exit;
                        }else{
                                $errors[] = "Please enter a valid new phone number.";
                        }
                }
                $smarty->assign("errors", $errors);
        }
        $smarty->display("change_phone.tpl");
        break;

case "forget":
        if($fgt == 'forget'){
                $errors = array();
                $eemail = $REM_db->Execute("select * from `clients` where `email` = '".$email."'");
                if(empty($email)){
                        $errors[0] = "Please enter your E-mail address";
                }elseif(empty($eemail->fields['uid'])){
                        $errors[0] = "We couldn't find that email address in our records.";
                }else{
                        $smarty->Assign("p", $eemail->fields['password']);
                        $smarty->Assign("email", $email);
                        $t = $smarty->fetch("forget_email.tpl", "admin");

                        $mail->Subject    = "MyJPFCO Forgot Password Request";
                        $mail->Body       = $t; //HTML Body
                        $mail->AddAddress($email, $fname." ".$lname);
                        $mail->AddReplyTo("no-reply@jpfco.com","MyJPFCO");
                        if(!$mail->Send()) {
                                echo "Mailer Error: " . $mail->ErrorInfo;
                        }
                        $smarty->Assign("verified", 1);
                }
                $smarty->assign("errors", $errors);
        }
        $smarty->display("forget.tpl");
        break;

case "sign_out":
        $_SESSION['uid'] = "";
        $_SESSION['name'] = "";
        $_SESSION['semail'] = "";
        $_COOKIE["myJCC"] = "";
        $_SESSION['sphone'] = "";
        unset($_SESSION['oauth_provider']);
        session_destroy();
        unset($_COOKIE["myJCC"]);
        setcookie("myJCC", "", time()-3600);
        setcookie("myJCC", "", time()-3600, "/", ".jpfco.com", 0);
        @header("Location: /");
        setcookie("myJCC", "", time()-3600, "/", ".jpfco.com", 0);
        break;

case "signin":

        $smarty->Assign("meta_title", "My JPFCO Sign in - Rentals on Nantucket");
        $smarty->Assign("meta_key", "My JPFCO Sign in - Rentals on Nantucket");
        $smarty->Assign("meta_desc", "My JPFCO Sign in - Rentals on Nantucket");

        $smarty->display("login.tpl");
        break;

case "login":

        $smarty->Assign("meta_title", "My JPFCO Log in - Rentals on Nantucket");
        $smarty->Assign("meta_key", "My JPFCO Log in - Rentals on Nantucket");
        $smarty->Assign("meta_desc", "My JPFCO Log in - Rentals on Nantucket");

        $smarty->display("login.tpl");
        break;

case "sign_in":
        if($sign == 'sign'){
                $user = $REM_db->Execute("select * from `clients` where `email` = '".$username."' and `password` = '".$password."'");
                if($user->fields['uid']){
                        if($user->fields['verrify'] == '1'){
                                if($user->fields['xactive'] == '1'){
                                        if($persistent == 'y'){
                                                $expire=time()+60*60*24*30;
                                                setcookie("myJCC", $user->fields['uid'], $expire , "/", ".jpfco.com", 0);
                                        }
                                        $_SESSION['uid'] = $user->fields['uid'];
                                        $_SESSION['name'] = $user->fields['fname'] . " " . $user->fields['lname'];
                                        $_SESSION['semail'] = $user->fields['email'];
                                        $_SESSION['sphone'] = $user->fields['phone'];
                                        @header("Location: index.php?ptype=myjpfco");
                                        if($persistent == 'y'){
                                                $expire=time()+60*60*24*30;
                                                setcookie("myJCC", $user->fields['uid'], $expire , "/", ".jpfco.com", 0);
                                        }
                                }else{
                                        $smarty->Assign("login_error", "Your account in not active.");
                                }
                        }else{
                                $smarty->Assign("login_error", "Your email address is not verified.");
                        }
                }else{
                        $smarty->Assign("login_error", "Invalid ID or password. Please try again using your ID and your Password.");
                }
        }
        $smarty->display("sign_in.tpl");
        break;

case "register_new":
        if($reg == 'register'){
                $eemail = $REM_db->Execute("select `uid` from `clients` where `email` = '".$email."'");
                $errors = array();

                if(!empty($eemail->fields['uid'])){
                        $errors[0] = "There is an existing account associated with this email address.";
                }else{
                        if(empty($fname)){
                                $errors[0] = "Please enter your First Name";
                        }
                        if(empty($lname)){
                                $errors[1] = "Please enter your Last Name";
                        }
                        if(empty($email)){
                                $errors[2] = "Please enter your E-mail";
                        }else{
                                if( filter_var($email, FILTER_VALIDATE_EMAIL)){
                                        if($email != $cemail){
                                                $errors[2] = "Confirm E-mail is not correct.";
                                        }
                                }else{
                                        $errors[2] = "E-mail address is not correct";
                                }
                        }
                        if(empty($phone)){
                                $errors[3] = "Please enter your Phone No.";
                        }
                }
                if(empty($errors)){
                        $p = generatePassword();
                        $c = generatePassword(12);
                        $REM_db->Execute("INSERT INTO `clients` ( `uid` , `fname` , `lname` , `email` , `phone` , `password` , `xactive` , `code` , `verrify`, `date` ) VALUES
                                (NULL , '".$fname."', '".$lname."', '".$email."', '".$phone."' ,  '".$p."' , '1', '".$c."', '0', NOW())");
                        $uid = mysqli_insert_id();
                        $db->Execute("INSERT INTO `client2agent` ( `caid` , `uid` , `id` ) VALUES (NULL , '".$uid."', '".$agent."')");
                        $smarty->Assign("lname", $lname);
                        $smarty->Assign("c", $c);
                        $smarty->Assign("p", $p);
                        $smarty->Assign("email", $email);
                        $t = $smarty->fetch("add_user_email.tpl", "admin");

                        $mail->FromName   = "JPFCO Real Estate";
                        $mail->Subject    = "MyJPFCO Account Confirmation ";
                        $mail->Body       = $t; //HTML Body
                        $mail->AddAddress($email, $fname." ".$lname);
                        $mail->AddReplyTo("no-reply@jpfco.com","MyJPFCO");

                        if(!$mail->Send()) {
                                echo "Mailer Error: " . $mail->ErrorInfo;
                        }


                        $smarty->assign("email", $email);
                        $smarty->assign("lname", $lname);
                        $smarty->assign("fname", $fname);
                        $smarty->display("register_done.tpl");
                        exit();
                }else{
                        $smarty->assign("errors", $errors);
                }
        }
        $smarty->display("register_new.tpl");
        break;

case "register":

        if($reg == 'register'){
                $eemail = $REM_db->Execute("select `uid` from `clients` where `email` = '".$email."'");
                $errors = array();
                if(!empty($eemail->fields['uid'])){
                        $errors[0] = "There is an existing account associated with this email address.";
                }else{
                        if(empty($fname)){
                                $errors[0] = "Please enter your First Name";
                        }
                        if(empty($lname)){
                                $errors[1] = "Please enter your Last Name";
                        }
                        if(empty($email)){
                                $errors[2] = "Please enter your E-mail";
                        }else{
                                if( filter_var($email, FILTER_VALIDATE_EMAIL)){
                                        if($email != $cemail){
                                                $errors[2] = "Confirm E-mail is not correct.";
                                        }
                                }else{
                                        $errors[2] = "E-mail address is not correct";
                                }
                        }
                        if(empty($phone)){
                                $errors[3] = "Please enter your Phone No.";
                        }
                }
                //                echo 123;
                if(empty($errors)){
                        $p = generatePassword();
                        $c = generatePassword(12);
                        $REM_db->Execute("INSERT INTO `clients` ( `uid` , `fname` , `lname` , `email` , `phone` , `password` , `xactive` , `code` , `verrify`, `date` ) VALUES
                                (NULL , '".$fname."', '".$lname."', '".$email."', '".$phone."' ,  '".$p."' , '1', '".$c."', '0', NOW())");
                        $uid = mysqli_insert_id();
                        $db->Execute("INSERT INTO `client2agent` ( `caid` , `uid` , `id` ) VALUES (NULL , '".$uid."', '".$agent."')");
                        $smarty->Assign("lname", $lname);
                        $smarty->Assign("c", $c);
                        $smarty->Assign("p", $p);
                        $smarty->Assign("email", $email);
                        $t = $smarty->fetch("add_user_email.tpl", "admin");

                        $mail->FromName   = "JPFCO Real Estate";
                        $mail->Subject    = "MyJPFCO Account Confirmation ";
                        $mail->Body       = $t; //HTML Body
                        $mail->AddAddress($email, $fname." ".$lname);
                        $mail->AddReplyTo("no-reply@jpfco.com","MyJPFCO");

                        if(!$mail->Send()) {
                                echo "Mailer Error: " . $mail->ErrorInfo;
                        }


                        $smarty->assign("email", $email);
                        $smarty->assign("lname", $lname);
                        $smarty->assign("fname", $fname);
                        $smarty->display("register_done.tpl");
                        exit();
                }else{
                        $smarty->assign("errors", $errors);
                }
        }
        $smarty->display("register.tpl");
        break;

case "actuser":
        if($uc){
                $act = $REM_db->execute("select * from `clients` where `code` = '".$uc."'");
                if(empty($act->fields['uid'])){
                        $errors[] = "Activation code is not valid.";
                }elseif($act->fields['verrify'] == '1'){
                        $errors[] = 'Account is already verified. <a class="fancybox fancybox.ajax" href="index.php?ptype=signin" data-fancybox-type="ajax">Click here to login</a></p>';
                }else{
                        $act = $REM_db->execute("update `clients` set `verrify` = '1' where `uid` = '".$act->fields['uid']."'");
                        $smarty->assign("verified", 1);
                }
        }
        $smarty->assign("errors", $errors);
        $smarty->display("actuser.tpl");
        break;

case "myjpfco":
        switch($action){
        case "del_myhouse":
                $db->Execute("delete from `my_houses` where `linkId` = '".$linkId."' and `uid` = '".$_SESSION['uid']."'");
                break;
        case "del_myrental":
                $db->Execute("delete from `my_rentals` where `rid` = '".$rid."' and `uid` = '".$_SESSION['uid']."'");
                break;
        }
        if($ftype){
                if(empty($agent)){
                        $agent_name = "none";
                }else{
                        $ag = $REM_db->Execute("select * from `agents` where `email` = '".$agent."'");
                        $agent_name = $ag->fields['name'];
                }

                $mail->FromName   = "JPFCO Rental Request";
                $mail->Subject    = "myJPFCO Rental Request";

                switch($ftype){
                case "home":
                        $message2 = '';
                        $message2 .= "Name: ".$_SESSION['name']."\n";
                        $message2 .= "E-mail Address: ".$_REQUEST['hemail']."\n\n";
                        $message2 .= "Phone: ".$_REQUEST['hphone']."\n\n";
                        $message2 .= "Contact via: ".$_REQUEST['hcontact']."\n";
                        $message2 .= "Day and time for schedule the showing: ".$_REQUEST['hcomments']."\n";
                        $message2 .= "Selected Agent: ".$agent_name."\n";
                        $message2 .= "Link Id: ".$_REQUEST['linkId']."\n";

                        $mail->FromName   = "JPFCO Request Showing";
                        $mail->Subject    = "myJPFCO Request Showing";
                        break;

                case "rental":
                        $message2 = '';
                        $message2 .= "Name: ".$_SESSION['name']."\n";
                        $message2 .= "E-mail Address: ".$_REQUEST['email']."\n\n";
                        $message2 .= "Phone: ".$_REQUEST['phone']."\n\n";
                        $message2 .= "Contact via: ".$_REQUEST['contact']."\n";
                        $message2 .= "Dates to rent this house: ".$_REQUEST['comments']."\n";
                        $message2 .= "Selected Agent: ".$agent_name."\n";
                        $message2 .= "Rental Id: ".$_REQUEST['rid']."\n";

                        $mail->FromName   = "JPFCO Rental Request";
                        $mail->Subject    = "myJPFCO Rental Request";
                        break;
                }
                $mail->Body       = $message2; //HTML Body
                $mail->AddAddress("office@jpfco.com", "Jpfco");

                if($agent){
                        $mail->AddAddress($agent, $agent_name);
                }

                $catcher = $db->Execute("Select `email` from `catcher` where `type` = 'contact'");
                $mails = explode(",", $catcher->fields['email']);
                foreach($mails as $ml){
                        if($ml){
                                $mail->AddBCC(trim($ml));
                        }
                }
                $mail->AddReplyTo($_REQUEST['email'], $_SESSION['name']);
                if(!$mail->Send()) {
                        echo "Mailer Error: " . $mail->ErrorInfo;
                }
                $smarty->assign("goal_page", '"Sales-Lead-finish.html"');
                $smarty->assign("finished", 1);
        }


        $smarty->assign("persons", $REM_db->getAll("select * from `agents` where `site` = '1' and `active` = '1' order by `xorder`"));
        $smarty->assign("persons2", $REM_db->getAll("select * from `agents` where `site` = '1' and `active` = '1' order by `xorder`"));
        $myr = $db->GetAll("select * from `my_rentals` where `uid` = '".$_SESSION['uid']."' order by `id` DESC LIMIT 0 , 10");
        $smarty->assign("myr", $myr);
        $myh = $db->GetAll("select * from `my_houses` where `uid` = '".$_SESSION['uid']."' order by `id` DESC LIMIT 0 , 10");
        $smarty->assign("myh", $myh);
        $smarty->display("my_jpfco.tpl");
        break;

case "myhouses":
        switch($action){
        case "del_myhouse":
                $db->Execute("delete from `my_houses` where `linkId` = '".$linkId."' and `uid` = '".$_SESSION['uid']."'");
                break;
        }
        if($ftype){
                if(empty($agent)){
                        $agent_name = "none";
                }else{
                        $ag = $REM_db->Execute("select * from `agents` where `email` = '".$agent."'");
                        $agent_name = $ag->fields['name'];
                }
                $mail->FromName   = "JPFCO Request Showing";
                $mail->Subject    = "myJPFCO Request Showing";

                switch($ftype){
                case "home":
                        $message2 = '';
                        $message2 .= "Name: ".$_SESSION['name']."\n";
                        $message2 .= "E-mail Address: ".$_REQUEST['hemail']."\n\n";
                        $message2 .= "Phone: ".$_REQUEST['hphone']."\n\n";
                        $message2 .= "Contact via: ".$_REQUEST['hcontact']."\n";
                        $message2 .= "Day and time for schedule the showing: ".$_REQUEST['hcomments']."\n";
                        $message2 .= "Selected Agent: ".$agent_name."\n";
                        $message2 .= "Propery code: ".$_REQUEST['linkId']."\n";

                        $mail->FromName   = "JPFCO Request Showing";
                        $mail->Subject    = "myJPFCO Request Showing";

                        break;

                }


                $mail->Body       = $message2; //HTML Body
                $mail->AddAddress("office@jpfco.com", "Jpfco");

                if($agent){
                        $mail->AddAddress($agent, $agent_name);
                }

                $catcher = $db->Execute("Select `email` from `catcher` where `type` = 'contact'");
                $mails = explode(",", $catcher->fields['email']);
                foreach($mails as $ml){
                        if($ml){
                                $mail->AddBCC(trim($ml));
                        }
                }

                $mail->AddReplyTo($_REQUEST['email'], $_SESSION['name']);
                if(!$mail->Send()) {
                        echo "Mailer Error: " . $mail->ErrorInfo;
                }
                $smarty->assign("goal_page", '"Sales-Lead-finish.html"');
                $smarty->assign("finished", 1);
        }
        if($add){
                $e = $db->Execute("select `id` from `my_houses` where `linkId` = '".$add."' and `uid` = '".$_SESSION['uid']."'");
                if (($e->RecordCount()== 0)) {
                        if($type == 'land' ){
                                $t = 0;
                        }else{
                                $t = 1;
                        }
                        $db->Execute("INSERT INTO `my_houses` ( `id` , `uid` , `linkId` , `type` , `date` ) VALUES (NULL , '".$_SESSION['uid']."', '".$add."', '".$t."', NOW())");
                }
        }
        $myh = $db->GetAll("select * from `my_houses` where `uid` = '".$_SESSION['uid']."' order by `id` DESC");
        $smarty->assign("myh", $myh);
        $smarty->assign("persons", $REM_db->getAll("select * from `agents` where `site` = '1' and `active` = '1' order by `xorder`"));
        $smarty->display("my_houses.tpl");
        break;

case "myrentals":
        switch($action){
        case "del_myrental":
                $db->Execute("delete from `my_rentals` where `rid` = '".$rid."' and `uid` = '".$_SESSION['uid']."'");
                break;
        }
        if($ftype){
                if(empty($agent)){
                        $agent_name = "none";
                }else{
                        $ag = $REM_db->Execute("select * from `agents` where `email` = '".$agent."'");
                        $agent_name = $ag->fields['name'];
                }
                $mail->FromName   = "JPFCO Rental Request";
                $mail->Subject    = "myJPFCO Rental Request";

                switch($ftype){
                case "rental":
                        $message2 = '';
                        $message2 .= "Name: ".$_SESSION['name']."\n";
                        $message2 .= "E-mail Address: ".$_REQUEST['email']."\n\n";
                        $message2 .= "Phone: ".$_REQUEST['phone']."\n\n";
                        $message2 .= "Contact via: ".$_REQUEST['contact']."\n";
                        $message2 .= "Dates to rent this house: ".$_REQUEST['comments']."\n";
                        $message2 .= "Selected Agent: ".$agent_name."\n";
                        $message2 .= "Rental ID: ".$_REQUEST['rid']."\n";

                        $mail->FromName   = "JPFCO Rental Request";
                        $mail->Subject    = "myJPFCO Rental Request";
                        break;
                }
                $mail->Body       = $message2; //HTML Body
                $mail->AddAddress("office@jpfco.com", "Jpfco");

                if($agent){
                        $mail->AddAddress($agent, $agent_name);
                }

                $catcher = $db->Execute("Select `email` from `catcher` where `type` = 'contact'");
                $mails = explode(",", $catcher->fields['email']);
                foreach($mails as $ml){
                        if($ml){
                                $mail->AddBCC(trim($ml));
                        }
                }
                $mail->AddReplyTo($_REQUEST['email'], $_SESSION['name']);
                if(!$mail->Send()) {
                        echo "Mailer Error: " . $mail->ErrorInfo;
                }
                $smarty->assign("goal_page", '"Sales-Lead-finish.html"');
                $smarty->assign("finished", 1);
        }
        if($add){
                $e = $db->Execute("select `id` from `my_rentals` where `rid` = '".$add."' and `uid` = '".$_SESSION['uid']."'");
                if (($e->RecordCount()== 0)) {
                        $db->Execute("INSERT INTO `my_rentals` ( `id` , `uid` , `rid` , `date` ) VALUES (NULL , '".$_SESSION['uid']."', '".$add."', NOW())");
                }
        }
        $myrx = $db->GetAll("select * from `my_rentals` where `uid` = '".$_SESSION['uid']."' order by `id` DESC");
        $smarty->assign("persons", $REM_db->getAll("select * from `agents` where `site` = '1' and `active` = '1' order by `xorder`"));
        $smarty->assign("myrx", $myrx);
        $smarty->display("my_rentals.tpl");
        break;

case "nantucket-ma":
        $smarty->Assign("meta_title", "Nantucket Island, MA Real Estate Facts and Investing Considerations");
        $smarty->Assign("meta_key", "Nantucket Island, MA, Resources, Real Estate, Island");
        $smarty->Assign("meta_desc", "Nantucket Island, MA real estate facts and investing considerations for buying and selling real estate on the island of Nantucket.");
        $smarty->Assign("pmenu", "n");
        $smarty->display("nantucket-ma.tpl");
        break;

case "marketing":
        $smarty->Assign("meta_title", "Selling your House through JPFCO - Nantucket Real Estate");
        $smarty->Assign("meta_key", "Nantucket, Nantucket Island, Nantucket Real Estate, Nantucket House Rental, Rental House, Home Rentals, Nantucket Vacation Rentals, Rentals");
        $smarty->Assign("meta_desc", "Selling your House through JPFCO -  leader Nantucket real estate brokers and sales agents.");
        $smarty->Assign("pmenu", "j");
        $smarty->display("marketing.tpl");
        break;

case "free-home-valuation":
        $smarty->Assign("meta_title", "Complementary Nantucket Home Valuation Report - Nantucket Real Estate");
        $smarty->Assign("meta_key", "Nantucket, Nantucket Island, Nantucket Real Estate, Nantucket House Rental, Rental House, Home Rentals, Nantucket Vacation Rentals, Rentals");
        $smarty->Assign("meta_desc", "Complementary Nantucket Home Valuation Report - JPFCO has the leader Nantucket real estate brokers and sales agents.");
        $smarty->Assign("pmenu", "j");
        $smarty->display("freehome.tpl");
        break;

case "homeowners":
        $smarty->assign("chat", 1);
        $smarty->Assign("meta_title", "Renting your House through JPFCO - Nantucket Real Estate");
        $smarty->Assign("meta_key", "Nantucket, Nantucket Island, Nantucket Real Estate, Nantucket House Rental, Rental House, Home Rentals, Nantucket Vacation Rentals, Rentals");
        $smarty->Assign("meta_desc", "Renting your House through JPFCO - the leader Nantucket real estate brokers and sales agents.");


        $area = $REM_db->GetAll("SELECT DISTINCT ( `area` ) as `Area` FROM `areas` WHERE `area` <> '' ORDER BY `area`");
        $smarty->Assign("pmenu", "r");
        $smarty->Assign("area", $area);
        $smarty->display("homeowners.tpl");
        break;

case "contact":

        $smarty->assign("chat", 1);

        if($act == 'remove'){
                $db->Execute("delete from `favorite`  where `momentnum` = '".$_SESSION['momentnum']."' and `id` = '".$_REQUEST['cid']."'");
                exit;
        }

        if($type == 'rent'){
                $savedh = $db->Execute("Select `id` from `favorite` where `momentnum` = '".$_SESSION['momentnum']."' and `type` = 'rental' and `prod` = '".$rid."'");

                if(empty($savedh->fields['id'])){
                        $house = $REM_db->Execute("Select * from `rentals` where `_PropertyCode` = '".$_REQUEST['rid']."'");
                        $db->Execute("INSERT INTO `favorite` ( `id`, `prod`, `type`, `momentnum`, `name`, `det`, `date`, `rdate`, `AreaName`, `thumb` ) VALUES
                        ( NULL, '".$rid."', 'rental', '".$_SESSION['momentnum']."', '".$house->fields['PropertyAddress']."', '".$house->fields['Bedrooms']." bedrooms / ".$house->fields['Baths']." baths', NOW(), '".$sdate."', '".$house->fields['AreaName']."', '".$house->fields['thumb']."' )");
                }else{
                    if($sdate)
                        $db->Execute("update `favorite` set `date` = NOW(), `rdate` = '".$sdate."' where `id` = '".$savedh->fields['id']."'");
                }

        }

        if($type == 'house'){

                $savedh = $db->Execute("Select `id` from `favorite` where `momentnum` = '".$_SESSION['momentnum']."' and `type` = 'house' and `prod` = '".$linkId."'");

                if(empty($savedh->fields['id'])){
                        $house = $db->Execute("Select * from `xml_realestate` where `linkId` = '".$linkId."'");
                        $db->Execute("INSERT INTO `favorite` ( `id`, `prod`, `type`, `momentnum`, `name`, `det`, `date`, `rdate`, `AreaName`, `thumb` ) VALUES
                        ( NULL, '".$linkId."', 'house', '".$_SESSION['momentnum']."', '".$house->fields['address']."', '".$house->fields['bedrooms']." bedrooms / ".$house->fields['bathrooms']." baths', NOW(), '".$sdate."', '".$house->fields['location']."', '".$house->fields['thumb']."' )");
                }else{
                        $db->Execute("update `favorite` set `date` = NOW() where `id` = '".$savedh->fields['id']."'");
                }
        }



        $rental_cart = $db->GetAll("select * from `favorite` where `momentnum` = '".$_SESSION['momentnum']."'  and `type` = 'rental'");
        $house_cart = $db->GetAll("select * from `favorite` where `momentnum` = '".$_SESSION['momentnum']."'  and `type` = 'house'");

        $smarty->assign("rental_cart", $rental_cart);
        $smarty->assign("house_cart", $house_cart);

        if(empty($_REQUEST['type'])){
                if(count($house_cart) > 0){
                      $_REQUEST['type'] = 'house';
                }elseif(count($rental_cart) > 0){
                      $_REQUEST['type'] = 'rent';
                }
        }

        $smarty->assign("persons", $REM_db->getAll("select * from `agents`  where `site` = '1' and `active` = '1' order by `xorder`"));

        if($_REQUEST['gosubmit']){

                $result = CheckCaptcha($_REQUEST['captcha_code']);

                if (empty($fname)) {
                        $smarty->assign("fnerr", "Please enter your first name.");
                }elseif(empty($lname)) {
                        $smarty->assign("lnerr", "Please enter your last name.");
                }elseif($lname == $fname) {
                        $smarty->assign("lnerr", "An error occurred during processing form. Please try again.");
                }elseif(!filter_var($email, FILTER_VALIDATE_EMAIL)){
                        $smarty->assign("eerr", "Please enter your e-mail.");
                }elseif(empty($phone)) {
                        $smarty->assign("perr", "Please enter your phone.");

                }elseif(preg_match('/www\.|http:|https:/',$_REQUEST['comments'])){

                         $smarty->assign("error", "Links are not allowed. Please remove any link and try again.");

                }elseif ($result['success'] != 1) {
                        $smarty->assign("error", "There was an problem while vaidating. Please check \"I am human\" button.");
                }else{

                       $ag_src = "Selected Agent: ";
                       $db_ag_src = "unrouted";

                       if(empty($_REQUEST['agent'])){

                                $url = 'https://jpfco.remplatform.com/resolve_lead_agent.php?' . http_build_query([
                                    'email' => $_REQUEST['email'],
                                    'phone' => $_REQUEST['phone'],
                                ]);

                                $response = file_get_contents($url);

                                if ($response === false) {
                                    $agent_name = "none";
                                }

                                $data = json_decode($response, true);

                                if (json_last_error() !== JSON_ERROR_NONE) {
                                    $agent_name = "none";
                                }

                                if (!empty($data['success'])) {
                                    $agent_name = $data['agent_name'];
                                    $agent_id = $data['agent_id'];
                                    $agent = $data['agent_email'];

                                    switch($data['source']){

                                       case "calendar":
                                          $ag_src = "Floor Time Agent: ";
                                          $db_ag_src = "floor time";
                                       break;

                                       case "lease_email":
                                          $ag_src = "Routed manually: ";
                                          $db_ag_src = "routed manually";
                                       break;

                                       case "lease_phone":
                                          $ag_src = "Routed manually: ";
                                          $db_ag_src = "routed manually";
                                       break;

                                       default:
                                          $ag_src = "Selected Agent: ";
                                          $db_ag_src = $data['source'];

                                    }

                                }else{
                                    $agent_name = "none";
                                }

                       }else{
                                $ag = $REM_db->Execute("select * from `agents` where `email` = '".$_REQUEST['agent']."'");
                                $agent_name = $ag->fields['name'];
                                $agent_id = $ag->fields['id'];
                                $agent = $ag->fields['email'];

                                $db_ag_src = "routed request";

                                $ag_src = "Selected Agent: ";

                       }

                       $smarty->assign("ag_src", $ag_src);

                       $smarty->assign("agent_name", $agent_name);
                       $smarty->assign("request", $_REQUEST);

                       $repeatsub = $REM_db->GetAll("select `id`, `rdate` from `contact` where `email` = '".$_REQUEST['email']."' order by `id` desc");
                       $smarty->assign("repeatsub", $repeatsub);


//                        $mail->AddAddress("cristian@q9digital.com", "JPFCO");

                        $mail->AddAddress("office@jpfco.com", "JPFCO");

                        if($agent){
                                $mail->AddAddress($agent, $agent_name);
                        }

                        $mail->AddBCC("cristian@q9digital.com", "JPFCO Index Contact");

                        $catcher = $db->Execute("Select `email` from `catcher` where `type` = 'contact'");
                        $mails = explode(",", $catcher->fields['email']);
                        foreach($mails as $ml){
                                if($ml){
                                        $mail->AddBCC(trim($ml));
                                }
                        }

                        if($rental_cart){
                                foreach ($rental_cart as $value){
                                        $idsr .= "#".$value['prod'].($value['rdate'] != '' ? ' | Date: '.$value['rdate'] : '' ).", ";
                                }
                        }

                        $idsr = rtrim(trim($idsr), ',');

                        if($house_cart){
                                foreach ($house_cart as $value){
                                        $idsh .= "#".$value['prod'].", ";
                                }
                        }

                        $idsh = rtrim(trim($idsh), ',');

                        $ctprops = ucfirst(strtolower($sendme))." ".($idsh ? "LinkId : ".($idsh)." " : " ").($idsr ? "Rental : ".($idsr)." " : " ");

                        $REM_db->Execute("INSERT INTO `contact` ( `id` , `fname` , `lname` , `address` , `city` , `state` , `zip` , `phone` , `email` , `sendme` , `reason` , `range` , `arange` , `via` , `comments` , `rdate` , `status`, `agent`, `fownd`, `momentnum`, `agent_id`, `agent_type` )
                                VALUES (
                                NULL , ".$db->qstr($_REQUEST['fname']).", ".$db->qstr($_REQUEST['lname']).", ".$db->qstr($_REQUEST['address1']." ".$_REQUEST['address2']).", ".$db->qstr($_REQUEST['city']).", ".$db->qstr($_REQUEST['state']).", ".$db->qstr($_REQUEST['zip']).", ".$db->qstr($_REQUEST['phone']).", ".$db->qstr($_REQUEST['email']).", '', '".$ctprops."', '', '', ".$db->qstr($_REQUEST['contactvia']).", ".$db->qstr($_REQUEST['comments']).", NOW(), '', ".$db->qstr($agent_name).", ".$db->qstr($fownd).", '".$_SESSION['momentnum']."', ".$db->qstr($agent_id).", '".$db_ag_src."'
                        )");

                       $lastId = $REM_db->insert_Id();
                       $getID = $REM_db->Execute("select `customer_id` from `contact` where `id` = '".$lastId."'");
                       $smarty->assign("customerID", $getID->fields['customer_id']);


                       $body = $smarty->fetch("cart_mail2.tpl");


                        $mail->FromName   = "JPFCO Web";
                        if(empty($sendme)) $sendme = 'General inquiry';
                        $mail->Subject    = ucfirst(strtolower($sendme));


                        $mail->AltBody    = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test
                        $mail->MsgHTML($body);



                        if(!$mail->Send()) {
                                echo "Mailer Error: " . $mail->ErrorInfo;
                        }

                        $smarty->compile_check = true;
                        $smarty->assign("finished", 1);
                        $smarty->assign("goal_page", '"Sales-Lead-finish.html"');
                        $db->Execute("delete from `favorite` where `momentnum` = '".$_SESSION['momentnum']."'");


                        $agentPhone = '';

                        if (!empty($agent_id)) {
                            $agentRow = $REM_db->Execute("SELECT `phone` FROM `agents` WHERE `id` = '".$REM_db->addq($agent_id)."'");
                            $agentPhone = $agentRow->fields['phone'] ?? '';
                        } elseif (!empty($_REQUEST['agent'])) {
                            $agentRow = $REM_db->Execute("SELECT `phone` FROM `agents` WHERE `email` = '".$REM_db->addq($_REQUEST['agent'])."'");
                            $agentPhone = $agentRow->fields['phone'] ?? '';
                        }

                        $smsText = buildLeadSmsText($_REQUEST, [
                            'subject' => 'New JPFCO basket inquiry',
                            'agent_label' => rtrim($ag_src, ': '),
                            'agent_name' => $agent_name,
                            'rental_cart' => $rental_cart,
                            'house_cart' => $house_cart,
                            'lead_url' => 'https://jpfco.remplatform.com/index.php?section=customers&action=view_account&id='.$getID->fields['customer_id']
                        ]);

//                        $agentPhone = '+15088394455';
                        $agentPhone = '+40740827507';

/*
                        $smsText = shortenSmsText($smsText, 155);
                        $smsResult = sendLeadSmsToAgent($agentPhone, $smsText);
*/

                        // Optional debug/log
                        // error_log(print_r($smsResult, true));



                }

                $_SESSION['fname'] = $_REQUEST['fname'];
                $_SESSION['lname'] = $_REQUEST['lname'];
                $_SESSION['email'] = $_REQUEST['email'];
                $_SESSION['phone'] = $_REQUEST['phone'];
                $_SESSION['address1'] = $_REQUEST['address1'];
                $_SESSION['address2'] = $_REQUEST['address2'];
                $_SESSION['city'] = $_REQUEST['city'];
                $_SESSION['state'] = $_REQUEST['state'];
                $_SESSION['zip'] = $_REQUEST['zip'];
                $_SESSION['contactvia'] = $_REQUEST['contactvia'];
                $_SESSION['sendme'] = $_REQUEST['sendme'];
                $_SESSION['fownd'] = $_REQUEST['fownd'];
                $_SESSION['agent'] = $_REQUEST['agent'];

                $_SESSION['comments'] = '';



        }


        $locations = $db->GetAll("SELECT DISTINCT (`location`) FROM `xml_realestate` ORDER BY `location` ASC");
        $smarty->Assign("locations", $locations);

        $smarty->Assign("css_before", '<link rel="canonical" href="https://www.jpfco.com/index.php?ptype=contact"/><meta name="robots" content="noindex,nofollow" />');

        $smarty->Assign("meta_title", "Nantucket Real Estate Nantucket Island, MA Rental Houses");
        $smarty->Assign("meta_key", "Nantucket Real Estate, Nantucket House Rental, Rental House, Home Rentals, Nantucket Vacation Rentals, Rentals");
        $smarty->Assign("meta_desc", "Nantucket Real Estate and House Rental options throughout Nantucket Island, MA - call (508) 228-3202.");
        $smarty->Assign("pmenu", "j");
        $smarty->display("contact.tpl");




break;



case "contact_thx":
        $smarty->display("contact_thx.tpl");
        break;

case "404":
        $smarty->Assign("meta_title", "Nantucket Real Estate Nantucket Island, MA Rental Houses");
        $smarty->Assign("meta_key", "Nantucket Real Estate, Nantucket House Rental, Rental House, Home Rentals, Nantucket Vacation Rentals, Rentals");
        $smarty->Assign("meta_desc", "Nantucket Real Estate and House Rental options throughout Nantucket Island, MA - call (508) 228-3202.");
        $smarty->display("404.tpl");
        break;

case "sitemap":
        $smarty->Assign("meta_title", "Nantucket Real Estate Nantucket Island, MA Rental Houses");
        $smarty->Assign("meta_key", "Nantucket Real Estate, Nantucket House Rental, Rental House, Home Rentals, Nantucket Vacation Rentals, Rentals");
        $smarty->Assign("meta_desc", "Nantucket Real Estate and House Rental options throughout Nantucket Island, MA - call (508) 228-3202.");

        $area = $REM_db->GetAll("SELECT DISTINCT ( `area` ) as `Area` FROM `areas` WHERE `area` <> '' ORDER BY `area`");

        $smarty->Assign("area", $area);
        $locations = $db->GetAll("SELECT DISTINCT (`location`) FROM `xml_realestate` ORDER BY `location` ASC");

        $smarty->Assign("locations", $locations);
        $smarty->display("sitemap.tpl");
        break;

case "xml_sitemap":

        $rentals = $REM_db->GetAll("SELECT * FROM `rentals` WHERE `AreaName` <> '' and `active` = '1' ORDER BY `AreaName`, `PropertyAddress`");
        $smarty->Assign("rentals", $rentals);

        $locations = $db->GetAll("SELECT DISTINCT (`location`) FROM `xml_realestate` ORDER BY `location` ASC");
        $smarty->Assign("locations", $locations);

        header("Content-Type: application/xml");
        $content = $smarty->fetch("xml_sitemap.tpl");
        echo $content;
        break;

case "txt_sitemap":
        $area = $REM_db->GetAll("SELECT DISTINCT ( `area` ) as `Area` FROM `areas` WHERE `area` <> '' ORDER BY `area`");
        $smarty->Assign("area", $area);
        $locations = $db->GetAll("SELECT DISTINCT (`location`) FROM `xml_realestate` ORDER BY `location` ASC");
        $smarty->assign('2weeks', strtotime('-14 day'));
        $smarty->Assign("locations", $locations);
        $dbnews = ADONewConnection('mysqli');
        $dbnews->Connect(env('DB_HOST','localhost'), env('DB_NEWS_USER'), env('DB_NEWS_PASS'), env('DB_NEWS_NAME'));
        $news = $dbnews->GetAll("SELECT `newsletter_id`, DATE_FORMAT(`issue_date`, '%b %e, %Y') as `xxl`  FROM `newsletter` where `status` = '1' order by `issue_date` DESC");
        $smarty->Assign("news", $news);
        $content = $smarty->fetch("txt_sitemap.tpl");
        echo $content;

        $dbnews->Close();
        break;

case "igoogle":
        $smarty->Assign("latest", $db->GetAll("SELECT b.*, a.`data` FROM `xml_date` a, `xml_realestate` b where a.`linkId` = b.`linkId` ORDER BY a.`data` DESC, a.`id` DESC LIMIT 0 , 5"));
        Header ("Content-Type: application/xml");
        $content = $smarty->fetch("igoogle.tpl");
        echo $content;
        exit;
        break;

case "rss_RELOR":
        $jhouses = $db->GetAll("SELECT * FROM `xml_realestate` where `LCompany` LIKE '%Pepper%' ORDER BY `location` ASC");
        $smarty->Assign("jhouses", $jhouses);
        Header ("Content-Type: application/xml");
        $content = $smarty->fetch("rss_RELOR.tpl");
        echo $content;
        $db->Close();
        break;

case "thankyou":
        $smarty->display("thankyou.tpl");
        break;

case "owner_form_BK":
        $smarty->assign("chat", 1);
        $area = $REM_db->GetAll("SELECT DISTINCT ( `area` ) as `Area` FROM `areas` WHERE `area` <> '' ORDER BY `area`");
        $smarty->Assign("area", $area);

        $amenities = $REM_db->GetAll("SELECT * FROM `amenities` order by `amenity` ASC");
        $smarty->Assign("amenities", $amenities);

        include_once 'securimage.php';
        $securimage = new Securimage();
        if($gosubmit == 'Submit'){

                if(empty($_REQUEST['amenities']))   $_REQUEST['amenities'] = array();
                if(empty($_REQUEST['water']))   $_REQUEST['water'] = array();


                if (empty($name)) {
                        $smarty->assign("error", "Please enter your name.");
                }elseif(empty($address)) {
                        $smarty->assign("error", "Please enter Address.");
                }elseif(empty($city)) {
                        $smarty->assign("error", "Please enter city.");
                }elseif(empty($state)) {
                        $smarty->assign("error", "Please enter state.");
                }elseif(empty($zip)) {
                        $smarty->assign("error", "Please enter zip.");
                }elseif(!filter_var($email, FILTER_VALIDATE_EMAIL)){
                        $smarty->assign("error", "Please enter your e-mail.");
                }elseif(empty($home)) {
                        $smarty->assign("error", "Please enter Home Phone Number.");
                }elseif(empty($maxoccup)) {
                        $smarty->assign("error", "Please enter Max. Occupancy.");
                }elseif(empty($nofbedrooms)) {
                        $smarty->assign("error", "Please enter Number of Bedrooms.");
                }elseif(empty($ybuilt)) {
                        $smarty->assign("error", "Please enter Year Built.");
                }elseif(empty($location)) {
                        $smarty->assign("error", "Please enter Location.");
                }elseif(empty($ffd)) {
                        $smarty->assign("error", "Please enter First Floor Description.");
                }elseif(empty($home)) {
                        $smarty->assign("error", "Please enter Home Phone Number.");
                }elseif ($securimage->check($_POST['captcha_code']) == false) {
                        $smarty->assign("error", "The code you entered was incorrect. Please try again.");
                }else{
                        // print_r($_REQUEST);
                        $message2 = "Full Name and Address:\n\n";
                        $message2 .= "Name: ".$_REQUEST['name']."\n";
                        $message2 .= "Address: ".$_REQUEST['address']."\n";
                        $message2 .= "City: ".$_REQUEST['city']."\n";
                        $message2 .= "State: ".$_REQUEST['state']."\n";
                        $message2 .= "Zip: ".$_REQUEST['zip']."\n";
                        $message2 .= "E-mail Address: ".$_REQUEST['email']."\n\n\n";

                        $message2 .= "Contact Phone Numbers:\n\n";
                        $message2 .= "Home Phone: ".$_REQUEST['home']."\n";
                        $message2 .= "Fax: ".$_REQUEST['fax']."\n";
                        $message2 .= "Work Phone: ".$_REQUEST['work']."\n";
                        $message2 .= "Cell. Phone: ".$_REQUEST['cell']."\n";
                        $message2 .= "Aditional: ".$_REQUEST['aditional']."\n\n\n";

                        $message2 .= "Occupancy / Bedroom Info:\n\n";
                        $message2 .= "Max. Occupancy: ".$_REQUEST['maxoccup']."\n";
                        $message2 .= "Number of Bedrooms: ".$_REQUEST['nofbedrooms']."\n";
                        $message2 .= "1. BR Type of Beds: ".$_REQUEST['typeb1']."\n";
                        $message2 .= "1. BR Flr.: ".$_REQUEST['flrb1']."\n";
                        $message2 .= "2. BR Type of Beds: ".$_REQUEST['typeb2']."\n";
                        $message2 .= "2. BR Flr.: ".$_REQUEST['flrb2']."\n";
                        $message2 .= "3. BR Type of Beds: ".$_REQUEST['typeb3']."\n";
                        $message2 .= "3. BR Flr.: ".$_REQUEST['flrb3']."\n";
                        $message2 .= "4. BR Type of Beds: ".$_REQUEST['typeb4']."\n";
                        $message2 .= "4. BR Flr.: ".$_REQUEST['flrb4']."\n";
                        $message2 .= "5. BR Type of Beds: ".$_REQUEST['typeb5']."\n";
                        $message2 .= "5. BR Flr.: ".$_REQUEST['flrb5']."\n";
                        $message2 .= "6. BR Type of Beds: ".$_REQUEST['typeb6']."\n";
                        $message2 .= "6. BR Flr.: ".$_REQUEST['flrb6']."\n";
                        $message2 .= "7. BR Type of Beds: ".$_REQUEST['typeb7']."\n";
                        $message2 .= "7. BR Flr.: ".$_REQUEST['flrb7']."\n";
                        $message2 .= "8. BR Type of Beds: ".$_REQUEST['typeb8']."\n";
                        $message2 .= "8. BR Flr.: ".$_REQUEST['flrb8']."\n\n\n";

                        $message2 .= "Utilities:\n\n";
                        //                $message2 .= "Utilities: ".$_REQUEST['utilities']."\n";
                        $message2 .= "Year Built: ".$_REQUEST['ybuilt']."\n";
                        $message2 .= "Year Renovated: ".$_REQUEST['yrenov']."\n";
                        $message2 .= "Distance to Town: ".$_REQUEST['distancetown']."\n";
                        $message2 .= "Distance to Beach: ".$_REQUEST['distancebeach']."\n\n\n";

                        $message2 .= "Property Info:\n\n";
                        $message2 .= "Location: ".$_REQUEST['location']."\n";
                        $message2 .= "Prop. Address: ".$_REQUEST['padress']."\n";
                        $message2 .= "House Name: ".$_REQUEST['hname']."\n";
                        $message2 .= "Phone No.: ".$_REQUEST['hphone']."\n";
                        $message2 .= "Fax No.: ".$_REQUEST['hfax']."\n\n\n";

                        $message2 .= "Property Description Information:\n\n";
                        $message2 .= "First Floor Description: ".$_REQUEST['ffd']."\n";
                        $message2 .= "Secon Flor Description: ".$_REQUEST['sfd']."\n";
                        $message2 .= "Other Description: ".$_REQUEST['odesc']."\n";
                        $message2 .= "Other Comments: ".$_REQUEST['ocomm']."\n\n\n";

                        $message2 .= "House Care Information:\n\n";
                        $message2 .= "Caretaker Name: ".$_REQUEST['caretakern']."\n";
                        $message2 .= "Caretaker Phone: ".$_REQUEST['caretakerp']."\n";
                        $message2 .= "Cleaner Name: ".$_REQUEST['cleanern']."\n";
                        $message2 .= "Cleaner Phone: ".$_REQUEST['cleanerp']."\n";
                        $message2 .= "Plumber Name: ".$_REQUEST['plumbern']."\n";
                        $message2 .= "Plumber Phone: ".$_REQUEST['plumberp']."\n";
                        $message2 .= "Lawncare Name: ".$_REQUEST['lawncaren']."\n";
                        $message2 .= "Lawncare Phone: ".$_REQUEST['lawncarep']."\n";
                        $message2 .= "Appl Repair Name: ".$_REQUEST['applrepn']."\n";
                        $message2 .= "Appl Repair Phone: ".$_REQUEST['applrepp']."\n";
                        $message2 .= "Appl Repair Name: ".$_REQUEST['applrepn']."\n";
                        $message2 .= "Appl Repair Phone: ".$_REQUEST['applrepp']."\n";
                        $message2 .= "Trash P/U Name: ".$_REQUEST['trashpun']."\n";
                        $message2 .= "Trash P/U Days: ".$_REQUEST['trashpud']."\n";
                        $message2 .= "Cleaner Cel.: ".$_REQUEST['cleanern']."\n";
                        $message2 .= "Cleaning Hrs: ".$_REQUEST['cleanerh']."\n";
                        if($_REQUEST['water']){
                                foreach($_REQUEST['water'] as $key => $value){
                        $message2 .= $value.": Yes \n";}}
                        $message2 .= "Keys/Alarm: ".$keys."\n";
                        $message2 .= "Alarm Code: ".$acode."\n\n\n";
                        $message2 .= "Wifi Password: ".$wifi."\n\n\n";

                        $message2 .= "House Amenities:\n\n";
                        if($_REQUEST['amenities']){
                                foreach($_REQUEST['amenities'] as $key => $value){
                        $message2 .= $value.": Yes \n";}}
                        $message2 .= "Other Amenities: ".$_REQUEST['otherameni']."\n";



                        $message = $message2;
                        $mail->FromName   = "JPFCO Web";
                        $mail->Subject    = "Home Owners Form";
                        $mail->Body       = $message2; //HTML Body

                        $mail->AddAddress("rentals@jpfco.com", "JPFCO");

                        $mail->AddCC("office@jpfco.com", "JPFCO");

                        $mail->AddReplyTo($_REQUEST['email'], $_REQUEST['name']);

                        if(!$mail->Send()) {
                                echo "Mailer Error: " . $mail->ErrorInfo;
                        }
                        $smarty->display("done_owner_form.tpl");
                        $db->Close();
                        exit();
                }
        }else{
                $_REQUEST['amenities'] = array();
                $_REQUEST['water'] = array();
        }
        $smarty->Assign("meta_title", "Nantucket Rental House Owner Listing Information");
        $smarty->Assign("meta_key", "Nantucket Real Estate, Nantucket House Rental, Rental House, Home Rentals, Nantucket Vacation Rentals, Rentals");
        $smarty->Assign("meta_desc", "Nantucket Real Estate and House Rental options throughout Nantucket Island, MA - call (508) 228-3202.");
        $area = $REM_db->GetAll("SELECT DISTINCT ( `area` ) as `Area` FROM `areas` WHERE `area` <> '' ORDER BY `area`");
        $smarty->Assign("loc", $area);
        $smarty->Assign("noprototype", "no");
        $smarty->Assign("pmenu", "r");
        $smarty->display("owner_form.tpl");
        break;


case "owner_form":
        $smarty->assign("chat", 1);
        $area = $REM_db->GetAll("SELECT DISTINCT ( `area` ) as `Area` FROM `areas` WHERE `area` <> '' ORDER BY `area`");
        $smarty->Assign("area", $area);

        $amenities = $REM_db->GetAll("SELECT * FROM `amenities` order by `amenity` ASC");
        $smarty->Assign("amenities", $amenities);

        $month = date( 'm', time() );
        $day = date( 'j', time() );

        if((intval($month) < 8)){
                $year = date( 'Y', strtotime("now"));
        }else{
                if((intval($month) == 8) && ($day < 11)){
                        $year = date( 'Y', strtotime("now"));
                }else{
                        $year = date( 'Y', strtotime("+1 year"));
                }
        }



        if($_REQUEST['gosubmit'] == 'Submit'){


$result = checkHcaptcha($_POST['h-captcha-response']);

                if (!$result) {
                        $smarty->assign("error", "There was an problem while vaidating. Please check \"I am human\" button.");
                }else{

                if(empty($_REQUEST['amenities']))   $_REQUEST['amenities'] = array();
                if(empty($_REQUEST['water']))   $_REQUEST['water'] = array();


                if (empty($fname)) {
                        $smarty->assign("error", "Please enter your name.");
                }else{

                        $message2 .= "Homeowner Contact Information:\n\n";

                        $message2 .= "First Name: ".$_REQUEST['fname']."\n";
                        $message2 .= "Last Name: ".$_REQUEST['lname']."\n";
                        $message2 .= "LLC Information: ".$_REQUEST['llc']."\n";

                        $message2 .= "Are subject to the Nantucket community impact fee of 3%: ".$_REQUEST['impact']."\n";

                        $message2 .= "Mailing Address: ".$_REQUEST['address']."\n";
                        $message2 .= "City: ".$_REQUEST['city']."\n";
                        $message2 .= "State/Region: ".$_REQUEST['state']."\n";
                        $message2 .= "Postal Code: ".$_REQUEST['zip']."\n";
                        $message2 .= "E-mail: ".$_REQUEST['email']."\n";

                        $message2 .= "Mobile Phone Number: ".$_REQUEST['cell']."\n";
                        $message2 .= "Additional Phone Number: ".$_REQUEST['aditional']."\n\n";


                        $message2 .= "Property Information:\n\n";


                        $message2 .= "Property Address: ".$_REQUEST['padress']."\n";
                        $message2 .= "Location: ".$_REQUEST['location']."\n";
                        $message2 .= "House Name: ".$_REQUEST['hname']."\n";
                        $message2 .= "Year Built: ".$_REQUEST['ybuilt']."\n";
                        $message2 .= "Year Renovated: ".$_REQUEST['yrenov']."\n";
                        $message2 .= "Distance to Beach: ".$_REQUEST['distancebeach']."\n";
                        $message2 .= "Distance to Town: ".$_REQUEST['distancetown']."\n";

                        $message2 .= "Parking: ".$_REQUEST['parking']."\n";
                        $message2 .= "# of Parking Spots: ".$_REQUEST['parkingno']."\n";
                        $message2 .= "Waterfront: ".$_REQUEST['waterfront']."\n";
                        $message2 .= "Waterview: ".$_REQUEST['waterview']."\n";
                        $message2 .= "Walk to Water: ".$_REQUEST['walktowater']."\n";
                        $message2 .= "Pets Allowed: ".$_REQUEST['petsallowed']."\n\n";


                        $message2 .= "House Care Information:\n\n";

                        $message2 .= "Caretaker Name: ".$_REQUEST['caretakern']."\n";
                        $message2 .= "Caretaker Phone: ".$_REQUEST['caretakerp']."\n";

                        $message2 .= "Cleaner Name: ".$_REQUEST['cleanern']."\n";
                        $message2 .= "Cleaner Phone: ".$_REQUEST['cleanerp']."\n";

                        $message2 .= "Is turnover cleaning included in rental rates? ".$_REQUEST['turnoverclean']."\n";
                        $message2 .= "If cleaning is included in rental rate, how many hours of cleaning or what dollar amount is included?: ".$_REQUEST['hoursclean']."\n";


                        $message2 .= "Plumber Name: ".$_REQUEST['plumbern']."\n";
                        $message2 .= "Plumber Phone: ".$_REQUEST['plumberp']."\n";

                        $message2 .= "Lawn Care Name: ".$_REQUEST['lawncaren']."\n";
                        $message2 .= "Lawn Care Service: ".$_REQUEST['lawncarep']."\n";

                        $message2 .= "Electrician: ".$_REQUEST['electriciann']."\n";
                        $message2 .= "Electrician Phone: ".$_REQUEST['electricianp']."\n";

                        $message2 .= "Appl Repair Name: ".$_REQUEST['applrepn']."\n";
                        $message2 .= "Appl Repair Phone: ".$_REQUEST['applrepp']."\n";

                        $message2 .= "Garbage Removal Company: ".$_REQUEST['trashpun']."\n";
                        $message2 .= "Pick Up Days: ".$_REQUEST['trashpud']."\n";

                        $message2 .= "Wi-Fi Network: ".$_REQUEST['wifin']."\n";
                        $message2 .= "Wi-Fi Password: ".$_REQUEST['wifi']."\n";

                        $message2 .= "Keypad Entry Code:  ".$_REQUEST['keyentry']."\n";
                        $message2 .= "Alarm Code: ".$_REQUEST['acode']."\n";

                        $message2 .= "Lock Box Code: ".$_REQUEST['lockbox']."\n";
                        $message2 .= "Lock Box Location: ".$_REQUEST['lockboxloc']."\n";

                        $message2 .= "Do you have a security camera or any recording devices on the property? ".$_REQUEST['securitycam']."\n";
                        $message2 .= "If yes, please disclose where they are located on the property:* ".$_REQUEST['disclose']."\n";

                        $message2 .= "Property Description Information :\n\n";

                        $message2 .= "Number of Bedrooms: ".$_REQUEST['nofbedrooms']."\n";
                        $message2 .= "Number of Bathrooms: ".$_REQUEST['nofbath']."\n";
                        $message2 .= "Max. Occupancy: ".$_REQUEST['maxoccup']."\n";

                        $message2 .= "1. BR Type of Beds: ".$_REQUEST['typeb1']."\n";
                        $message2 .= "1. BR Flr.: ".$_REQUEST['flrb1']."\n";
                        $message2 .= "1. En-Suite Bath: ".$_REQUEST['esb1']."\n";

                        $message2 .= "2. BR Type of Beds: ".$_REQUEST['typeb2']."\n";
                        $message2 .= "2. BR Flr.: ".$_REQUEST['flrb2']."\n";
                        $message2 .= "2. En-Suite Bath: ".$_REQUEST['esb2']."\n";

                        $message2 .= "3. BR Type of Beds: ".$_REQUEST['typeb3']."\n";
                        $message2 .= "3. BR Flr.: ".$_REQUEST['flrb3']."\n";
                        $message2 .= "3. En-Suite Bath: ".$_REQUEST['esb3']."\n";

                        $message2 .= "4. BR Type of Beds: ".$_REQUEST['typeb4']."\n";
                        $message2 .= "4. BR Flr.: ".$_REQUEST['flrb4']."\n";
                        $message2 .= "4. En-Suite Bath: ".$_REQUEST['esb4']."\n";

                        $message2 .= "5. BR Type of Beds: ".$_REQUEST['typeb5']."\n";
                        $message2 .= "5. BR Flr.: ".$_REQUEST['flrb5']."\n";
                        $message2 .= "5. En-Suite Bath: ".$_REQUEST['esb5']."\n";

                        $message2 .= "6. BR Type of Beds: ".$_REQUEST['typeb6']."\n";
                        $message2 .= "6. BR Flr.: ".$_REQUEST['flrb6']."\n";
                        $message2 .= "6. En-Suite Bath: ".$_REQUEST['esb6']."\n";

                        $message2 .= "7. BR Type of Beds: ".$_REQUEST['typeb7']."\n";
                        $message2 .= "7. BR Flr.: ".$_REQUEST['flrb7']."\n";
                        $message2 .= "7. En-Suite Bath: ".$_REQUEST['esb7']."\n";

                        $message2 .= "8. BR Type of Beds: ".$_REQUEST['typeb8']."\n";
                        $message2 .= "8. BR Flr.: ".$_REQUEST['flrb8']."\n";
                        $message2 .= "8. En-Suite Bath: ".$_REQUEST['esb8']."\n\n";

                        $message2 .= "Total Number of Full Baths: ".$_REQUEST['tnfb']."\n";
                        $message2 .= "Total Number of Half Baths: ".$_REQUEST['tnhb']."\n";
                        $message2 .= "Number of Tub/Shower Combo: ".$_REQUEST['nsc']."\n";
                        $message2 .= "Number of Shower Only: ".$_REQUEST['nso']."\n";
                        $message2 .= "Number of Bathtub Only: ".$_REQUEST['nbto']."\n\n";



                        $message2 .= "Property Description Information:\n\n";
                        $message2 .= "First Floor Description: ".$_REQUEST['ffd']."\n";
                        $message2 .= "Secon Flor Description: ".$_REQUEST['sfd']."\n";

                        $message2 .= "Third Floor Description: ".$_REQUEST['tfd']."\n";
                        $message2 .= "Lower Level Description: ".$_REQUEST['lld']."\n";
                        $message2 .= "Cottage/Studio Description:  ".$_REQUEST['csd']."\n";

                        $message2 .= "Outdoor Space: ".$_REQUEST['odesc']."\n";
                        $message2 .= "Other Comments: ".$_REQUEST['ocomm']."\n\n\n";


                        $message2 .= "House Amenities:\n\n";
                        if($_REQUEST['amenities']){
                                foreach($_REQUEST['amenities'] as $key => $value){
                        $message2 .= $value.": Yes \n";}}
                        $message2 .= "Other Amenities: ".$_REQUEST['otherameni']."\n\n";

                        $message2 .= "Property Availability :\n\n";

                        foreach($weeklyrate as $key => $value){
                            $message2 .= "Week Beginning: ".$key." | Weekly rate: ".$value." | Comment:".$weeklycomment[$key]."\n";
                        }

                        $message2 .= "Off-Season: ".$_REQUEST['offseason']."\n";


                        $message = $message2;
                        $mail->FromName   = "JPFCO Web";
                        $mail->Subject    = "Home Owners Form";
                        $mail->Body       = $message2; //HTML Body


                        //$mail->AddAddress("infoiasi@gmail.com", "JPFCO");

                        $mail->AddAddress("rentals@jpfco.com", "JPFCO");
                        $mail->AddCC("office@jpfco.com", "JPFCO");
                        $mail->AddBCC("infoiasi@gmail.com", "JPFCO");

                        $mail->AddReplyTo($_REQUEST['email'], $_REQUEST['name']);

                        if(!$mail->Send()) {
                                echo "Mailer Error: " . $mail->ErrorInfo;
                        }

                        $smarty->display("done_owner_form.tpl");
                        $db->Close();
                        exit();

                }

             }

        }else{
                $_REQUEST['amenities'] = array();
                $_REQUEST['water'] = array();
        }

        $smarty->Assign("year", $year);

        $sdate = date( 'd-m-Y', strtotime( 'last Saturday june ' . $year));
        $edate = date( 'd-m-Y', strtotime( 'last Saturday October ' . $year ));
        $dates = array();
        $dates[] = $sdate;
        while(strtotime($sdate) < strtotime($edate)){
                $sdate = date( 'd-m-Y', strtotime("+7 days", strtotime($sdate)));
                $dates[] = $sdate;
                //exit;
        }
        $smarty->Assign("dates", $dates);

        $smarty->Assign("meta_title", "Nantucket Rental House Owner Listing Information");
        $smarty->Assign("meta_key", "Nantucket Real Estate, Nantucket House Rental, Rental House, Home Rentals, Nantucket Vacation Rentals, Rentals");
        $smarty->Assign("meta_desc", "Nantucket Real Estate and House Rental options throughout Nantucket Island, MA - call (508) 228-3202.");
        $area = $REM_db->GetAll("SELECT DISTINCT ( `area` ) as `Area` FROM `areas` WHERE `area` <> '' ORDER BY `area`");
        $smarty->Assign("loc", $area);
        $smarty->Assign("noprototype", "no");
        $smarty->Assign("pmenu", "r");
        $smarty->display("home_owner_form.tpl");



        break;

case "banner":
        $smarty->Assign("latest", $db->GetAll("SELECT b.*, a.`data` FROM `xml_date` a, `xml_realestate` b where a.`linkId` = b.`linkId` ORDER BY a.`data` DESC, a.`id` DESC LIMIT 0 , 30"));
        $smarty->display("iframebanner.tpl");
        break;



case "map_sold_filter":

       if(empty($_SERVER['QUERY_STRING'])) $_SERVER['QUERY_STRING'] = "ptype=map_sold_filter";

        $map_url = str_replace("map_sold_filter", "list_sold_filter", $_SERVER['QUERY_STRING']);
        if($map_url) $smarty->assign("map_url", "index.php?".$map_url);

        if($reqArea){
                $areasF = $reqArea;
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }else{
                $areasF = array();
                $smarty->Assign("sell_all_areas", true);
        }
        $smarty->Assign("areas", $areasF);


        if($agency){
                $sqlCondAgency .= " and `LCompany` LIKE '%Pepper%' ";
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }

        if($type){
                if($type == 'Land'){
                        $sqlCond .= " and `type` = 'Land'";
                }else{
                        $sqlCond .= " and `type` <> 'Land'";
                }
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }

        if($bedrooms){
                switch($bedrooms){
                case "1":
                        $sqlCond .= " and ( CAST( `bedrooms` AS DECIMAL ) >= '1' and  `bedrooms` <= '3' ) ";
                        break;

                case "2":
                        $sqlCond .= " and ( CAST( `bedrooms` AS DECIMAL ) >= '4' and  `bedrooms` <= '6' ) ";
                        break;

                case "3":
                        $sqlCond .= " and ( CAST( `bedrooms` AS DECIMAL ) >= '7' )";
                        break;
                }
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }
        if($year){
                $sqlCond .= " and ( YEAR( `data` ) = '".$year."') ";
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }
        if($bathrooms){
                $sqlCond .= " and ( CAST( `bathrooms` AS DECIMAL ) >= '".$bathrooms."') ";
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }
        if($capacity){
                switch($capacity){
                case "1":
                        $sqlCond .= " and ( CAST( `totalrooms` AS DECIMAL ) >= '1' and  `totalrooms` <= '3' ) ";
                        break;

                case "2":
                        $sqlCond .= " and ( CAST( `totalrooms` AS DECIMAL ) >= '4' and  `totalrooms` <= '6' ) ";
                        break;

                case "3":
                        $sqlCond .= " and ( CAST( `totalrooms` AS DECIMAL ) >= '7' )";
                        break;
                }
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }

        if($areasF){
                $sqlCondArea .= " and ( ";
                foreach($areasF as $value){
                        $value = str_replace("-", " ",str_replace("_", " ", $value));
                        $sqlCondArea .= " `location` = '".$value."' or ";
                }
                $sqlCondArea = substr_replace($sqlCondArea, "", -3);
                $sqlCondArea .= " )";
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }


        if($amountMin){
                if($amountMax)
                        $sqlTmp = " `price` <= ".$amountMax." and ";
                else
                $sqlTmp = "";

                $sqlCond .= " AND ( ".$sqlTmp." `price` >= ".$amountMin." )";
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }elseif($amountMax){
                $sqlCond .= " AND ( `price` <= ".$amountMax." )";
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }


        $sqlCountH = "select count(`id`) as no_ev from `xml_sold_new` where 1" . $sqlCond . $sqlCondArea . $sqlCondAgency;
        $record = $db->CacheExecute($sqlCountH);

        $count_rec = $record->fields['no_ev'];
        $nr_afisari = 10000;
        $nr_pages = ceil($count_rec/$nr_afisari);
        if($page > $nr_pages) $page = 1;
        if(empty($page))$page = 1;

        $smarty->Assign("html", '<span class="results"><em>Results: '.$count_rec.'</em> <span id="clear-filter">Clear Filters</span></span>');

        $sqlH = "SELECT `id`, `map`, `linkId`  FROM `xml_sold_new` where 1 " . $sqlCond . $sqlCondArea . $sqlCondAgency . $sqlOrd . " LIMIT ".($page-1)*$nr_afisari.",".$nr_afisari;

        if($test == 1) echo $sqlCountH."<br><br>".$sqlH;


        $loc = array();
        $x=0;
        $locations = $db->CacheExecute("SELECT DISTINCT (`location`) FROM `xml_sold_new` ORDER BY `location` ASC");
        while(!$locations->EOF){
                $tmp = $db->CacheExecute("SELECT count(`id`) as `noLoc` FROM `xml_sold_new` where `location` = '".$locations->fields['location']."' ".$sqlCond . $sqlCondAgency);
                if ($test == 1) echo "SELECT count(`id`) as noLoc FROM `xml_sold_new` where `location` = '".$locations->fields['location']."' ".$sqlCond . $sqlCondAgency;
                $loc[$x]['location'] = $locations->fields['location'];
                $loc[$x]['numar'] = $tmp->fields['noLoc'];
                $x++;
                $locations->MoveNext();
        }
        $smarty->Assign("locations", $loc);

        $mprice = $db->Execute("SELECT MAX( `soldPrice` ) as `mprice` FROM `xml_sold_new` ");
        $smarty->Assign("mprice", $mprice->fields['mprice']);


        $tmp1 = $db->CacheExecute("SELECT count(`id`) as `noAge` FROM `xml_sold_new` where `LCompany` LIKE '%Pepper%' ".$sqlCondArea." ".$sqlCond);
        if ($test == 1) echo "SELECT count(`id`) as `noLoc` FROM `xml_sold_new` where `LCompany` LIKE '%Pepper%' ".$sqlCondArea." ".$sqlCond;
        $jpfco['numar'] = $tmp1->fields['noAge'];
        $smarty->Assign("jpfco", $jpfco);

        $smarty->Assign("Agency", $agency);


        $houses = $db->CacheGetAll($sqlH);
        $smarty->Assign("houses", $houses);


        $smarty->Assign("amountMin", $amountMin);
        $smarty->Assign("amountMax", $amountMax);

        $smarty->Assign("sort", $sort);
        $smarty->Assign("type", $type);
        $smarty->Assign("bedrooms", $bedrooms);
        $smarty->Assign("bathrooms", $bathrooms);
        $smarty->Assign("capacity", $capacity);


        $smarty->Assign("meta_title", "Nantucket Recent Sales Map  - Nantucket Real Estate Nantucket Island, MA Rental Houses");
        $smarty->Assign("meta_key", "Nantucket Recent Sales Map  - Nantucket Real Estate Nantucket Island, MA Rental Houses");
        $smarty->Assign("meta_desc", "Nantucket Recent Sales Map  - Nantucket Real Estate Nantucket Island, MA Rental Houses");
        $smarty->Assign("pmenu", "re");
        $smarty->Assign("noprototype", "no");
        $smarty->display("map_sold_filter.tpl");

        break;


case "map_sold_filter_json":

        if($area){
                $areasF = explode( ',', $area );
        }else{
                $areasF = array();
        }
        $smarty->Assign("areas", $areasF);

        if($agency){
                $sqlCondAgency .= " and `LCompany` LIKE '%Pepper%' ";
        }

        if($type){
                if($type == 'Land'){
                        $sqlCond .= " and `type` = 'Land'";
                }else{
                        $sqlCond .= " and `type` <> 'Land'";
                }
        }

        if($bedrooms){
                switch($bedrooms){
                case "1":
                        $sqlCond .= " and ( CAST( `bedrooms` AS DECIMAL ) >= '1' and  `bedrooms` <= '3' ) ";
                        break;

                case "2":
                        $sqlCond .= " and ( CAST( `bedrooms` AS DECIMAL ) >= '4' and  `bedrooms` <= '6' ) ";
                        break;

                case "3":
                        $sqlCond .= " and ( CAST( `bedrooms` AS DECIMAL ) >= '7' )";
                        break;
                }
        }
        if($bathrooms){
                $sqlCond .= " and ( CAST( `bathrooms` AS DECIMAL ) >= '".$bathrooms."') ";
        }

        if($year){
                $sqlCond .= " and ( YEAR( `data` ) = '".$year."') ";
        }

        if($capacity){
                switch($capacity){
                case "1":
                        $sqlCond .= " and ( CAST( `totalrooms` AS DECIMAL ) >= '1' and  `totalrooms` <= '3' ) ";
                        break;

                case "2":
                        $sqlCond .= " and ( CAST( `totalrooms` AS DECIMAL ) >= '4' and  `totalrooms` <= '6' ) ";
                        break;

                case "3":
                        $sqlCond .= " and ( CAST( `totalrooms` AS DECIMAL ) >= '7' )";
                        break;
                }
        }

        if($areasF){
                $sqlCondArea .= " and ( ";
                foreach($areasF as $value){
                        $value = str_replace("-", " ",str_replace("_", " ", $value));
                        $sqlCondArea .= " `location` = '".$value."' or ";
                }
                $sqlCondArea = substr_replace($sqlCondArea, "", -3);
                $sqlCondArea .= " )";
        }


        if($amountMin){
                if($amountMax)
                        $sqlTmp = " `price` <= ".$amountMax." and ";
                else
                $sqlTmp = "";

                $sqlCond .= " AND ( ".$sqlTmp." `price` >= ".$amountMin." )";

        }elseif($amountMax){
                $sqlCond .= " AND ( `price` <= ".$amountMax." )";
        }


        $sqlCountH = "select count(`id`) as no_ev from `xml_sold_new` where 1" . $sqlCond . $sqlCondArea . $sqlCondAgency;
        $record = $db->CacheExecute($sqlCountH);

        $count_rec = $record->fields['no_ev'];
        $nr_afisari = 10000;
        $nr_pages = ceil($count_rec/$nr_afisari);
        if($page > $nr_pages) $page = 1;
        if(empty($page))$page = 1;

        switch ($sort){

        case "price-high":
                $sqlOrd = " ORDER BY `soldPrice` DESC, `price` DESC ";
                break;

        case "price-low":
                $sqlOrd = " ORDER BY `soldPrice` ASC, `price` DESC ";
                break;

        case "bedrooms-high":
                $sqlOrd = " ORDER BY CAST( `bedrooms` AS DECIMAL ) DESC, `soldPrice` DESC ";
                break;

        case "bedrooms-low":
                $sqlOrd = " ORDER BY CAST( `bedrooms` AS DECIMAL ) ASC, `soldPrice` DESC ";
                break;

        case "date-low":
                $sqlOrd = " ORDER BY `data` ASC, `soldPrice` DESC ";
                break;

        case "type":
                $sqlOrd = " ORDER BY `tip` ASC, `soldPrice` DESC ";
                break;

        default:
                $sqlOrd = " ORDER BY `data` DESC, `soldPrice` DESC ";
        }

        $sqlH = "SELECT `map`, `linkId` FROM `xml_sold_new` where 1 " . $sqlCond . $sqlCondArea . $sqlCondAgency . $sqlOrd . " LIMIT ".($page-1)*$nr_afisari.",".$nr_afisari;

        if($test == 1) echo $sqlCountH."<br><br>".$sqlH;


        $loc = array();
        $x=0;
        $locations = $db->CacheExecute("SELECT DISTINCT (`location`) FROM `xml_sold_new` ORDER BY `location` ASC");
        while(!$locations->EOF){
                $tmp = $db->CacheExecute("SELECT count(`id`) as `noLoc` FROM `xml_sold_new` where `location` = '".$locations->fields['location']."' ".$sqlCond . $sqlCondAgency);
                if ($test == 1) echo "SELECT count(`id`) as noLoc FROM `xml_sold_new` where `location` = '".$locations->fields['location']."' ".$sqlCond . $sqlCondAgency."<br><br>";
                $loc[$x]['location'] = $locations->fields['location'];
                $loc[$x]['numar'] = $tmp->fields['noLoc'];
                $x++;
                $locations->MoveNext();
        }

        $tmp1 = $db->CacheExecute("SELECT count(`id`) as `noAge` FROM `xml_sold_new` where `LCompany` LIKE '%Pepper%' ".$sqlCondArea." ".$sqlCond);
        if ($test == 1) echo "SELECT count(`id`) as `noLoc` FROM `xml_sold_new` where `LCompany` LIKE '%Pepper%' ".$sqlCondArea." ".$sqlCond."<br><br>";;
        $jpfco['numar'] = $tmp1->fields['noAge'];

        $jSON = $db->CacheGetAll($sqlH);

        $jSON['pagination'] = '<span class="results"><em>Results: '.$count_rec.'</em><span id="clear-filter">Clear Filters</span></span>';
        $jSON['area'] = $loc;
        $jSON['jpfco'] = $jpfco;
        if ($test <> 1)        header('Content-type: application/json');
        echo json_encode($jSON);
        break;

        break;

case "map_contract_filter_json":

      $contract = 1;
      $smarty->assign("contract", $contract);

case "map_houses_filter_json":

       if($contract){

          $status_cond = " AND LOWER(`status`) IN ( 'pending', 'active under contract') ";

       }else{

          $status_cond = " AND LOWER(`status`) IN ( 'active', 'active under contract') ";

       }

        if($area){
                $areasF = explode( ',', $area );
        }else{
                $areasF = array();
        }
        $smarty->Assign("areas", $areasF);

        if($agency){
                $sqlCondAgency .= " and `LCompany` LIKE '%Pepper%' ";
        }

        if($type){
                if($type == 'Land'){
                        $sqlCond .= " and `type` = 'Land'";
                }else{
                        $sqlCond .= " and `type` <> 'Land'";
                }
        }

        if($bedrooms){
                switch($bedrooms){
                case "1":
                        $sqlCond .= " and ( CAST( `bedrooms` AS DECIMAL ) >= '1' and  `bedrooms` <= '3' ) ";
                        break;

                case "2":
                        $sqlCond .= " and ( CAST( `bedrooms` AS DECIMAL ) >= '4' and  `bedrooms` <= '6' ) ";
                        break;

                case "3":
                        $sqlCond .= " and ( CAST( `bedrooms` AS DECIMAL ) >= '7' )";
                        break;
                }
        }
        if($bathrooms){
                $sqlCond .= " and ( CAST( `bathrooms` AS DECIMAL ) >= '".$bathrooms."') ";
        }
        if($capacity){
                switch($capacity){
                case "1":
                        $sqlCond .= " and ( CAST( `totalrooms` AS DECIMAL ) >= '1' and  `totalrooms` <= '3' ) ";
                        break;

                case "2":
                        $sqlCond .= " and ( CAST( `totalrooms` AS DECIMAL ) >= '4' and  `totalrooms` <= '6' ) ";
                        break;

                case "3":
                        $sqlCond .= " and ( CAST( `totalrooms` AS DECIMAL ) >= '7' )";
                        break;
                }
        }

        if($areasF){
                $sqlCondArea .= " and ( ";
                foreach($areasF as $value){
                        $value = str_replace("-", " ",str_replace("_", " ", $value));
                        $sqlCondArea .= " `location` = '".$value."' or ";
                }
                $sqlCondArea = substr_replace($sqlCondArea, "", -3);
                $sqlCondArea .= " )";
        }


        if($amountMin){
                if($amountMax)
                        $sqlTmp = " `price` <= ".$amountMax." and ";
                else
                $sqlTmp = "";

                $sqlCond .= " AND ( ".$sqlTmp." `price` >= ".$amountMin." )";

        }elseif($amountMax){
                $sqlCond .= " AND ( `price` <= ".$amountMax." )";
        }


        $sqlCountH = "select count(`id`) as no_ev from `xml_realestate` where 1 ".$status_cond." " . $sqlCond . $sqlCondArea . $sqlCondAgency;
        $record = $db->CacheExecute($sqlCountH);

        $count_rec = $record->fields['no_ev'];
        $nr_afisari = 10000;
        $nr_pages = ceil($count_rec/$nr_afisari);
        if($page > $nr_pages) $page = 1;
        if(empty($page))$page = 1;

        switch ($sort){

        case "price-low":
                $sqlOrd = " ORDER BY `price` ASC, CAST( `bedrooms` AS DECIMAL ) DESC ";
                break;

        case "bedrooms-high":
                $sqlOrd = " ORDER BY CAST( `bedrooms` AS DECIMAL ) DESC, CAST( `totalrooms` AS DECIMAL ) DESC";
                break;

        case "bedrooms-low":
                $sqlOrd = " ORDER BY CAST( `bedrooms` AS DECIMAL ) ASC, CAST( `totalrooms` AS DECIMAL ) DESC";
                break;

        case "date-high":
                $sqlOrd = " ORDER BY `linkId` DESC, CAST( `bedrooms` AS DECIMAL ) DESC";
                break;

        case "date-low":
                $sqlOrd = " ORDER BY `linkId` ASC, CAST( `bedrooms` AS DECIMAL ) DESC";
                break;

        case "type":
                $sqlOrd = " ORDER BY `tip` ASC, CAST( `bedrooms` AS DECIMAL ) DESC";
                break;

        default:
                $sqlOrd = " ORDER BY `price` DESC, CAST( `bedrooms` AS DECIMAL ) DESC ";
        }

        $sqlH = "SELECT `title`, `location`, `address`, `linkId`, `thumb`,`bedrooms`, `bathrooms`, `price`, `rlink`, `latitude`, `longitude`  FROM `xml_realestate` where 1 ".$status_cond." " . $sqlCond . $sqlCondArea . $sqlCondAgency . $sqlOrd . " LIMIT ".($page-1)*$nr_afisari.",".$nr_afisari;

        if($test == 1) echo $sqlCountH."<br><br>".$sqlH;


        $loc = array();
        $x=0;
        $locations = $db->CacheExecute("SELECT DISTINCT (`location`) FROM `xml_realestate` WHERE  1 ".$status_cond."  ORDER BY `location` ASC");
        while(!$locations->EOF){
                $tmp = $db->CacheExecute("SELECT count(`id`) as `noLoc` FROM `xml_realestate` WHERE  1 ".$status_cond."  and `location` = '".$locations->fields['location']."' ".$sqlCond . $sqlCondAgency);
                if ($test == 1) echo "SELECT count(`id`) as noLoc FROM `xml_realestate` WHERE  1 ".$status_cond."  and `location` = '".$locations->fields['location']."' ".$sqlCond . $sqlCondAgency."<br><br>";
                $loc[$x]['location'] = $locations->fields['location'];
                $loc[$x]['numar'] = $tmp->fields['noLoc'];
                $x++;
                $locations->MoveNext();
        }

        $tmp1 = $db->CacheExecute("SELECT count(`id`) as `noAge` FROM `xml_realestate` WHERE  1 ".$status_cond." and `LCompany` LIKE '%Pepper%' ".$sqlCondArea." ".$sqlCond);
        if ($test == 1) echo "SELECT count(`id`) as `noLoc` FROM `xml_realestate` WHERE  1 ".$status_cond." and `LCompany` LIKE '%Pepper%' ".$sqlCondArea." ".$sqlCond."<br><br>";;
        $jpfco['numar'] = $tmp1->fields['noAge'];

        $jSON = $db->CacheGetAll($sqlH);

        $jSON['pagination'] = '<span class="results"><em>Results: '.$count_rec.'</em> <span id="clear-filter">Clear Filters</span></span>';

        $jSON['area'] = $loc;
        $jSON['jpfco'] = $jpfco;
        if ($test <> 1)        header('Content-type: application/json');
        echo json_encode($jSON);
        break;

        break;


case "map_contract_filter":

      $contract = 1;
      $smarty->assign("contract", $contract);

case "map_houses_filter":


       if(empty($_SERVER['QUERY_STRING'])) $_SERVER['QUERY_STRING'] = "ptype=map_houses_filter";

       if($contract){

          $status_cond = " AND LOWER(`status`) IN ( 'pending', 'active under contract') ";

          $map_url = str_replace("map_contract_filter", "list_contract_filter", $_SERVER['QUERY_STRING']);
          if($map_url) $smarty->assign("map_url", "nantucket-under-contract/?".$map_url);

       }else{

          $status_cond = " AND LOWER(`status`) IN ( 'active', 'active under contract') ";

          $map_url = str_replace("map_houses_filter", "list_houses_filter", $_SERVER['QUERY_STRING']);
          if($map_url) $smarty->assign("map_url", "nantucket-real-estate/?".$map_url);

       }




        if($reqArea){
                $areasF = $reqArea;
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }else{
                if($areas){
                        $areasF = array($areas);
                        $smarty->Assign("clear_filter", $clear_filter = 'true');
                }else{
                        $areasF = array();
                        $smarty->Assign("sell_all_areas", true);
                }
        }
        $smarty->Assign("areas", $areasF);

        if($agency){
                $sqlCondAgency .= " and `LCompany` LIKE '%Pepper%' ";
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }

        if($type){
                if($type == 'Land'){
                        $sqlCond .= " and `type` = 'Land'";
                }else{
                        $sqlCond .= " and `type` <> 'Land'";
                }
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }

        if($bedrooms){
                switch($bedrooms){
                case "1":
                        $sqlCond .= " and ( CAST( `bedrooms` AS DECIMAL ) >= '1' and  `bedrooms` <= '3' ) ";
                        break;

                case "2":
                        $sqlCond .= " and ( CAST( `bedrooms` AS DECIMAL ) >= '4' and  `bedrooms` <= '6' ) ";
                        break;

                case "3":
                        $sqlCond .= " and ( CAST( `bedrooms` AS DECIMAL ) >= '7' )";
                        break;
                }
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }
        if($bathrooms){
                $sqlCond .= " and ( CAST( `bathrooms` AS DECIMAL ) >= '".$bathrooms."') ";
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }
        if($capacity){
                switch($capacity){
                case "1":
                        $sqlCond .= " and ( CAST( `totalrooms` AS DECIMAL ) >= '1' and  `totalrooms` <= '3' ) ";
                        break;

                case "2":
                        $sqlCond .= " and ( CAST( `totalrooms` AS DECIMAL ) >= '4' and  `totalrooms` <= '6' ) ";
                        break;

                case "3":
                        $sqlCond .= " and ( CAST( `totalrooms` AS DECIMAL ) >= '7' )";
                        break;
                }
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }

        if($areasF){
                $smarty->Assign("clear_filter", $clear_filter = 'true');
                $sqlCondArea .= " and ( ";
                foreach($areasF as $value){
                        $value = str_replace("-", " ",str_replace("_", " ", $value));
                        $sqlCondArea .= " `location` = '".$value."' or ";
                }
                $sqlCondArea = substr_replace($sqlCondArea, "", -3);
                $sqlCondArea .= " )";
                //                $smarty->assign("mapzoom", "14");
        }else{
                //                $smarty->assign("mapzoom", "12");
        }


        if($amountMin){
                if($amountMax && $amountMax != '5000000')
                        $sqlTmp = " `price` <= ".$amountMax." and ";
                else
                $sqlTmp = "";

                $sqlCond .= " AND ( ".$sqlTmp." `price` >= ".$amountMin." )";
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }elseif($amountMax){
                $sqlCond .= " AND ( `price` <= ".$amountMax." )";
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }


        $sqlCountH = "select count(`id`) as no_ev from `xml_realestate` WHERE 1 " . $status_cond . $sqlCond . $sqlCondArea . $sqlCondAgency;
        $record = $db->Execute($sqlCountH);

        $count_rec = $record->fields['no_ev'];
        $nr_afisari = 10000;
        $nr_pages = ceil($count_rec/$nr_afisari);
        if($page > $nr_pages) $page = 1;
        if(empty($page))$page = 1;

        $smarty->Assign("html", '<span class="results">Results: <em>'.$count_rec.'</em><span id="clear-filter">Clear Filters</span></span>');

        switch ($sort){

        case "price-low":
                $sqlOrd = " ORDER BY `price` ASC, CAST( `bedrooms` AS DECIMAL ) DESC ";
                break;

        case "bedrooms-high":
                $sqlOrd = " ORDER BY CAST( `bedrooms` AS DECIMAL ) DESC, CAST( `totalrooms` AS DECIMAL ) DESC";
                break;

        case "bedrooms-low":
                $sqlOrd = " ORDER BY CAST( `bedrooms` AS DECIMAL ) ASC, CAST( `totalrooms` AS DECIMAL ) DESC";
                break;

        case "date-high":
                $sqlOrd = " ORDER BY `linkId` DESC, CAST( `bedrooms` AS DECIMAL ) DESC";
                break;

        case "date-low":
                $sqlOrd = " ORDER BY `linkId` ASC, CAST( `bedrooms` AS DECIMAL ) DESC";
                break;

        case "type":
                $sqlOrd = " ORDER BY `tip` ASC, CAST( `bedrooms` AS DECIMAL ) DESC";
                break;

        default:
                $sqlOrd = " ORDER BY `price` DESC, CAST( `bedrooms` AS DECIMAL ) DESC ";
        }

        $sqlH = "SELECT `title`, `location`, `address`, `linkId`, `thumb`, `bedrooms`, `bathrooms`, `price`, `rlink`, `latitude`, `longitude`  FROM `xml_realestate` WHERE LOWER(`status`) IN ( 'active', 'active under contract') " . $sqlCond . $sqlCondArea . $sqlCondAgency . $sqlOrd . " LIMIT ".($page-1)*$nr_afisari.",".$nr_afisari;

        if($test == 1) echo $sqlCountH."<br><br>".$sqlH;


        $loc = array();
        $x=0;
        $locations = $db->Execute("SELECT DISTINCT (`location`) FROM `xml_realestate` WHERE 1 " . $status_cond . " ORDER BY `location` ASC");
        while(!$locations->EOF){
                $tmp = $db->Execute("SELECT count(`id`) as `noLoc` FROM `xml_realestate` WHERE 1 " . $status_cond . " and `location` = '".$locations->fields['location']."' ".$sqlCond . $sqlCondAgency);
                if ($test == 1) echo "SELECT count(`id`) as noLoc FROM `xml_realestate` WHERE 1 " . $status_cond . " and `location` = '".$locations->fields['location']."' ".$sqlCond . $sqlCondAgency;
                $loc[$x]['location'] = $locations->fields['location'];
                $loc[$x]['numar'] = $tmp->fields['noLoc'];
                $x++;
                $locations->MoveNext();
        }
        $smarty->Assign("locations", $loc);

        $mprice = $db->Execute("SELECT MAX( `price` ) as `mprice` FROM `xml_realestate` WHERE 1 " . $status_cond );
        $smarty->Assign("mprice", $mprice->fields['mprice']);


        $tmp1 = $db->Execute("SELECT count(`id`) as `noAge` FROM `xml_realestate` WHERE 1 " . $status_cond . " and `LCompany` LIKE '%Pepper%' ".$sqlCondArea." ".$sqlCond);

        if ($test == 1) echo "SELECT count(`id`) as `noLoc` FROM `xml_realestate` WHERE 1 " . $status_cond . " and `LCompany` LIKE '%Pepper%' ".$sqlCondArea." ".$sqlCond;

        $jpfco['numar'] = $tmp1->fields['noAge'];
        $smarty->Assign("jpfco", $jpfco);

        $smarty->Assign("Agency", $agency);


        $houses = $db->GetAll($sqlH);
        $smarty->Assign("houses", $houses);


        $smarty->Assign("amountMin", $amountMin);
        $smarty->Assign("amountMax", $amountMax);

        $smarty->Assign("sort", $sort);
        $smarty->Assign("type", $type);
        $smarty->Assign("bedrooms", $bedrooms);
        $smarty->Assign("bathrooms", $bathrooms);
        $smarty->Assign("capacity", $capacity);


        $smarty->Assign("meta_title", "Nantucket Real Estate Nantucket Island, MA Rental Houses");
        $smarty->Assign("meta_key", "Nantucket Real Estate, Nantucket House Rental, Rental House, Home Rentals, Nantucket Vacation Rentals, Rentals");
        $smarty->Assign("meta_desc", "Nantucket Real Estate and House Rental options throughout Nantucket Island, MA - call (508) 228-3202.");

        $smarty->Assign("pmenu", "re");

        $smarty->Assign("noprototype", "no");
        $smarty->display("map_houses_filter.tpl");

        break;


case "renters_BK":
        $smarty->assign("chat", 1);

        if($_REQUEST['gosubmit'] == 'submit'){

                $result = checkHcaptcha($_POST['h-captcha-response']);

                if (!$result) {
                        $smarty->assign("error", "There was an problem while vaidating. Please check \"I am human\" button.");
                }else{
                        $message2 = '<font face="Arial, Helvetica, sans-serif" size="-1"><h3>Owner information:</h3>';
                        $message2 .= "<b>Property Address</b>: ".$_REQUEST['address']."<br>";
                        $message2 .= "<b>Certificate #</b>: ".$_REQUEST['certificate']."<br>";
                        $message2 .= "<b>Owner's Name</b>: ".$_REQUEST['ownername']."<br>";
                        $message2 .= "<b>Owner's Address</b>: ".$_REQUEST['owneraddr1']." ".$_REQUEST['owneraddr2']."<br><br>";
                        $message2 .= "<b>City, State, ZIP</b>: ".$_REQUEST['city']." ".$_REQUEST['state']." ".$_REQUEST['zip']."<br><br>";
                        $message2 .= "<b>Owner's phone number(s)</b>: ".$_REQUEST['ownerphone']."<br>";
                        $message2 .= "<b>Owner's email address</b>: ".$_REQUEST['owneremail']."<br><br>";
                        $message2 .= '<h3>Property Information:</h3>';

                        foreach($weeklyrate as $key => $value){
                                $message2 .= "<b>Week starting:</b> ".$key." &nbsp; | &nbsp; <b>Weekly rate:</b> ".$value." &nbsp; | &nbsp; <b>Comment:</b>".$weeklycomment[$key]."<br><br>";
                        }
                        $message2 .= "<br><b>May Rate</b>: ".$_REQUEST['mayrate']." | <b>May Comment</b>:  ".$_REQUEST['maycomment']."<br>";
                        $message2 .= "<b>June Rate</b>: ".$_REQUEST['junerate']." | <b>June Comment</b>:  ".$_REQUEST['junecomment']."<br>";
                        $message2 .= "<b>July Rate</b>: ".$_REQUEST['julyrate']." | <b>July Comment</b>:  ".$_REQUEST['julycomment']."<br>";
                        $message2 .= "<b>August Rate</b>: ".$_REQUEST['augustrate']." | <b>August Comment</b>:  ".$_REQUEST['augustcomment']."<br>";
                        $message2 .= "<b>September Rate</b>: ".$_REQUEST['septrate']." | <b>September Comment</b>:  ".$_REQUEST['septcomment']."<br><br>";
                        $message2 .= "<b>Turnover day</b>: ".$_REQUEST['toverday']."<br><br>";
                        $message2 .= "<b>Turnover cleaning included in rental rates</b>: ".$_REQUEST['cleaning']."<br><br>";

                        $message2 .= "<b>Caretaker/Cleaner</b>: ".$_REQUEST['caretaker']."<br><br>";
                        $message2 .= "<b>Wi-Fi Password</b>: ".$_REQUEST['wifi']."<br><br>";

                        $message2 .= "<b>Other comments or notes</b>: ".$_REQUEST['cnotes']."</font>";


                        $message3 = str_replace("<br>", "\n", str_replace("</h3>", "\n", $message2));
                        $message3 = strip_tags($message3, '\n');

                        $message = $message2;
                        $mail->FromName   = "JPFCO Web";
                        $mail->Subject    = "Homeowners Update Form";
                        $mail->AltBody    = $message3;
                        $mail->MsgHTML($message2);

                        $mail->AddAddress("rentals@jpfco.com", "JPFCO");
                        $mail->AddAddress("office@jpfco.com", "JPFCO");

                        $catcher = $db->Execute("Select `email` from `catcher` where `type` = 'renters'");
                        $mails = explode(",", $catcher->fields['email']);
                        foreach($mails as $ml){
                                if($ml){
                                        $mail->AddBCC(trim($ml));
                                }
                        }

                        $mail->AddReplyTo("office@jpfco.com", "JPFCO");
                        if(!$mail->Send()) {
                                echo "Mailer Error: " . $mail->ErrorInfo;
                        }
                        $smarty->assign("finished", 1);
                }
        }

        $month = date( 'm', time() );
        $day = date( 'j', time() );

        if((intval($month) < 8)){
                $year = date( 'Y', strtotime("now"));
        }else{
                if((intval($month) == 8) && ($day < 11)){
                        $year = date( 'Y', strtotime("now"));
                }else{
                        $year = date( 'Y', strtotime("+1 year"));
                }
        }

        $sdate = date( 'd-m-Y', strtotime( 'last Saturday june ' . $year));
        $edate = date( 'd-m-Y', strtotime( 'last Saturday October ' . $year ));
        $dates = array();
        $dates[] = $sdate;
        while(strtotime($sdate) < strtotime($edate)){
                $sdate = date( 'd-m-Y', strtotime("+7 days", strtotime($sdate)));
                $dates[] = $sdate;
                //exit;
        }
        $smarty->Assign("dates", $dates);
        $smarty->Assign("meta_title", "Nantucket Real Estate Agency - Nantucket Vacation Rentals");
        $smarty->Assign("meta_key", "Nantucket, Nantucket Island, Nantucket Real Estate, Nantucket House Rental, Rental House, Home Rentals, Nantucket Vacation Rentals, Rentals");
        $smarty->Assign("meta_desc", "JPFCO has the leader Nantucket Island real estate brokers and sales agents. Multiple Listing Service.");
        $area = $REM_db->GetAll("SELECT DISTINCT ( `area` ) as `Area` FROM `areas` WHERE `area` <> '' ORDER BY `area`");
        $smarty->Assign("pmenu", "r");
        $smarty->Assign("area", $area);
        $smarty->display("renters2.tpl");
        break;

case "renters":
        $smarty->assign("chat", 1);

        $month = date( 'm', time() );
        $day = date( 'j', time() );

        if((intval($month) < 8)){
                $year = date( 'Y', strtotime("now"));
        }else{
                if((intval($month) == 8) && ($day < 11)){
                        $year = date( 'Y', strtotime("now"));
                }else{
                        $year = date( 'Y', strtotime("+1 year"));
                }
        }

        if($_REQUEST['gosubmit'] == 'Submit'){

                $result = checkHcaptcha($_POST['h-captcha-response']);

                if (!$result) {
                        $smarty->assign("error", "There was an problem while vaidating. Please check \"I am human\" button.");
                }else{

                        $message2 = '<font face="Arial, Helvetica, sans-serif" size="-1">';

                        $message2 .= '<h3>Property Information:</h3>';
                        $message2 .= "<b>Nantucket Property Address</b>: ".$_REQUEST['address']."<br>";
                        $message2 .= "<b>Room Occupancy Excise Tax Certificate Number: </b>: ".$_REQUEST['certificate']."<br>";
                        $message2 .= "<b>Year Renovated: </b>: ".$_REQUEST['renovated']."<br>";


                        $message2 .= "<h3>Owner information:</h3>";
                        $message2 .= "<b>First Name</b>: ".$_REQUEST['fname']."<br>";
                        $message2 .= "<b>Last Name</b>: ".$_REQUEST['lname']."<br>";
                        $message2 .= "<b>LLC Information</b>: ".$_REQUEST['llc']."<br>";

$message2 .= "<b>Are subject to the Nantucket community impact fee of 3%</b>: ".$_REQUEST['impact']."<br>";


                        $message2 .= "<b>Mailing Address</b>: ".$_REQUEST['owneraddr']."<br><br>";
                        $message2 .= "<b>City, State/Region, Postal Code</b>: ".$_REQUEST['city']." ".$_REQUEST['state']." ".$_REQUEST['zip']."<br><br>";
                        $message2 .= "<b>Email</b>: ".$_REQUEST['owneremail']."<br><br>";
                        $message2 .= "<b>Mobile Phone Number</b>: ".$_REQUEST['ownerphone']."<br>";
                        $message2 .= "<b>Additional Phone Number</b>: ".$_REQUEST['aditphone']."<br>";


                        $message2 .= '<h3>'.$year.' Weekly Availability & Rate Information:</h3>';

                        $message2 .= "<b>Turnover day</b>: ".$_REQUEST['toverday']."<br><br>";
                        $message2 .= "<b>Turnover cleaning included in rental rates</b>: ".$_REQUEST['cleaning']."<br><br>";

                        $message2 .= "<b>Other comments or notes</b>: ".$_REQUEST['cnotes']."</font><br><br>";

                        foreach($weeklyrate as $key => $value){
                                $message2 .= "<b>Week starting:</b> ".$key." &nbsp; | &nbsp; <b>Weekly rate:</b> ".$value." &nbsp; | &nbsp; <b>Comment:</b>".$weeklycomment[$key]."<br><br>";
                        }

                        $message2 .= "<b>Off-Season</b>: ".$_REQUEST['offseason']."</font>";


                        $message3 = str_replace("<br>", "\n", str_replace("</h3>", "\n", $message2));
                        $message3 = strip_tags($message3, '\n');

                        $message = $message2;
                        $mail->FromName   = "JPFCO Web";
                        $mail->Subject    = "Rate & Availability Update Form";

                        $mail->AltBody    = $message3;
                        $mail->MsgHTML($message2);


                        $mail->AddAddress("rentals@jpfco.com", "JPFCO");
                        $mail->AddAddress("office@jpfco.com", "JPFCO");
                        $mail->AddBCC("infoiasi@gmail.com", "JPFCO");

                        $catcher = $db->Execute("Select `email` from `catcher` where `type` = 'renters'");
                        $mails = explode(",", $catcher->fields['email']);
                        foreach($mails as $ml){
                                if($ml){
                                        $mail->AddBCC(trim($ml));
                                }
                        }

                        $mail->AddReplyTo("office@jpfco.com", "JPFCO");
                        if(!$mail->Send()) {
                                echo "Mailer Error: " . $mail->ErrorInfo;
                        }
                        $smarty->assign("finished", 1);
                }
        }

        $smarty->Assign("year", $year);

        $sdate = date( 'd-m-Y', strtotime( 'last Saturday june ' . $year));
        $edate = date( 'd-m-Y', strtotime( 'last Saturday October ' . $year ));
        $dates = array();
        $dates[] = $sdate;
        while(strtotime($sdate) < strtotime($edate)){
                $sdate = date( 'd-m-Y', strtotime("+7 days", strtotime($sdate)));
                $dates[] = $sdate;
                //exit;
        }
        $smarty->Assign("dates", $dates);

        $smarty->Assign("meta_title", "Nantucket Real Estate Agency - Nantucket Vacation Rentals");
        $smarty->Assign("meta_key", "Nantucket, Nantucket Island, Nantucket Real Estate, Nantucket House Rental, Rental House, Home Rentals, Nantucket Vacation Rentals, Rentals");
        $smarty->Assign("meta_desc", "JPFCO has the leader Nantucket Island real estate brokers and sales agents. Multiple Listing Service.");
        $area = $REM_db->GetAll("SELECT DISTINCT ( `area` ) as `Area` FROM `areas` WHERE `area` <> '' ORDER BY `area`");
        $smarty->Assign("pmenu", "r");
        $smarty->Assign("area", $area);
        $smarty->display("rate_availability_update.tpl");
        break;


case "exportsold":

        set_time_limit(999999);


        require_once($class_path.'Classes/excel/class.writeexcel_workbook.inc.php');
        require_once($class_path.'Classes/excel/class.writeexcel_worksheet.inc.php');

        $fname = tempnam("/tmp", "simple.xls");
        $workbook = new writeexcel_workbook($fname);
        $worksheet = $workbook->addworksheet();
        $heading = $workbook->addformat(array('bold' => 1));


        $excel = $db->Execute("select * from  `xml_sold_new` where `data` >= '2014-01-01' and `data` <= '2014-21-31' order by `data` ASC");


        if($excel->RecordCount() > 0){
                $k=0;
                $worksheet->write($k, 0, 'ID#', $heading);
                $worksheet->write($k, 1, 'Sold Date', $heading);
                $worksheet->write($k, 2, 'Address', $heading);

                $worksheet->write($k, 3, 'Selling Price', $heading);
                $worksheet->write($k, 4, 'Last Ask', $heading);
                $worksheet->write($k, 5, 'Original Ask', $heading);
                $worksheet->write($k, 6, 'Assessed Value', $heading);
                $worksheet->write($k, 7, 'Sale to Assesed', $heading);
                $worksheet->write($k, 8, 'Sale to Last', $heading);
                $worksheet->write($k, 9, 'Sale to Original', $heading);
                $worksheet->write($k, 10, 'DOM', $heading);
                $worksheet->write($k, 11, 'Type', $heading);
                $worksheet->write($k, 12, 'Bedrooms', $heading);
                $worksheet->write($k, 13, 'Bathrooms', $heading);
                $worksheet->write($k, 14, 'Lot', $heading);
                $worksheet->write($k, 15, 'Agency Name', $heading);

                $worksheet->write($k, 16, 'Link', $heading);
                while(!$excel->EOF){
                        $k++;

                        $assessed = $excel->fields['bldgAssessed'] + $excel->fields['landAssessed'];

                        if ($assessed > 2){
                                $SaletoAssesed = round(( $excel->fields['soldPrice'] * 100 ) / $assessed)."%" ;
                        }else{
                                $SaletoAssesed = '100%';
                        }

                        if ($excel->fields['price'] > 2){
                                $SaletoLast = round(( $excel->fields['soldPrice'] * 100 ) / $excel->fields['price'])."%" ;
                        }else{
                                $SaletoLast = '100%';
                        }

                        if ($excel->fields['original'] > 2){
                                $SaletoOriginal = round(( $excel->fields['soldPrice'] * 100 ) / $excel->fields['original'])."%" ;
                        }else{
                                $SaletoOriginal = '100%';
                        }

                        $phpdate = strtotime( $excel->fields['data'] );
                        $mysqldate = date( 'm/d/Y', $phpdate );

                        $worksheet->write($k, 0, $excel->fields['linkId']);
                        $worksheet->write($k, 1, $mysqldate);


                        $worksheet->write($k, 2, $excel->fields['title']);


                        $worksheet->write($k, 3, "$".number_format($excel->fields['soldPrice'], 0, ',', ','));
                        $worksheet->write($k, 4, "$".number_format($excel->fields['price'], 0, ',', ','));
                        $worksheet->write($k, 5, "$".number_format($excel->fields['original'], 0, ',', ','));
                        $worksheet->write($k, 6, "$".number_format($assessed, 0, ',', ','));
                        $worksheet->write($k, 7, $SaletoAssesed);
                        $worksheet->write($k, 8, $SaletoLast);
                        $worksheet->write($k, 9, $SaletoOriginal);
                        $worksheet->write($k, 10, $excel->fields['DOM']);
                        $worksheet->write($k, 11, $excel->fields['type']);
                        $worksheet->write($k, 12, $excel->fields['bedrooms']);
                        $worksheet->write($k, 13, $excel->fields['bathrooms']);
                        $worksheet->write($k, 14, number_format($excel->fields['lot'], 2, ',', ' ')." sq ft");
                        $worksheet->write($k, 15, $excel->fields['LCompany']);

                        $worksheet->write($k, 16, $base_url.'/'.str_replace($base_url.'/', '', $excel->fields['rlink']));

                        $excel->MoveNext();
                }
                $workbook->close();
                header("Content-Type: application/x-msexcel; name=2014_sold.xls");
                header("Content-Disposition: inline; filename=2014_sold.xls");
                $fh=fopen($fname, "rb");
                fpassthru($fh);
                unlink($fname);
                unlink($fis);
        }


        break;

case "stats":

        $years = array();
        for ($i = date('Y'); $i >= 2010; $i--) {
                $years[$i] = $i;
        }
        $smarty->assign("years", $years);
        $smarty->assign("thisY", date('Y'));


        $months = array();
        for ($i = 1; $i <= date('n'); $i++) {
                $months[$i] = date("F",mktime(0,0,0,$i,1,date('Y'))).' '.date('Y');
        }
        for ($i = (date('n')+1); $i <= 12; $i++) {
                $months[$i] = date("F",mktime(0,0,0,$i,1,date('Y'))).' '.date('Y', strtotime("-1 year"));
        }

        $smarty->assign("selm", date('n'));
        $smarty->assign("months", $months);

        $sold = $db->GetAll("select * from  `xml_sold_new` where `data` >= '".date('Y-m-01')."' and `data` <= '".date('Y-m-d')."' AND `status` LIKE '%close%' order by `data` DESC");
        $smarty->assign("sold", $sold);
        $smarty->assign("allSold", $sold);

        $s1 = $db->Execute("select count(`id`) as `s1cnt` from  `xml_sold_new` where `data` >= '".date('Y-01-01')."' and `data` <= '".date('Y-m-d')."' AND `status` LIKE '%close%' and `soldPrice` < '1000000'");
        $s2 = $db->Execute("select count(`id`) as `s1cnt` from  `xml_sold_new` where `data` >= '".date('Y-01-01')."' and `data` <= '".date('Y-m-d')."' AND `status` LIKE '%close%' and `soldPrice` >= '1000000' and `soldPrice` < '2000000'");
        $s3 = $db->Execute("select count(`id`) as `s1cnt` from  `xml_sold_new` where `data` >= '".date('Y-01-01')."' and `data` <= '".date('Y-m-d')."' AND `status` LIKE '%close%' and `soldPrice` >= '2000000' and `soldPrice` < '4000000'");
        $s4 = $db->Execute("select count(`id`) as `s1cnt` from  `xml_sold_new` where `data` >= '".date('Y-01-01')."' and `data` <= '".date('Y-m-d')."' AND `status` LIKE '%close%' and `soldPrice` >= '4000000'");

        $tot = $s1->fields['s1cnt'] + $s2->fields['s1cnt'] + $s3->fields['s1cnt'] + $s4->fields['s1cnt'];

        $smarty->Assign("s1", round(percentage($s1->fields['s1cnt'], $tot)));
        $smarty->Assign("s2", round(percentage($s2->fields['s1cnt'], $tot)));
        $smarty->Assign("s3", round(percentage($s3->fields['s1cnt'], $tot)));
        $smarty->Assign("s4", round(percentage($s4->fields['s1cnt'], $tot)));

        $smarty->Assign("meta_title", "Nantucket Real Estate Market Research and Stats");
        $smarty->Assign("meta_key", "Nantucket real estate market, stats, Nantucket Island, MA");
        $smarty->Assign("meta_desc", "Find Nantucket real estate market research and stats including dollar volume, days on market and number of real estate transactions on Nantucket.");

        $all = $db->Execute("select * from `stats` where type = '1' order by `date` DESC LIMIT 0,1");
        $smarty->assign("stats", $all->fields);

/*
        $db->SetFetchMode(ADODB_FETCH_ASSOC);
        $summary = getSoldMarketSummaryYTD($db, 2024, 2025);
        $smarty->assign("summary", $summary);
*/

        $smarty->assign("css_before", '<link href="'.$base_url.'/css/stats.css" rel="stylesheet" type="text/css" />');

        $smarty->assign("css_after", '<script type="text/javascript" src="https://www.jpfco.com/js/jqPlot/jquery.jqplot.min.js"></script>
                <script type="text/javascript" src="https://www.jpfco.com/js/jqPlot/plugins/jqplot.pieRenderer.min.js"></script>
                <link rel="stylesheet" type="text/css" href="https://www.jpfco.com/js/jqPlot/jquery.jqplot.css" />');

        $smarty->Assign("pmenu", "rs");

        $smarty->display("stats.tpl");
        break;

case "dollar-volume":


        $all = $db->Execute("select * from `stats` where type = '1' order by `date` DESC LIMIT 0,1");
        $smarty->assign("stats", $all->fields);

        $td = date('j');

        $d1 = date('Y')."-".date('n')."-01";
        $d2 = date('Y')."-".date('n')."-".$td;

        $d3 = date('Y', strtotime("-1 year"))."-".date('n')."-01";
        $d4 = date('Y', strtotime("-1 year"))."-".date('n')."-".$td;


        $no1 = $db->Execute("select * from  `xml_sold_new` where `data` >= '".$d1."' and `data` < '".$d2."' order by `soldPrice` DESC");
        $no2 = $db->Execute("select * from  `xml_sold_new` where `data` >= '".$d3."' and `data` < '".$d4."' order by `soldPrice` DESC");

        $no3 = $db->Execute("select * from  `xml_sold_new` where `data` >= '".date('Y')."-01-01' and `data` < '".$d2."' order by `soldPrice` DESC");
        $no4 = $db->Execute("select * from  `xml_sold_new` where `data` >= '".date('Y', strtotime("-1 year"))."-01-01' and `data` < '".$d4."' order by `soldPrice` DESC");

        $nr1 = $no1->RecordCount();
        $nr2 = $no2->RecordCount();
        $nr3 = $no3->RecordCount();
        $nr4 = $no4->RecordCount();

        $tot1 = $house1 = $land1 = $comm1 = $tot2 = $house2 = $land2 = $comm2 = $tot3 = $house3 = $land3 = $comm3 = $tot4 = $house4 = $land4 = $comm4 = $nrh1 = $nrl1 = $nrc1 = $nrh2 = $nrl2 = $nrc2 = $nrh3 = $nrl3 = $nrc3 = $nrh4 = $nrl4 = $nrc4 = 0;

        if($nr1>0){
                while(!$no1->EOF){
                        $tot1  += $no1->fields['soldPrice'];
                        switch($no1->fields['tip']){
                        case "1":
                                $house1 += $no1->fields['soldPrice'];
                                $nrh1++;
                                break;
                        case "2":
                                $land1 += $no1->fields['soldPrice'];
                                $nrl1++;
                                break;
                        case "3":
                                $comm1 += $no1->fields['soldPrice'];
                                $nrc1++;
                                break;
                        }
                        $no1->MoveNext();
                }
        }

        if($nr2>0){
                while(!$no2->EOF){
                        $tot2  += $no2->fields['soldPrice'];
                        switch($no2->fields['tip']){
                        case "1":
                                $house2 += $no2->fields['soldPrice'];
                                $nrh2++;
                                break;
                        case "2":
                                $land2 += $no2->fields['soldPrice'];
                                $nrl2++;
                                break;
                        case "3":
                                $comm2 += $no2->fields['soldPrice'];
                                $nrc2++;
                                break;
                        }
                        $no2->MoveNext();
                }
        }


        if($nr3>0){
                while(!$no3->EOF){
                        $tot3  += $no3->fields['soldPrice'];
                        switch($no3->fields['tip']){
                        case "1":
                                $house3 += $no3->fields['soldPrice'];
                                $nrh3++;
                                break;
                        case "2":
                                $land3 += $no3->fields['soldPrice'];
                                $nrl3++;
                                break;
                        case "3":
                                $comm3 += $no3->fields['soldPrice'];
                                $nrc3++;
                                break;
                        }
                        $no3->MoveNext();
                }
        }

        if($nr4>0){
                while(!$no4->EOF){
                        $tot4  += $no4->fields['soldPrice'];
                        switch($no4->fields['tip']){
                        case "1":
                                $house4 += $no4->fields['soldPrice'];
                                $nrh4++;
                                break;
                        case "2":
                                $land4 += $no4->fields['soldPrice'];
                                $nrl4++;
                                break;
                        case "3":
                                $comm4 += $no4->fields['soldPrice'];
                                $nrc4++;
                                break;
                        }
                        $no4->MoveNext();
                }
        }
/*
        $txt='<table cellspacing="0" cellpadding="0" border="0" class="statsTable" width="100%">
        <tbody>
        <tr class="alternate  monthHeader">
        <td class="alternate light">&nbsp;</td>
        <td colspan="2" class="alternate light monthHeader">Dollar Volume</td>
        <td class="alternate light">&nbsp;</td>
        <td class="alternate light">&nbsp;</td>
        <td colspan="2" class="alternate light">Transaction #</td>
        <td class="last">&nbsp;</td>
        </tr>
        <tr class="alternate dark monthHeader">
        <td class="alternate dark monthHeader">'.date("F", mktime(0, 0, 0, date('n'), 1, date('Y'))).' Sales</td>
        <td class="alternate dark monthHeader">'.date('Y').'</td>
        <td>'.date('Y', strtotime("-1 year")).'</td>
        <td class="alternate dark monthHeader">var.</td>
        <td class="alternate light emptyTd">&nbsp;</td>
        <td class="alternate dark monthHeader">'.date('Y').'</td>
        <td class="alternate dark monthHeader">'.date('Y', strtotime("-1 year")).'</td>
        <td class="last">var.</td>
        </tr>
        <tr class="alternate light">
        <td class="alternate light">Houses</td>
        <td class="alternate light">$'.number_format($house1).'</td>
        <td>$'.number_format($house2).'</td>
        <td class="alternate light"><span class="pct '.( round((($house1-$house2)*100)/$house2) > 0 ? 'up' : ( ((($house1-$house2)*100)/$house2) == 0 ? 'zero' : 'down' ) ).'">'.round((($house1-$house2)*100)/$house2).'%</span></td>
        <td class="alternate light emptyTd">&nbsp;</td>
        <td class="alternate light">'.$nrh1.'</td>
        <td class="alternate light">'.$nrh2.'</td>
        <td class="last"><span class="pct '.( round((($nrh1-$nrh2)*100)/$nrh2) > 0 ? 'up' : ( ((($nrh1-$nrh2)*100)/$nrh2) == 0 ? 'zero' : 'down' ) ).'">'.round((($nrh1-$nrh2)*100)/$nrh2).'%</span></td>
        </tr>
        <tr class="alternate light">
        <td class="alternate light">Land</td>
        <td class="alternate light">$'.number_format($land1).'</td>
        <td>$'.number_format($land2).'</td>
        <td class="alternate light"><span class="pct '.( round((($land1-$land2)*100)/$land2) > 0 ? 'up' : ( ((($land1-$land2)*100)/$land2) == 0 ? 'zero' : 'down' ) ).'">'.round((($land1-$land2)*100)/$land2).'%</span></td>
        <td class="alternate light emptyTd">&nbsp;</td>
        <td class="alternate light">'.$nrl1.'</td>
        <td class="alternate light">'.$nrl2.'</td>
        <td class="last"><span class="pct '.( round((($nrl1-$nrl2)*100)/$nrl2) > 0 ? 'up' : ( ((($nrl1-$nrl2)*100)/$nrl2) == 0 ? 'zero' : 'down' ) ).'">'.round((($nrl1-$nrl2)*100)/$nrl2).'%</span></td>
        </tr>
        <tr class="alternate light">
        <td class="alternate light">Commercial</td>
        <td class="alternate light">$'.number_format($comm1).'</td>
        <td>$'.number_format($comm2).'</td>
        <td class="alternate light"><span class="pct '.( round((($comm1-$comm2)*100)/$comm2) > 0 ? 'up' : ( ((($comm1-$comm2)*100)/$comm2) == 0 ? 'zero' : 'down' ) ).'">'.@round((($comm1-$comm2)*100)/$comm2).'%</span></td>
        <td class="alternate light emptyTd">&nbsp;</td>
        <td class="alternate light">'.$nrc1.'</td>
        <td class="alternate light">'.$nrc2.'</td>
        <td class="last"><span class="pct '.( round((($nrc1-$nrc2)*100)/$nrc2) > 0 ? 'up' : ( ((($nrc1-$nrc2)*100)/$nrc2) == 0 ? 'zero' : 'down' ) ).'">'.round((($nrc1-$nrc2)*100)/$nrc2).'%</span></td>
        </tr>
        <tr class="alternate light totalsHeader">
        <td class="alternate light totalsHeader"><strong>Monthly Totals</strong></td>
        <td class="alternate light totalsHeader">$'.number_format($tot1).'</td>
        <td class="alternate light totalsHeader">$'.number_format($tot2).'</td>
        <td class="alternate light totalsHeader"><span class="pct '.( round((($tot1-$tot2)*100)/$tot2) > 0 ? 'up' : ( ((($tot1-$tot2)*100)/$tot2) == 0 ? 'zero' : 'down' ) ).'">'.round((($tot1-$tot2)*100)/$tot2).'%</span></td>
        <td class="alternate light emptyTd">&nbsp;</td>
        <td class="alternate light totalsHeader">'.$nr1.'</td>
        <td class="alternate light totalsHeader">'.$nr2.'</td>
        <td class="last"><span class="pct '.( round((($nr1-$nr2)*100)/$nr2) > 0 ? 'up' : 'down' ).'">'.round((($nr1-$nr2)*100)/$nr2).'%</span></td>
        </tr>
        <tr class="alternate light ytdHeader">
        <td class="alternate ytdHeader">1 Jan  - '.$td.' '.date("M", mktime(0, 0, 0, date('n'), 1, date('Y'))).'</td>
        <td class="alternate ytdHeader">'.date('Y').'</td>
        <td>'.date('Y', strtotime("-1 year")).'</td>
        <td class="alternate ytdHeader">var.</td>
        <td class="alternate light emptyTd">&nbsp;</td>
        <td class="alternate ytdHeader">'.date('Y').'</td>
        <td class="alternate ytdHeader">'.date('Y', strtotime("-1 year")).'</td>
        <td class="last">var.</td>
        </tr>
        <tr class="alternate light">
        <td class="alternate light">Houses</td>
        <td class="alternate light">$'.number_format($house3).'</td>
        <td>$'.number_format($house4).'</td>
        <td class="alternate light"><span class="pct '.( round((($house3-$house4)*100)/$house4) > 0 ? 'up' : ( ((($house3-$house4)*100)/$house4) == 0 ? 'zero' : 'down' ) ).'">'.round((($house3-$house4)*100)/$house4).'%</span></td>
        <td class="alternate light emptyTd">&nbsp;</td>
        <td class="alternate light">'.$nrh3.'</td>
        <td class="alternate light">'.$nrh4.'</td>
        <td class="last"><span class="pct '.( round((($nrh3-$nrh4)*100)/$nrh4) > 0 ? 'up' : ( ((($nrh3-$nrh4)*100)/$nrh4) == 0 ? 'zero' : 'down' ) ).'">'.round((($nrh3-$nrh4)*100)/$nrh4).'%</span></td>
        </tr>
        <tr class="alternate light">
        <td class="alternate light">Land</td>
        <td class="alternate light">$'.number_format($land3).'</td>
        <td>$'.number_format($land4).'</td>
        <td class="alternate light"><span class="pct '.( round((($land3-$land4)*100)/$land4) > 0 ? 'up' : ( ((($land3-$land4)*100)/$land4) == 0 ? 'zero' : 'down' ) ).'">'.round((($land3-$land4)*100)/$land4).'%</span></td>
        <td class="alternate light emptyTd">&nbsp;</td>
        <td class="alternate light">'.$nrl3.'</td>
        <td class="alternate light">'.$nrl4.'</td>
        <td class="last"><span class="pct '.( round((($nrl3-$nrl4)*100)/$nrl4) > 0 ? 'up' : ( ((($nrl3-$nrl4)*100)/$nrl4) == 0 ? 'zero' : 'down' ) ).'">'.round((($nrl3-$nrl4)*100)/$nrl4).'%</span></td>
        </tr>
        <tr class="alternate light">
        <td class="alternate light">Commercial</td>
        <td class="alternate light">$'.number_format($comm3).'</td>
        <td>$'.number_format($comm4).'</td>
        <td class="alternate light"><span class="pct '.( round((($comm3-$comm4)*100)/$comm4) > 0 ? 'up' : ( ((($comm3-$comm4)*100)/$comm4) == 0 ? 'zero' : 'down' ) ).'">'.round((($comm3-$comm4)*100)/$comm4).'%</span></td>
        <td class="alternate light emptyTd">&nbsp;</td>
        <td class="alternate light">'.$nrc3.'</td>
        <td class="alternate light">'.$nrc4.'</td>
        <td class="last"><span class="pct '.( round((($nrc3-$nrc4)*100)/$nrc4) > 0 ? 'up' : ( ((($nrc3-$nrc4)*100)/$nrc4) == 0 ? 'zero' : 'down' ) ).'">'.round((($nrc3-$nrc4)*100)/$nrc4).'%</span></td>
        </tr>
        <tr class="alternate light totalsHeader">
        <td class="alternate light totalsHeader"><strong>YTD Totals</strong></td>
        <td class="alternate light totalsHeader">$'.number_format($tot3).'</td>
        <td class="alternate light totalsHeader">$'.number_format($tot4).'</td>
        <td class="alternate light totalsHeader"><span class="pct '.( round((($tot3-$tot4)*100)/$tot4) > 0 ? 'up' : ( ((($tot3-$tot4)*100)/$tot4) == 0 ? 'zero' : 'down' ) ).'">'.round((($tot3-$tot4)*100)/$tot4).'%</span></td>
        <td class="alternate light emptyTd">&nbsp;</td>
        <td class="alternate light totalsHeader">'.$nr3.'</td>
        <td class="alternate light totalsHeader">'.$nr4.'</td>
        <td class="last"><span class="pct '.( round((($nr3-$nr4)*100)/$nr4) > 0 ? 'up' : 'down' ).'">'.round((($nr3-$nr4)*100)/$nr4).'%</span></td>
        </tr>
        </tbody>
        </table>
        ';

*/


function safe_percent($current, $previous) {
    if ($previous == 0) return 0; // Avoid division by zero
    return round((($current - $previous) * 100) / $previous);
}

function pct_class($percent) {
    return $percent > 0 ? 'up' : ($percent == 0 ? 'zero' : 'down');
}

// Calculate percentages and classes for all rows
$house_pct = safe_percent($house1, $house2);
$house_class = pct_class($house_pct);

$nrh_pct = safe_percent($nrh1, $nrh2);
$nrh_class = pct_class($nrh_pct);

$land_pct = safe_percent($land1, $land2);
$land_class = pct_class($land_pct);

$nrl_pct = safe_percent($nrl1, $nrl2);
$nrl_class = pct_class($nrl_pct);

$comm_pct = safe_percent($comm1, $comm2);
$comm_class = pct_class($comm_pct);

$nrc_pct = safe_percent($nrc1, $nrc2);
$nrc_class = pct_class($nrc_pct);

$tot_pct = safe_percent($tot1, $tot2);
$tot_class = pct_class($tot_pct);

$nr_pct = safe_percent($nr1, $nr2);
$nr_class = pct_class($nr_pct);

$house_pct_ytd = safe_percent($house3, $house4);
$house_class_ytd = pct_class($house_pct_ytd);

$nrh_pct_ytd = safe_percent($nrh3, $nrh4);
$nrh_class_ytd = pct_class($nrh_pct_ytd);

$land_pct_ytd = safe_percent($land3, $land4);
$land_class_ytd = pct_class($land_pct_ytd);

$nrl_pct_ytd = safe_percent($nrl3, $nrl4);
$nrl_class_ytd = pct_class($nrl_pct_ytd);

$comm_pct_ytd = safe_percent($comm3, $comm4);
$comm_class_ytd = pct_class($comm_pct_ytd);

$nrc_pct_ytd = safe_percent($nrc3, $nrc4);
$nrc_class_ytd = pct_class($nrc_pct_ytd);

$tot_pct_ytd = safe_percent($tot3, $tot4);
$tot_class_ytd = pct_class($tot_pct_ytd);

$nr_pct_ytd = safe_percent($nr3, $nr4);
$nr_class_ytd = pct_class($nr_pct_ytd);

$txt = '<table cellspacing="0" cellpadding="0" border="0" class="statsTable" width="100%">
<tbody>
<tr class="alternate monthHeader">
<td class="alternate light">&nbsp;</td>
<td colspan="2" class="alternate light monthHeader">Dollar Volume</td>
<td class="alternate light">&nbsp;</td>
<td class="alternate light">&nbsp;</td>
<td colspan="2" class="alternate light">Transaction #</td>
<td class="last">&nbsp;</td>
</tr>

<tr class="alternate dark monthHeader">
<td class="alternate dark monthHeader">'.date("F").' Sales</td>
<td class="alternate dark monthHeader">'.date('Y').'</td>
<td>'.date('Y', strtotime("-1 year")).'</td>
<td class="alternate dark monthHeader">var.</td>
<td class="alternate light emptyTd">&nbsp;</td>
<td class="alternate dark monthHeader">'.date('Y').'</td>
<td class="alternate dark monthHeader">'.date('Y', strtotime("-1 year")).'</td>
<td class="last">var.</td>
</tr>

<tr class="alternate light">
<td class="alternate light">Houses</td>
<td class="alternate light">$'.number_format($house1).'</td>
<td>$'.number_format($house2).'</td>
<td class="alternate light"><span class="pct '.$house_class.'">'.$house_pct.'%</span></td>
<td class="alternate light emptyTd">&nbsp;</td>
<td class="alternate light">'.$nrh1.'</td>
<td class="alternate light">'.$nrh2.'</td>
<td class="last"><span class="pct '.$nrh_class.'">'.$nrh_pct.'%</span></td>
</tr>

<tr class="alternate light">
<td class="alternate light">Land</td>
<td class="alternate light">$'.number_format($land1).'</td>
<td>$'.number_format($land2).'</td>
<td class="alternate light"><span class="pct '.$land_class.'">'.$land_pct.'%</span></td>
<td class="alternate light emptyTd">&nbsp;</td>
<td class="alternate light">'.$nrl1.'</td>
<td class="alternate light">'.$nrl2.'</td>
<td class="last"><span class="pct '.$nrl_class.'">'.$nrl_pct.'%</span></td>
</tr>

<tr class="alternate light">
<td class="alternate light">Commercial</td>
<td class="alternate light">$'.number_format($comm1).'</td>
<td>$'.number_format($comm2).'</td>
<td class="alternate light"><span class="pct '.$comm_class.'">'.$comm_pct.'%</span></td>
<td class="alternate light emptyTd">&nbsp;</td>
<td class="alternate light">'.$nrc1.'</td>
<td class="alternate light">'.$nrc2.'</td>
<td class="last"><span class="pct '.$nrc_class.'">'.$nrc_pct.'%</span></td>
</tr>

<tr class="alternate light totalsHeader">
<td class="alternate light totalsHeader"><strong>Monthly Totals</strong></td>
<td class="alternate light totalsHeader">$'.number_format($tot1).'</td>
<td class="alternate light totalsHeader">$'.number_format($tot2).'</td>
<td class="alternate light totalsHeader"><span class="pct '.$tot_class.'">'.$tot_pct.'%</span></td>
<td class="alternate light emptyTd">&nbsp;</td>
<td class="alternate light totalsHeader">'.$nr1.'</td>
<td class="alternate light totalsHeader">'.$nr2.'</td>
<td class="last"><span class="pct '.$nr_class.'">'.$nr_pct.'%</span></td>
</tr>

<tr class="alternate light ytdHeader">
<td class="alternate ytdHeader">1 Jan - '.$td.' '.date("M").'</td>
<td class="alternate ytdHeader">'.date('Y').'</td>
<td>'.date('Y', strtotime("-1 year")).'</td>
<td class="alternate ytdHeader">var.</td>
<td class="alternate light emptyTd">&nbsp;</td>
<td class="alternate ytdHeader">'.date('Y').'</td>
<td class="alternate ytdHeader">'.date('Y', strtotime("-1 year")).'</td>
<td class="last">var.</td>
</tr>

<tr class="alternate light">
<td class="alternate light">Houses</td>
<td class="alternate light">$'.number_format($house3).'</td>
<td>$'.number_format($house4).'</td>
<td class="alternate light"><span class="pct '.$house_class_ytd.'">'.$house_pct_ytd.'%</span></td>
<td class="alternate light emptyTd">&nbsp;</td>
<td class="alternate light">'.$nrh3.'</td>
<td class="alternate light">'.$nrh4.'</td>
<td class="last"><span class="pct '.$nrh_class_ytd.'">'.$nrh_pct_ytd.'%</span></td>
</tr>

<tr class="alternate light">
<td class="alternate light">Land</td>
<td class="alternate light">$'.number_format($land3).'</td>
<td>$'.number_format($land4).'</td>
<td class="alternate light"><span class="pct '.$land_class_ytd.'">'.$land_pct_ytd.'%</span></td>
<td class="alternate light emptyTd">&nbsp;</td>
<td class="alternate light">'.$nrl3.'</td>
<td class="alternate light">'.$nrl4.'</td>
<td class="last"><span class="pct '.$nrl_class_ytd.'">'.$nrl_pct_ytd.'%</span></td>
</tr>

<tr class="alternate light">
<td class="alternate light">Commercial</td>
<td class="alternate light">$'.number_format($comm3).'</td>
<td>$'.number_format($comm4).'</td>
<td class="alternate light"><span class="pct '.$comm_class_ytd.'">'.$comm_pct_ytd.'%</span></td>
<td class="alternate light emptyTd">&nbsp;</td>
<td class="alternate light">'.$nrc3.'</td>
<td class="alternate light">'.$nrc4.'</td>
<td class="last"><span class="pct '.$nrc_class_ytd.'">'.$nrc_pct_ytd.'%</span></td>
</tr>

<tr class="alternate light totalsHeader">
<td class="alternate light totalsHeader"><strong>YTD Totals</strong></td>
<td class="alternate light totalsHeader">$'.number_format($tot3).'</td>
<td class="alternate light totalsHeader">$'.number_format($tot4).'</td>
<td class="alternate light totalsHeader"><span class="pct '.$tot_class_ytd.'">'.$tot_pct_ytd.'%</span></td>
<td class="alternate light emptyTd">&nbsp;</td>
<td class="alternate light totalsHeader">'.$nr3.'</td>
<td class="alternate light totalsHeader">'.$nr4.'</td>
<td class="last"><span class="pct '.$nr_class_ytd.'">'.$nr_pct_ytd.'%</span></td>
</tr>

</tbody>
</table>';


        $smarty->assign("ms", $txt);

        $smarty->assign("css_before", '<link href="'.$base_url.'/css/stats.css" rel="stylesheet" type="text/css" />');

        $smarty->Assign("meta_title", "Nantucket Real Estate Market Total Dollar Volume Stats");
        $smarty->Assign("meta_key", "Nantucket real estate market, dollar volume, stats");
        $smarty->Assign("meta_desc", "Nantucket real estate market total dollar volume and stats on sales totals by month and year.");

        $smarty->Assign("pmenu", "rs");

        $smarty->display("dollar-volume.tpl");
        break;

case "home-valuation":
        $contract = $db->GetAll("select * from  `xml_contract` where `date` >= '".date('Y-m-d', strtotime("-120 days"))."' order by `date` DESC");
        $smarty->assign("css_before", '<link href="'.$base_url.'/css/stats.css" rel="stylesheet" type="text/css" />');
        $smarty->assign("contract", $contract);

        $smarty->Assign("meta_title", "Nantucket Real Estate Nantucket Rentals Nantucket Island, MA");
        $smarty->Assign("meta_desc", "Nantucket Real Estate and Nantucket Rentals available for sale and rent on Nantucket Island, MA. - call (508) 228-3202.");
        $smarty->Assign("meta_key", "Nantucket Real Estate, Nantucket Rentals, Nantucket House Rental, Nantucket Island, MA");

        $smarty->display("home-valuation.tpl");
        break;

case "comm":
        $contract = $db->GetAll("select * from  `xml_contract` where `date` >= '".date('Y-m-d', strtotime("-120 days"))."' order by `date` DESC");
        $smarty->assign("css_before", '<link href="'.$base_url.'/css/stats.css" rel="stylesheet" type="text/css" />');
        $smarty->assign("contract", $contract);

        $smarty->Assign("meta_title", "Nantucket Real Estate Nantucket Rentals Nantucket Island, MA");
        $smarty->Assign("meta_desc", "Nantucket Real Estate and Nantucket Rentals available for sale and rent on Nantucket Island, MA. - call (508) 228-3202.");
        $smarty->Assign("meta_key", "Nantucket Real Estate, Nantucket Rentals, Nantucket House Rental, Nantucket Island, MA");

        $smarty->display("Community-Service.tpl");
        break;


case "under-contract":
        $contract = $db->GetAll("select * from  `xml_realestate` WHERE `status` IN ('Pending','Active Under Contract') order by `data` DESC");

        $smarty->assign("css_before", '<link href="'.$base_url.'/css/stats.css" rel="stylesheet" type="text/css" />');

        $smarty->assign("contract", $contract);

        $smarty->Assign("meta_title", "Nantucket Real Estate Market Properties Under Contract");
        $smarty->Assign("meta_desc", "All Nantucket Real Estate Properties Under Contract Listed for Review.");
        $smarty->Assign("meta_key", "Nantucket Real Estate, Properties, Under Contract, For Sale");
        $smarty->Assign("pmenu", "rs");
        $smarty->display("under-contract.tpl");
        break;

case "thankyou":
        $smarty->Assign("meta_title", "Nantucket Real Estate Nantucket Rentals Nantucket Island, MA");
        $smarty->Assign("meta_desc", "Nantucket Real Estate and Nantucket Rentals available for sale and rent on Nantucket Island, MA. - call (508) 228-3202.");
        $smarty->Assign("meta_key", "Nantucket Real Estate, Nantucket Rentals, Nantucket House Rental, Nantucket Island, MA");
        $smarty->display("thankyou.tpl");
        break;

case "resources":
        $smarty->Assign("meta_title", "Facts about Nantucket Island Real Estate");
        $smarty->Assign("meta_key", "Nantucket, Nantucket Island, Nantucket Real Estate, Nantucket House Rental, Rental House, Home Rentals, Nantucket Vacation Rentals, Rentals");
        $smarty->Assign("meta_desc", "JPFCO is the leader on Nantucket real estate brokers and sales agents.");
        $smarty->Assign("pmenu", "n");
        $smarty->display("resources.tpl");
        break;

case "recycling":
        $smarty->Assign("meta_title", "Nantucket Recycling");
        $smarty->Assign("meta_key", "Nantucket, Nantucket Island, Nantucket Real Estate, Nantucket House Rental, Rental House, Home Rentals, Nantucket Vacation Rentals, Rentals");
        $smarty->Assign("meta_desc", "Nantucket Recycling - JPFCO has the leader Nantucket real estate brokers and sales agents.");
        $smarty->Assign("pmenu", "n");
        $smarty->display("recycling.tpl");
        break;

case "plastic":
        $smarty->Assign("meta_title", "Nantucket Island Plastic Ban");
        $smarty->Assign("meta_key", "Nantucket, Nantucket Island, Nantucket Real Estate, Nantucket House Rental, Rental House, Home Rentals, Nantucket Vacation Rentals, Rentals");
        $smarty->Assign("meta_desc", "Nantucket Island Plastic Ban - JPFCO has the leader Nantucket real estate brokers and sales agents.");
        $smarty->Assign("pmenu", "n");
        $smarty->display("island-plastic-ban.tpl");
        break;


case "mls":
        exit;
        include_once 'securimage.php';
        $securimage = new Securimage();
        if($_REQUEST['submit'] == 'Send'){
                if ($securimage->check($_POST['captcha_code']) == false) {
                        $smarty->assign("error", "The code you entered was incorrect. Please try again.");
                }else{

                        $repeatsub = $REM_db->Execute("select `id`, `rdate` from `contact` where `email` = '".$_REQUEST['eaddress']."'");

                        if (($repeatsub->RecordCount()!=0)) {
                                $body = "<br><b>REPEAT SUMBITTER</b><br>";
                                $body .= '<br><b>Previous Submissions: </b><br>';
                                while (!$repeatsub->EOF){
                                        $body .= '<a href="https://www.jpfco.com/admin/index.php?todo=view_contact&id='.$repeatsub->fields['id'].'">'.date("m-d-Y H:i", strtotime($repeatsub->fields['rdate'])).'</a><br>';
                                        $repeatsub->MoveNext();
                                }
                        }

                        $message2 = '';
                        $message2 .= "<b>First Name: </b>".$_REQUEST['frname']."<br>";
                        $message2 .= "<b>Last Name: </b>".$_REQUEST['lsname']."<br>";
                        $message2 .= "<b>E-mail Address: </b>".$_REQUEST['eaddress']."<br>";
                        $message2 .= "<b>Buying Interest: </b>".$_REQUEST['binterest']."<br>";

                        $message2 .= "<b>Area: </b>".$_REQUEST['earea']."<br>";
                        $message2 .= "<b>Price Range: </b>".$_REQUEST['prange1']." - ".$_REQUEST['prange2']."<br>";
                        $message2 .= "<b>Type of property: </b>".$_REQUEST['typrop']."<br>";
                        $message2 .= $body;

                        $message = $message2;
                        $mail->FromName   = "JPFCO Web";
                        $mail->Subject    = "Multiple Listing Service";
                        $mail->AltBody    = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test
                        $mail->MsgHTML($message2);
                        $mail->AddAddress("office@jpfco.com", "JPFCO");

                        $catcher = $db->Execute("Select `email` from `catcher` where `type` = 'contact'");
                        $mails = explode(",", $catcher->fields['email']);
                        foreach($mails as $ml){
                                if($ml){
                                        $mail->AddBCC(trim($ml));
                                }
                        }

                        $mail->AddReplyTo($_REQUEST['eaddress'], $_REQUEST['frname']." ".$_REQUEST['lsname']);
                        if(!$mail->Send()) {
                                echo "Mailer Error: " . $mail->ErrorInfo;
                        }
                        $smarty->assign("finished", 1);
                }
        }

        $smarty->Assign("meta_title", "Nantucket Multiple Listing Service Real Estate Listings for Sale");
        $smarty->Assign("meta_key", "Nantucket Multiple Listing Services, Real Estate, for Sale, Nantucket Island, MA");
        $smarty->Assign("meta_desc", "Nantucket multiple listing service real estate listings for sale on Nantucket Island, MA. ");
        $smarty->Assign("pmenu", "rs");
        $smarty->display("mls.tpl");
        break;

case "nantucket-map":
        $smarty->Assign("meta_title", "Nantucket Island Map - Nantucket Real Estate");
        $smarty->Assign("meta_key", "Nantucket Map, Nantucket Island, Nantucket Real Estate, Nantucket House Rental, Rental House, Home Rentals, Nantucket Vacation Rentals, Rentals");
        $smarty->Assign("meta_desc", "Nantucket Island Map will help you locate real estate and rentals areas on the Nantucket Island");
        $smarty->Assign("pmenu", "n");
        $smarty->display("nantucket-map.tpl");
        break;

case "agent_details":

        $persons = $REM_db->getAll("select * from `agents` where `site` = '1' and `active` = '1' order by `xorder`");
        $smarty->assign("agents", $persons);
        $agent = $REM_db->Execute("select * from `agents` where `active` = '1' and `id`='".$id."'");

        if($_COOKIE["nojs"]){


                $smarty->Assign("meta_title", $agent->fields['name']." - Nantucket Real Estate - JPFCO");
                $smarty->Assign("meta_desc", $agent->fields['name']." is a Nantucket real estate agent at JPFCO on the island of Nantucket, Massachusetts.");
                $smarty->Assign("meta_key", $agent->fields['name'].", Nantucket, Real Estate, JPFCO, Rentals, Sales");

                $agphotos = $REM_db->getAll("SELECT * FROM `agent_photos` where `sid`='".$id."' ORDER BY `porder` ASC");
                $agqa = $REM_db->getAll("SELECT * FROM `agent_qa` where `aid`='".$id."' ORDER BY `id` ASC ");

                $agprop1 = $REM_db->getAll("SELECT * FROM `agent_prop` where `aid`='".$id."' and `type` = 'favlist'");
                $agprop2 = $REM_db->getAll("SELECT * FROM `agent_prop` where `aid`='".$id."' and `type` = 'favrent'");
                $agprop3 = $REM_db->getAll("SELECT * FROM `agent_prop` where `aid`='".$id."' and `type` = 'soldlist'");

                $agfname = explode(" ", $agent->fields['name']);

                if (strlen($agfname[0]) < 2 )
                        $smarty->assign("agfname", $agfname[1]);
                else
                $smarty->assign("agfname", $agfname[0]);

                $smarty->assign("agphotos", $agphotos);
                $smarty->assign("agqa", $agqa);
                $smarty->assign("agprop1", $agprop1);
                $smarty->assign("agprop2", $agprop2);
                $smarty->assign("agprop3", $agprop3);
                $smarty->Assign("css_after", '<link href="https://www.jpfco.com/css/jquery.mCustomScrollbar.css" rel="stylesheet" type="text/css" />
                        <script type="text/javascript" src="https://www.jpfco.com/js/jquery.mCustomScrollbar.concat.min.js"></script>');
                $smarty->assign("agent", $agent->fields);
                $smarty->display("agent_details.tpl");
        }else{


                $smarty->Assign("meta_title", $agent->fields['name']." - Nantucket Real Estate - JPFCO");
                $smarty->Assign("meta_desc", $agent->fields['name']." is a Nantucket real estate agent at JPFCO on the island of Nantucket, Massachusetts.");
                $smarty->Assign("meta_key", $agent->fields['name'].", Nantucket, Real Estate, JPFCO, Rentals, Sales");

                $persons = $REM_db->getAll("select * from `agents` where `site` = '1' and `active` = '1' order by `xorder`");
                $smarty->assign("agents", $persons);
                $agent = $REM_db->Execute("select * from `agents` where `site` = '1' and `active` = '1' and `id`='".$id."'");

                $agphotos = $REM_db->getAll("SELECT * FROM `agent_photos` where `sid`='".$id."' ORDER BY `porder` ASC");
                $agqa = $REM_db->getAll("SELECT * FROM `agent_qa` where `aid`='".$id."' ORDER BY `id` ASC ");

                $agprop1 = $REM_db->getAll("SELECT * FROM `agent_prop` where `aid`='".$id."' and `type` = 'favlist'");
                $agprop2 = $REM_db->getAll("SELECT * FROM `agent_prop` where `aid`='".$id."' and `type` = 'favrent'");
                $agprop3 = $REM_db->getAll("SELECT * FROM `agent_prop` where `aid`='".$id."' and `type` = 'soldlist'");

                $agfname = explode(" ", $agent->fields['name']);

                if (strlen($agfname[0]) < 2 )
                        $smarty->assign("agfname", $agfname[1]);
                else
                $smarty->assign("agfname", $agfname[0]);

                $smarty->assign("agphotos", $agphotos);
                $smarty->assign("agqa", $agqa);
                $smarty->assign("agprop1", $agprop1);
                $smarty->assign("agprop2", $agprop2);
                $smarty->assign("agprop3", $agprop3);

                $smarty->assign("agent", $agent->fields);
                $smarty->Assign("css_after", '<link href="https://www.jpfco.com/css/jquery.mCustomScrollbar.css" rel="stylesheet" type="text/css" />
                        <script type="text/javascript" src="https://www.jpfco.com/js/jquery.mCustomScrollbar.concat.min.js"></script>');
                $smarty->display("agent_details.tpl");
        }
        break;

case "agents":
        $smarty->Assign("meta_title", "JPFCO Agents: Nantucket Real Estate Agents");
        $smarty->Assign("meta_key", "Pepper Frazier, Dalton Frazier, Chris Kling, Roy Weedon, Jennifer Frazier, Kathy Sullivan, Debby Christian, Scott Wheldon, Angel Frazier, Jenny Whitlock, Ashlee Keating, Patrick Keating, Carol Miller, Brain Harris, Suzi Spring, Scott Correy");
        $smarty->Assign("meta_desc", "Nantucket real estate agents at JPFCO on Nantucket Island in Massachusetts.  Call 508-228-3202.");

        $persons = $REM_db->getAll("select * from `agents` where `site` = '1' and `active` = '1' order by `xorder`");

        $smarty->assign("persons", $persons);
        $smarty->assign("agents", $persons);
        $smarty->Assign("agentID", $_REQUEST['agent']);
        $smarty->Assign("pmenu", "j");

        $smarty->display("agents.tpl");
        break;

case "selling":
        $smarty->Assign("meta_title", "Nantucket Real Estate Sellers Guide - Nantucket Island, MA");
        $smarty->Assign("meta_key", "Nantucket real estate, sellers guide, Nantucket island, MA");
        $smarty->Assign("meta_desc", "Nantucket real estate sellers guide on what to consider with selling a house on Nantucket Island, MA.");
        $smarty->Assign("pmenu", "n");
        $smarty->display("selling.tpl");
        break;

case "buyers_guide":
        $smarty->Assign("meta_title", "Nantucket Real Estate Buyer's Guide - Nantucket Island - J Pepper Frazier Real Estate ");
        $smarty->Assign("meta_key", "Buyers Guide, Nantucket real estate, Island, MA");
        $smarty->Assign("meta_desc", "Nantucket real estate buyers guide for information on how best to buy a new house on Nantucket Island, MA.");
        $smarty->Assign("pmenu", "n");
        $smarty->display("buyers_guide.tpl");
        break;

case "narchive":
        $smarty->Assign("meta_title", "Latest Newsletter - Nantucket Real Estate Agency - JPFCO");
        $smarty->Assign("meta_key", "Latest Newsletter - Nantucket Real Estate Agency - JPFCO");
        $smarty->Assign("meta_desc", "Latest Newsletter - Nantucket Real Estate Agency - JPFCO");
        $dbnews = &ADONewConnection('mysqli');
        $dbnews->Connect(env('DB_HOST','localhost'), env('DB_NEWS_USER'), env('DB_NEWS_PASS'), env('DB_NEWS_NAME'));
        $news = $dbnews->GetAll("SELECT `newsletter_id`, DATE_FORMAT(`issue_date`, '%b %e, %Y') as `xxl`  FROM `newsletter` where `status` = '1' and `issue_date` > '2023-01-01' order by `issue_date` DESC");
        $smarty->Assign("news", $news);
        $smarty->Assign("pmenu", "j");
        $dbnews->Close();
        $smarty->display("narchive.tpl");
        break;

case "jpfco":
        $smarty->Assign("meta_title", "Nantucket Real Estate Agency - J Pepper Frazier Company JPFCO");
        $smarty->Assign("meta_key", "Pepper Frazier, Nantucket, Real Estate, Rentals");
        $smarty->Assign("meta_desc", "J Pepper Frazier Company is a Nantucket Real Estate Agency in Nantucket, MA.");
        $smarty->Assign("pmenu", "j");
        $smarty->display("jpfco.tpl");
        break;

case "webcam":
        $smarty->Assign("meta_title", "Nantucket Surf Cam Nobadeer Beach Live Webcam");
        $smarty->Assign("meta_key", "Nantucket, Surf, Cam, Webcam");
        $smarty->Assign("meta_desc", "Nantucket Surf Cam is a live feed from a Nobadeer Beach Webcam on the island of Nantucket.");
        $smarty->Assign("pmenu", "n");
        $smarty->display("surfline_webcam.tpl");
        break;

case "comm":
        $smarty->Assign("meta_title", "Nantucket Island Community Support - Nantucket Real Estate Agency - J Pepper Frazier Company JPFCO");
        $smarty->Assign("meta_key", "Nantucket Island, Community Support, Pepper Frazier, Nantucket, Real Estate, Rentals");
        $smarty->Assign("meta_desc", "We offer Community Support here at J Pepper Frazier Company, a Nantucket Real Estate Agency in Nantucket, MA.");
        $smarty->Assign("pmenu", "j");
        $smarty->display("Community-Service.tpl");
        break;

case "company_video":
        $smarty->Assign("meta_title", "Nantucket Real Estate Agency - J Pepper Frazier Company JPFCO");
        $smarty->Assign("meta_key", "Pepper Frazier, Nantucket, Real Estate, Rentals");
        $smarty->Assign("meta_desc", "J Pepper Frazier Company is a Nantucket Real Estate Agency in Nantucket, MA.");
        $smarty->Assign("pmenu", "j");
        $smarty->display("company_video.tpl");
        break;


case "nantucket-events":
        $smarty->Assign("meta_title", "Nantucket Real Estate Agency - Nantucket Events");
        $smarty->Assign("meta_key", "Nantucket Real Estate Agency - Nantucket Events");
        $smarty->Assign("meta_desc", "Nantucket Real Estate Agency - Nantucket Events");
        $smarty->Assign("pmenu", "n");

        $ev = $db->GetAll("Select * from `events` where `date` >= NOW()  order by `date`");
        $smarty->assign("ev", $ev);
        $smarty->display("nantucket-events.tpl");
        break;



case "rental_details":


        $smarty->assign("chat", 1);

        if(empty($_SERVER['HTTP_REFERER'])) $backlink = $base_url.'/nantucket-rentals/?ptype=list_rentals_filter'; else $backlink = $_SERVER['HTTP_REFERER'];
        $smarty->assign("backlink", $backlink);

        $house = $REM_db->Execute("select * from `rentals` where `_PropertyCode` = '".$rid."' and `active` = '1'");

        if(empty($house->fields['rid'])){
                $REM_db->Close();
                Header("HTTP/1.1 301 Moved Permanently");
                Header("Location: https://www.jpfco.com/nantucket-rentals");
                exit();
        }

        $video = $db->Execute("select * from `videos` where `propid` = '".$rid."'");


        $smarty->Assign("video", $video->fields);

        $photos = $REM_db->GetAll("select * from `r_images` where `rid` = '".$house->fields['_PropertyCode']."' ORDER BY `sort` ASC");

        $smarty->Assign("photos2", $photos);

        $month = date( 'm', time() );
        $day = date( 'j', time() );

        if((intval($month) < 9)){
                $year = date( 'Y', strtotime("now"));
        }else{
                if((intval($month) == 9) && ($day < 03)){
                        $year = date( 'Y', strtotime("now"));
                }else{
                        $year = date( 'Y', strtotime("+1 year"));
                }
        }

        $smarty->assign("ryear", $year);

        $rates1 = $REM_db->GetAll("select * from `r_rates` where `rid` = '".$house->fields['_PropertyCode']."' AND MONTH(`date`) = '6' AND YEAR(`date`) = '".$year."' and `year` = '".$year."' ORDER BY `date`");
        $rates2 = $REM_db->GetAll("select * from `r_rates` where `rid` = '".$house->fields['_PropertyCode']."' AND MONTH(`date`) = '7' AND YEAR(`date`) = '".$year."' and `year` = '".$year."' ORDER BY `date`");
        $rates3 = $REM_db->GetAll("select * from `r_rates` where `rid` = '".$house->fields['_PropertyCode']."' AND MONTH(`date`) = '8' AND YEAR(`date`) = '".$year."' and `year` = '".$year."' ORDER BY `date`");
        $rates4 = $REM_db->GetAll("select * from `r_rates` where `rid` = '".$house->fields['_PropertyCode']."' AND MONTH(`date`) = '9' AND YEAR(`date`) = '".$year."' and `year` = '".$year."' ORDER BY `date`");

        $smarty->Assign("rates5", $rates5);
        $smarty->Assign("rates6", $rates6);
        $smarty->Assign("rates7", $rates7);
        $smarty->Assign("rates8", $rates8);


        if(count($rates1)<5) array_push($rates1,"");
        if(count($rates2)<5) array_push($rates2, "");
        if(count($rates3)<5) array_push($rates3, "");
        if(count($rates4)<5) array_push($rates4, "");


        $smarty->Assign("rates1", $rates1);
        $smarty->Assign("rates2", $rates2);
        $smarty->Assign("rates3", $rates3);
        $smarty->Assign("rates4", $rates4);

        if( count($rates1) < 2 && count($rates2) < 2 && count($rates3) < 2 && count($rates4) < 2 ){
                  $smarty->Assign("hiderates", 1);
        }

        $specRates = $REM_db->Execute("select * from `r_spec_rates` where `rid` = '".$house->fields['_PropertyCode']."' and `year` = '".$year."'");
        $spr = array();
        while(!$specRates->EOF){
                $spr[$specRates->fields['day']] = $specRates->fields;
                $specRates->MoveNext();
        }
        $smarty->Assign("spr", $spr);


        $beeds = $REM_db->GetAll("select * from `r_beds` where `rid` = '".$house->fields['_PropertyCode']."' and `type` <> ''");

        $smarty->Assign("beeds", $beeds);


        $smarty->Assign("meta_title", str_replace("\n", "", str_replace("\r", "", strip_tags($house->fields['PropertyAddress']." Nantucket, MA  Rental House"))));
        $smarty->Assign("meta_desc", str_replace("\n", "", str_replace("\r", "", strip_tags("This Nantucket Rental property located at ".$house->fields['PropertyAddress']." Nantucket, MA is available for rent.  This vacation property has ".($house->fields['Bedrooms']+0)." bedrooms, ".($house->fields['Baths']+0).( ($house->fields['BathsHalf']+0) > 0 ? " and ".($house->fields['BathsHalf']+0)." half" : "" )."  baths and a capacity of ".($house->fields['Capacity']+0).".  Located in ".$house->fields['AreaName'] ."."))));
        $smarty->Assign("meta_key", str_replace("\n", "", str_replace("\r", "", strip_tags($house->fields['PropertyAddress'].", Nantucket, Rental, Island "))));


        $similar_low = $REM_db->GetAll("select * from `rentals` where `active` = '1' and `Capacity` <= '".$house->fields['Capacity']."' and `rid` <> '".$house->fields['rid']."' and `Area` = '".$house->fields['Area']."' ORDER BY `Capacity` DESC limit 0,10");
        $similar_high = $REM_db->GetAll("select * from `rentals` where `active` = '1' and  `Capacity` > '".$house->fields['Capacity']."' and `rid` <> '".$house->fields['rid']."' and `Area` = '".$house->fields['Area']."' ORDER BY `Capacity` ASC limit 0,10");

        if(empty($similar_low)) $similar_low = $REM_db->GetAll("select * from `rentals` where `active` = '1' and  `Capacity` <= '".$house->fields['Capacity']."' and `rid` <> '".$house->fields['rid']."' ORDER BY `Capacity` DESC limit 0,10");
        if(empty($similar_high)) $similar_high = $REM_db->GetAll("select * from `rentals` where `active` = '1' and  `Capacity` > '".$house->fields['Capacity']."' and `rid` <> '".$house->fields['rid']."' ORDER BY `Capacity` ASC limit 0,10");

        $smarty->Assign("similar_low", $similar_low);
        $smarty->Assign("similar_high", $similar_high);

        $smarty->Assign("house", $house->fields);

        $latlong = explode(",", $house->fields['map']);

        $smarty->Assign("latitude", $latlong[0]);
        $smarty->Assign("longitude", $latlong[1]);

        $smarty->compile_check = true;
        $smarty->force_compile = true;


        $cat = $REM_db->Execute("select a.`categ`, b.`name` from `r_amenities_new` a LEFT JOIN `ame_cat` b ON a.`categ` = b.`id` where a.`rid` = '".$house->fields['_PropertyCode']."' group by a.`categ`");

        while(!$cat->EOF){

          $houseAmenities = $REM_db->GetAll("select a.`id`, a.`val`, a.`amenity` from `r_amenities_new` a LEFT JOIN `amenities` b ON b.`id` = a.`ame_id` where a.`rid` = '".$house->fields['_PropertyCode']."' and a.`categ` = '".$cat->fields['categ']."' and a.`amenity` <> 'OtherAmenities' and a.`type` <> '9' and a.`val` <> '' and a.`val` <> '0' and ( (LOWER(a.`val`) != 'n' AND a.`val` NOT LIKE 'no%') OR a.`amenity` = 'Pets Allowed') order by b.`order` ASC");

          $amenities[$cat->fields['categ']]['categ'] = $cat->fields['name'];
          $amenities[$cat->fields['categ']]['amenities'] = $houseAmenities;


          $cat->MoveNext();
        }

        $smarty->Assign("amenities", $amenities);

        $houseAmenities2 = $REM_db->Execute("select * from `r_amenities_new` where `rid` = '".$db->addq($_REQUEST['rental_id'])."' and `amenity` = 'OtherAmenities'");
        $smarty->Assign("otherAmenities", $houseAmenities2->fields);

        $smarty->Assign("pmenu", "r");

        $smarty->Assign("canonical", $base_url.'/nantucket-rentals/'.rewrite($house->fields['AreaName']).'/'.rewrite($house->fields['PropertyAddress']).'-'.$house->fields['_PropertyCode'].'.html');

        $smarty->display("rental_details.tpl");

        break;


case "house_details":


        if(empty($_SERVER['HTTP_REFERER'])) $backlink = $base_url.'/nantucket-real-estate/?ptype=list_houses_filter'; else $backlink = $_SERVER['HTTP_REFERER'];
        $smarty->assign("backlink", $backlink);

        $house = $db->Execute("select * from `xml_realestate` where `linkId` = '".$linkId."'");


        if(empty($house->fields['linkId'])){
                @header( "HTTP/1.1 301 Moved Permanently" );
                @header("Location:".$base_url."/index.php?ptype=house_search&np=1");
        }
        $smarty->Assign("house", $house->fields);


        if(str_contains(strtolower($house->fields['LCompany']), 'pepper')){


                $agname = strtolower($house->fields['LAgent']);

                $tokens = preg_split('/\s+/', trim($agname));
                $tokens = array_filter($tokens);

                $booleanString = '+' . implode(' +', $tokens);
                $escapedName = addslashes($agname);


                $sql = "
                SELECT `id`, `name`, `picture`, `phone`, `email`
                FROM `agents`
                WHERE MATCH(`name`) AGAINST ('{$booleanString}' IN BOOLEAN MODE)
                ORDER BY
                    CASE
                        WHEN `name` = '{$escapedName}' THEN 0
                        ELSE 1
                    END,
                    MATCH(`name`) AGAINST ('{$booleanString}' IN BOOLEAN MODE) DESC";

              $agent = $REM_db->Execute($sql);

              if($agent->fields['id']){
                     $smarty->Assign("agent", $agent->fields);
              }

        }

        $history = $db->Execute("SELECT a.* FROM `xml_sold_new` a left join `listing_sold` b on b.`sold_id` = a.linkId WHERE b.`link_id` = '".$linkId."' order by a.`data` DESC; ");

        if ($history !== false) {

                while(!$history->EOF){
                       if($history->fields['status'] == ''){
                               $xyz = file_get_contents($base_url.'/cron/sold.php?link_id='.$history->fields['linkId']);
                       }elseif($history->fields['data'] == '0000-00-00'){
                               $xyz = file_get_contents($base_url.'/cron/sold.php?link_id='.$history->fields['linkId']);
                               echo $base_url.'/cron/sold.php?link_id='.$history->fields['sold_id'];
                       }elseif($history->fields['price'] < 1 ){
                               $xyz = file_get_contents($base_url.'/cron/sold.php?link_id='.$history->fields['linkId']);
                       }

                       $history->MoveNext();
                }
        }

        $history = $db->GetAll("SELECT a.* FROM `xml_sold_new` a left join `listing_sold` b on b.`sold_id` = a.linkId WHERE b.`link_id` = '".$linkId."' and `a`.`data` != '0000-00-00' order by a.`data` DESC; ");
        $smarty->Assign("history", $history);

        $video = $db->GetAll("select * from `videos` where `propid` = '".$linkId."'");
        $smarty->Assign("video", $video);

        $photos2 = $db->GetAll("select * from `xml_photos` where `linkId` = '".$linkId."' ORDER BY `pid` ASC");

        $smarty->Assign("groupCells",  largestDivisor(count($photos2)));

        $smarty->Assign("photos", $photos2);

        $tours = $db->GetAll("select * from `listing_tour` where `link_id` = '".$linkId."' ORDER BY `id` ASC");
        $smarty->Assign("tours", $tours);

        $smarty->Assign("similar_low", $db->GetAll("select * from `xml_realestate` WHERE LOWER(`status`) = '".strtolower($house->fields['status'])."' and `price` <= '".$house->fields['price']."' and `id` <> '".$house->fields['id']."' ORDER BY `price` DESC limit 0,10"));
        $smarty->Assign("similar_high", $db->GetAll("select * from `xml_realestate` WHERE LOWER(`status`) = '".strtolower($house->fields['status'])."' and `price` > '".$house->fields['price']."' and `id` <> '".$house->fields['id']."' ORDER BY `price` ASC limit 0,10"));

        $smarty->Assign("listing_sold", $db->GetAll("SELECT a.`sold_id`, b.* FROM `listing_sold` a left join `xml_sold_new` b on a.`sold_id` = b.`linkId` WHERE a.`link_id` = ''".$house->fields['linkId']."'' order by `a`.`date` DESC; "));


        $smarty->Assign("pmenu", "re");

        $smarty->Assign("meta_title", strip_tags($house->fields['address']." Nantucket MA"));
        $smarty->Assign("meta_key", strip_tags($house->fields['address']).", Nantucket MA");
        $smarty->Assign("meta_desc", substr(str_replace("\n", "", str_replace("\r", "", strip_tags("Nantucket real estate for sale at ".$house->fields['address']." ".$house->fields['location']." Nantucket MA, ".htmlentities($house->fields['description'], ENT_QUOTES)))), 0, 150));

        $smarty->Assign("canonical", $base_url.'/nantucket-real-estate/'.rewrite($house->fields['location']).'/'.rewrite($house->fields['address']).'-'.$house->fields['linkId'].'.html');

        $smarty->display("house_details.tpl");

        break;

case "contract_details":
        if(empty($_SERVER['HTTP_REFERER'])) $backlink = $base_url; else $backlink = $_SERVER['HTTP_REFERER'];
        $smarty->assign("backlink", $backlink);

        $house = $db->Execute("select * from `xml_under_contract` where `linkId` = '".$linkId."'");
        if(empty($house->fields['linkId'])){
                @header( "HTTP/1.1 301 Moved Permanently" );
                @header("Location:".$base_url);
        }
        $smarty->Assign("house", $house->fields);

        $smarty->Assign("similar_low", $db->GetAll("select * from `xml_under_contract` where `price` <= '".$house->fields['price']."' and `id` <> '".$house->fields['id']."' ORDER BY `price` DESC limit 0,10"));
        $smarty->Assign("similar_high", $db->GetAll("select * from `xml_under_contract` where `price` > '".$house->fields['price']."' and `id` <> '".$house->fields['id']."' ORDER BY `price` ASC limit 0,10"));

        $photos2 = $db->GetAll("select * from `xml_photos_contract` where `linkId` = '".$linkId."' ORDER BY `pid` ASC");
        $smarty->Assign("photos", $photos2);

        $smarty->Assign("meta_title", strip_tags($house->fields['address']." : Nantucket : ".$house->fields['location']." Under Contract"));
        $smarty->Assign("meta_key", strip_tags($house->fields['address'].", Nantucket, ".$house->fields['location'].", Island, Ma, Massachusetts, Real Estate, Under Contract"));
        $smarty->Assign("meta_desc", substr(str_replace("\n", "", str_replace("\r", "", strip_tags($house->fields['address'] ." Nantucket, MA ".$house->fields['location'] .". ".htmlentities($house->fields['description'], ENT_QUOTES)))), 0, 150));
        $smarty->display("under_contract_details.tpl");
        break;

case "sold_details":

        if(empty($_SERVER['HTTP_REFERER'])) $backlink = $base_url.'/index.php?ptype=list_sold_filter'; else $backlink = $_SERVER['HTTP_REFERER'];
        $smarty->assign("backlink", $backlink);

        $house = $db->Execute("select * from `xml_sold_new` where `linkId` = '".$linkId."'");

        if(empty($house->fields['linkId'])){
                @header("HTTP/1.1 301 Moved Permanently");
                @header("Location:".$base_url."/index.php?ptype=house_search&np=1");
        }

        $smarty->Assign("house", $house->fields);
        $houseDesc = html_entity_decode($house->fields['description'], ENT_QUOTES, "UTF-8");
        $smarty->Assign("houseDescA", $houseDesc);

        $locations = $db->GetAll("SELECT DISTINCT (`location`) FROM `xml_sold_new` ORDER BY `location` ASC");
        $smarty->Assign("locations", $locations);

        $smarty->Assign("similar_low", $db->GetAll("select * from `xml_sold_new` where `price` <= '".$house->fields['price']."' and `id` <> '".$house->fields['id']."' ORDER BY `price` DESC limit 0,10"));
        $smarty->Assign("similar_high", $db->GetAll("select * from `xml_sold_new` where `price` > '".$house->fields['price']."' and `id` <> '".$house->fields['id']."' ORDER BY `price` ASC limit 0,10"));

        $smarty->Assign("meta_title", strip_tags($house->fields['address']." : Nantucket : ".$house->fields['location']." Sold Listing ".$house->fields['linkId']));
        $smarty->Assign("meta_key", strip_tags($house->fields['address'].", Nantucket, ".$house->fields['location'].", Island, Ma, Massachusetts, Real Estate, Sold Listing"));
        $smarty->Assign("meta_desc", substr(str_replace("\n", "", str_replace("\r", "", strip_tags($house->fields['address'] ." Sold Listing ".$house->fields['linkId']." Nantucket, MA ".$house->fields['location'] .". ".htmlentities($house->fields['description'], ENT_QUOTES)))), 0, 150));

        $latlong = explode(",", $house->fields['map']);

        $smarty->Assign("latitude", $latlong[0]);
        $smarty->Assign("longitude", $latlong[1]);

        $smarty->Assign("pmenu", "rs");

        $smarty->Assign("canonical", $base_url.'/nantucket-sold-listings/'.rewrite($house->fields['location']).'/'.rewrite($house->fields['address']).'-'.$house->fields['linkId'].'.html');

        $smarty->display("sold_details.tpl");
        break;


case "list_sold_filter":

        if($gosub == 'GO'){
                $PROP = $db->Execute("SELECT * FROM `xml_sold_new` where `linkId` = '".$linkId."'");
                if($PROP->RecordCount() == 1){
                        @header("Location:".$PROP->fields['rlink']);
                        exit();
                }else{
                        $smarty->Assign("properr", "No properties found.");
                }
        }

       if(empty($_SERVER['QUERY_STRING'])) $_SERVER['QUERY_STRING'] = "ptype=list_sold_filter";

        $map_url = str_replace("list_sold_filter", "map_sold_filter", $_SERVER['QUERY_STRING']);
        if($map_url) $smarty->assign("map_url", "index.php?".$map_url);

        if($reqArea){
                $areasF = $reqArea;
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }else{
                if($areas){
                        $areasF = array($areas);
                        $smarty->Assign("clear_filter", $clear_filter = 'true');
                }else{
                        $areasF = array();
                        $smarty->Assign("sell_all_areas", true);
                }
        }
        $smarty->Assign("areas", $areasF);


        if($year){
                $sqlCond .= " and ( YEAR( `data` ) = '".$year."') ";
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }

        if($agency){
                $sqlCondAgency .= " and `LCompany` LIKE '%Pepper%' ";
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }

        if($Land)
                if($House)
                $type = '';
        else
        $type = 'Land';
        else
        if($House)
                $type = 'House';

        if($type){
                if($type == 'Land'){
                        $sqlCond .= " and `type` = 'Land'";
                }else{
                        $sqlCond .= " and `type` <> 'Land'";
                }
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }

        if($bedrooms){
                switch($bedrooms){
                case "1":
                        $sqlCond .= " and  `bedrooms` <= '3' ) ";
                        break;

                case "2":
                        $sqlCond .= " and ( CAST( `bedrooms` AS DECIMAL ) >= '4' and  `bedrooms` <= '6' ) ";
                        break;

                case "3":
                        $sqlCond .= " and ( CAST( `bedrooms` AS DECIMAL ) >= '7' )";
                        break;
                }
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }
        if($bathrooms){
                $sqlCond .= " and ( CAST( `bathrooms` AS DECIMAL ) >= '".$bathrooms."') ";
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }
        if($capacity){
                switch($capacity){
                case "1":
                        $sqlCond .= " and ( CAST( `totalrooms` AS DECIMAL ) >= '1' and  `totalrooms` <= '3' ) ";
                        break;

                case "2":
                        $sqlCond .= " and ( CAST( `totalrooms` AS DECIMAL ) >= '4' and  `totalrooms` <= '6' ) ";
                        break;

                case "3":
                        $sqlCond .= " and ( CAST( `totalrooms` AS DECIMAL ) >= '7' )";
                        break;
                }
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }

        if($areasF){
                $sqlCondArea .= " and ( ";
                foreach($areasF as $value){
                        $value = str_replace("-", " ",str_replace("_", " ", $value));
                        $sqlCondArea .= " `location` = '".$value."' or ";
                }
                $sqlCondArea = substr_replace($sqlCondArea, "", -3);
                $sqlCondArea .= " )";
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }
        if($priceRange){
                switch($priceRange){
                case "1":
                        $amountMax = '1000000';
                        break;
                case "2":
                        $amountMin = '1000000';
                        $amountMax = '2000000';
                        break;
                case "3":
                        $amountMin = '2000000';
                        $amountMax = '5000000';
                        break;
                case "4":
                        $amountMin = '5000000';
                        break;
                }
        }

        if($amountMin){
                if($amountMax)
                        $sqlTmp = " `price` <= ".$amountMax." and ";
                else
                $sqlTmp = "";

                $sqlCond .= " AND ( ".$sqlTmp." `price` >= ".$amountMin." )";
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }elseif($amountMax){
                $sqlCond .= " AND ( `price` <= ".$amountMax." )";
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }


        $sqlCountH = "select count(`id`) as no_ev from `xml_sold_new` where 1" . $sqlCond . $sqlCondArea . $sqlCondAgency;
        $record = &$db->CacheExecute($sqlCountH);

        $count_rec = $record->fields['no_ev'];
        $nr_afisari = 33;
        $nr_pages = ceil($count_rec/$nr_afisari);
        if($page > $nr_pages) $page = 1;
        if(empty($page))$page = 1;

        if($_COOKIE["nojs"]){
                $nopage = removeqsvar($_SERVER['QUERY_STRING'], 'page');
                $url = $base_url.'/index.php?'.$nopage.'&page=%d';
        }else{
                $url = $base_url.'/index.php?ptype=list_sold_filter&page=%d';
        }

        $smarty->Assign("html", paginationR($count_rec, $nr_afisari, $page, $url));
        $smarty->Assign("resultInfo", resultsR($count_rec, $nr_afisari, $page, $url));

        switch ($sort){

        case "price-high":
                $sqlOrd = " ORDER BY `soldPrice` DESC, `price` DESC ";
                break;

        case "price-low":
                $sqlOrd = " ORDER BY `soldPrice` ASC, `price` DESC ";
                break;

        case "capacity-high":
                $sqlOrd = " ORDER BY CAST( `bedrooms` AS DECIMAL ) DESC, `soldPrice` DESC ";
                break;

        case "capacity-low":
                $sqlOrd = " ORDER BY CAST( `bedrooms` AS DECIMAL ) ASC, `soldPrice` DESC ";
                break;

        case "date-high":
                $sqlOrd = " ORDER BY `data` ASC, `soldPrice` DESC ";
                break;

        case "type":
                $sqlOrd = " ORDER BY `tip` ASC, `soldPrice` DESC ";
                break;

        default:
                $sqlOrd = " ORDER BY `data` DESC, `soldPrice` DESC ";
        }

        $sqlH = "SELECT `title`, `location`, `address`, `linkId`, `thumb`,`bedrooms`, `bathrooms`, `price`, `rlink`, `data`, `soldPrice`, `newlink`  FROM `xml_sold_new` where 1 " . $sqlCond . $sqlCondArea . $sqlCondAgency . $sqlOrd . " LIMIT ".($page-1)*$nr_afisari.",".$nr_afisari;

        if($test == 1) echo $sqlCountH."<br><br>".$sqlH;

        $loc = array();
        $x=0;
        $locations = $db->CacheExecute("SELECT DISTINCT (`location`) FROM `xml_sold_new` ORDER BY `location` ASC");
        while(!$locations->EOF){
                $tmp = $db->CacheExecute("SELECT count(`id`) as `noLoc` FROM `xml_sold_new` where `location` = '".$locations->fields['location']."' ".$sqlCond . $sqlCondAgency);

                if ($test == 1) echo "SELECT count(`id`) as noLoc FROM `xml_sold_new` where `location` = '".$locations->fields['location']."' ".$sqlCond . $sqlCondAgency;

                $loc[$x]['location'] = $locations->fields['location'];
                $loc[$x]['numar'] = $tmp->fields['noLoc'];
                $x++;
                $locations->MoveNext();
        }
        $smarty->Assign("locations", $loc);

        $mprice = $db->Execute("SELECT MAX( `soldPrice` ) as `mprice` FROM `xml_sold_new` ");
        $smarty->Assign("mprice", $mprice->fields['mprice']);


        $tmp1 = $db->CacheExecute("SELECT count(`id`) as `noAge` FROM `xml_sold_new` where `LCompany` LIKE '%Pepper%' ".$sqlCondArea." ".$sqlCond);

        if ($test == 1) echo "SELECT count(`id`) as `noLoc` FROM `xml_sold_new` where `LCompany` LIKE '%Pepper%' ".$sqlCondArea." ".$sqlCond;

        $jpfco['numar'] = $tmp1->fields['noAge'];
        $smarty->Assign("jpfco", $jpfco);

        $smarty->Assign("Agency", $agency);


        $houses = $db->CacheGetAll($sqlH);
        $smarty->Assign("houses", $houses);


        $smarty->Assign("amountMin", $amountMin);
        $smarty->Assign("amountMax", $amountMax);

        $smarty->Assign("sort", $sort);
        $smarty->Assign("type", $type);
        $smarty->Assign("bedrooms", $bedrooms);
        $smarty->Assign("bathrooms", $bathrooms);
        $smarty->Assign("capacity", $capacity);

        $smarty->Assign("meta_title", "Nantucket Recent Sales - Nantucket Real Estate Nantucket Island, MA Rental Houses");
        $smarty->Assign("meta_key", "Nantucket Recent Sales - Nantucket Real Estate Nantucket Island, MA Rental Houses");
        $smarty->Assign("meta_desc", "Nantucket Recent Sales - Nantucket Real Estate Nantucket Island, MA Rental Houses");

        $smarty->Assign("canonical", "https://www.jpfco.com/nantucket-sold-listings");

        $smarty->Assign("pmenu", "rs");
        $smarty->Assign("noprototype", "no");

        $tmp = array();
        $myHousesE = $db->GetAll("select `linkId` from `my_houses` where `uid` = '".$_SESSION['uid']."' ");
        foreach ($myHousesE as $key => $value) {
                $tmp[] = $value['linkId'];
        }
        $smarty->Assign("myHousesE", json_encode($tmp));


        if($_COOKIE["nojs"]){
                $smarty->display($template_url."templatesd/list_sold_filter_nojs.tpl");
        }else{
                if($_REQUEST['nojs'] == '1'){
                        setcookie("nojs", time(), time()+(3600*24*7));
                        $smarty->display($template_url."templatesd/list_sold_filter_nojs.tpl");
                }else{
                        $smarty->Assign("removeNoJS", 1);
                        $smarty->display($template_url."templatesd/list_sold_filter.tpl");
                }
        }
        break;



case "page_sold_filter_json":

        if($area){
                $areasF = explode( ',', $area );
        }else{
                $areasF = array();
        }
        $smarty->Assign("areas", $areasF);

        if($agency){
                $sqlCondAgency .= " and `LCompany` LIKE '%Pepper%' ";
        }

        if($type){
                if($type == 'Land'){
                        $sqlCond .= " and `type` = 'Land'";
                }else{
                        $sqlCond .= " and `type` <> 'Land'";
                }
        }

        if($bedrooms){
                switch($bedrooms){
                case "1":
                        $sqlCond .= " and ( CAST( `bedrooms` AS DECIMAL ) >= '1' and  `bedrooms` <= '3' ) ";
                        break;

                case "2":
                        $sqlCond .= " and ( CAST( `bedrooms` AS DECIMAL ) >= '4' and  `bedrooms` <= '6' ) ";
                        break;

                case "3":
                        $sqlCond .= " and ( CAST( `bedrooms` AS DECIMAL ) >= '7' )";
                        break;
                }
        }
        if($bathrooms){
                $sqlCond .= " and ( CAST( `bathrooms` AS DECIMAL ) >= '".$bathrooms."') ";
        }

        if($year){
                $sqlCond .= " and ( YEAR( `data` ) = '".$year."') ";
        }

        if($capacity){
                switch($capacity){
                case "1":
                        $sqlCond .= " and ( CAST( `totalrooms` AS DECIMAL ) >= '1' and  `totalrooms` <= '3' ) ";
                        break;

                case "2":
                        $sqlCond .= " and ( CAST( `totalrooms` AS DECIMAL ) >= '4' and  `totalrooms` <= '6' ) ";
                        break;

                case "3":
                        $sqlCond .= " and ( CAST( `totalrooms` AS DECIMAL ) >= '7' )";
                        break;
                }
        }

        if($areasF){
                $sqlCondArea .= " and ( ";
                foreach($areasF as $value){
                        $value = str_replace("-", " ",str_replace("_", " ", $value));
                        $sqlCondArea .= " `location` = '".$value."' or ";
                }
                $sqlCondArea = substr_replace($sqlCondArea, "", -3);
                $sqlCondArea .= " )";
        }


        if($amountMin){
                if($amountMax)
                        $sqlTmp = " `price` <= ".$amountMax." and ";
                else
                $sqlTmp = "";

                $sqlCond .= " AND ( ".$sqlTmp." `price` >= ".$amountMin." )";

        }elseif($amountMax){
                $sqlCond .= " AND ( `price` <= ".$amountMax." )";
        }


        $sqlCountH = "select count(`id`) as no_ev from `xml_sold_new` where 1" . $sqlCond . $sqlCondArea . $sqlCondAgency;
        $record = &$db->CacheExecute($sqlCountH);

        $count_rec = $record->fields['no_ev'];
        $nr_afisari = 33;
        $nr_pages = ceil($count_rec/$nr_afisari);
        if($page > $nr_pages) $page = 1;
        if(empty($page))$page = 1;

        switch ($sort){

        case "price-high":
                $sqlOrd = " ORDER BY `soldPrice` DESC, `price` DESC ";
                break;

        case "price-low":
                $sqlOrd = " ORDER BY `soldPrice` ASC, `price` DESC ";
                break;

        case "capacity-high":
                $sqlOrd = " ORDER BY CAST( `bedrooms` AS DECIMAL ) DESC, `soldPrice` DESC ";
                break;

        case "capacity-low":
                $sqlOrd = " ORDER BY CAST( `bedrooms` AS DECIMAL ) ASC, `soldPrice` DESC ";
                break;

        case "date-high":
                $sqlOrd = " ORDER BY `data` ASC, `soldPrice` DESC ";
                break;

        case "type":
                $sqlOrd = " ORDER BY `tip` ASC, `soldPrice` DESC ";
                break;

        default:
                $sqlOrd = " ORDER BY `data` DESC, `soldPrice` DESC ";
        }

        $sqlH = "SELECT `title`, `location`, `address`, `linkId`, `thumb`,`bedrooms`, `bathrooms`, `price`, `rlink`, `data`, `soldPrice`, `newlink`  FROM `xml_sold_new` where 1 " . $sqlCond . $sqlCondArea . $sqlCondAgency . $sqlOrd . " LIMIT ".($page-1)*$nr_afisari.",".$nr_afisari;

        if($test == 1) echo $sqlCountH."<br><br>".$sqlH;


        $loc = array();
        $x=0;
        $locations = $db->CacheExecute("SELECT DISTINCT (`location`) FROM `xml_sold_new` ORDER BY `location` ASC");
        while(!$locations->EOF){
                $tmp = $db->CacheExecute("SELECT count(`id`) as `noLoc` FROM `xml_sold_new` where `location` = '".$locations->fields['location']."' ".$sqlCond . $sqlCondAgency);
                if ($test == 1) echo "SELECT count(`id`) as noLoc FROM `xml_sold_new` where `location` = '".$locations->fields['location']."' ".$sqlCond . $sqlCondAgency."<br><br>";
                $loc[$x]['location'] = $locations->fields['location'];
                $loc[$x]['numar'] = $tmp->fields['noLoc'];
                $x++;
                $locations->MoveNext();
        }

        $tmp1 = $db->CacheExecute("SELECT count(`id`) as `noAge` FROM `xml_sold_new` where `LCompany` LIKE '%Pepper%' ".$sqlCondArea." ".$sqlCond);
        if ($test == 1) echo "SELECT count(`id`) as `noLoc` FROM `xml_sold_new` where `LCompany` LIKE '%Pepper%' ".$sqlCondArea." ".$sqlCond."<br><br>";;
        $jpfco['numar'] = $tmp1->fields['noAge'];

        $jSON = $db->CacheGetAll($sqlH);

        $jSON['pagination'] = paginationR($count_rec, $nr_afisari, $page, $base_url.'/index.php?ptype=list_sold_filter&page=%d');
        $jSON['area'] = $loc;
        $jSON['jpfco'] = $jpfco;
        if ($test <> 1)        header('Content-type: application/json');
        echo json_encode($jSON);
        break;

        break;

case "list_contract_filter":

      $contract = 1;
      $smarty->assign("contract", $contract);

case "list_houses_filter":

       if(empty($_SERVER['QUERY_STRING'])) $_SERVER['QUERY_STRING'] = "ptype=list_houses_filter";

       if($contract){

          $status_cond = " AND LOWER(`status`) IN ( 'pending', 'active under contract') ";
          $map_url = str_replace("list_contract_filter", "map_contract_filter", $_SERVER['QUERY_STRING']);
          if($map_url) $smarty->assign("map_url", "nantucket-under-contract/?".$map_url);

       }else{

          $status_cond = " AND LOWER(`status`) IN ( 'active', 'active under contract') ";
          $map_url = str_replace("list_houses_filter", "map_houses_filter", $_SERVER['QUERY_STRING']);
          if($map_url) $smarty->assign("map_url", "nantucket-real-estate/?".$map_url);

       }


        if($gosub == 'GO'){
                $PROP = $db->Execute("SELECT * FROM `xml_realestate` where `linkId` = '".$db->addq($linkId)."'");
                if($PROP->RecordCount() == 1){
                        @header("Location:".$base_url."/nantucket-real-estate/".rewrite($PROP->fields['location'])."/".rewrite(ucwords($PROP->fields['address']))."-".$PROP->fields['linkId'].".html");
                        exit();
                }else{

/*

                        $words = explode(" ", str_replace("+", " ", $linkId));

                        foreach($words as $word){
                                $sql .= '+'.$word;
                        }

                        $clauses=array();
                        $nrof = count($words);
                        foreach ($words as $part){

                                if($nrof == 2){

                                        if(strlen($part) > 2){
                                                $clauses[]=" `address` LIKE '%" . stripslashes(addslashes($part)) . "%'";
                                        }else{
                                                $clauses[]=" `address` LIKE '%" . $linkId . "%'";
                                        }
                                }else{
                                        $clauses[]=" `address` LIKE '%" .  stripslashes(addslashes($part)) . "%'";
                                }
                        }
                        $clause=implode(' OR ' ,$clauses);

                        $PROP = $db->Execute("SELECT group_concat(`linkId`) as `hids` FROM
                                `xml_realestate` WHERE `linkId` != '' AND ($clause) ");

*/

$normalized = preg_replace('/[^a-zA-Z0-9 ]/', ' ', $linkId);
$normalized = preg_replace('/\s+/', ' ', $normalized);
$normalized = trim($normalized);

$words = explode(' ', $normalized);

$combinations = [];
$combinations[] = $normalized; // Full phrase

if (count($words) >= 2) {
    for ($i = 0; $i < count($words) - 1; $i++) {
        $combinations[] = $words[$i] . ' ' . $words[$i + 1];
    }
}

$combinations = array_unique($combinations);

$caseParts = [];
$whereParts = [];
$score = count($combinations);

foreach ($combinations as $part) {
    $safe = addslashes($part);
    $caseParts[] = "WHEN address LIKE '%$safe%' THEN $score";
    $whereParts[] = "address LIKE '%$safe%'";
    $score--;
}

$caseSql = implode("\n    ", $caseParts);
$whereSql = implode("\n    OR ", $whereParts);

$sql = "
SELECT GROUP_CONCAT(linkId) AS hids
FROM (
    SELECT linkId,
      CASE
        $caseSql
        ELSE 0
      END AS match_score
    FROM xml_realestate
    WHERE linkId != 0
      AND (
        $whereSql
      )
    ORDER BY match_score DESC
) AS ranked_matches;
";

                        $PROP = $db->Execute($sql);

                        if($PROP->fields['hids']){
                                $smarty->Assign("searchby", $linkId);
                                $hids = $PROP->fields['hids'];
                        }else{
                                $smarty->Assign("properr", "No properties found.");
                        }

                }
        }


        if($areas == 'All Locations'){$areas = '';}

        if($reqArea){
                $areasF = $reqArea;
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }else{
                if($areas){

                        $areasF = array($areas);
                        $smarty->Assign("clear_filter", $clear_filter = 'true');
                }else{
                        $areasF = array();
                        $smarty->Assign("sell_all_areas", true);
                }
        }
        $smarty->Assign("areas", $areasF);

        if($agency){
                $sqlCondAgency .= " and `LCompany` LIKE '%Pepper%' ";
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }

        if($Land)
                if($House)
                $type = '';
        else
        $type = 'Land';
        else
        if($House)
                $type = 'House';

        if($type){
                if($type == 'Land'){
                        $sqlCond .= " and `type` = 'Land'";
                }else{
                        $sqlCond .= " and `type` <> 'Land'";
                }
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }

        if($bedrooms){

                switch($bedrooms){
                case "1":
                        $sqlCond .= " and ( CAST( `bedrooms` AS DECIMAL ) <= '3' ) ";
                        break;

                case "2":
                case "4":
                        $sqlCond .= " and ( CAST( `bedrooms` AS DECIMAL ) > '3' and  CAST( `bedrooms` AS DECIMAL ) <= '6' ) ";
                        break;

                case "3":
                case "7":
                        $sqlCond .= " and ( CAST( `bedrooms` AS DECIMAL ) >= '7' )";
                        break;
                }
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }
        if($bathrooms){
                $sqlCond .= " and ( CAST( `bathrooms` AS DECIMAL ) >= '".$bathrooms."') ";
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }

        if($capacity){
                switch($capacity){
                case "1":
                        $sqlCond .= " and ( CAST( `totalrooms` AS DECIMAL ) <= '3' ) ";
                        break;

                case "2":
                case "4":
                        $sqlCond .= " and ( CAST( `totalrooms` AS DECIMAL ) > '3' and  CAST( `totalrooms` AS DECIMAL ) <= '6' ) ";
                        break;

                case "3":
                case "7":
                        $sqlCond .= " and ( CAST( `totalrooms` AS DECIMAL ) > '6' and  CAST( `totalrooms` AS DECIMAL ) <= '10' ) ";
                        break;

                case "10":
                        $sqlCond .= " and ( CAST( `totalrooms` AS DECIMAL ) >= '10') ";
                        break;

                }
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }

        if($areasF){
                $sqlCondArea .= " and ( ";
                foreach($areasF as $value){
                        $value = str_replace("-", " ", str_replace("_", " ", $value));
                        $sqlCondArea .= " `location` = '".$value."' or ";
                }
                $sqlCondArea = substr_replace($sqlCondArea, "", -3);
                $sqlCondArea .= " )";
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }

        if($priceRange){
                switch($priceRange){
                case "1":
                        $amountMax = '1000000';
                        break;
                case "2":
                        $amountMin = '1000000';
                        $amountMax = '2000000';
                        break;
                case "3":
                        $amountMin = '2000000';
                        $amountMax = '5000000';
                        break;
                case "4":
                        $amountMin = '5000000';
                        break;
                }
        }

        if($amountMin){
                if($amountMax && $amountMax != '20000000')
                        $sqlTmp = " `price` <= ".$amountMax." and ";
                else
                $sqlTmp = "";

                $sqlCond .= " AND ( ".$sqlTmp." `price` >= ".$amountMin." )";
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }elseif($amountMax && $amountMax != '20000000'){
                $sqlCond .= " AND ( `price` <= ".$amountMax." )";
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }
        if($hids){
                $sqlCond .= " and `linkId` in (".rtrim($hids, ",").") ";
        }

        $sqlCountH = "select count(`id`) as no_ev from `xml_realestate` WHERE 1 ".$status_cond." " . $sqlCond . $sqlCondArea . $sqlCondAgency;
        $record = &$db->CacheExecute($sqlCountH);
        $count_rec = $record->fields['no_ev'];

        if($count_rec == 0){
                $db->CacheFlush();
                $sqlCountH = "select count(`id`) as no_ev from `xml_realestate` WHERE 1 ".$status_cond." " . $sqlCond . $sqlCondArea . $sqlCondAgency;
                $record = &$db->CacheExecute($sqlCountH);
                $count_rec = $record->fields['no_ev'];
        }

        $nr_afisari = 33;
        $nr_pages = ceil($count_rec/$nr_afisari);
        if($page > $nr_pages) $page = 1;
        if(empty($page))$page = 1;

        if($_COOKIE["nojs"]){
                $nopage = removeqsvar($_SERVER['QUERY_STRING'], 'page');
                $url = $base_url.'/index.php?'.$nopage.'&page=%d';
        }else{
                $url = $base_url.'/index.php?ptype=list_houses_filter&page=%d';
        }

        $smarty->Assign("html", paginationR($count_rec, $nr_afisari, $page, $url));
        $smarty->Assign("resultInfo", resultsR($count_rec, $nr_afisari, $page, $url));

        switch ($sort){

        case "price-low":
                $sqlOrd = " ORDER BY `price` ASC, CAST( `bedrooms` AS DECIMAL ) DESC ";
                break;

        case "price-high":
                $sqlOrd = " ORDER BY `price` DESC, CAST( `bedrooms` AS DECIMAL ) DESC ";
                break;

        case "capacity-high":
                $sqlOrd = " ORDER BY CAST( `totalrooms` AS DECIMAL ) DESC, CAST( `bedrooms` AS DECIMAL ) DESC";
                break;

        case "capacity-low":
                $sqlOrd = " ORDER BY CAST( `totalrooms` AS DECIMAL ) ASC, CAST( `bedrooms` AS DECIMAL ) DESC";
                break;

        case "date-high":
                $sqlOrd = " ORDER BY CAST( `DOM` AS DECIMAL ) DESC, CAST( `bedrooms` AS DECIMAL ) DESC";
                break;

                // case "date-low":
                //         $sqlOrd = " ORDER BY `linkId` DESC, CAST( `bedrooms` AS DECIMAL ) DESC";
                //         break;

        case "type":
                $sqlOrd = " ORDER BY `tip` ASC, CAST( `bedrooms` AS DECIMAL ) DESC";
                break;

        default:
                $sqlOrd = " ORDER BY CAST( `DOM` AS DECIMAL ) ASC, CAST( `bedrooms` AS DECIMAL ) DESC";
        }

        $sqlH = "SELECT `newlink`, `title`, `location`, `address`, `linkId`, `thumb`,`bedrooms`, `bathrooms`, `price`, `rlink`, `DOM`, `status` FROM `xml_realestate` WHERE 1 ".$status_cond." " . $sqlCond . $sqlCondArea . $sqlCondAgency . $sqlOrd . " LIMIT ".($page-1)*$nr_afisari.",".$nr_afisari;



        if($test == 1) echo $sqlCountH."<br><br>".$sqlH;


        $loc = array();
        $x=0;
        $locations = $db->Execute("SELECT DISTINCT (`location`) FROM `xml_realestate` WHERE 1 ".$status_cond." ORDER BY `location` ASC");

        if($locations)
        while(!$locations->EOF){
                $tmp = $db->CacheExecute("SELECT count(`id`) as `noLoc` FROM `xml_realestate` WHERE 1 ".$status_cond." and `location` = '".$locations->fields['location']."' ".$sqlCond . $sqlCondAgency);
                if ($test == 1) echo "SELECT count(`id`) as noLoc FROM `xml_realestate` WHERE 1 ".$status_cond." and `location` = '".$locations->fields['location']."' ".$sqlCond . $sqlCondAgency;
                $loc[$x]['location'] = $locations->fields['location'];
                $loc[$x]['numar'] = $tmp->fields['noLoc'];
                $x++;
                $locations->MoveNext();
        }
        $smarty->Assign("locations", $loc);

        $mprice = $db->Execute("SELECT MAX( `price` ) as `mprice` FROM `xml_realestate` WHERE 1 ".$status_cond."");
        $smarty->Assign("mprice", $mprice->fields['mprice']);


        $tmp1 = $db->CacheExecute("SELECT count(`id`) as `noAge` FROM `xml_realestate` WHERE 1 ".$status_cond." and `LCompany` LIKE '%Pepper%' ".$sqlCondArea." ".$sqlCond);
        if ($test == 1) echo "SELECT count(`id`) as `noLoc` FROM `xml_realestate` WHERE 1 ".$status_cond." and `LCompany` LIKE '%Pepper%' ".$sqlCondArea." ".$sqlCond;
        $jpfco['numar'] = $tmp1->fields['noAge'];
        $smarty->Assign("jpfco", $jpfco);

        $smarty->Assign("Agency", $agency);

        $houses = $db->GetAll($sqlH);

        $smarty->Assign("amountMin", $amountMin);
        $smarty->Assign("amountMax", $amountMax);

        $smarty->Assign("sort", $sort);
        $smarty->Assign("type", $type);
        $smarty->Assign("bedrooms", $bedrooms);
        $smarty->Assign("bathrooms", $bathrooms);
        $smarty->Assign("capacity", $capacity);

        $smarty->Assign("css_before", '<link rel="canonical" href="https://www.jpfco.com/nantucket-real-estate/" />');

        if($contract){

                $smarty->Assign("meta_title", "Nantucket Real Estate Listings Under Agreement");
                $smarty->Assign("meta_key", "Nantucket Real Estate, Nantucket Real Estate for Sale, Listings Under Agreement");
                $smarty->Assign("meta_desc", "Nantucket Real Estate Listings Under Agreement. Easily search all properties Under Agreement and filter by town, price and days on market - call (508) 228-3202.");

        }else{

                $smarty->Assign("meta_title", "Nantucket Real Estate For Sale #1 website");
                $smarty->Assign("meta_key", "Nantucket Real Estate, Nantucket Real Estate for Sale, Listings");
                $smarty->Assign("meta_desc", "Nantucket Real Estate For Sale Listings. Easily search all properties available and filter by town, price and days on market - call (508) 228-3202.");

        }

        $smarty->Assign("pmenu", "re");

        $smarty->Assign("noprototype", "no");

        $tmp = array();
        $myHousesE = $db->GetAll("select `linkId` from `my_houses` where `uid` = '".$_SESSION['uid']."' ");
        foreach ($myHousesE as $key => $value) {
                $tmp[] = $value['linkId'];
        }
        $smarty->Assign("myHousesE", json_encode($tmp));

        $smarty->Assign("all_houses", $houses);

        $smarty->display($template_url."templatesd/list_houses_filter.tpl");

        break;

case "page_contract_filter_json":

      $contract = 1;

case "page_houses_filter_json":

       if($contract){

          $status_cond = " AND LOWER(`status`) IN ( 'pending', 'active under contract') ";

       }else{

          $status_cond = " AND LOWER(`status`) IN ( 'active', 'active under contract') ";

       }

        if($area){
                $areasF = explode( ',', $area );
        }else{
                $areasF = array();
        }
        $smarty->Assign("areas", $areasF);

        if($agency){
                $sqlCondAgency .= " and `LCompany` LIKE '%Pepper%' ";
        }

        if($type){
                if($type == 'Land'){
                        $sqlCond .= " and `type` = 'Land'";
                }else{
                        $sqlCond .= " and `type` <> 'Land'";
                }
        }

        if($bedrooms){
                switch($bedrooms){
                case "1":
                        $sqlCond .= " and ( CAST( `bedrooms` AS DECIMAL ) >= '1' and  CAST( `bedrooms` AS DECIMAL ) <= '3' ) ";
                        break;

                case "2":
                        $sqlCond .= " and ( CAST( `bedrooms` AS DECIMAL ) >= '4' and  CAST( `bedrooms` AS DECIMAL ) <= '6' ) ";
                        break;

                case "3":
                        $sqlCond .= " and ( CAST( `bedrooms` AS DECIMAL ) >= '7' )";
                        break;
                }
        }
        if($bathrooms){
                $sqlCond .= " and ( CAST( `bathrooms` AS DECIMAL ) >= '".$bathrooms."') ";
        }
        if($capacity){
                switch($capacity){
                case "1":
                        $sqlCond .= " and ( CAST( `totalrooms` AS DECIMAL ) >= '1' and  CAST( `totalrooms` AS DECIMAL ) <= '3' ) ";
                        break;

                case "2":
                        $sqlCond .= " and ( CAST( `totalrooms` AS DECIMAL ) >= '4' and  CAST( `totalrooms` AS DECIMAL ) <= '6' ) ";
                        break;

                case "3":
                        $sqlCond .= " and ( CAST( `totalrooms` AS DECIMAL ) >= '7' )";
                        break;
                }
        }

        if($areasF){
                $sqlCondArea .= " and ( ";
                foreach($areasF as $value){
                        $value = str_replace("-", " ",str_replace("_", " ", $value));
                        $sqlCondArea .= " `location` = '".$value."' or ";
                }
                $sqlCondArea = substr_replace($sqlCondArea, "", -3);
                $sqlCondArea .= " )";
        }


        if($amountMin){
                if($amountMax && $amountMax != '5000000')
                        $sqlTmp = " `price` <= ".$amountMax." and ";
                else
                $sqlTmp = "";

                $sqlCond .= " AND ( ".$sqlTmp." `price` >= ".$amountMin." )";

        }elseif($amountMax){
                $sqlCond .= " AND ( `price` <= ".$amountMax." )";
        }


        $sqlCountH = "select count(`id`) as no_ev from `xml_realestate` WHERE 1 ".$status_cond." " . $sqlCond . $sqlCondArea . $sqlCondAgency;
        $record = &$db->CacheExecute($sqlCountH);

        $count_rec = $record->fields['no_ev'];
        $nr_afisari = 33;
        $nr_pages = ceil($count_rec/$nr_afisari);
        if($page > $nr_pages) $page = 1;
        if(empty($page))$page = 1;

        switch ($sort){

        case "price-low":
                $sqlOrd = " ORDER BY `price` ASC, CAST( `bedrooms` AS DECIMAL ) DESC ";
                break;

        case "price-high":
                $sqlOrd = " ORDER BY `price` DESC, CAST( `bedrooms` AS DECIMAL ) DESC ";
                break;

        case "bedrooms-high":
                $sqlOrd = " ORDER BY CAST( `totalrooms` AS DECIMAL ) DESC, CAST( `bedrooms` AS DECIMAL ) DESC";
                break;

        case "bedrooms-low":
                $sqlOrd = " ORDER BY CAST( `totalrooms` AS DECIMAL ) ASC, CAST( `bedrooms` AS DECIMAL ) DESC";
                break;

        case "date-high":
                $sqlOrd = " ORDER BY CAST( `DOM` AS DECIMAL ) DESC, CAST( `bedrooms` AS DECIMAL ) DESC";
                break;

        case "date-low":
                $sqlOrd = " ORDER BY CAST( `DOM` AS DECIMAL ) ASC, CAST( `bedrooms` AS DECIMAL ) DESC";

                break;

        case "type":
                $sqlOrd = " ORDER BY `tip` ASC, CAST( `bedrooms` AS DECIMAL ) DESC";
                break;

        default:
                $sqlOrd = " ORDER BY CAST( `DOM` AS DECIMAL ) ASC, CAST( `bedrooms` AS DECIMAL ) DESC";
        }

        $sqlH = "SELECT `title`, `location`, `address`, `linkId`, `thumb`,`bedrooms`, `bathrooms`, `price`, `rlink`,`newlink`, `DOM`, `status` FROM `xml_realestate` WHERE 1 ".$status_cond." " . $sqlCond . $sqlCondArea . $sqlCondAgency . $sqlOrd . " LIMIT ".($page-1)*$nr_afisari.",".$nr_afisari;

        if($test == 1) echo $sqlCountH."<br><br>".$sqlH;


        $loc = array();
        $x=0;
        $locations = $db->CacheExecute("SELECT DISTINCT (`location`) FROM `xml_realestate` WHERE 1 ".$status_cond." ORDER BY `location` ASC");
        while(!$locations->EOF){
                $tmp = $db->CacheExecute("SELECT count(`id`) as `noLoc` FROM `xml_realestate` WHERE 1 ".$status_cond." and `location` = '".$locations->fields['location']."' ".$sqlCond . $sqlCondAgency);
                if ($test == 1) echo "SELECT count(`id`) as noLoc FROM `xml_realestate` WHERE 1 ".$status_cond." and `location` = '".$locations->fields['location']."' ".$sqlCond . $sqlCondAgency."<br><br>";
                $loc[$x]['location'] = $locations->fields['location'];
                $loc[$x]['numar'] = $tmp->fields['noLoc'];
                $x++;
                $locations->MoveNext();
        }

        $tmp1 = $db->CacheExecute("SELECT count(`id`) as `noAge` FROM `xml_realestate` WHERE 1 ".$status_cond." and `LCompany` LIKE '%Pepper%' ".$sqlCondArea." ".$sqlCond);
        if ($test == 1) echo "SELECT count(`id`) as `noLoc` FROM `xml_realestate` WHERE 1 ".$status_cond." and `LCompany` LIKE '%Pepper%' ".$sqlCondArea." ".$sqlCond."<br><br>";;
        $jpfco['numar'] = $tmp1->fields['noAge'];

        $jSON = $db->CacheGetAll($sqlH);

        $jSON['pagination'] = paginationR($count_rec, $nr_afisari, $page, $base_url.'/nantucket-real-estate/?ptype=list_houses_filter&page=%d');
        $jSON['area'] = $loc;
        $jSON['jpfco'] = $jpfco;
        if ($test <> 1)        header('Content-type: application/json');
        echo json_encode($jSON);
        break;


        /***********************************************************************************************************************************************/



case "list_rentals_filter":

        $smarty->assign("chat", 1);


        $clear_filter = '';
        $sweek = $REM_db->Execute("SELECT distinct (`date`) FROM `r_rates` where `value` <> '0' and avl > 0  and `date` > NOW() and DAYOFWEEK(`date`) = 7 ORDER BY `date` ASC LIMIT 0 , 1");
        $smarty->Assign("sweek", $sweek->fields['date']);

       if(empty($_SERVER['QUERY_STRING'])) $_SERVER['QUERY_STRING'] = "ptype=list_rentals_filter";

        $map_url = str_replace("list_rentals_filter", "map_rentals_filter", $_SERVER['QUERY_STRING']);
        if($map_url) $smarty->assign("map_url", "nantucket-rentals/?".$map_url); else $smarty->assign("map_url", "nantucket-rentals/?ptype=map_rentals_filter");

        if($gosub == 'GO'){

                if(!is_numeric($_PropertyCode)){
                        goto searchByWord;
                }

                $PROP = $REM_db->Execute("SELECT * FROM `rentals` where `_PropertyCode` = '".$_PropertyCode."' and `active` = '1'");
                if($PROP->RecordCount() == 1){

                        header("Location:".$base_url."/".str_replace($base_url.'/', "", str_replace('http://www.jpfco.com/', "", $PROP->fields['rlink'])));
                        exit();
                }else{

                        searchByWord:



                        $clause = " `PropertyAddress` LIKE '%" .  stripslashes(addslashes($_PropertyCode)) . "%'";

                        $PROP = $REM_db->Execute("SELECT group_concat(`_PropertyCode`) as `hids` FROM
                                `rentals` WHERE `_PropertyCode` != '' AND ($clause) ");

                        if($PROP->fields['hids']){
                                $smarty->Assign("searchby", $_PropertyCode);
                                $hids = $PROP->fields['hids'];
                        }else{
                                $smarty->Assign("properr", "No rentals found.");
                        }

                }
        }

        $aref = false;

        if($priceRange){
                switch($priceRange){
                case "1":
                        $amountMax = '5000';
                        break;
                case "2":
                        $amountMin = '5000';
                        $amountMax = '10000';
                        break;
                case "3":
                        $amountMin = '10000';
                        $amountMax = '20000';
                        break;
                case "4":
                        $amountMin = '20000';
                        break;
                }
        }

        if($wprice){
                switch($wprice){
                case "price1":
                        $amountMax = '4000';
                        break;

                case "price2":
                        $amountMin = '4000';
                        $amountMax = '6000';
                        break;

                case "price3":
                        $amountMin = '6000';
                        $amountMax = '10000';
                        break;

                case "price4":
                        $amountMin = '10000';
                        break;
                }
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }

        $sqlFrom = '';

        if($_REQUEST['rareas']){$areas = $_REQUEST['rareas'];}
        if($areas == 'All Locations'){$areas = '';}


        if($reqArea){
                $areasF = $reqArea;
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }else{
                if($areas){
                        $areasF = array($areas);
                        $smarty->Assign("clear_filter", $clear_filter = 'true');
                }else{
                        $areasF = array();
                        $smarty->Assign("sell_all_areas", true);
                }
        }
        if($reqAme){
                $amenitiesF = $reqAme;
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }else{
                $amenitiesF = array();
        }

        if($reqAme_w){
                $amenitiesF_w = $reqAme_w;
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }else{
                $amenitiesF_w = array();
        }

        if($turnover){
                switch($turnover){
                case "fri":
                        $sqlCond .= " and ( r.`TurnoverDay` = 'Fri') ";
                        $smarty->Assign("clear_filter", $clear_filter = 'true');
                        $nr = 'Friday';
                        break;

                case "sat":
                        $sqlCond .= " and ( r.`TurnoverDay` = 'Sat') ";
                        $smarty->Assign("clear_filter", $clear_filter = 'true');
                        $nr = 'Saturday';
                        break;

                case "sun":
                        $sqlCond .= " and ( r.`TurnoverDay` = 'Sun') ";
                        $smarty->Assign("clear_filter", $clear_filter = 'true');
                        $nr = 'Sunday';
                        break;

                default:
                }
        }else{
                $turnover = 'all';
        }
        if($bedrooms){
                switch($bedrooms){
                case "1":
                        $sqlCond .= " and ( CAST( r.`Bedrooms` AS DECIMAL ) <= '3') ";
                        break;

                case "2":
                case "4":
                        $sqlCond .= " and ( CAST( r.`Bedrooms` AS DECIMAL ) > '3' ) ";
                        break;

                case "3":
                case "7":
                        $sqlCond .= " and ( CAST( r.`Bedrooms` AS DECIMAL ) >= '7') ";
                        break;
                }

                if(empty($sort))$sort = 'bedrooms-low';
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }

        if($taxfree == 'true'){
                $sqlCond .= " and ( r.`taxfree2` = '1') ";
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }

        if($bathrooms){
                $sqlCond .= " and ( CAST( r.`Baths` AS DECIMAL ) >= '".$bathrooms."') ";
                if(empty($sort))$sort = 'bedrooms-low';
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }

        if($guests){

                switch($guests){
                case "1":
                        $sqlCond .= " and ( CAST( r.`Capacity` AS DECIMAL ) <= '3') ";
                        break;

                case "2":
                case "4":
                        $sqlCond .= " and ( CAST( r.`Capacity` AS DECIMAL ) > '3' ) ";
                        break;

                case "3":
                case "7":
                        $sqlCond .= " and ( CAST( r.`Capacity` AS DECIMAL ) >= '7' ) ";
                        break;
                case "10":
                        $sqlCond .= " and ( CAST( r.`Capacity` AS DECIMAL ) >= '10') ";
                        break;
                }

                if(empty($sort))$sort = 'bedrooms-low';
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }

        if($noweeks < 2){

                if($sdate){
                        $sqlFrom = str_replace(", `r_rates` r1", "", $sqlFrom) . " , `r_rates` r1 ";
                        $sqlCond .= " AND (
                        ( r1.`date` = '".$sdate."' )
                        OR ( r1.`date` = DATE_ADD( '".$sdate."', INTERVAL 1 DAY ) )
                        OR ( r1.`date` = DATE_SUB( '".$sdate."', INTERVAL 1 DAY ) )
                        )
                        AND ( r1.`value` > 0 )
                        AND ( r1.`avl` > 0 )
                        AND ( r1.`rid` = r.`_PropertyCode` )
                        ";
                        $sqlWhat = " ,r1.`value` as `weekval` ";
                        $smarty->Assign("clear_filter", $clear_filter = 'true');
                }
                if($amountMin){
                        $sqlFrom = str_replace(", `r_rates` r1", "", $sqlFrom) . " , `r_rates` r1 ";

                        if($amountMax)
                                $sqlTmp = " r1.`value` <= ".$amountMax." and ";
                        else
                        $sqlTmp = "";

                        $sqlCond .= " AND ( ".$sqlTmp." `r1`.`value` >= ".$amountMin." ) AND ( `r1`.`rid` = r.`_PropertyCode` ) ";
                        if(empty($sdate)) $sqlCond .= " AND `r1`.`date` >= NOW() ";
                        $sqlCond .= "  AND ( r1.`value` > 0 ) AND ( r1.`avl` > 0 )  ";
                        $sqlGroup = " GROUP BY r.`_PropertyCode` ";
                        $smarty->Assign("clear_filter", $clear_filter = 'true');
                }elseif($amountMax){
                        $sqlFrom = str_replace(", `r_rates` r1", "", $sqlFrom) . " , `r_rates` r1 ";
                        $sqlCond .= " AND ( r1.`value` <= ".$amountMax." ) AND ( r1.`rid` = r.`_PropertyCode` ) ";
                        if(empty($sdate)) $sqlCond .= " AND `r1`.`date` >= NOW() ";
                        $sqlCond .= "  AND ( r1.`value` > 0 ) AND ( r1.`avl` > 0 ) ";
                        $sqlGroup = " GROUP BY r.`_PropertyCode` ";
                        $smarty->Assign("clear_filter", $clear_filter = 'true');
                }

        }else{
                $sqlFrom = str_replace(", `r_rates` r1", "", $sqlFrom);
                $sql_new4 = " AND ( ";
                $sql_week1 = " (r1.date = '".$sdate."' ";
                $sql_week2 = " OR (r1.date = DATE_ADD( '".$sdate."', INTERVAL 1 DAY )";
                $sql_week3 = " OR (r1.date = DATE_SUB( '".$sdate."', INTERVAL 1 DAY )";

                $sql_price = "";

                for ($i = 1; $i <= ($noweeks); $i++) {
                        $sql_new2 .= ", `r_rates` r".$i;
                        $sql_rids .= " AND r".$i.".rid = r.`_PropertyCode` ";
                        if($i > 1){
                                $sql_new3 .= "AND r".($i-1).".rid = r".$i.".rid ";
                                $sql_week1 .= " AND r".$i.".date = DATE_ADD( '".$sdate."', INTERVAL ".(7 * ($i-1))." DAY ) ";

                                $sql_week2 .= " AND r".$i.".date = DATE_ADD( '".$sdate."', INTERVAL ".( (7 * ($i-1)) + 1 )." DAY ) ";
                                $sql_week3 .= " AND r".$i.".date = DATE_ADD( '".$sdate."', INTERVAL ".( (7 * ($i-1)) - 1 )." DAY ) ";
                        }

                        if($amountMin){

                                if($amountMax)
                                        $sqlTmp = " r".$i.".`value` <= ".$amountMax." and ";
                                else
                                $sqlTmp = "";

                                $sql_price .= " AND ( ".$sqlTmp." r".$i.".`value` >= ".$amountMin." ) AND ( r".$i.".`rid` = r.`_PropertyCode` ) ";
                                if(empty($sdate)) $sql_price .= " AND r".$i.".`date` >= NOW() ";

                        }elseif($amountMax){
                                $sql_price .= " AND ( r".$i.".`value` <= ".$amountMax." ) AND ( r".$i.".`rid` = r.`_PropertyCode` ) ";
                                if(empty($sdate)) $sql_price .= " AND r".$i.".`date` >= NOW() ";
                        }

                        $sql_price .= " AND ( r".$i.".`value` > 0 ) AND ( r".$i.".`avl` > 0 ) ";

                }
                $sql_week1 .= " ) ";
                $sql_week2 .= " ) ";
                $sql_week3 .= " ) ";
                $sql_new4 .= $sql_week1.$sql_week2.$sql_week3." ) ";

                $sql1 = $sql_new3.$sql_rids.$sql_new4.$sql_price;

                $sqlFrom .= $sql_new2;
                $sqlCond .= $sql1;
                $sqlGroup = " GROUP BY r.`_PropertyCode` ";
                $sqlWhat = " ,r1.`value` as `weekval` ";
                if ($test == 1) echo $sql_new2."<br><br>";
                if ($test == 1) echo $sql1."<br><br>";
                $smarty->Assign("clear_filter", $clear_filter = 'true');

        }

        if($areasF){
                $sqlCondArea .= " and ( ";
                foreach($areasF as $value){


                        $area = str_replace("Town_Cisco", "Town Cisco", $area);
                        $value = str_replace("-", " ",str_replace("_", " ", $value));
                        $sqlCondArea .= " LOWER(r.`AreaName`) = '".strtolower(str_replace("Mid island","Mid-island",$value))."' or ";



                }
                $sqlCondArea = substr_replace($sqlCondArea, "", -3);
                $sqlCondArea .= " )";
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }

        if($amenitiesF){
                $x = 0;
                foreach($amenitiesF as $value){
                        $sqlFrom = str_replace(", `r_amenities_new` a".$value, "", $sqlFrom) . " , `r_amenities_new` a".$value;
                        $sqlCondAme .= amenities1($value, $value);
                        $x++;
                }
                $sqlGroup = str_replace(" GROUP BY r.`_PropertyCode` ", "", $sqlGroup) . " GROUP BY r.`_PropertyCode` ";
        }

        if($amenitiesF_w){
                $x = 0;
                foreach($amenitiesF_w as $value){
                        $sqlFrom = str_replace(", `r_amenities` a".$value, "", $sqlFrom) . " , `r_amenities` a".$value;
                        $sqlCondAme .= amenities1($value, $value);
                        $x++;
                }
                $sqlGroup = str_replace(" GROUP BY r.`_PropertyCode` ", "", $sqlGroup) . " GROUP BY r.`_PropertyCode` ";
        }

        $sqlFrom = implode(',',array_unique(explode(',', $sqlFrom)));

        if($hids){
                $sqlCond .= " and r.`_PropertyCode` in (".rtrim($hids, ",").") ";
        }

        $sqlCount = "SELECT r.`_PropertyCode` as `nrProp` FROM `rentals` r  ".$sqlFrom." where r.`AreaName` <> '' and r.`active` = '1' ".$sqlCond.$sqlCondArea.$sqlCondAme.$sqlGroup;


        $propsCount = $REM_db->Execute($sqlCount);

        if($propsCount)
        $count_rec = $propsCount->RecordCount();

        $nr_afisari = 33;
        $nr_pages = ceil($count_rec/$nr_afisari);
        if($page > $nr_pages) $page = 1;
        if(empty($page))$page = 1;

        $smarty->Assign("sort", $sort);

        switch ($sort){

        case "bedrooms-low":
                $sqlOrd = " ORDER BY ".$sqlexe." CAST( r.`Bedrooms` AS DECIMAL ) ASC, CAST( r.`Capacity` AS DECIMAL ) ASC";
                break;

        case "price-high":
                $sqlOrd = " ORDER BY ".$sqlexe." `r1`.`value` DESC, `r`.`Capacity` DESC ";
                $sqlFrom = str_replace(", `r_rates` r1", "", $sqlFrom) . " , `r_rates` r1 ";
                $sqlCond .= "  AND ( r1.`value` > 0 ) AND ( r1.`rid` = r.`_PropertyCode` ) AND ( r1.`avl` > 0 ) ";
                $sqlGroup = " GROUP BY r.`_PropertyCode` ";
                if(empty($sdate)) $sqlCond .= " AND `r1`.`date` >= NOW() ";
                break;

        case "price-low":
                $sqlOrd = " ORDER BY ".$sqlexe." min(`r1`.`value`) ASC, max(`r1`.`value`) ASC, `r`.`Capacity` DESC ";
                $sqlFrom = str_replace(", `r_rates` r1", "", $sqlFrom) . " , `r_rates` r1 ";
                $sqlCond .= "  AND ( r1.`value` > 0 ) AND ( r1.`rid` = r.`_PropertyCode` ) AND ( r1.`avl` > 0 ) ";
                $sqlGroup = " GROUP BY r.`_PropertyCode` ";
                if(empty($sdate)) $sqlCond .= " AND `r1`.`date` >= NOW() ";
                break;

        default:
                $sort = "bedrooms-high";
                $sqlOrd = " ORDER BY ".$sqlexe." CAST( r.`Bedrooms` AS DECIMAL ) DESC, CAST( r.`Capacity` AS DECIMAL ) DESC ";

        }


        $smarty->Assign("sort", $sort);

        if($sqlFrom){
           $sqlFrom = implode(',',array_unique(explode(',', $sqlFrom)));
        }

        $sql = "SELECT `r`.`exclusive`, r.`rid`, r.`rlink`, r.`_PropertyCode`, r.`HouseName`, r.`PropertyAddress`, r.`AreaName`, r.`Bedrooms`, r.`Capacity`, r.`Baths`, r.`thumb`, r.`newlink` , r.`rates`, r.`PetsAllowed` ".$sqlWhat." FROM `rentals` r ".$sqlFrom." where r.`AreaName` <> '' and r.`active` = '1' ".$sqlCond.$sqlCondArea.$sqlCondAme.$sqlGroup.$sqlOrd." LIMIT ".($page-1)*$nr_afisari.",".$nr_afisari;


        $ar = array();
        $x=0;
        $areas = $REM_db->Execute("SELECT * FROM `areas` ORDER BY `area` ASC ");
        while(!$areas->EOF){
                $tmp = $REM_db->Execute("SELECT r.`_PropertyCode` FROM `rentals` r ".$sqlFrom." where r.`Area` = '".$areas->fields['id']."' and r.`active` = '1'  ".$sqlCond.$sqlCondAme.$sqlGroup);
                if ($test == 1) echo "SELECT r.`_PropertyCode` FROM `rentals` r ".$sqlFrom." where r.`Area` = '".$areas->fields['id']."' and r.`active` = '1'  ".$sqlCond.$sqlCondAme.$sqlGroup;

                if ($tmp !== false) {

                    $ar[$x]['Area'] = $areas->fields['area'];
                    $ar[$x]['numar'] = $tmp->RecordCount();

                }

                $x++;

                $areas->MoveNext();

        }
        $smarty->Assign("area1", $ar);

        $x=0;
        foreach($amty as $val){

                if($val){

                        $tmpFrom = str_replace(", `r_amenities_new` a".$val, "", $sqlFrom);

                        $tmpam = $REM_db->Execute("SELECT r.`_PropertyCode` FROM `rentals` r ".$tmpFrom.", `r_amenities_new` a".$val." where r.`active` = '1'  ".amenities1($val, $val)." ".$sqlCond.$sqlCondArea.$sqlCondAme.$sqlGroup);
                        if ($test == 1) echo  "SELECT r.`_PropertyCode` FROM `rentals` r ".$tmpFrom.", `r_amenities_new` a".$val." where r.`active` = '1'  ".amenities1($val, $val)." ".$sqlCond.$sqlCondArea.$sqlCondAme.$sqlGroup."<br><br>";

                        $am[$y]['amField'] = $val;
                        $am[$y]['numar'] = $tmpam->RecordCount();
                        $y++;
                }
        }
        $smarty->Assign("amenities", $am);


        foreach($amty_w as $val){

                if($val){

                        $tmpFrom = str_replace(", `r_amenities` a".$val, "", $sqlFrom);

                        $tmpam = $REM_db->Execute("SELECT r.`_PropertyCode` FROM `rentals` r ".$tmpFrom.", `r_amenities` a".$val." where r.`active` = '1'  ".amenities1($val, $val)." ".$sqlCond.$sqlCondArea.$sqlCondAme.$sqlGroup);
                        if ($test == 1) echo  "SELECT r.`_PropertyCode` FROM `rentals` r ".$tmpFrom.", `r_amenities` a".$val." where r.`active` = '1'  ".amenities1($val, $val)." ".$sqlCond.$sqlCondArea.$sqlCondAme.$sqlGroup."<br><br>";

                        $am_w[$y]['amField'] = $val;
                        $am_w[$y]['numar'] = $tmpam->RecordCount();
                        $y++;
                }
        }
        $smarty->Assign("amenities_w", $am_w);


        if($_COOKIE["nojs"]){
                $nopage = removeqsvar($_SERVER['QUERY_STRING'], 'page');
                $url = $base_url.'/index.php?'.$nopage.'&page=%d';
        }else{
                $url = $base_url.'/index.php?ptype=list_rentals_filter&page=%d';
        }

        $smarty->Assign("html", paginationR($count_rec, $nr_afisari, $page, $url));
        $smarty->Assign("resultInfo", resultsR($count_rec, $nr_afisari, $page, $url));



        $props = $REM_db->GetAll( $sql );

        if($test == 1){ echo $sql; print_r($props); }

        $smarty->Assign("prps", $props);


        $smarty->Assign("amenitiesF", $amenitiesF);
        $smarty->Assign("amenitiesF_w", $amenitiesF_w);

        $smarty->Assign("amountMin", $amountMin);
        $smarty->Assign("amountMax", $amountMax);

        $smarty->Assign("bedrooms", $bedrooms);

        $smarty->Assign("bathrooms", $bathrooms);
        $smarty->Assign("guests", $guests);

        $smarty->Assign("areas", $areasF);

        $smarty->Assign("meta_title", "Nantucket Rentals - Nantucket Vacation House Rental Search");
        $smarty->Assign("meta_key", "Nantucket Rentals, Vacation, House, Rental, Nantucket Island");
        $smarty->Assign("meta_desc", "Nantucket Rentals and Real Estate including Nantucket Vacation houses for rent throughout the Island.  call (508) 228-3202.");
        $smarty->Assign("pmenu", "r");
        $smarty->Assign("noprototype", "no");

        $smarty->Assign("css_before", '<link rel="canonical" href="https://www.jpfco.com/nantucket-rentals/" />');

        $weeks = $REM_db->GetAll("SELECT distinct (`date`) FROM `r_rates` where `value` <> '0'  and `date` > NOW() and DAYOFWEEK(`date`) = 7 ORDER BY `date` ASC");
        $smarty->Assign("weeks", $weeks);


        $tmp2 = array();
        $myHousesR = $db->GetAll("select `rid` from `my_rentals` where `uid` = '".$_SESSION['uid']."' ");
        foreach ($myHousesR as $key => $value) {
                $tmp2[] = $value['rid'];
        }
        $smarty->Assign("myHousesR", json_encode($tmp2));


        $smarty->Assign("removeNoJS", 1);
        $smarty->display($template_url."templatesd/list_rentals_filter.tpl");

        break;


case "page_rentals_filter_json":
        $clear_filter = '';
        if($area){
                $areasF = explode( ',', $area );
        }else{
                $areasF = array();
        }

        if($amenity){
                $amenitiesTMP = explode( ',', $amenity );
        }else{
                $amenitiesF = array();
                $amenitiesF_w = array();
        }

        foreach($amenitiesTMP as $ame1){

                if(in_array($ame1, $amty)){
                   $amenitiesF[] = $ame1;
                }elseif(in_array($ame1, $amty_w)){
                   $amenitiesF_w[] = $ame1;
                }

        }

        if($bedrooms){

                switch($bedrooms){
                case "1":
                        $sqlCond .= " and ( CAST( r.`Bedrooms` AS DECIMAL ) <= '3') ";
                        break;

                case "2":
                case "4":
                        $sqlCond .= " and ( CAST( r.`Bedrooms` AS DECIMAL ) > '3' ) ";
                        break;

                case "3":
                case "7":
                        $sqlCond .= " and ( CAST( r.`Bedrooms` AS DECIMAL ) >= '7') ";
                        break;
                }

                if(empty($sort))$sort = 'bedrooms-low';
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }
        if($bathrooms){
                $sqlCond .= " and ( CAST( r.`Baths` AS DECIMAL ) >= '".$bathrooms."') ";
                if(empty($sort))$sort = 'bedrooms-low';
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }

        if($taxfree == 'true'){
                $sqlCond .= " and ( r.`taxfree2` = '1') ";
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }

        if($guests){

                switch($guests){
                case "1":
                        $sqlCond .= " and ( CAST( r.`Capacity` AS DECIMAL ) <= '3') ";
                        break;

                case "2":
                case "4":
                        $sqlCond .= " and ( CAST( r.`Capacity` AS DECIMAL ) > '3' ) ";
                        break;

                case "3":
                case "7":
                        $sqlCond .= " and ( CAST( r.`Capacity` AS DECIMAL ) >= '7' ) ";
                        break;
                case "10":
                        $sqlCond .= " and ( CAST( r.`Capacity` AS DECIMAL ) >= '10') ";
                        break;
                }

                if(empty($sort))$sort = 'bedrooms-low';
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }

        if($turnover){
                switch($turnover){
                case "fri":
                        $sqlCond .= " and ( r.`TurnoverDay` = 'Fri') ";
                        break;

                case "sat":
                        $sqlCond .= " and ( r.`TurnoverDay` = 'Sat') ";
                        break;

                case "sun":
                        $sqlCond .= " and ( r.`TurnoverDay` = 'Sun') ";
                        break;

                default:
                }
        }

        if($noweeks < 2){

                if($sdate){
                        $sqlFrom = str_replace(", `r_rates` r1", "", $sqlFrom) . " , `r_rates` r1 ";
                        $sqlCond .= " AND (
                        ( r1.`date` = '".$sdate."' )
                        OR ( r1.`date` = DATE_ADD( '".$sdate."', INTERVAL 1 DAY ) )
                        OR ( r1.`date` = DATE_SUB( '".$sdate."', INTERVAL 1 DAY ) )
                        )
                        AND ( r1.`value` > 0 )
                        AND ( r1.`avl` > 0 )
                        AND ( r1.`rid` = r.`_PropertyCode` )
                        ";
                        $sqlWhat = " ,r1.`value` as `weekval` ";
                }
                if($amountMin){
                        $sqlFrom = str_replace(", `r_rates` r1", "", $sqlFrom) . " , `r_rates` r1 ";

                        if($amountMax)
                                $sqlTmp = " r1.`value` <= ".$amountMax." and ";
                        else
                        $sqlTmp = "";

                        $sqlCond .= " AND ( ".$sqlTmp." `r1`.`value` >= ".$amountMin." ) AND ( `r1`.`rid` = r.`_PropertyCode` ) and r1.`avl` > 0";
                        if(empty($sdate)) $sqlCond .= " AND `r1`.`date` >= NOW() ";
                        $sqlCond .= "  AND ( r1.`value` > 0 )  ";
                        $sqlGroup = str_replace(" GROUP BY r.`_PropertyCode` ", "", $sqlGroup) . " GROUP BY r.`_PropertyCode` ";

                }elseif($amountMax){
                        $sqlFrom = str_replace(", `r_rates` r1", "", $sqlFrom) . " , `r_rates` r1 ";
                        $sqlCond .= " AND ( r1.`value` <= ".$amountMax." ) AND ( r1.`rid` = r.`_PropertyCode` ) and r1.`avl` > 0";
                        if(empty($sdate)) $sqlCond .= " AND `r1`.`date` >= NOW() ";
                        $sqlCond .= "  AND ( r1.`value` > 0 )  ";
                        $sqlGroup = str_replace(" GROUP BY r.`_PropertyCode` ", "", $sqlGroup) . " GROUP BY r.`_PropertyCode` ";
                }

        }else{
                $sqlFrom = str_replace(", `r_rates` r1", "", $sqlFrom);
                $sql_new4 = " AND ( ";
                $sql_week1 = " (r1.date = '".$sdate."' ";
                $sql_week2 = " OR (r1.date = DATE_ADD( '".$sdate."', INTERVAL 1 DAY )";
                $sql_week3 = " OR (r1.date = DATE_SUB( '".$sdate."', INTERVAL 1 DAY )";

                $sql_price = "";

                for ($i = 1; $i <= ($noweeks); $i++) {
                        $sql_new2 .= ", `r_rates` r".$i;
                        $sql_rids .= " AND r".$i.".rid = r.`_PropertyCode` ";
                        if($i > 1){
                                $sql_new3 .= "AND r".($i-1).".rid = r".$i.".rid ";
                                $sql_week1 .= " AND r".$i.".date = DATE_ADD( '".$sdate."', INTERVAL ".(7 * ($i-1))." DAY ) ";
                                $sql_week2 .= " AND r".$i.".date = DATE_ADD( '".$sdate."', INTERVAL ".( (7 * ($i-1)) + 1 )." DAY ) ";
                                $sql_week3 .= " AND r".$i.".date = DATE_ADD( '".$sdate."', INTERVAL ".( (7 * ($i-1)) - 1 )." DAY ) ";
                        }

                        if($amountMin){

                                if($amountMax)
                                        $sqlTmp = " r".$i.".`value` <= ".$amountMax." and ";
                                else
                                $sqlTmp = "";

                                $sql_price .= " AND ( ".$sqlTmp." r".$i.".`value` >= ".$amountMin." ) AND ( r".$i.".`rid` = r.`_PropertyCode` ) ";
                                if(empty($sdate)) $sql_price .= " AND r".$i.".`date` >= NOW() ";

                        }elseif($amountMax){
                                $sql_price .= " AND ( r".$i.".`value` <= ".$amountMax." ) AND ( r".$i.".`rid` = r.`_PropertyCode` ) ";
                                if(empty($sdate)) $sql_price .= " AND r".$i.".`date` >= NOW() ";
                        }

                        $sql_price .= " AND ( r".$i.".`value` > 0 ) AND ( r".$i.".`avl` > 0 )";

                }
                $sql_week1 .= " ) ";
                $sql_week2 .= " ) ";
                $sql_week3 .= " ) ";
                $sql_new4 .= $sql_week1.$sql_week2.$sql_week3." ) ";

                $sql1 = $sql_new3.$sql_rids.$sql_new4.$sql_price;

                $sqlFrom .= $sql_new2;
                $sqlCond .= $sql1;
                $sqlGroup = str_replace(" GROUP BY r.`_PropertyCode` ", "", $sqlGroup) . " GROUP BY r.`_PropertyCode` ";
                $sqlWhat = " ,r1.`value` as `weekval` ";
                if ($test == 1) echo $sql_new2."<br><br>";
                if ($test == 1) echo $sql1."<br><br>";

        }

        if($areasF){
                $sqlCondArea .= " and ( ";
                foreach($areasF as $value){
                        $area = str_replace("Town_Cisco", "Town Cisco", $area);
                        $value = str_replace("-", " ",str_replace("_", " ", $value));
                        $sqlCondArea .= " LOWER(r.`AreaName`) = '".strtolower(str_replace("Mid island","Mid-island",$value))."' or ";
                }
                $sqlCondArea = substr_replace($sqlCondArea, "", -3);
                $sqlCondArea .= " )";
        }

        if($amenitiesF){
                $x = 0;
                foreach($amenitiesF as $value){

                        $sqlFrom = str_replace(", `r_amenities_new` a".$value, "", $sqlFrom) . " , `r_amenities_new` a".$value;

                        $sqlCondAme .= amenities1($value, $value);
                        $x++;
                }
                $sqlGroup = str_replace(" GROUP BY r.`_PropertyCode` ", "", $sqlGroup) . " GROUP BY r.`_PropertyCode` ";
        }

        if($amenitiesF_w){
                $x = 0;
                foreach($amenitiesF_w as $value){

                        $sqlFrom = str_replace(", `r_amenities` a".$value, "", $sqlFrom) . " , `r_amenities` a".$value;

                        $sqlCondAme .= amenities1($value, $value);
                        $x++;
                }
                $sqlGroup = str_replace(" GROUP BY r.`_PropertyCode` ", "", $sqlGroup) . " GROUP BY r.`_PropertyCode` ";
        }

        $sqlCount = "SELECT r.`_PropertyCode` as `nrProp` FROM `rentals` r  ".$sqlFrom." where r.`AreaName` <> '' and r.`active` = '1'  ".$sqlCond.$sqlCondArea.$sqlCondAme.$sqlGroup;

        if($test == 1) echo $sqlCount."<br><br><br>";

        $propsCount = $REM_db->Execute( $sqlCount );
        $count_rec = $propsCount->RecordCount();
        $nr_afisari = 33;
        $nr_pages = ceil($count_rec/$nr_afisari);
        if($page > $nr_pages) $page = 1;
        if(empty($page))$page = 1;


        switch ($sort){

        case "bedrooms-low":
                $sqlOrd = " ORDER BY ".$sqlexe." CAST( r.`Bedrooms` AS DECIMAL ) ASC, CAST( r.`Capacity` AS DECIMAL ) ASC";
                break;

        case "price-high":
                $sqlOrd = " ORDER BY ".$sqlexe." `r1`.`value` DESC, `r`.`Capacity` DESC ";
                $sqlFrom = str_replace(", `r_rates` r1", "", $sqlFrom) . " , `r_rates` r1 ";
                $sqlCond .= "  AND ( r1.`value` > 0 ) AND ( r1.`rid` = r.`_PropertyCode` ) AND ( r1.`avl` > 0 ) ";
                $sqlGroup = " GROUP BY r.`_PropertyCode` ";
                if(empty($sdate)) $sqlCond .= " AND `r1`.`date` >= NOW() ";
                break;

        case "price-low":
                $sqlOrd = " ORDER BY ".$sqlexe." min(`r1`.`value`) ASC, max(`r1`.`value`) ASC, `r`.`Capacity` DESC ";
                $sqlFrom = str_replace(", `r_rates` r1", "", $sqlFrom) . " , `r_rates` r1 ";
                $sqlCond .= "  AND ( r1.`value` > 0 ) AND ( r1.`rid` = r.`_PropertyCode` ) AND ( r1.`avl` > 0 ) ";
                $sqlGroup = " GROUP BY r.`_PropertyCode` ";
                if(empty($sdate)) $sqlCond .= " AND `r1`.`date` >= NOW() ";
                break;

        default:
                $sqlOrd = " ORDER BY ".$sqlexe." CAST( r.`Bedrooms` AS DECIMAL ) DESC, CAST( r.`Capacity` AS DECIMAL ) DESC ";
        }




        $ar = array();
        $x=0;
        $areas = $REM_db->Execute("SELECT * FROM `areas` ORDER BY `area` ASC ");
        while(!$areas->EOF){
                $tmp = $REM_db->Execute("SELECT r.`_PropertyCode` FROM `rentals` r ".$sqlFrom." where r.`Area` = '".$areas->fields['id']."' and r.`active` = '1'  ".$sqlCond.$sqlCondAme.$sqlGroup);
                if ($test == 1) echo "SELECT r.`_PropertyCode` FROM `rentals` r ".$sqlFrom." where r.`Area` = '".$areas->fields['id']."' and r.`active` = '1'  ".$sqlCond.$sqlCondAme.$sqlGroup."<br><br>";
                $ar[$x]['Area'] = $areas->fields['area'];
                $ar[$x]['numar'] = $tmp->RecordCount();
                $x++;
                $areas->MoveNext();
        }

        $y=0;


        foreach($amty as $val){

                if($val){

                        $tmpFrom = str_replace(", `r_amenities_new` a".$val, "", $sqlFrom);

                        $tmpam = $REM_db->Execute("SELECT r.`_PropertyCode` FROM `rentals` r ".$tmpFrom.", `r_amenities_new` a".$val." where r.`active` = '1'  ".amenities1($val, $val)." ".$sqlCond.$sqlCondArea.$sqlCondAme.$sqlGroup);

                        $am[$y]['amField'] = $val;
                        $am[$y]['numar'] = $tmpam->RecordCount();
                        $y++;
                }
        }

        foreach($amty_w as $val){

                if($val){

                        $tmpFrom = str_replace(", `r_amenities` a".$val, "", $sqlFrom);

                        $tmpam = $REM_db->Execute("SELECT r.`_PropertyCode` FROM `rentals` r ".$tmpFrom.", `r_amenities` a".$val." where r.`active` = '1'  ".amenities1($val, $val)." ".$sqlCond.$sqlCondArea.$sqlCondAme.$sqlGroup);

                        $am[$y]['amField'] = $val;
                        $am[$y]['numar'] = $tmpam->RecordCount();
                        $y++;
                }
        }

        $sqlGroup = str_replace(" GROUP BY r.`_PropertyCode` ", "", $sqlGroup) . " GROUP BY r.`_PropertyCode` ";

        $sql = "SELECT `r`.`exclusive`, r.`rid`, r.`rlink`, r.`_PropertyCode`, r.`HouseName`, r.`PropertyAddress`, r.`AreaName`, r.`Bedrooms`, r.`Capacity`, r.`Baths`, r.`thumb`, r.`newlink` , r.`rates`, r.`PetsAllowed` ".$sqlWhat." FROM `rentals` r ".$sqlFrom." where r.`AreaName` <> '' and r.`active` = '1'  ".$sqlCond.$sqlCondArea.$sqlCondAme.$sqlGroup.$sqlOrd." LIMIT ".($page-1)*$nr_afisari.",".$nr_afisari;

        if ($test == 1)        echo $sql."<br><br><br>";

        $jSON = $REM_db->GetAll( $sql );
        $jSON['pagination'] = paginationR($count_rec, $nr_afisari, $page, $base_url.'/nantucket-rentals/?ptype=list_rentals_filter&page=%d');
        $jSON['amenity'] = $am;
        $jSON['area'] = $ar;
        if ($test <> 1)        header('Content-type: application/json');
        echo json_encode($jSON);
        break;

        break;

case "map_rentals_filter":
        $smarty->assign("chat", 1);

       if(empty($_SERVER['QUERY_STRING'])) $_SERVER['QUERY_STRING'] = "ptype=map_rentals_filter";

        $map_url = str_replace("map_rentals_filter", "list_rentals_filter", $_SERVER['QUERY_STRING']);
        if($map_url) $smarty->assign("map_url", "nantucket-rentals/?".$map_url);

        if($gosub == 'GO'){
                $PROP = $REM_db->Execute("SELECT * FROM `rentals` where `_PropertyCode` = '".$_PropertyCode."' and `active` = '1'");
                if($PROP->RecordCount() == 1){
                        @header("Location:".$base_url."/".str_replace($base_url.'/', "", $PROP->fields['rlink']));
                        exit();
                }else{
                        $smarty->Assign("properr", "No rentals found.");
                }
        }

        if($priceRange){
                switch($priceRange){
                case "1":
                        $amountMax = '5000';
                        break;
                case "2":
                        $amountMin = '5000';
                        $amountMax = '10000';
                        break;
                case "3":
                        $amountMin = '10000';
                        $amountMax = '20000';
                        break;
                case "4":
                        $amountMin = '20000';
                        break;
                }
        }

        if($wprice){
                switch($wprice){
                case "price1":
                        $amountMax = '4000';
                        break;

                case "price2":
                        $amountMin = '4000';
                        $amountMax = '6000';
                        break;

                case "price3":
                        $amountMin = '6000';
                        $amountMax = '10000';
                        break;

                case "price4":
                        $amountMin = '10000';
                        break;
                }
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }


        $sqlFrom = '';

        if($reqArea){
                $areasF = $reqArea;
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }else{
                if($areas){
                        $areasF = array($areas);
                        $smarty->Assign("clear_filter", $clear_filter = 'true');
                }else{
                        $areasF = array();
                        $smarty->Assign("sell_all_areas", true);
                }
        }
        if($reqAme){
                $amenitiesF = $reqAme;
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }else{
                $amenitiesF = array();
        }

        if($reqAme_w){
                $amenitiesF_w = $reqAme_w;
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }else{
                $amenitiesF_w = array();
        }

        if($turnover){
                switch($turnover){
                case "fri":
                        $sqlCond .= " and ( r.`TurnoverDay` = 'Fri') ";
                        $smarty->Assign("clear_filter", $clear_filter = 'true');
                        break;

                case "sat":
                        $sqlCond .= " and ( r.`TurnoverDay` = 'Sat') ";
                        $smarty->Assign("clear_filter", $clear_filter = 'true');
                        break;

                case "sun":
                        $sqlCond .= " and ( r.`TurnoverDay` = 'Sun') ";
                        $smarty->Assign("clear_filter", $clear_filter = 'true');
                        break;

                default:
                }
        }

        if($bedrooms){

                switch($bedrooms){
                case "1":
                        $sqlCond .= " and ( CAST( r.`Bedrooms` AS DECIMAL ) <= '3') ";
                        break;

                case "2":
                case "4":
                        $sqlCond .= " and ( CAST( r.`Bedrooms` AS DECIMAL ) > '3' ) ";
                        break;

                case "3":
                case "7":
                        $sqlCond .= " and ( CAST( r.`Bedrooms` AS DECIMAL ) >= '7') ";
                        break;
                }

                if(empty($sort))$sort = 'bedrooms-low';
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }
        if($bathrooms){
                $sqlCond .= " and ( CAST( r.`Baths` AS DECIMAL ) >= '".$bathrooms."') ";
                if(empty($sort))$sort = 'bedrooms-low';
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }
        if($guests){

                switch($guests){
                case "1":
                        $sqlCond .= " and ( CAST( r.`Capacity` AS DECIMAL ) <= '3') ";
                        break;

                case "2":
                case "4":
                        $sqlCond .= " and ( CAST( r.`Capacity` AS DECIMAL ) > '3' and CAST( r.`Capacity` AS DECIMAL ) <= '6') ";
                        break;

                case "3":
                case "7":
                        $sqlCond .= " and ( CAST( r.`Capacity` AS DECIMAL ) >= '7' and CAST( r.`Capacity` AS DECIMAL ) <= '10') ";
                        break;
                case "10":
                        $sqlCond .= " and ( CAST( r.`Capacity` AS DECIMAL ) >= '10') ";
                        break;
                }

                if(empty($sort))$sort = 'bedrooms-low';
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }

        if($noweeks < 2){

                if($sdate){
                        $sqlFrom = str_replace(", `r_rates` r1", "", $sqlFrom) . " , `r_rates` r1 ";
                        $sqlCond .= " AND (
                        ( r1.`date` = '".$sdate."' )
                        OR ( r1.`date` = DATE_ADD( '".$sdate."', INTERVAL 1 DAY ) )
                        OR ( r1.`date` = DATE_SUB( '".$sdate."', INTERVAL 1 DAY ) )
                        )
                        AND ( r1.`value` > 0 )
                        AND ( r1.`avl` > 0 )
                        AND ( r1.`rid` = r.`_PropertyCode` )
                        ";
                        $sqlWhat = " ,r1.`value` as `weekval` ";
                        $smarty->Assign("clear_filter", $clear_filter = 'true');
                }
                if($amountMin){
                        $sqlFrom = str_replace(", `r_rates` r1", "", $sqlFrom) . " , `r_rates` r1 ";

                        if($amountMax)
                                $sqlTmp = " r1.`value` <= ".$amountMax." and ";
                        else
                        $sqlTmp = "";

                        $sqlCond .= " AND ( ".$sqlTmp." `r1`.`value` >= ".$amountMin." ) AND ( `r1`.`rid` = r.`_PropertyCode` ) ";
                        if(empty($sdate)) $sqlCond .= " AND `r1`.`date` >= NOW() ";
                        $sqlCond .= "  AND ( r1.`value` > 0 ) AND ( r1.`avl` > 0 )  ";
                        $sqlGroup = " GROUP BY r.`_PropertyCode` ";
                        $smarty->Assign("clear_filter", $clear_filter = 'true');
                }elseif($amountMax){
                        $sqlFrom = str_replace(", `r_rates` r1", "", $sqlFrom) . " , `r_rates` r1 ";
                        $sqlCond .= " AND ( r1.`value` <= ".$amountMax." ) AND ( r1.`rid` = r.`_PropertyCode` ) ";
                        if(empty($sdate)) $sqlCond .= " AND `r1`.`date` >= NOW() ";
                        $sqlCond .= "  AND ( r1.`value` > 0 ) AND ( r1.`avl` > 0 ) ";
                        $sqlGroup = " GROUP BY r.`_PropertyCode` ";
                        $smarty->Assign("clear_filter", $clear_filter = 'true');
                }

        }else{
                $sqlFrom = str_replace(", `r_rates` r1", "", $sqlFrom);
                $sql_new4 = " AND ( ";
                $sql_week1 = " (r1.date = '".$sdate."' ";
                $sql_week2 = " OR (r1.date = DATE_ADD( '".$sdate."', INTERVAL 1 DAY )";
                $sql_week3 = " OR (r1.date = DATE_SUB( '".$sdate."', INTERVAL 1 DAY )";

                $sql_price = "";

                for ($i = 1; $i <= ($noweeks); $i++) {
                        $sql_new2 .= ", `r_rates` r".$i;
                        $sql_rids .= " AND r".$i.".rid = r.`_PropertyCode` ";
                        if($i > 1){
                                $sql_new3 .= "AND r".($i-1).".rid = r".$i.".rid ";
                                $sql_week1 .= " AND r".$i.".date = DATE_ADD( '".$sdate."', INTERVAL ".(7 * ($i-1))." DAY ) ";
                                $sql_week2 .= " AND r".$i.".date = DATE_ADD( '".$sdate."', INTERVAL ".( (7 * ($i-1)) + 1 )." DAY ) ";
                                $sql_week3 .= " AND r".$i.".date = DATE_ADD( '".$sdate."', INTERVAL ".( (7 * ($i-1)) - 1 )." DAY ) ";
                        }

                        if($amountMin){

                                if($amountMax)
                                        $sqlTmp = " r".$i.".`value` <= ".$amountMax." and ";
                                else
                                $sqlTmp = "";

                                $sql_price .= " AND ( ".$sqlTmp." r".$i.".`value` >= ".$amountMin." ) AND ( r".$i.".`rid` = r.`_PropertyCode` ) ";
                                if(empty($sdate)) $sql_price .= " AND r".$i.".`date` >= NOW() ";

                        }elseif($amountMax){
                                $sql_price .= " AND ( r".$i.".`value` <= ".$amountMax." ) AND ( r".$i.".`rid` = r.`_PropertyCode` ) ";
                                if(empty($sdate)) $sql_price .= " AND r".$i.".`date` >= NOW() ";
                        }

                        $sql_price .= " AND ( r".$i.".`value` > 0 ) AND ( r".$i.".`avl` > 0 ) ";

                }
                $sql_week1 .= " ) ";
                $sql_week2 .= " ) ";
                $sql_week3 .= " ) ";
                $sql_new4 .= $sql_week1.$sql_week2.$sql_week3." ) ";

                $sql1 = $sql_new3.$sql_rids.$sql_new4.$sql_price;

                $sqlFrom .= $sql_new2;
                $sqlCond .= $sql1;
                $sqlGroup = " GROUP BY r.`_PropertyCode` ";
                $sqlWhat = " ,r1.`value` as `weekval` ";
                if ($test == 1) echo $sql_new2."<br><br>";
                if ($test == 1) echo $sql1."<br><br>";
                $smarty->Assign("clear_filter", $clear_filter = 'true');

        }

        if($areasF){
                $sqlCondArea .= " and ( ";
                foreach($areasF as $value){
                        $area = str_replace("Town_Cisco", "Town Cisco", $area);
                        $value = str_replace("-", " ", str_replace("_", " ",$value));
                        $sqlCondArea .= " r.`AreaName` = '".str_replace("Mid Island","Mid-Island",$value)."' or ";
                }
                $sqlCondArea = substr_replace($sqlCondArea, "", -3);
                $sqlCondArea .= " )";
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }

        if($amenitiesF){
                $x = 0;
                foreach($amenitiesF as $value){
                        $sqlFrom = str_replace(", `r_amenities_new` a".$value, "", $sqlFrom) . " , `r_amenities_new` a".$value;
                        $sqlCondAme .= amenities1($value, $value);
                        $x++;
                }
                $sqlGroup = str_replace(" GROUP BY r.`_PropertyCode` ", "", $sqlGroup) . " GROUP BY r.`_PropertyCode` ";
        }

        if($amenitiesF_w){
                $x = 0;
                foreach($amenitiesF_w as $value){
                        $sqlFrom = str_replace(", `r_amenities` a".$value, "", $sqlFrom) . " , `r_amenities` a".$value;
                        $sqlCondAme .= amenities1($value, $value);
                        $x++;
                }
                $sqlGroup = str_replace(" GROUP BY r.`_PropertyCode` ", "", $sqlGroup) . " GROUP BY r.`_PropertyCode` ";
        }

        $sqlFrom = implode(',',array_unique(explode(',', $sqlFrom)));

        $sqlCount = "SELECT r.`_PropertyCode` as `nrProp` FROM `rentals` r  ".$sqlFrom." where r.`AreaName` <> '' and r.`active` = '1' ".$sqlCond.$sqlCondArea.$sqlCondAme.$sqlGroup;

        $propsCount = $REM_db->Execute( $sqlCount );
        $count_rec = $propsCount->RecordCount();

        $nr_afisari = 100000;
        $nr_pages = ceil($count_rec/$nr_afisari);
        if($page > $nr_pages) $page = 1;
        if(empty($page))$page = 1;

        $smarty->Assign("sort", $sort);

        $sqlOrd = " ";

        $sqlFrom = implode(',',array_unique(explode(',', $sqlFrom)));
        $sql = "SELECT r.`rid`, r.`_PropertyCode`, r.`map` ".$sqlWhat." FROM `rentals` r ".$sqlFrom." where r.`AreaName` <> '' and r.`active` = '1' ".$sqlCond.$sqlCondArea.$sqlCondAme.$sqlGroup.$sqlOrd." LIMIT ".($page-1)*$nr_afisari.",".$nr_afisari;


        $ar = array();
        $x=0;
        $areas = $REM_db->Execute("SELECT * FROM `areas` ORDER BY `area` ASC ");
        while(!$areas->EOF){
                $tmp = $REM_db->Execute("SELECT r.`_PropertyCode` FROM `rentals` r ".$sqlFrom." where r.`Area` = '".$areas->fields['id']."' and r.`active` = '1' ".$sqlCond.$sqlCondAme.$sqlGroup);
                if ($test == 1) echo "SELECT r.`_PropertyCode` FROM `rentals` r ".$sqlFrom." where r.`Area` = '".$areas->fields['id']."' and r.`active` = '1' ".$sqlCond.$sqlCondAme.$sqlGroup;
                $ar[$x]['Area'] = $areas->fields['area'];
                $ar[$x]['numar'] = $tmp->RecordCount();
                $x++;
                $areas->MoveNext();
        }
        $smarty->Assign("area1", $ar);

        $x=0;
        foreach($amty as $val){

                if($val){

                        $tmpFrom = str_replace(", `r_amenities_new` a".$val, "", $sqlFrom);

                        $tmpam = $REM_db->Execute("SELECT r.`_PropertyCode` FROM `rentals` r ".$tmpFrom.", `r_amenities_new` a".$val." where r.`active` = '1'  ".amenities1($val, $val)." ".$sqlCond.$sqlCondArea.$sqlCondAme.$sqlGroup);
                        if ($test == 1) echo  "SELECT r.`_PropertyCode` FROM `rentals` r ".$tmpFrom.", `r_amenities_new` a".$val." where r.`active` = '1'  ".amenities1($val, $val)." ".$sqlCond.$sqlCondArea.$sqlCondAme.$sqlGroup."<br><br>";

                        $am[$y]['amField'] = $val;
                        $am[$y]['numar'] = $tmpam->RecordCount();
                        $y++;
                }
        }
        $smarty->Assign("amenities", $am);

        foreach($amty_w as $val){

                if($val){

                        $tmpFrom = str_replace(", `r_amenities` a".$val, "", $sqlFrom);

                        $tmpam = $REM_db->Execute("SELECT r.`_PropertyCode` FROM `rentals` r ".$tmpFrom.", `r_amenities` a".$val." where r.`active` = '1'  ".amenities1($val, $val)." ".$sqlCond.$sqlCondArea.$sqlCondAme.$sqlGroup);
                        if ($test == 1) echo  "SELECT r.`_PropertyCode` FROM `rentals` r ".$tmpFrom.", `r_amenities` a".$val." where r.`active` = '1'  ".amenities1($val, $val)." ".$sqlCond.$sqlCondArea.$sqlCondAme.$sqlGroup."<br><br>";

                        $am_w[$y]['amField'] = $val;
                        $am_w[$y]['numar'] = $tmpam->RecordCount();
                        $y++;
                }
        }
        $smarty->Assign("amenities_w", $am_w);

        $smarty->Assign("html", '<span class="results"><em>Results: '.$count_rec.'</em><span id="clear-filter">Clear Filters</span></span>');

        if($test == 1) echo $sql;

        $props = $REM_db->GetAll( $sql );
        $smarty->Assign("prps", $props);


        $smarty->Assign("amenitiesF", $amenitiesF);
        $smarty->Assign("amenitiesF_w", $amenitiesF_w);

        $smarty->Assign("amountMin", $amountMin);
        $smarty->Assign("amountMax", $amountMax);

        $smarty->Assign("bedrooms", $bedrooms);

        $smarty->Assign("bathrooms", $bathrooms);
        $smarty->Assign("guests", $guests);

        $smarty->Assign("areas", $areasF);

        $smarty->Assign("meta_title", "Nantucket Real Estate Nantucket Island, MA Rental Houses".$seotit);
        $smarty->Assign("meta_key", "Nantucket Real Estate, Nantucket House Rental, Rental House, Home Rentals, Nantucket Vacation Rentals, Rentals".$seokey);
        $smarty->Assign("meta_desc", "Nantucket Real Estate and House Rental options throughout Nantucket Island ".$seodesc.", MA - call (508) 228-3202.");

        $smarty->Assign("noprototype", "no");
        $smarty->Assign("prps", $props);
        $smarty->Assign("pmenu", "r");
        $smarty->display("map_rentals_filter.tpl");

        break;





case "map_rentals_filter_json":


        if($area){
                $areasF = explode( ',', $area );
        }else{
                $areasF = array();
        }

        if($amenity){
                $amenitiesTMP = explode( ',', $amenity );
        }else{
                $amenitiesF = array();
                $amenitiesF_w = array();
        }

        foreach($amenitiesTMP as $ame1){

                if(in_array($ame1, $amty)){
                   $amenitiesF[] = $ame1;
                }elseif(in_array($ame1, $amty_w)){
                   $amenitiesF_w[] = $ame1;
                }

        }

        if($bedrooms){

                switch($bedrooms){
                case "1":
                        $sqlCond .= " and ( CAST( r.`Bedrooms` AS DECIMAL ) <= '3') ";
                        break;

                case "2":
                case "4":
                        $sqlCond .= " and ( CAST( r.`Bedrooms` AS DECIMAL ) > '3' ) ";
                        break;

                case "3":
                case "7":
                        $sqlCond .= " and ( CAST( r.`Bedrooms` AS DECIMAL ) >= '7') ";
                        break;
                }

                if(empty($sort))$sort = 'bedrooms-low';
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }
        if($bathrooms){
                $sqlCond .= " and ( CAST( r.`Baths` AS DECIMAL ) >= '".$bathrooms."') ";
                if(empty($sort))$sort = 'bedrooms-low';
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }
        if($guests){

                switch($guests){
                case "1":
                        $sqlCond .= " and ( CAST( r.`Capacity` AS DECIMAL ) <= '3') ";
                        break;

                case "2":
                case "4":
                        $sqlCond .= " and ( CAST( r.`Capacity` AS DECIMAL ) > '3' and CAST( r.`Capacity` AS DECIMAL ) <= '6') ";
                        break;

                case "3":
                case "7":
                        $sqlCond .= " and ( CAST( r.`Capacity` AS DECIMAL ) >= '7' and CAST( r.`Capacity` AS DECIMAL ) <= '10') ";
                        break;
                case "10":
                        $sqlCond .= " and ( CAST( r.`Capacity` AS DECIMAL ) >= '10') ";
                        break;
                }

                if(empty($sort))$sort = 'bedrooms-low';
                $smarty->Assign("clear_filter", $clear_filter = 'true');
        }

        if($turnover){
                switch($turnover){
                case "fri":
                        $sqlCond .= " and ( r.`TurnoverDay` = 'Fri') ";
                        break;

                case "sat":
                        $sqlCond .= " and ( r.`TurnoverDay` = 'Sat') ";
                        break;

                case "sun":
                        $sqlCond .= " and ( r.`TurnoverDay` = 'Sun') ";
                        break;

                default:
                }
        }

        if($noweeks < 2){

                if($sdate){
                        $sqlFrom = str_replace(", `r_rates` r1", "", $sqlFrom) . " , `r_rates` r1 ";
                        $sqlCond .= " AND (
                        ( r1.`date` = '".$sdate."' )
                        OR ( r1.`date` = DATE_ADD( '".$sdate."', INTERVAL 1 DAY ) )
                        OR ( r1.`date` = DATE_SUB( '".$sdate."', INTERVAL 1 DAY ) )
                        )
                        AND ( r1.`value` > 0 )
                        AND ( r1.`avl` > 0 )
                        AND ( r1.`rid` = r.`_PropertyCode` )
                        ";
                        $sqlWhat = " ,r1.`value` as `weekval` ";
                }
                if($amountMin){
                        $sqlFrom = str_replace(", `r_rates` r1", "", $sqlFrom) . " , `r_rates` r1 ";

                        if($amountMax)
                                $sqlTmp = " r1.`value` <= ".$amountMax." and ";
                        else
                        $sqlTmp = "";

                        $sqlCond .= " AND ( ".$sqlTmp." `r1`.`value` >= ".$amountMin." ) AND ( `r1`.`rid` = r.`_PropertyCode` ) and r1.`avl` > 0";
                        if(empty($sdate)) $sqlCond .= " AND `r1`.`date` >= NOW() ";
                        $sqlCond .= "  AND ( r1.`value` > 0 )  ";
                        $sqlGroup = str_replace(" GROUP BY r.`_PropertyCode` ", "", $sqlGroup) . " GROUP BY r.`_PropertyCode` ";

                }elseif($amountMax){
                        $sqlFrom = str_replace(", `r_rates` r1", "", $sqlFrom) . " , `r_rates` r1 ";
                        $sqlCond .= " AND ( r1.`value` <= ".$amountMax." ) AND ( r1.`rid` = r.`_PropertyCode` ) and r1.`avl` > 0";
                        if(empty($sdate)) $sqlCond .= " AND `r1`.`date` >= NOW() ";
                        $sqlCond .= "  AND ( r1.`value` > 0 )  ";
                        $sqlGroup = str_replace(" GROUP BY r.`_PropertyCode` ", "", $sqlGroup) . " GROUP BY r.`_PropertyCode` ";
                }

        }else{
                $sqlFrom = str_replace(", `r_rates` r1", "", $sqlFrom);
                $sql_new4 = " AND ( ";
                $sql_week1 = " (r1.date = '".$sdate."' ";
                $sql_week2 = " OR (r1.date = DATE_ADD( '".$sdate."', INTERVAL 1 DAY )";
                $sql_week3 = " OR (r1.date = DATE_SUB( '".$sdate."', INTERVAL 1 DAY )";

                $sql_price = "";

                for ($i = 1; $i <= ($noweeks); $i++) {
                        $sql_new2 .= ", `r_rates` r".$i;
                        $sql_rids .= " AND r".$i.".rid = r.`_PropertyCode` ";
                        if($i > 1){
                                $sql_new3 .= "AND r".($i-1).".rid = r".$i.".rid ";
                                $sql_week1 .= " AND r".$i.".date = DATE_ADD( '".$sdate."', INTERVAL ".(7 * ($i-1))." DAY ) ";
                                $sql_week2 .= " AND r".$i.".date = DATE_ADD( '".$sdate."', INTERVAL ".( (7 * ($i-1)) + 1 )." DAY ) ";
                                $sql_week3 .= " AND r".$i.".date = DATE_ADD( '".$sdate."', INTERVAL ".( (7 * ($i-1)) - 1 )." DAY ) ";
                        }

                        if($amountMin){

                                if($amountMax)
                                        $sqlTmp = " r".$i.".`value` <= ".$amountMax." and ";
                                else
                                $sqlTmp = "";

                                $sql_price .= " AND ( ".$sqlTmp." r".$i.".`value` >= ".$amountMin." ) AND ( r".$i.".`rid` = r.`_PropertyCode` ) ";
                                if(empty($sdate)) $sql_price .= " AND r".$i.".`date` >= NOW() ";

                        }elseif($amountMax){
                                $sql_price .= " AND ( r".$i.".`value` <= ".$amountMax." ) AND ( r".$i.".`rid` = r.`_PropertyCode` ) ";
                                if(empty($sdate)) $sql_price .= " AND r".$i.".`date` >= NOW() ";
                        }

                        $sql_price .= " AND ( r".$i.".`value` > 0 ) AND ( r".$i.".`avl` > 0 )";

                }
                $sql_week1 .= " ) ";
                $sql_week2 .= " ) ";
                $sql_week3 .= " ) ";
                $sql_new4 .= $sql_week1.$sql_week2.$sql_week3." ) ";

                $sql1 = $sql_new3.$sql_rids.$sql_new4.$sql_price;

                $sqlFrom .= $sql_new2;
                $sqlCond .= $sql1;
                $sqlGroup = str_replace(" GROUP BY r.`_PropertyCode` ", "", $sqlGroup) . " GROUP BY r.`_PropertyCode` ";
                $sqlWhat = " ,r1.`value` as `weekval` ";
                if ($test == 1) echo $sql_new2."<br><br>";
                if ($test == 1) echo $sql1."<br><br>";

        }

        if($areasF){
                $sqlCondArea .= " and ( ";
                foreach($areasF as $value){
                        $area = str_replace("Town_Cisco", "Town Cisco", $area);
                        $value = str_replace("-", " ",str_replace("_", " ", $value));
                        $sqlCondArea .= " r.`AreaName` = '".str_replace("Mid Island","Mid-Island",$value)."' or ";
                }
                $sqlCondArea = substr_replace($sqlCondArea, "", -3);
                $sqlCondArea .= " )";
        }

        if($amenitiesF){
                $x = 0;
                foreach($amenitiesF as $value){
                        $sqlFrom = str_replace(", `r_amenities_new` a".$value, "", $sqlFrom) . " , `r_amenities_new` a".$value;
                        $sqlCondAme .= amenities1($value, $value);
                        $x++;
                }
                $sqlGroup = str_replace(" GROUP BY r.`_PropertyCode` ", "", $sqlGroup) . " GROUP BY r.`_PropertyCode` ";
        }

        if($amenitiesF_w){
                $x = 0;
                foreach($amenitiesF_w as $value){

                        $sqlFrom = str_replace(", `r_amenities` a".$value, "", $sqlFrom) . " , `r_amenities` a".$value;

                        $sqlCondAme .= amenities1($value, $value);
                        $x++;
                }
                $sqlGroup = str_replace(" GROUP BY r.`_PropertyCode` ", "", $sqlGroup) . " GROUP BY r.`_PropertyCode` ";
        }

        $sqlCount = "SELECT r.`_PropertyCode` as `nrProp` FROM `rentals` r  ".$sqlFrom." where r.`AreaName` <> '' and r.`active` = '1' ".$sqlCond.$sqlCondArea.$sqlCondAme.$sqlGroup;

        if($test == 1) echo $sqlCount."<br><br><br>";

        $propsCount = $REM_db->Execute( $sqlCount );
        $count_rec = $propsCount->RecordCount();
        $nr_afisari = 100000;
        $nr_pages = ceil($count_rec/$nr_afisari);
        if($page > $nr_pages) $page = 1;
        if(empty($page))$page = 1;

        $sqlOrd = " ";

        $sql = "SELECT r.`_PropertyCode`, r.`map` ".$sqlWhat." FROM `rentals` r ".$sqlFrom." where r.`AreaName` <> '' and r.`active` = '1' ".$sqlCond.$sqlCondArea.$sqlCondAme.$sqlGroup.$sqlOrd." LIMIT ".($page-1)*$nr_afisari.",".$nr_afisari;


        $ar = array();
        $x=0;
        $areas = $REM_db->Execute("SELECT * FROM `areas` ORDER BY `area` ASC ");
        while(!$areas->EOF){
                $tmp = $REM_db->Execute("SELECT r.`_PropertyCode` FROM `rentals` r ".$sqlFrom." where r.`Area` = '".$areas->fields['id']."' and r.`active` = '1' ".$sqlCond.$sqlCondAme.$sqlGroup);
                if ($test == 1) echo "SELECT r.`_PropertyCode` FROM `rentals` r ".$sqlFrom." where r.`Area` = '".$areas->fields['id']."' and r.`active` = '1' ".$sqlCond.$sqlCondAme.$sqlGroup."<br><br>";
                $ar[$x]['Area'] = $areas->fields['area'];
                $ar[$x]['numar'] = $tmp->RecordCount();
                $x++;
                $areas->MoveNext();
        }

        $y=0;


        foreach($amty as $val){

                if($val){

                        $tmpFrom = str_replace(", `r_amenities_new` a".$val, "", $sqlFrom);

                        $tmpam = $REM_db->Execute("SELECT r.`_PropertyCode` FROM `rentals` r ".$tmpFrom.", `r_amenities_new` a".$val." where r.`active` = '1'  ".amenities1($val, $val)." ".$sqlCond.$sqlCondArea.$sqlCondAme.$sqlGroup);
                        if ($test == 1) echo  "SELECT r.`_PropertyCode` FROM `rentals` r ".$tmpFrom.", `r_amenities_new` a".$val." where r.`active` = '1'  ".amenities1($val, $val)." ".$sqlCond.$sqlCondArea.$sqlCondAme.$sqlGroup."<br><br>";

                        $am[$y]['amField'] = $val;
                        $am[$y]['numar'] = $tmpam->RecordCount();
                        $y++;
                }
        }

        foreach($amty_w as $val){

                if($val){

                        $tmpFrom = str_replace(", `r_amenities` a".$val, "", $sqlFrom);

                        $tmpam = $REM_db->Execute("SELECT r.`_PropertyCode` FROM `rentals` r ".$tmpFrom.", `r_amenities` a".$val." where r.`active` = '1'  ".amenities1($val, $val)." ".$sqlCond.$sqlCondArea.$sqlCondAme.$sqlGroup);
                        if ($test == 1) echo  "SELECT r.`_PropertyCode` FROM `rentals` r ".$tmpFrom.", `r_amenities` a".$val." where r.`active` = '1'  ".amenities1($val, $val)." ".$sqlCond.$sqlCondArea.$sqlCondAme.$sqlGroup."<br><br>";

                        $am[$y]['amField'] = $val;
                        $am[$y]['numar'] = $tmpam->RecordCount();
                        $y++;
                }
        }

        $sqlGroup = str_replace(" GROUP BY r.`_PropertyCode` ", "", $sqlGroup) . " GROUP BY r.`_PropertyCode` ";

        if ($test == 1)        echo $sql."<br><br><br>";

        $jSON = $REM_db->GetAll( $sql );
        $jSON['pagination'] = '<span class="results"><em>Results: '.$count_rec.'</em><span id="clear-filter">Clear Filters</span></span>';
        $jSON['amenity'] = $am;
        $jSON['area'] = $ar;
        if ($test <> 1)        header('Content-type: application/json');
        echo json_encode($jSON);


        break;

        case "resolveLeadAgent":



        break;



default:

        require_once 'configs/Mobile-Detect/Mobile_Detect.php';
        $detect = new Mobile_Detect;
        $smarty->assign("detect",$detect);

        $smarty->assign("current_month", date("n"));
        $smarty->assign("current_year", date("Y"));

        $smarty->assign("y1", date("Y",strtotime("-1 Year")));
        $smarty->assign("y2", date("Y",strtotime("-2 Year")));

        $date1 = date("Y-m-d",strtotime("-30 Days"));
        $date2 = date("Y-m-d",strtotime("-6 Months"));
        $date3 = date("Y-m-d",strtotime("-1 Year"));

        $no1 = $db->Execute("SELECT count( `id` ) , SUM( `original` ) as `sumorg` , SUM( `soldPrice` ) as `soldpr` FROM `xml_sold_new` where `data` >= '".date('Y')."-01-01' and `data` < '".date('Y-m-d')."' and `DOM` <> '' AND CAST( `DOM` AS SIGNED ) > '0' AND CAST( `DOM` AS SIGNED ) < '31'");
        $no2 = $db->Execute("SELECT count( `id` ) , SUM( `original` ) as `sumorg` , SUM( `soldPrice` ) as `soldpr` FROM `xml_sold_new` where `data` >= '".date('Y')."-01-01' and `data` < '".date('Y-m-d')."' AND CAST( `DOM` AS SIGNED ) > '30' AND CAST( `DOM` AS SIGNED ) < '182'");
        $no3 = $db->Execute("SELECT count( `id` ) , SUM( `original` ) as `sumorg` , SUM( `soldPrice` ) as `soldpr` FROM `xml_sold_new` where `data` >= '".date('Y')."-01-01' and `data` < '".date('Y-m-d')."' AND CAST( `DOM` AS SIGNED ) >= '182'");

        $sts1 = percentage($no1->fields['soldpr'], $no1->fields['sumorg']);
        $sts2 = percentage($no2->fields['soldpr'], $no2->fields['sumorg']);
        $sts3 = percentage($no3->fields['soldpr'], $no3->fields['sumorg']);

        $smarty->Assign("sts1", $sts1);
        $smarty->Assign("sts2", $sts2);
        $smarty->Assign("sts3", $sts3);

        /**********************************/

        $no4 = $db->Execute("SELECT count( `id` ) , SUM( `original` ) as `sumorg` , SUM( `soldPrice` ) as `soldpr` FROM `xml_sold_new` where `data` >= '".date('Y', strtotime("-1 year"))."-01-01' and `data` < '".date('Y-m-d', strtotime("-1 year"))."' and `DOM` <> '' AND CAST( `DOM` AS SIGNED ) > '0' AND CAST( `DOM` AS SIGNED ) < '31'");
        $no5 = $db->Execute("SELECT count( `id` ) , SUM( `original` ) as `sumorg` , SUM( `soldPrice` ) as `soldpr` FROM `xml_sold_new` where `data` >= '".date('Y', strtotime("-1 year"))."-01-01' and `data` < '".date('Y-m-d', strtotime("-1 year"))."' AND CAST( `DOM` AS SIGNED ) > '30' AND CAST( `DOM` AS SIGNED ) < '182'");
        $no6 = $db->Execute("SELECT count( `id` ) , SUM( `original` ) as `sumorg` , SUM( `soldPrice` ) as `soldpr` FROM `xml_sold_new` where `data` >= '".date('Y', strtotime("-1 year"))."-01-01' and `data` < '".date('Y-m-d', strtotime("-1 year"))."' AND CAST( `DOM` AS SIGNED ) >= '182'");


        $sts4 = percentage($no4->fields['soldpr'], $no4->fields['sumorg']);
        $sts5 = percentage($no5->fields['soldpr'], $no5->fields['sumorg']);
        $sts6 = percentage($no6->fields['soldpr'], $no6->fields['sumorg']);

        $smarty->Assign("sts4", $sts4);
        $smarty->Assign("sts5", $sts5);
        $smarty->Assign("sts6", $sts6);

        /***************************************/

        $sts7 = percentage($sts1, $sts4);
        $sts8 = percentage($sts2, $sts5);
        $sts9 = percentage($sts3, $sts6);

        $smarty->Assign("sts7", $sts7);
        $smarty->Assign("sts8", $sts8);
        $smarty->Assign("sts9", $sts9);



        if($nsbut == 'sign'){
                if( filter_var($nemail, FILTER_VALIDATE_EMAIL)){
                        $dbnews = &ADONewConnection('mysqli');
                        $dbnews->Connect(env('DB_HOST','localhost'), env('DB_NEWS_USER'), env('DB_NEWS_PASS'), env('DB_NEWS_NAME'));
                        $e = $dbnews->Execute("select `id` from `signup` where `email` = '".$nemail."'");
                        if($e->RecordCount()!= 0){
                                $smarty->assign("err1", "This email is already in our database");
                        }else{
                                $dbnews->Execute("INSERT INTO `signup` ( `id` , `email` , `data` )VALUES (NULL , '".$nemail."', NOW())");
                                $smarty->assign("errn", "<span class='done'>Email added in our database</span>");
                        }
                }else{
                        $smarty->assign("err1", "Email address not valid");
                }
        }
        $smarty->Assign("latest", $db->GetAll("SELECT * FROM `xml_realestate` WHERE LOWER(`status`) IN ( 'active', 'active under contract') ORDER BY `firstadd` DESC, `id` DESC LIMIT 0 , 20"));

        $tmp = array();
        $myHousesE = $db->GetAll("select `linkId` from `my_houses` where `uid` = '".$_SESSION['uid']."' ");
        foreach ($myHousesE as $key => $value) {
                $tmp[] = $value['linkId'];
        }
        $smarty->Assign("myHousesE", json_encode($tmp));


        $all = $db->Execute("select * from `stats` where `type` = '1' order by `date` DESC LIMIT 0,1");
        $smarty->assign("stats", $all->fields);

        $ms = $db->Execute("select * from `stats2` where `month` = '0' order by `date` DESC LIMIT 0,1");
        $smarty->assign("mstats", $ms->fields);

        $smarty->Assign("meta_title", "JPFCO Nantucket Real Estate & Nantucket Rentals");
        $smarty->Assign("meta_key", "Nantucket Real Estate, Nantucket Rentals, Nantucket House Rental, Nantucket Island, MA");
        $smarty->Assign("meta_desc", "Nantucket Real Estate and Nantucket Rentals available for sale and rent on Nantucket Island, MA. - call (508) 228-3202.");

        $dbnews = &ADONewConnection('mysqli');
        $dbnews->Connect(env('DB_HOST','localhost'), env('DB_NEWS_USER'), env('DB_NEWS_PASS'), env('DB_NEWS_NAME'));

        $newslett = $dbnews->GetAll("SELECT a.*, c.`story_title`, c.`story_id` FROM `newsletter` a, `props` b, `stories` c where a.`status` = '1' and a.`newsletter_id` = b.`newsletter_id` and b.`name` = 'sect_1' and c.`sect` = b.`prop_id` group by a.`newsletter_id` ORDER BY a.`issue_date` DESC LIMIT 0 , 6");
        $smarty->Assign("newsletter", $newslett);
/*
        $news2 = $dbnews->GetAll("SELECT a.*, c.`story_title`, c.`story_id` FROM `newsletter` a, `props` b, `stories` c where a.`status` = '1' and a.`newsletter_id` = b.`newsletter_id` and b.`name` = 'sect_4' and c.`sect` = b.`prop_id` group by a.`newsletter_id` ORDER BY a.`issue_date` DESC LIMIT 0 , 7");
        $smarty->Assign("news2", $news2);
*/
        $dbnews->Close();

        $dbblog = &ADONewConnection('mysqli');
        $dbblog->Connect(env('DB_HOST','localhost'), env('DB_BLOG_USER'), env('DB_BLOG_PASS'), env('DB_BLOG_NAME'));


        $blogp = $dbblog->GetAll("Select a.`ID`, a.`post_title`, a.`post_date`, b.`display_name` FROM `blog_posts` a , `blog_users` b  WHERE a.`post_type`='post' AND a.`post_status`='publish' and a.`post_author` = b.`ID` ORDER BY a.`post_date` DESC LIMIT 0,5");

        $smarty->Assign("blog", $blogp);

        $dbblog->Close();

        if($_REQUEST['nojs'] == '1'){
                setcookie("nojs", time(), time()+(3600*24*7));
        }else{
                $smarty->Assign("removeNoJS", 1);
        }

        $ev = $db->GetAll("Select * from `events` where `date` >= NOW()  order by `date` limit 0,4");
        $smarty->assign("ev", $ev);
        $smarty->assign("bodyclass", "homepage");

        $smarty->Assign("canonical", $base_url );

        $smarty->display("home.tpl");

}
$db->Close();
$REM_db->Close();
//phpinfo();
?>
