var fieldGroupCount = new Object();
		function addFieldGroup(group)
		{
			var groupcontainer = document.getElementById('fieldGroupContainer_'+group);
			var groupreference = document.getElementById('fieldGroup_'+group+'_reference').innerHTML;
			
			if (fieldGroupCount[group]==null)
			{
				var groupcount = 0;
				var c = Number(document.getElementById('fieldGroupContainer_'+group).childNodes.length);
				var id = 0;
				for (var x=0;x<c;x++)
				{
					if (document.getElementById('fieldGroupContainer_'+group).childNodes[x].tagName=='DIV')
					{
						groupcount++;
					}
				}
				fieldGroupCount[group] = groupcount;
			}
			//group ID
			groupreference = groupreference.replace('fieldGroup_'+group+'_reference','fieldGroup_'+group+'_'+fieldGroupCount[group]);
			//IDs
			while (groupreference.indexOf('field_'+group+'_reference')>=0)
			{
				//alert('field_'+group+'_reference');
				groupreference = groupreference.replace('field_'+group+'_reference', 'field_'+group+'_'+fieldGroupCount[group]);
			}
			groupreference = groupreference.replace(/field_'+group+'_reference/gi, 'field_'+group+'_'+fieldGroupCount[group]);
			
			var newdiv = document.createElement('DIV');
			newdiv.setAttribute('id','fieldGroup_'+group+'_'+fieldGroupCount[group]);
			newdiv.innerHTML = groupreference;
			//alert(groupreference);
			groupcontainer.appendChild(newdiv);
			addFieldGroupHinges(document.getElementById('fieldGroup_'+group+'_reference'),group,fieldGroupCount[group]);
			fieldGroupCount[group]++;
		}
		
		function addFieldGroupHinges(parent,group,count)
		{
			var kids = parent.childNodes;
			for (var x=0;x<kids.length;x++)
			{
				if (hinges[kids[x].id])
				{
					if (hinges[kids[x].id].length>0)
					{
						for (var y=0;y<hinges[kids[x].id].length;y++)
						{
							//alert(kids[x].id+' '+hinges[kids[x].id][x].id);
							var id = hinges[kids[x].id][x].id.replace('field_'+group+'_reference', 'field_'+group+'_'+count);
							var event = hinges[kids[x].id][x].event.replace('field_'+group+'_reference', 'field_'+group+'_'+count);
							var op = hinges[kids[x].id][x].operations.replace('field_'+group+'_reference', 'field_'+group+'_'+count);
							var hinge = kids[x].id.replace('field_'+group+'_reference', 'field_'+group+'_'+count);
							if (document.getElementById(hinge))
							{
								//alert(hinge);
								//document.getElementById(hinge).setAttribute('hingesOnId',id+' '+'['+event+':'+op+'] ');
								//alert(id+' '+'['+event+':'+op+'] ');
								document.getElementById(hinge).setAttribute(event,"checkHinges(this,'"+event+"');");
								hingesToCheck[hingesToCheck.length] = {id: hinge, event: event};
								if (typeof(hinges[hinge])=='undefined')
								{
									hinges[hinge] = new Array();
								}
								hinges[hinge][hinges[hinge].length] = {id: id, event: event, operations: op};
							}
						}
					}
					
				}
				if (kids[x].childNodes.length>0)
				{
					addFieldGroupHinges(kids[x],group,count);
				}
			}
			//alert(hinges['field_profiles_1__profileType_id'].length);
		}
		
		function removeFieldGroup(group,id,_id)
		{
			var d = document.getElementById('fieldGroupContainer_'+group);
			var olddiv = document.getElementById(id);
			d.removeChild(olddiv);
			var lostid = document.createElement('INPUT');
			lostid.setAttribute('type','hidden');//fieldGroup_suggestedspeakers_0">
			lostid.setAttribute('name','_deletedgroups:'+group+'[]');
			lostid.setAttribute('value',_id);
			d.appendChild(lostid);
		}
