﻿// JScript File
var bAppClicked = false;

function expandcontent(cid){
    var isOpen;
    
    if(bAppClicked!=true){
        document.getElementById(cid+"_Apps").className = (document.getElementById(cid+"_Apps").className!="showAppDiv")? "showAppDiv" : "hideAppDiv";
        document.getElementById(cid+"_Folder").className = (document.getElementById(cid+"_Folder").className!="folderopen")? "folderopen" : "folderclosed"; 
    }
    isOpen = (document.getElementById(cid+"_Folder").className=="folderopen");
    //If the folder is being opened, add it to the list of folders that are already open, 
    //otherwise remove it from the list
    if(isOpen){
        addFolderToArray(cid+"_Folder");
    }
    else{
        if(bAppClicked!=true){
            removeFolderFromArray(cid+"_Folder");
        }
    }
    bAppClicked = false;
    return false;
}

function keepexpanded(cid){
    document.getElementById(cid+"_Apps").style.display="block";
    document.getElementById(cid+"_Folder").className="folderopen"; 
    return false;
}

function getElementbyClass(classname){
    var ccollect=new Array()
    var inc=0
    var alltags=document.getElementsByTagName("div")
    for (i=0; i<alltags.length; i++){
    if (alltags[i].className==classname)
    ccollect[inc++]=alltags[i].id+"|"
    }
    return ccollect;
}

function saveswitchstate(){
    var openFolders=getElementbyClass("showAppDiv");
    //var txtBox=document.getElementById("ctl00_ContentPlaceHolder1_txtOpenFolders")
    //$get('ctl00_ContentPlaceHolder1_txtOpenFolders').value=openFolders;
    bAppClicked = true;
}

//Add open folder to list of folders that are already open
//save the updated list in a hidden textbox
function addFolderToArray(folder) {
    var txtBox=document.getElementById("ctl00_ContentPlaceHolder1_txtOpenFolders");
    var sOpenFolders = txtBox.value;
    var fArray = [];
    var retStr;
    
    if(sOpenFolders){
        if(sOpenFolders.indexOf(",") > -1) {
            fArray = sOpenFolders.split(",");
            fArray.push(folder);
            }
        else{
            fArray[0] = sOpenFolders;
            fArray[1] = folder;
        }
    }
    else{ 
        fArray[0] = folder;
    }
    retStr = fArray.toString();
    //alert(retStr);
    //retStr = retStr.replace(",","|");
    txtBox.value = retStr;
}

//Remove closed folder from list of open folders
//save the updated list in a hidden textbox
function removeFolderFromArray(folder) {
    var txtBox=document.getElementById("ctl00_ContentPlaceHolder1_txtOpenFolders");
    var sOpenFolders = txtBox.value;
    var fArray = [];
    var newArray = [];
    var arrPos;
    var retStr;
    
    if(sOpenFolders){
        if(sOpenFolders.indexOf(",") > -1) {
            fArray = sOpenFolders.split(",");
            arrPos = fArray.indexOf(folder);
            newArray = fArray.splice(arrPos,1);
            retStr = fArray.toString();
            //retStr = retStr.replace(",","|");
            txtBox.value = retStr;
            }
        else{
            txtBox.value = '';
        }
    }
}


//This prototype is provided by the Mozilla foundation and
//is distributed under the MIT license.
//http://www.ibiblio.org/pub/Linux/LICENSES/mit.license
if (!Array.prototype.indexOf)
{
  Array.prototype.indexOf = function(elt /*, from*/)
    {    
    var len = this.length;    
    var from = Number(arguments[1]) || 0;    
    from = (from < 0)    
         ? Math.ceil(from)         
         : Math.floor(from);    
         if (from < 0)      
             from += len;    
             for (; from < len; from++)    
             {      
                if (from in this && this[from] === elt)
                    return from;    
                }    
             return -1;
    };
}


