document.observe('dom:loaded', function(){

			initializeEmailCheck();

						if($('completeErrorDiv'))

				$('completeErrorDiv').hide();

						

			['workInfo', 'spouseInfo', 'childrenInfo'].each(function(info){

					if($(info + '-optional-1') && $(info + '-optional-0'))

					{

						Event.observe(info + '-optional-1', 'click', function(){

								if($(info + '-optional-1').checked && $(info + 'Field'))

								{

									activeFields(info, 0);

									$(info + 'Field').show();

									if(info + 'Start' != null)

										$(info + 'Start').hide();

								}

									

								if(info == 'childrenInfo' || info == 'spouseInfo')

								{

									firstName = info + ((info == 'childrenInfo') ? '-0' : '') + '-firstName';

									lastName = info + ((info == 'childrenInfo') ? '-0' : '') + '-lastName';

									email = info + ((info == 'childrenInfo') ? '-0' : '') + '-email';

	

									$(firstName).value = '';

									$(lastName).value = $(info + '-lastName') ? $F(info + '-lastName') : '';

									$(email).value = $(info + '-email') ? $F(info + '-email') : '';

								}

							});	

	

						Event.observe(info + '-optional-0', 'click', function(){

								if($(info + '-optional-0').checked && $(info + 'Field'))

								{

									$(info + 'Field').hide();

									activeFields(info, 1);

									if(info +'Start' != null)

										$(info + 'Start').show();

								}

								

								if(info == 'childrenInfo')

									removeAllChildren();

							});

					}

				});

			

				

		

		var spouseRemoveButton = document.createElement("button");

		var verbage = 'Remove Spouse';

		//spouseRemoveButton.innerHTML = verbage;

		if($('spouseInfoField'))

		{

			spouseRemoveButton = '<tr><td><button id="removespouse">' + verbage + '</button></td></tr>';

			$('spouseInfoField').insert({bottom : spouseRemoveButton});

			//$('spouseInfoField').appendChild(spouseRemoveButton);

			//spouseRemoveButton.setAttribute('id', 'removespouse');

			

			

		}

		

		var workRemoveButton = document.createElement("button");

		var verbage = 'Remove Company';

		//workRemoveButton.innerHTML = verbage

		if($('workInfoField'))

		{

			workRemoveButton = '<tr><td><button id="removework">' + verbage + '</button></td></tr>';

			$('workInfoField').insert({bottom : workRemoveButton});

			//$('workInfoField').appendChild(workRemoveButton);

			//workRemoveButton.setAttribute('id', 'removework');

		}

			

		var childParentRemoveButton = document.createElement("button");

		var verbage = 'Remove All Children';

		//childParentRemoveButton.innerHTML = verbage

		if($('childrenInfoField'))

		{

			childParentRemoveButton = '<tr><td><button id="removechildren">' + verbage + '</button></td></tr>';

			$('childrenInfoField').insert({bottom : childParentRemoveButton});

			//$('childrenInfoField').appendChild(childParentRemoveButton);

			//childParentRemoveButton.setAttribute('id', 'removechildren');

		}

		

		['work', 'spouse', 'children'].each(function(ourfield){

				if($('remove' + ourfield))

				{

					$('remove' + ourfield).observe('click', function(ev){

						ev.stop();

						$(ourfield + 'InfoField').hide();

						$(ourfield + 'InfoStart').show();

						$(ourfield + 'Info-optional-0').checked = true;

						if(ourfield == 'children')

							removeAllChildren();

					});

				}

			});

	});



function removeAllChildren()

{

	$$('[id^=childrenInfo_]').each(function(childrenField){

	    if($(childrenField.readAttribute('id')))

	        childrenField.remove();

	});

}



function activeFields(field, type)

{

	if($(field + 'Field'))

	{

		$(field + 'Field').descendants().each(function(element){

		    if(element.nodeName.toLowerCase() == 'input' && typeof element == 'object')

		       element.disabled = type;

		});

	}

}



function addChild()

