function attachEditFunctions(){
	var myFilling = new FillEditLinks();
	myFilling.method = "/md_Gadgets.asmx/ReadSingleLink";
	$('.editMyFavoriteLink').each(function(index, item){
		$(item).click(function(e) {
			//console.log($(e.target).parent().attr("LinkID"));
			myFilling.linkID = $(e.target).parent().attr("LinkID");
			myFilling.init();
		});
	});
}

function loadBlanks()
{
	$('#theLinkID').val("");
	$('input.LinksTitle').val("");
	$('input.LinksUrl').val("http://");
	$('input.LinksDescription').val("");
	$('input.LinksComments').val("");
	$('select.LinksCategory').val("");
}

$(document).ready(function() {
	
	if(document.getElementById('FavoriteLinkAddButton')){
		$('#FavoriteLinkAddButton').click(function(e){
			loadBlanks();
		});
	}
	
	attachEditFunctions();
	
	$('#DeleteMyFavoriteLink').click(function(e){
		var myDeleteLinks = new DeleteLinks();
		myDeleteLinks.method = "/md_Gadgets.asmx/DeleteFavoriteLink";
		myDeleteLinks.init();
	});
	
	if(document.getElementById('gadgetLinks')){
		/*var myEditLinks = new EditLinks();
		myEditLinks.saveButton = document.getElementById('LinksSaveEditButton');
		myEditLinks.method = "/md_Gadgets.asmx/UpdateFavoriteLink";
		myEditLinks.init();
		*/
	}
	
    if(document.getElementById('LinksFavorites')) {
		var LinksFavorites = new AddLinks();
		LinksFavorites.table = document.getElementById('LinksFavorites');
		LinksFavorites.addButton = document.getElementById('LinksAddButton');
		LinksFavorites.saveButton = document.getElementById('LinksSaveButton');
		LinksFavorites.method = "/md_Gadgets.asmx/AddFavoriteLink";
		LinksFavorites.returnShort = document.getElementById('gadgetLinks');
		LinksFavorites.returnLong = document.getElementById('favoriteLinksView');
		LinksFavorites.init();
	}
	
    if(document.getElementById('rssFavorites')) {
		var rssFavorites = new editFavs();
		rssFavorites.table = document.getElementById('rssFavorites');
		rssFavorites.addButton = document.getElementById('rssAddButton');
		rssFavorites.saveButton = document.getElementById('rssSaveButton');
		rssFavorites.method = "/md_Gadgets.asmx/LoadRSSFeeds";
		rssFavorites.returnShort = document.getElementById('gadgetRSS');
		rssFavorites.returnLong = document.getElementById('favoritePodcastsView');
		rssFavorites.init();
	}
	
	if(document.getElementById('Podcasts')) {
		var Podcasts = new editPodCasts();
		Podcasts.table = document.getElementById('Podcasts');
		Podcasts.addButton = document.getElementById('PodCastsAddButton');
		Podcasts.saveButton = document.getElementById('PodCastsSaveButton');
		Podcasts.method = "/md_Gadgets.asmx/LoadPodCasts";
		Podcasts.returnShort = document.getElementById('gadgetPodCasts');
		Podcasts.returnLong = document.getElementById('PodcastsView');
		Podcasts.init();
	}
	
		if(document.getElementById('Calendar')) {
		var Calendar = new editCalendar();
		Calendar.table = document.getElementById('Calendar');
		Calendar.addButton = document.getElementById('CalendarAddButton');
		Calendar.saveButton = document.getElementById('CalendarSaveButton');
		Calendar.method = "/md_Gadgets.asmx/LoadCalendar";
		Calendar.returnShort = document.getElementById('gadgetCalendar');
		Calendar.returnLong = document.getElementById('CalendarView');
		Calendar.init();
	}
	
    if(document.getElementById('followExpertEdit')) {
        var expertEdit = new editExperts();
        expertEdit.addButton = $('.expertLeft a');
        expertEdit.method = "/md_Gadgets.asmx/LoadFollowAnExpert";
        expertEdit.returnShort = document.getElementById('gadgetFollowAnExpert');
        expertEdit.returnLong = document.getElementById('followExpertView');
        expertEdit.init();
    }
    gadgets_load();
});

