function getElement(id, win)
{
	doc = win ? win.document : document;
	elem = doc.getElementById ? doc.getElementById(id) : doc.all[id];
	if (!elem)
		alert("element " + id + " not found");
	return elem;
}
function getWindowInnerHeight(win)
{
	if (navigator.appName.indexOf("Microsoft") != -1 && navigator.platform.indexOf("Win") != -1)
		return win.document.body.clientHeight;
	else
		return win.innerHeight;
}
function getWindowInnerWidth(win)
{
	if (navigator.appName.indexOf("Microsoft") != -1 && navigator.platform.indexOf("Win") != -1)
		return win.document.body.clientWidth;
	else
		return win.innerWidth;
}
function getSearchParameter(p)
{
	var s = window.document.location.search;
	p = p + "=";
	pa = "&" + p;
	i = s.indexOf(pa);
	if (i != -1)
		s = s.slice(i + pa.length);
	else
	{
		i = s.indexOf(p);
		s = s.slice(i + p.length);
	}
	if (s.indexOf("&") > -1)
		s = s.slice(0, s.indexOf("&"));
	if (s == "")
		alert("Search Parameter " + p + " not found in " + window.document.location.search);
	return s;
}
function quickSearch()
{
	recordView = getSearchParameter("recordView");
	f = getElement("QuickSearchForm");
	f.action = "RecordViewTitle.jsp?recordView=" + recordView;
	f.submit();
	window.parent.RecordViewContent.location = recordView + ".jsp?recordView=" + recordView;
}
function openSearchWindow()
{
	recordView = getSearchParameter("recordView");
	sOpt = "toolbar=no,scrollbars=no,status=no,menubar=no,resizable=no,location=no,dependent=yes,width=100,height=100";

	window.open("SearchFormMore.jsp?recordView=" + recordView, "Search", sOpt);
}
function changeCollection(collectionName)
{
	recordView = getSearchParameter("recordView");
	recordView = collectionName + recordView.slice(recordView.indexOf("_"));
	//	f = getElement("ViewControlForm");
	//	f.action = "RecordViewTitle.jsp?recordView=" + recordView;
	//	f.submit();
	window.parent.RecordViewContent.location = recordView + ".jsp?recordView=" + recordView;
	window.location = "RecordViewTitle.jsp?recordView=" + recordView;
}
function changeView(viewName)
{
	recordView = getSearchParameter("recordView");
	recordView = recordView.slice(0, recordView.indexOf("_") + 1) + viewName;
	f = getElement("ViewControlForm");
	f.action = "RecordViewTitle.jsp?recordView=" + recordView;
	f.submit();
	window.parent.RecordViewContent.location = recordView + ".jsp?recordView=" + recordView;
}
function changeRows(rows)
{
	recordView = getSearchParameter("recordView");
	f = getElement("ViewControlForm");
	f.action = "RecordViewTitle.jsp?recordView=" + recordView + "&rows=" + rows;
	f.submit();
	window.parent.RecordViewContent.location = recordView + ".jsp?recordView=" + recordView + "&rows=" + rows;
}
function changeCols(cols)
{
	recordView = getSearchParameter("recordView");
	f = getElement("ViewControlForm");
	f.action = "RecordViewTitle.jsp?recordView=" + recordView + "&cols=" + cols;
	f.submit();
	window.parent.RecordViewContent.location = recordView + ".jsp?recordView=" + recordView + "&cols=" + cols;
}
function changeImageSize(imageSize)
{
	recordView = getSearchParameter("recordView");
	f = getElement("ViewControlForm");
	f.action = "RecordViewTitle.jsp?recordView=" + recordView + "&imageSize=" + imageSize;
	f.submit();
	window.parent.RecordViewContent.location = recordView + ".jsp?recordView=" + recordView + "&imageSize=" + imageSize;
}
function gotoPage(page)
{
	recordView = getSearchParameter("recordView");
	window.parent.RecordViewContent.location = recordView + ".jsp?recordView=" + recordView + "&page=" + page;
}
function openViewPage(w, viewName, page)
{
	recordView = getSearchParameter("recordView");
	recordView = recordView.slice(0, recordView.indexOf("_") + 1) + viewName;
	w.parent.RecordViewContent.location = recordView + ".jsp?recordView=" + recordView + "&page=" + page;
}
/* got to a specific collection retaining the current view variation */
function gotoCollectionPage(collName, page)
{
	recordView = getSearchParameter("recordView");
	recordView = collName + recordView.slice(recordView.indexOf("_"));

	window.parent.RecordViewContent.location = recordView + ".jsp?recordView=" + recordView + "&page=" + page;
}
function openOriginal(catalogID, recordID, assetName)
{
	recordView = getSearchParameter("recordView");
	sOpt = "toolbar=no,scrollbars=yes,status=no,resizable=yes,menubar=no,location=no,dependent=yes";
	sURL = "AssetServlet/" + assetName + "?recordView=" + recordView + "&catalogID=" + catalogID + "&recordID=" + recordID + "&errorURL=../Error.jsp";
	window.open(sURL, "Preview_" + catalogID + "_" + recordID, sOpt);
}
function addToCollectionBasket(w, catalogID, recordID)
{
	recordView = getSearchParameter("recordView");
	w.parent.invisibleFrame.location = "AddToCollectionBasket.jsp?recordView=" + recordView + "&catalogID=" + catalogID + "&recordID=" + recordID;
	w.parent.RecordViewContent.location = recordView + ".jsp?recordView=" + recordView;
}
function removeFromCollectionBasket(w, catalogID, recordID)
{
	recordView = getSearchParameter("recordView");
	w.parent.invisibleFrame.location = "RemoveFromCollectionBasket.jsp?recordView=" + recordView + "&catalogID=" + catalogID + "&recordID=" + recordID;
}
function emptyCollectionBasket(w)
{
	recordView = getSearchParameter("recordView");
	w.parent.invisibleFrame.location = "EmptyCollectionBasket.jsp?recordView=" + recordView;
}