{
 
	var newNode = $('childrenInfoField').cloneNode(true);

	var child = $$('tbody[id^="childrenInfo_"]').size();

	child++;

	var childString = child.toString();

	newNode.descendants().each(function(node){



		if(node.nodeName.toLowerCase() == 'button' && node.readAttribute('id') == 'removechildren')

			node.remove();



		if(node.nodeName.toLowerCase() == 'input' && typeof node == 'object')

    	{

	       var matchCalendarNode = node.readAttribute('id').match(/^childrenInfo-0-birthday-(.+)$/);

	       if(matchCalendarNode)

	       {

	          var newName = node.readAttribute('name').gsub('-', '][');

	          node.setAttribute('value', ''); 

	  	      newName = newName.gsub('childrenInfo', 'childrenInfo[' + childString + '][birthday]');

	  	      node.removeAttribute('name');

              node.setAttribute('name', newName);

	       }

	       

	       var childNode = node.readAttribute('id').match(/^childrenInfo-.+-(.+)$/);

	       if(childNode)

	       {

	           node.writeAttribute({

	                    id: 'childrenInfo-' + child + '-' + childNode[1],

	                    name: 'childrenInfo[' + child + '][' + childNode[1] + ']',

	                    value: ''

	                });



			  var childNodeName = childNode[1];

              if(childNodeName == 'firstName' && $('yourInfo-firstName'))

              {

            		node.setAttribute('value', ''); 

              }

              else if(childNodeName == 'email' && $('yourInfo-email'))

			  {

    				node.setAttribute('value', $F('yourInfo-email'));

			  }

              else if(childNodeName == 'lastName' && $('yourInfo-lastName'))

              {

          			node.setAttribute('value', $F('yourInfo-lastName'));

              }

	       }

    	}

		else if(node.nodeName.toLowerCase() == 'a' && typeof node == 'object')

		{

			node.removeAttribute('id');

			node.writeAttribute({

					id : 'childrenInfo-' + childString + '-birthday-calendar',

					onclick: "initialCalendarSetupMulti('childrenInfo-" + childString + "-year', 'childrenInfo-" + childString +  "-month', 'childrenInfo-" + childString + "-day', this.getAttribute('id')); return false;"

				});

		}

	});



	newNode.writeAttribute({

	        id: 'childrenInfo_' + child,

	        value: child

	});



	child++;



	

	var removeButtonElement = document.createElement('button');

	removeButtonElement.setAttribute('id', 'button_' + child);

	removeButtonElement.innerHTML = 'Remove Child';



	//$$('table').first().appendChild(newNode).appendChild(removeButtonElement);

	//$$('table').first().appendChild(newNode);

	$('childrenInfoField').up().appendChild(newNode);



	var newTd = document.createElement('td');

	$(newNode.readAttribute('id')).descendants().last().up().insert({after: newTd});

	$(newNode.readAttribute('id')).descendants().last().appendChild(removeButtonElement);

	//$(newNode.readAttribute('id')).descendants().last().innerHTML = "<button>WTF</button>";

	removeButtonElement.observe('click', function(e){

   	 	e.stop();

   		$('childrenInfo_' + --child).remove();

	});



	customChildHeader();

}



function customChildHeader()

{

	var numberOfChild = 1;

	$$('.childHeader').each(function(childHeader){

	    childHeader.innerHTML = 'Child ' + numberOfChild;

	    numberOfChild++;

	});

}



function initializeEmailCheck()

{

	if($('yourInfo-email'))

	{

		var yourInfoEmail = $('yourInfo-email');

		$('yourInfo-email').observe('blur', function(ev){

				new Ajax.Request('/web/pcf/1w/1/index/check-if-user-exist', {

					method: 'post', 

					parameters: {

							email: yourInfoEmail.value

						},

					onSuccess: function(transport){

							if(parseInt(transport.responseText) == 1)

							{

								alert('Your email address has already been registered. Click OK to return to Fiorella\'s\'s home page.');

								window.location = "http://www.fiorellasnewton.com";

							}

						},

					onError: function(){

							alert('An error has occurred.  Please try again at a later time.');

						}

				});

			});

	}

}



