/** /jacascript/cc/ck/ckRoot.js -- (c) 2007 by Zelestra all rights reserved, version 2010-04-11
  *
  ****************************  additional code added by Rick **************************************
  * line 725 --- pvtSearchListItem() added by [rt] 2010-03-04 for the Clips TAB's browse by topic links
  * line 732 --- pvtFindListItem() added by [rt] 2010-04-09 for the Find TAB's browse by topic links
  * line 740 --- pvtClearAll() added by [rt] 2010-03-04 for "clear search"
  *
  *
  * more "setPopUpLink()" added by [rt] 2010-02-21 for STEMstories helpLinks
  * - about_quickLink
  * - policies_quickLink
  * - FAQ_quickLink
  * - helpLinkBtn
 */

// Global Functions

function getItemCategory(item) {
	return getItemMeta(item,"itemCategory");
}

function getItemFlags(item) {
	return getItemMeta(item,"itemFlags");
}

function getItemId(item) {
	return getItemMeta(item,"itemId");
}

function getItemMeta(item,name) {
	if (item == null)
		return "";
	var elems = $($(item).getElementsByClassName("itemMeta")[0]).getElementsByClassName(name);
	if (elems.length == 0)
		return "";
	return elems[0].innerHTML;
}

function getItemUri(item) {
	return getItemMeta(item,"itemUri");
}

function initContentHeader() {
	preloadImage("/themes/" + sessionContext.theme + "/cc/ck/searchAllDisabled.gif");
	preloadImage("/themes/" + sessionContext.theme + "/cc/ck/searchDisabled.gif");
	var keywords = $("keywords");
	if (keywords && ($(keywords).getAttribute("type") == "text")) {
   		setTextFocusById("keywords");
   		Event.observe(keywords,"keydown",pvtDetectEnterKey);
   		Event.observe(keywords,"keyup",pvtSrcAdjustCheckBoxes);
	}
    setSimpleLink($("searchButton"),pvtSearch);
    setSimpleLink($("searchAllButton"),pvtSearchAll);

	setPopUpLink($("createClipButton"),600,350);
	setPopUpLink($("createActivityButton"),600,620);
	setPopUpLink($("createSetButton"),600,350);
	setPopUpLink($("createAgentButton"),600,350);
	setPopUpLink($("createGroupButton"),600,350);
	setPopUpLink($("helpLink"),600,700,"help");
	setPopUpLink($("helpButton"),600,700,"help");
    setPopUpLink($("aboutLink"),600,700);
	setPopUpLink($("policyLink"),600,700);
	setPopUpLink($("termsLink"),600,700);
	setPopUpLink($("FAQLink"),600,700);

	setPopUpLink($("about_quickLink"),600,700);
	setPopUpLink($("policies_quickLink"),600,700);
	setPopUpLink($("FAQ_quickLink"),600,700);
	setPopUpLink($("helpLinkBtn"),600,700,"help");

	setWindowLink($("ccLink"));

    setListener($("publishedRadio"),"click",pvtSrcAdjustCheckBoxes);
    setListener($("unpublishedRadio"),"click",pvtSrcAdjustCheckBoxes);
    setListener($("includeActivities"),"click",pvtSrcAdjustCheckBoxes);
    setListener($("includeSets"),"click",pvtSrcAdjustCheckBoxes);
    setListener($("includeAgents"),"click",pvtSrcAdjustCheckBoxes);
    setListener($("includeGroups"),"click",pvtSrcAdjustCheckBoxes);
    setListener($("includeClips"),"click",pvtSrcAdjustCheckBoxes);
    setListener($("includeImage"),"click",pvtSrcAdjustClipCheckBoxes);
    setListener($("includeVideo"),"click",pvtSrcAdjustClipCheckBoxes);
    setListener($("includeSound"),"click",pvtSrcAdjustClipCheckBoxes);
    setListener($("includeText"),"click",pvtSrcAdjustClipCheckBoxes);
    setListener($("includeInteractive"),"click",pvtSrcAdjustClipCheckBoxes);
    setListener($("includeWeb"),"click",pvtSrcAdjustClipCheckBoxes);
    setListener($("includeEBook"),"click",pvtSrcAdjustClipCheckBoxes);
    setListener($("includePowerpoint"),"click",pvtSrcAdjustClipCheckBoxes);

	pvtSrcAdjustCheckBoxes();
}

