window.addEvent('domready', function() {

var loginState;
if ($('login_state')) {
	loginState = $('login_state').getProperty('value');
	if (loginState == "1") { loginState = true; } else { loginState = false; }
}


var profileTrigger	= $('spanner').getElement('h1');
var ownerName = profileTrigger.getProperty('name');
var ownerId	= profileTrigger.getProperty('id');
var personId = ownerId;

var profileBox = $('profile');

if (Browser.Engine.trident) {
	new ToggleElement(profileTrigger, profileBox, {slide: false});
} else {
	new ToggleElement(profileTrigger, profileBox);
}


if (loginState) {

///////////////////////////////////////////////////////////////////////////////////////
// AJAX Functions

// Subscribe to Friends/Neighbor
var followAction = function(followButton, followMenu, type, confirmMsg) {
	var loading;

	// var ajaxurl = 'ajax/page_person_infobox.php';
	var ajaxurl = '/InternalAPI/html/live/person-ajax/track';
	
	var followConfirmBox = $('follow_menu_confirm');
	followConfirmBox.getElement('p').set('text', confirmMsg);
	
	
	if (type == "add_preview") {
		var confirmAlert = new OverlayAlert(followConfirmBox, {autoClose: true});
	} else {
		var confirmAlert = new OverlayAlert(followConfirmBox);
		confirmAlert.setupCancel();

		confirmAlert.content.getElement('div.actions button').addEvent('click', function(e) {
			e = new Event(e).stop();

			new Request.JSON({
				url: ajaxurl,
				method: 'get',
				data:	{
					'type': type,
					'personId': personId
				},
				onRequest: function(){
					confirmAlert.closeAlert();
					loading = new LoadingEffect({loadArea: followButton});
					loading.startLoadingLite();
				},
				onSuccess: function(followDone){		
					followButton.setProperty('id', followDone.buttonId);
					followButton.getElement('strong').set('text', followDone.buttonText);
				
					followMenu.getElements('li').each(function(action, i) {
						action.setProperty('id', followDone.actions[i].id);
						action.getElement('strong').set('text', followDone.actions[i].text);
						action.getElement('span').set('text', followDone.actions[i].span);
						action.getElement('.confirm_msg').setProperty('value', followDone.actions[i].confirm);
					});
			
					setupFollowMenu(followMenu);
				},
				onComplete: function(){
					loading.loadingCompletedLite();
				}		
			}).send();
		
		});
	}
};



// Send Private Message 
var sendMessage = function(injectAfter, indicator, content) {
	var loading;
	
	var ajaxurl = '/InternalAPI/html/live/message-ajax/send-message';
	
	new Request({
		url: ajaxurl,
		method: 'post',
		data:	{
			'sendMessage': true,
			'content': content,
			'personId': personId
		},
		onRequest: function(){
			loading = new LoadingEffect({loadArea: indicator});
			loading.startLoadingLite();
		},
		onSuccess: function(responseText, responseXML){
			
			toggleMessageContainer.collapseIt();
			
			var sendMessageResult = new Element('div').inject(injectAfter, 'after').setProperties({
				'id': 'private_message_sent',
				'class': 'highlight_box'
			}).set('html', responseText);
			
			(function() {
				var fx = new Fx.Morph(sendMessageResult, {
					duration: 1400, wait: true, transition: Fx.Transitions.Quad.easeOut
				}).start({'opacity': [1, 0]}).chain(function() { sendMessageResult.dispose(); });
			}).delay(3000);

		},
		onComplete: function(){
			loading.loadingCompletedLite();
		}
	}).send();
};










///////////////////////////////////////////////////////////////////////////////////////
// Sidebar Components



// Follow Button
var followBox;
if (followBox = $('followUser')) {

	var followButton = followBox.getElement('.followButton');

	var alsoDo = function() {
		if (followButton.hasClass('active')) { followBox.addClass('active') }
		else { followBox.removeClass('active') }
	};
	if (Browser.Engine.trident4) {
		var toggleFollowMenu = new ToggleElement(followButton, $('follow_menu'), {
			scroll: false,
			slide: false,
			autoHeight: true,
			alsoDo: alsoDo
		});
	} else {
		var toggleFollowMenu = new ToggleElement(followButton, $('follow_menu'), {
			scroll: false,
			autoHeight: true,
			alsoDo: alsoDo
		});
	}
	
	var setupFollowMenu = function(followMenu) {
		followMenu.getElements('ul li').each(function(action, i) {
			action.getElement('a').removeEvents().addEvent('click', function(e) {
				e = new Event(e).stop();
				toggleFollowMenu.collapseIt();
				followAction(
					followButton,
					followMenu,
					action.getProperty('id'), 
					action.getElement('input.confirm_msg').value
				);
			});
		});
	}
	if ($('follow_menu')) {
		setupFollowMenu($('follow_menu'));
	}

}





// Send a Message
var sendMessageContainer;
if (sendMessageContainer = $('chat_box')) {
	var messageToggleLink = $('send_message');
	
	var privateMessageContent = $('private_message_text');
	var privateMessageButton;
	var previewMode = true;
	if (privateMessageButton = $('private_message_button')) { previewMode = false; }
	
	var toggleMessageAlsoDo = function() {
		toggleFollowMenu.collapseIt();
		
		if (messageToggleLink.hasClass('active')) {
			privateMessageContent.focus();
			followBox.addClass('active');
		} else {
			followBox.removeClass('active');
		}
	};
	var toggleMessageContainer = new ToggleElement(messageToggleLink, sendMessageContainer, {slide: false, alsoDo: toggleMessageAlsoDo});
	
	$('close_chat_box').addEvent('click', function(e) {
		e = new Event(e).stop();
		toggleMessageContainer.collapseIt();
	});
	$('html_tag_allow_url_chat').addEvent('click', function(e) {
		e = new Event(e).stop();
		this.addClass('hide');
		$('html_tag_allow_span_chat').removeClass('hide');
	});
	
	var toggleMessageButton = function() {
		if (!previewMode) {
			if (trim(privateMessageContent.value)!='') {
				privateMessageButton.removeProperty('disabled');
			} else {
				privateMessageButton.setProperty('disabled', 'disabled');
			}
		}
	};
	privateMessageContent.addEvents({
		'focus': function(e) { this.removeClass('input_text_textarea').addClass('input_focus_textarea'); },
		'blur': function(e) { this.removeClass('input_focus_textarea').addClass('input_text_textarea'); },
		'mousedown': function(e) { toggleMessageButton(); },
		'mouseup': function(e) { toggleMessageButton(); },
		'keypress': function(e) { toggleMessageButton(); },
		'keydown': function(e) { toggleMessageButton(); },
		'keyup': function(e) { toggleMessageButton(); }
	});
	if (!previewMode) {
		privateMessageButton.addEvent('click', function(e) {
			e = new Event(e).stop();
			sendMessage($('followUser'), privateMessageContent, privateMessageContent.value);
			privateMessageButton.setProperty('disabled', 'disabled');
			privateMessageContent.value = '';
		});
	}
}



}






});