Type.registerNamespace("SchoolsV2.UI");
SchoolsV2.UI.PagingBulletedListBehavior = function(element) {
    /// <summary>
    /// The PagingBulletedListBehavior provides sorting and paging of a bulleted list
    /// </summary>
    /// <param name="element" type="Sys.UI.DomElement" domElement="true">
    /// DOM element the behavior is associated with
    /// </param>
    SchoolsV2.UI.PagingBulletedListBehavior.initializeBase(this, [element]);
    
    
    
    this._indexSizeValue =  1;
    this._separatorValue = ' - ';
    
    //From Server Componant
    this._heightValue = null;
    this._maxItemPerPage = null;
    this._clientSortValue = false;
    this._selectIndexCssClassValue = null;
    this._unselectIndexCssClassValue = null;
    

    
    // Local
    this._tabValue = new (Array)();
    this._tabValueObject =  new (Array)();
    this._tabIndex =  new (Array)();
    this._divContent = null;
    this._divContentIndex = null;
    this._divContentUl = null;
    this._prevIndexSelected = null;
    this._indexSelected = 0;
    
    // Event
    this._clickIndex = null;
    
    // From base behavior class 
    this._clientStateFieldID = null;
    
    
}
SchoolsV2.UI.PagingBulletedListBehavior.prototype = {
    initialize : function() {
        /// <summary>
        /// Initialize the behavior
        /// </summary>
        SchoolsV2.UI.PagingBulletedListBehavior.callBaseMethod(this, 'initialize');
    
        // ClientState
        var clientState = this.get_ClientState();
        if (clientState){
            var stateItems = clientState.split(";");
            if (stateItems.length) {
               this._indexSelected = stateItems[0];
               if (stateItems[1] == "null")
                this._indexSizeValue = null;
               else
                this._indexSizeValue = stateItems[1];
               if (stateItems[2] == "null")
                this._maxItemPerPage = null;
               else
                this._maxItemPerPage = stateItems[2];
               if (stateItems[3] == "true"){
                 this._clientSortValue = true; 
               }else{
                 this._clientSortValue = false;
               }            
            }
        }    
    
        var e = this.get_element();
        //Div Content
        this._divContent = document.createElement('div');
        //insert Div
        e.parentNode.insertBefore(this._divContent, e);

        var liElements = e.childNodes;

        // Create the OnClick Index
        this._clickIndex = Function.createDelegate(this, this._onIndexClick);

        var inner;
        var index;

        this._divContentIndex = document.createElement('DIV');
        this._divContentIndex.className = 'schoolResultABC';
        //this._divContentIndex.style.marginBottom = '5px';
        this._divContent.appendChild(this._divContentIndex);

        //Extract LI elements in _tabValueObject
        for (var i = 0 ; i < liElements.length; i++) {
            if ( _proxy_jslib_handle(liElements, (i), 0, 0).nodeName == 'LI') {
	            if (( _proxy_jslib_handle(liElements, (i), 0, 0).firstChild) && ( _proxy_jslib_handle( _proxy_jslib_handle(liElements, (i), 0, 0).firstChild, 'innerHTML', '', 0, 0))) {
	                inner =  _proxy_jslib_handle( _proxy_jslib_handle(liElements, (i), 0, 0).firstChild, 'innerHTML', '', 0, 0);
	            } else {
	                inner =  _proxy_jslib_handle( _proxy_jslib_handle(liElements, (i), 0, 0), 'innerHTML', '', 0, 0);
	            }
	             _proxy_jslib_assign('', this._tabValueObject, (this._tabValueObject.length), '=', ( {text : inner, obj :  _proxy_jslib_handle(liElements, (i), 0, 0), index : i}));
	         }
        }
        
        //Sort if need
        if(this._clientSortValue) {
            this._tabValueObject.sort(this.liElementSortText);
        }
        
        //Generate Index and dispatch in TabIndex and TabValue
        this._generateIndexAndTabForView();
        
        //Remove LI
        this._removeChilds(e.childNodes);
        //Add DIV for Index
        this._divContentUl = document.createElement('DIV');
        
        //Height of DivContent
        this._changeHeightDivContent();
       
        //Re-insert LI
        this._divContentUl.appendChild(e);
        this._divContent.appendChild(this._divContentUl);
        
        this._updateIndexAndView(this._indexSelected);
    },
    
    get_ClientStateFieldID : function() {
        /// <value type="String">
        /// ID of the hidden field used to store client state
        /// </value>
        return this._clientStateFieldID;
    },
    set_ClientStateFieldID : function(value) {
        if (this._clientStateFieldID !=  _proxy_jslib_handle(null, 'value', value, 0, 0)) {
            this._clientStateFieldID =  _proxy_jslib_handle(null, 'value', value, 0, 0);
        }
    },

    get_ClientState : function() {
        /// <value type="String">
        /// Client state
        /// </value>
        if (this._clientStateFieldID) {
            var input = $get(this._clientStateFieldID);
            if (input) {
                return  _proxy_jslib_handle(input, 'value', '', 0, 0);
            }
        }
        return null;
    },
    set_ClientState : function(value) {
        if (this._clientStateFieldID) {
            var input = $get(this._clientStateFieldID);
            if (input) {
                 _proxy_jslib_assign('', input, 'value', '=', (  _proxy_jslib_handle(null, 'value', value, 0, 0)));
            }
        }
    },
    
    _changeHeightDivContent : function() {
        /// <summary>
        /// Change the height of the list
        /// </summary>

        if (this._heightValue) {
            this._divContentUl.style.overflow = 'scroll';
            this._divContentUl.style.height = (this._heightValue) + 'px';
        } else {
            this._divContentUl.style.overflow = '';
            this._divContentUl.style.height = '';
        }
    },
    
    _createAHrefIndex : function(indexText, indexNumber) {
        /// <summary>
        /// Create an index and display it above the list
        /// </summary>
        /// <param name="indexText" type="String">
        /// Text of the index
        /// </param>
        /// <param name="indexNumber" type="Number" integer="true">
        /// Index
        /// </param>
        /// <returns type="Sys.UI.DomElement" domElement="true">
        /// Seperator element appended after the new index (so it can be removed later if last)
        /// </returns>

        var spanSeparator;
        var aIndex;
        //Create a for Index
        aIndex = document.createElement('a');
         _proxy_jslib_assign('', aIndex, 'href', '=', ( ''));
        //Add _unSelectIndexCssClass by default
        Sys.UI.DomElement.addCssClass(aIndex, this._unselectIndexCssClassValue);
         _proxy_jslib_assign('', aIndex, 'innerHTML', '=', ( indexText));
        aIndex.tag = indexNumber;
        //Attach event
        $addHandler(aIndex, 'click',this._clickIndex);
        
        //Save a Object in _tabIndex
         _proxy_jslib_assign('', this._tabIndex, (this._tabIndex.length), '=', ( aIndex));
        this._divContentIndex.appendChild(aIndex);
        
        //Add SPAN
        spanSeparator = document.createElement('SPAN');
        //Add FEFF carater for not delete the first or last space 
        //spanSeparator.innerHTML = '\uFEFF' + this._separatorValue + '\uFEFF';
        this._divContentIndex.appendChild(spanSeparator);
        
        //Return Separator for remove the last one
        return spanSeparator;
    },
    
    liElementSortText : function(x, y) {
        /// <summary>
        /// Sort function to compare two strings
        /// </summary>
        /// <param name="x" type="Object">
        /// Object (of the form {text, index})
        /// </param>
        /// <param name="y" type="Object">
        /// Object (of the form {text, index})
        /// </param>
        /// <returns type="Number" integer="true">
        /// -1 if the first is less than the second, 0 if they are equal, 1 if the first is greater than the second
        /// </returns>

        //Sort by text
        if (x.text.toLowerCase() == y.text.toLowerCase()) {
            return 0;
        } else {
            if (x.text.toLowerCase() < y.text.toLowerCase()) {
                return -1;
            } else {
                return 1;
            }
        }
     },
     
    liElementSortIndex : function(x, y) {
        /// <summary>
        /// Sort function to compare two indices
        /// </summary>
        /// <param name="x" type="Object">
        /// Object (of the form {text, index})
        /// </param>
        /// <param name="y" type="Object">
        /// Object (of the form {text, index})
        /// </param>
        /// <returns type="Number" integer="true">
        /// -1 if the first is less than the second, 0 if they are equal, 1 if the first is greater than the second
        /// </returns>

        //Sort by index (init order)
        return x.index - y.index;
     },
    
    _generateIndexAndTabForView : function() {
        /// <summary>
        /// Create the indices
        /// </summary>

        this._deleteTabIndexAndTabValue();
        this._tabValue = new (Array)();
        this._tabIndex = new (Array)();
        var lastSpanSeparator;
        
        this._removeChilds(this._divContentIndex.childNodes);
        //Cut array _tabValueObject in _tabValue with 1 dimension per 1 index
        if(this._maxItemPerPage) {
            //if _maxItemPerPage index generation become automatique
            if (this._maxItemPerPage > 0) {
                var j = -1;
                for(var i = 0; i < this._tabValueObject.length; i++) {
                    if((i % this._maxItemPerPage) == 0) {
                        j++;
                        index =  _proxy_jslib_handle(this._tabValueObject, (i), 0, 0).text;
						if(!isNaN(index))
						index = "#";						
                         _proxy_jslib_assign('', this._tabValue, (j), '=', ( new (Array)()));
                        lastSpanSeparator = this._createAHrefIndex(index, j);
                    }
                     _proxy_jslib_assign('',  _proxy_jslib_handle(this._tabValue, (j), 0, 0), ( _proxy_jslib_handle(this._tabValue, (j), 0, 0).length), '=', (  _proxy_jslib_handle(this._tabValueObject, (i), 0, 0).obj));
                }
            }
        } else {
            //if Generate index with _indexSizeValue
            if (this._indexSizeValue > 0) {
                var currentIndex = '';
                var j = -1;
                for(var i = 0; i < this._tabValueObject.length; i++) {
                    index =  _proxy_jslib_handle(this._tabValueObject, (i), 0, 0).text.substr(0, this._indexSizeValue).toUpperCase();
					if(!isNaN(index))
					index = "#";
                    if (currentIndex != index) {
                        j++;
                         _proxy_jslib_assign('', this._tabValue, (j), '=', ( new (Array)()));
                        lastSpanSeparator = this._createAHrefIndex(index, j);
                        currentIndex = index;
                    }
                     _proxy_jslib_assign('',  _proxy_jslib_handle(this._tabValue, (j), 0, 0), ( _proxy_jslib_handle(this._tabValue, (j), 0, 0).length), '=', (  _proxy_jslib_handle(this._tabValueObject, (i), 0, 0).obj));
                }
            }
        }
        
	    //Remove last SpanSeparator
	    if (lastSpanSeparator) {
	        this._divContentIndex.removeChild(lastSpanSeparator);        
	    }
    },
    
    _deleteTabIndexAndTabValue : function() {
        /// <summary>
        /// Delete the indices
        /// </summary>

        //Remove Event
        if (this._clickIndex) {
            for(var i = 0; i < this._tabIndex.length; i++) {
                var aIndex =  _proxy_jslib_handle(this._tabIndex, (i), 0, 0);
                if(aIndex) {
                    $removeHandler(aIndex, 'click', this._clickIndex);
                }
            }
            this._changeHandler = null;
        }
        //Delete _tabIndex
         _proxy_jslib_assign('delete', (this), ('_tabIndex'), '');
        //Delete Dimention two _tabValue[x]
        for(var i = 0; i < this._tabValue.length; i++) {
             _proxy_jslib_assign('delete', (this._tabValue), (i), '');
        }
        //Delete _tabValue
         _proxy_jslib_assign('delete', (this), ('_tabValue'), '');   
    },
    
    dispose : function() {
        /// <summary>
        /// Dispose the behavior
        /// </summary>
        this._deleteTabIndexAndTabValue();
         _proxy_jslib_assign('delete', (this), ('_tabValueObject'), '');
        SchoolsV2.UI.PagingBulletedListBehavior.callBaseMethod(this, 'dispose');
    },

    _removeChilds : function(eChilds) {
        /// <summary>
        /// Remove the children from their parent
        /// </summary>
        /// <param name="eChilds" type="Array" elementType="Sys.UI.DomElement" elementDomElement="true">
        /// Children to remove
        /// </param>
        for(var i = 0; eChilds.length; i++) {
            eChilds[0].parentNode.removeChild(eChilds[0]);
        }
    },
    
    _renderHtml : function(index) {
        /// <summary>
        /// Display the elements for the given index
        /// </summary>
        /// <param name="index" type="Number" integer="true">
        /// Index
        /// </param>

        var e = this.get_element();
        
        this._removeChilds(e.childNodes);
        for(var i = 0; i< _proxy_jslib_handle(this._tabValue, (index), 0, 0).length; i++) {
            e.appendChild( _proxy_jslib_handle( _proxy_jslib_handle(this._tabValue, (index), 0, 0), (i), 0, 0));
        }
        //Position scroll to top
        this._divContentUl.scrollTop = 0;
    },
    
    _selectIndex : function(index) {
        /// <summary>
        /// Select the first index
        /// </summary>

        //Add Style Select to first Index
	    if (this._tabIndex.length > 0) {
	        Sys.UI.DomElement.removeCssClass( _proxy_jslib_handle(this._tabIndex, (index), 0, 0), this._unselectIndexCssClassValue);
            Sys.UI.DomElement.addCssClass( _proxy_jslib_handle(this._tabIndex, (index), 0, 0), this._selectIndexCssClassValue);
            //Save previous Select Index
            this._prevIndexSelected =  _proxy_jslib_handle(this._tabIndex, (index), 0, 0);
            
            //Invoke IndexChange
            this.raiseIndexChanged( _proxy_jslib_handle(this._tabIndex, (index), 0, 0));
        }
    },
    
    _onIndexClick : function(evt) {
        /// <summary>
        /// Handle click events raised when the index is changed
        /// </summary>
        /// <param name="evt" type="Sys.UI.DomEvent">
        /// Event info
        /// </param>

        var e = this.get_element();        
        // Get the control that raised the event
        var aIndex = evt.target;
        
        //Change Style for selected index
        Sys.UI.DomElement.removeCssClass(this._prevIndexSelected, this._selectIndexCssClassValue);
        Sys.UI.DomElement.addCssClass(this._prevIndexSelected, this._unselectIndexCssClassValue);
        Sys.UI.DomElement.removeCssClass(aIndex, this._unselectIndexCssClassValue);
        Sys.UI.DomElement.addCssClass(aIndex, this._selectIndexCssClassValue);
        //Save previous index selected
        this._prevIndexSelected = aIndex;

        //Clear
        this._renderHtml(aIndex.tag);
        
        //Invoke IndexChange
        this.raiseIndexChanged(aIndex);
            
        evt.preventDefault();
    },

    add_indexChanged : function(handler) {
        /// <summary>
        /// Add a handler to the indexChanged event
        /// </summary>
        /// <param name="handler" type="Function">
        /// Handler
        /// </param>
        this.get_events().addHandler('indexChanged', handler);
    },
    remove_indexChanged : function(handler) {
        /// <summary>
        /// Remove a handler from the indexChanged event
        /// </summary>
        /// <param name="handler" type="Function">
        /// Handler
        /// </param>
        this.get_events().removeHandler('indexChanged', handler);
    },
    raiseIndexChanged : function(eventArgs) {
        /// <summary>
        /// Raise the indexChanged event
        /// </summary>
        /// <param name="eventArgs" type="Sys.EventArgs">
        /// Event Arguments
        /// </param>
        
        // Update the selected index        
        this._indexSelected = eventArgs.tag;
        
        var handler = this.get_events().getHandler('indexChanged');
        if (handler) {
            if (!eventArgs) {
                eventArgs = Sys.EventArgs.Empty;
            }
            handler(this, eventArgs);
        }
        this.set_ClientState(eventArgs.tag+";"+this.get_IndexSize()+";"+this.get_MaxItemPerPage()+";"+this.get_ClientSort());
    },
    
    get_tabIndex : function() {
        /// <value type="Array" elementType="Sys.UI.DomElement" elementDomElement="true">
        /// DOM elements of the indices
        /// </value>
        return this._tabIndex;
    },
    
    get_tabValue : function() {
        /// <value type="Array" elementType="Sys.UI.DomElement" elementDomElement="true">
        /// DOM elements of the items to display for each index
        /// </value>
        return this._tabValue;
    },

    _updateIndexAndView : function(index) {
        /// <summary>
        /// Regenerate the tables of indices and display
        /// </summary>

        //Re-Generate TabIndex and TabValue
        this._generateIndexAndTabForView()

  

 if (this._tabIndex.length > 0) {
            if (index < this._tabIndex.length) {
                this._renderHtml( _proxy_jslib_handle(this._tabIndex, (index), 0, 0).tag);
                this._selectIndex(index);
            } else {
                this._renderHtml(this._tabIndex[0].tag);
                this._selectIndex(0);
            }
        }
    },
    
    get_Height : function() {
        /// <value type="Number" integer="true">
        /// Height of the bulleted list
        /// </value>
        return this._heightValue;
    },
    set_Height : function(value) {
        if (this._heightValue !=  _proxy_jslib_handle(null, 'value', value, 0, 0)) {
            this._heightValue =  _proxy_jslib_handle(null, 'value', value, 0, 0);
            if (this.get_isInitialized()) {
                //Change Height in the DOM
                this._changeHeightDivContent();
            }
            this.raisePropertyChanged('Height');
        }
    },
    
    get_IndexSize : function() {
        /// <value type="Number" integer="true">
        /// Number of characters in the index headings (ignored if MaxItemPerPage is set)
        /// </value>
        return this._indexSizeValue;
    },
    set_IndexSize : function(value) {
        if (this._indexSizeValue !=  _proxy_jslib_handle(null, 'value', value, 0, 0)) {
            //Clear ClientState to set 0 index
            this.set_ClientState("0;"+ _proxy_jslib_handle(null, 'value', value, 0, 0)+";"+this.get_MaxItemPerPage()+";"+this.get_ClientSort());

            this._indexSizeValue =  _proxy_jslib_handle(null, 'value', value, 0, 0);
            if (this.get_isInitialized()) {
                //Update TabIndex and TabValue and Select first Index
                this._updateIndexAndView(0);
            }
            this.raisePropertyChanged('IndexSize');
        }
    },
    
    get_MaxItemPerPage : function() {
        /// <value type="Number" integer="true">
        /// Maximum number of items per page (ignores the IndexSize property)
        /// </value>
        return this._maxItemPerPage;
    },
    set_MaxItemPerPage : function(value) {
        if(this._maxItemPerPage !=  _proxy_jslib_handle(null, 'value', value, 0, 0)) {
            //Clear ClientState to set 0 index
            this.set_ClientState("0;"+this.get_IndexSize()+";"+ _proxy_jslib_handle(null, 'value', value, 0, 0)+";"+this.get_ClientSort());


            this._maxItemPerPage =  _proxy_jslib_handle(null, 'value', value, 0, 0);
            if (this.get_isInitialized()) {
                //Update TabIndex and TabValue and Select first Index
                this._updateIndexAndView(0);
            }

            this.raisePropertyChanged('MaxItemPerPage');
        }
    },
    
    get_Separator : function() {
        /// <value type="String">
        /// Separator text to be placed between indices
        /// </value>
        return this._separatorValue;
    },
    set_Separator : function(value) {
        if (this._separatorValue !=  _proxy_jslib_handle(null, 'value', value, 0, 0)) {
            if ( _proxy_jslib_handle(null, 'value', value, 0, 0)) {
                this._separatorValue =  _proxy_jslib_handle(null, 'value', value, 0, 0);
            } else {
                this._separatorValue = '';
            }    
            if (this.get_isInitialized()) {
                //Update TabIndex and TabValue and Select first Index
                this._updateIndexAndView(0);
            }
            this.raisePropertyChanged('Separator');
        }
    },
    
    get_ClientSort : function() {
        /// <value type="Boolean">
        /// Whether or not the items should be sorted client-side
        /// </value>
        return this._clientSortValue;
    },
    set_ClientSort : function(value) {
        if (this._clientSortValue !=  _proxy_jslib_handle(null, 'value', value, 0, 0)) {
            //Clear ClientState to set 0 index
            this.set_ClientState("0;"+this.get_IndexSize()+";"+this.get_MaxItemPerPage()+";"+ _proxy_jslib_handle(null, 'value', value, 0, 0));


            this._clientSortValue =  _proxy_jslib_handle(null, 'value', value, 0, 0);
            if (this.get_isInitialized()) {
                //if _clientSortValue sort Objects else sorton index init
                if (this._clientSortValue)
                    this._tabValueObject.sort(this.liElementSortText);
                else
                    this._tabValueObject.sort(this.liElementSortIndex);
                //Update TabIndex and TabValue and Select first Index
                this._updateIndexAndView(0);
            }    
            this.raisePropertyChanged('ClientSort');
        }
    },
    
    get_SelectIndexCssClass : function() {
        /// <value type="String">
        /// CSS class for the selected index.
        /// </value>
        return this._selectIndexCssClassValue;
    },
    set_SelectIndexCssClass : function(value) {
        if (this._selectIndexCssClassValue !=  _proxy_jslib_handle(null, 'value', value, 0, 0)) {
            this._selectIndexCssClassValue =  _proxy_jslib_handle(null, 'value', value, 0, 0);
            this.raisePropertyChanged('SelectIndexCssClass');
        }
    },
    
    get_UnselectIndexCssClass : function() {
        /// <value type="String">
        /// CSS class for indices that aren't selected
        /// </value>
        return this._unselectIndexCssClassValue;
    },
    set_UnselectIndexCssClass : function(value) {
        if (this._unselectIndexCssClassValue !=  _proxy_jslib_handle(null, 'value', value, 0, 0)) {
            this._unselectIndexCssClassValue =  _proxy_jslib_handle(null, 'value', value, 0, 0);
            this.raisePropertyChanged('UnselectIndexCssClass');
        }
    }
}
SchoolsV2.UI.PagingBulletedListBehavior.registerClass('SchoolsV2.UI.PagingBulletedListBehavior', Sys.UI.Behavior);

