// Page Constructors


// Intranet Clients

//global order fields
var order_field = "NA";
var order_direction;
var quick_search_term = 'null';

function initIntranetClients(){
	var clients = $$('.client_node');
	clients.each(function(clientNode){
		initClientNode(clientNode);
	});
}

function initClientNode(clientNode){
	// Find out what the client id is from its tag id
	var clientIdArray = clientNode.id.split('_');
	var clientId = clientIdArray[clientIdArray.length-1];
	// Add Events		
	// Detect if there is an info tag (the last hidden div will not have one)
	if (clientNode.getElement('.info')){
		var clientInfo = clientNode.getElement('.info');
		clientInfo.addEvents({
			'click': function(){
				inspectChildren(clientId,'client');
				clientNode.toggleClass('expanded');
			},
			mouseover: function(){
				clientNode.addClass('highlighted');
			},
			mouseleave: function(){
				clientNode.removeClass('highlighted');
			}					
		});
		clientNode.getElement('.expand').addEvent('click',function(){
			clientNode.toggleClass('expanded');
		});
	}			
}


function initProject(){
    if($('advanced')){
        new Autocompleter.Request.JSON($('autocomplete-user'), 'autocomplete_user.php', 
        		{'indicatorClass': 'autocompleter-loading'}, 'addUserToSearch');
		
		new Autocompleter.Request.JSON($('autocomplete-client'), 'autocomplete_client.php', 
				{'indicatorClass': 'autocompleter-loading'}, 'addClientToSearch');
	
		myCal1 = new Calendar({ search_start_date_from: 'd M Y' });	
		myCal1 = new Calendar({ search_start_date_to: 'd M Y' });
		myCal1 = new Calendar({ search_contract_completion_date_from: 'd M Y' });	
		myCal1 = new Calendar({ search_contract_completion_date_to: 'd M Y' });
		myCal1 = new Calendar({ search_actual_completion_date_from: 'd M Y' });	
		myCal1 = new Calendar({ search_actual_completion_date_to: 'd M Y' });		
		 			
    }else{
		new Autocompleter.Request.JSON($('autocomplete-field'), 'autocomplete_project.php', 
				{'indicatorClass': 'autocompleter-loading'},'getProject');   
		getProject('null');
    }
}

function initClient(){

}


// Function Library //



function insertNewContactForm(location){
	//if is hidden
	if($('new_details').getStyle('display') != 'none'){
		addContact('show_form', location);
	}
	$('new_details').set('style','display:block');
}

function insertNewClientForm(){
    if($('new_details').getStyle('display') != 'none'){
		addClient('show_form');
	}
	$('new_details').set('style','display:block');
}

function addContact(show_form, location){
	$('action').value = "add"; 
	var req = new Request({	
		url:'includes/ajax/update_contact.php', 
		async:'false', 
		onSuccess: function(responseText) {	
			$each($$('.error'), function(el, i){
				el.removeClass('error');
			})
			if(responseText == "success"){
					$('contact_name_new').value = "";
					$('contact_email_new').value = "";					                                
					$('contact_phone_new').value = "";
					
					window.location = 'client_'+location+'.php?client_id='+$('client_id').value+'&'+show_form;
			}else{				 
				reportErrors(responseText);   
			}
		} 
	}).send($('new_form'));
	$('action').value = ""; 
}

function addClient(show_form){
	$('action').value = "add_client"; 
	var req = new Request({	
		url:'includes/ajax/update_contact.php', 
		async:'false', 
		onSuccess: function(responseText) {	
			$each($$('.error'), function(el, i){
				el.removeClass('error');
			})
			if(responseText == "success"){ 
				$('client_name_new').value = "";
				window.location = 'clients.php?'+show_form;
			}else{				 
				reportErrors(responseText);   
			}
		} 
	}).send($('new_form'));
	$('action').value = ""; 
}

function cancelAddContact(){
	$('new_details').set('style','display:none');
	$('contact_name_new').value = "";
	$('contact_phone_new').value = "";
	$('contact_email_new').value = "";
}

function cancelAddClient(){
	$('new_details').set('style','display:none');
	$('client_name_new').value = "";
}

