var conf_dir = '/';

function ar(request, parameters)
{
	return conf_dir + 'inc/ajax/' + request + '.php';
}

function update_course_leader(course_id, coach_id)
{
	new Ajax.Request(ar('update_course_leader'), {
		parameters: { 
			course_id: course_id,
			coach_id: coach_id
		}		
	});
}
function get_camp_weeks(camp_id)
{

	document.getElementById('drop').innerHTML="<img src=\"/image/loading.gif\" alt=\"Loading...\" id=\"details_loading\" />";
	new Ajax.Request(ar('lookup_camp_weeks'), {
		parameters: { 
			camp_id: camp_id
		}		
	});
}
function get_term_courses(term_ref)
{
	document.getElementById('row_new_terms_courses_value').innerHTML="<img src=\"/image/loading.gif\" alt=\"Loading...\" id=\"details_loading\" />";
	new Ajax.Updater('row_new_terms_courses_value', ar('lookup_term_courses'), {
		parameters: { 
			source_term: term_ref
		}		
	});
}
function check_input(e)
{	
	var keycode;
	if (window.event) keycode = window.event.keyCode;
	else if (e) keycode = e.which;
	else return true;

	if (keycode == 13)
	{
		return false;
	}

	return true;
}

function select_site_manager(value, id)
{
	$('site_manager').value = id;
	disable_input('coach_name');
}

function clear_site_manager()
{
	$('site_manager').value = 0;
	enable_input('coach_name');
}

function reset_site_manager()
{
	$('site_manager').value = 0;
	$('row_current_site_manager').setOpacity(0.5);
}

function select_coach(value, id)
{
	$('coach_id').value = id;
	disable_input('coach_name');
}

function clear_coach()
{
	$('coach_id').value = 0;
	enable_input('coach_name');
}

function select_member(value, id)
{
	$('member_id').value = id;
	disable_input('member_name');
}

function clear_member()
{
	$('member_id').value = 0;
	enable_input('member_name');
}

function select_parent(value, id)
{
	$('member_id').value = id;
	disable_input('parent_name');
}

function select_parent_with_details(value, id)
{
	$('member_id').value = id;
	disable_input('parent_name');

	parent_details(id);
}

function parent_details(id, hide)
{			
	if (hide) {
		$('parent_options').hide();
		$('children').hide();
	}

	$('details_loading').show();
	new Ajax.Request(ar('select_parent_with_details'), {
		parameters: { 
			id: id
		},
		onSuccess: function (t) {
			$('details_loading').hide();
			
			if (t.responseText)
			{
				var details = t.responseText.evalJSON();	

				var fields = ['details','firstname','surname', 'address_line_1', 'address_line_2', 'address_line_3', 'county', 'postcode', 'telephone', 'email_address', 'club', 'mobile_one','dob_day', 'dob_year', 'dob_month', 'school', 'mobile_two', 'allergies'];
				
				for (i = 0; i < fields.length; i++)
				{
					if ($(fields[i]) != null)
					{
						$(fields[i]).value = details[fields[i]];
					}
				}
			}
			if(details['parent'] > 0)
			{
			    $('addbutton').hide();
			}else{
			    $('addbutton').show();
			}
			$('updatebutton').show();
			
		}
	});	
}

function clear_parent()
{
	$('member_id').value = 0;
	enable_input('parent_name');
}

function select_new_course(value, id)
{
	$('new_course_id').value = id;
	disable_input('course_ref');
}

function clear_new_course()
{
	$('new_course_id').value = 0;
	enable_input('course_ref');
}

function disable_input(id)
{
	$(id).addClassName('disabled');
	$(id).disable();
	$('clear_' + id).show();
}

function enable_input(id)
{
	$(id).enable();
	$(id).value = '';
	$(id).removeClassName('disabled');

	$('clear_' + id).hide();
	$(id).focus();
}

function tick_select(field, value)
{
	if ($('element_' + field + '_' + value).checked == true)
	{
		$(field + '_' + value).addClassName('selected');
	}
	else
	{		
		$(field + '_' + value).removeClassName('selected');
	}
}

function tick_select_toggle_all(field, checked)
{
	$$('#' + field + ' ul input').each(
		function(element) {
			if (checked)
			{
				element.checked = true;
				element.addClassName('selected');
			}
			else
			{
				element.checked = false;
				element.removeClassName('selected');
			}
		}
	);
}


function update_permission(admin_id, permission_id)
{
	allowed = ($('permission_' + admin_id + '_' + permission_id).checked) ? 1 : 0;

	new Ajax.Request(ar('update_permission'), {
		parameters: { 
			admin_id: admin_id,
			permission_id: permission_id,
			allowed: allowed
		}		
	});
}

function reload_image(id)
{
	var src = $(id).src;

	$(id).src = '';
	$(id).src = src + '?';
}

function payment_select(value) 
{ 
	if (value == 'cheque') 
	{ 
		$('cheque_number_p').show(); 
	} 
	else 
	{ 
		$('cheque_number_p').hide(); 
	} 
}

function update_camp_leader(camp_id, coach_id)
{
	new Ajax.Request(ar('update_camp_leader'), {
		parameters: { 
			camp_id: camp_id,
			coach_id: coach_id
		}		
	});
}

function update_camps(element)
{
	var data = $('form_camp_select').serialize(true);

	$('form_camp_select').disable();
	$('loading').show();

	data.element = (element) ? element.id : null;

	new Ajax.Request(ar('update_camps'), {
		parameters: data,
		onSuccess: function (t)
		{
			$('loading').hide();
		}
	});
}

function select_member_parent(value, id)
{
	$('member_id').value = id;
	disable_input('parent_name');

	$('row_assign_parent_username').hide();
	$('row_assign_parent_password').hide();
	$('row_assign_parent_email_address').hide();
}

function clear_member_parent()
{
	$('member_id').value = 0;
	enable_input('parent_name');

	$('row_assign_parent_username').show();
	$('row_assign_parent_password').show();
	$('row_assign_parent_email_address').show();
}

function add_child_form()
{
	var child_form_template = new Template(template);
	var new_id = new Date().getTime();
	
	$('childForms').insert(child_form_template.evaluate({id: new_id}));
	return false;
}

function remove_child_form(button)
{
	var formdiv = $(button).up('.childForm');
	
	var confirmationText = 'Are you sure you want to remove child '
		+ formdiv.down('.input_firstname').getValue()
		+ ' '
		+ formdiv.down('.input_surname').getValue()
		+ '?';
	
	if (confirm(confirmationText))
	{
		formdiv.remove();
	}
	
	return false;
}