function addToQueue(userid,username,imageURL,profileURL,divtagID,selectedCheckboxId,hdnSelectedFriends,divNoFriends,divButtons) {   
    var divelement = $get(divtagID);    
    var divNoFriendsElement = $get(divNoFriends);
    var chkSelected = $get(selectedCheckboxId);
    var hdnSelectedFriendsID = $get(hdnSelectedFriends);    
    var selectedFriendList =  _proxy_jslib_handle(hdnSelectedFriendsID, 'value', '', 0, 0);    
    var array = selectedFriendList.split(":");
    var divButtonsID = $get(divButtons);        
    if(chkSelected.checked == true)        
    {
         if(array.length > 9)
         {
          alert(MySpaceRes.SchoolsPage.MaximumLimitReached);          
          chkSelected.checked = false;
          return;
         }
        if(selectedFriendList.indexOf(userid) > -1)
        {
           alert(MySpaceRes.SchoolsPage.FriendAlreadyAdded);
           return;
        }        
         _proxy_jslib_assign('', divelement, 'innerHTML', '=', (  _proxy_jslib_handle(divelement, 'innerHTML', '', 0, 0) + "<div class='schoolAddTopModule' id='div" + userid + "'><a target='_blank' href='" + profileURL + "'>" +  username +  "</a><br><a target=_blank href='" + profileURL + "'><img src='" + imageURL + "'/></a><br><div class='deleteuserfromlist'><a href=" + "javascript:deletefromQueue('" + divtagID + "','" + userid + "','" + selectedCheckboxId + "','" + hdnSelectedFriends + "','" + divNoFriends + "','" + divButtons + "');></a></div></div>"));                
        divelement.style.display = 'block';
        divNoFriendsElement.style.display = 'none'; 
        divButtonsID.style.display = 'block';
        if( _proxy_jslib_handle(hdnSelectedFriendsID, 'value', '', 0, 0) != "")
             _proxy_jslib_assign('', hdnSelectedFriendsID, 'value', '=', (  _proxy_jslib_handle(hdnSelectedFriendsID, 'value', '', 0, 0) + ":" + userid));
        else
             _proxy_jslib_assign('', hdnSelectedFriendsID, 'value', '=', ( userid));                  
    }
    else
    {     
     var deleteQueueItem = $get('div' + userid);
     if(deleteQueueItem)
        deleteQueueItem.parentNode.removeChild(deleteQueueItem);   
     if( _proxy_jslib_handle(hdnSelectedFriendsID, 'value', '', 0, 0).indexOf(":" + userid) > 0)
     {
       if( _proxy_jslib_handle(hdnSelectedFriendsID, 'value', '', 0, 0).indexOf(":" + userid) > 0)
         _proxy_jslib_assign('', hdnSelectedFriendsID, 'value', '=', (  _proxy_jslib_handle( _proxy_jslib_handle(hdnSelectedFriendsID, 'value', '', 0, 0), 'replace', '', 1, 0)(':' + userid,'')));
       else
        _proxy_jslib_assign('', hdnSelectedFriendsID, 'value', '=', (  _proxy_jslib_handle( _proxy_jslib_handle(hdnSelectedFriendsID, 'value', '', 0, 0), 'replace', '', 1, 0)(userid + ":",'')));     
     }
     else     
       _proxy_jslib_assign('', hdnSelectedFriendsID, 'value', '=', (  _proxy_jslib_handle( _proxy_jslib_handle(hdnSelectedFriendsID, 'value', '', 0, 0), 'replace', '', 1, 0)(userid,'')));           
       if( _proxy_jslib_handle(hdnSelectedFriendsID, 'value', '', 0, 0) == '')
     {
        divelement.style.display = 'none';
        divNoFriendsElement.style.display = 'block';        
        divButtonsID.style.display = 'none';
      }       
    }    
}