function deleteContact(contact_id, location){
	
	 var req = new Request({	
		url:'includes/ajax/update_contact.php', 
		async:'false', 
		onSuccess: function(responseText){ 
			if(responseText == "success"){
				window.location = 'client_'+location+'.php?client_id='+$('client_id').value;
			}else{				 
				  
			}
		} 
	}).send("action=delete&contact_id="+contact_id);
}

function saveContacts(){
	$('new_form').getElements('[type=text]').each(function(el, i){
		if(el.get('value') == ""){
			 el.value = " ";
		}
	})
	$('action').value = "edit";
	var req = new Request({	
		url:'includes/ajax/update_contact.php', 
		async:'false', 
		onSuccess: function(responseText) {	
			$each($$('.error'), function(el, i){
				el.removeClass('error');
			})
			
			$('new_form').getElements('[type=text]').each(function(el, i){
				if(el.get('value') == " "){
					 el.value = "";
				}
			})
			
			if(responseText == "success"){
				window.location = 'client_view.php?client_id='+$('client_id').value;
			}else{				 
				reportErrors(responseText);   
			}
		} 
	}).send($('new_form'));
	$('action').value = ""; 
}

function startUpload(type){	
	
	$(type+'_upload_process').set('html', '<img src="images/loader.gif">');
	$(type+'_upload_process').set('style', 'visibility:visible'); 
	$(type+'_upload_form').set('style', 'visibility:hidden');

	return true;
}

function stopUpload(response, type){
	  var result = '';
	  if (response == 'success'){
		 result = '<div class="upload_msg">The file was uploaded successfully.</div><br/><br/>';
	  }else{
		 result = '<div class="upload_error_msg">'+response+'</div><br/><br/>';
	  }
	  
	  $(type+'_upload_process').set('html', result); 
	  $(type+'_upload_form').set('style', 'visibility:visible');
	  updateThumbs(type);
	  if(type == 'image'){
	     //setTimeout("$('image_upload_process').set('html', '');", 5000)
	  }else{
	     //setTimeout("$('brochure_upload_process').set('html', '');", 5000)
	  }
	  
	  document.image_form.myfile.value = ""; 
	  document.brochure_form.myfile.value = ""; 
	   
	  return true;   
}

function updateThumbs(type){
	var req = new Request({	
	url:'includes/ajax/update_files.php', 
	async:'false', 
	onSuccess:  function(responseText){ 
					$(type+'_thumbs').set('html', responseText);
				} 
	}).send("action=refresh&type="+type+"&project_id="+$('project_id').value);
	
}

function deleteFile(filename, type){
    var req = new Request({	
	url:'includes/ajax/update_files.php', 
	async:'false', 
	onSuccess:  function(responseText){ 
					updateThumbs(type); 
					$('image_upload_process').set('html', '');
				} 
	}).send("action=delete&type="+type+"&project_id="+$('project_id').value+"&filename="+filename);
}

function addProjectClient(type){
	var req = new Request({	
	url:'includes/ajax/update_project.php', 
	async:'false', 
	onSuccess:  function(responseText){ 
					$each($$('.error'), function(el, i){
						el.removeClass('error');
					})
					if(responseText == "success"){ 
						$('client_name_new').value = "";
						refreshProjectClient();
						refreshProjectLocations();
						refreshProjectContacts(); 
					}else{				 
						reportErrors(responseText);   
					}
				} 
	}).send("action=add_client&project_id="+$('project_id').value+"&client_select="+$('client_select').value+"&client_name_new="+$('client_name_new').value+"&type="+type);
}

function addProjectLocation(type){
	var details = "";
	$each($$('.location_new'), function(el, i){
		 details += el.get('id')+"="+el.get('value')+"&";
	})
	
	var req = new Request({	
	url:'includes/ajax/update_project.php', 
	async:'false', 
	onSuccess:  function(responseText){ 
					$each($$('.error'), function(el, i){
						el.removeClass('error');
					})
					if(responseText == "success"){ 
						$each($$('.location_new'), function(el, i){
							 el.set('value', '');
						})
						refreshProjectClient();
						refreshProjectContacts();
						refreshProjectLocations(); 
					}else{				 
						reportErrors(responseText);   
					}
				} 
	}).send("action=add_location&project_id="+$('project_id').value+"&location_select="+$('location_select').value+"&"+details+"&type="+type);
}