function initDst() {
	var anchor = $("dstItemListName");
	if (!anchor) {
		anchor = $("wzHelpLink");
		if (anchor)
			setPopUpLink(anchor,600,700,"help");
		return;
	}
	trimInnerHTML($(anchor).getElementsByTagName("span")[0],148);
	setPopUpLink(anchor,600,600,"info","/cc/ck/clipInfo/clipInfo.do?uri=" + encodeURIComponent(param.dstSelection));
	anchor.href="data:,info";
	anchor.style.visibility="visible";
	anchor = $("dstDeleteIcon");
	setSimpleLink(anchor,pvtDstDelete);
	setLinkEnabled(anchor,true);
	anchor = $("dstEditIcon");
	if (param.dstCategory == "clipSet")
		setPopUpLink(anchor,600,350,"","/cc/ck/build/updateSet.do?uri=" + param.dstSelection);
	else if (param.dstCategory == "group")
		setPopUpLink(anchor,600,350,"","/cc/ck/build/updateGroup.do?uri=" + param.dstSelection);
	else
		setPopUpLink(anchor,600,620,"","/cc/ck/build/updateActivity.do?uri=" + param.dstSelection);
	setLinkEnabled(anchor,true);
	anchor = $("dstViewIcon");
	setPresenterLink(anchor,true,"data:," + param.dstSelection);
	setLinkEnabled(anchor,true);
	anchor = $("dstDoneButton");
	setSimpleLink(anchor,"done.do");
	if ((param.dstSelection != "") &&
		(param.dstSelection != "none"))
		setLinkEnabled(anchor,true);
	anchor = $("dstItemListThumbnail");
	setPresenterLink(anchor,true,"data:," + param.dstSelection);
	anchor.href="data:,view";
	setSimpleLink($("dstDeleteButton"),pvtDstDeleteChecked);
	setSimpleLink($("dstEditButton"),pvtDstEditChecked);
	setSimpleLink($("dstViewButton"),pvtDstViewChecked);
	setSimpleLink($("dstRemoveButton"),pvtDstRemoveChecked);
	var clips = 0;
	var activities = 0;
	var sets = 0;
	var agents = 0;
	var itemList = $("dstItemList");
	var items = itemList.getElementsByClassName("item");
	for(var i = 0; i < items.length; ++i) {
		var item = $(items[i]);
		item.pvtAdjustButtons = pvtDstAdjustButtons.bindAsEventListener(item);
		Event.observe(item,"click",item.pvtAdjustButtons);
		if (Prototype.Browser.IE)
			Event.observe(item,"dblclick",item.pvtAdjustButtons);
		item.onselectstart = function() {return false;};
		item.onmousedown = function() {return false;};
		item.onclick = function() {return false;};
		item.ondblclick = function() {return false;};
		var itemIcon = item.down();
		var itemIconLink = itemIcon.down();
		itemIconLink.href="data:,view";
		itemIconLink.title="view";
		itemIconLink.style.cursor = "pointer";
		itemIcon.down().style.cursor = "pointer";
		var itemText = itemIcon.next().down();
		itemText.href="data:,info";
		itemText.title="info";
		itemText.style.cursor = "pointer";
	}
	pvtDstAdjustButtons();
}

