﻿if(typeof parkside == "undefined") var parkside = new Object();
if(typeof parkside.rating == "undefined") parkside.rating = new Object();

// Constructor
parkside.rating = function() {
}

parkside.rating.rating_value = 0;

parkside.rating.setRating = function (value) {
	if(value < 0 & value > 5)
		value = 0;

	var rating_width = 0;
	if(parkside.rating.rating_value != value)
		rating_width = value * 19;
	parkside.rating.rating_value = value;

	document.getElementById('current_rating').style.width = rating_width + "px";
	document.getElementById('current_rating').style.display = "block";
	//document.getElementById('rating_field').value = value;

	if(parkside.rating.rating_value != 0)
	{
		var rating = new parkside.rating();
		
		var params = new Object();
		params.rating_value = value;
		params.user_id = document.getElementById('star-rating-value-user_id').innerHTML;
		params.id = document.getElementById('star-rating-value-id').innerHTML;
		params.type = document.getElementById('star-rating-value-type').innerHTML;
		
		rating.request(params);	
		
		//var star_rating_value = document.getElementById('star-rating-value-hidden').innerHTML;
		//document.getElementById('star-rating-value').innerHTML = value + " " + star_rating_value;
	}
	else
	{
		document.getElementById('star-rating-value').innerHTML = "";
	}
}

parkside.rating.hoverRating = function(value)
{
	var xvalue = value;
	if(value < 0 & value > 5)
		value = 0;

	var rating_width = 0;
	if(parkside.rating.rating_value != value)
		rating_width = value * 19;
	else value = 0;
	parkside.rating.rating_value = value;

	document.getElementById('current_rating').style.width = rating_width + "px";
	document.getElementById('current_rating').style.display = "block";
	//document.getElementById('rating_field').value = value;


	var star_rating_value = document.getElementById('star-rating-value-hidden').innerHTML;
	document.getElementById('star-rating-value').innerHTML = xvalue + " " + star_rating_value;
}

parkside.rating.resetRating = function (value)
{
	document.getElementById('current_rating').style.width = (value * 19) + "px";
	document.getElementById('current_rating').style.display = "block";
	//document.getElementById('rating_field').value = "";
	document.getElementById('star-rating-value').innerHTML = "";
}


parkside.rating.voteComment = function (target_link, p_blog_comment_id, p_rating) {
	var rating = new parkside.rating();
	
	var params = new Object();
	params.rating_value = p_rating;
	params.id = p_blog_comment_id;
	params.type = "blog_comment";
	
	rating.request(params, target_link.parentNode);
}

/// Class members
parkside.rating.prototype = {
/// Properties
	rating_results: null
	, last_link: null
/// Methods
	, request: function(params, target_link)  {		
		var url = "custom/modules/rating/rating.cfc?method=rateObjectByAjaxCall";
		
		var that = this;
		
		var response_function = function (cfc_result, status) { that.rating_response(cfc_result, status); };
		
		this.last_link = target_link ? target_link : document.getElementById('star-rating');
		
		active_request = true;
		this.last_link.innerHTML = "...";
		
		$.post(url, params, response_function, "json");
	}
	,
	rating_response: function(cfc_result, status) { 	
		if(cfc_result !== "undefined") 
		{
			if(cfc_result.length > 0)
			{
				this.last_link.innerHTML = cfc_result[1];
			}
		}	
	}
}

