	/***********************************************
	* Switch Content script II- © Dynamic Drive (www.dynamicdrive.com)
	* This notice must stay intact for legal use. Last updated April 2nd, 2005.
	* Visit http://www.dynamicdrive.com/ for full source code
	***********************************************/

	var enablepersist="on" //Enable saving state of content structure using session cookies? (on/off)
	var memoryduration="7" //persistence in # of days

	var contractsymbol='images/bullets/white_arrow_down.gif' //Path to image to represent contract state.
	var expandsymbol='images/bullets/white_arrow_up.gif' //Path to image to represent expand state.

	/////No need to edit beyond here //////////////////////////

	function getElementbyClass(rootobj, classname){
	var temparray=new Array()
	var inc=0
	var rootlength=rootobj.length
	for (i=0; i<rootlength; i++){
	if (rootobj[i].className==classname)
	temparray[inc++]=rootobj[i]
	}
	return temparray
	}

	function sweeptoggle(ec){
	var inc=0
	while (ccollect[inc]){
	ccollect[inc].style.display=(ec=="contract")? "none" : ""
	inc++
	}
	revivestatus()
	}


	function expandcontent(curobj, cid){
	if (ccollect.length>0){
	document.getElementById(cid).style.display=(document.getElementById(cid).style.display!="none")? "none" : ""
	curobj.src=(document.getElementById(cid).style.display=="none")? expandsymbol : contractsymbol
	}
	}

	function revivecontent(){
	selectedItem=getselectedItem()
	selectedComponents=selectedItem.split("|")
	for (i=0; i<selectedComponents.length-1; i++)
	document.getElementById(selectedComponents[i]).style.display="none"
	}

	function revivestatus(){
	var inc=0
	while (statecollect[inc]){
	if (ccollect[inc].style.display=="none")
	statecollect[inc].src=expandsymbol
	else
	statecollect[inc].src=contractsymbol
	inc++
	}
	}

	function get_cookie(Name) { 
	var search = Name + "="
	var returnvalue = "";
	if (document.cookie.length > 0) {
	offset = document.cookie.indexOf(search)
	if (offset != -1) { 
	offset += search.length
	end = document.cookie.indexOf(";", offset);
	if (end == -1) end = document.cookie.length;
	returnvalue=unescape(document.cookie.substring(offset, end))
	}
	}
	return returnvalue;
	}

	function getselectedItem(){
	if (get_cookie(window.location.pathname) != ""){
	selectedItem=get_cookie(window.location.pathname)
	return selectedItem
	}
	else
	return ""
	}

	function saveswitchstate(){
	var inc=0, selectedItem=""
	while (ccollect[inc]){
	if (ccollect[inc].style.display=="none")
	selectedItem+=ccollect[inc].id+"|"
	inc++
	}
	if (get_cookie(window.location.pathname)!=selectedItem){ //only update cookie if current states differ from cookie's
	var expireDate = new Date()
	expireDate.setDate(expireDate.getDate()+parseInt(memoryduration))
	document.cookie = window.location.pathname+"="+selectedItem+";path=/;expires=" + expireDate.toGMTString()
	}
	}

	function do_onload(){
	uniqueidn=window.location.pathname+"firsttimeload"
	var alltags=document.all? document.all : document.getElementsByTagName("*")
	ccollect=getElementbyClass(alltags, "switchcontent")
	statecollect=getElementbyClass(alltags, "showstate")
	if (enablepersist=="on" && get_cookie(window.location.pathname)!="" && ccollect.length>0)
	revivecontent()
	if (ccollect.length>0 && statecollect.length>0)
	revivestatus()
	}

	if (window.addEventListener)
	window.addEventListener("load", do_onload, false)
	else if (window.attachEvent)
	window.attachEvent("onload", do_onload)
	else if (document.getElementById)
	window.onload=do_onload

	if (enablepersist=="on" && document.getElementById)
	window.onunload=saveswitchstate


    // Functions for selecting all checkboxes in folder_contents/search_form view
function selectAll(id, formName) {
    // Get the elements. if formName is provided, get the elements inside the form
    if (formName==null) {
        checkboxes = document.getElementsByName(id)
        for (i = 0; i < checkboxes.length; i++){
            checkboxes[i].checked = true ;
            }
    } else {
        for (i=0; i<document.forms[formName].elements.length;i++){
            if (document.forms[formName].elements[i].name==id){
                document.forms[formName].elements[i].checked=true; 
                }
            }
        }
    }
function deselectAll(id, formName) {
    if (formName==null) {
        checkboxes = document.getElementsByName(id)
        for (i = 0; i < checkboxes.length; i++){
            checkboxes[i].checked = false ;}
    } else {
        for (i=0; i<document.forms[formName].elements.length;i++){
            if (document.forms[formName].elements[i].name==id){
                document.forms[formName].elements[i].checked=false;
                }
            }
        }
    }
function toggleSelect(selectbutton, id, initialState, formName) {
    /* required selectbutton: you can pass any object that will function as a toggle
     * optional id: id of the the group of checkboxes that needs to be toggled (default=ids:list
     * optional initialState: initial state of the group. (default=false)
     * e.g. folder_contents is false, search_form=true because the item boxes
     * are checked initially.
     * optional formName: name of the form in which the boxes reside, use this if there are more
     * forms on the page with boxes with the same name
     */
    id=id || 'ids:list'  // defaults to ids:list, this is the most common usage

    if (selectbutton.isSelected==null){
        initialState=initialState || false;
        selectbutton.isSelected=initialState;
        }
    /* create and use a property on the button itself so you don't have to 
     * use a global variable and we can have as much groups on a page as we like.
     */
    if (selectbutton.isSelected == false) {
        selectbutton.setAttribute('src', portal_url + '/select_none_icon.gif');
        selectbutton.isSelected=true;
        return selectAll(id, formName);
    } else {
        selectbutton.setAttribute('src',portal_url + '/select_all_icon.gif');
        selectbutton.isSelected=false;
        return deselectAll(id, formName);
        }
    } 
