//-----------------------------------------------------------
// User Tags
//-----------------------------------------------------------
<!--

$(document).ready(function() {

	var gTagNum=0;
	var ilang=getInterfaceLanguage();
	var pageUrl=""+document.location;

	$('#tag_area').css('display','block');

	var isBookPreview=(pageUrl.indexOf("/BookPreview")!=-1);
	var hasTags=$('#has_tags').val()=="true";
	if (isBookPreview && hasTags) {

		hideError();

		$('#user_tags').html("Loading ...");
		var book = $("#tag_book").val();
		var dataString = 'bookid='+book+'&ilang='+ilang;
		$.ajax({
			type: "GET",
			url:  "/icdl/LoadTags",
			cache: false,
			data: dataString,
			success: function(response) {
				var json=JSON.parse(response);
				$('#user_tags').empty();
				for(i=0; i<json.tags.length; i++) {
					addTag(json.tags[i],json.tagids[i],json.userid,ilang);
				}
				if (json.tags.length>0 && json.guest) {
					addGuestMessage(json.guestmsg,ilang);
				}
				addTagEvents();
			},
			error: function() {
				$('#user_tags').empty();
			}
		});
	}

	// add tag to book
	$('#tag_submit_button').click(function() {
		var book = $("#tag_book").val();
		var tag = $("#tag_text").val();
		var ilang = getInterfaceLanguage();

		var encTag = encodeURIComponent(tag);
		var dataString = 'bookid='+book+'&tag='+encTag+'&ilang='+ilang;

		$.ajax({
			type: "GET",
			url:  "/icdl/AddTag",
			cache: false,
			data: dataString,
			success: function(response) {
				var json=JSON.parse(response);
				if (json.error.length==0) {
					hideError();
					showTags(tag,json.tagid,json.userid,json.guest,json.guestmsg);
					$('#has_tags').val('true');
				}
				else {
					showError(json.error);
				}
			},
			error: function() {
				showError('Action failed.  Please try again later.');
			}
		});
		return false;
	});

	$('#tag_text').bind('keypress', function(e) {
		if (e.keyCode==13) {
			$('#tag_submit_button').click();
			return false;
		}
	});

	function showTags(tag,tagid,userid,guest,guestmsg) {
		var ilang = getInterfaceLanguage();
		$('#tag_text').val('');
		if (guest) removeGuestMessage();
		addTag(tag,tagid,userid,ilang);
		if (guest) addGuestMessage(guestmsg,ilang);
		if ($('.tag').size() == 1) {
			$('#user_tags').show("blind",{},500,null);
		}
		addTagEvents();
	}

	function showError(error) {
		var previousErrorShowing = $('#tag_feedback').html().length>0;
		$('#tag_feedback').html(error);
		if (!previousErrorShowing) $('#tag_feedback').show("blind",{},500,null);
		$('#tag_text').focus();
	}

	function hideError() {
		var errorShowing = $('#tag_feedback').html().length>0;
		if (errorShowing) {
			$('#tag_feedback').hide("blind",{},500,null);
			$('#tag_feedback').html('');
		}
	}

	function addTag(tag,tagid,userid,ilang) {
		gTagNum++;
		var encTag = encodeURIComponent(tag);
		var tagUrl = '/icdl/AdvancedSearchCategory?selIds='+tagid+'&viewIds=555&user='+userid+'&ilang='+ilang;
		var tagElem = '<span id="tag'+gTagNum+'" class="tag"><a id="taglink'+gTagNum+'" href="'+tagUrl+'">'+tag+'</a><span id="deletetag'+gTagNum+'" class="deletebtn">&nbsp;X&nbsp;</span></span>';
		$('#user_tags').append(tagElem);		
	}

	function addTagEvents() {	

		$('.tag').hover(function() {
                        var tagID=$(this).attr('id');
                        var tagIndex=tagID.replace('tag','');
			$('#deletetag'+tagIndex).css('visibility','visible');
		},function() {
                        var tagID=$(this).attr('id');
                        var tagIndex=tagID.replace('tag','');
			$('#deletetag'+tagIndex).css('visibility','hidden');
		});

		$('.deletebtn').click(function() {
                        var deleteID=$(this).attr('id');
                        var tagIndex=deleteID.replace('deletetag','');

			var book = $("#tag_book").val();
			var tag=$('#taglink'+tagIndex).html();
			var ilang=getInterfaceLanguage();
			var dataString = 'bookid='+book+'&tag='+tag+'&ilang='+ilang;
			$.ajax({
				type: "GET",
				url:  "/icdl/DeleteTag",
				cache: false,
				data: dataString,
				success: function(response) {
					var json=JSON.parse(response);
					if (json.error.length==0) {
						hideError();
						$('#tag'+tagIndex).remove();
						if ($('.tag').size()==0 && json.guest) {
							removeGuestMessage();
						}
					}
					else {
						showError(json.error);
					}
				},
				error: function() {
					showError('Action failed. Please try again later.');
				}
			});
		});
	}


	function addGuestMessage(msg,ilang) {
		$('#user_tags').append('<span class="guestmsg">'+msg+'</span>');
	}

	function removeGuestMessage() {
		$('.guestmsg').remove();
	}
});

//-->
