<?
include("rating_config.php");
//------------------------------------------Gets The Average Rating------------------------------------//
function getRating($id){

	$total = 0;
	$rows = 0;
	
	$sel = mysql_query("SELECT rating_num FROM rating WHERE rating_id = '$id'");
	if(mysql_num_rows($sel) > 0){
	
		while($data = mysql_fetch_assoc($sel)){
		
			$total = $total + $data['rating_num'];
			$rows++;
		}
		
		$perc = ($total/$rows) * 20;
		
		//$newPerc = round($perc/5)*5;
		//return $newPerc.'%';
		
		$newPerc = round($perc,2);
		return $newPerc.'%';
	
	} else {
	
		return '0%';
	
	}
}
//------------------------------------------Gets The Average Rating------------------------------------//



//------------------------------------------Gets The Out Of 5 Rating------------------------------------//
function outOfFive($id){

	$total = 0;
	$rows = 0;
	
	$sel = mysql_query("SELECT rating_num FROM rating WHERE rating_id = '$id'");
	if(mysql_num_rows($sel) > 0){
	
		while($data = mysql_fetch_assoc($sel)){
		
			$total = $total + $data['rating_num'];
			$rows++;
		}
		
		$perc = ($total/$rows);
		
		return round($perc,2);
		//return round(($perc*2), 0)/2; // 3.5
	
	} else {
	
		return '0';
	
	}
	
	
}
//------------------------------------------Gets The Out Of 5 Rating------------------------------------//


//------------------------------------------Gets The Total Number Of Votes Top(0 Votes)------------------------------------//
function getVotes($id){

	$sel = mysql_query("SELECT rating_num FROM rating WHERE rating_id = '$id'");
	$rows = mysql_num_rows($sel);
	if($rows == 0){
		$votes = '0 رای';
	}
	else if($rows == 1){
		$votes = '1 رای';
	} else {
		$votes = $rows.' رای';
	}
	return $votes;
	
}
//------------------------------------------Gets The Total Number Of Votes Top (0 Votes)------------------------------------//


//------------------------------------------Gets The Total Number Of Votes Side (0)------------------------------------//
function getVotesSmall($id){

	$sel = mysql_query("SELECT rating_num FROM rating WHERE rating_id = '$id'");
	$rows = mysql_num_rows($sel);
	return $rows;
	
}
//------------------------------------------Gets The Total Number Of Votes Side (0)------------------------------------//



