
function postFormAdd()
{
	$('#message').html("<p class='loading'>Adding form...</p>");
	$.ajax({
		url:'/admin/form/add',
		type: 'post',
		data: $('#form1').serialize(),
		success: function(transport) {
			var resp = transport;
			if (resp.text)		$('#message').html(resp.text);
			if (resp.redirect)	window.location = resp.redirect;
		},
		error: function(transport) {
			$('#new_field_message').html("<p class='note error'>Error adding field.</p>\n");
		}
	});	
}

function postFieldAdd()
{
	$('#new_field_message').html("<p class='loading'>Adding field...</p>");
	$.ajax({
		url:'/admin/form/add-field',
		type: 'post',
		data: $('#new_field_form').serialize(),
		success: function(transport) {
			var resp = transport;
			if (resp.text)		$('#new_field_message').html(resp.text);
			if (resp.redirect)	window.location = resp.redirect;
		},
		error: function(transport) {
			$('#new_field_message').html("<p class='note error'>Error adding field.</p>\n");
		}
	});	
}

function deleteForm(formID, confirmed)
{
	$('#message').html("<p class='loading'>Loading...</p>");
	$.ajax({
		url:'/admin/form/delete',
		type: 'post',
		data: 'formID=' + formID + '&confirmed=' + (confirmed ? '1' : '0'),
		success: function(transport) {
			var resp = transport;
			if (resp.text)		$('#message').html(resp.text);
			if (resp.redirect)	window.location = resp.redirect;
		},
		error: function(transport) {
			$('#message').html("<p class='note error'>Error during delete.</p>\n");
		}
	});	
}

function deleteField(fieldID, confirmed)
{
	$('#message').html("<p class='loading'>Loading...</p>");
	$.ajax({
		url:'/admin/form/delete-field',
		type: 'post',
		data: 'fieldID=' + fieldID + '&confirmed=' + (confirmed ? '1' : '0'),
		success: function(transport) {
			var resp = transport;
			if (resp.text)		$('#message').html(resp.text);
			if (resp.redirect)	window.location = resp.redirect;
		},
		error: function(transport) {
			$('#message').html("<p class='note error'>Error during delete.</p>\n");
		}
	});	
}

function deleteAllResponses(formID, confirmed)
{
	$('#delete_responses_message').html("<p class='loading'>Loading...</p>");
	$.ajax({
		url:'/admin/form/delete-responses',
		type: 'post',
		data: 'formID=' + formID + '&confirmed=' + (confirmed ? '1' : '0'),
		success: function(transport) {
			var resp = transport;
			if (resp.text)		$('#delete_responses_message').html(resp.text);
			if (resp.redirect)	window.location = resp.redirect;
		},
		error: function(transport) {
			$('#delete_responses_message').html("<p class='note error'>Error during delete.</p>\n");
		}
	});	
}

function afterUpdateFieldType(qe)
{
	switch (parseInt(this.value))
	{
		case 1: // Text
			$('#options_row').css("display", "none");	
			$('#options_text').html('Options');    
 			$('#multiple_row').css("display", "none");   
			$('#height_row').css("display", "none");
			$('#width_row').css("display", "");     
			$('#maxChars').css("display", "");
			$('#showMaxChars').css("display", "");
			$('#fileSize').css("display", "none");
			$('#fileSizeFormat').css("display", "none");
			break;
		case 2: // Textarea
			$('#options_row').css("display", "none");	
			$('#options_text').html('Options');    
 			$('#multiple_row').css("display", "none");   
			$('#height_row').css("display", "");
			$('#width_row').css("display", ""); 
			$('#maxChars').css("display", "");
			$('#showMaxChars').css("display", "");
			$('#fileSize').css("display", "none");
			$('#fileSizeFormat').css("display", "none");
			break;
		case 3: // Dropdown
			$('#options_row').css("display", "");		
			$('#options_text').html('Options');    
 			$('#multiple_row').css("display", "");       
			$('#height_row').css("display", "none");     
			$('#width_row').css("display", "");
			$('#maxChars').css("display", "none");
			$('#showMaxChars').css("display", "none");
			$('#fileSize').css("display", "none");
			$('#fileSizeFormat').css("display", "none");
			break;
		case 4: // Yes/No
			$('#options_row').css("display", "none");	
			$('#options_text').html('Options');    
 			$('#multiple_row').css("display", "none");   
			$('#height_row').css("display", "none");     
			$('#width_row').css("display", "");       
			$('#maxChars').css("display", "none");
			$('#showMaxChars').css("display", "none");
			$('#fileSize').css("display", "none");
			$('#fileSizeFormat').css("display", "none");
			break;
		case 5: // File                    
			$('#options_row').css("display", "");					
			$('#options_text').html('Allowed Extensions');     
			$('#multiple_row').css("display", "none");               
			$('#height_row').css("display", "none");                 
			$('#width_row').css("display", "");
			$('#maxChars').css("display", "none");
			$('#showMaxChars').css("display", "none");
			$('#fileSize').css("display", "");
			$('#fileSizeFormat').css("display", "");
			break;
		case 6: //Radio
			$('#options_row').css("display", "");
			$('#options_text').html('Options');
			$('#multiple_row').css("display", "");
			$('#height_row').css("display", "none");
			$('#width_row').css("display", "");
			$('#maxChars').css("display", "none");
			$('#showMaxChars').css("display", "none");
			$('#fileSize').css("display", "none");
			$('#fileSizeFormat').css("display", "none");
			break;
		case 7: //Checkbox
			$('#options_row').css("display", "");
			$('#options_text').html('Options');
			$('#multiple_row').css("display", "");
			$('#height_row').css("display", "none");
			$('#width_row').css("display", "");
			$('#maxChars').css("display", "none");
			$('#showMaxChars').css("display", "none");
			$('#fileSize').css("display", "none");
			$('#fileSizeFormat').css("display", "none");
			break;                     
		case 8: //FCFS
			$('#options_row').css("display", "");
			$('#options_text').html('Options');
			$('#multiple_row').css("display", "");
			$('#height_row').css("display", "none");
			$('#width_row').css("display", "");
			$('#options_message').html('Note: Format for options is [option, #spots]. Ex: Monday, 3');
			$('#maxChars').css("display", "none");
			$('#showMaxChars').css("display", "none");
			$('#fileSize').css("display", "none");
			$('#fileSizeFormat').css("display", "none");
			break;
	}
}

