function messageCheckAll(rel)
{
    /// <summary>Toggles the check state of the checkboxes on the friends page.</summary>
    /// <param name="rel">element: The master checkbox.</param>
    
    var checks = document.getElementsByName("checkMessage");
	for( var i = 0; i < checks.length; i++ )
    {
        checks[i].checked = rel.checked;
    }
}

function messageCheckVerify()
{
    /// <summary>Makes sure the master checkbox is accurate according to the child checkboxes.</summary>
    
    var checkMaster = true;
    var checks = document.getElementsByName("checkMessage");
	for( var i = 0; i < checks.length; i++ )
    {
        if( !checks[i].checked )
        {
            checkMaster = false;
            break;
        }
    }
    
    document.getElementById("checkMaster").checked = checkMaster;
}

function showSendMessage(rel, id)
{
    /// <summary>Shows the Send Message box.</summary>
    /// <param name="rel">element: The box will show relative to this element's position.</param>
    /// <param name="id">int: The userID.</param>
    
	cancelSend();
	show("sendMessageBox",rel,false,true);
	document.getElementById("txtMessageID").value = id;
	setFocus("txtMessage");
}

function showSendFriendRequest(rel, id)
{
    /// <summary>Shows the Friend Request box.</summary>
    /// <param name="rel">element: The box will show relative to this element's position.</param>
    /// <param name="id">int: The friendID.</param>
    
	cancelSend();
	show("sendFriendRequestBox",rel,false,true);
	document.getElementById("txtFriendRequestID").value = id;
	document.getElementById("imgFriendID").value = rel.id;
}

function showDeleteMessage(rel, id)
{
    /// <summary>Shows the Delete Message box.</summary>
    /// <param name="rel">element: The box will show relative to this element's position.</param>
    /// <param name="id">int: The messageID.</param>
    
	cancelSend();
	show("deleteMessageBox",rel,false,true);
	document.getElementById("txtDeleteMessageID").value = id;
	rel.blur();
}

function showSendFriendMessage(rel)
{
    /// <summary>Shows the Send Message box from the friends page where there are checkboxes.</summary>
    /// <param name="rel">element: The box will show relative to this element's position.</param>
    /// <param name="type">int: 0 = Message, 1 = Text Message.</param>
	cancelSend();
	
	var checks = document.getElementsByName("checkMessage");
	var ids = "";
	var valid = false;
	for( var i = 0; i < checks.length; i++ )
    {
        if( checks[i].checked )
        {
            ids += checks[i].id.replace("check","") + ",";
            valid = true;
        }
    }
    
    if( !valid )
    {
        alert("Please select at least one friend to send a message to.");
        rel.blur();
        return;
    }
    
    ids = ids.substring(0,ids.length - 1);
    
    show("sendMessageBox",rel,false,true);
    document.getElementById("txtMessageID").value = ids;
    setFocus("txtMessage");
}

var refreshBtn;
function showDeleteFriend(rel, id, pending, btn)
{
    /// <summary>Shows the Delete Friend box.</summary>
    /// <param name="rel">element: The box will show relative to this element's position.</param>
    /// <param name="id">int: The friendID.</param>
    /// <param name="id">bool: True if this is a pending reqeust.</param>
    
    refreshBtn = btn;
    
	cancelSend();
	show("deleteFriendBox",rel,false,true);
	document.getElementById("txtFriendID").value = id;
	if( pending )
	{
	    document.getElementById("lblFriendTitle").innerHTML = " Request";
	}
	else
	{
	    document.getElementById("lblFriendTitle").innerHTML = "";
	}
	rel.blur();
}

function cancelSend()
{
    /// <summary>Closes the Send Message box, the Send Friend Request box, and the Delete Message box.</summary>
    
    try
	{
	    document.getElementById("txtMessageID").value = "";
	    document.getElementById("txtMessage").value = "";
	    document.getElementById("lblMessageError").innerHTML = "";
	}
    catch(e) {}
    
	try
	{
	    document.getElementById("txtFriendRequestID").value = "";
	    document.getElementById("lblFriendRequestError").innerHTML = "";
	}
    catch(e) {}
    
	try
	{
	    document.getElementById("txtDeleteMessageID").value = "";
        document.getElementById("lblDeleteMessageError").innerHTML = "";
    }
    catch(e) {}
    
    try
    {
	    document.getElementById("txtFriendRequestID").value = "";
    }
	catch(e) {}
	
	try
	{
	    document.getElementById("txtFriendID").value = "";
	    document.getElementById("lblDeleteFriendError").innerHTML = "";
	}
	catch(e) {}
	
	hide("acceptFriendBox");
	hide("sendMessageBox");
	hide("sendFriendRequestBox");
	hide("deleteMessageBox");
	hide("deleteFriendBox");
}