function deletefromQueue(parentdiv,userid,selectedCheckboxId,hdnSelectedFriends,divNoFriends,divButtons) {          
     var parentdivID = $get(parentdiv);
     var divNoFriendsElement = $get(divNoFriends);
     var divButtonsID = $get(divButtons);
     var deleteQueueItem = $get('div' + userid); 
       var chkSelected = $get(selectedCheckboxId);
       var hdnSelectedFriendsID = $get(hdnSelectedFriends);
       if(deleteQueueItem)
        deleteQueueItem.parentNode.removeChild(deleteQueueItem);
     if(chkSelected)
        chkSelected.checked = false;       
     if( _proxy_jslib_handle(hdnSelectedFriendsID, 'value', '', 0, 0).indexOf(":" + userid) > 0)
         _proxy_jslib_assign('', hdnSelectedFriendsID, 'value', '=', (  _proxy_jslib_handle( _proxy_jslib_handle(hdnSelectedFriendsID, 'value', '', 0, 0), 'replace', '', 1, 0)(':' + userid,'')));
       else if( _proxy_jslib_handle(hdnSelectedFriendsID, 'value', '', 0, 0).indexOf(userid + ":") > 0)
         _proxy_jslib_assign('', hdnSelectedFriendsID, 'value', '=', (  _proxy_jslib_handle( _proxy_jslib_handle(hdnSelectedFriendsID, 'value', '', 0, 0), 'replace', '', 1, 0)(userid + ":",'')));          
       else if( _proxy_jslib_handle(hdnSelectedFriendsID, 'value', '', 0, 0).indexOf(userid) > 0)
         _proxy_jslib_assign('', hdnSelectedFriendsID, 'value', '=', (  _proxy_jslib_handle( _proxy_jslib_handle(hdnSelectedFriendsID, 'value', '', 0, 0), 'replace', '', 1, 0)(userid,'')));            
     if( _proxy_jslib_handle(hdnSelectedFriendsID, 'value', '', 0, 0) == '')
     {
        parentdivID.style.display = 'none';
        divNoFriendsElement.style.display = 'block';  
        divButtonsID.style.display = 'none';      
      }             
}

