function thumb(reviewid, direction)
{
	new Json.Remote("/microsite/includes/review_points.cfm?reviewid=" + reviewid + "&direction=" + direction, {
		onComplete: function(obj)
		{
			if(obj.logged_in)
			{
				var span_tag = $("points"+reviewid);
				span_tag.setHTML(obj.points);
				span_tag.setAttribute('class', obj.point_class);
				
				var bad_vote_class = "vote_bad";
				var good_vote_class = "vote_good";
				
				if(obj.user_vote < 0)
				{
					bad_vote_class = "vote_bad user_voted_bad";
				}
				if(obj.user_vote > 0)
				{
					good_vote_class = "vote_good user_voted_good";
				}
				
				$("down"+reviewid).setAttribute('class', bad_vote_class);
				$("up"+reviewid).setAttribute('class', good_vote_class);
			}
			else
			{
				alert("You must be logged in to rate a review.");
			}
		}
	}).send();
}

function showReplyForm(f, show)
{
	$(f).setStyle('display', boolAsDisplay(show, "block"));
	$(f + '_options').setStyle('display', boolAsDisplay(!show, "inline"));
}

function toggleShowReplys(nest_id, link)
{
	var reply_nest = $(nest_id);
	var display = (reply_nest.getStyle('display') == 'none');
	
	if(display)
	{
		$(link).setStyle('background-image', 'url(/icons/toggle-open.gif)');
	}
	else
	{
		$(link).setStyle('background-image', 'url(/icons/toggle-closed.gif)');
	}
	
	reply_nest.setStyle('display', boolAsDisplay(display, "block"));
}

function boolAsDisplay(boolvar, on)
{
	return boolvar ? on : "none";
}

function editReviewForm(listingurl,revid,review,rating)
{
	var rdiv = $('review_' + revid);
	
	var d0 = document.createElement('DIV');
	
	var t0 = document.createElement('TABLE');
		t0.style.width = "100%";
	
	var tr0 = t0.insertRow(0);
	var td0 = tr0.insertCell(0);
		
		var in0 = null;
		var select_rating = null;
		
		if(rating)
		{
			select_rating = new StarRating((rating/5)*100, 5);
			select_rating.inputMode("rating_" + revid);
			select_rating.box.injectInside(td0);
		
			in0 = select_rating.inputField;
			td0.appendChild(in0);
		}
	
	var tr1 = t0.insertRow(1);
	var td1 = tr1.insertCell(0);
	
		ta = document.createElement('TEXTAREA');
		ta.style.width = "100%";
		ta.innerHTML = review;
		ta.className = "maintext";
		
	
	td1.appendChild(ta);
	
	var tr2 = t0.insertRow(2);
	var td2 = tr2.insertCell(0);
	
		//Submit Changes
		var change = document.createElement('A');
		change.className = "linkbutton";
		change.innerHTML = "<span>Submit Changes</span>";
		change.onclick = function()
		{
			if(in0 != null)
			{
				editReview(listingurl,revid, ta.value, in0.value);
			}
			else
			{
				editReview(listingurl,revid, ta.value, null);
			}
			
		};
		
		td2.appendChild(change);
		
		
		//Cancel
		var cancel = document.createElement('A');
		cancel.className = "linkbutton";
		cancel.innerHTML = "<span>Cancel</span>";
		cancel.onclick = function()
		{
			d0.parentNode.replaceChild(rdiv,d0);
		};
		
		td2.appendChild(cancel);
	
	d0.appendChild(t0);
	
	rdiv.parentNode.replaceChild(d0,rdiv);	
}

function editReview(listingurl,reviewid,review,rating)
{
		if(rating != null)
		{
			new Json.Remote("/microsite/includes/edit_review.cfm?reviewid=" + reviewid + "&rating=" + rating + "&review=" + escape(review) + "&listingurl=" + escape(listingurl), {
				evalScripts : true,
				onComplete: function(obj)
				{
					if(obj.Done)
					{
						window.location = refresh_path;
					}
				}
			}).send();
		}
		else
		{
			new Json.Remote("/microsite/includes/edit_review.cfm?reviewid=" + reviewid + "&review=" + escape(review) + "&reply=true" + "&listingurl=" + escape(listingurl), {
				evalScripts : true,
				onComplete: function(obj)
				{
					if(obj.Done)
					{
						window.location = refresh_path;
					}
				}
			}).send();
		}
}

function removeReview(reviewid)
{
	if(confirm('Are you sure you want to remove this review?'))
	{
		new Json.Remote("/microsite/includes/remove_review.cfm?reviewid=" + reviewid,{
			evalScripts : true,
			onComplete: function(obj)
			{
				if(obj.Done)
				{
					$('reviewset_' + reviewid).style.display = 'none';
				}
			}
		}).send();
	}
}

function publishReview(reviewid)
{
	if(confirm('Are you sure you want to publish this review?'))
	{
		new Json.Remote("/microsite/includes/publish_review.cfm?reviewid=" + reviewid,{
			evalScripts : true,
			onComplete: function(obj)
			{
				if(obj.Done)
				{
					if(obj.isPublic)
					{
						$(reviewid + '_isprivate').style.display = "none";
					}
					$('n' + reviewid + '_options').innerHTML = "";
				}
			}
		}).send();
	}
}
