/* Copyright © Pluck Corporation 2008. This software code and related intellectual property are the property of Pluck Corporation and are licensed for use solely on designated websites. Any distribution, copying, or other use of this intellectual property other than pursuant to a written agreement with Pluck Corporation is strictly prohibited. All Rights Reserved. */
// THIS FILE IS AUTOGENERATED. DO NOT EDIT THIS FILE DIRECTLY.
if (typeof(slwidgets) === 'undefined') {
  slwidgets = {};
}
if (typeof(slwidgets.addEvent) === 'undefined') {
  // from http://ajaxcookbook.org/event-handling-memory-leaks/
  slwidgets.addEvent = function(instance, eventName, listener){
    var listenerFn = listener;
    if (instance.addEventListener) {
      instance.addEventListener(eventName, listenerFn, false);
    } else 
      if (instance.attachEvent) {
        listenerFn = function(){
          listener(window.event);
        }
        instance.attachEvent("on" + eventName, listenerFn);
      }
  }
}
if (typeof(slwidgets.widgetLoader) === 'undefined') {
  slwidgets.widgetLoader = {};
  (function(){
    // the local variable we'll use to queue up load calls
    var callbacks = [];
    // keeps track of what scripts we've already added
    var addedScripts = {};
    // have we added our onload handler before?
    var onLoadHandlerAdded = false;
    // called to check if every url is loaded
    var onLoadHandler = function(){
      // check that every url is loaded
      for (url in addedScripts) {
        if (addedScripts[url] == false) {
          // found a url that hasn't loaded, so call us again in 100 mills
          setTimeout(onLoadHandler, 100);
          return;
        }
      }
      // every url is loaded, so call all the callbacks
      for (var callbackIndex = 0; callbackIndex < callbacks.length; callbackIndex++) {
        callbacks[callbackIndex]();
      }
    };
    
    var addUrlHandler = function(url) {
        // check to see if we've added this script before
        if (url in addedScripts) {
          // we've added it before, short circuit adding the script node to the head
          return;
        }
        // we've added the script, but haven't loaded it yet
        addedScripts[url] = false;
        // there should only be one head node
        var headNode = document.getElementsByTagName("head")[0];
        // make the script node
        var scriptNode = document.createElement("script");
        scriptNode.setAttribute("src", url);
        // if we're using Internet Explorer, use the onreadystatechange event; otherwise, use onload
        if ((/msie/i).test(navigator.userAgent)) {
          scriptNode.onreadystatechange = function(){
            if (this.readyState === 'loaded' || this.readyState === 'complete') {
              slwidgets.widgetLoader.requestComplete(url);
            }
          };
        } else {
          scriptNode.setAttribute("onload", "javascript:slwidgets.widgetLoader.requestComplete('" + url + "');");
        }
        headNode.appendChild(scriptNode);
    };
    
    slwidgets.widgetLoader.load = function(urls, callback){
        if (typeof(urls).length === 'undefined') {
            urls = [urls];
        }
        for (var i=0; i < urls.length; i++) {
            addUrlHandler(urls[i]);
        }
        
        // add the callback to our list of callbacks
        callbacks.push(callback);;
    };
    
    slwidgets.widgetLoader.requestComplete = function(urlThatFinished){
      // set this url to loaded so our onload handler can check to make sure everything was loaded  before calling the callbacks
      addedScripts[urlThatFinished] = true;
    }
    slwidgets.widgetLoader.addWidgetDiv = function(){
      var id = "widgetDiv-" + Math.random() + '-' + Math.random();
      document.write('<div id="' + id + '"><\/div>');
      return id;
    };
    // add our onload listener that will check that the urls are finished loading
    if (!onLoadHandlerAdded) {
      onLoadHandlerAdded = true;
      slwidgets.addEvent(window, "load", onLoadHandler);
    }
  })();
}
if (typeof window.slMessageBox == 'undefined') {
	slMessageBox = function() { }
};

(function(){
	
	slwidgets.widgetLoader.load(['' + dlabs.settings.urls.siteLifeBase + '/content/widgets/globalOptions.js'], function() {
	    if (typeof slMessageBox.__code === 'undefined') {

		    slMessageBox.__code = true;
slMessageBox.prototype = new slwidgets.slWidgetBase();

slMessageBox.prototype.template = '<div style="display:none;"\>\r\n\t<div class="slModal slMessageBox" id="${uniqueModalId}"\>\r\n\t\t<div class="slModalTR"\></div\><div class="slMessageBoxModalTL"\></div\>\r\n\t\t<div class="slModalCL"\><div class="slModalCR"\>\r\n\t\t\t<div class="slReplyTitle"\><div id="${uniqueMessageId}"\></div\></div\>\r\n\t\t    <div class="slForm"\>\r\n\t\t\t    <div class="slButtons slFLC"\>\r\n\t\t\t\t    {if options.notification}\r\n\t\t\t\t\t\t<a href="#" onclick="javascript: WIDGETINSTANCE.okClicked();" class="slButton1"\><span class="slButton1_Right"\>Ok</span\></a\>\r\n\t\t\t\t\t{else}\r\n\t\t\t\t\t\t<a href="#" onclick="javascript: WIDGETINSTANCE.yesClicked();" class="slButton1"\><span class="slButton1_Right"\>Yes</span\></a\>\r\n\t\t\t\t\t    <a href="#" onclick="javascript: WIDGETINSTANCE.noClicked();" class="slButton1"\><span class="slButton1_Right"\>No</span\></a\>\r\n\t\t\t\t\t{/if}\r\n\t\t\t    </div\>\r\n\t\t    </div\>\r\n\t\t</div\></div\>\r\n\t\t<div class="slModalBR"\></div\><div class="slMessageBoxModalBL"\></div\>\r\n\t</div\>\r\n\t<div class="slModalBg"\></div\>\r\n</div\>\r\n\r\n\r\n\r\n';

slMessageBox.prototype.addRequests = function() {
	this.context.uniqueModalId = PluckSlWidgetHelper.createUniqueId('modal');
	this.context.uniqueMessageId = PluckSlWidgetHelper.createUniqueId('modal');
};

slMessageBox.prototype.buildContextFromResponses = function(responses) {
};

slMessageBox.prototype.show = function(positiveCallback, negativeCallback) {
	var modalElem = document.getElementById(this.context.uniqueModalId);
	
	// Make the PARENT visible (includes dialog and background)
	modalElem.parentNode.style.display = 'block';		
	
	//Position box in the center of the screen.
	var newLeft = Math.floor(document.documentElement.scrollLeft + (document.documentElement.clientWidth/2) - (modalElem.clientWidth/2));
	var newTop = Math.floor(document.documentElement.scrollTop + (document.documentElement.clientHeight/2) - (modalElem.clientHeight/2));
	if(newLeft < 0) newLeft = 0;
	if(newTop < 0) newTop = 0;
	modalElem.style.left = newLeft + "px";
	modalElem.style.top = newTop + "px";
	
	if (positiveCallback) {
		this.positiveCallback = positiveCallback;	
	}
	if (negativeCallback) {
	    this.negativeCallback = negativeCallback;
	};
	
	return false;
};

slMessageBox.prototype.hide = function() {
	var modalElem = document.getElementById(this.context.uniqueModalId);
	//modalElem.setAttribute("style", "display:none;");
	modalElem.parentNode.style.display = 'none';
};

slMessageBox.prototype.okClicked = function() {
	this.hide();
	if (this.positiveCallback) {
		this.positiveCallback();
	}
};

slMessageBox.prototype.yesClicked = function() {
	this.hide();
	if (this.positiveCallback) {
		this.positiveCallback();
	}
};

slMessageBox.prototype.noClicked = function() {
	this.hide();
	if (this.negativeCallback) {
	    this.negativeCallback();
	}
};

slMessageBox.prototype.setDialogMessage = function(displayMessage) {
	document.getElementById(this.context.uniqueMessageId).innerHTML = displayMessage;	
};};
	    
    });
})();
if (typeof window.slEHowProfileFriendsNoteWidget == 'undefined') {
	slEHowProfileFriendsNoteWidget = function() { }
};

