$(document).ready(function() {
	
	var GuideBodyWrapper = $("div.guide_body_wrapper");
	var GuideDataMaster = $("div.guide");
	var PrevGuideLink = $("div.guide").next().next().find("a[title='back']"); 
	var NextGuideLink = $("div.guide").next().next().find("a[title='next']");
	
	NextGuideLink.click(
		function(){
			var CommentWrapper = $(".comment_wrapper");
			if (CommentWrapper.is(":visible")) { CommentWrapper.toggle("normal");}
			getNextGuide("guides.getNextGuide");
			return false;
		}
	);
	
	PrevGuideLink.click(
		function(){
			var CommentWrapper = $(".comment_wrapper");
			if (CommentWrapper.is(":visible")) { CommentWrapper.toggle("normal");}
			getNextGuide("guides.getPrevGuide");
			return false;
		}
	);
	
	function getNextGuide(inFuseaction){
	
		var CurrentGuideID = $("div.guide").attr("guide"); 
		var CurrentSortMethod = $("div.guide").attr("sort");
		var CurrentRating = $("div.guide").attr("rating");
		var RatingWrapper = $("ul.ratingList");

		$.post(
			"index.cfm",
			{
				fuseaction: inFuseaction,
				current_guide: CurrentGuideID,
				sort: CurrentSortMethod,
				current_rating: CurrentRating
			},
			function(data){
				if (data.GUIDEKEY != "") {
					GuideBodyWrapper.fadeOut("normal",
						function(){
							$("span#single_guide_author_name").html(data.AUTHORNAME);
							$("ul.single_guide_steps").empty();
							if (data.STEP.ONE != "") {  $("ul.single_guide_steps").append("<li>" + data.STEP.ONE + "</li>"); }
							if (data.STEP.TWO != "") { $("ul.single_guide_steps").append("<li>" + data.STEP.TWO + "</li>"); }
							if (data.STEP.THREE != "") { $("ul.single_guide_steps").append("<li>" + data.STEP.THREE + "</li>"); }
							if (data.STEP.FOUR != "") { $("ul.single_guide_steps").append("<li>" + data.STEP.FOUR + "</li>"); }
							if (data.STEP.FIVE != "") { $("ul.single_guide_steps").append("<li>" + data.STEP.FIVE + "</li>"); }
							
							$("ul.single_guide_icons").empty();
							if (data.ICONPATH.ONE != "") {  $("ul.single_guide_icons").append("<li class='" + data.ICONPATH.ONE + "'></li>"); }
							if (data.ICONPATH.TWO != "") {  $("ul.single_guide_icons").append("<li class='" + data.ICONPATH.TWO + "'></li>"); }
							if (data.ICONPATH.THREE != "") {  $("ul.single_guide_icons").append("<li class='" + data.ICONPATH.THREE + "'></li>"); }
							
							GuideDataMaster.attr("guide",data.GUIDEKEY);
							GuideDataMaster.attr("rating",data.CALCULATEDRATING);
							$("ul.ratingList").attr("postid",data.GUIDEKEY); 
							
							$("ul.ratingList").empty();
							var InitRatingClass = "";
							for (i=5; i >= 1; i--){
								if (data.CALCULATEDRATING >= i) {
									InitRatingClass = "on"; }
								else {
									if ((data.CALCULATEDRATING - i) > 0) {
										InitRatingClass = "half";
									}
									else {
										InitRatingClass = "off";
									}	
								}
								$("ul.ratingList").append("<li class='rating" + i +"' init='" + InitRatingClass + "'><a href='' class='" + InitRatingClass + "' voteval='" + i + "' title='" + i + " Daiquiris'><span>" + i + " Daiquiris</span></a></li>");
							}
							
							var single_guide_daqs = $('div.guide ul.ratingList li');
							var single_guide_daq_links = $('div.guide ul.ratingList li a');
		
							initDaquiris(single_guide_daqs);
							initDaquiriLinks(single_guide_daq_links);
							updateShareData(data);
							
							GuideBodyWrapper.fadeIn("normal");
							if (inFuseaction == "guides.getNextGuide") {
								PrevGuideLink.fadeIn("normal");
							}
							else if (inFuseaction == "guides.getPrevGuide") {
								NextGuideLink.fadeIn("normal");
							}
							
							
						}
					);
				}// end if
				else {
					if (inFuseaction == "guides.getNextGuide") {
						NextGuideLink.fadeOut("normal");
					}
					else if (inFuseaction == "guides.getPrevGuide") {
						PrevGuideLink.fadeOut("normal");
					}
				}
			},
			"json"
		);
		return false;
	}
	
	function updateShareData(inData){
		
		var new_share_title = inData.AUTHORNAME + "'s Relaxation Guide";
		var new_share_url = "http://www.simplerelaxation/index.cfm?fuseaction=guides.main&guide=" + inData.GUIDEKEY;
		$("a[title='share']").attr("shareurl",new_share_url);
		$("a[title='share']").attr("sharetitle",new_share_title);
	}
	
	function initDaquiris(oDaqGroup){
		oDaqGroup.each(function(a){
			$(this).hover(
			
				function(){
					var item_class = $(this).attr('class');
					var item_number = item_class.substr(item_class.length-1,1);
					$(this).find("a").attr('class','on');
					
					if (item_number > 1) {
						var previous_element = $(this).next();
						for (i=item_number; i >= 1; i--){
							previous_element.find('a').attr('class','on');
							previous_element = previous_element.next();
						}	
					}	
				},//end mouseover
				
				function(){
					var item_class = $(this).attr('class');
					var item_init_state = $(this).attr('init');
					var item_number = item_class.substr(item_class.length-1,1);
					$(this).find('a').attr('class',item_init_state);
					
					var previous_element = $(this).next();
					
					if (item_number > 1) {
						for (i=item_number; i >= 1; i--){
							previous_element.find('a').attr('class',previous_element.attr('init'));
							previous_element = previous_element.next();
						}	
					}
				}// end mouseout
				
			)//end hover	
		});//end all daquiris selector
	}

	
	function initDaquiriLinks(oDaqGroup){
		oDaqGroup.each(function(b){
			var post_id = $(this).parent().parent().attr('postid');
			var post_only_links = $(this).parent().parent().find('a');
			var post_only_li = $(this).parent().parent().find('li');
			var item_type = $(this).parent().parent().parent().parent().parent().parent().attr("class");
			var rating_fuseaction = "";
			
			if (item_type == "post"){
				rating_fuseaction = "ajaxratings.ratePost";
			}
			else if (item_type == "guide") {
				rating_fuseaction = "ajaxratings.rateGuide";
			}
			
			$(this).click(
			
				function(){
					
					// get what the vote was
					var user_vote = $(this).attr('voteval');

					// send to ajax
					$.get("index.cfm", { fuseaction: rating_fuseaction, postid: post_id, vote: user_vote },
						function(data){
							var new_rating = jQuery.trim(data);
							post_only_links.each(function(e){
								var rating_item_diff = ($(this).attr('voteval') - new_rating);
								if (new_rating > $(this).attr('voteval')) {
									$(this).attr('class','on');
								}
								else if ((rating_item_diff > 0) && (rating_item_diff < 1)) {
									$(this).attr('class','half');
								}
								else {
									$(this).attr('class','off');
								}
							});
						}
					);
				
					// remove hover actions
					post_only_li.each(function(c){
						$(this).unbind('mouseenter');
						$(this).unbind('mouseleave');
					});
					
					// remove click actions
					post_only_links.each(function(d){
						$(this).unbind('click');
						$(this).bind('click', killLink);
						$(this).css('cursor','default');
					});
					
					// disable clickthrough
					return false;
				}
			)
		}); // all_daquiri_links
	}
	
	function killLink(){return false;}
	
});