//------------------------------------------------------------------------------
// Class:  ManageGroup
//------------------------------------------------------------------------------
// Author:  CL
// Date:  2008/01/30
// Description:  This class defines the functions used by the Manage Group section.
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
function ManageGroup()
{
	// Variables:
	var sortOrder = "";
	var sortColumnID = "";
	var sectionID = "";
	var checkID = "";
	var uncheckID = "";
	
	//--------------------------------------------------------------------------

	// Methods:
	this.init = init;
	this.getPaginationURLLocation = getPaginationURLLocation;
	this.updatePaginValues = updatePaginValues;
	this.saveSelectedFriend = saveSelectedFriend;
	this.saveSelectedGroups = saveSelectedGroups;
	this.selectAllCheckBoxes = selectAllCheckBoxes;
	this.deleteGroupsConfirm = deleteGroupsConfirm;
	this.deleteGroups = deleteGroups;
	
	//--------------------------------------------------------------------------
	
	function init(sID,sOrder,sColID,checkedID,uncheckedID)
	{
		sectionID = sID;
		sortOrder = sOrder;
		sortColumnID = sColID;
		checkID = checkedID;
		uncheckID = uncheckedID;
	}
	
	//--------------------------------------------------------------------------

	function getPaginationURLLocation(sOtherValues)
	{
		// add group or edit group
		if(sectionID == 2)
		{
			var thePageName = "inc_getAllFriendsPagination.cfm";
		}
		// manage group
		else
		{
			var thePageName = "inc_getAllGroups.cfm";
		}
		var thePaginationURLLocation =  "/gallery/_var/" + thePageName +"?colID=" + sortColumnID + "&sortOrd=" + sortOrder + sOtherValues;
		return thePaginationURLLocation;
	}
	
	//--------------------------------------------------------------------------
	
	function updatePaginValues(sortColID,sortOrd)
	{
		sortColumnID = sortColID;
		sortOrder = sortOrd;
	}
	
	//--------------------------------------------------------------------------
	
	function saveSelectedFriend(theFriendSelect, intValue)
	{
		if(theFriendSelect.checked == 1)
		{
			$.ajax({
				type: "GET",
				url: "/gallery/_var/inc_setManageAddressBookSession.cfm?sectionID=" + sectionID +"&tID=" + checkID + "&sID=" + intValue,
				dataType: "html"
			});
		}
		else
		{
			$.ajax({
				type: "GET",
				url: "/gallery/_var/inc_setManageAddressBookSession.cfm?sectionID=" + sectionID +"&tID=" + uncheckID + "&sID=" + intValue,
				dataType: "html"
			});	
		}
	}
	
	//--------------------------------------------------------------------------
	
	function saveSelectedGroups(theGroupSelect, intValue)
	{
		if(theGroupSelect.checked == 1)
		{
			$.ajax({
				type: "GET",
				url: "/gallery/_var/inc_setManageAddressBookSession.cfm?sectionID=" + sectionID +"&tID=" + checkID + "&sID=" + intValue,
				dataType: "html"
			});
		}
		else
		{
			$.ajax({
				type: "GET",
				url: "/gallery/_var/inc_setManageAddressBookSession.cfm?sectionID=" + sectionID +"&tID=" + uncheckID + "&sID=" + intValue,
				dataType: "html"
			});		
		}
	}
	
	//--------------------------------------------------------------------------
	
	function selectAllCheckBoxes(formName, fieldName, checkValue)
	{
		var sValueSelected = "";
		var sValueDeSelected = "";
		
		if(!document.forms[formName])
			return;
			
		var objCheckBoxes = document.forms[formName].elements[fieldName];
		if(!objCheckBoxes)
			return;
		
		var countCheckBoxes = objCheckBoxes.length;
		if(!countCheckBoxes)
		{
			objCheckBoxes.checked = checkValue;
			intValue = objCheckBoxes.value;
			if(objCheckBoxes.checked == 1)
			{
				if(sValueSelected.length == 0)
				{
					sValueSelected = intValue;
				}
				else
				{
					sValueSelected = sValueSelected + "," + intValue;
				}
			}
			else
			{
				if(sValueDeSelected.length == 0)
				{
					sValueDeSelected = intValue;
				}
				else
				{
					sValueDeSelected = sValueDeSelected + "," + intValue;
				}
			}
		}
		else
		{
			for(var i=0; i < countCheckBoxes; i++)
			{
				objCheckBoxes[i].checked = checkValue;
				intValue = objCheckBoxes[i].value;
				if(objCheckBoxes[i].checked == 1)
				{
					/*$.ajax({
						type: "GET",
						url: "/gallery/_var/inc_setManageAddressBookSession.cfm?sectionID=" + sectionID +"&tID=" + checkID + "&sID=" + intValue,
						dataType: "html"
					});
					*/
					if(sValueSelected.length == 0)
					{
						sValueSelected = intValue;
					}
					else
					{
						sValueSelected = sValueSelected + "," + intValue;
					}
				}
				else
				{
					/*$.ajax({
						type: "GET",
						url: "/gallery/_var/inc_setManageAddressBookSession.cfm?sectionID=" + sectionID +"&tID=" + uncheckID + "&sID=" + intValue,
						dataType: "html"
					});	
					*/
					if(sValueDeSelected.length == 0)
					{
						sValueDeSelected = intValue;
					}
					else
					{
						sValueDeSelected = sValueDeSelected + "," + intValue;
					}
				}
			}
		}
		
		$.ajax({
				type: "GET",
				url: "/gallery/_var/inc_setManageAddressBookSession.cfm?sectionID=" + sectionID +"&tID=" + checkID + "&sID=" + sValueSelected,
				dataType: "html"
			});
		$.ajax({
				type: "GET",
				url: "/gallery/_var/inc_setManageAddressBookSession.cfm?sectionID=" + sectionID +"&tID=" + uncheckID + "&sID=" + sValueDeSelected,
				dataType: "html"
			});	
	}
	
	//--------------------------------------------------------------------------

	function deleteGroupsConfirm(idString)
	{
		document.getElementById('sSelectedGroupListings').style.display = "none";
		$.ajax({
			type: "GET",
			url: "/gallery/_var/inc_getAllSelectedGroupInfo.cfm",
			dataType: "html",
			success: function(html){
				if(html.length > 0)
				{
					document.getElementById('bdsection').style.height = "250px";
					document.getElementById('sSelectedGroupListings').innerHTML = html;
					document.getElementById('sSelectedGroupListings').style.display = "block";
				}
			},
			error: function(){
				document.getElementById('sSelectedGroupListings').innerHTML = "";
			 }
		});
		
		theElement = document.getElementById(idString);
		if (theElement.style.display == "none")
		{
			theElement.style.display = "block";
		}
		
		document.getElementById("overlay").style.height = YAHOO.util.Dom.getDocumentHeight()+"px";
		document.getElementById("overlay").style.width = YAHOO.util.Dom.getDocumentWidth()+"px";
		document.getElementById("overlay").style.display ="block";
			
		YAHOO.deleteGroups.container.deleteGroups = new YAHOO.widget.ResizePanel('deleteGroups', { width:'350px', close:false, draggable:false, fixedcenter:true, visible:true, constraintoviewport:false, zIndex: 100 } );
		YAHOO.deleteGroups.container.deleteGroups.render();
		
		function hideDeleteGroup()
		{
			document.getElementById("overlay").style.display ="none";
			YAHOO.deleteGroups.container.deleteGroups.hide();
		}
		
		YAHOO.util.Event.addListener("closeDeleteGroup", "click", hideDeleteGroup, YAHOO.deleteGroups.container.deleteGroups, true);
	}
	
	//--------------------------------------------------------------------------
	
	function deleteGroups()
	{
		document.frmManageGroup.isDelete.value = 1;
		document.frmManageGroup.submit();
	}

}

// Create Object
oManageGroup = new ManageGroup();

//--------------------------------------------------------------------------
