// Launch the save dialog of a session bookmark
function saveSessionBookmark()
{   
	var params = "bookmarkType=4";
	var url="SaveSessionBookmarkDialog.do?" + params;
	window.showModalDialog(url, null, 'dialogWidth:400px;dialogHeight:250px;help:no;resizable:no;scroll:no;status:no');
}

// Launch the save dialog of a bookmark
function saveBookmark(title, entityId, sBookmarkType)
{ 
	var params = "bookmarkEntityId=" + encodeURIComponent(entityId) + "&bookmarkType=" + encodeURIComponent(sBookmarkType);
	if (title != "") {
	    var encoded_title = encodeURIComponent(title);
		params += "&bookmarkTitle=" + encodeURIComponent(encoded_title);//make double encoding for support non ascii characters - decode once on the other side
		}
		
	var url="SaveBookmarkDialog.do?" + params;
	window.open(url, null, 'width=400,height=250,top=200,left=300');
}

// Launch the edit dialog of a bookmark
function editBookmark(bookmarkId, bookmarkTitle, sBookmarkType)
{   
	if (bookmarkId == "") return;
	bookmarkTitle=encodeURIComponent(encodeURIComponent(bookmarkTitle));//make double encoding for support non ascii characters - decode once on the other side
	var params = "bookmarkId=" + encodeURIComponent(bookmarkId) + "&bookmarkTitle=" + bookmarkTitle + "&bookmarkType=" + encodeURIComponent(sBookmarkType);
	var url = "EditBookmarkDialog.do?" + params;
	var rv = window.showModalDialog(url, null, 'dialogWidth:400px;dialogHeight:250px;help:no;resizable:no;scroll:no;status:no');
	if (rv != "CANCEL")
		document.location.replace(rv);
}

// Launch the delete page of a bookmark
function deleteBookmark(bookmarkId, sBookmarkType)
{	
	if (bookmarkId == "") return;

	var params = "bookmarkId=" + escape(bookmarkId) + "&bookmarkType=" + escape(sBookmarkType);
	var url = "DeleteBookmarkDialog.do?" + params;
	if (sBookmarkType == "6") // BookmarkBean.TYPE_DOCUMENT_HISTORY
		url += "&bookmarkComponentName=DocumentHistory";
	else if (sBookmarkType == "7") // BookmarkBean.TYPE_SEARCH_QUERY_HISTORY
		url += "&bookmarkComponentName=SearchQueryHistory";

	var rv = window.showModalDialog(url, null, 'dialogWidth:400px;dialogHeight:250px;help:no;resizable:no;scroll:no;status:no');
	if (rv != "CANCEL")
		document.location.replace(rv);
}


// calls the right open action of a bookmark
function openBookmark(bookmarkId, sBookmarkType, changeFilter)
{
	if (bookmarkId == "") return;

	var	locString = "";
	var params = "bookmarkId=" + escape(bookmarkId);
	params += "&changeFilter=" + changeFilter;
	if (sBookmarkType == "1") // BookmarkBean.TYPE_DOCUMENT
		locString="GetDocumentBookmark.do?" + params;
	else if (sBookmarkType == "6") // BookmarkBean.TYPE_DOCUMENT_HISTORY
		locString="GetDocumentBookmark.do?" + params + "&bookmarkComponentName=DocumentHistory";
	else if (sBookmarkType == "3") // BookmarkBean.TYPE_SEARCH_QUERY
		locString="GetSearchQueryBookmark.do?" + params;
	else if (sBookmarkType == "7") // BookmarkBean.TYPE_SEARCH_QUERY_HISTORY
		locString="GetSearchQueryBookmark.do?" + params + "&bookmarkComponentName=SearchQueryHistory";
	else if (sBookmarkType == "4") // BookmarkBean.TYPE_SESSION
		locString="GetSessionBookmark.do?" + params;

	window.close();
	if (!window.opener.closed && locString != "")
	{
		window.opener.location.replace(locString);
		window.opener.focus();
	}
}

// Show the bookmark list
function showBookmarkList()
{
	var url  = "GetBookmarkList.do";
	window.open(url, 'BookmarkList', 'height=350,width=650,help=no,resizable=no,scroll=no,status=no');
}

// Show the history list
function showHistoryList()
{
	var url  = "GetHistoryList.do";
	window.open(url, 'HistoryList', 'height=350,width=650,help=no,resizable=no,scroll=no,status=no');
}