function initSrc() {
	var srcItemListName = $("srcItemListName");
	if (srcItemListName) {
		if ((param.srcSelection != "") &&
			(param.srcSelection != "published") &&
			(param.srcSelection != "unpublished")) {
			var anchor = $("srcItemListIcon");
			setPresenterLink(anchor,param.srcIsEditable,"data:," + param.srcSelection);
			anchor.href="data:,view";
			trimInnerHTML($(srcItemListName).getElementsByTagName("span")[0],328);
			setPopUpLink(srcItemListName,600,600,"info","/cc/ck/clipInfo/clipInfo.do?uri=" + encodeURIComponent(param.srcSelection));
			setLinkEnabled(srcItemListName,true);
			srcItemListName.title="info";
			srcItemListName.href="data:,info";
			srcItemListName.style.visibility="visible";
			anchor = $("srcDeleteIcon");
			setSimpleLink(anchor,pvtSrcDelete);
			setLinkEnabled(anchor,param.srcIsEditable);
			anchor = $("srcEditIcon");
			if (param.srcCategory == "clipSet")
				setPopUpLink(anchor,600,350,"","/cc/ck/build/updateSet.do?uri=" + param.srcSelection);
			else if (param.srcCategory == "group")
				setPopUpLink(anchor,600,350,"","/cc/ck/build/updateGroup.do?uri=" + param.srcSelection);
			else
				setPopUpLink(anchor,600,600,"","/cc/ck/build/updateActivity.do?uri=" + param.srcSelection);
			setLinkEnabled(anchor,param.srcIsEditable);
			anchor = $("srcViewIcon");
			setPresenterLink(anchor,param.srcIsEditable,"data:," + param.srcSelection);
			setLinkEnabled(anchor,true);
			anchor = $("srcCloseIcon");
			setSimpleLink($("srcCloseIcon"),"close.do");
			setLinkEnabled(anchor,true);
		} else {
			setLinkEnabled(srcItemListName,false);
			srcItemListName.style.visibility="visible";
		}
	}
	setSimpleLink($("srcDeleteButton"),pvtSrcDeleteChecked);
	setSimpleLink($("srcEditButton"),pvtSrcEditChecked);
	setSimpleLink($("srcViewButton"),pvtSrcViewChecked);
	setSimpleLink($("srcOpenButton"),pvtSrcOpenChecked);
	setSimpleLink($("srcWorkOnButton"),pvtSrcWorkOnChecked);
	setSimpleLink($("srcAddButton"),pvtSrcAddChecked);
	var isPublished = (param.srcSelection == "published");
	var itemList = $("srcItemList");
	var items = itemList.getElementsByClassName("item");
	for(var i = 0; i < items.length; ++i) {
		var item = items[i];
		item.pvtAdjustButtons = pvtSrcAdjustButtons.bindAsEventListener(item);
		Event.observe(item,"click",item.pvtAdjustButtons);
		if (Prototype.Browser.IE)
			Event.observe(item,"dblclick",item.pvtAdjustButtons);
		item.onselectstart = function() {return false;};
		item.onmousedown = function() {return false;};
		item.onclick = function() {return false;};
		item.ondblclick = function() {return false;};
		var itemThumbnail = item.down();
		var itemThumbnailLink = itemThumbnail.down();
		itemThumbnailLink.href="data:,view";
		itemThumbnailLink.title="view";
		itemThumbnailLink.style.cursor = "pointer";
		var itemText = itemThumbnail.next().down();
		itemText.href="data:,info";
		itemText.title="info";
		itemText.style.cursor = "pointer";
	}
	pvtSrcAdjustButtons();
}

function isActivity(category) {
	if (category == "album") return true;
	if (category == "match") return true;
	if (category == "organize") return true;
	if (category == "sort") return true;
	return false;
}

function isAgent(category) {
	if (category == "agent") return true;
	return false;
}

function isClip(category) {
	if (category == "ebook") return true;
	if (category == "flash") return true;
	if (category == "flashClip") return true;
	if (category == "flashVideo") return true;
	if (category == "image") return true;
	if (category == "powerpoint") return true;
	if (category == "quicktime") return true;
	if (category == "sound") return true;
	if (category == "text") return true;
	if (category == "web") return true;
	return false;
}

function isClipChecked() {
	var checkBox = $("includeImage");
	if (checkBox && checkBox.checked)
		return true;
	checkBox = $("includeVideo");
	if (checkBox && checkBox.checked)
		return true;
	checkBox = $("includeSound");
	if (checkBox && checkBox.checked)
		return true;
	checkBox = $("includeText");
	if (checkBox && checkBox.checked)
		return true;
	checkBox = $("includeInteractive");
	if (checkBox && checkBox.checked)
		return true;
	checkBox = $("includeWeb");
	if (checkBox && checkBox.checked)
		return true;
	checkBox = $("includeEBook");
	if (checkBox && checkBox.checked)
		return true;
	checkBox = $("includePowerpoint");
	if (checkBox && checkBox.checked)
		return true;
	return false;
}

function isGroup(category) {
	if (category == "group") return true;
	return false;
}

function isLimit() {
	var keywords = $("keywords");
	if (keywords && ($(keywords).getAttribute("type") == "text") && (keywords.value.length > 0))
		return true;
	return isLimitChecked();
}

function isLimitChecked() {
	var checkBox = $("includeActivities");
	if (checkBox && checkBox.checked)
		return true;
	var checkBox = $("includeSets");
	if (checkBox && checkBox.checked)
		return true;
	var checkBox = $("includeAgents");
	if (checkBox && checkBox.checked)
		return true;
	var checkBox = $("includeGroups");
	if (checkBox && checkBox.checked)
		return true;
	var checkBox = $("includeClips");
	if (checkBox && checkBox.checked)
		return true;
	return isClipChecked();
}

function isSet(category) {
	if (category == "clipSet") return true;
	return false;
}