(function(){
	
	slwidgets.widgetLoader.load(['' + dlabs.settings.urls.siteLifeBase + '/content/widgets/globalOptions.js'], function() {
	    if (typeof slEHowProfileFriendsNoteWidget.__code === 'undefined') {

		    slEHowProfileFriendsNoteWidget.__code = true;
slEHowProfileFriendsNoteWidget.prototype = new slwidgets.slPagingWidgetBase();

slEHowProfileFriendsNoteWidget.prototype.template = '<div class="SubHeader UnderlinedHeader"\>{if isSelf}Notes from your friends{else}Notes to ${profileUser.DisplayName}{/if}</div\>\r\n<ul class="List2 ProfileComments"\>\r\n\t{for message in messages}\r\n\t\t<li class="FLC"\>\r\n\t\t\t<a href="${message.FromUser.PersonaUrl}"\><img class="avatar" src="${message.FromUser.AvatarPhotoUrl}" width="55" height="55" /\></a\>\r\n\t\t\t<div class="content"\>\r\n\t\t\t<a href="${message.FromUser.PersonaUrl}"\>${message.FromUser.DisplayName}</a\> wrote <span class="date"\>at <span class="PrettyDate"\>${message.CreatedOn}</span\></span\>\r\n\t\t\t<p\>${message.Body|h}</p\>\r\n\t\t\t\t{if isSelf}\r\n\t\t\t\t<a href="#" onclick="WIDGETINSTANCE.showReplyForm(\'${messageReplyId}_${message_index}\'); return false;"\>Reply</a\> | <a href="#" onclick="WIDGETINSTANCE.deleteMessage(\'${message.MessageKey.Key}\'); return false;"\>Delete</a\>\r\n\t\t\t\t{/if}\r\n\t\t\t</div\>\r\n\t\t\t{if isSelf}\r\n\t\t\t\t<div class="Message"\></div\>\r\n\t\t\t\t<div class="Form1"\>\r\n\t\t\t\t\t<label\>Respond to ${message.FromUser.DisplayName}:</label\>\r\n\t\t\t\t\t<textarea id="${messageReplyId}_${message_index}" class="InputBox"\></textarea\>\r\n\t\t\t\t\t<a href="#" onclick="WIDGETINSTANCE.sendMessage(\'${messageReplyId}_${message_index}\', \'${message.FromUser.UserKey.Key}\'); return false;" class="Button_Blue"\>SEND</a\>\r\n\t\t\t\t</div\>\r\n\t\t\t{/if}\r\n\t\t</li\>\r\n\t{/for}\r\n</ul\>\r\n<div class="FLC"\>\r\n\t<ul class="Pagination"\>\r\n        {if paginationVars.firstPageNum}<li\><a href="javascript:void(0);" onclick="javascript: WIDGETINSTANCE.firstPage();"\>&laquo; First</a\> |</li\>{/if}\r\n\t    {if paginationVars.prevPageNum}<li\><a href="javascript:void(0);" onclick="javascript: WIDGETINSTANCE.prevPage();"\>Previous</a\>{if paginationVars.nextPageNum} |{/if}</li\>{/if}\r\n\t    {if paginationVars.nextPageNum}<li\><a href="javascript:void(0);" onclick="javascript: WIDGETINSTANCE.nextPage();"\>Next</a\> |</li\>{/if}\r\n\t    {if paginationVars.lastPageNum}<li\><a href="javascript:void(0);" onclick="javascript: WIDGETINSTANCE.lastPage();"\>Last &raquo;</a\></li\>{/if}\r\n    </ul\>\r\n</div\>\r\n{if !isSelf}\r\n\t<div\>\r\n\t\t<div class="Message"\></div\>\r\n\t\t<div class="Form1"\>\r\n\t\t\t{if getCurrentUser().UserKey.Key != "anonymous"}\r\n\t\t\t\t{if status == "Friend"}\r\n\t\t\t\t\t<label\>Write a note to ${profileUser.DisplayName}:</label\>\r\n\t\t\t\t\t<textarea id="sendMessage3rd" class="InputBox"\></textarea\>\r\n\t\t\t\t\t<a href="#" onclick="WIDGETINSTANCE.sendMessage(\'sendMessage3rd\', \'${profileUser.UserKey.Key}\'); return false;" class="Button_Blue"\>SEND</a\>\r\n\t\t\t\t{elseif status == "Pending"}\r\n\t\t\t\t\t<p\>You can leave a note when your friend request is approved.</p\>\r\n\t\t\t\t{elseif status == "NotFriend"}\r\n\t\t\t\t\t<p\><a href="#" onclick="WIDGETINSTANCE.addFriend(); return false;"\>Add ${profileUser.DisplayName} to your friends</a\> to leave a note!</p\>\r\n\t\t\t\t{/if}\r\n\t\t\t\t\r\n\t\t\t{else}\r\n\t\t\t\t<label\>You must be logged in to leave a message.</label\>\r\n\t\t\t{/if}\r\n\t\t</div\>\r\n\t</div\>\r\n{/if}\r\n<input type="hidden" id="deleteMessage" value="Are you sure you want to delete this message?"/\>\r\n${confirmationBox}\r\n';

slEHowProfileFriendsNoteWidget.prototype.addChildWidgets = function() {
	this.addConfirmationBoxAsChild();
};

slEHowProfileFriendsNoteWidget.prototype.addRequests = function() {
	if (!this.context.onPage)
		this.context.onPage = this.context.options.onPage;
	this.context.messageReplyId = PluckSlWidgetHelper.createUniqueId("messageReply");
	this.context.isSelf = (this.getCurrentUser().UserKey.Key == this.context.options.userKey);
	this.autoRender = false;
	this.makeRequest();
};

slEHowProfileFriendsNoteWidget.prototype.buildRequests = function() {
	var requests = new Array();
	requests.push(new PersonaMessagePage(new UserKey(this.context.options.userKey), this.context.options.numberPerPage, this.context.onPage, this.context.options.sort));
	requests.push(new UserKey(this.context.options.userKey));
	requests.push(new IsFriend(new UserKey(this.context.options.userKey), new UserKey(this.getCurrentUser().UserKey.Key)));
	return requests;
};

slEHowProfileFriendsNoteWidget.prototype.makeRequest = function() {
	var requests = this.buildRequests();

	var me = this;
	this.sendRequests(requests, function(data) {
		me.buildContextFromResponses(data);

		// finished retrieving info... time to load the widget
		me.autoRender = true;
		me.processTemplates();
		me.render();
	});
};

slEHowProfileFriendsNoteWidget.prototype.buildContextFromResponses = function(data) {
	var responses;
	if (data.Messages) {
		this.context.status = data.Messages[0].Message;
		responses = data.Responses;
	}
	else {
		responses = data;
	}
	if (responses.length != 0) {
		if (responses[0].PersonaMessagePage) {
			var messagePage = responses[0].PersonaMessagePage;
			this.context.messages = messagePage.Messages;
			this.setPaginationState(messagePage.NumberOfMessages, messagePage.OnPage, messagePage.NumberPerPage);
		}
		if (responses[1].User) {
			this.context.profileUser = responses[1].User;
		}
	}
};


slEHowProfileFriendsNoteWidget.prototype.showReplyForm = function(formId) {
	$("#"+formId).parent().slideToggle();
};


slEHowProfileFriendsNoteWidget.prototype.sendMessage = function(formId, toUserKey) {
	var message = $("#"+formId).val();

	var me = this;
	var requests = new Array();
	requests.push(new AddPersonaMessageAction(new UserKey(toUserKey), message));
	this.sendRequests(requests, function(data) {
		var isSelf = (me.getCurrentUser().UserKey.Key == me.context.options.userKey);
		var form = $("#"+formId).parent();
		var msg = form.parent().find(".Message");
		if (data.Messages[0].Message == "ok") {
			if (isSelf) {
			    form.slideUp();
			    msg.html("Message has been sent").fadeIn();
			} else {
		        me.execute();
		    }
		}
		else {
			msg.html(data.Messages[0].Message).fadeIn();
		}
	});

};

slEHowProfileFriendsNoteWidget.prototype.deleteMessage = function(messageKey) {
	var me = this;
	this.showConfirmation("deleteMessage", function() {
		var deleteRequest = new Array();
		deleteRequest.push(new RemovePersonaMessageAction(new PersonaMessageKey(messageKey)));
		me.sendRequests(deleteRequest, function(data) {
			me.execute();
		});
	});
};

slEHowProfileFriendsNoteWidget.prototype.postRender = function() {
	PrettyDate.execute();
};

slEHowProfileFriendsNoteWidget.prototype.addFriend = function() {
	var me = this;
	this.sendRequests([new AddFriendAction(new UserKey(this.context.options.userKey))], function(data) {
		me.execute();
	});
};
};
	    
    });
})();
if (typeof window.slMessageBox == 'undefined') {
	slMessageBox = function() { }
};

