function sendMessage() {
	var myCreatePacket = function(){
		writer = new CmdWriter(8);
		writer.appendStr(objSessionId.value);
		writer.appendStr(objRecipientsIds ? objRecipientsIds.value : "");
		writer.appendStr(objSubject ? objSubject.value : "");
		writer.appendStr(objBody.value);
		writer.endOfObject();
		return writer.Buffer;
	};
	
	var myOnComplete = function(responseText){
		reader = new CmdReader(responseText);
		if(reader.getStr() == "true"){
			document.location = "/sendMessage.v2.jsp?sId=" + reader.getStr();
		} else {
			errorMessageContainer.innerHTML = "Hata oluştu. Sistem yöneticinize başvurun lütfen.";
			enableMessageForm();
		}
	};

	var objSessionId = document.getElementById("sessionId");
	var objRecipientsIds = document.getElementById("recipientIds");
	var objSubject = document.getElementById("messageSubject");
	var objBody = document.getElementById("messageBody");
	var errorMessageContainer = document.getElementById("errorMessageContainer");

	//alert(isEverythingOkForSendingMessage (objSessionId, objRecipientsIds, objSubject, objBody, errorMessageContainer));
	if ( isEverythingOkForSendingMessage (objSessionId, objRecipientsIds, objSubject, objBody, errorMessageContainer) ) {
		disableMessageForm();
		var provider = new oyXMLRPCProvider();
		provider.createPacket = myCreatePacket;
		provider.onComplete = myOnComplete;
		provider.submit("/AjaxServlet");
	}
}

function sendMessageFromProfile(profileId) {
	var myCreatePacket = function(){
		writer = new CmdWriter(8);
		writer.appendStr(sessionId);
		writer.appendStr(profileId);
		writer.appendStr(objSubject.value);
		writer.appendStr(objBody.value);
		writer.endOfObject();
		return writer.Buffer;
	};
	
	var myOnComplete = function(responseText){
		reader = new CmdReader(responseText);
		if(reader.getStr() == "true"){
			document.getElementById("formContainer").style.display = "none";
			document.getElementById("successMessageContainer").style.display = "";
		} else {
			errorMessageContainer.innerHTML = "Hata oluştu. Sistem yöneticinize başvurun lütfen.";
			enableMessageForm();
		}
	};

	var sessionId = 0;
	var objSubject = document.getElementById("messageSubject");
	var objBody = document.getElementById("messageBody");
	var errorMessageContainer = document.getElementById("errorMessageContainer");

	if (errorMessageContainer) {
		errorMessageContainer.innerHTML = "";
		if ( !objSubject || objSubject.value.length <= 0 ) errorMessageContainer.innerHTML = "Konu başlığı boş olamaz.<br/>";
		if ( !objBody || objBody.value.length <= 0 ) errorMessageContainer.innerHTML += "İçerik boş olamaz.<br/>";
		if ( errorMessageContainer.innerHTML.length == 0 ) {
			disableMessageForm();
			var provider = new oyXMLRPCProvider();
			provider.createPacket = myCreatePacket;
			provider.onComplete = myOnComplete;
			provider.submit("/AjaxServlet");
		}
	}
}

function isEverythingOkForSendingMessage (objSessionId, objRecipientsIds, objSubject, objBody, errorMessageContainer) {

	var returnValue = true;
	errorMessageContainer.innerHTML = "";

	if ( objSessionId.value == 0 ) {
		if ( objRecipientsIds && objRecipientsIds.value.length <= 0 ) {
			errorMessageContainer.innerHTML = "Kime alanı boş olamaz.<br>";
			returnValue = false;
		}
		if ( objSubject && objSubject.value.length <= 0 ) {
			errorMessageContainer.innerHTML += "Başlık alanı boş olamaz.<br>";
			returnValue = false;
		}
	}

	if ( objBody && objBody.value.length <= 0 ) {
		errorMessageContainer.innerHTML += "Mesaj alanı boş olamaz.<br>";
		returnValue = false;
	}

	return returnValue;	
}

function disableMessageForm () {
	document.getElementById("submitSendMessage").style.display = "none";
	document.getElementById("labelSendMessage").style.display = "";
}

function enableMessageForm () {
	document.getElementById("submitSendMessage").style.display = "";
	document.getElementById("labelSendMessage").style.display = "none";
}

function updateMessageCountContainer () {
	var obj = document.getElementById("messageCenterUnreadMessageCountContainer");
	if ( obj ) {
		obj.innerHTML = obj.innerHTML - 1;
	}
}

var currentTab = "";
function showHide(tabName){
 	var messageContentArea = document.getElementById("messageContentArea");
 	var messagesIncoming = document.getElementById("messagesIncoming");
 	var messagesOutgoing = document.getElementById("messagesOutgoing");
 	var linkIncoming = document.getElementById("aIncoming");
 	var linkOutgoing = document.getElementById("aOutgoing");
 	var navButtonsContainer = document.getElementById("navigationButtonsContainer");
 	var navButtonsIncoming = document.getElementById("incomingNavigationButtons");
 	var navButtonsOutgoing = document.getElementById("outgoingNavigationButtons");

 	messageContentArea.innerHTML = (tabName=="incoming" ? messagesIncoming.innerHTML : messagesOutgoing.innerHTML);
 	navButtonsContainer.innerHTML = (tabName=="incoming" ? (navButtonsIncoming==null ? "" : navButtonsIncoming.innerHTML) : (navButtonsOutgoing==null ? "" : navButtonsOutgoing.innerHTML));
 	linkIncoming.className = (tabName=="incoming" ? "select" : "");
 	linkOutgoing.className = (tabName=="incoming" ? "" : "select");
 	
 	currentTab = (tabName=="incoming" ? "incoming" : "outgoing");
}

function checkIfAnyMessageSelectedForDelete(){
	var canSubmitForm = false;
	var checkBoxGroup = document.getElementsByName("messageSessionId");
	var activeTab = document.getElementById("activeTab");

	activeTab.value = currentTab;

	for(var i = 0; i < checkBoxGroup.length; i++){
		if(checkBoxGroup[i].checked){
			canSubmitForm = true;
			break;
		}
	}

	if(canSubmitForm){
		document.forms.formMessage.submit();
	}
}

function checkAllMessages(inputValues){
	//we look for all input elements. check for if input is a checkbox!!!
	var inputs = document.getElementById("messageContentArea").getElementsByTagName("input");
	var aSelectAllMessages = document.getElementsByName("aSelectAllMessages");

	//alert(aSelectAllMessages[0].getAttribute("onclick"));

	for ( var i = 0; i < aSelectAllMessages.length; i++ ) {
		var oldLink = aSelectAllMessages[i];
		var newLink = document.createElement("a");

		newLink.name = "aSelectAllMessages";
		newLink.href = "javascript:checkAllMessages(" + !inputValues + ");";
		newLink.innerHTML = ( inputValues ? "Tümünü kaldır" : "Tümünü seç" );
		//oldLink.parentNode.appendChild(newLink);
		oldLink.parentNode.replaceChild(newLink, oldLink);

		//aSelectAllMessages[i].innerHTML = ( inputValues ? "Tümünü kaldır" : "Tümünü seç" );
		//aSelectAllMessages[i].removeAttribute("onclick");
		//aSelectAllMessages[i].setAttribute("onclick", "checkAllMessages(" + !inputValues + ");");
	}

	for(var i = 0; i < inputs.length; i++){
		if ( inputs[i].checked != inputValues ) inputs[i].checked = inputValues;
	}
}