// load gadgets
function gadgets_load() {
    if(document.getElementById('FriendRequests')) {
        var friendRequests = new editFriends();
       friendRequests.acceptFriendMethod = "/md_Gadgets.asmx/AcceptFriendRequest";
	    friendRequests.declineFriendMethod = "/md_Gadgets.asmx/DeclineFriendRequest";
	    friendRequests.acceptGroupMethod = "/md_Gadgets.asmx/AcceptGroupRequest";
	    friendRequests.declineGroupMethod = "/md_Gadgets.asmx/DeclineGroupRequest";
        friendRequests.acceptButton = $('#FriendRequests a.acceptFriend');
        friendRequests.declineButton = $('#FriendRequests a.declineFriend');
	    friendRequests.returnShort = document.getElementById('FriendRequests');
	    friendRequests.returnLong = document.getElementById('FriendRequestsModal');
	    friendRequests.init();
    }
    
    if(document.getElementById('FriendRequestsModal')) {
        var friendRequests = new editFriends();
        friendRequests.acceptFriendMethod = "/md_Gadgets.asmx/AcceptFriendRequest";
	    friendRequests.declineFriendMethod = "/md_Gadgets.asmx/DeclineFriendRequest";
	    friendRequests.acceptGroupMethod = "/md_Gadgets.asmx/AcceptGroupRequest";
	    friendRequests.declineGroupMethod = "/md_Gadgets.asmx/DeclineGroupRequest";
        friendRequests.acceptButton = $('#FriendRequestsModal a.acceptFriend');
        friendRequests.declineButton = $('#FriendRequestsModal a.declineFriend');
	    friendRequests.returnShort = document.getElementById('FriendRequests');
	    friendRequests.returnLong = document.getElementById('FriendRequestsModal');
	    friendRequests.init();
    }
    
    if(document.getElementById('gadgetFriendsComments')) {
        var submitComments = new submitComment();
        submitComments.method = "/md_Gadgets.asmx/AddFriendsComment";
        submitComments.addButton = document.getElementById('gadgetSubmit');
        submitComments.input = document.getElementById('gadgetComment');
	    submitComments.init();
    }
}

// submit a comment on my friends
function submitComment() {
    var self = this;
	this.addButton = null;
	this.method = "";
	this.input = null;
	
	this.init = function() {
	    if(this.addButton) {
	        $(this.addButton).click(function() {
	            var rel = self.addButton.rel.split(',');
                var DTO = { 'UserID' : rel[0], 'FriendID' : rel[1], 'Comment' : self.input.value };
                
                $.ajax(
                {
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    url: self.method,
                    data: JSON.stringify(DTO),
                    dataType: "json",
                    success: function(result, textStatus)
                    {
                        document.getElementById('gadgetResponse').innerHTML = result.d;
                        self.input.value = "";                        
                    },
                    error: function(request, status, err)
                    {
                        if (request.readyState == 4) {
                            switch (request.status) {
                            // Page-not-found error
                            case 404:
                                alert('Error: Not Found. The requested URL could not be found.');
                                break;
                            // Internal server error
                            case 500:
                                var response = request.responseText;
                                
                                if (response && response.Message) {
                                    alert(response.Message + "\r\n\r\nStack Trace: " + response.StackTrace + "\r\n\r\nException Type: " + response.ExceptionType);
                                }
                                else {
                                    alert(request.responseText);
                                }
                                break;
                            default:
                                break;
                            }
                        }
                    }
                });
           });
        }
    }
}

