function formatItem(row) {
	return row;
}
function showCreateGroup(){
	$('#messageBox').hide();
	$('#legendId').html(createMsg);
	$('#createGroup').slideDown(500);
	$('#createRoomBlock').hide();
	$("#groupTag").autocomplete(appUrl+"/app/modules/community/groupTags.ajx.php",
		{ 
			minChars:1, 
			matchSubset:0, 
			matchContains:1, 
			cacheLength:10, 
			formatItem:formatItem, 
			selectOnly:1,
			selectFirst:1,
			inputSeparator:' ' 
		}
	);
}

function hideCreateGroup(){
	$('#errorBox').hide();
	$('#createGroup').slideUp(500);
	//$('#createGroup').fadeOut(350);
	$('#createRoomBlock').fadeIn();
	$('#groupName').val("");
	$('#grpDescription').val("");
	$('#emailIds').val("");
	$('#groupId').val("");
	$('#groupTags').val('');
	$('#groupTagsDisplay').html('');
	$('label', this).removeClass("error")
	$(':input', this).removeClass("error")
	clearContacts();
}
	
function editGroup(id) {
	$('#errorBox').hide();
	$('#load_'+id).addClass("loading"); 
	lockPage();
	$.post(appUrl+"/app/modules/community/getGroup.ajx.php", {groupId: id },
		function(data){
			data = data.replace(/\r/g, "\\r");
			data = data.replace(/\n/g, "\\n");
			data = data.replace(/&quot;/g, '\\"');
			var response = eval("(" + data + ")");
			clearContacts();
			
			if($("#createGroup").css('display') !='block'){
		  		showCreateGroup();
		  		window.scrollTo(0,400);
		  	}
		  	$('#load_'+id).removeClass("loading"); 
		  	unlockPage();
			$('#legendId').html(editMsg);
			$('#groupId').val(id);
			$('#groupName').val(response.name);
			$('#grpDescription').val(response.groupDescription);
			$('#groupCategory').selectOptions(response.groupCategory+"");
			//Set group tags
			if(response.groupTags != null) {
				if(response.groupTags.length > 0) {
					$('#groupTagsDisplay').html('');
					$('#groupTags').val('');
					for(i in response.groupTags) {
						setGroupTags(response.groupTags[i]);	
					}
				}
			} else {
				$('#groupTagsDisplay').html('');
				$('#groupTags').val('');
			}
			//Set group status
			if(response.groupStatus == 'N') {
				$("#groupPrivate").attr("checked", "checked");
			} else {
				$("#groupPublic").attr("checked", "checked");
			}
			//Set group request option
			if(response.joinByRequest == 'Y') {
				$("#joinBy").attr("checked", "checked");
			} else {
				$("#joinBy").removeAttr("checked");
			}
			//Set course request option
			if(response.courseByRequest == 'Y') {
				$("#courseByRequest").attr("checked", "checked");
			} else {
				$("#courseByRequest").removeAttr("checked");
			}
			setContacts(response.memberIds, response.memberNames);
		});
		
	
	return false;
}

function deleteGroup(id){
	$('#errorBox').hide();
	conf = confirm(confirmMsg); 
	if(conf){
	$('#load_'+id).addClass("loading"); 
	lockPage();
	$.post(appUrl+"/app/modules/community/groupDelete.ajx.php", {groupId: id },
		function(data){
			data = data.replace(/\r/g, "\\r");
			data = data.replace(/\n/g, "\\n");
			data = data.replace(/&quot;/g, '\\"');
			var response = eval("(" + data + ")");
			
			if(response.deleted == false){
				$('#errorBoxMsg').html(response.error);
				$('#errorBox').show();
			}
			else{
				$('#messageBoxMsg').html(response.msg);
				$('#messageBox').show();
				$("#group_"+id).css({background: "FDF1F1" });
				$("#group_"+id).fadeOut("slow", function(){ $("#group_"+id).remove(); });
				$('#messageBox').fadeOut(2000);
			}
			unlockPage();
		});
	}
	return false;
}

