$(function() {

	initForm();

});

function initForm(parentContainer) {
	if (typeof(parentContainer) == "undefined") parentContainer = '';
	
	var form = $(parentContainer + ' form');
	var formFields = form.serializeArray();
	var defaultValues = new Object();
	var defaultFieldTypes = new Object();
	
	for (var i in formFields) {
		var name = formFields[i]['name'];
		var formField = form.find("[name='"+name+"']");
		defaultValues[formFields[i]['name']] = formField.attr('title');
		defaultFieldTypes[formFields[i]['name']] = formField.attr('type');
		
		var formFieldWidth = formField.width() - parseInt(formField.css('padding-left')) - parseInt(formField.css('border-left-width')) - parseInt(formField.css('padding-right')) - parseInt(formField.css('border-right-width'));
		
		if (formFieldWidth > 0) formField.width(formFieldWidth);
		
		if (formField.val() == '') {
			formField.addClass('form_title').val(defaultValues[formFields[i]['name']]);
			if (defaultFieldTypes[formFields[i]['name']] == 'password') {
				formField.clone().attr('type', 'text').insertBefore(formField);
				formField.remove();
				formField = form.find("[name='"+name+"']");
			}
		}
		
		formField.focus(function() {
		
			var defaultValue = defaultValues[$(this).attr('name')];
			var defaultFieldType = defaultFieldTypes[$(this).attr('name')];
			
			if ($(this).val()==defaultValue) {
			
				$(this).removeClass('form_title').addClass('form_titlefocus');
				
				$(this).keydown(function() {
					$(this).val('').removeClass('form_titlefocus').unbind('keydown');
					
					if (defaultFieldType == 'password') {
						$(this).clone(true).attr('type', 'password').insertBefore($(this)).focus();
						$(this).remove();
					}
				});
				
			}
				
// 			$(this).keyup(function() {
// 				if ($(this).val() == '') $(this).val(defaultValue).addClass('form_titlefocus');
// 			});
			
		});
		
		formField.blur(function() {
		
			var defaultValue = defaultValues[$(this).attr('name')];
			var defaultFieldType = defaultFieldTypes[$(this).attr('name')];
			
			$(this).removeClass('form_titlefocus');
			
			if ($(this).val() == '' || $(this).val() == defaultValue) {
				$(this).addClass('form_title').val(defaultValue);
					
					if (defaultFieldType == 'password') {
						$(this).clone(true).attr('type', 'text').insertBefore($(this));
						$(this).remove();
					}
			}
			
		});
	}
		
	form.submit(function() {
	
		var formFields = form.serializeArray();
		var formField;
		
		for (var i in formFields) {
			name = formFields[i]['name'];
			value = formFields[i]['value'];
			defaultValue = defaultValues[formFields[i]['name']];
			formField = form.find("[name='"+name+"']");
			
			if (value == defaultValue && formField.attr('type') != 'hidden') {
				formField.val('');
			}
		}
		
	});
}