// edit favorite links
function EditLinks() {
	var self = this;
	this.saveButton = null;
	this.init = function(){
		$(this.saveButton).click(function(e) {
			DTO = {
				LinkID : document.getElementById('theLinkID').value,
				Title : document.getElementById('favLinksTitle').value,
				LinkURL : document.getElementById('favLinksURL').value,
				Description : document.getElementById('favLinksDescription').value,
				Comments : document.getElementById('favLinksComments').value,
				CategoryID : document.getElementById('favLinksCategory').value,
				NewCategory : document.getElementById('favLinksNewCategory').value
			};
			$.ajax({
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    url: self.method,
                    data: JSON.stringify(DTO),
                    dataType: "json",
                    success: function(result, textStatus)
                    {
						                  
                        //modal_init();
                        // refresh links after edit
                        RefreshLinks()
                        modal_close();
                    },
                    error: function(request, status, err) {
                        if (request.readyState == 4) {
                            switch (request.status) {
                            // Page-not-found error
                            case 404:
                                alert('Error: Not Found. The requested URL could not be found.');
                                break;
                            // Internal server error
                            case 500:
                                var response = request.responseText;
                                
                                if (response && response.Message) {
                                    alert(response.Message + "\r\n\r\nStack Trace: " + response.StackTrace + "\r\n\r\nException Type: " + response.ExceptionType);
                                }
                                else {
                                    alert(request.responseText);
                                }
                                break;
                            default:
                                break;
                            }
                        }
					}
			});
			e.preventDefault();
		});	
	}
}
// refresh links
function RefreshLinks(){
          DTO = {
         		LinkID : 123
			};
		        $.ajax({
                type: "POST",
                contentType: "application/json; charset=utf-8",
                url: "/md_Gadgets.asmx/ReadLinks",
                data: JSON.stringify(DTO),
                dataType: "json",
                success: function(result, textStatus)
                {
					//console.log(result);
					document.getElementById('gadgetLinks').innerHTML = result.d.Short;
					modal_init();
					attachEditFunctions();
                    //modal_close();
                },
                error: function(request, status, err) {
                    if (request.readyState == 4) {
                        switch (request.status) {
                        // Page-not-found error
                        case 404:
                            alert('Error: Not Found. The requested URL could not be found.');
                            break;
                        // Internal server error
                        case 500:
                            var response = request.responseText;
                            
                            if (response && response.Message) {
                                alert(response.Message + "\r\n\r\nStack Trace: " + response.StackTrace + "\r\n\r\nException Type: " + response.ExceptionType);
                            }
                            else {
                                alert(request.responseText);
                            }
                            break;
                        default:
                            break;
                        }
                    }
				}
		});

}

function DeleteLinks() {
	var self = this;
	this.init = function(){
		DTO = {
			LinkID : document.getElementById('theLinkID').value
		};
		$.ajax({
                type: "POST",
                contentType: "application/json; charset=utf-8",
                url: self.method,
                data: JSON.stringify(DTO),
                dataType: "json",
                success: function(result, textStatus)
                {
					  
                    //modal_init();
                    
                    RefreshLinks()
                    modal_close();
                },
                error: function(request, status, err) {
                    if (request.readyState == 4) {
                        switch (request.status) {
                        // Page-not-found error
                        case 404:
                            alert('Error: Not Found. The requested URL could not be found.');
                            break;
                        // Internal server error
                        case 500:
                            var response = request.responseText;
                            
                            if (response && response.Message) {
                                alert(response.Message + "\r\n\r\nStack Trace: " + response.StackTrace + "\r\n\r\nException Type: " + response.ExceptionType);
                            }
                            else {
                                alert(request.responseText);
                            }
                            break;
                        default:
                            break;
                        }
                    }
				}
		});
		//e.preventDefault();
	}
}