function selectAll(checkBox){
	if(checkBox.checked){
		$("input[@type=checkbox]").check();
	}
	else{
		$("input[@type=checkbox]").uncheck();
	}
}

var userArray = [];	
var contactIds = [];
var contactNames = []; 	
/*
$(document).ready(
	function(){
		if($('#contactIds').val() != ''){
			setContacts($('#txtUser').val().split(","), $('#txtUserNames').val().split(","));
		}
	}
);*/
function clearContacts(){
	/*contactIds = [];
	contactNames = []; 	
	userArray = [];
	$('#selectedContacts').html('');
	$('#contactIds, #contactNames').val('');	*/
	userArray = [];
	$('#selectedList').html('');
	$('#txtUser, #txtUserNames').val('');
	
}

function setContacts(IdValues, nameValues){
	contactIds = IdValues;
	contactNames = nameValues; 	
	var contacts = '';
	for(i =0; i < contactIds.length; i++){
		contacts += ' <a href="#" onclick="return false;" ><img onClick="return removeContact(\''+i+'\');" src="'+themeUrl+'/images/spacer.gif"  width="9" height="8" alt="'+removeMsg+'" title="'+removeMsg+'"/>'+contactNames[i].replace(' ', '&nbsp;')+'</a>';		
		userArray[contactIds[i]+'']  = contactNames[i];
	}
	$('#selectedList').html(contacts);
	$('#txtUser').val(contactIds);
	$('#txtUserNames').val(contactNames);
}
	
function removeContact(index){
	userArray[contactIds[index]+''] ='';
	userArray.splice(contactIds[index]+'', 1);
	contactIds.splice(index, 1);
	contactNames.splice(index, 1);
	setContacts(contactIds, contactNames);
	return false;
}

function selectContacts(selectFunction){
	if($.trim(selectFunction) != '' && selectFunction!= 'undefined'){
		eval(selectFunction+'();');
	}
	else{
		frm = document.forms['contactUsers'];
		contactIds = [];
		contactNames = []; 	
		for (var i=0; i < frm.elements.length; i++)  {
		   var e = 	frm.elements[i];
		   if (e.type == 'checkbox' && 	e.name == 'contacts[]' && e.checked) {
			   userArray[e.value+''] = e.title;
		   }
		}
		
		for (i in userArray){
			if($.trim(userArray[i]) != ''){
				contactIds[contactIds.length] = $.trim(i);
				contactNames[contactNames.length] = userArray[i];
			}
		}
		setContacts(contactIds, contactNames);
	}
	$('#emailIds').val($('#inviteIds').val());
	
	TB_remove();
	return false;
}

function showContacts(title){
	TB_show(title, appUrl+"/app/modules/members/contactList.pop.php?height=566&amp;width=663&TB_loadFunction=loadcontactsPage&popPage=group");
	return false;
}

function loadcontactsPage(){
	$('#inviteIds').val($('#emailIds').val());
	initialLoading();
	//getMyContacts(1);
}
/*
$(document).ready(
	function(){
		usersList();	
	}
);*/

function usersList(){
	var userIds = $('#txtUser').val();
	var userNames = $('#txtUserNames').val();
	userArray = [];
	var idArray 	=	new  Array();
	var nameArray 	=	new  Array();
// var userIds is a comma seperated integer values.Inorder to split we need to convert to a string. So I am adding a space to that string.
// Case is that if there is only one user there is no comma at the end and that array will convert to int array.
	userIds = userIds+''; 
	idArray = userIds.split(",");
	nameArray = userNames.split(",");
	for (var i = 0; i < idArray.length; i++){ 
		userArray[idArray[i]] = nameArray[i];
	}
	selectContacts();
}

