$(document).ready(function() {

        $("#write_review_btn").click(function() {
                $("#write_review_form").submit();
        });

	$("#review_title").keyup(function() {
                if($("#review_title").val().length>0)
			$("#review_title_msg").html("");
		else
			$("#review_title_msg").html("<img src='/images/common/n_ng.gif' /> please specify the title.");
        });

        $("#review_body").keyup(function() {
                if($("#review_body").val().length>0)
                        $("#review_body_msg").html("");
                else
                        $("#review_body_msg").html("<img src='/images/common/n_ng.gif' /> please specify the content.");
        });

	$("#review_save").click(function() {
		//alert($("#selected_artist").val());
		//alert($("#selected_album").val());
		if($("#rating_value").val().length==0 || $("#rating_value").val()<1)
		{
			$("#review_rating_msg").html("<img src='/images/common/n_ng.gif' /> please specify the rating.");
			return false;
		} else if($("#review_title").val().length==0)
		{
			$("#review_title").focus();
			$("#review_title_msg").html("<img src='/images/common/n_ng.gif' /> please specify the title.");
			return false;
		} else if($("#review_body").val().replace(/^\s+|\s+$/g,"").length<1)
		{
			$("#review_body").focus();
			$("#review_body_msg").html("<img src='/images/common/n_ng.gif' /> please specify the content.");
			return false;
/*
		} else if(!$("#review_body").val().replace(/^\s+|\s+$/g,"").match(/(.*\s){4,}/))
		{
			$("#review_body").focus();
			$("#review_form_msg").html("<img src='/images/common/n_ng.gif' /> your review should be at least 5 words long.");
			return false;
*/
		} else
		{
			$("#review_rating_msg").html("");
			return true;
		}
	});

        $("#discussion_save").click(function() {
                //alert($("#selected_artist").val());
                //alert($("#selected_album").val());
                if($("#review_title").val().length==0)
                {
                        $("#review_title").focus();
                        $("#review_title_msg").html("<img src='/images/common/n_ng.gif' /> please specify the topic.");
                        return false;
                } else if($("#review_body").val().replace(/^\s+|\s+$/g,"").length<1)
                {
                        $("#review_body").focus();
			$("#review_body_msg").html("<img src='/images/common/n_ng.gif' /> please specify the content.");
                        //$("#review_form_msg").html("<img src='/images/common/n_ng.gif' /> your comment should be at least 30 character long.");
                        return false;
                } else
                {
                        return true;
                }
        });

	if($("#preset_song").length>0 && $("#preset_song").val()!="")
	{
		$.ajax({
			type: "POST",
			url: "/discover/new-review/ajax/song/",
			data: {
				song_id: $("#preset_song").val(),
				request_type: "search_song"
			},
			beforeSend: function(){
				$("#review_type_track").attr("checked",	'checked');
			},
			success: function(xml){
				$("#form_song_result").html(xml);
				if(!$("#selected_song").val())
				{
					$("#form_review").hide();
				} else
				{
					$("#form_type").slideDown("slow");
					print_review_label($("#preset_song").val(), "song");
					$("#form_review:hidden").slideDown('slow');
				}
			}
		});

	} else if($("#preset_album").length>0 && $("#preset_album").val()!="")
	{
		$.ajax({
			type: "POST",
			url: "/discover/new-review/ajax/album/",
			data: {
				album_id: $("#preset_album").val(),
				request_type: "search_album"
			},
			beforeSend: function(){
				//$("#form_album_result").html('<img src="/images/common/loading.gif" /> Loading');
				$("#review_type_album").attr("checked", 'checked');
			},
			success: function(xml){
				$("#form_album_result").html(xml);
				if(!$("#selected_album").val())
				{
					$("#form_review").hide();
				} else
				{
					$("#form_type").slideDown("slow");
					print_review_label($("#preset_album").val(), "album");
					$("#form_review:hidden").slideDown('slow');
				}
			}
		});

	} else if($("#preset_artist").length>0 && $("#preset_artist").val()!="")
	{
		$.ajax({
			type: "POST",
			url: "/discover/new-review/ajax/artist/",
			data: {
				artist_id: $("#preset_artist").val(),
				request_type: "search_artist"
			},
			beforeSend: function(){
				$("#artist_search_msg").html('<img src="/images/common/loading.gif" /> Loading');
				$("#form_review:visible").hide();
				$("#form_song:visible").hide();
				$("#form_album:visible").hide();
				$("input[@name^='review_type']").attr("checked", '');
				$("#review_type_artist").attr("checked", 'checked');
			},
			success: function(xml){
				$("#artist_search_msg").html('&nbsp;');
				$("#form_artist_result").html(xml).slideDown("slow");
				$("#form_type").slideDown("slow");
				print_review_label($("#preset_artist").val(), "artist");
				$("#form_review").slideDown("slow");
			}
		});		
	}

	$("#artist_search_btn").click(function() {
		var artist_name = $("#artist_search_name").val();
		if(artist_name!="")
		{
			$.ajax({
				type: "POST",
				url: "/discover/new-review/ajax/artist/",
				data: {
					artist_name: $("#artist_search_name").val(),
					request_type: "search_artist"
				},
				beforeSend: function(){
					$("#artist_search_msg").html('<img src="/images/common/loading.gif" /> Loading');
					$("#form_review:visible").hide();
					$("#form_song:visible").hide();
					$("#form_song_result").html('');
					$("#form_album:visible").hide();
					$("#form_album_result").html('');
					$("#form_artist_result").html('');
					$("input[@name^='review_type']").attr("checked", '');
					$("#review_type_artist").attr("checked", 'checked');
				},
				success: function(xml){
					$("#artist_search_msg").html('&nbsp;');
					$("#form_artist_result").html(xml).slideDown("slow");
					$("#form_type").slideDown("slow");
					print_review_label($("#selected_artist").val(), "artist");
					$("#form_review").slideDown("slow");
					if($("#artist_search_action").length>0) $("#artist_search_action").show();
				}
			});

		} else
		{
			$("#artist_search_msg").html("please specify the artist name");
		}
		return false;
	});

	$("input[@name^='review_type']").click(function() {
		var type = $(this).val();

		if(type=="artist")
		{
			$("#form_album").hide();
			$("#form_album_result").html('');
			$("#selected_album").val('');
			$("#form_song").hide();
			$("#form_song_result").html('');
			print_review_label($("#selected_artist").val(), "artist");
			$("#form_review").slideDown('slow');
		} else if(type=="album")
		{
			//if(!$("#selected_song").val())
			//{
			//	$("#form_song").hide();
			//	$("#form_song_result").html('');
			//} else
			//{

				$.ajax({
					type: "POST",
					url: "/discover/new-review/ajax/album/",
					data: {
						artist_id: $("#selected_artist").val(),
						request_type: "search_album"
					},
					beforeSend: function(){
						$("#form_song").hide();
						$("#form_album").slideDown("slow");
						$("#form_album_result").html('<img src="/images/common/loading.gif" /> Loading');
					},
					success: function(xml){
						$("#form_album_result").html(xml);
						if(!$("#selected_album").val())
						{
							$("#form_review").hide();
						} else
						{
							print_review_label($("#selected_album").val(), "album");
						}
					}
				});		
			//}
		} else if(type=="track")
		{
			if(!$("#selected_album").val())
			{
				var artist_id = $("#selected_artist").val();
				$("#artist_"+artist_id).trigger('click');
			} else
			{
				$.ajax({
					type: "POST",
					url: "/discover/new-review/ajax/song/",
					data: {
						album_id: $("#selected_album").val(),
						request_type: "search_song"
					},
					beforeSend: function(){
						$("#form_song").slideDown("slow");
						$("#form_song_result").html('<img src="/images/common/loading.gif" /> Loading');
					},
					success: function(xml){
						$("#form_song_result").html(xml);
						print_review_label($("#selected_song").val(), "song");
					}
				});
			}
		}
	});

});

