


$(document).ready(function(){
initProfileFunctions();
missingAvatarMsg();
});

$(window).scroll(function(){
      $('div.sendMessageWindow').stop().animate({"top": ($(window).scrollTop() + 20) + "px"});
});


function missingAvatarMsg() {
$('div.avatarMissingNotice').fadeIn('slow');
$('div.avatarMissingNotice a').click(function(){$(this).parents('div.avatarMissingNotice').fadeOut('fast'); return false;})
}

function attachSendMessageButton() {
    $('a.editorSendMessage, div.MPdrawer li.buttonSendMessage a, div.MPdrawer li.requestInvite a, ul.groupFunctionButtons li.requestInvite a, ul.groupFunctionButtons li.contactModerator a, ul.profileFunctionButtons li.buttonSendMessage a, a.msgReplySender').unbind('click');


	$('a.editorSendMessage, div.MPdrawer li.buttonSendMessage a,div.MPdrawer li.requestInvite a, ul.groupFunctionButtons li.requestInvite a, ul.groupFunctionButtons li.contactModerator a, ul.profileFunctionButtons li.buttonSendMessage a, a.msgReplySender').click(function(e){
		e.preventDefault();
		e.stopPropagation();
		$('.sendMessageOverlay').remove();
		
		var inviteRequest='';
		if($(this).is('div.MPdrawer li.requestInvite a')){
		    inviteRequest=$(this).parents('.GroupMicroProfile').find('.groupName a').text();
		} 
		if($(this).is('ul.groupFunctionButtons li.requestInvite a')){
		    inviteRequest=$(this).parents('.groupInfo').find('.groupName').text();
		} 	
		
		
		//display send message panel
		$('body').append('<div class="sendMessageOverlay"><div class="mask" > </div><div class="sendMessageWindow" > </div></div>');
		$('div.sendMessageOverlay').height($('body').height() + 50);
		$('div.sendMessageOverlay').width($('body').width());
		$('div.sendMessageWindow').css({"top": ($(window).scrollTop() + 15) + "px"});
		
	    var userID=$(this).attr('href').replace(/#/g, "");
	    var messageLoadURL='newmessage.obyx?recpUser='+userID+'&inv='+inviteRequest;	
	    var messageBody='';
	    
	    //if its a reply source the recipient and message details.
	    if($(this).is('a.msgReplySender')){
	        
	        userID=$(this).parents('.messageBody').find('div.replyRecipient').text();
	        messageLoadURL='newmessage.obyx?recpUser='+userID;	
	        messageLoadURL+='&subject='+$(this).parents('.messageBody').find('div.replySubject').text();
	        messageBody=$(this).parents('.messageBody').find('div.replyMessageBody pre').text();
	    }
	    

		$.get(messageLoadURL,function(data) {
		    $('div.sendMessageWindow').append(data);
		    attachAjaxToForms();
			initProfileFunctions();
			if(messageBody!='') {$('div.sendMessageOverlay').find('textarea').text(messageBody);}
		    $('div.sendMessageOverlay').fadeIn();
		    
		});
		
	});	
    
    
    $('a.msgNewMessageCancel').unbind('click');
	$('a.msgNewMessageCancel').click(function(e){
		e.preventDefault();
		e.stopPropagation();
	    closeSendMessageWindow();
		
	});
	$('a.msgNewMessageMin').click(function(e){
		e.preventDefault();
		e.stopPropagation();
		if($(this).data("colapsed")!= true) {
			$(this).data("colapsed",true);
			$(this).children("img").attr("src","/media/images/MPdrawerToggle_72.gif");
			$(this).children("span").text("Maximise");
			$(this).parents(".newMessageContainer").css({"height":"70px","overflow":"hidden"}).find("p.help,form").hide();
			$(".sendMessageOverlay").addClass("min");
		}
		else {
			$(this).data("colapsed",false);
			$(this).children("img").attr("src","/media/images/MPdrawerToggleUp_73.gif");
			$(this).children("span").text("Minimise");
			$(this).parents(".newMessageContainer").removeAttr("style").find("p.help,form").show();
			$(".sendMessageOverlay").removeClass("min");
		}
	});
    $('a.msgPreview').unbind('click');
    $('a.msgPreview').click(function(){
		if($(this).is('.previewing')){
       		$('div.markituppreview').hide();
       		$('div.markItUp').show();
       		$(this).removeClass('previewing').children('span').html('Preview');
        	return false;
		}else{
       		$('div.markItUp').fadeOut('fast',function(){$('div.markituppreview').fadeIn('fast');});
       		
       		$(this).addClass('previewing').children('span').html('Edit');
        	return false;
		}
    });    
    
    
}



function closeSendMessageWindow() {
    $('div.sendMessageOverlay').fadeOut('normal',function() {
        $('div.sendMessageOverlay').remove();
    })
}


function attachFunctionButton() {
	//unbind to stop multiple events
	$('ul.contactButtons li a').unbind('click');
	$('ul.groupButtons li a').unbind('click');
	$('ul.profileFunctionButtons li a').unbind('click');
	
	//contact buttons
	$('ul.contactButtons li a').click(function(e){
		e.preventDefault();	e.stopPropagation();
		var ele=$(this).parent().parent();
		$.get($(this).attr('href'),function(data){ contactButtonResponse(data,ele); });
	});

	//profile buttons
	$('ul.profileFunctionButtons li a').click(function(e){
		e.preventDefault();	e.stopPropagation();
		var ele=$(this).parent().parent();
		$.get($(this).attr('href'),function(data){ contactButtonResponse(data,ele); });
	});	

	//Group expel buttons
	$('ul.groupButtons li a').click(function(e){
		e.preventDefault();	e.stopPropagation();
		var ele=$(this).parent().parent();
		$.get($(this).attr('href'),function(data){ expelFromGroupBt(data,ele); });
	});
	
	//Leave group button (group microprofile
	$('div.MPdrawer li.leaveGroup a').click(function(e){
		e.preventDefault();	e.stopPropagation();
		var ele=$(this).parent().parent();
		$.get($(this).attr('href'),function(data){ leaveGroupBt(data,ele); });
	});		
	
	attachSendMessageButton();
}

function expelFromGroupBt(data,element,msg) {
    //used to remove the profile item from display
	if(data=='OK') {
		 element.parents('li.profileItem').children.fadeOut();
	}	
}

function leaveGroupBt(data,element,msg) {
    //used to remove the profile item from display
	if(data=='OK') {
	     element.parents('li.profileItem').find('div.groupDescription').text('You have been removed from this group').addClass('notice');
	     forceCloseDrawer();
	}	
}


function contactButtonResponse(data,element) {
    
    
    if(data=='FRIEND') {
        element.children('li.buttonMakeContact').hide();
        element.children('li.buttonMakeFriend').hide();
        element.children('li.buttonRemoveContact').hide();
        element.children('li.buttonRemoveFriend').show();
        element.parents('div.MPwrap').children('div.contactStatusIcons').children('span.friend').addClass('show');
        element.parents('div.MPwrap').children('div.contactStatusIcons').children('span.contact').removeClass('show');
    }
    
    if(data=='CONTACT') {
       element.children('li.buttonMakeContact').hide();
       element.children('li.buttonMakeFriend').show();
       element.children('li.buttonRemoveContact').show();
       element.children('li.buttonRemoveFriend').hide();
       element.parents('div.MPwrap').children('div.contactStatusIcons').children('span.friend').removeClass('show');
       element.parents('div.MPwrap').children('div.contactStatusIcons').children('span.contact').addClass('show');
   
    }
    
    if(data=='NONE') {
       element.children('li.buttonMakeContact').show();
       element.children('li.buttonMakeFriend').show();
       element.children('li.buttonRemoveContact').hide();
       element.children('li.buttonRemoveFriend').hide();
       element.parents('div.MPwrap').children('div.contactStatusIcons').children('span.friend').removeClass('show');
       element.parents('div.MPwrap').children('div.contactStatusIcons').children('span.contact').removeClass('show');
    }
    
    attachFunctionButton();
 
}


function initProfileFunctions() {
	attachFunctionButton();
	
autoRenderBBCodeToHtml();
attachMarkItUp();
initMicroProfile();
attachToolTips();
}