function getMyContacts(pageNo){
	$.post("getContacts.ajx.php", {page: pageNo },
			function(data){
				//alert(data);
				data = data.replace(/\r/g, "\\r");
				data = data.replace(/\n/g, "\\n");
				data = data.replace(/&quot;/g, '\\"');
				var response = eval("(" + data + ")");
				var chkStr = '';
				var contacts = response.contacts;
				var numpad = response.numPad;
			//	alert(contacts.length);
				if(contacts.length > 0){
					for(i = 0; i < contacts.length; i++){
						chkStr += '<p><input name="contacts[]" value="'+contacts[i].id+'" title="'+contacts[i].name+'" type="checkbox" /> '+contacts[i].name+'</p>'
		
					}
					chkStr += '<p class="hr"><input type="checkbox" name="checkAll" value="y" onclick="selectAll(this);"  />'+lblSelectAll+'</p>';
				}
				$('#popContactList').html(chkStr);
				$('#popPagination').html(numpad);
			});
	
}

function addGroupTags(){
	var tags = $('#groupTag').val().split(" ");
	if(tags == ''){
		return false;
	}
	$('#groupTag').val('');
	for(tag in tags){
		setGroupTags($.trim(tags[tag].toLowerCase()));	
	}
	$('#groupTag').focus();

	return false;
}

function setGroupTags(tag){
	if(tag) {
		if(!(/(^[\ ]*$)/i).test(tag)){
			tagClass = 'groupTag'+tag.replace(/ /g, '_');
			if($('#groupTagsDisplay').children('.'+tagClass).length == 0){
				tagCounter = tagCounter * 1 + 1;
				$('#groupTagsDisplay').append('<a class="'+tagClass+'" href="#" id="tag'+tagCounter+'" onclick="return false;"><img onclick="return removeGroupTags(\'tag'+tagCounter+'\', \''+tag+'\');" width="9" height="8" alt="'+removeMsg+'" title="'+removeMsg+'" src="'+themeUrl+'/images/spacer.gif" />'+tag+'</a>');
				$('#groupTags').val($('#groupTags').val()+tag+',');
			}
		}
	} else {
		$('#groupTagsDisplay').html('');
		$('#groupTags').val('');
	}
}

function removeGroupTags(tagId, tag){
	//$('#groupTags').val($('#groupTags').val().replace(tag, ","));
	$('#groupTags').val($('#groupTags').val().replace(tag,""));
	$('#'+tagId).remove();
	
	return false;
}
function joinThisGroup(groupId) {
	$("#groupLoader_"+groupId).addClass("groupLoader");
	$.post(appUrl+'/app/modules/community/group.ajx.php',
		{
			groupId: groupId,
			action: "join"
		}, function(response) {
			if(response == 'auto') {
				var htm = '<a href="#" class="leaveGroup" onclick="return leaveThisGroup('+groupId+');" title="'+lblLeaveGroup+'">&nbsp;</a>';
				$("#groupAction_"+groupId).html(htm);
			} else if(response == 'request') {
				var req = '<span class="msgRequest">'+msgRequestSent+'</span>';
				$("#groupAction_"+groupId).html(req);
			}
			$("#groupLoader_"+groupId).removeClass("groupLoader");
		}
	);
	return false;	
}
function leaveThisGroup(groupId) {
	$("#groupLoader_"+groupId).addClass("groupLoader");
	if(confirm(confirmLeave)) {
		$.post(appUrl+'/app/modules/community/group.ajx.php',
			{
				groupId: groupId,
				action: "leave"
			}, function(response) {
				if(response == 'success') {
					//$("#messageBox, #messageBoxMsg").show();
					//$("#messageBoxMsg").html(msgJoined);
					$("#groupAction_"+groupId).html('');
					var htm = '<a href="#" class="joinGroup" onclick="return joinThisGroup('+groupId+');" title="'+lblJoinGroup+'">&nbsp;</a>';
					$("#groupAction_"+groupId).html(htm);
				}
				$("#groupLoader_"+groupId).removeClass("groupLoader");
			}
		);
	}
	$("#groupLoader_"+groupId).removeClass("groupLoader");
	return false;	
}