var sendDone = function(txt)
{
    /// <summary>Callback from AJAX. Will show the error if any.</summary>
    /// <param name="text">string: Text returned from AJAX.</param>
    
    cancelSend();
	    
	if( txt.indexOf("Error:") >= 0 )
	{
		txt = txt.replace(/<!--/gi,"").replace(/-->/gi,"\n");
		alert(txt);
	}
}

function sendMessage()
{
    var rel = document.getElementById("lblMessageError");
    var url = "/ajax/wiiNumbers.aspx?action=6&id=" + escape(document.getElementById("txtMessageID").value) +
        "&msg=" + escape(document.getElementById("txtMessage").value);
    rel.innerHTML = "<img src='/images/loader.gif' alt='' style='vertical-align:text-top;' /> <span class='small'>sending...</span>";
	AJAXCall(url,sendDone);
	rel.innerHTML = "<img src='/images/loader.gif' alt='' style='vertical-align:text-top;' /> <span class='small'>sending...</span>";
}

function sendFriendRequest()
{
    var rel = document.getElementById("lblFriendRequestError");
    var url = "/ajax/wiiNumbers.aspx?action=7&id=" + escape(document.getElementById("txtFriendRequestID").value);
        
    var img = document.getElementById(document.getElementById("imgFriendID").value);
    img.src = "/images/icons/user_edit.png";
    img.title = "Friendship Pending";
    img.onclick = function() { window.location = '/Friends.aspx'; };
    
    rel.innerHTML = "<img src='/images/loader.gif' alt='' style='vertical-align:text-top;' /> <span class='small'>sending...</span>";
	AJAXCall(url,sendDone);
	rel.innerHTML = "<img src='/images/loader.gif' alt='' style='vertical-align:text-top;' /> <span class='small'>sending...</span>";
}

function deleteMessage()
{
    var id = document.getElementById("txtDeleteMessageID").value;
    var rel = document.getElementById("lblDeleteMessageError");
    var url = "/ajax/wiiNumbers.aspx?action=8&id=" + escape(id);

    var tmp = function(txt)
    {
        cancelSend();
	    
	    if( txt.indexOf("Error:") >= 0 )
	    {
		    txt = txt.replace(/<!--/gi,"").replace(/-->/gi,"\n");
		    alert(txt);
	    }
	    else
	    {
            var div = document.getElementById("msg_" + id);
            div.innerHTML = "";
            div.style.display = "none";
        }
    }
    
    rel.innerHTML = "<img src='/images/loader.gif' alt='' style='vertical-align:text-top;' /> <span class='small'>deleting...</span>";
	AJAXCall(url,tmp);
	rel.innerHTML = "<img src='/images/loader.gif' alt='' style='vertical-align:text-top;' /> <span class='small'>deleting...</span>";
}

function acceptFriend(rel,btn,id)
{
    var url = "/ajax/wiiNumbers.aspx?action=11&fromID=" + escape(id);
    
    var tmp = function(txt)
    {
        if( txt.indexOf("Error:") >= 0 )
	    {
		    txt = txt.replace(/<!--/gi,"").replace(/-->/gi,"\n");
		    alert(txt);
	    }
	    else
	    {
	        //this will reload the panel
	        __doPostBack(btn,'');
        }
    }
    
    rel.src = "/images/loader.gif";
	AJAXCall(url,tmp);
	rel.src = "/images/loader.gif";
}

function deleteFriend()
{
    var url = "/ajax/wiiNumbers.aspx?action=12&friendID=" + escape(document.getElementById("txtFriendID").value);
    var rel = document.getElementById("lblDeleteFriendError");
    
    var tmp = function(txt)
    {
        if( txt.indexOf("Error:") >= 0 )
	    {
		    txt = txt.replace(/<!--/gi,"").replace(/-->/gi,"\n");
		    alert(txt);
	    }
	    else
	    {
	        //this will reload the panel
	        __doPostBack(refreshBtn,'');
        }
    }
    
    rel.innerHTML = "<img src='/images/loader.gif' alt='' style='vertical-align:text-top;' /> <span class='small'>deleting...</span>";
	AJAXCall(url,tmp);
	rel.innerHTML = "<img src='/images/loader.gif' alt='' style='vertical-align:text-top;' /> <span class='small'>deleting...</span>";
}