function toggle_ntl_form(){
    $('#ntl_form').toggle();
    $('#ntl_show_button').toggle();
    if ($('#ntl_form').css('display') == 'block')
		$('#ntl_title').focus();
}

var open_ntodo_form = null;

function show_ntodo_form(elem,obj_url){
	if (open_ntodo_form){
		open_ntodo_form.text('');
		open_ntodo_form.load('addtodobutton?todolist_url='+obj_url);
	}
	elem.find('.ntodo_container').load(obj_url+'/addtodocontainer',
			'',
			function(){
				$('#ntodo_title').focus();
				$('#ntodo_todolist').val(elem.attr('id').replace('todolist_head_',''));
			}
		);
	open_ntodo_form = elem.find('.ntodo_container');
}

function show_ntodo_button(elem,todolist_url){
	elem.find('.ntodo_container').text('');
	elem.find('.ntodo_container').load('addtodobutton?todolist_url='+todolist_url);
}


function validate_field(field,fieldname){
	if (field.length != 0){
	    if (field.val() == ''){
	        field.css('border','1px solid red');
	        field.focus();
	        $('#error_msgs').append('<li>' + fieldname + ' muss angegeben werden</li>');
	        return false;
	    }
	}
	return true;
}

/* stores a todolist */
function ajax_post_todolist(){
	if (!validate_field($('#ntl_title'),'Titel der Todoliste'))
        return;
	
	title = $('#ntl_title').val();
	private_list = $('#ntl_private').attr('checked')
	description = "";
    if($('#ntl_description').length != 0)
    	description = $('#ntl_description').attr('value').replace(/\r/, '<br />').replace('>','&gt;').replace('<','&lt;').replace(/\n/, '<br />');
 	jQuery.ajax({
		type: 'POST',
		url: 'addtodolist',
		data: {
			'title': title,
			'description': description,
			'private': private_list
		},
		success: function(data){
			$('.new').removeClass('new');
			$('#todolist_container').prepend(data);
			$('#todolist_container > *:first').addClass('new');
			$('.new').effect('highlight',{},1500);
			toggle_ntl_form();
			$('#ntodo_title').focus();
		//show_ntodo_form($('#todolist_container > li:first'),obj_url);
		//show_ntodo_form($('#todolist_container > li:first'));
		},
		error: function(data, status){
			$('#zornmessages .ui-state-error').text('Eine Aufgabenliste mit diesem Namen existiert bereits!');
			$('#zornmessages').show(500);
			$('#ntl_title').focus();
			setTimeout('$(\'#zornmessages\').hide(500)',3000);
		}
	});
 	clear_all_form_fields();
}


/* deletes a todolist */
function ajax_delete_todolist(elem,url){
	jQuery.post(url+'/delete', '',
		function(response) {
		    $('#todolist_head_' + elem).remove();
		});
}

function toggle_edit_contact(oid,fields){
	if(!$('#keep_open').attr('checked')){
		toggle_new_contact_form();
	}
	for(field in fields){
		if($('#'+field).length == 0){
			if (fields[field] != '')
				$('#contact_form_fields').append(render_field(field,field));
		}else{
			if((field == 'ncstreet' || field == 'nccity' ||
					field == 'nczip' || field == 'nccountry') && fields[field] != '')
				$('#ncaddress_fields').show();
		}
		if (fields[field] != '')	
			$('#'+field).val(fields[field]);
	}
	$('#contact_form_fields').append("<tr><td><input type='hidden' id='contact_id' value='"+oid+"' /></td></tr>");
}


/* stores a todo item */
function ajax_post_todo(obj_url){
	todolist = $('#ntodo_todolist').val();
	repair_context = $('#repair_context').val();
	
	if (!validate_field($('#ntodo_title'),'Titel der Todoliste')){
		$('#todolist_items_'+todolist).prepend(
		'<li id="item_error" style="color:red"><strong>Sie m&uuml;ssen einen Titel angeben!</strong></li>');
		$('#item_error').effect('highlight',{},3000)
		$('#ntodo_title').focus();
		setTimeout('$(\'#item_error\').remove()',3000);
        return;
	}
	
	title = $('#ntodo_title').val();
	responsible = $('#ntodo_responsible').val();
	due_at = $('#ntodo_due_at').val();
	if (repair_context != null)
		obj_url += '/' + todolist;
	
 	jQuery.ajax({
		type: 'POST',
		url: obj_url+'/addtodo',
		data: {
			 'title': title,
		     'responsible': responsible,
		     'due_at': due_at,
		     'todolist': todolist
		},
		success: function(data,status){
			$('.new').removeClass('new');
			$('#todolist_items_'+todolist).prepend(data);
			$('#todolist_items_'+todolist+' > *:first').addClass('new');
			$('.new').effect('highlight',{},1500);
			$('#ntodo_title').focus();
		},
		error: function(){
			$('#todolist_items_'+todolist).prepend(
					'<li id="item_error" style="color:red"><strong>Eine Aufgabe mit diesem Namen existiert bereits!</strong></li>');
			$('#item_error').effect('highlight',{},3000)
			$('#ntodo_title').focus();
			setTimeout('$(\'#item_error\').remove()',3000);
		}
	});
 	clear_all_form_fields();
}

function mark_todo_done(elem_id,todolist,obj_url){
	jQuery.post(obj_url+'/marktododone',{
	     'todo_id': elem_id
	     },
		function(data) {
			$('.done').removeClass('done');
			$('#todolist_done_items_'+todolist).prepend(data);
			$('#todo_head_'+elem_id).remove();
			$('#todolist_done_items_'+todolist+' > *:first').addClass('done');
			highlight($('.done'));
		});
}

function mark_todo_undone(elem_id,todolist,obj_url){
	jQuery.post(obj_url+'/marktododone',{
	     'todo_id': elem_id
	     },
		function(data) {
			$('.new').removeClass('new');
			$('#todo_head_'+elem_id).remove();
			$('#todolist_items_'+todolist).prepend(data);
			$('#todolist_items_'+todolist+' > *:first').addClass('new');
			highlight($('.new'));
		});
}

function ajax_delete_todo(elem,url){
	jQuery.post(url+'/delete', {'todo_id':elem},
		function(response) {
		    $('#todo_head_' + elem).remove();
		});
}
