<?PHP include("config.php");
require_once("rating/classes/include.all.php");
include("rating/int.to.words.php");

//weights
$w_respondents = 1;
$w_retailer_shopper_tags = 5;
$w_retailer_fitbikes = 10; 
$w_retailer_motioncapture = 10;
$w_retailer_wetsuits = 2.5;
$w_retailer_bikes = 2.5;
$w_retailer_fist_names = 5;
$w_retailer_cart = 10;
$x_years_ago = time()-3*31556926;
$min_number_of_votes = 5;

$results = mysql_query("SELECT COUNT(DISTINCT(grr.rating_ip)) AS respondents, ROUND(AVG(grr.rating_vote), 2) AS score, COUNT(grr.rating_vote) AS votes, gr.retailer_id, gr.retailer_name, gr.retailer_address, gr.retailer_address_two, gr.retailer_city, gr.retailer_state, gr.retailer_zip, gr.retailer_phone, gr.retailer_fax, gr.retailer_email, gr.retailer_website, gr.retailer_cart, retailer_shopper_tags, retailer_fitbikes, retailer_motioncapture, retailer_wetsuits, retailer_bikes, retailer_fist_names FROM gforum_RetailersRating AS grr RIGHT JOIN gforum_Retailers AS gr ON gr.retailer_id = grr.rating_retailer_id WHERE grr.rating_date> ".$x_years_ago." GROUP BY grr.rating_retailer_id HAVING COUNT(grr.rating_vote) > ".$min_number_of_votes." ORDER BY score DESC, votes DESC");

$top_retailers = array();
while($row = mysql_fetch_array($results)) {

 $row['weighted_score'] = $row['score']+$w_respondents*($row['respondents']);
 $row['weighted_score'] = $row['weighted_score']+$w_retailer_cart*($row['retailer_cart']);
 $row['weighted_score'] = $row['weighted_score']+$w_retailer_shopper_tags*substr_count($row['retailer_shopper_tags'], ',');
 $row['weighted_score'] = $row['weighted_score']+$w_retailer_fitbikes*substr_count($row['retailer_fitbikes'], ',');
 $row['weighted_score'] = $row['weighted_score']* $w_retailer_motioncapture+substr_count($row['retailer_motioncapture'], ',');
 $row['weighted_score'] = $row['weighted_score']+$w_retailer_wetsuits*substr_count($row['retailer_wetsuits'], ',');
 $row['weighted_score'] = $row['weighted_score']+$w_retailer_bikes*substr_count($row['retailer_bikes'], ',');
 $row['weighted_score'] = $row['weighted_score']+$w_retailer_fist_names*substr_count($row['retailer_fist_names'], ',');
 array_push($top_retailers, $row);
}

//sort the array by keyword match success instead of by date
function cmp($a, $b)
{
    if ($a['weighted_score'] == $b['weighted_score']) {
        return 0;
    }
    return ($a['weighted_score'] > $b['weighted_score']) ? -1 : 1;
}

usort($top_retailers, "cmp");

// set the page title
$pagetitle = "Top Retailers";

// set meta tags
$meta_keywords = "top ranked retailers";
$meta_description = "Top ranked triathlon retailers based on rankings submitted by the user.";
?>

<? include("include_common_head.php"); ?>
<body class="listings">
  <? include($common_path . "/ads/ad_wallpaper.html"); ?>

  <div class="container">
    <? include($common_path . "/templates/include_header.php"); ?>
    <div class="main">
      <div class="contentwrapper clearfix">
        <? include("include_breadcrumb.php"); ?>

        <section class="section listings section-has-widgets section-static remove-sidebar">
          <div class="sidebar-b">
            <? $selected_item = 'top' ?>
            <? include("include_sidebar.php"); ?>
          </div>
          <div class="content content-has-widgets">
            <div class="grid">

              <div class="clearfix">
                <h1>Top Ranked Triathlon Retailers</h1>
                <hr class="line" />
                <? include("../runshops/include_region_list.php"); ?>
                <p>These rankings are compiled based off Slowtwitch.com's own scoring algorithm. The individual ranking - by stars - of each shop is still shown. But the list's ranking and the score shown on this page is the Slowtwitch.com score for each retailer.</p>
                <?
                if($none == TRUE){
                echo "No triathlon retailers have been entered yet.";
                }
                ?>

                <? 
                $x = 0;
                array_splice($top_retailers, 10);
                foreach ($top_retailers AS $row) {
                    $x++;
                    if ($x == 1) { $max_score = $row['weighted_score']; }
                    include("include_store.php");
                }
                ?>

              </div><!-- end col-2/3 -->


            </div><!-- end grid -->
          </div><!-- end content -->
        </section>

      </div><!-- end contentwrapper -->
    </div> <!-- end main -->

  <? include($common_path . "/templates/include_footer.php") ?>
  </div> <!-- container  -->
</body>
<? include($common_path . "/templates/include_global_js.php") ?>
</html>