function clearQueue(divQueueTag,divButtons,divNoFriendsQueue,hdnSelectedFriends) {
var divQueueID = $get(divQueueTag);
var divButtonsID = $get(divButtons);
var divNoFriendsQueueID = $get(divNoFriendsQueue);
var hdnSelectedFriendsID = $get(hdnSelectedFriends);
var array =  _proxy_jslib_handle(hdnSelectedFriendsID, 'value', '', 0, 0).split(":");
var answer = confirm(MySpaceRes.SchoolsPage.CancelSelections);
if(answer)
{
        if ( divQueueID.hasChildNodes() )
        {            
            while ( divQueueID.childNodes.length >= 1 )
            {               
              divQueueID.removeChild( divQueueID.firstChild);       
            } 
            for ( var i=0, len=array.length; i<len; (i= _proxy_jslib_assign_rval('++', 'i', '', '', i)) )
            {
              var chkID = $get('ctl00_ctl00_cpMain_cpMain_schoolFriends_friendid' +  _proxy_jslib_handle(array, (i), 0, 0));                            
              if(chkID)
                chkID.checked = false;
            }    
             _proxy_jslib_assign('', hdnSelectedFriendsID, 'value', '=', ( ''));        
        }    
    divQueueID.style.display = 'none';
    divButtonsID.style.display = 'none';
    divNoFriendsQueueID.style.display = 'block';    
}
else
    return;
} ;
_proxy_jslib_flush_write_buffers() ;