
/*
 * Default form input text
 */
var Form = {

	defaults: {},

	setDefault: function(key, val) {
		var e = $('#' + key);

		this.defaults[key] = val;

		e.bind({
			'focus': function() {
				var e = $(this), k = e.attr('id'), v = e.val();

				if(Form.defaults[k] == v) {
					e.val('');
				}
			},
			'blur': function() {
				var e = $(this), k = e.attr('id'), v = e.val();

				if(v == '') {
					e.val(Form.defaults[k]);
				}
			}
		});
	},

	isDefault: function(key) {
		return $('#' + key).val() == this.defaults[key];
	}

};

/*
 * Auto get default input text
 */
$(function(){
	function getDefaultText(id) {
		if(!id) {
			return '';
		}
		return $("label[for=" + id + "]").text();
	}

	$("form input[type=text], form textarea").focus(function() {
		var e = $(this), d = getDefaultText(e.attr('id'));

        if (e.val() == d)  {
            e.removeClass("placeholder-text").val("");
        }
    });

    $("form input[type=text], form textarea").blur(function()  {
		var e = $(this), d = getDefaultText(e.attr('id'));
        
		if (e.val() == "" || e.val() == d) {
            e.addClass("placeholder-text").val(d);
        }
    });

    $("form input[type=text], form textarea").blur();
});

/*
 * Download form
 */
$(function() {
	var f = $('#download_form').hide(), b = $('a[href$=submit-download]');
	var h = $('a[href$=featured-download]'), i = $('#download_form input');

	// form not found
	if(!f.length) {
		return;
	}

	h.bind('click', function() {
		f.toggle();
		return false;
	});

	b.bind('click', function() {
		// download file
		var d = $('input[name=featured_download]').val();
		
		// post data
		var data = {'download': true, 'file': d}, errors = [];

		// get form data
		i.each(function() {
			var e = $(this);
			data[e.attr('name')] = e.val();
		});

		if(data['email'] == '') {
			errors.push('Please enter your email');
		}

		if(errors.length) {
			alert(errors.join("\n"));
		} else {
			f.hide();
			$.post('/', data, function() {
				i.val('');
				window.open('/store/downloads/' + d);
			});
		}
		return false;
	});
});

/*
 * Register form
 */
$(function() {
	var f = $('#register_form').hide(), b = $('a[href=#submit-register]');
	var h = $('a[href=#register]'), i = $('#register_form input');

	// form not found
	if(!f.length) {
		return;
	}

	h.bind('click', function() {
		f.toggle();
		return false;
	});

	b.bind('click', function() {
		// post data
		var data = {'register': true}, errors = [];

		// get form data
		i.each(function() {
			var e = $(this);
			data[e.attr('name')] = e.val();
		});

		// check errors
		if(data['name'] == '') {
			errors.push('Please enter your name');
		}

		if(data['company'] == '') {
			errors.push('Please enter your company');
		}

		if(data['address'] == '') {
			errors.push('Please enter your address');
		}

		if(data['phone'] == '') {
			errors.push('Please enter your phone');
		}

		if(data['email'] == '') {
			errors.push('Please enter your email');
		}

		if(errors.length) {
			alert(errors.join("\n"));

		} else {
			// hide form
			f.hide();

			// post data
			$.post('/', data, function() {
				// reset form
				i.each(function() {
					var e = $(this);
					data[e.attr('name')] = e.val('');
				});

				// feedback
				alert("Thank you for your registration, you will receive your free trial soon.");
			});
		}

		return false;
	});
});