(function(){
	
	slwidgets.widgetLoader.load(['' + dlabs.settings.urls.siteLifeBase + '/content/widgets/globalOptions.js'], function() {
	    if (typeof slMessageBox.__code === 'undefined') {

		    slMessageBox.__code = true;
slMessageBox.prototype = new slwidgets.slWidgetBase();

slMessageBox.prototype.template = '<div style="display:none;"\>\r\n\t<div class="slModal slMessageBox" id="${uniqueModalId}"\>\r\n\t\t<div class="slModalTR"\></div\><div class="slMessageBoxModalTL"\></div\>\r\n\t\t<div class="slModalCL"\><div class="slModalCR"\>\r\n\t\t\t<div class="slReplyTitle"\><div id="${uniqueMessageId}"\></div\></div\>\r\n\t\t    <div class="slForm"\>\r\n\t\t\t    <div class="slButtons slFLC"\>\r\n\t\t\t\t    {if options.notification}\r\n\t\t\t\t\t\t<a href="#" onclick="javascript: WIDGETINSTANCE.okClicked();" class="slButton1"\><span class="slButton1_Right"\>Ok</span\></a\>\r\n\t\t\t\t\t{else}\r\n\t\t\t\t\t\t<a href="#" onclick="javascript: WIDGETINSTANCE.yesClicked();" class="slButton1"\><span class="slButton1_Right"\>Yes</span\></a\>\r\n\t\t\t\t\t    <a href="#" onclick="javascript: WIDGETINSTANCE.noClicked();" class="slButton1"\><span class="slButton1_Right"\>No</span\></a\>\r\n\t\t\t\t\t{/if}\r\n\t\t\t    </div\>\r\n\t\t    </div\>\r\n\t\t</div\></div\>\r\n\t\t<div class="slModalBR"\></div\><div class="slMessageBoxModalBL"\></div\>\r\n\t</div\>\r\n\t<div class="slModalBg"\></div\>\r\n</div\>\r\n\r\n\r\n\r\n';

slMessageBox.prototype.addRequests = function() {
	this.context.uniqueModalId = PluckSlWidgetHelper.createUniqueId('modal');
	this.context.uniqueMessageId = PluckSlWidgetHelper.createUniqueId('modal');
};

slMessageBox.prototype.buildContextFromResponses = function(responses) {
};

slMessageBox.prototype.show = function(positiveCallback, negativeCallback) {
	var modalElem = document.getElementById(this.context.uniqueModalId);
	
	// Make the PARENT visible (includes dialog and background)
	modalElem.parentNode.style.display = 'block';		
	
	//Position box in the center of the screen.
	var newLeft = Math.floor(document.documentElement.scrollLeft + (document.documentElement.clientWidth/2) - (modalElem.clientWidth/2));
	var newTop = Math.floor(document.documentElement.scrollTop + (document.documentElement.clientHeight/2) - (modalElem.clientHeight/2));
	if(newLeft < 0) newLeft = 0;
	if(newTop < 0) newTop = 0;
	modalElem.style.left = newLeft + "px";
	modalElem.style.top = newTop + "px";
	
	if (positiveCallback) {
		this.positiveCallback = positiveCallback;	
	}
	if (negativeCallback) {
	    this.negativeCallback = negativeCallback;
	};
	
	return false;
};

slMessageBox.prototype.hide = function() {
	var modalElem = document.getElementById(this.context.uniqueModalId);
	//modalElem.setAttribute("style", "display:none;");
	modalElem.parentNode.style.display = 'none';
};

slMessageBox.prototype.okClicked = function() {
	this.hide();
	if (this.positiveCallback) {
		this.positiveCallback();
	}
};

slMessageBox.prototype.yesClicked = function() {
	this.hide();
	if (this.positiveCallback) {
		this.positiveCallback();
	}
};

slMessageBox.prototype.noClicked = function() {
	this.hide();
	if (this.negativeCallback) {
	    this.negativeCallback();
	}
};

slMessageBox.prototype.setDialogMessage = function(displayMessage) {
	document.getElementById(this.context.uniqueMessageId).innerHTML = displayMessage;	
};};
	    
    });
})();
if (typeof window.slEHowProfilePendingFriendsWidget == 'undefined') {
	slEHowProfilePendingFriendsWidget = function() { }
};

