// JavaScript Document


$(document).ready
(
 	function()
	{
		$('.datepicker').datepicker();
		
	}
);

function addType()
{
	var sel = $('#type').get(0);
	
	var len = $('#type').get(0).options.length;
	var newVal = $('#new-type').get(0).value;
		
	if( (newVal != null) && (newVal != '') )
	{
		sel.options[len] = new Option(newVal, newVal.replace(/\W+/, '_').toLowerCase() );
		sel.options[len].selected = true;
	}
	
	$('#new-type').get(0).value = '';
}

function addCategory()
{
	var newVal = $('#new-category').get(0).value;
	
	if( (newVal != null) && (newVal != '') )
	{
		$('#custom-categories').append(createCheckbox('category', newVal));
		$('#new-category').get(0).value = '';
	}
}

function createCheckbox( name, label )
{
	var id = 'category-custom_' + $('input[name="category"]').length;
	
	var result = '';
	result += '<div class="form-item form-checkbox clearFix">';
	result += '<div class="value"><input id="' + id + '" name="' + name + '" type="checkbox" checked="true"/></div>';
	result += '<div class="label">' + label + '</div>';
	result += '</div>';
		
	return result;
}

function processForm()
{
	$('.error').html('');
	$('#form-error').hide();
	
	
	var errors = null;
	var types = '';
	
	if( $('#type').get(0).value == '' )
		errors = registerError('type', 'Please select a document type', errors);
		
	if( $('#username').get(0).value == '' )
		errors = registerError('username', 'Please enter your name', errors);
		
	if( $('#usermail').get(0).value == '' )
		errors = registerError('usermail', 'Please enter your email address', errors);
	
	if( $('#title').get(0).value == '' )
		errors = registerError('title', 'Please enter a document title', errors);

	if( $('#summary').get(0).value == '' )
		errors = registerError('summary', 'Please enter a document summary', errors);
		
	if( $('#unitofgov').get(0).value == '' )
		errors = registerError('unitofgov', 'Please enter unit of government or jurisdiction', errors);
		
	if( $('input[name="category"][checked]').length == 0 )
		errors = registerError('category', 'Please choose at least one category', errors);

	var fileObj = document.getElementById('file');
	if( !(/.*?\.(xls|doc|pdf)$/.test(fileObj.value)) )
		errors = registerError('file', 'Invalid file. File name must end with .doc, .xls or .pdf', errors);
	
	if( errors != null )
	{
		for( var name in errors )
		{
			$('#' + name + '-error').html(errors[name]);
			$(document).scrollTop($('#form-error').offset().top);
			$('#form-error').html('Errors occurred on the form. Please correct the errors where indicated.');
			$('#form-error').show();
		}
	}
	else
	{
		prepareForm();
		$('#lgdw-form').submit();
	}
}

function registerError( name, message, errors )
{
	if( errors == null ) errors = new Object();
	errors[name] = message;
	return errors;
}


function prepareForm()
{
	var result = $('#result').get(0);
	result.value = '';
	
	result.value += "== SUBMITTED BY ==\n";
	result.value += $('#username').get(0).value + "\n";
	result.value += $('#usermail').get(0).value + "\n\n";
	
	result.value += "== DOCUMENT INFO ==\n";
	result.value += 'TITLE: ' + $('#title').get(0).value + "\n";
	result.value += $('#createdate').get(0).value != '' ? 'CREATED: ' + $('#createdate').get(0).value + "\n" : '';
	result.value += 'UNIT OF GOVERNMENT/JURISDICTION: ' + $('#unitofgov').get(0).value + "\n\n";
	
	result.value += "== DOCUMENT SUMMARY ==\n";
	result.value += $('#summary').get(0).value + "\n\n";
	
	result.value += "== DOCUMENT TYPE ==\n";
	var typeSel = $('#type').get(0);
	result.value += typeSel.options[typeSel.selectedIndex].text + "\n\n";
	
	result.value += "== DOCUMENT CATEGORIES ==\n";
	$('input[name="category"]').each
	(
	 	function( i )
		{
			if( this.checked )
			{
				var id = $(this).attr('id') + '-wrapper';
				var label = $('#' + id + ' .label').html();
				result.value += label + "\n";
			}
		}
	);
		
}
