function toggleReadMore()
{
	$("bioreadmore", "shortbio", "fullbio", "bioreadless").invoke("toggle");
}

function toggleEditAvatar()
{
	$("editavatar", "canceleditavatarlink", "editavatarlink", "editbiolink").invoke("toggle");
}

function toggleEditBio()
{
	$("editbiomessage").innerHTML = "";
	$("biotext", "editbio", "editbiolink", "editavatarlink").invoke("toggle");
	document.getElementsByClassName("biofunctionlinks").invoke("toggle");
}

function updateBio(name)
{
	var editor = FCKeditorAPI.GetInstance("biofckeditor");
	var params = $H({name: name, content: editor.GetXHTML()});
	var request = new Ajax.Updater({success: "biotext"}, vw_siteroot + "/member/UpdateBio.sync", {
			method: "post",
			parameters: params.toQueryString(),
			onSuccess: toggleEditBio,
			onFailure: updateBioFailure
		}
	);
}

function updateBioFailure()
{
	var editbiomessage = $("editbiomessage");
	editbiomessage.innerHTML = "There was an error while updating your request.  Please try again.";
}

function switchTagView(name, style, order)
{
    var params = $H({ membername: name, viewstyle: style, sortorder: order, cancellayout: true });
    new Ajax.Updater(
        { success: "tagsview" },
        vw_siteroot + "/tagpage/member.sync",
        {
            method: "post",
            parameters: params.toQueryString(),
            evalScripts: true
        }
    );
}

function BlockUser()
{
    return window.confirm("Are you sure you want to block this user? Clicking OK will prevent this user from contacting you in the MarketWatch Community. To allow contact from this user again, click the 'un-block' button on the user's profile.")
}

function UnblockUser()
{
    return window.confirm("Are you sure you want to un-block this user? Clicking OK will allow you to receive messages, friend requests and group requests from this user.")
}

function MemberProfile(ajaxPath)
{
    this._ajaxPath = ajaxPath;
}

MemberProfile.prototype.LeaveGroup = function(groupSeoName)
{
    var args = $H({groupName:groupSeoName,isAjax:true})

    new Ajax.Request(
        this._ajaxPath + '/group/leavegroup.sync',
        {
            parameters: args.toQueryString(),
            onSuccess: this.__DropOutGroup.bind(this)
        }
    );
}

MemberProfile.prototype.__DropOutGroup = function(transport, json)
{
    var groupId = $H(json)["groupId"];

    new Effect.Fade('group' + groupId,
        {
            duration:1,
            afterFinish: function()
            {
                this._lastClassName = null;
                var l = $('memberGroupList').getElementsBySelector("div.listrow");
                $('memberGroupList').getElementsBySelector("div.listrow").each(function(div)
                {
                    if(!div.visible())
                        return;
                        
                    if(this._lastClassName == null)
                    {
                        if(div.hasClassName('listroweven'))
                            this._lastClassName = 'listrowodd';                            
                        else
                            this._lastClassName = 'listroweven';
                    }

                    if(this._lastClassName == "listrowodd")
                    {
                        if(!div.hasClassName('listroweven'))
                            div.removeClassName("listrowodd").addClassName("listroweven");
                        this._lastClassName = "listroweven";
                    }
                    else
                    {
                        if(!div.hasClassName('listrowodd'))
                            div.removeClassName("listroweven").addClassName("listrowodd");
                        this._lastClassName = "listrowodd";
                    }
                }.bind(this));
            }.bind(this)
        }
    ); 
}
