var x_img = '<img src="/images/err_x.gif" class="errx on"/>';

/** @class   FormHelper
  * @since   17 octobre 2009
  * @version 24 octobre 2009
  */
FormHelper = function(){};

/** Faire un post du contenu d'un formulaire à checkout_switch.
  * @note Méthode statique. Est appelée FormHelper.post_form.
	*/ 
FormHelper.post_form = 
	function(post, action, url){
		if(action){
			post += '&action=' + action;
		}
		$.ajax({
			type     : "POST",
			url      : url,
			data     : post,
			async    : false,
			cache    : false,
			dataType : 'json',
			success  : function(data){
				if(data.success == false){
					var x_img = '<img src="/images/err_x.gif" class="errx on"/>';
					var msg = data.data;
					$('#notice').addClass('error').html(x_img+msg).show();
				}else{
					redirect(data.data);
				}
			}
		});
	};// FormHelper::post_form

/** Mettre un champ en erreur.
	* @return La collection de messages d'erreur.
	*/
FormHelper.add_error = 
	function (field, message){
		var msg = "";
		$(field).addClass('error');
		msg = x_img + messages[message];	
		$(field+'_x').addClass('on');		
		return msg;
	};// add_error

/* Lorsqu'on change le pays, on doit mettre une liste déroulante pour la province si le pays est Canada et une boîte
 * de texte pour les autres pays.
 * @remark La fonction nécessite la variable globale states.
 */
FormHelper.on_country_change = 
	function(country_field_name, province_field_name){
		if($("#" + country_field_name).val() == 39){
			var combo = '<select id="' + province_field_name + '" name="' + province_field_name + 
									'" style="width: 254px; height: 31px; padding-top: 5px;" size="1">';
			for(var i = 0; i < states.length; i++){
				combo += '<option value="' + states[i].code + '">' + states[i].name + '</option>';
			}
			combo += '</select>';
			$("#" + province_field_name).replaceWith(combo);
		}else{
			$("#" + province_field_name).replaceWith('<input type="text" id="' + province_field_name + '" name="' +
																							 province_field_name + '" class="text_input" />');
		}
	};// on_country_change


