var ajax = {
	/**
	 * Appel ajax en GET
	 *
	 * @param string div : Calque ou s'affiche le resultat (peut �tre vide)
	 * @param string page : Page a appeler (obligatoire)
	 * @param string id : id du formulaire a traiter (peut �tre vide). Si il n'y a pas de formulaire, passer les variables dans l'url en comman�ant par @
	 * @return nothing
	 */
	'get':function(div, page, id, callbackSuccess, callbackParam)
	{
		this.request(div, page, id, 'get', callbackSuccess, callbackParam)	
	},
	
	/**
	 * Appel ajax en POST
	 *
	 * @param string div : Calque ou s'affiche le resultat (peut �tre vide)
	 * @param string page : Page a appeler (obligatoire)
	 * @param string id : id du formulaire a traiter (peut �tre vide). Si il n'y a pas de formulaire, passer les variables dans l'url en comman�ant par @
	 * @return nothing
	 */
	'post':function(div, page, id, callbackSuccess, callbackParam)
	{
		this.request(div, page, id, 'post', callbackParam)	
	},
	
	/**
	 * Appel ajax suivant la methode appel�e
	 *
	 * @param string div : Calque ou s'affiche le resultat (peut �tre vide)
	 * @param string page : Page a appeler (obligatoire)
	 * @param string id : id du formulaire a traiter (peut �tre vide) OU les variables dans la forme var1=1&var2=valeur ...
	 * @param string typeRequest : post ou get
	 * @return nothing
	 */
	'request':function(div, page, id, typeRequest, callbackSuccess, callbackParam)
	{
		if(id != '')
		{
			// Si id commence par @ c'est qu'on a mit les variables en dur dedans
			if(id.indexOf('=') > -1)
			{
				variables = id;
			}
			else
			{
				// Sinon on s�rialise le formulaire pour l'envoyer
				variables = $('#'+id).serialize();
			}
		}
		else
		{
			variables = '';
		}
		
		$.ajax({
			type: typeRequest,
			cache: false,
			url: page,
			data: variables,
			
			'success':function(data, textStatus)
			{
				// Si la r�ponse est en Json
				if(data.substr(0,2) == '({')
				{
					// On cr� objet et on ex�cute le r�sultat ajax pour le transformer en objet json
					var jSonObj = new Object();
					jSonObj = eval(data);
					
					// Ex�cution suivant le retour
					switch(jSonObj.returnType)
					{
						// Erreur
						case 'error':
							error.isError(jSonObj.content);
							break;
						
						// Fonction JS � ex�cuter
						case 'function':
							eval(jSonObj.content);
							break;
							
						// Affichage dans le div si il est donn�
						case 'ok':
						default :
							// Si le div est vide on affiche rien sinon on affiche le r�sultat
							if(div != '')
							{
								$('#'+div).html(jSonObj.content);
							}
							break;
					}
				}
				else
				{
					$('#'+div).html(data);
				}
				if(callbackSuccess) {
					callbackSuccess(callbackParam);
				}
			},
			
			'error':function(msg)
			{
				alert('Erreur...');
			}
		});
	}
}
