// set local variables:
var pageCurrent = 1;
var pagePrev	= 0;
var pageNext	= 2;
var pageTotal   = $("input[name=PageTotal]").val();


// on template load:
$(document).ready(function() {
	
	// on review add button click, display modal contents:
	$("input#ReviewAdd").live("click", function() {
		$("div.reviewAdd").modal({
			containerCss: {
				modal: true,
				width: 550,
				height: 250
			}
		});
	});
	
	
	// highlight star icon on mouseenter:
	$("img.starChoose").live("mouseenter", function() {
		var starID = $(this).attr("id").replace(/Star_/, "");
		
		for (var i = 1; i <= starID; i = i + 1) {
 			$("img#Star_" + i).attr("src", "/images_sites/elisailana/new/starOn.png");
 		}
	});
	
	
	// un-highlight star icon on mouseleave:
	$("img.starChoose").live("mouseleave", function() {
		var starID	   = $(this).attr("id").replace(/Star_/, "");
		var starRating = $("input[name=StarRating]").val();
		
		if (starRating < starID) {
			$("img.starChoose").attr("src", "/images_sites/elisailana/new/starOff.png");
			
			for (var i = 1; i <= starRating; i = i + 1) {
				$("img#Star_" + i).attr("src", "/images_sites/elisailana/new/starOn.png");
			}
		}
	});
	
	
	// star rating:
	$("img.starChoose").live("click", function() {
		var starID = $(this).attr("id").replace(/Star_/, "");
		
		$("input[name=StarRating]").val(starID);
		$("img.starChoose").attr("src", "/images_sites/elisailana/new/starOff.png");
		
		for (var i = 1; i <= starID; i = i + 1) {
			$("img#Star_" + i).attr("src", "/images_sites/elisailana/new/starOn.png");
		}
	});
	
	
	// on review submit button click:
	$("input#ReviewSubmit").live("click", function() {
		var productID  = $("input[name=ProductID]").val();
		var userID	   = $("input[name=UserID]").val();
		var starRating = $("input[name=StarRating]").val();
		var comments   = $("textarea[name=Comments]").val();
		
		if (!starRating.length || starRating < 1 || starRating > 5) {
			$("div.message").html("Please select a rating for this product.");
			return false;
		}
		
		if (!comments.length) {
			$("div.message").html("Please enter comments for this review.");
			return false;
		}
		
		$.ajax({
			type: "POST",
			url: "/com/ei/productComment/ProductCommentGateway.cfc?method=create",
			data: "text=" + escape(comments) + "&productID=" + productID + "&user_id=" + userID + "&rating=" + starRating,
			cache: false,
			success: function(commentID) {
				$("input[name=StarRating]").val("0");
				$("textarea[name=Comments]").val("");
				
				$("a.modalCloseImg.simplemodal-close").click();
				
				getData();
			}
		});
	});
	
	
	// if "View All" or "View More" button clicked, view all reviews:
	$("input#ReviewAll, input#ReviewMore").click(function() {
		var totalReviews = $("div.bottom div.count").text();
		totalReviews = totalReviews.replace(/(1\-[0-9]{1,10} of | Reviews)/gi, "");
		totalReviews = $.trim(totalReviews);
		
		$("input#ReviewAll, input#ReviewMore").fadeOut(200);
		$("div.bottom div.count").text("1-" + totalReviews + " of " + totalReviews + " Reviews");
		$("div.remainingReviews").slideToggle();
	});
	
	
	// on page number click:
	$("a.Page").live("click", function() {
		pageCurrent = $(this).attr("id").replace(/Page_/, "");
		getData();
	});
	
	
	// on prev page click:
	$("a.PagePrev").live("click", function() {
		if (pageCurrent > 1) {
			pageCurrent = pageCurrent - 1;
			getData();
		}
	});
	
	
	// on page next click:
	$("a.PageNext").live("click", function() {
		if (pageCurrent < pageTotal) {
			pageCurrent = pageCurrent + 1;
			getData();
		}
	});
	
});


// get product reviews:
function getData() {
	var productID = $("input[name=ProductID]").val();
	var userID	  = $("input[name=UserID]").val();
	
	var data_string = "/ajax/index.cfm" +
					  "?section=products" +
					  "&func=getProductReviews" +
					  "&productID=" + productID +
					  "&userID=" + userID +
					  "&page=" + pageCurrent +
					  "&rand=" + new Date().getTime();
	
	$.get(data_string, function(xml) {
		$("div#ProductReviews").html($(xml).find("data_div").text());
	});
}