function setAllClipCheckBoxes(checked) {
	var checkBox = $("includeImage");
	if (checkBox)
		checkBox.checked = checked;
	checkBox = $("includeVideo");
	if (checkBox)
		checkBox.checked = checked;
	checkBox = $("includeSound");
	if (checkBox)
		checkBox.checked = checked;
	checkBox = $("includeText");
	if (checkBox)
		checkBox.checked = checked;
	checkBox = $("includeInteractive");
	if (checkBox)
		checkBox.checked = checked;
	checkBox = $("includeWeb");
	if (checkBox)
		checkBox.checked = checked;
	checkBox = $("includeEBook");
	if (checkBox)
		checkBox.checked = checked;
	checkBox = $("includePowerpoint");
	if (checkBox)
		checkBox.checked = checked;
}

function setAllLimitCheckBoxes(checked) {
	var checkBox = $("includeActivities");
	if (checkBox)
		checkBox.checked = checked;
	checkBox = $("includeSets");
	if (checkBox)
		checkBox.checked = checked;
	checkBox = $("includeAgents");
	if (checkBox)
		checkBox.checked = checked;
	checkBox = $("includeGroups");
	if (checkBox)
		checkBox.checked = checked;
	checkBox = $("includeClips");
	if (checkBox)
		checkBox.checked = checked;
	setAllClipCheckBoxes(false);
}

function setAsLoading(loading) {
	setSearchButtonsEnabled(!loading);
	if (loading) {
		$("searchReady").style.display = "none";
		$("searchLoading").style.display = "block";
	} else {
		$("searchLoading").style.display = "none";
		$("searchReady").style.display = "block";
	}
}

function setDataLink(anchor) {
    setPopUpLink(anchor,600,600,"data");
}

function setInfoLink(anchor) {
    if (anchor == null)
        return;
    anchor = $(anchor);
    var uri = anchor.href;
	if (uri.indexOf("data:,") != 0) {
		setPopUpLink(anchor,600,600,"info",uri);
		anchor = "data:,info";
		return;
	}
	uri = uri.substring(6);
	i = uri.indexOf('#');
	var o = 1;
	if (i == -1) { // kludge for Safari
		i = uri.indexOf('%23');
		o = 3;
	}
	if (i > -1) {
		var itemId = uri.substring(i + o);
		uri = uri.substring(0,i);
	}
	if (itemId)
		uri = "/cc/ck/clipInfo/clipInfo.do?parent=" + encodeURIComponent(uri) + "&itemId=" + encodeURIComponent(itemId);
	else
		uri = "/cc/ck/clipInfo/clipInfo.do?uri=" + encodeURIComponent(uri);
   setPopUpLink(anchor,600,600,"info",uri);
   anchor.href = "data:,info";
}

function setMetaLink(anchor) {
    setPopUpLink(anchor,600,600,"meta");
}

function setSearchButtonsEnabled(enabled) {
	var searchBtn = $("searchButton");
	var searchAllBtn = $("searchAllButton");
	if (enabled) {
		if (searchBtn) {
			searchBtn.removeClassName("disabled");
			searchBtn.style.cursor = "pointer";
		}
		if (searchAllBtn) {
			searchAllBtn.removeClassName("disabled");
			searchAllBtn.style.cursor = "pointer";
		}
		return;
	}
	if (searchBtn) {
		searchBtn.addClassName("disabled");
		searchBtn.style.cursor = "default";
	}
	if (searchAllBtn) {
		searchAllBtn.addClassName("disabled");
		searchAllBtn.style.cursor = "default";
	}
}

// Private Functions

function pvtAddItems(selection,items) {
	var items = $(items).getElementsByClassName("item");
	count = items.length;
	var itemParams = "";
	for(var i = 0; i < items.length; ++i) {
		var item = $(items[i]);
		if (item.hasClassName("itemSelected"))
			itemParams = itemParams + "&itemId=" + encodeURIComponent(getItemId(item));
	}
	if (itemParams == "")
		return count;
	var ajax = new Ajax.Request("/services/2001/ClipList/deleteItem?clipList=" + encodeURIComponent(selection) + itemParams, { asynchronous:false } );
	if (ajax.transport.status != 200) {
		alert("unable to remove your selected item due to a communications problem.\nPlease reload the page and try again.");
		return count;
	}
	for(var i = 0; i < items.length; ++i) {
		var item = $(items[i]);
		if (item.hasClassName("itemSelected")) {
			Event.stopObserving(item,"click",item.pvtAdjustButtons);
			if (Prototype.Browser.IE)
				Event.stopObserving(item,"dblclick",item.pvtAdjustButtons);
			item.remove();
			--count;
		}
	}
	return count;
}

