/**
 * Ajax loader for pop up forms
 *
 * @author Chris Cunningham
 * @version 1.0
 * @since 2 Dec 2009
 */	

	var FormManager = Object();

	FormManager.loadForm = function(sFormName, sOutputContainer){
		advAJAX.post({
			url: '/ajax/forms/' + sFormName,
			_type: 'json',
			_fetch:	'load_form',
			
			onLoading: function(){FormManager.outputLoader()},
			onSuccess: function(Obj){Popup.AjaxShowContent(Obj.responseJSON, 'popup_form_container');}
		})
	};

	FormManager.outputLoader = function() {return;};

	FormManager.loadParams = function(sPath, oForm) {
		var aParams = FormManager.getHash(oForm);
		
		new Ajax.Request(sPath,{
			parameters: aParams,
	 		onLoading: function(obj){ FormManager.outputLoader(); },
	 		onSuccess: function(oResponder){FormManager.updateHTML( oResponder , oForm);}
		});
	}
	
	FormManager.updateHTML = function(oResponder, oForm) {
		if( oResponder.responseJSON && oResponder.responseJSON != null) {		
			oForm.parentNode.innerHTML = oResponder.responseJSON.buffer;		
		}
	};
	
	FormManager.getHash = function(oForm) {
		var sParams = new Hash();
		for(var i=0; i < oForm.elements.length; i++) {
			if(oForm.elements[i].type == 'checkbox') {
				if(oForm.elements[i].checked) {
					sParams.set(oForm.elements[i].name, oForm.elements[i].value);
				}
			} else {
				sParams.set(oForm.elements[i].name, oForm.elements[i].value);
			}		
		}
		return sParams;
	};