var ATSH = {
	init: function() {
		Element.addMethods('FORM', {
			isValid: function(element) {
				element = $(element);
				return element.getElementsBySelector('input', 'textarea').all(function(el) {
					return $F(el);
				});
			}
		});
		ATSH.Behaviour.go();
		
//		ATSH.swfu = new SWFUpload({
//			file_post_name, 'image',
//			upload_url : "/images/upload",
//			flash_url : "/flash/swfupload.swf",
//			file_size_limit : "20 MB",
//			button_placeholder_id : "image",
//			button_text: 'Choose an image',
//			button_text_left_padding : 3,
//			button_text_top_padding : 2,
//			button_cursor : SWFUpload.CURSOR.HAND,
//			button_width: 100,
//			button_height: 20
//		});
	}
};

ATSH.Behaviour = {
	ruleset: {},
	setRules: function(set) {
		ATSH.ruleset = set;
	},
	go: function(d) {
		d = d || document;
		$H(ATSH.ruleset).each(function(pair) {
			var selector = pair.key;
			var func = pair.value;
			Element.getElementsBySelector(d,selector).each(function(node) {
				func($(node));
			});
		});
	}
};

var rules = {
	'#imageupload input, #imageupload textarea': function(el) {
		el.observe('focus', function(e) {
			if(el.previous('span')) {
				el.previous('span').hide();
			}
		});
		el.observe('blur', function(e) {
			if(el.previous('span') && !$F(el)) {
				el.previous('span').show();
				el.removeClassName('valid');
			}
			else {
				var valid = true;
				if(valid) {
					el.addClassName('valid');
				}
			}
		});
	},
	'#imageupload': function(form) {
		form.observe('submit', function(e) {
//			e.stop();
			
			console.log(this.isValid());
		});
	}
}

ATSH.Behaviour.setRules(rules);