function postUpdateSort(formID)
{
	$('#message').html("<p class='loading'>Updating...</p>");
	$.ajax({
		url:'/admin/form/update-field-order',
		type: 'post',
		data: 'formID=' + formID + '&' + $('#fields').sortable('serialize'),
		success: function(transport) {
			var resp = transport;
			if (resp.text)
				$('#message').html(resp.text);
		},
		error: function(transport) {
			$('#message').html("<p class='note error'>Error during update.</p>\n");
		}
	});	
}

function initFormCheckChars()
{
	//if ($('textarea').showMaxChars.val())){
	$('textarea[maxlength]').each(function(i, thing) {
		var showMaxChars = thing.readAttribute('showMaxChars'); 
		if (showMaxChars > 0) {
			var maxLength = thing.readAttribute('maxlength');
			var span = document.createElement('span');
			span.id = thing.id + '_counter';
			span.innerHTML = ''+maxLength+' characters remaining';
			span.style.marginLeft = '4px';
			thing.parentNode.appendChild(span);
			
			$('#' + thing.id).keyup(function() {
				if (thing.value.length >= maxLength)
					thing.value = thing.value.substr(0, maxLength);
				if (maxLength - thing.value.length == 1)
					span.html(''+maxLength - thing.value.length+' characters remaining');
			})
			
			/*
			Event.observe(thing.id, 'keyup', function(event) {
				if (thing.value.length >= maxLength)                              
					thing.value = thing.val().substr(0, maxLength);
				span.innerHTML = ''+maxLength - thing.value.length+' characters remaining';
				if (maxLength - thing.value.length == 1)
					span.innerHTML = ''+maxLength - thing.value.length+' character remaining';
			})
			*/
		}
	});
	$('input[maxlength]').each(function(i, thing) {
		thing = $(thing);
		var showMaxChars = thing.attr('showMaxChars'); 
		if (showMaxChars > 0) {
			var maxLength = thing.attr('maxlength');
			var span = $('<span/>');
			span.attr('id', thing.id + '_counter');
			span.html(''+maxLength+' characters remaining');
			span.css('marginLeft', '4px');
			thing.parent().append(span);
			
			$('#' + thing.id).keyup(function() {
				if (thing.val().length >= maxLength)
					thing.val() = thing.val().substr(0, maxLength);
				if (maxLength - thing.val().length == 1)
					span.html(''+maxLength - thing.value.length+' characters remaining');
			})
			
			/*
			Event.observe(thing.id, 'keyup', function(event) {
				if (thing.value.length >= maxLength)
					thing.value = thing.value.substr(0, maxLength);
				span.innerHTML = ''+maxLength - thing.value.length+' characters remaining';
				if (maxLength - thing.value.length == 1)
					span.innerHTML = ''+maxLength - thing.value.length+' character remaining';
			})
			*/
		}
	});
	//}
}