function FillEditLinks(){
	var self = this;
	this.saveButton = null;
	this.init = function(){
		DTO = {
			LinkID : self.linkID
		};
		$.ajax({
                type: "POST",
                contentType: "application/json; charset=utf-8",
                url: self.method,
                data: JSON.stringify(DTO),
                dataType: "json",
                success: function(result, textStatus)
                {
					$('#theLinkID').val(result.d.LinkID);
					$('input.LinksTitle').val(result.d.Title);
					$('input.LinksUrl').val(result.d.LinkURL);
					$('input.LinksDescription').val(result.d.Description);
					$('input.LinksComments').val(result.d.Comments);
					$('select.LinksCategory').val(result.d.CategoryID);
					//$('input.LinksNewCategory').val(result.Title);
                    //modal_init();
                    //modal_close();
                    var myEditLinks = new EditLinks();
					myEditLinks.saveButton = document.getElementById('LinksSaveEditButton');
					myEditLinks.method = "/md_Gadgets.asmx/UpdateFavoriteLink";
					RefreshLinks()
					myEditLinks.init();
					
					
                },
                error: function(request, status, err) {
                    if (request.readyState == 4) {
                        switch (request.status) {
                        // Page-not-found error
                        case 404:
                            alert('Error: Not Found. The requested URL could not be found.');
                            break;
                        // Internal server error
                        case 500:
                            var response = request.responseText;
                            
                            if (response && response.Message) {
                                alert(response.Message + "\r\n\r\nStack Trace: " + response.StackTrace + "\r\n\r\nException Type: " + response.ExceptionType);
                            }
                            else {
                                alert(request.responseText);
                            }
                            break;
                        default:
                            break;
                        }
                    }
				}
		});
	}
}

// added function for My Favorite Links 3-11-09
function AddLinks() {
	var self = this;
	this.table = null;
	this.addButton = null;
	this.saveButton = null;
	this.method = "loadfollow";
	this.returnShort = null;
	this.returnLong = null;
	this.init = function() {
    if(this.saveButton) {
		var rel = self.addButton.rel;
			$(this.saveButton).click(function(e) {
				
				if (($('input.LinksUrl').val() == "") || ($('input.LinksTitle').val() == ""))
				{
					alert("Please fill in all fields.");
					return false;
				}
			
					
				DTO = {
					Title : $('input.LinksTitle').val(),
					LinkURL : $('input.LinksUrl').val(),
					Description : $('input.LinksDescription').val(),
					Comments : $('input.LinksComments').val(),
					CategoryID : $('select.LinksCategory').val(),
					NewCategory : $('input.LinksNewCategory').val()
				};
			    $.ajax(
                {
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    url: self.method,
                    data: JSON.stringify(DTO),
                    dataType: "json",
                    success: function(result, textStatus)
                    {
                        RefreshLinks()
                        modal_close();
                        
                    },
                    error: function(request, status, err) {
                        if (request.readyState == 4) {
                            switch (request.status) {
                            // Page-not-found error
                            case 404:
                                alert('Error: Not Found. The requested URL could not be found.');
                                break;
                            // Internal server error
                            case 500:
                                var response = request.responseText;
                                
                                if (response && response.Message) {
                                    alert(response.Message + "\r\n\r\nStack Trace: " + response.StackTrace + "\r\n\r\nException Type: " + response.ExceptionType);
                                }
                                else {
                                    alert(request.responseText);
                                }
                                break;
                            default:
                                break;
                            }
                        }
                    }
                });
				
				e.preventDefault();
			});
		}
	}
	this.setRemoveButtons = function() {
		if(this.table) {
			$(this.table).find('a.remove').click(function(e) {
				$(this).parents('tr').remove();
				e.preventDefault();
			});
		}
	}
}