(function(){
	
	slwidgets.widgetLoader.load(['' + dlabs.settings.urls.siteLifeBase + '/content/widgets/globalOptions.js'], function() {
	    if (typeof slEHowProfilePendingFriendsWidget.__code === 'undefined') {

		    slEHowProfilePendingFriendsWidget.__code = true;
slEHowProfilePendingFriendsWidget.prototype = new slwidgets.slPagingWidgetBase();

slEHowProfilePendingFriendsWidget.prototype.template = '<div class="Box5"\>\r\n\t<div class="box5Header Heading4a"\>\r\n\t\tPending Friends\r\n\t</div\>\r\n\t<div class="box5SubHeader FLC"\>\r\n\t\t<ul class="Pagination"\>\r\n            {if paginationVars.firstPageNum}<li\><a href="javascript:void(0);" onclick="javascript: WIDGETINSTANCE.firstPage();"\>&laquo; First</a\> |</li\>{/if}\r\n\t\t    {if paginationVars.prevPageNum}<li\><a href="javascript:void(0);" onclick="javascript: WIDGETINSTANCE.prevPage();"\>Previous</a\>{if paginationVars.nextPageNum} |{/if}</li\>{/if}\r\n\t\t    {if paginationVars.nextPageNum}<li\><a href="javascript:void(0);" onclick="javascript: WIDGETINSTANCE.nextPage();"\>Next</a\> |</li\>{/if}\r\n\t\t    {if paginationVars.lastPageNum}<li\><a href="javascript:void(0);" onclick="javascript: WIDGETINSTANCE.lastPage();"\>Last &raquo;</a\></li\>{/if}\r\n        </ul\>\r\n\t</div\>\r\n\t<div class="box5Content"\>\r\n\t\t{if pendingFriends.length != 0}\r\n\t\t<ul id="${pendingFriendsListId}" class="List3"\>\r\n\t\t\t{for pendingFriend in pendingFriends}\r\n\t\t\t\t<li\>\r\n\t\t\t\t\t<div class="options"\><a href="#" onclick="WIDGETINSTANCE.approveUser(\'${pendingFriend.UserKey.Key}\'); return false;"\>Approve</a\> | <a href="#" onclick="WIDGETINSTANCE.denyUser(\'${pendingFriend.UserKey.Key}\'); return false;"\>Deny</a\></div\>\r\n\t\t\t\t\t<input type="checkbox" class="checkbox" /\>\r\n\t\t\t\t\t<input type="hidden" value="${pendingFriend.UserKey.Key}"/\>\r\n\t\t\t\t\t<a href="${pendingFriend.PersonaUrl}"\><img class="avatar" src="${pendingFriend.AvatarPhotoUrl}" width="21" height="21" /\></a\>\r\n\t\t\t\t\t<a href="${pendingFriend.PersonaUrl}"\>${pendingFriend.DisplayName}</a\>\r\n\t\t\t\t</li\>\r\n\t\t\t{/for}\r\n\t\t</ul\>\r\n\t\t<p\><a href="#" onclick="WIDGETINSTANCE.approveSelected(); return false;"\>Approve All Selected</a\> | <a href="#" onclick="WIDGETINSTANCE.denySelected(); return false;"\>Deny All Selected</a\></p\>\r\n\t\t{else}\r\n\t\t\t<p\>No Pending Friends</p\>\r\n\t\t{/if}\r\n\t</div\>\r\n\t<div class="box5SubHeader FLC"\>\r\n\t\t<ul class="Pagination"\>\r\n            {if paginationVars.firstPageNum}<li\><a href="javascript:void(0);" onclick="javascript: WIDGETINSTANCE.firstPage();"\>&laquo; First</a\> |</li\>{/if}\r\n\t\t    {if paginationVars.prevPageNum}<li\><a href="javascript:void(0);" onclick="javascript: WIDGETINSTANCE.prevPage();"\>Previous</a\>{if paginationVars.nextPageNum} |{/if}</li\>{/if}\r\n\t\t    {if paginationVars.nextPageNum}<li\><a href="javascript:void(0);" onclick="javascript: WIDGETINSTANCE.nextPage();"\>Next</a\> |</li\>{/if}\r\n\t\t    {if paginationVars.lastPageNum}<li\><a href="javascript:void(0);" onclick="javascript: WIDGETINSTANCE.lastPage();"\>Last &raquo;</a\></li\>{/if}\r\n        </ul\>\r\n\t</div\>\r\n</div\>\r\n<input type="hidden" id="denyFriend" value="Are you sure you want to deny this friend request?"/\>\r\n<input type="hidden" id="denyFriends" value="Are you sure you want to deny these friend requests?"/\>\r\n${confirmationBox}\r\n';

slEHowProfilePendingFriendsWidget.prototype.addChildWidgets = function() {
	this.addConfirmationBoxAsChild();
};

slEHowProfilePendingFriendsWidget.prototype.addRequests = function() {
	this.context.pendingFriendsListId = PluckSlWidgetHelper.createUniqueId("pendingFriendsList");
	if (!this.context.onPage)
		this.context.onPage = this.context.options.onPage;
	this.context.isSelf = (this.getCurrentUser().UserKey.Key == this.context.options.userKey);
	if (this.context.isSelf) {
		this.autoRender = false;
		this.makeRequest();
	}
};

slEHowProfilePendingFriendsWidget.prototype.buildRequests = function() {
	var requests = new Array();
	requests.push(new FriendPage(new UserKey(this.context.options.userKey), this.context.options.numberPerPage, this.context.onPage, true));
	return requests;
};

slEHowProfilePendingFriendsWidget.prototype.makeRequest = function() {
	var requests = this.buildRequests();

	var me = this;
	this.sendRequests(requests, function(data) {
		me.buildContextFromResponses(data.Responses);

		// finished retrieving info... time to load the widget
		me.autoRender = true;
		me.processTemplates();
		me.render();
	});
};

slEHowProfilePendingFriendsWidget.prototype.buildContextFromResponses = function(responses) {
	if (responses.length != 0) {
		if (responses[0].FriendPage) {
			var friendPage = responses[0].FriendPage;
			this.context.pendingFriends = friendPage.Friends;
			this.setPaginationState(friendPage.NumberOfFriends, friendPage.OnPage, friendPage.NumberPerPage);
		}
	}
};

slEHowProfilePendingFriendsWidget.prototype.approveUser = function(userKey) {
	var me = this;
	this.sendRequests([new ApproveFriendAction(new UserKey(userKey), true)], function(data) {
		me.addToRecentActivity(userKey);
		me.execute();
	});
};

slEHowProfilePendingFriendsWidget.prototype.addToRecentActivity = function(userKey) {
	$.get("/ajax/friends.aspx?uid="+userKey, function(data) {
	});
};

slEHowProfilePendingFriendsWidget.prototype.denyUser = function(userKey) {
	var me = this;
	this.showConfirmation("denyFriend", function() {
		me.sendRequests([new ApproveFriendAction(new UserKey(userKey), false)], function(data) {
			me.execute();
		});
	});
};

slEHowProfilePendingFriendsWidget.prototype.approveSelected = function() {
	var approveRequest = new Array();
	var userKeys = new Array();
	$("#"+this.context.pendingFriendsListId+" :checked").each(function(i) {
		var userKey = $(this).parent().find(":hidden").val();
		approveRequest.push(new ApproveFriendAction(new UserKey(userKey), true));
		userKeys.push(userKey);
	});
	var me = this;
	this.sendRequests(approveRequest, function(data) {
		for (var userKey in userKeys) {
			me.addToRecentActivity(userKey);
		}
		me.execute();
	});
};

slEHowProfilePendingFriendsWidget.prototype.denySelected = function() {
	var me = this;
	this.showConfirmation("denyFriends", function() {
		var denyRequest = new Array();
		$("#"+me.context.pendingFriendsListId+" :checked").each(function(i) {
			var userKey = $(this).parent().find(":hidden").val();
			denyRequest.push(new ApproveFriendAction(new UserKey(userKey), false));
		});
		me.sendRequests(denyRequest, function(data) {
			me.execute();
		});
	});
};
};
	    
    });
})();
if (typeof window.slMessageBox == 'undefined') {
	slMessageBox = function() { }
};