function pullRating($id,$show5 = false, $showPerc = false, $showVotes = false, $showVotesSmall = false, $static = NULL){
	
	// Check if they have already voted...
	$text = '';
	
	$sel = mysql_query("SELECT id FROM rating WHERE IP = '".$_SERVER['REMOTE_ADDR']."' AND rating_id = '$id'");
	if(mysql_num_rows($sel) > 0 || $static == 'novote' || isset($_COOKIE['has_voted_'.$id])){
	
		
		
		if($show5 || $showPerc || $showVotes){

			$text .= '<div class="rated_text">';
			
		}
			
			if($show5){
				$text .= 'امتیاز <span id="outOfFive_'.$id.'" class="out5Class">'.outOfFive($id).'</span>/5';
			} 
			if($showPerc){
				$text .= ' (<span id="percentage_'.$id.'" class="percentClass">'.getRating($id).'</span>)';
			}
			if($showVotes){
				$text .= ' (<span id="showvotes_'.$id.'" class="votesClass">'.getVotes($id).'</span>)';
			}
			
		if($show5 || $showPerc || $showVotes){	
			
			$text .= '</div>';
		
		}
		
		if($showVotesSmall){
			$showVotesSmallbool = 'true';
			$text .= '<table><tr><td>';
		} else {
			$showVotesSmallbool = 'false';
		}

		$text .= '
			<ul class="star-rating2" id="rater_'.$id.'">
				<li class="current-rating" style="width:'.getRating($id).';" id="ul_'.$id.'"></li>
				<li><a onclick="return false;" href="#" title="1 star out of 5" class="one-star" >1</a></li>
				<li><a onclick="return false;" href="#" title="2 stars out of 5" class="two-stars">2</a></li>
				<li><a onclick="return false;" href="#" title="3 stars out of 5" class="three-stars">3</a></li>
				<li><a onclick="return false;" href="#" title="4 stars out of 5" class="four-stars">4</a></li>
				<li><a onclick="return false;" href="#" title="5 stars out of 5" class="five-stars">5</a></li>
			</ul>';

			if($showVotesSmall){
				$text .= '</td><td><div class="rated_text">(<span id="showvotessmall_'.$id.'" class="votesClass">'.getVotesSmall($id).'</span>)</div></td></tr></table>';
			}
			
			return $text.'<div id="loading_'.$id.'"></div>';

		
	} else {
		
		if($show5 || $showPerc || $showVotes){
			
			$text .= '<div class="rated_text">';
			
		}
			if($show5){
				$show5bool = 'true';
				$text .= 'امتیاز <span id="outOfFive_'.$id.'" class="out5Class">'.outOfFive($id).'</span>/5';
			} else {
				$show5bool = 'false';
			}
			if($showPerc){
				$showPercbool = 'true';
				$text .= ' (<span id="percentage_'.$id.'" class="percentClass">'.getRating($id).'</span>)';
			} else {
				$showPercbool = 'false';
			}
			if($showVotes){
				$showVotesbool = 'true';
				$text .= ' (<span id="showvotes_'.$id.'" class="votesClass">'.getVotes($id).'</span>)';
			} else {
				$showVotesbool = 'false';	
			}
			
		if($show5 || $showPerc || $showVotes){	
		
			$text .= '</div>';
			
		}
		
		if($showVotesSmall){
			$showVotesSmallbool = 'true';
			$text .= '<table><tr><td>';
		} else {
			$showVotesSmallbool = 'false';
		}

		$text .= '
			<ul class="star-rating" id="rater_'.$id.'">
				<li class="current-rating" style="width:'.getRating($id).';" id="ul_'.$id.'"></li>
				<li><a onclick="rate(\'1\',\''.$id.'\','.$show5bool.','.$showPercbool.','.$showVotesbool.','.$showVotesSmallbool.'); return false;" href="include/rating_process.php?id='.$id.'&rating=1" title="1 star out of 5" class="one-star" >1</a></li>
				<li><a onclick="rate(\'2\',\''.$id.'\','.$show5bool.','.$showPercbool.','.$showVotesbool.','.$showVotesSmallbool.'); return false;" href="include/rating_process.php?id='.$id.'&rating=2" title="2 stars out of 5" class="two-stars">2</a></li>
				<li><a onclick="rate(\'3\',\''.$id.'\','.$show5bool.','.$showPercbool.','.$showVotesbool.','.$showVotesSmallbool.'); return false;" href="include/rating_process.php?id='.$id.'&rating=3" title="3 stars out of 5" class="three-stars">3</a></li>
				<li><a onclick="rate(\'4\',\''.$id.'\','.$show5bool.','.$showPercbool.','.$showVotesbool.','.$showVotesSmallbool.'); return false;" href="include/rating_process.php?id='.$id.'&rating=4" title="4 stars out of 5" class="four-stars">4</a></li>
				<li><a onclick="rate(\'5\',\''.$id.'\','.$show5bool.','.$showPercbool.','.$showVotesbool.','.$showVotesSmallbool.'); return false;" href="include/rating_process.php?id='.$id.'&rating=5" title="5 stars out of 5" class="five-stars">5</a></li>
			</ul>';
			
			if($showVotesSmall){
				$text .= '</td><td><div class="rated_text">(<span id="showvotessmall_'.$id.'" class="votesClass">'.getVotesSmall($id).'</span>)</div></td></tr></table>';
			}
			
			return $text.'<div id="loading_'.$id.'"></div>';
	
	}
}

// Added in version 1.5
// Fixed sort in version 1.7
function getTopRated($limit, $table, $idfield, $namefield){
	
	$result = '';
	
	$sql = "SELECT COUNT(rating.id) as rates,rating.rating_id,".$table.".".$namefield." as thenamefield,ROUND(AVG(rating.rating_num),2) as rating 
			FROM rating,".$table." WHERE ".$table.".".$idfield." = rating.rating_id GROUP BY rating_id 
			ORDER BY rates DESC,rating DESC LIMIT ".$limit."";
			
	$sel = mysql_query($sql);
	
	$result .= '<ul class="topRatedList">'."\n";
	
	while($data = @mysql_fetch_assoc($sel)){
		$result .= '<li>'.$data['thenamefield'].' ('.$data['rating'].')</li>'."\n";
	}
	
	$result .= '</ul>'."\n";
	
	return $result;
	
}
?>