function editFavs() {
	var self = this;
	this.table = null;
	this.addButton = null;
	this.saveButton = null;
	this.method = "loadfollow";
	this.returnShort = null;
	this.returnLong = null;
	this.newRowHTML = '<tr><td class="inputShort"><input type="text" class="favTitle" value="" /></td><td class="inputLong"><input type="text" class="favUrl" value="" /></td><td class="inputButton"><a class="flatButton remove" title="" href="#"><span>Remove</span></a></td></tr>';
	this.init = function() {
		this.setRemoveButtons();
		
		if(this.addButton) {
			$(this.addButton).click(function(e) {
				$(self.table).append(self.newRowHTML);
				self.setRemoveButtons();
				e.preventDefault();
			});
		}
		
		if(this.saveButton) {
		var rel = self.addButton.rel;
			$(this.saveButton).click(function(e) {
				var inputTitles = $(self.table).find('input.favTitle');
				var favTitles = new Array();
				for(var x=0;x<inputTitles.length;x++) {
					favTitles[x] = inputTitles[x].value;
				}
				
				var inputUrls = $(self.table).find('input.favUrl');
				var favUrls = new Array();
				for(var x=0;x<inputUrls.length;x++) {
					favUrls[x] = inputUrls[x].value;
				}
				var DTO;
				if  (rel == null)
				    DTO = { 'titles' : favTitles, 'urls' : favUrls, 'groupId' : "" };
				else
				    DTO = { 'titles' : favTitles, 'urls' : favUrls, 'groupId' : rel };
			    $.ajax(
                {
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    url: self.method,
                    data: JSON.stringify(DTO),
                    dataType: "json",
                    success: function(result, textStatus)
                    {
//                        for(object in result) {
//                            alert(object + " : " + result[object]);
//                        }
                        
                        $(self.returnShort).html(result.d.Short);
                        $(self.returnLong).html(result.d.Long);
                        modal_init(self.returnShort);
                        modal_close();
                    },
                    error: function(request, status, err) {
                        if (request.readyState == 4) {
                            switch (request.status) {
                            // Page-not-found error
                            case 404:
                                alert('Error: Not Found. The requested URL could not be found.');
                                break;
                            // Internal server error
                            case 500:
                                var response = request.responseText;
                                
                                if (response && response.Message) {
                                    alert(response.Message + "\r\n\r\nStack Trace: " + response.StackTrace + "\r\n\r\nException Type: " + response.ExceptionType);
                                }
                                else {
                                    alert(request.responseText);
                                }
                                break;
                            default:
                                break;
                            }
                        }
                    }
                });
				
				e.preventDefault();
			});
		}
	}
	this.setRemoveButtons = function() {
		if(this.table) {
			$(this.table).find('a.remove').click(function(e) {
				$(this).parents('tr').remove();
				e.preventDefault();
			});
		}
	}
}

// PodCasts
function editPodCasts() {
	var self = this;
	this.table = null;
	this.addButton = null;
	this.saveButton = null;
	this.method = "loadfollow";
	this.returnShort = null;
	this.returnLong = null;
	this.newRowHTML = '<tr><td class="inputShort"><input type="text" class="PodCastsTitle" value="" /></td><td class="inputLong"><input type="text" class="PodCastsUrl" value="" /></td><td class="inputButton"><a class="flatButton remove" title="" href="#"><span>Remove</span></a></td></tr>';
	this.init = function() {
		this.setRemoveButtons();
		
		if(this.addButton) {
			$(this.addButton).click(function(e) {
				$(self.table).append(self.newRowHTML);
				self.setRemoveButtons();
				e.preventDefault();
			});
		}
		
		if(this.saveButton) {
		var rel = self.addButton.rel;
			$(this.saveButton).click(function(e) {
				var inputTitles = $(self.table).find('input.PodCastsTitle');
				var PodCastsTitles = new Array();
				for(var x=0;x<inputTitles.length;x++) {
					PodCastsTitles[x] = inputTitles[x].value;
				}
				
				var inputUrls = $(self.table).find('input.PodCastsUrl');
				var PodCastsUrls = new Array();
				for(var x=0;x<inputUrls.length;x++) {
					PodCastsUrls[x] = inputUrls[x].value;
				}
				var DTO;
				if  (rel == null)
				    DTO = { 'titles' : PodCastsTitles, 'urls' : PodCastsUrls, 'groupId' : "" };
				else
				    DTO = { 'titles' : PodCastsTitles, 'urls' : PodCastsUrls, 'groupId' : rel };
			    $.ajax(
                {
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    url: self.method,
                    data: JSON.stringify(DTO),
                    dataType: "json",
                    success: function(result, textStatus)
                    {
//                        for(object in result) {
//                            alert(object + " : " + result[object]);
//                        }
                        
                        $(self.returnShort).html(result.d.Short);
                        $(self.returnLong).html(result.d.Long);
                        modal_init(self.returnShort);
                        modal_close();
                        RefreshLinks()
				    	
                    },
                    error: function(request, status, err) {
                        if (request.readyState == 4) {
                            switch (request.status) {
                            // Page-not-found error
                            case 404:
                                alert('Error: Not Found. The requested URL could not be found.');
                                break;
                            // Internal server error
                            case 500:
                                var response = request.responseText;
                                
                                if (response && response.Message) {
                                    alert(response.Message + "\r\n\r\nStack Trace: " + response.StackTrace + "\r\n\r\nException Type: " + response.ExceptionType);
                                }
                                else {
                                    alert(request.responseText);
                                }
                                break;
                            default:
                                break;
                            }
                        }
                    }
                });
				
				e.preventDefault();
			});
		}
	}
	this.setRemoveButtons = function() {
		if(this.table) {
			$(this.table).find('a.remove').click(function(e) {
				$(this).parents('tr').remove();
				e.preventDefault();
			});
		}
	}
}