function select_artist(artist_obj) {
	var artist_id = $(artist_obj).attr("id").replace("artist_", "");;
	$("div[@id^='artist_']").each(function() {
        	$(this).removeClass("on");
        });
        $(artist_obj).addClass("on");
        $("#selected_artist").val(artist_id);
        var search_type = $("input[@name='review_type']:checked").val();

        if(search_type=="album")
	{
		$.ajax({
			type: "POST",
			url: "/discover/new-review/ajax/album/",
			data: {
				artist_id: $("#selected_artist").val(),
				request_type: "search_album"
			},
			beforeSend: function(){
				$("#form_album_result").html('<img src="/images/common/loading.gif" /> Loading');
			},
			success: function(xml){
				$("#form_album_result").html(xml);
				if(!$("#selected_album").val())
				{
					$("#form_review").hide();
				} else
				{
					print_review_label($("#selected_album").val(), "album");
					$("#form_review:hidden").slideDown('slow');
				}
			}
		});
	} else if(search_type=="track")
        {
                $.ajax({
                        type: "POST",
                        url: "/discover/new-review/ajax/album/",
                        data: {
                                artist_id: $("#selected_artist").val(),
                                request_type: "search_album"
                        },
                        beforeSend: function(){
				$("#form_album:hidden").slideDown('slow');
				$("#form_song_result").html('');
				$("#form_song").hide();
                                $("#form_album_result").html('<img src="/images/common/loading.gif" /> Loading');
                        },
                        success: function(xml){
                                $("#form_album_result").html(xml);
				if($("#selected_album").val())
				{
					$("#form_song").show();
					$("#form_review:hidden").slideDown('slow');
					var album_id = $("#selected_album").val();		
					$("#album_"+album_id).trigger('click');
				} else
				{
					$("#form_review").hide();
				}
                        }
                });
        } else
	{
		print_review_label($("#selected_artist").val(), "artist");
	}
}

