var of_addons = null;

var OFAddons = new Class({
	initialize:function() {
		this.setupAddAddonForm();
	}
	
	,setupAddAddonForm: function() {
		this.add_form = $('add_addon_form');
		if(!this.add_form) return;
		this.add_form.addEvent('submit',function(ev) {
			ev.stop();
			ev.preventDefault();
			$$('div.form_row').removeClass('error');
			var has_error = false;
			
			// validate required
			$$('.required').each(function(el){
				if(el.get('value').trim() == "") {
					el.getParent("div.form_row").addClass("error");
					has_error = true;
				}
			});
			
			if(!has_error) {
				var form_data = {
					name:$('addon_name').get('value').trim()
					,install_xml:$('addon_installxml').get('value').trim()
					,forum_url:$('addon_forumurl').get('value').trim()
					,category:$('addon_category').get('value')
					,has_example:$('addon_has_example_y').get('checked') ? 'y' : 'n'
					,for_mac:$('addon_for_mac').get('checked') ? 'y' : 'n'
					,for_win:$('addon_for_win').get('checked') ? 'y' : 'n'
					,for_linux: $('addon_for_linux').get('checked') ? 'y' : 'n'
				};
				
				var req = new Request({	
					url:"/control/ofaddons/site/add"
					,data:form_data
					,onSuccess:function(result) {
						if(result.toInt() == 1) {
							alert("The addon has been added! Thanks. We will shortly update the website.");
							document.location = "/";
						}
						else {
							$('form_errors').set('html',result);
						}
					}
				}).send();
				
			}
			else {
				alert('Please fill in all required fields');
			}
		});
	}
});


document.addEvent('domready', function() {
	of_addons = new OFAddons();
});

