/**
 * class	JH_Form
 * author	Paul Kruijt
 */
var JH_Form = new Class({
	
	/**
	 * initialize
	 * @return void
	 */
	initialize: function()
	{
		// nodes
		this.filter_page_node	= $('filter_page');
		this.loader_node		= $('loader');
		this.form_wrapper_nodes	= $$('.cs_form_wrapper');
		this.content_text_node	= $('content_text');
		
		// classes
		this.hide_class	= 'hide';
	},
	
	/**
	 * set events
	 * @return void
	 */
	setEvents: function()
	{
		// set vars
		var _this						= this;
		var total_form_wrapper_nodes	= this.form_wrapper_nodes.length;
		
		if (total_form_wrapper_nodes > 0)
		{
			for (var a=0; a<total_form_wrapper_nodes; a++)
			{
				var form_wrapper_node	= this.form_wrapper_nodes[a];
				var form_node			= form_wrapper_node.getElement('form');
				
				if (form_node)
				{
					// get submit button
					var http_url			= form_node.action;
					var input_nodes			= form_wrapper_node.getElements('input');
					var total_input_nodes	= input_nodes.length;
					
					if (total_input_nodes > 0)
					{
						for (var b=0; b<total_input_nodes; b++)
						{
							var input_node	= input_nodes[b];
							
							if (input_node.type == 'submit')
							{
								input_node.onclick = function()
								{
									//var http_request = new Request.HTML({url:http_url}).post(form_node);
									
									var http_request = new Request.HTML({
										url			: http_url,
										update		: _this.content_text_node,
										onRequest	: function()
										{
											// show page filter and loader
											_this.filter_page_node.className	= '';
											_this.loader_node.className			= '';
										},
										onSuccess	: function(data)
										{
											// hide page filter and loader
											_this.filter_page_node.className	= _this.hide_class;
											_this.loader_node.className			= _this.hide_class;
											
											// set events for inpage editing (framework)
											if (window.page_object_handler)
											{
												page_object_handler.setEvents();
											}
											
											// check for form on content page, and set events
											var jh_form	= new JH_Form();
											jh_form.setEvents();
										}
									});
									
									http_request.post(form_node);
									
									/*
									// send form (ajax)
									form_node.set('send', {
										onRequest: function()
										{
											// show page filter and loader
											_this.filter_page_node.className	= '';
											_this.loader_node.className			= '';
										},
										onSuccess: function(data)
										{
											// set html feedback
											_this.content_text_node.innerHTML = data;
											
											// hide page filter and loader
											_this.filter_page_node.className	= _this.hide_class;
											_this.loader_node.className			= _this.hide_class;
											
											// check for form on content page, and set events
											var jh_form	= new JH_Form();
											jh_form.setEvents();
										}
									});
									
									form_node.send();
									*/
									return false;
								}
							}
						}
					}
				}
			}
		}
	}
	
});