function editExperts() {
	var self = this;
	this.method = "";
	this.addButton = null;
	this.returnShort = null;
	this.returnLong = null;
	this.init = function() {
	//	this.setRemoveButtons();
		
		if(this.addButton) {
			$(this.addButton).click(function(e) {
			    
				var rel = $(this).attr('rel');
				var DTO = { 'ExpertID' : rel };
               
				$.ajax(
                {
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    url: self.method,
                    data: JSON.stringify(DTO),
                    dataType: "json",
                    success: function(result, textStatus)
                    {
//                        for(object in result) {
//                           alert(object + " : " + result[object]);
//                        }
                        $(self.returnShort).html(result.d.Short);
                        $(self.returnLong).html(result.d.Long);
                        modal_init(); 
                        
                    },
                    error: function(request, status, err) {
                        if (request.readyState == 4) {
                            switch (request.status) {
                            // Page-not-found error
                            case 404:
                                alert('Error: Not Found. The requested URL could not be found.');
                                break;
                            // Internal server error
                            case 500:
                                var response = request.responseText;
                                
                                if (response && response.Message) {
                                    alert(response.Message + "\r\n\r\nStack Trace: " + response.StackTrace + "\r\n\r\nException Type: " + response.ExceptionType);
                                }
                                else {
                                    alert(request.responseText);
                                }
                                break;
                            default:
                                break;
                            }
                        }
                    }
                });
				
				var spanHTML = $(this).children('span')[0].innerHTML;
                
                if ($(this).attr('title') == 'Add') {
                    $(this).attr({title : "Remove"});
                }
                if ($(this).attr('title') == 'Remove') {
                    $(this).attr({title : "Add"});
                }
                
                if (spanHTML == 'Add') {
                    $(this).children('span')[0].innerHTML = 'Remove';
                }
                if (spanHTML == 'Remove') {
                    $(this).children('span')[0].innerHTML = 'Add';
                }
                
               
				
				//self.setRemoveButtons();
				e.preventDefault();
			});
		}
		
		if(this.saveButton) {
			$(this.saveButton).click(function(e) {
				var inputTitles = $(self.table).find('input.favTitle');
				var favTitles = new Array();
				for(var x=0;x<inputTitles.length;x++) {
					favTitles[x] = inputTitles[x].value;
				}
				
				var inputUrls = $(self.table).find('input.favUrl');
				var favUrls = new Array();
				for(var x=0;x<inputUrls.length;x++) {
					favUrls[x] = inputUrls[x].value;
				}
				
				var DTO = { 'rel' : rel };
				
			    $.ajax(
                {
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    url: self.method,
                    data: JSON.stringify(DTO),
                    dataType: "json",
                    success: function(result, textStatus)
                    {
//                        for(object in result) {
//                            alert(object + " : " + result[object]);
//                        }
                        $(self.returnShort).html(result.d.Short);
                        $(self.returnLong).html(result.d.Long);
                        modal_init(self.returnShort);
                        modal_close();
                    },
                    error: function(request, status, err) {
                        if (request.readyState == 4) {
                            switch (request.status) {
                            // Page-not-found error
                            case 404:
                                alert('Error: Not Found. The requested URL could not be found.');
                                break;
                            // Internal server error
                            case 500:
                                var response = request.responseText;
                                
                                if (response && response.Message) {
                                    alert(response.Message + "\r\n\r\nStack Trace: " + response.StackTrace + "\r\n\r\nException Type: " + response.ExceptionType);
                                }
                                else {
                                    alert(request.responseText);
                                }
                                break;
                            default:
                                break;
                            }
                        }
                    }
                });
				
				e.preventDefault();
			});
		}
	}
/*	this.setRemoveButtons = function() {
		if(this.table) {
			$(this.table).find('a.remove').click(function(e) {
				$(this).parents('tr').remove();
				e.preventDefault();
			});
		}
	} */
}

