
	function showEditProject(form)
	{
		if(!$F('editProjectId')) { return false; }
		new Ajax.Updater('editProject', 'processProject.php', {asynchronous:true, evalScripts:true, parameters:Form.serialize(form)}); 
		return false;

	}

	function retireProject(form)
	{
		
		new Ajax.Updater('editProject', 'processProject.php', {asynchronous:true, evalScripts:true, parameters:Form.serialize(form)}); 
		return false;

	}

	function createBillingCode(form)
	{
		if(!$F('billingCode')) { return false; }

		new Ajax.Updater('billingCodeList', 'processProject.php', {asynchronous:true, evalScripts:true, parameters:Form.serialize(form)}); 

		$('billingCode').value = '';
		$('billing').value = '';
		$('labor').value = '';
		$('laborTier2').value = '';
		$('materials').value = '';
		$('description').value = '';
		$('codeBcCatId').value = '';
		$('startDate').value = '';
		
		return false;
	}

	function editBillingCode(billingCodeId)
	{

		parms = 'mode=editBillingCode&billingCodeId=' + billingCodeId;
		new Ajax.Updater('billingCode' + billingCodeId, 'processProject.php', {asynchronous:true, evalScripts:true, parameters:parms}); 
		return false;

	}

		function updateBillingCode(form)
	{

		new Ajax.Updater('billingCodeList', 'processProject.php', {asynchronous:true, evalScripts:true, parameters:Form.serialize(form)}); 
		return false;

	}

	
	
	function deleteProjectBillingCode(billingCodeId, projectId)
	{
		if(!confirm('Delete billing code?')) { return false; }
		parms = 'mode=deleteBillingCode&billingCodeId=' + billingCodeId + '&projectId=' + projectId;
		new Ajax.Updater('billingCodeList', 'processProject.php', {asynchronous:true, evalScripts:true, parameters:parms}); 
		return false;

	}

	function createProject(form)
	{
		var valid=true, message='';

		if(!$F('createProjectName')) { message +='project name\n'; valid=false; }
		if(!$F('locationId')) { message += 'location\n'; valid=false; }
		if(!valid) { alert('Please enter: \n' + message); return false; }
		if($F('cloneProjectId')) { 
			
			if(confirm('Clone project?')) { 
				cloneProject();
				return false;
			}
		
		}
		
		new Ajax.Updater('ajaxContainer', 'processProject.php', {asynchronous:true, evalScripts:true, parameters:Form.serialize(form)}); 

		$('createProjectName').value='';
		$('locationId').value='';
		$('cloneProjectId').value='';

		return false;

	}

	function cloneProject()
	{

		var valid=true, message='';
		
		if(!$F('cloneProjectId')) { message +='project to clone\n'; valid=false; }
		if(!$F('createProjectName')) { message +='project name\n'; valid=false; }
		if(!$F('locationId')) { message += 'location\n'; valid=false; }
		if(!valid) { alert('Please enter: \n' + message); return false; }

		parms = '&mode=cloneProject&projectId=' + $F('cloneProjectId') + '&projectName=' + $F('createProjectName') + '&locationId=' + $F('locationId');
		
		new Ajax.Updater('ajaxContainer', 'processProject.php', {asynchronous:true, evalScripts:true, parameters:parms}); 

		$('createProjectName').value='';
		$('locationId').value='';
		$('cloneProjectId').value='';

		return false;

	}

	function autoFillProjectName(projectName) {
		$('createProjectName').value = projectName; 
	}


	function getProjectStatus(projectId)
	{


		url = "processProject.php";

		var myAjax = new Ajax.Request(
				url, 
				{
					method: 'get', 
					parameters:'mode=getProjectStatus&projectId=' + projectId,
					onComplete: function(request, json)
					{
						
						$('endDate').value = json['endDate'];
						$('submitButton').value = json['submitButton'];

					}

				});
			return false;
	}



	function updateProject(form)
	{

		new Ajax.Updater('ajaxContainer', 'processProject.php', {asynchronous:true, evalScripts:true, parameters:Form.serialize(form)}); 
		return false;

	}
	

	function updateProjectStatus(form)
	{

		new Ajax.Updater('ajaxContainer', 'processProject.php', {asynchronous:true, evalScripts:true, parameters:Form.serialize(form)}); 
		getProjectStatus($F('retireProjectId'));
		return false;

	}


	function deleteProject(projectId)
	{

		parms = 'mode=deleteProject&projectId=' + projectId;
		new Ajax.Updater('ajaxContainer', 'processProject.php', {asynchronous:true, evalScripts:true, parameters:parms}); 
	
		return false;
	}

	function refreshProjectList(projectOptions, projectId)
	{		
		
		var editValue = $F("editProjectId");
		var retireValue = $F("retireProjectId");
		var cloneValue = $F("cloneProjectId");



		$('divEditProjectList').innerHTML =  '<select name="projectId" id="editProjectId">' + projectOptions + '</select>';
		$('divCloneProjectList').innerHTML =  '<select name="projectId" id="cloneProjectId" onchange="autoFillProjectName(this.options[selectedIndex].text);">' + projectOptions + '</select>';
		$('divRetireProjectList').innerHTML =  '<select name="projectId" id="retireProjectId">' + projectOptions + '</select>';

		if(projectId)
		{
			$("editProjectId").value = projectId;
		}else{
			$("editProjectId").value = editValue;
		}
		$("cloneProjectId").value = cloneValue;
		$("retireProjectId").value = retireValue;

	}


	function addBillingCategory(projectId)
	{
		if(!$F('billingCategory')) { alert('Please enter a category name.');  return false; }

		url = "processProject.php";
		var myAjax = new Ajax.Request(
				url, 
				{
					method: 'post', 
					parameters:'mode=addBillingCategory&projectId=' + projectId + '&category=' + $F('billingCategory'),
					onComplete: function (request, json )
					{		
						
						var counter=0;
						
						$("bcCatId").update();
						$("codeBcCatId").update();

						json.each(function(option) {   
					
						  var y=document.createElement('option');
						  var z=document.createElement('option');
						  y.value=json[counter][0];
						  y.text=json[counter][1];
						  z.value=json[counter][0];
						  z.text=json[counter][1];
						  
						  var x=$("bcCatId");
						  try 
							{
							x.add(y,null); // standards compliant
							}
						  catch(ex)
							{
							x.add(y); // IE only
							}

							var x=$("codeBcCatId");
							try {  x.add(z,null); } 	catch(ex) { x.add(z);  }

							counter++;
						
						}); 

					

					}
				});

			$('billingCategory').value = '';

			return false;
	}

	
	function validateDeletingProject(projectId)
	{
		if(!confirm('Are you sure you want to delete this project?')) { return false; }
		new Ajax.Updater('editProject', 'processProject.php', {asynchronous:true, evalScripts:true, parameters: 'mode=validateDeletingProject&projectId=' + projectId}); 

		return false;
	}


	function editBillingCategory(categoryId)
	{

		$('createBillingCategory').hide();
		$('updateBIllingCode').show();
		$('billingCategoryId').value = categoryId;

		url = "processProject.php";

		var myAjax = new Ajax.Request(
				url, 
				{
					method: 'get', 
					parameters:'mode=editBillingCategory&bcCatId=' + categoryId,
					onComplete: function(request, json)
					{
						
						$('billingCategory').value = json[0];
						

					}

				});
			return false;
	}


	function createWorkOrderType(projectId)
	{
		if(!$F('workOrderType')) { alert('Please enter a work order type.');  return false; }

		url = "processProject.php";
		var myAjax = new Ajax.Request(
				url, 
				{
					method: 'post', 
					parameters:'mode=createWorkOrderType&projectId=' + projectId + '&workOrderTypeName=' + $F('workOrderTypeName') + '&workOrderType=' + $F('workOrderType'),
					onComplete:refreshWorkOrderType
				});

			//$("workOrderTypeId").value = value;
			$("workOrderType").value = '';
			$("workOrderTypeName").value = '';

			return false;
	}

	function editWorkOrderType(workOrderTypeId)
	{
		$('updateWoType').show();
		$('createWoType').hide();
		$('woTypeId').value = workOrderTypeId;
		

		url = "processProject.php";

		var myAjax = new Ajax.Request(
				url, 
				{
					method: 'get', 
					parameters:'mode=editWorkOrderType&workOrderTypeId=' + workOrderTypeId,
					onComplete: function(request, json)
					{
						
						$('workOrderType').value = json[0];
						$('workOrderTypeName').value = json[1];
						

					}

				});
			return false;
	}

	
	function updateWorkOrderType(form)
	{
		
		if(!$F('workOrderType')) { alert('Please enter a type.');  return false; }	

		url = "processProject.php";
		var myAjax = new Ajax.Request(
				url, 
				{
					method: 'post', 
					parameters:Form.serialize(form),
					onComplete:refreshWorkOrderType
				});
			
			$('createWoType').show();
			$('updateWoType').hide();
			$('workOrderType').value = '';
			$('workOrderTypeName').value = '';

	
			return false;
	}

	function deleteWorkOrderType(workOrderTypeId, projectId)
	{
		
			if(!confirm('delete?')) { return false; }

			var myAjax = new Ajax.Request('processProject.php', 
					{
						method: 'post', 
						parameters:"mode=deleteWorkOrderType&workOrderTypeId=" + workOrderTypeId + "&projectId=" + projectId,
						onComplete:refreshWorkOrderType
			
			}); 
			
			return false;
			
	}


	function refreshWorkOrderType (request, json )
	{		
		
			var counter=0;
			var value = $("workOrderTypeListId").value
			$("workOrderTypeListId").update();
			
			json.each(function(option) {   
		
			var y=document.createElement('option');
			y.value=json[counter][0];
			y.text=json[counter][1];

			var x=$("workOrderTypeListId");
			try {  x.add(y,null); } 	catch(ex) { x.add(y);  }

			counter++;
		
		}); 

		$("workOrderTypeListId").value = value;

	}


	function updateBillingCategory(form)
		{
			if(!$F('billingCategory')) { alert('Please enter a category name.');  return false; }

			url = "processProject.php";
			var myAjax = new Ajax.Request(
					url, 
					{
						method: 'post', 
						parameters:Form.serialize(form),
						onComplete: refreshCategoryList
					});

				$('createBillingCategory').show();
				$('updateBIllingCode').hide();
				$('billingCategory').value = '';

				return false;
		}

		function deleteBillingCategory()
		{
			if(!confirm('Delete category')) { return false; }
			if(!$F('bcCatId')) { return false; }

			url = "processProject.php";
			parms = "mode=deleteBillingCategory&billingCodeCategoryId=" + $F('bcCatId') + '&projectId=' + $F('billingCategoryProjectId');
			var myAjax = new Ajax.Request(
					url, 
					{
						method: 'post', 
						parameters:parms,
						onComplete: refreshCategoryList
					});

				$('createBillingCategory').show();
				$('updateBIllingCode').hide();
				$('billingCategory').value = '';

				return false;
		}

		function refreshCategoryList (request, json )
		{		
			
			var counter=0;
			
			bcValue = $F("bcCatId");
			codeValue = $F("codeBcCatId");

			$("bcCatId").update();
			$("codeBcCatId").update();

			json.each(function(option) {   
		
			  var y=document.createElement('option');
			  var z=document.createElement('option');
			  y.value=json[counter][0];
			  y.text=json[counter][1];
			  z.value=json[counter][0];
			  z.text=json[counter][1];
			  
			  var x=$("bcCatId");
			  try 
				{
				x.add(y,null); // standards compliant
				}
			  catch(ex)
				{
				x.add(y); // IE only
				}

				var x=$("codeBcCatId");
				try {  x.add(z,null); } 	catch(ex) { x.add(z);  }
				

				counter++;
			
			});
			
			$("bcCatId").value = bcValue;
			$("codeBcCatId").value = codeValue;
		}
	
		