function addProjectContact(type){
	var req = new Request({	
	url:'includes/ajax/update_project.php', 
	async:'false', 
	onSuccess:  function(responseText){ 
					$each($$('.error'), function(el, i){
						el.removeClass('error');
					})
					if(responseText == "success"){ 
						$('contact_name_new').value = ""; 
						$('contact_phone_new').value = ""; 
						$('contact_email_new').value = ""; 
						refreshProjectContacts();
					}else{		 
						reportErrors(responseText);  
					}
				} 
	}).send("action=add_contact&project_id="+$('project_id').value+"&contact_select="+$('contact_select').value+"&contact_name_new="+$('contact_name_new').value+"&contact_phone_new="+$('contact_phone_new').value+"&contact_email_new="+$('contact_email_new').value+"&type="+type);
}





function returnAutocompleterSelection(value){
	var value_array = value.split('|'); 
	value_1 = value_array[0];
	value_2 = value_array[1];
	value_3 = value_array[2];
	
	quick_search_term = value_2;
	
	
	if($('project_edit_page')){     
	    addUserToList(value_2, value_3)
	}
	
	if($('projects_page') && $('lookup')){
	   getProject(quick_search_term);    
	}
	
	if($('projects_page') && $('advanced')){
		
	}
}

function getProject(result, field, direction){
	var value_array = result.split('|'); 
	var project_id = value_array[1];
	
	if($defined(field)){
    	order_field = field;
    }
    
    if($defined(direction)){
    	order_direction = direction;
    }

	var order = "order_field="+order_field+"&order_direction="+order_direction+"&";
	
	var req = new Request({	
	url:'includes/ajax/update_project.php', 
	async:'false', 
	onSuccess:  function(responseText){ 
					$('lookup_results').set('html', responseText);
					$('lookup_table').getElements('tr').each(function(e, i){
						if(i % 2 == 0){
							shading = "banding_dark";
						}else{
							shading = "banding_light";
						}
						e.getElements('td').each(function(td_e, td_i){   
							td_e.addClass(shading);
						
						})
							
					});
					
					initReorderFields($('lookup_table'), false);
					
				} 
	}).send("action=get_project_list&project_id="+project_id+"&"+order);
}

function addUserToList(result){
	var value_array = result.split('|'); 
	var user_id = value_array[1];
	var position_id = value_array[2];

	var req = new Request({	
	url:'includes/ajax/update_project.php', 
	async:'false', 
	onSuccess:  function(responseText){ 
					$each($$('.error'), function(el, i){
						el.removeClass('error');
					})
					if(responseText == "success"){ 
						refreshProjectUsers();
					}else{		 
						reportErrors(responseText);  
					}
				} 
	}).send("action=add_user&project_id="+$('project_id').value+"&user_id="+user_id+"&position_id="+position_id);
}

function deleteProjectClient(){
	if(confirm("Are you sure you want to unlink the client from this project?")){   
		var req = new Request({	
		url:'includes/ajax/update_project.php', 
		async:'false', 
		onSuccess:  function(responseText){ 
						refreshProjectClient();
						refreshProjectLocations();
						refreshProjectContacts(); 
					} 
		}).send("action=delete_client&project_id="+$('project_id').value);
	}
}

function deleteProjectLocation(location_id){
	if(confirm("Are you sure you want to unlink the location from this project?")){   
		var req = new Request({	
		url:'includes/ajax/update_project.php', 
		async:'false', 
		onSuccess:  function(responseText){ 
						refreshProjectLocations();
						refreshProjectContacts(); 
					} 
		}).send("action=delete_location&project_id="+$('project_id').value+"&location_id="+location_id);
	}
}

function deleteProjectContact(contact_id){
if(confirm("Are you sure you want to unlink the client contact from this project?")){   
		var req = new Request({	
		url:'includes/ajax/update_project.php', 
		async:'false', 
		onSuccess:  function(responseText){ 
						refreshProjectContacts();
					} 
		}).send("action=delete_contact&contact_id="+contact_id+"&project_id="+$('project_id').value);
	}
}