function editFriends() {
	var self = this;
	this.acceptMethod = "";
	this.declineMethod = "";
    this.acceptButton = null;
    this.declineButton = null;
	this.returnShort = null;
	this.returnLong = null;
	this.init = function() {
        if(this.acceptButton) {
            $(this.acceptButton).click(function(e) {
                var rel = this.rel.split(',');
                var DTO;
                var url;
                if (rel[0] > 0)
                {
                    DTO = { 'FriendID' : rel[0] };
                   url = self.acceptFriendMethod;
                }
                else
                {
                    DTO = { 'groupId' : rel[1] };
                   url = self.acceptGroupMethod; 
                }
                $.ajax(
                {
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    url: url,
                    data: JSON.stringify(DTO),
                    dataType: "json",
                    success: function(result, textStatus)
                    {
						self.returnShort.innerHTML = result.d.Short;
                        self.returnLong.innerHTML = result.d.Long;
                        gadgets_load();
                    },
                    error: function(request, status, err) {
                        if (request.readyState == 4) {
                            switch (request.status) {
                            // Page-not-found error
                            case 404:
                                alert('Error: Not Found. The requested URL could not be found.');
                                break;
                            // Internal server error
                            case 500:
                                var response = request.responseText;
                                
                                if (response && response.Message) {
                                    alert(response.Message + "\r\n\r\nStack Trace: " + response.StackTrace + "\r\n\r\nException Type: " + response.ExceptionType);
                                }
                                else {
                                    alert(request.responseText);
                                }
                                break;
                            default:
                                break;
                            }
                        }
                    }
                });
                e.preventDefault();
			});
		}
		if(this.declineButton) {
            $(this.declineButton).click(function(e) {
                var rel = this.rel.split(',');
                var DTO;
                var url;
                if (rel[0] > 0)
                {
                    DTO = { 'FriendID' : rel[0] };
                   url = self.declineFriendMethod;
                }
                else
                {
                    DTO = { 'groupId' : rel[1] };
                   url = self.declineGroupMethod; 
                }
                $.ajax(
                {
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    url: url,
                    data: JSON.stringify(DTO),
                    dataType: "json",
                    success: function(result, textStatus)
                    {
                        self.returnShort.innerHTML = result.d.Short;
                        self.returnLong.innerHTML = result.d.Long;
                        gadgets_load();
                    },
                    error: function(request, status, err) {
                        if (request.readyState == 4) {
                            switch (request.status) {
                            // Page-not-found error
                            case 404:
                                alert('Error: Not Found. The requested URL could not be found.');
                                break;
                            // Internal server error
                            case 500:
                                var response = request.responseText;
                                
                                if (response && response.Message) {
                                    alert(response.Message + "\r\n\r\nStack Trace: " + response.StackTrace + "\r\n\r\nException Type: " + response.ExceptionType);
                                }
                                else {
                                    alert(request.responseText);
                                }
                                break;
                            default:
                                break;
                            }
                        }
                    }
                });
                e.preventDefault();
			});
		}
    }
}