(function(){
	
	slwidgets.widgetLoader.load(['' + dlabs.settings.urls.siteLifeBase + '/content/widgets/globalOptions.js'], function() {
	    if (typeof slMessageBox.__code === 'undefined') {

		    slMessageBox.__code = true;
slMessageBox.prototype = new slwidgets.slWidgetBase();

slMessageBox.prototype.template = '<div style="display:none;"\>\r\n\t<div class="slModal slMessageBox" id="${uniqueModalId}"\>\r\n\t\t<div class="slModalTR"\></div\><div class="slMessageBoxModalTL"\></div\>\r\n\t\t<div class="slModalCL"\><div class="slModalCR"\>\r\n\t\t\t<div class="slReplyTitle"\><div id="${uniqueMessageId}"\></div\></div\>\r\n\t\t    <div class="slForm"\>\r\n\t\t\t    <div class="slButtons slFLC"\>\r\n\t\t\t\t    {if options.notification}\r\n\t\t\t\t\t\t<a href="#" onclick="javascript: WIDGETINSTANCE.okClicked();" class="slButton1"\><span class="slButton1_Right"\>Ok</span\></a\>\r\n\t\t\t\t\t{else}\r\n\t\t\t\t\t\t<a href="#" onclick="javascript: WIDGETINSTANCE.yesClicked();" class="slButton1"\><span class="slButton1_Right"\>Yes</span\></a\>\r\n\t\t\t\t\t    <a href="#" onclick="javascript: WIDGETINSTANCE.noClicked();" class="slButton1"\><span class="slButton1_Right"\>No</span\></a\>\r\n\t\t\t\t\t{/if}\r\n\t\t\t    </div\>\r\n\t\t    </div\>\r\n\t\t</div\></div\>\r\n\t\t<div class="slModalBR"\></div\><div class="slMessageBoxModalBL"\></div\>\r\n\t</div\>\r\n\t<div class="slModalBg"\></div\>\r\n</div\>\r\n\r\n\r\n\r\n';

slMessageBox.prototype.addRequests = function() {
	this.context.uniqueModalId = PluckSlWidgetHelper.createUniqueId('modal');
	this.context.uniqueMessageId = PluckSlWidgetHelper.createUniqueId('modal');
};

slMessageBox.prototype.buildContextFromResponses = function(responses) {
};

slMessageBox.prototype.show = function(positiveCallback, negativeCallback) {
	var modalElem = document.getElementById(this.context.uniqueModalId);
	
	// Make the PARENT visible (includes dialog and background)
	modalElem.parentNode.style.display = 'block';		
	
	//Position box in the center of the screen.
	var newLeft = Math.floor(document.documentElement.scrollLeft + (document.documentElement.clientWidth/2) - (modalElem.clientWidth/2));
	var newTop = Math.floor(document.documentElement.scrollTop + (document.documentElement.clientHeight/2) - (modalElem.clientHeight/2));
	if(newLeft < 0) newLeft = 0;
	if(newTop < 0) newTop = 0;
	modalElem.style.left = newLeft + "px";
	modalElem.style.top = newTop + "px";
	
	if (positiveCallback) {
		this.positiveCallback = positiveCallback;	
	}
	if (negativeCallback) {
	    this.negativeCallback = negativeCallback;
	};
	
	return false;
};

slMessageBox.prototype.hide = function() {
	var modalElem = document.getElementById(this.context.uniqueModalId);
	//modalElem.setAttribute("style", "display:none;");
	modalElem.parentNode.style.display = 'none';
};

slMessageBox.prototype.okClicked = function() {
	this.hide();
	if (this.positiveCallback) {
		this.positiveCallback();
	}
};

slMessageBox.prototype.yesClicked = function() {
	this.hide();
	if (this.positiveCallback) {
		this.positiveCallback();
	}
};

slMessageBox.prototype.noClicked = function() {
	this.hide();
	if (this.negativeCallback) {
	    this.negativeCallback();
	}
};

slMessageBox.prototype.setDialogMessage = function(displayMessage) {
	document.getElementById(this.context.uniqueMessageId).innerHTML = displayMessage;	
};};
	    
    });
})();
if (typeof window.slEHowProfileMyFriendsListWidget == 'undefined') {
	slEHowProfileMyFriendsListWidget = function() { }
};

(function(){
	
	slwidgets.widgetLoader.load(['' + dlabs.settings.urls.siteLifeBase + '/content/widgets/globalOptions.js'], function() {
	    if (typeof slEHowProfileMyFriendsListWidget.__code === 'undefined') {

		    slEHowProfileMyFriendsListWidget.__code = true;
slEHowProfileMyFriendsListWidget.prototype = new slwidgets.slPagingWidgetBase();

slEHowProfileMyFriendsListWidget.prototype.template = '<div class="Box5"\>\r\n\t<div class="box5Header Heading4a"\>Friends (${friendsCount})</div\>\r\n\t<div class="box5SubHeader FLC"\>\r\n\t\t<ul class="Pagination"\>\r\n            {if paginationVars.firstPageNum}<li\><a href="javascript:void(0);" onclick="javascript: WIDGETINSTANCE.firstPage();"\>&laquo; First</a\> |</li\>{/if}\r\n\t\t    {if paginationVars.prevPageNum}<li\><a href="javascript:void(0);" onclick="javascript: WIDGETINSTANCE.prevPage();"\>Previous</a\>{if paginationVars.nextPageNum} |{/if}</li\>{/if}\r\n\t\t    {if paginationVars.nextPageNum}<li\><a href="javascript:void(0);" onclick="javascript: WIDGETINSTANCE.nextPage();"\>Next</a\> |</li\>{/if}\r\n\t\t    {if paginationVars.lastPageNum}<li\><a href="javascript:void(0);" onclick="javascript: WIDGETINSTANCE.lastPage();"\>Last &raquo;</a\></li\>{/if}\r\n        </ul\>\r\n\t</div\>\r\n\t<div class="box5Content"\>\r\n\t\t<ul class="List1"\>\r\n\t\t\t{for friend in friends}\r\n\t\t\t\t<li class="FLC"\>\r\n\t\t\t\t\t<a href="${friend.PersonaUrl}"\><img class="avatar" src="${friend.AvatarPhotoUrl}" width="55" height="55" /\></a\>\r\n\t\t\t\t\t<strong\><a href="${friend.PersonaUrl}"\>${friend.DisplayName}</a\></strong\>\r\n\t\t\t\t\t<p\><a href="#" onclick="WIDGETINSTANCE.removeFriend(\'${friend.UserKey.Key}\'); return false;"\>Remove Friend</a\> | <a href="${urls.privateMessaging.composeWithTo(friend.UserKey.Key)}"\>Send a Message</a\></p\>\r\n\t\t\t\t</li\>\r\n\t\t\t{/for}\r\n\t\t</ul\>\r\n\t</div\>\r\n\t<div class="box5SubHeader FLC"\>\r\n\t\t<ul class="Pagination"\>\r\n            {if paginationVars.firstPageNum}<li\><a href="javascript:void(0);" onclick="javascript: WIDGETINSTANCE.firstPage();"\>&laquo; First</a\> |</li\>{/if}\r\n\t\t    {if paginationVars.prevPageNum}<li\><a href="javascript:void(0);" onclick="javascript: WIDGETINSTANCE.prevPage();"\>Previous</a\>{if paginationVars.nextPageNum} |{/if}</li\>{/if}\r\n\t\t    {if paginationVars.nextPageNum}<li\><a href="javascript:void(0);" onclick="javascript: WIDGETINSTANCE.nextPage();"\>Next</a\> |</li\>{/if}\r\n\t\t    {if paginationVars.lastPageNum}<li\><a href="javascript:void(0);" onclick="javascript: WIDGETINSTANCE.lastPage();"\>Last &raquo;</a\></li\>{/if}\r\n        </ul\>\r\n\t</div\>\r\n</div\>\r\n<input type="hidden" id="removeFriend" value="Are you sure you want to remove this friend?"/\>\r\n${confirmationBox}\r\n';

slEHowProfileMyFriendsListWidget.prototype.addChildWidgets = function() {
	this.addConfirmationBoxAsChild();
};

slEHowProfileMyFriendsListWidget.prototype.addRequests = function() {
	if (!this.context.onPage)
		this.context.onPage = this.context.options.onPage;
	this.context.isSelf = (this.getCurrentUser().UserKey.Key == this.context.options.userKey);
	if (this.context.isSelf) {
	    this.autoRender = false;
	    this.makeRequest();
	}
};

slEHowProfileMyFriendsListWidget.prototype.buildRequests = function() {
	var requests = new Array();
	requests.push(new FriendPage(new UserKey(this.context.options.userKey), this.context.options.numberPerPage, this.context.onPage, false));
	return requests;
};

slEHowProfileMyFriendsListWidget.prototype.makeRequest = function() {
	var requests = this.buildRequests();

	var me = this;
	this.sendRequests(requests, function(data) {
		me.buildContextFromResponses(data.Responses);

		// finished retrieving info... time to load the widget
		me.autoRender = true;
		me.processTemplates();
		me.render();
	});
};

slEHowProfileMyFriendsListWidget.prototype.buildContextFromResponses = function(responses) {
	if (responses.length != 0) {
		if (responses[0].FriendPage) {
			var friendPage = responses[0].FriendPage;
			this.context.friends = friendPage.Friends;
			this.context.friendsCount = friendPage.NumberOfFriends;
			this.setPaginationState(friendPage.NumberOfFriends, friendPage.OnPage, friendPage.NumberPerPage);
		}
	}
};

slEHowProfileMyFriendsListWidget.prototype.removeFriend = function(userKey) {
	var me = this;
	this.showConfirmation('removeFriend', function() {
		me.sendRequests([new RemoveFriendAction(new UserKey(userKey))], function(data) {
			me.execute();
		});
	});
};

};
	    
    });
})();
if (typeof window.slEHowProfileFriendsList == 'undefined') {
	slEHowProfileFriendsList = function() { }
};