function deleteProjectUser(user_id){
	if(confirm("Are you sure you want to remove this user?")){
		var req = new Request({	
		url:'includes/ajax/update_project.php', 
		async:'false', 
		onSuccess:  function(responseText){ 
						refreshProjectUsers(); 
					} 
		}).send("action=delete_user&project_id="+$('project_id').value+"&user_id="+user_id);
	}
}

function refreshProjectClient(show){
	var req = new Request({	
	url:'includes/ajax/update_project.php', 
	async:'false', 
	onSuccess:  function(responseText){ 
					var client_markup = responseText.split('<#BREAKER#>');
					$('disp_client_cont').set('html', client_markup[0]);
					$('add_client_cont').set('html', client_markup[1]);
					$('add_client_cont').set('style', 'display:none');
				} 
	}).send("show="+show+"&action=refresh_client&project_id="+$('project_id').value);		
}

function refreshProjectLocations(show){
	var req = new Request({	
	url:'includes/ajax/update_project.php', 
	async:'false', 
	onSuccess:  function(responseText){ 
					var markup = responseText.split('<#BREAKER#>');
					$('disp_location_cont').set('html', markup[0]);
					$('add_location_cont').set('html', markup[1]);
					$('add_location_cont').set('style', 'display:none');  
				} 
	}).send("show="+show+"&action=refresh_locations&project_id="+$('project_id').value);	
}

function refreshProjectContacts(show){
	var req = new Request({	
	url:'includes/ajax/update_project.php', 
	async:'false', 
	onSuccess:  function(responseText){ 
					var client_markup = responseText.split('<#BREAKER#>');
					$('disp_contact_cont').set('html', client_markup[0]);
					$('add_contact_cont').set('html', client_markup[1]);
					$('add_contact_cont').set('style', 'display:none');  
				} 
	}).send("show="+show+"&action=refresh_contacts&project_id="+$('project_id').value);	
}

function refreshProjectUsers(show){
	var req = new Request({	
	url:'includes/ajax/update_project.php', 
	async:'false', 
	onSuccess:  function(responseText){ 
					$('users_cont').set('html', responseText);
				} 
	}).send("show="+show+"&action=refresh_users&project_id="+$('project_id').value);	
}

function reportErrors(text){
	var responseArray = text.split('<#BREAKER#>');
	if(responseArray.length > 0){
		var error_messages = responseArray[0].split("|"); 
		var error_fields = responseArray[1].split("|");
		var error_message = "Please check the marked errors.<br />";
		if(error_fields.length > 0){ 
			for(var i=0; i < (error_fields.length-1); i++){	
				$(error_fields[i]).addClass('error');
			}
			$('error_message').set('html', error_message); 
		}
	}
}

function toggleAddClient(){
	if($('add_client_cont').style.display == 'none'){
	    $('add_client_cont').set('style', 'display:block');
		$('add_client_btn').set('html', '');
	}else{
	    $('add_client_cont').set('style', 'display:none');
	    if($('client_name')){
	        $('add_client_btn').set('html', '<img src="images/edit.png" border="0">');
	    }else{
	       $('add_client_btn').set('html', '<img src="images/add.png" border="0">');
	    }
		
		$('client_name_new').set('value', '');
	}	
}

function toggleAddLocation(){
	if($('add_location_cont').style.display == 'none'){
	    $('add_location_cont').set('style', 'display:block');
		$('add_location_btn').set('html', '');
	}else{
	    $('add_location_cont').set('style', 'display:none');
	    if($('location_address1')){
	        $('add_location_btn').set('html', '<img src="images/edit.png" border="0">');
	    }else{
	       $('add_location_btn').set('html', '<img src="images/add.png" border="0">');
	    }
		
		$each($$('.location_new'), function(el, i){
			el.set('value', '');
		})
	}	
}

function toggleAddContact(){
	if($('add_contact_cont').style.display == 'none'){
	    $('add_contact_cont').set('style', 'display:block');
		$('add_contact_btn').set('html', '');
	}else{
	    $('add_contact_cont').set('style', 'display:none');
		$('add_contact_btn').set('html', '<img src="images/add.png" border="0">');
		$('contact_name_new').set('value', '');
		$('contact_phone_new').set('value', '');
		$('contact_email_new').set('value', '');
	}	
}