function pvtDeleteChecked(items) {
	for(var i = 0; i < items.length; ++i) {
		if ($(items[i]).hasClassName("itemSelected")) {
			var uri = getItemUri(items[i])
			var category = getItemCategory(items[i]);
			if (isClip(category)) {
				if (!confirm("Are you sure you want to delete this clip link?"))
					return false;
			} else if (isSet(category)) {
				if (!confirm("Are you sure you want to delete this set?"))
					return false;
			} else if (isActivity(category)) {
				if (!confirm("Are you sure you want to delete this activity?"))
					return false;
			} else if (isGroup(category)) {
				if (!confirm("Are you sure you want to delete this student group?"))
					return false;
			} else if (isAgent(category)) {
				if (!confirm("Are you sure you want to delete this student?"))
					return false;
			}
			window.location.href = "delete.do?uri=" + uri;
			break;
		}
	}
	return false;
}

function pvtDetectEnterKey(event) {
	if ((event.which && event.which == 13) ||
		(event.keyCode && event.keyCode == 13)) {
		Event.stop(event);
		if (!$("searchButton").hasClassName("disabled"))
			pvtSearch();
		return false;
	}
	return true;
}

function pvtDstAdjustButtons(event) {

	// test if links clicked while item is selected
	if (event && $(this).hasClassName("itemSelected")) {
		var elem = Event.element(event);
		if (elem != null) {
			if (!elem.tagName)
				elem = elem.parentNode;
			if (elem.tagName == "SPAN") {
				Event.stop(event);
				var itemId = getItemId(this);
				if (itemId == "") {
					var uri = "/cc/ck/clipInfo/clipInfo.do?uri=" + encodeURIComponent(getItemUri(this));
				} else
					var uri = "/cc/ck/clipInfo/clipInfo.do?parent=" + encodeURIComponent(param.dstSelection) + "&itemId=" + encodeURIComponent(itemId);
				openPopUp(uri,"info_" + uri.hashCode(),600,600);
				return false;
			} else if (elem.tagName == "IMG") {
				Event.stop(event);
				openPresenter(getItemUri(this),(getItemFlags(this).indexOf("E") != -1));
				return false;
			}
		}
	}

	var editable = 0;
	var viewable = 0;
	var items = $("dstItemList").getElementsByClassName("item");
	if (event && (event.ctrlKey || event.metaKey)) {
		for (var i = 0; i < items.length; ++i) {
			var item = items[i];
			if (item == this) {
				document.srcLastSelectedItem = i
				if ($(item).hasClassName("itemSelected")) {
					$(item).removeClassName("itemSelected");
				} else {
					$(item).addClassName("itemSelected");
				}
				break;
			}
		}
	} else if (event && event.shiftKey) {
		for (var i = 0; i < items.length; ++i) {
			var item = items[i];
			if (item == this) {
				if (document.srcLastSelectedItem === undefined) {
					document.srcLastSelectedItem = i;
					$(item).addClassName("itemSelected");
					break;
				}
				if (i <= document.srcLastSelectedItem) {
					var start = i;
					var end = document.srcLastSelectedItem;
				} else {
					var start = document.srcLastSelectedItem;
					var end = i;
				}
				for (var n = 0; n < items.length; ++n) {
					if ((n >= start) && (n <= end))
						$(items[n]).addClassName("itemSelected");
					else
						$(items[n]).removeClassName("itemSelected");
				}
				break;
			}
		}
	} else {
		for (var i = 0; i < items.length; ++i) {
			var item = items[i];
			if (item == this) {
				document.srcLastSelectedItem = i;
				$(item).addClassName("itemSelected");
			} else {
				$(item).removeClassName("itemSelected");
			}
		}
	}
	for (var i = 0; i < items.length; ++i) {
		var item = items[i];
		var itemFlags = getItemFlags(item);
		if ($(item).hasClassName("itemSelected")) {
			++viewable;
			if (itemFlags.indexOf("E") != -1)
				++editable;
		}
	}
	if (viewable == 1)
		setLinkEnabled($("dstViewButton"),true);
	else
		setLinkEnabled($("dstViewButton"),false);
	if (viewable > 0)
		setLinkEnabled($("dstRemoveButton"),true);
	else
		setLinkEnabled($("dstRemoveButton"),false);
	if ((viewable == 1) && (editable == 1)) {
		setLinkEnabled($("dstEditButton"),true);
		setLinkEnabled($("dstDeleteButton"),true);
	} else {
		setLinkEnabled($("dstEditButton"),false);
		setLinkEnabled($("dstDeleteButton"),false);
	}
	if (event)
		Event.stop(event);
	return false;
}

