

//
// list les provinces
//
function liste_province(country, element_ok )
{
	var parametres;
	var ajax_url;

	parametres = 'country=' + country;
	ajax_url = "/index.php?/magasinage/list_provinces";

	Ajax_Updater(element_ok, 'POST', ajax_url, parametres)
}


//
// list les provinces LIVRAISON
//
function liste_province_livraison(country, element_ok )
{
	var parametres;
	var ajax_url;

	parametres = 'country=' + country;
	ajax_url = "/index.php?/magasinage/list_provinces_livraison";

	Ajax_Updater(element_ok, 'POST', ajax_url, parametres)
}



//
// ajout article au panier
//
function ajout_panier( id_form, id_div )
{
	// envoie formulaire encode 'iso-8859-1'
	$(id_form).request({
			encoding:'iso-8859-1',
			postBody:getMyBody( $(id_form) ),
			//postBody:'var1=aaa',
			onComplete:function(xhr){
					$(id_div).innerHTML = xhr.responseText;
					//$( element_erreur ).innerHTML = 'Terminé';
					// execute eval la fonction passee en parametre
					//window.eval(str_exec_onComplete);
					window.status = 'Terminé';
			},
			onFailure: function(){
					window.status = 'ERREUR AJAX: Echec de la requete';
					$( id_div ).innerHTML = "Echec de la requete. La derniere action a échoué";
					alert('ERREUR AJAX: Echec de la requete. La derniere action a échoué'); // On affiche une alerte si la requete a échoué
			},
			onLoading: function(){
					$( id_div ).innerHTML = 'Chargement... Attendre SVP!!!'; // au chargement (en attente de réponse du server), on affiche une image de chargement
					window.status = 'Chargement... Attendre SVP!!!';
			}


	});

}// fin fonction

//
// envoi formulaire de contact
//
function submit_contact()
{
	  //
	  // test validite du email
	  //
	  if ( $('email').getValue() == "")
	  {
		alert("Complete zone \"Email\".");
		$('email').focus();
		return (false);
	  }


	  if ( $('email').getValue() != "")
	  {

		var stremail =  $('email').getValue();

		var emailFilter=/^.+@.+\..{2,3}$/;

		if (!(emailFilter.test(stremail))) {
			alert("Please, enter a valide email !");
			 $('email').focus();
			return (false);
		}

		//test email for illegal characters
		var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/;

		if (stremail.match(illegalChars))
		{
			alert("illegal characters !");
			 $('email').focus();
			return (false);
		}

	  }// fin if


	// envoi requete ajax
	ajax_post_form('form_contact', 'contact', 'contact'  );
}


///////////////////////////////////////////////////////////////////////////////////////////////
//
//	post formulaire en iso-8859-1
//
// sauve le data du item dans la DB, quand on clic sur le boutton
//
function ajax_post_form(nom_formulaire, element_ok, element_erreur)
{
	// envoie formulaire encode 'iso-8859-1'
	$(nom_formulaire).request({
			encoding:'iso-8859-1',
			postBody:getMyBody( $(nom_formulaire) ),
			onComplete:function(xhr){
					$(element_ok).innerHTML = xhr.responseText;
					//$( element_erreur ).innerHTML = 'Terminé';
					// execute eval la fonction passee en parametre
					//window.eval(str_exec_onComplete);
					window.status = 'Terminé';
			},
			onFailure: function(){
					window.status = 'ERREUR AJAX: Echec de la requete';
					$( element_erreur ).innerHTML = "Echec de la requete. La derniere action a échoué";
					alert('ERREUR AJAX: Echec de la requete. La derniere action a échoué'); // On affiche une alerte si la requete a échoué
			},
			onLoading: function(){
					$( element_erreur ).innerHTML = 'Chargement... Attendre SVP!!!'; // au chargement (en attente de réponse du server), on affiche une image de chargement
					window.status = 'Chargement... Attendre SVP!!!';
			}


	});

}// fin fonction

///////////////////////////////////////////////////////


//
//
function Ajax_Updater(element_ok, methode, ajax_url, parametres)
{
	var requete = new Ajax.Updater(
	  element_ok,
	  ajax_url, {
				asynchronous:true,
				method: methode,
				encoding: 'iso-8859-1',
				parameters: parametres,
                evalScripts : true
		} );
}
//


//---------------------------------------------------------
//
//	serialise formulaire pour encodage 8859-1
//
function getMyBody(theform)
{
	var objIn=theform.serialize(true);
	var valOut="";
	  for (var s in objIn){
			valOut+=(valOut==""?"":"&")+s+"="+escape(objIn[s]);
			//valOut+=(valOut==""?"":"&")+s+"="+encodeURIComponent(objIn[s]);


	  }
	return(valOut);
};