function saveProject(keep_editing){
    tinyMCE.triggerSave();
 
    var positions = ""; 
    var vars = "action=save_changes&";
	$('project_cont').getElements('select,input,textarea').each(
		function(e, i){
			if(e.get('type') == "checkbox"){
				if(e.checked){
					vars += e.get('name') + "=yes&";	
				}else{
				    vars += e.get('name') + "=no&";
				}
            }else if(e.get('id') == 'project_description'){
                vars += 'project_description=' + escape(tinyMCE.getContent()) + '&';
			}else{
				vars += e.get('name') +"="+ e.get('value') +"&";
			}	                                            	
		}
	)
    //console.log(vars)
	
	$('project_manager_cont').getElements('select,input,textarea').each(
		function(e, i){
			vars += e.get('name') +"="+ e.get('value') +"&";                                            	
		}
	)

	$('users_cont').getElements('select').each(
		function(e, i){
			var position_name_ar = e.get('name').split("_");
			positions += position_name_ar[1] + "|" + e.get('value')+"#";                                            	
		}
	)
	
	vars += "positions="+positions; 

    var k = $('project_cont').getElements('input');
		var req = new Request({	
		url:'includes/ajax/update_project.php', 
		async:'false', 
		onSuccess:  function(responseText){
						var response = responseText.split('|'); 
						if(response[0] == "success"){ 
							alert("Your changes were saved");
							if(keep_editing == 'true'){
								window.location="project_edit.php?project_id="+response[1];
							}else{
								window.location="projects.php";
							}
						}else{		 
							reportErrors(responseText);  
						}
					} 
	}).send(vars);	
}

function deleteProject(project_id){
	if(confirm("Are you sure you want to delete this project?")){
	
		var req = new Request({	
		url:'includes/ajax/update_project.php', 
		async:'false', 
		onSuccess:  function(responseText){
						if(responseText == "success"){ 
							alert("Your project has been deleted");
							window.location="projects.php";
						}
					} 
		}).send("action=delete_project&project_id="+project_id);	
	}
}
          
function initProjectEdit(){
	if($('project_id').value != 'new'){
		refreshProjectClient();
		refreshProjectLocations();
		refreshProjectContacts();
		refreshProjectUsers();
	}        
	myCal1 = new Calendar({ start_date: 'd M Y' }); 
	myCal2 = new Calendar({ contract_completion_date: 'd M Y' }); 
	myCal3 = new Calendar({ actual_completion_date: 'd M Y' }); 
    
	new Autocompleter.Request.JSON($('autocomplete-field'), 'autocomplete_user.php', 
						{'indicatorClass': 'autocompleter-loading'}, 'addUserToList');    
}

function initProjectView(){
	refreshProjectClient('view');
	refreshProjectLocations('view');
	refreshProjectContacts('view');
	refreshProjectUsers('view');        
}
  
function addUserToSearch(result){
	//add user to list of current users if the user doesnt already exist
	var value_array = result.split('|'); 
	var user_name = value_array[0];
	var user_id = value_array[1];
	
	var new_user = new Element('div', {id: user_id}); 
	new_user.addClass('single_user'); 
	new_user.inject($('user_list'));
	
	var delete_btn = new Element('a');
	delete_btn.set('html', "<img src='images/delete.png'> ")
	delete_btn.addEvents({'click' : function(){ this.getParent().dispose(); }}); 
	delete_btn.inject(new_user);
	
	var name_span = new Element('span');
	name_span.set('html', user_name)
	name_span.inject(new_user)
}


function addClientToSearch(result){     
   //add client to list of current clients if the user doesnt already exist 
	var value_array = result.split('|'); 
	var client_name = value_array[0];
	var client_id = value_array[1];
	
	var new_client = new Element('div', {id: client_id});
	new_client.addClass('single_client');
	//new_client.set('html', "<a href='#' onclick='this.getParent().dispose()'><img src='images/delete.png'></a> <span class='name'>"+client_name+'</span>');
	new_client.inject($('client_list'));
	
	var delete_btn = new Element('a');
	delete_btn.set('html', "<img src='images/delete.png'>")
	delete_btn.addEvents({'click' : function(){ this.getParent().dispose(); }}); 
	delete_btn.inject(new_client);
	
	var name_span = new Element('span');
	name_span.set('html', client_name)
	name_span.inject(new_client)
}