(function(){
	
	slwidgets.widgetLoader.load(['' + dlabs.settings.urls.siteLifeBase + '/content/widgets/globalOptions.js'], function() {
	    if (typeof slEHowProfileFriendsList.__code === 'undefined') {

		    slEHowProfileFriendsList.__code = true;
slEHowProfileFriendsList.prototype = new slwidgets.slPagingWidgetBase();

slEHowProfileFriendsList.prototype.template = '{if options.defaultFriendKey != options.userKey}\r\n<div class="Box5 slFaceroll FLC"\>\r\n    <div class="box5Header"\>\r\n\t\t{if options.showMoreLink}<a href="${slEHowUrls.persona.friends(options.userKey)}"\>More Friends</a\>{/if}\r\n        <div class="Heading4a"\>Friends (${friendsCount})</div\>\r\n    </div\>\r\n\t<div class="box5SubHeader FLC"\>\r\n\t\t<ul class="Pagination"\>\r\n            {if paginationVars.firstPageNum}<li\><a href="javascript:void(0);" onclick="javascript: WIDGETINSTANCE.firstPage();"\>&laquo; First</a\> |</li\>{/if}\r\n\t\t    {if paginationVars.prevPageNum}<li\><a href="javascript:void(0);" onclick="javascript: WIDGETINSTANCE.prevPage();"\>Previous</a\>{if paginationVars.nextPageNum} |{/if}</li\>{/if}\r\n\t\t    {if paginationVars.nextPageNum}<li\><a href="javascript:void(0);" onclick="javascript: WIDGETINSTANCE.nextPage();"\>Next</a\> |</li\>{/if}\r\n\t\t    {if paginationVars.lastPageNum}<li\><a href="javascript:void(0);" onclick="javascript: WIDGETINSTANCE.lastPage();"\>Last &raquo;</a\></li\>{/if}\r\n        </ul\>\r\n\t</div\>\r\n    <div class="box5Content"\>\r\n        <div id="Faceroll" class="FLC"\>\r\n            {for friend in friends}\r\n\t\t\t\t<a href="${friend.PersonaUrl}" title="${friend.DisplayName}"\><img alt="${friend.DisplayName}" src="${friend.AvatarPhotoUrl}" /\></a\>\r\n\t        {/for}\r\n\t\t\t{if defaultFriend && friends.length < options.numberPerPage}\r\n\t\t\t\t<a href="${defaultFriend.PersonaUrl}" title="${defaultFriend.DisplayName}"\><img alt="${defaultFriend.DisplayName}" src="${defaultFriend.AvatarPhotoUrl}"\></a\>\r\n\t\t\t{/if}\r\n        </div\>\r\n    </div\>\r\n\t<div class="box5SubHeader FLC"\>\r\n\t\t<ul class="Pagination"\>\r\n            {if paginationVars.firstPageNum}<li\><a href="javascript:void(0);" onclick="javascript: WIDGETINSTANCE.firstPage();"\>&laquo; First</a\> |</li\>{/if}\r\n\t\t    {if paginationVars.prevPageNum}<li\><a href="javascript:void(0);" onclick="javascript: WIDGETINSTANCE.prevPage();"\>Previous</a\>{if paginationVars.nextPageNum} |{/if}</li\>{/if}\r\n\t\t    {if paginationVars.nextPageNum}<li\><a href="javascript:void(0);" onclick="javascript: WIDGETINSTANCE.nextPage();"\>Next</a\> |</li\>{/if}\r\n\t\t    {if paginationVars.lastPageNum}<li\><a href="javascript:void(0);" onclick="javascript: WIDGETINSTANCE.lastPage();"\>Last &raquo;</a\></li\>{/if}\r\n        </ul\>\r\n\t</div\>\r\n</div\>\r\n{/if}\r\n';

slEHowProfileFriendsList.prototype.addChildWidgets = function() {
};

slEHowProfileFriendsList.prototype.addRequests = function() {
	if (!this.context.onPage)
		this.context.onPage = this.context.options.onPage;
	if (this.context.options.defaultFriendKey != this.context.options.UserKey) {
		this.context.isSelf = (this.getCurrentUser().UserKey.Key == this.context.options.userKey);
		this.autoRender = false;
		this.makeRequest();
	}
};

slEHowProfileFriendsList.prototype.makeRequest = function() {

	var requests = this.buildRequests();

	var me = this;
	this.sendRequests(requests, 
		function(data) { 
			var responses = data.Responses;
			me.buildContextFromResponses(responses); 

			// finished retrieving info... time to load the widget
			me.autoRender = true;
			me.processTemplates();
			me.render();

		});
};

slEHowProfileFriendsList.prototype.buildRequests = function() {
	var requests = new Array();

	requests.push(new FriendPage(new UserKey(this.context.options.userKey), this.context.options.numberPerPage, this.context.onPage, false));
	if (this.context.options.defaultFriendKey) {
		requests.push(new UserKey(this.context.options.defaultFriendKey));
	}
	return requests
};

slEHowProfileFriendsList.prototype.buildContextFromResponses = function(responses) {
	if (responses.length != 0 && responses[0].FriendPage) {
		var friendPageResponse = responses[0].FriendPage;
		
		this.context.friends = friendPageResponse.Friends;
		this.context.friendsCount = friendPageResponse.NumberOfFriends;
		
		this.setPaginationState(friendPageResponse.NumberOfFriends, friendPageResponse.OnPage, friendPageResponse.NumberPerPage);
	}
	if (responses.length >= 2 && responses[1].User) {
		this.context.defaultFriend = responses[1].User;
	}
	else {
		this.context.defaultFriend = false;
	}
};
};
	    
    });
})();
if (typeof window.slMessageBox == 'undefined') {
	slMessageBox = function() { }
};

