/**
 * 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.loadFormSampleRequest = function(sFormName, sOutputContainer, sGender, sFeatureId){
		advAJAX.post({
			url: '/ajax/forms/' + sFormName,
			_type: 'json',
			_fetch:	'load_form',
			gender: sGender,
			feature_id: sFeatureId,
			onLoading: function(){FormManager.outputLoader()},
			onSuccess: function(Obj){Popup.AjaxShowContent(Obj.responseJSON, 'popup_form_container');}
		})
	};

	FormManager.loadFormPurchase = function(sFormName, iProductId){
		advAJAX.post({
			url: '/ajax/forms/' + sFormName,
			_type: 'json',
			_fetch:	'load_form',
			product_id: iProductId,
			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: Form.serialize(oForm),
	 		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;
	};
	
	FormManager.CompletedAction = function(styleClass){
		var PopupContainer = $('PopupContainer');
		PopupContainer.addClassName(styleClass);
		var CloseX = $("PopupCloseX");
		
		CloseX.onclick = function(){
	        FormManager.Hide();
	    }
	}
	
	FormManager.Hide = function(){
	   	var PopupContainer = $('PopupContainer');
		PopupContainer.className = 'c_popup';
	    Popup.Hide(); 
	}