function performAdvancedSearch(page, field, direction){

	var positions = ""; 
    var vars = "action=advanced_search&";
    var users = ""; 
    var clients = ""; 
    
    if($defined(field)){
    	order_field = field;
    }
    
    if($defined(direction)){
    	order_direction = direction;
    }
    
    //get input fields
	$('advanced_options').getElements('input,select').each(
		function(e, i){
			if(e.get('type') == "checkbox"){
				if(e.checked){
					vars += e.get('name') + "=true&";	
				}
			}else{
				vars += e.get('name') +"="+ e.get('value') +"&";	
			}                                        	
		}
	)
	
	//get chosen users
	$('user_list').getElements('div').each(
		function(e, i){
			users += e.get('id')+"|";                                      	
		}
	)
	vars += "search_users="+users+"&";

	//get chosen clients
	$('client_list').getElements('div').each(
		function(e, i){
			clients += e.get('id')+"|";                                            	
		}
	)
	
	vars += '&page='+page+"&";
	vars += "order_field="+order_field+"&";
	vars += "order_direction="+order_direction+"&";
	vars += "search_clients="+clients; 
    var shading;
	var req = new Request({	
	url:'includes/ajax/project_search.php', 
	async:'false', 
	onSuccess:  function(responseText){
					if(responseText == 'NO RESULTS'){
						$('advanced_search_results').set('html', "There were no results to match your search criteria");		
						$('print_csv_btn').empty(); 
					}else{	
						$('print_csv_btn').set('html', '<a href="includes/ajax/project_search.php?print" target="_blank"><img src="images/printBtn.png" border="0"></a> <a href="includes/ajax/project_search.php?csv" target="_blank"><img src="images/csvBtn.png" border="0"></a> <a href="includes/ajax/project_search.php?pdf"><img src="images/pdfBtn.png" border="0"></a>');
						$('advanced_search_results').set('html', responseText);
						//search_results_table
						if($('search_results_table')){
							$('search_results_table').getElements('tr').each(function(e, i){
								if(i % 2 == 0){
									shading = "banding_dark";
								}else{
									shading = "banding_light";
								}
								e.getElements('td').each(function(td_e, td_i){   
									td_e.addClass(shading);
								
								})
									
							});
					
							initReorderFields($('search_results_table'), true);
						
						}
						
					}	
				} 
	}).send(vars);
}

function getChildNature(nature){
	switch(nature){
		case 'client':
		   return 'location';
		break;
		case 'location':
			return 'contact';
		break;
	}
}

    
function inspectChildren(id, nature){                               
	var child_nature = getChildNature(nature); 
	$(nature+'_node_'+id).getElements('.expand.'+nature).each(function(e, i){
			
		if(e.hasClass('closed')){
			e.removeClass('closed');
			e.addClass('open');
			var new_inspector = new Element('div', {id: child_nature+"_cont_"+id});
			new_inspector.inject($(nature+'_node_'+id));
			new_inspector.addClass(child_nature+'_cont')
			var req = new Request({	
				url:'includes/ajax/update_client.php', 
				async:'false', 
				onSuccess: function(responseText){
								new_inspector.set('html', responseText)	
								//alert(responseText)
							} 
			}).send("action=get_"+nature+"_children&"+nature+"_id="+id);
			//new_inspector.empty();

		}else{           
			e.removeClass('open');
			e.addClass('closed');
			$(child_nature+'_cont_'+id).dispose();   
		}									
	});  
}

function editNode(id, nature){
	var req = new Request({	
		url:'includes/ajax/update_client.php', 
		async:'false', 
		onSuccess: function(responseText){
						$(nature+'_node_'+id).set('html', responseText);
						$(nature+'_node_'+id).addClass('editing');
						id = id+"";
						if(id.substring(0, 3) == 'new'){
							$(nature+'_node_'+id).removeClass('hidden');
						}
					} 
	}).send("action=get_edit_"+nature+"&"+nature+"_id="+id);	
}
 