function pvtDstDelete() {
	if (isSet(param.dstCategory)) {
        if (!confirm("Are you sure you want to delete this clip set?"))
            return false;
	} else if (isActivity(param.dstCategory)) {
        if (!confirm("Are you sure you want to delete this activity?"))
            return false;
	} else if (isGroup(param.dstCategory)) {
        if (!confirm("Are you sure you want to delete this student group?"))
            return false;
	} else
		return false;
   	window.location.href = "delete.do?uri=" + param.dstSelection;
	return false;
}

function pvtDstDeleteChecked() {
	return pvtDeleteChecked($("dstItemList").getElementsByClassName("item"));
}

function pvtDstEditChecked() {
	return pvtEditChecked($("dstItemList").getElementsByClassName("item"));
}

function pvtDstRemoveChecked() {
	var items = $("dstItemList").getElementsByClassName("item");
	var form = $("ckForm");
	for(var i = 0; i < items.length; ++i) {
		if ($(items[i]).hasClassName("itemSelected")) {
			var elem = document.createElement("input");
			elem.type = "hidden";
			elem.name = "dstChecked";
			elem.value = getItemId(items[i]);
			form.appendChild(elem);
		}
	}
    form.action = "remove.do";
   	form.submit();
	return false;
}

function pvtDstViewChecked() {
	return pvtViewChecked($("dstItemList").getElementsByClassName("item"));
}

function pvtEditChecked(items) {
	for(var i = 0; i < items.length; ++i) {
		if ($(items[i]).hasClassName("itemSelected")) {
			var uri = getItemUri(items[i])
			var category = getItemCategory(items[i]);
			if (isClip(category))
				openPopUp("/cc/ck/build/updateClip.do?uri=" + uri, "_" + uri.hashCode(), 600, 350);
			else if (isSet(category))
				openPopUp("/cc/ck/build/updateSet.do?uri=" + uri, "_" + uri.hashCode(), 600, 350);
			else if (isActivity(category))
				openPopUp("/cc/ck/build/updateActivity.do?uri=" + uri, "_" + uri.hashCode(), 600, 620);
			else if (isGroup(category))
				openPopUp("/cc/ck/build/updateGroup.do?uri=" + uri, "_" + uri.hashCode(), 600, 350);
			else if (isAgent(category))
				openPopUp("/cc/ck/build/updateAgent.do?uri=" + uri, "_" + uri.hashCode(), 600, 350);
			break;
		}
	}
	return false;
}

function pvtRemoveItems(selection,items) {
	var items = $(items).getElementsByClassName("item");
	count = items.length;
	var itemParams = "";
	for(var i = 0; i < items.length; ++i) {
		var item = $(items[i]);
		if (item.hasClassName("itemSelected"))
			itemParams = itemParams + "&itemId=" + encodeURIComponent(getItemId(item));
	}
	if (itemParams == "")
		return count;
	var ajax = new Ajax.Request("/services/2001/ClipList/deleteItem?clipList=" + encodeURIComponent(selection) + itemParams, { asynchronous:false } );
	if (ajax.transport.status != 200) {
		alert("Unable to remove selected items due to a network problem.\nPlease reload the page an try again");
		return count;
	}
	for(var i = 0; i < items.length; ++i) {
		var item = $(items[i]);
		if (item.hasClassName("itemSelected")) {
			Event.stopObserving(item,"click",item.pvtAdjustButtons);
			if (Prototype.Browser.IE)
				Event.stopObserving(item,"dblclick",item.pvtAdjustButtons);
			item.remove();
			--count;
		}
	}
	return count;
}

function pvtSearch() {
	setAsLoading(true);
	var form = $("ckForm");
	form.action = $("searchButton").href;
   	form.submit();
}

function pvtSearchAll() {
	pvtClearAll();
	setAsLoading(true);
	var form = $("ckForm");
    form.action = $("searchAllButton").href;
   	form.submit();
	return false;
}

function pvtSearchListItem(lstItem) {
	setAsLoading(true);
	window.location.href="/cc/ck/search.do?searchMode=define&group=maxstem&group=stem&selection=published&category=&keywords=" + lstItem;
	pvtClearAll();
	return false;
}