(function(){
	
	slwidgets.widgetLoader.load(['' + dlabs.settings.urls.siteLifeBase + '/content/widgets/globalOptions.js'], function() {
	    if (typeof slMessageBox.__code === 'undefined') {

		    slMessageBox.__code = true;
slMessageBox.prototype = new slwidgets.slWidgetBase();

slMessageBox.prototype.template = '<div style="display:none;"\>\r\n\t<div class="slModal slMessageBox" id="${uniqueModalId}"\>\r\n\t\t<div class="slModalTR"\></div\><div class="slMessageBoxModalTL"\></div\>\r\n\t\t<div class="slModalCL"\><div class="slModalCR"\>\r\n\t\t\t<div class="slReplyTitle"\><div id="${uniqueMessageId}"\></div\></div\>\r\n\t\t    <div class="slForm"\>\r\n\t\t\t    <div class="slButtons slFLC"\>\r\n\t\t\t\t    {if options.notification}\r\n\t\t\t\t\t\t<a href="#" onclick="javascript: WIDGETINSTANCE.okClicked();" class="slButton1"\><span class="slButton1_Right"\>Ok</span\></a\>\r\n\t\t\t\t\t{else}\r\n\t\t\t\t\t\t<a href="#" onclick="javascript: WIDGETINSTANCE.yesClicked();" class="slButton1"\><span class="slButton1_Right"\>Yes</span\></a\>\r\n\t\t\t\t\t    <a href="#" onclick="javascript: WIDGETINSTANCE.noClicked();" class="slButton1"\><span class="slButton1_Right"\>No</span\></a\>\r\n\t\t\t\t\t{/if}\r\n\t\t\t    </div\>\r\n\t\t    </div\>\r\n\t\t</div\></div\>\r\n\t\t<div class="slModalBR"\></div\><div class="slMessageBoxModalBL"\></div\>\r\n\t</div\>\r\n\t<div class="slModalBg"\></div\>\r\n</div\>\r\n\r\n\r\n\r\n';

slMessageBox.prototype.addRequests = function() {
	this.context.uniqueModalId = PluckSlWidgetHelper.createUniqueId('modal');
	this.context.uniqueMessageId = PluckSlWidgetHelper.createUniqueId('modal');
};

slMessageBox.prototype.buildContextFromResponses = function(responses) {
};

slMessageBox.prototype.show = function(positiveCallback, negativeCallback) {
	var modalElem = document.getElementById(this.context.uniqueModalId);
	
	// Make the PARENT visible (includes dialog and background)
	modalElem.parentNode.style.display = 'block';		
	
	//Position box in the center of the screen.
	var newLeft = Math.floor(document.documentElement.scrollLeft + (document.documentElement.clientWidth/2) - (modalElem.clientWidth/2));
	var newTop = Math.floor(document.documentElement.scrollTop + (document.documentElement.clientHeight/2) - (modalElem.clientHeight/2));
	if(newLeft < 0) newLeft = 0;
	if(newTop < 0) newTop = 0;
	modalElem.style.left = newLeft + "px";
	modalElem.style.top = newTop + "px";
	
	if (positiveCallback) {
		this.positiveCallback = positiveCallback;	
	}
	if (negativeCallback) {
	    this.negativeCallback = negativeCallback;
	};
	
	return false;
};

slMessageBox.prototype.hide = function() {
	var modalElem = document.getElementById(this.context.uniqueModalId);
	//modalElem.setAttribute("style", "display:none;");
	modalElem.parentNode.style.display = 'none';
};

slMessageBox.prototype.okClicked = function() {
	this.hide();
	if (this.positiveCallback) {
		this.positiveCallback();
	}
};

slMessageBox.prototype.yesClicked = function() {
	this.hide();
	if (this.positiveCallback) {
		this.positiveCallback();
	}
};

slMessageBox.prototype.noClicked = function() {
	this.hide();
	if (this.negativeCallback) {
	    this.negativeCallback();
	}
};

slMessageBox.prototype.setDialogMessage = function(displayMessage) {
	document.getElementById(this.context.uniqueMessageId).innerHTML = displayMessage;	
};};
	    
    });
})();
if (typeof window.slEHowProfileIgnoredListWidget == 'undefined') {
	slEHowProfileIgnoredListWidget = function() { }
};