// Old search function (used by category tree)
function findAllSelectedCategories()
{
	var cats = parent.treeWindowOld.selected;

	var catsFoundToDelete = null;
	var msg = "";
	var query = ""
	var count = 0;
	for (var categoryInfoKey in cats)
	{
		var categoryInfo = cats[categoryInfoKey];
		if (categoryInfo != null)
		{
			count = count + 1;
			var concat = "";
			if (count > 1)
			{
				concat = "&";
			}
			else
			{
				concat = "?";
			}
			var catalogID = categoryInfo[0];
			var categoryID = categoryInfo[1];
			query = query + concat + "catalogID=" + catalogID + "&categoryID=" + categoryID;
		}
	}

	if (count > 0)
	{
		var recordView = parent.RecordViewTitle.recordView;
		//var url="CategorySearchMulti.jsp"+query+"&recordView="+recordView+"&ri="+Math.random(); ## Har ändrat för att få thumbnailView
		var url = "CategorySearchMulti.jsp" + query + "&recordView=SearchResult_ThumbnailView&ri=" + Math.random();

		//alert(url);

		parent.invisibleFrame.location = url;
	}
}

// New search function (used by DropDownList tree)
function findAllSelectedCategoriesNew()
{
	var query = ""
	var count = 0;

	var catalogID = parent.treeWindow.document.getElementById("catalogID").value;

	// Retrieve all dropdownlists
	var ddls = parent.treeWindow.document.formTree.getElementsByTagName("select");

	var i;

	for (i=0; i<ddls.length; i++)
	{
		var ddlvalue = ddls[i].value;

		if (ddlvalue != null)
		{
			// Check if drowdownlist has an category in it's value
			if (ddlvalue.indexOf(":")>=0)
			{
				var concat = "";
				if (count >= 1)
				{
					concat = "&";
				}
				else
				{
					concat = "?";
				}
				var categoryID = ddlvalue.split(":")[1];

				//selectCore(catalogID, categoryID, 'dummy', 4);

				// Add catalog and category for each selected dropdownlist
				query = query + concat + "catalogID=" + catalogID + "&categoryID=" + categoryID;
				count = count + 1;
			}
		}
	}

	var url = "";

	if (count < 1)
	{
		var url = "CategorySearchMulti.jsp?catalogID=" + catalogID + "&categoryID=999999&recordView=SearchResult_ThumbnailView&ri=" + Math.random();
	}
	else
	{
		var url = "CategorySearchMulti.jsp" + query + "&recordView=SearchResult_ThumbnailView&ri=" + Math.random();
	}

	//alert(url);

	// Make the search
	parent.invisibleFrame.location = url;
}

var stateCats;