function pvtFindListItem(lstItem) {
	setAsLoading(true);
	window.location.href="/cc/ck/search.do?searchMode=define&selection=published&category=&keywords=" + lstItem;
	pvtClearAll();
	return false;
}


// added by RT to clear out the search boxes and keyword box for the browse.jsp page
function pvtClearAll() {
	$("keywords").value = "";
	setAllLimitCheckBoxes(false);
	pvtSrcAdjustCheckBoxes();
}

function pvtSrcAddChecked() {
	var isPublished = (param.srcSelection == "published");
	var items = $("srcItemList").getElementsByClassName("item");
	var form = $("ckForm");
	for(var i = 0; i < items.length; ++i) {
		if ($(items[i]).hasClassName("itemSelected")) {
			var elem = document.createElement("input");
			elem.type = "hidden";
			elem.name = "srcChecked";
			if (isPublished)
				elem.value = getItemUri(items[i]);
			else
				elem.value = getItemId(items[i]);
			form.appendChild(elem);
		}
	}
    form.action = "add.do";
   	form.submit();
	return false;
}

function pvtSrcAdjustButtons(event) {

	// test if links clicked while item is selected
	if (event && $(this).hasClassName("itemSelected")) {
		var elem = Event.element(event);
		if (elem != null) {
			if (!elem.tagName)
				elem = elem.parentNode;
			if (elem.tagName == "SPAN") {
				Event.stop(event);
				var itemId = getItemId(this);
				if ((itemId == "") ||
					(param.srcSelection == "published") ||
					((param.srcSelection == "unpublished") && !isClip(getItemCategory(this)))) {
					var uri = "/cc/ck/clipInfo/clipInfo.do?uri=" + encodeURIComponent(getItemUri(this));
				} else
					var uri = "/cc/ck/clipInfo/clipInfo.do?parent=" + encodeURIComponent(param.srcSelection) + "&itemId=" + encodeURIComponent(itemId);
				openPopUp(uri,"info_" + uri.hashCode(),600,600);
				return false;
			} else if (elem.tagName == "IMG") {
				Event.stop(event);
				openPresenter(getItemUri(this),(getItemFlags(this).indexOf("E") != -1));
				return false;
			}
		}
	}

	// adjust buttons
	var addable = 0;
	var editable = 0;
	var openable = 0;
	var workonable = 0;
	var viewable = 0;
	var items = $("srcItemList").getElementsByClassName("item");
	if (event && (event.ctrlKey || event.metaKey)) {
		for (var i = 0; i < items.length; ++i) {
			var item = items[i];
			if (item == this) {
				document.srcLastSelectedItem = i
				if ($(item).hasClassName("itemSelected")) {
					$(item).removeClassName("itemSelected");
				} else {
					$(item).addClassName("itemSelected");
				}
				break;
			}
		}
	} else if (event && event.shiftKey) {
		for (var i = 0; i < items.length; ++i) {
			var item = items[i];
			if (item == this) {
				if (document.srcLastSelectedItem === undefined) {
					document.srcLastSelectedItem = i;
					$(item).addClassName("itemSelected");
					break;
				}
				if (i <= document.srcLastSelectedItem) {
					var start = i;
					var end = document.srcLastSelectedItem;
				} else {
					var start = document.srcLastSelectedItem;
					var end = i;
				}
				for (var n = 0; n < items.length; ++n) {
					if ((n >= start) && (n <= end))
						$(items[n]).addClassName("itemSelected");
					else
						$(items[n]).removeClassName("itemSelected");
				}
				break;
			}
		}
	} else {
		for (var i = 0; i < items.length; ++i) {
			var item = items[i];
			if (item == this) {
				document.srcLastSelectedItem = i;
				$(item).addClassName("itemSelected");
			} else {
				$(item).removeClassName("itemSelected");
			}
		}
	}
	var workableItem = null;
	var addableItem = null;
	for (var i = 0; i < items.length; ++i) {
		var item = items[i];
		var itemFlags = getItemFlags(item);
		if ($(item).hasClassName("itemSelected")) {
			++viewable;
			if (itemFlags.indexOf("A") != -1) {
				addableItem = item;
				++addable;
			}
			if (itemFlags.indexOf("E") != -1)
				++editable;
			if (itemFlags.indexOf("O") != -1)
				++openable;
			if (itemFlags.indexOf("W") != -1) {
				workableItem = item;
				++workonable;
			}
		}
	}
	if (viewable == 1)
		setLinkEnabled($("srcViewButton"),true);
	else
		setLinkEnabled($("srcViewButton"),false);
	if ((viewable == 1) && (openable == 1))
		setLinkEnabled($("srcOpenButton"),true);
	else
		setLinkEnabled($("srcOpenButton"),false);
	if ((viewable == 1) && (editable == 1)) {
		setLinkEnabled($("srcEditButton"),true);
		setLinkEnabled($("srcDeleteButton"),true);
	} else {
		setLinkEnabled($("srcEditButton"),false);
		setLinkEnabled($("srcDeleteButton"),false);
	}
	if ((param.dstSelection != param.srcSelection) &&
		((addable > 1) || ((addable == 1) && (getItemUri(addableItem) != param.dstSelection))))
		setLinkEnabled($("srcAddButton"),true);
	else
		setLinkEnabled($("srcAddButton"),false);
	var elem = $("srcWorkOnButton");
	if (elem) {
		if ((viewable == 1) && (workonable == 1)) {
			if (getItemUri(workableItem) == param.dstSelection)
				setLinkEnabled(elem,false);
			else
				setLinkEnabled(elem,true);
		} else
			setLinkEnabled(elem,false);
	}
	if (event)
		Event.stop(event);
	return false;
}