(function(){
	
	slwidgets.widgetLoader.load(['' + dlabs.settings.urls.siteLifeBase + '/content/widgets/globalOptions.js'], function() {
	    if (typeof slEHowProfileIgnoredListWidget.__code === 'undefined') {

		    slEHowProfileIgnoredListWidget.__code = true;
slEHowProfileIgnoredListWidget.prototype = new slwidgets.slPagingWidgetBase();

slEHowProfileIgnoredListWidget.prototype.template = '<div class="Box5"\>\r\n\t<div class="box5Header Heading4a"\>\r\n\t\tIgnored Member List\r\n\t</div\>\r\n\t<div class="box5SubHeader FLC"\>\r\n\t\t<ul class="Pagination"\>\r\n            {if paginationVars.firstPageNum}<li\><a href="javascript:void(0);" onclick="javascript: WIDGETINSTANCE.firstPage();"\>&laquo; First</a\> |</li\>{/if}\r\n\t\t    {if paginationVars.prevPageNum}<li\><a href="javascript:void(0);" onclick="javascript: WIDGETINSTANCE.prevPage();"\>Previous</a\>{if paginationVars.nextPageNum} |{/if}</li\>{/if}\r\n\t\t    {if paginationVars.nextPageNum}<li\><a href="javascript:void(0);" onclick="javascript: WIDGETINSTANCE.nextPage();"\>Next</a\> |</li\>{/if}\r\n\t\t    {if paginationVars.lastPageNum}<li\><a href="javascript:void(0);" onclick="javascript: WIDGETINSTANCE.lastPage();"\>Last &raquo;</a\></li\>{/if}\r\n        </ul\>\r\n\t</div\>\r\n\t<div class="box5Content"\>\r\n\t\t{if ignoredList.length != 0}\r\n\t\t\t<ul class="List3" id="${ignoredListId}"\>\r\n\t\t\t\t{for ignored in ignoredList}\r\n\t\t\t\t<li\>\r\n\t\t\t\t\t<div class="options"\><a href="#" onclick="WIDGETINSTANCE.removeEnemy(\'${ignored.UserKey.Key}\'); return false;"\>Remove</a\></div\>\r\n\t\t\t\t\t<input type="checkbox" class="checkbox" /\>\r\n\t\t\t\t\t<input type="hidden" value="${ignored.UserKey.Key}"/\>\r\n\t\t\t\t\t<a href="${ignored.PersonaUrl}"\><img class="avatar" src="${ignored.ImageUrl}" width="21" height="21" /\></a\>\r\n\t\t\t\t\t<a href="${ignored.PersonaUrl}"\>${ignored.DisplayName}</a\>\r\n\t\t\t\t</li\>\r\n\t\t\t\t{/for}\r\n\t\t\t</ul\>\r\n\t\t\t<p\><a href="#" onclick="WIDGETINSTANCE.removeSelected(); return false;"\>Remove All Selected</a\></p\>\r\n\t\t{else}\r\n\t\t\t<p\>You are not ignoring any users</p\>\r\n\t\t{/if}\r\n\t</div\>\r\n\t<div class="box5SubHeader FLC"\>\r\n\t\t<ul class="Pagination"\>\r\n            {if paginationVars.firstPageNum}<li\><a href="javascript:void(0);" onclick="javascript: WIDGETINSTANCE.firstPage();"\>&laquo; First</a\> |</li\>{/if}\r\n\t\t    {if paginationVars.prevPageNum}<li\><a href="javascript:void(0);" onclick="javascript: WIDGETINSTANCE.prevPage();"\>Previous</a\>{if paginationVars.nextPageNum} |{/if}</li\>{/if}\r\n\t\t    {if paginationVars.nextPageNum}<li\><a href="javascript:void(0);" onclick="javascript: WIDGETINSTANCE.nextPage();"\>Next</a\> |</li\>{/if}\r\n\t\t    {if paginationVars.lastPageNum}<li\><a href="javascript:void(0);" onclick="javascript: WIDGETINSTANCE.lastPage();"\>Last &raquo;</a\></li\>{/if}\r\n        </ul\>\r\n\t</div\>\r\n</div\>\r\n<input type="hidden" id="${removeEnemyMessageId}" value="Are you sure you want to remove this user from your ignored list?"/\>\r\n<input type="hidden" id="${removeSelectedMessageId}" value="Are you sure you want to remove these users from your ignored list?"/\>\r\n${confirmationBox}\r\n';

slEHowProfileIgnoredListWidget.prototype.addChildWidgets = function() {
	this.addConfirmationBoxAsChild();
};

slEHowProfileIgnoredListWidget.prototype.addRequests = function() {
	this.context.ignoredListId = PluckSlWidgetHelper.createUniqueId("ignoredListId");
	this.context.removeEnemyMessageId = PluckSlWidgetHelper.createUniqueId("removeEnemyMessageId");
	this.context.removeSelectedMessageId = PluckSlWidgetHelper.createUniqueId("removeSelectedMessageId");
	if (!this.context.onPage)
		this.context.onPage = this.context.options.onPage;
	this.context.isSelf = (this.getCurrentUser().UserKey.Key == this.context.options.userKey);
	if (this.context.isSelf) {
		this.autoRender = false;
		this.makeRequest();
	}
};

slEHowProfileIgnoredListWidget.prototype.buildRequests = function() {
	var requests = new Array();
	requests.push(new EnemyPage(new UserKey(this.context.options.userKey), this.context.options.numberPerPage, this.context.onPage, "TimeStampDescending"));
	return requests;
};

slEHowProfileIgnoredListWidget.prototype.makeRequest = function() {
	var requests = this.buildRequests();

	var me = this;
	this.sendRequests(requests, function(data) {
		me.buildContextFromResponses(data.Responses);

		// finished retrieving info... time to load the widget
		me.autoRender = true;
		me.processTemplates();
		me.render();
	});
};

slEHowProfileIgnoredListWidget.prototype.buildContextFromResponses = function(responses) {
	if (responses.length != 0 && responses[0].EnemyPage) {
		var enemyPage = responses[0].EnemyPage;
		this.context.ignoredList = enemyPage.EnemyList;
		this.setPaginationState(enemyPage.NumberOfEnemies, enemyPage.OnPage, enemyPage.NumberPerPage);
	}
};

slEHowProfileIgnoredListWidget.prototype.removeEnemy = function(userKey) {
	var me = this;
	this.showConfirmation(this.context.removeEnemyMessageId, function() {
		me.sendRequests([new RemoveEnemyAction(new UserKey(userKey))], function(data) {
			me.execute();
		});
	});
};

slEHowProfileIgnoredListWidget.prototype.removeSelected = function() {
	var me = this;
	this.showConfirmation(this.context.removeSelectedMessageId, function() {
		var removeRequest = new Array();
		$("#"+me.context.ignoredListId+" :checked").each(function(i) {
			var userKey = $(this).parent().find(":hidden").val();
			removeRequest.push(new RemoveEnemyAction(new UserKey(userKey), true));
		});
		me.sendRequests(removeRequest, function(data) {
			me.execute();
		});
	});
};

};
	    
    });
})();

var PLUCKSL_WIDGET_OPTIONS_DEFAULT = {"userKey":"","defaultFriendKey":"","urls":false,"templateId":"","friendsNotes":{"userKey":"_","urls":"_","numberPerPage":"5","onPage":"1","sort":"TimeStampAscending","templateId":"","confirmationBox":{"notification":false,"templateId":""}},"pendingFriends":{"userKey":"_","urls":"_","numberPerPage":"5","onPage":"1","templateId":"","confirmationBox":{"notification":false,"templateId":""}},"myFriendsList":{"userKey":"_","urls":"_","numberPerPage":"5","onPage":"1","templateId":"","confirmationBox":{"notification":false,"templateId":""}},"friendsList":{"urls":"_","userKey":"_","numberPerPage":"10","onPage":"1","showMoreLink":"true","defaultFriendKey":"_","templateId":""},"ignoredList":{"userKey":"_","urls":"_","numberPerPage":"5","onPage":"1","templateId":"","confirmationBox":{"notification":false,"templateId":""}}};
if (typeof window.slEHowProfileFriendsWidget == 'undefined') {
	slEHowProfileFriendsWidget = function() { }
};

(function(){
	var widgetId = slwidgets.widgetLoader.addWidgetDiv();
var localOptions = {};
if (typeof(PLUCKSL_WIDGET_OPTIONS) !== 'undefined') { localOptions = PLUCKSL_WIDGET_OPTIONS; }
var localDefaultOptions = PLUCKSL_WIDGET_OPTIONS_DEFAULT;
	slwidgets.widgetLoader.load(['' + dlabs.settings.urls.siteLifeBase + '/content/widgets/globalOptions.js'], function() {
	    if (typeof slEHowProfileFriendsWidget.__code === 'undefined') {

		    slEHowProfileFriendsWidget.__code = true;
slEHowProfileFriendsWidget.prototype = new slwidgets.slWidgetBase();

slEHowProfileFriendsWidget.prototype.template = '<div id="Column2"\>\r\n\t${friendsNotes}\r\n</div\>\r\n\r\n<div id="Column3"\>\r\n\t{if isSelf}\r\n\t\t${pendingFriends}\r\n\t    ${myFriendsList}\r\n\t\t${ignoredList}\r\n\t{else}\r\n\t    ${friendsList}\r\n\t{/if}\r\n</div\>\r\n';

slEHowProfileFriendsWidget.prototype.addChildWidgets = function() {
	this.addChildWidget('slEHowProfileFriendsNoteWidget', 'friendsNotes');
	this.addChildWidget('slEHowProfilePendingFriendsWidget', 'pendingFriends');
	this.addChildWidget('slEHowProfileMyFriendsListWidget', 'myFriendsList');
	this.addChildWidget('slEHowProfileFriendsList', 'friendsList');
	this.addChildWidget('slEHowProfileIgnoredListWidget', 'ignoredList');
};

slEHowProfileFriendsWidget.prototype.addRequests = function() {
	this.child["friendsList"].context.options.numberPerPage = 20;
	this.child["friendsList"].context.options.showMoreLink = false;
	this.context.isSelf = (this.getCurrentUser().UserKey.Key == this.context.options.userKey);
};

slEHowProfileFriendsWidget.prototype.buildContextFromResponses = function(responses) {
};

};
	    PluckSlWidget.runWidget('slEHowProfileFriendsWidget', widgetId, localDefaultOptions, localOptions);
    });
})();