function load_artist_page(page_no)
{
	$.ajax({
		type: "POST",
		url: "/discover/new-review/ajax/artist/",
		data: {
			artist_name: $("#artist_search_name").val(),
			page:page_no,
			request_type: "search_artist"
		},
		beforeSend: function(){
			$("#form_artist_result").hide();
			$("#artist_search_msg").html('<img src="/images/common/loading.gif" /> Loading');
		},
		success: function(xml){
			$("#artist_search_msg").html('&nbsp;');
			$("#form_artist_result").html(xml).slideDown("slow");
			if($("#selected_artist").val())
			{
				var artist_id = $("#selected_artist").val();
				$("#artist_"+artist_id).trigger('click');
			}
		}
	});
}

function select_album(album_obj) 
{
	var album_id = $(album_obj).attr("id").replace("album_", "");

	$("div[@id^='album_']").each(function(el) {
		$(this).removeClass("on");
	});
	$(album_obj).addClass("on");
	$("#selected_album").val(album_id);

	var search_type	= $("input[@name='review_type']:checked").val();

	if(search_type=="track")
	{
		$.ajax({
			type: "POST",
			url: "/discover/new-review/ajax/song/",
			data: {
				album_id: album_id,
				request_type: "search_song"
			},
			beforeSend: function(){
				$("#form_song_result").html('<img src="/images/common/loading.gif" /> Loading');
			},
			success: function(xml){
				$("#form_song_result").html(xml);
				print_review_label($("#selected_song").val(), "song");
			}
		});		
	} else
	{
		print_review_label($("#selected_album").val(), "album");
	}
}

function load_album_page(page_no)
{
        $.ajax({
                type: "POST",
                url: "/discover/new-review/ajax/album/",
                data: {
                        artist_id: $("#selected_artist").val(),
                        page:page_no,
                        request_type: "search_album"
                },
                beforeSend: function(){
                        $("#form_album_result").html('<img src="/images/common/loading.gif" /> Loading');
                },
                success: function(xml){
                        $("#form_album_result").html(xml);

                        if($("#selected_album").val())
                        {
                                var artist_id = $("#selected_album").val();
                                $("#album_"+artist_id).trigger('click');
                        }
                }
        });
}

function select_song(song_obj)
{
	var song_id = $(song_obj).attr("id").replace("song_", "");

	$("div[@id^='song_']").each(function(el) {
		$(this).removeClass("on");
	});
	$(song_obj).addClass("on");
	$("#selected_song").val(song_id);
	print_review_label($("#selected_song").val(), "song");

}

function load_song_page(page_no)
{
	$.ajax({
		type: "POST",
		url: "/discover/new-review/ajax/song/",
		data: {
			album_id: $("#selected_album").val(),
			page:page_no,
			request_type: "search_song"
		},
		beforeSend: function(){
			$("#form_song_result").html('<img src="/images/common/loading.gif" /> Loading');
		},
		success: function(xml){
			$("#form_song_result").html(xml);
		}
	});
}

function print_review_label(id, type)
{
	var request_uri = urldecode($("#request_uri").val());
	var uri_fragment = request_uri.split('/');
	var page_type = uri_fragment[1];
        $.ajax({
                type: "POST",
                url: "/discover/new-review/ajax/label/",
                data: {
                        content_id: id,
                        type: type,
			page_type: page_type,
                        request_type: "print_label"
                },
                beforeSend: function(){
                },
                success: function(xml){
                        $("#review_form_label").html(xml);
                }
        });	
}

function show_delete_review_dialog(review_id, artist_id)
{
	$.ajax({
		type: "POST",
		url: "/common/dialog/remove-review/",
		data: {
        	review_id: review_id,
        	artist_id: artist_id,
        	request_type: "load_delete_review_dialog"
		},
		beforeSend: function(){
		},
		success: function(xml){
			if($("#dim_overlay").length<1)
			{
				$(document.body).append("<div id='dim_overlay'></div>");
				$("#dim_overlay").show();
			}
			if($("#dialog_box").length<1)
			{
				$(document.body).append("<div id='dialog_box' style='display:none;'></div>");
			}
			$("#dialog_box").html(xml).show();
		}
	});
}