function pvtSrcAdjustCheckBoxes() {
	var elem = $("unpublishedRadio");
	if (elem) {
		var checkBox1 = $("includeGroups");
		var checkBox2 = $("includeActivities");
		if (elem.checked || (elem.type == "hidden")) {
			if (checkBox1)
				checkBox1.up().style.display = "inline";
			if (checkBox2)
				checkBox2.up().style.display = "inline";
		} else {
			if (checkBox1)
				checkBox1.up().style.display = "none";
			if (checkBox2)
				checkBox2.up().style.display = "none";
		}
	}
	var checkBox = $("includeClips");
	if (checkBox && !checkBox.checked)
		setAllClipCheckBoxes(false);
	elem = $("limitTypesCategory");
	if (elem)
		elem.parentNode.removeChild(elem);
	var limitTypes = $("limitTypes");
	if (limitTypes && !isLimitChecked()) {
		elem = document.createElement("input");
		elem.id = "limitTypesCategory";
		elem.name = "category";
		elem.type="hidden"
		elem.value = "";
		limitTypes.appendChild(elem);
	}
}

function pvtSrcAdjustClipCheckBoxes() {
	if (isClipChecked())
		$("includeClips").checked = true;
	pvtSrcAdjustCheckBoxes();
}

function pvtSrcDelete() {
	if (isSet(param.srcCategory)) {
        if (!confirm("Are you sure you want to delete this clip set?"))
            return false;
	} else if (isActivity(param.srcCategory)) {
        if (!confirm("Are you sure you want to delete this activity?"))
            return false;
	} else if (isGroup(param.srcCategory)) {
        if (!confirm("Are you sure you want to delete this student group?"))
            return false;
	} else
		return false;
   	window.location.href = "delete.do?uri=" + param.srcSelection;
	return false;
}

function pvtSrcDeleteChecked() {
	return pvtDeleteChecked($("srcItemList").getElementsByClassName("item"));
}

function pvtSrcEditChecked() {
	return pvtEditChecked($("srcItemList").getElementsByClassName("item"));
}

function pvtSrcOpenChecked() {
	var items = $("srcItemList").getElementsByClassName("item");
	for(var i = 0; i < items.length; ++i) {
		if ($(items[i]).hasClassName("itemSelected")) {
			var uri = getItemUri(items[i]);
			window.location.href="open.do?uri=" + uri;
			break;
		}
	}
	return false;
}

function pvtSrcViewChecked() {
	return pvtViewChecked($("srcItemList").getElementsByClassName("item"));
}

function pvtSrcWorkOnChecked() {
	var items = $("srcItemList").getElementsByClassName("item");
	for(var i = 0; i < items.length; ++i) {
		if ($(items[i]).hasClassName("itemSelected")) {
			var uri = getItemUri(items[i]);
			window.location.href="workOn.do?uri=" + uri;
			break;
		}
	}
	return false;
}

function pvtViewChecked(items) {
	for(var i = 0; i < items.length; ++i) {
		if ($(items[i]).hasClassName("itemSelected")) {
			openPresenter(getItemUri(items[i]),(getItemFlags(items[i]).indexOf("E") != -1));
			break;
		}
	}
	return false;
}