Array.prototype.findIdx = function(value){
for(var i=0; i < this.length; i++){
if(this[i] == value){
return i;
}}}



//START POST MESSAGE
function postMessage(){
		var id = document.messageForm.id.value;
		var replyID = document.messageForm.replyID.value;
		var posterID = document.messageForm.posterID.value;
		var type = document.messageForm.type.value;
		var subject = document.messageForm.subject.value;
		var comment = document.messageForm.comment.value;
		var displayName = 1;
	
	document.getElementById('messageModalLoader').style.display='';
	document.getElementById('messageModalContent').style.display='none';
	document.getElementById('messageModalErrorTR').style.display='none';
	document.getElementById('messageModalButtons').style.display='none';
	
	var error = checkPost(subject,comment);
	
	setTimeout(function(){
	if(error == false){
		var postVar = new messageClass;
		postVar.post(id,posterID,replyID,type,subject,comment,displayName);
		document.getElementById('messageModal').style.display='none';
		if(type == 'feedback'){ infoJS('Message Submitted','Thank you for your message.'); }
		else{ infoJS('Message Sent','Your message has been sent.'); }
		document.getElementById('messageModalLoader').style.display='none';
		document.getElementById('messageModalErrorTR').style.display='none';
		document.getElementById('messageModalContent').style.display='';
		document.getElementById('messageModalButtons').style.display='';
		document.messageForm.reset();
	}else{
		document.getElementById('messageModalErrorTD').innerHTML = error;
		document.getElementById('messageModalErrorTR').style.display='';
		document.getElementById('messageModalLoader').style.display='none';
		document.getElementById('messageModalContent').style.display='';
		document.getElementById('messageModalButtons').style.display='';
	}},500);
}
//END POST MESSAGE





//START POST COMMENT
function postComment(){
	document.getElementById('loadingModal').style.display='';
	
	var id = document.commentForm.id.value;
	var replyID = document.commentForm.replyID.value;
	var posterID = document.commentForm.posterID.value;
	var type = document.commentForm.type.value;
	var subject = document.commentForm.subject.value;
	var comment = document.commentForm.comment.value;
	if(document.commentForm.displayName.checked == true){ var displayName = 1; }else{ var displayName = 0; }
	
	var error = checkPost(subject,comment);
	
	setTimeout(function(){
	if(error == false){
		document.commentForm.submit();
	}else{
		document.getElementById('loadingModal').style.display='none';
		errorJS('Comment Error',error);
	}},500);
}
//END POST COMMENT




//START CHECK MESSAGE
function checkPost(subject,comment){
	var error;
	
	//SUBJECT
	error = 'Your <b>subject</b> contains invalid characters.';
	var filter = /[<>;]/;
	if(subject != '' && filter.test(subject)){ return error; }
	
	//COMMENT
	error = 'Please enter a valid <b>comment</b>.';
	var filter = /[<>;]/;
	if(comment == ''){ return error; }
	error = 'Your <b>comment</b> contains invalid characters.';
	if(filter.test(comment)){ return error; }
	error = 'Your <b>comment</b> is more than 500 characters long.';
	if(comment.length > 500){ return error; }
	
	return false;
}
//END CHECK MESSAGE





//START REPLY COMMENT
function commentReply(id){
if(id == 0){
	document.getElementById('cancelReply').style.display='none';
	document.commentForm.replyID.value = 0;
}else{
	document.getElementById('cancelReply').style.display='';
	document.commentForm.replyID.value = id;
}}
//END REPLY COMMENT





//START REMOVE POST
function removePost(idArg){	
	var postVar = new messageClass;
	postVar.removePost(idArg);
	infoJS('Post Removed','Content has been removed successfully.');
}
//END REMOVE POST

//START REMOVE NOTIFICATION
function removeNotification(idArg){	
	var postVar = new messageClass;
	postVar.removeNotification(idArg);
}
//END REMOVE NOTIFICATION

//START REMOVE MESSAGE
function removeMessage(idArg){	
	var messageVar = new messageClass;
	messageVar.removeMessage(idArg);
}
//END REMOVE MESSAGE





//START ARCHIVE NOTIFICATION
function archiveNotification(idArg){	
	var postVar = new messageClass;
	postVar.archiveNotification(idArg);
	infoJS('Notification Archived','Successfully archived notification.');
}
//END ARCHIVE NOTIFICATION





//START SHOW MESSAGE MODAL
function showMessageModal(id,replyID,type){
	document.getElementById('messageModal').style.display='';
	document.getElementById(type+'Title').style.display='';
	document.getElementById(type+'Content').style.display='';
	document.messageForm.id.value = id;
	document.messageForm.type.value = type;
	document.messageForm.replyID.value = replyID;
}
//END SHOW MESSAGE MODAL





//START CLOSE MESSAGE MODAL
function closeMessageModal(){
	document.getElementById('messageModal').style.display='none';
	document.getElementById('messageTitle').style.display='none';
	document.getElementById('messageContent').style.display='none';
	document.getElementById('feedbackTitle').style.display='none';
	document.getElementById('feedbackContent').style.display='none';
	document.getElementById('messageModalErrorTR').style.display='none';
	document.messageForm.reset();
}
//END CLOSE MESSAGE MODAL





//START VIEW MESSAGE
function viewMessage(messageID){
	var messageVar = new messageClass;
	var messageReturn = messageVar.viewMessage(messageID);
	
	document.getElementById('viewMessageTitle').innerHTML=messageReturn.DATA[0][messageReturn.COLUMNS.findIdx('FULLNAME')]+' | '+messageReturn.DATA[0][messageReturn.COLUMNS.findIdx('SUBJECT')];
	var viewMessageVar = messageReturn.DATA[0][messageReturn.COLUMNS.findIdx('COMMENT')];
	
	document.getElementById('viewMessageContent').innerHTML=viewMessageVar;
	showModal('viewMessage');
}
//END VIEW MESSAGE