function saveNode(id, nature){

	var fields = "";
	$(nature+'_node_'+id).getElements('input,select').each(function(e, i){
		fields += e.get('name')+"="+e.get('value')+"&";				
	});

	var req = new Request({	
		url:'includes/ajax/update_client.php', 
		async:'false', 
		onSuccess: function(responseText){
						$each($$('.error'), function(el, i){
							el.removeClass('error');
						})
						if(id.substring(0,3) == 'new'){ 
						    var response_split = responseText.split("|");
							if(response_split[0] == "success"){							
								injectNode(response_split[1], nature, id);				
							}else{				 
								reportErrors(responseText);   
							}
						}else{
							if(responseText == "success"){							
								refreshNode(id, nature)						
							}else{				 
								reportErrors(responseText);   
							}
						}		
					} 
					
	}).send(fields+"action=save_edit_"+nature+"&"+nature+"_id="+id);
}
  
function refreshNode(id, nature){
    	var req = new Request({	
		url:'includes/ajax/update_client.php', 
		async:'false', 
		onSuccess: function(responseText){
						$(nature+'_node_'+id).set('html', responseText);
						$(nature+'_node_'+id).removeClass('editing');
						if(id.substring(0, 3) == 'new'){
							$(nature+'_node_'+id).addClass('hidden');
						}
						if (nature == 'client'){
							initClientNode($('client_node_'+id));
						}
					}
	}).send("action=refresh_"+nature+"&"+nature+"_id="+id);	
}

function injectNode(id, nature, old_id){
	var req = new Request({	
	url:'includes/ajax/update_client.php', 
	async:'false', 
	onSuccess: function(responseText){
					//set html of client_node_new to blank
					$(nature+'_node_'+old_id).set('html', '');
					$(nature+'_node_'+old_id).removeClass('editing');
					// make new div
					var newDiv = new Element('div', {'id': nature+'_node_'+id});
					newDiv.injectBefore($(nature+'_node_'+old_id));
					newDiv.addClass(nature+'_node'); 
					$(nature+'_node_'+id).set('html', responseText);	
				} 
	}).send("action=refresh_"+nature+"&"+nature+"_id="+id);
}

function deleteNode(id, nature){
	
	if(confirm("Are you sure you want to delete this "+nature+"?")){
		var req = new Request({	
		url:'includes/ajax/update_client.php', 
		async:'false', 
		onSuccess: function(responseText){
						$(nature+'_node_'+id).dispose();	
					} 
		}).send("action=delete_"+nature+"&"+nature+"_id="+id);
	}
}


function getClient(result){
 	var value_array = result.split('|');
	var client_id = value_array[1];

	var req = new Request({	
	url:'includes/ajax/update_client.php', 
	async:'false', 
	onSuccess:  function(responseText){ 
					$$('.client_cont').set('html', responseText);
					initIntranetClients();
				} 
	}).send("action=get_clients&client_id="+client_id);
	
}

function initReorderFields(table, advanced){

	table.getElements('th div.order_buttons a.order_up').each(function(el){	

		el.addEvent('click', function(e){
			e.preventDefault();
			if(advanced){
				performAdvancedSearch(1, el.getParent('th').get('id'), 'up');
			
			}else{
				getProject(quick_search_term, el.getParent('th').get('id'), 'up');

			}
		})
	});
	
	table.getElements('th div.order_buttons a.order_down').each(function(el){
		el.addEvent('click', function(e){
			e.preventDefault();
			if(advanced){
				performAdvancedSearch(1, el.getParent('th').get('id'), 'down');
			
			}else{
				getProject(quick_search_term, el.getParent('th').get('id'), 'down')
				
			}
		})

	});
}


var selected_name;
var selected_id;

window.addEvent('domready', function(){
	if($('project_edit_page')){ initProjectEdit(); } 
	if($('project_view_page')){ initProjectView(); } 
	if($('projects_page')){initProject(); } 
	if($('clients_page')){initClient();	}
	
});

