	/**
	 * Les fonctions suivantes utilisent les méthodes définie dans la librairie "prototype"
	 * Ce sont juste des outils pour répondre aux besoins spécifiques a vente en ligne
	 *
	 * @author	François Som	<francois.som@businessdecision.com>
	 * @since	18/09/2006
	 */



/************************************************** D : Fonctions AJAX **************************************************/

	var originalResponseText = '';


	/**
	 * Cette fonction mets e jour le panier en fonction des arguments passés en paramètres
	 * @param	string		contentId			Id du contenur a mettre jour
	 * @param	string		params				Paramètres a passerdans la requette
	 */
	
	function ajaxUpdateCart(params) {
		var contentId = "div_panier";
		var url = "index_ajax.php";
		params = "pageId=1&" + params;
		if (params != '') {
			var myAjax = new Ajax.Updater(
				{success: contentId},
				url, 
				{
					method: 'get', 
					parameters: params, 
					onFailure: ajaxReportError,
					onComplete: getFunctionsOfResponse
				});
			return true;
		}
		return false;
		
	}
  /**
	 * Cette fonction fait tout simplement appel a la methode Updater
	 * @param	string		contentId			Id du contenur a mettre jour
	 * @param	string		params				Paramètres a passerdans la requette
	 */
	
	function ajaxUpdateContent(contentId, params) {
		var url = "index_ajax.php";
		if (contentId != '') {
			var myAjax = new Ajax.Updater(
				{success: contentId}, 
				url,
				{
					method: 'get', 
					parameters: params, 
					onFailure: ajaxReportError,
					onComplete: getFunctionsOfResponse
				});
			return true;
		}
		return false;
	}



	/**
	 * Message d'alerte simple si erreur ajax
	 */

	function ajaxReportError(){
		alert("Erreur de transfert de données.");
	}



	/**
	 * Cette fonction récupère les opération javascript simples de la réponse pour les exécuter
	 * Le code javascript est flagué <debutScript    traitement;    finScript>
	 */

	function getFunctionsOfResponse(originalRequest){
		originalResponseText = originalRequest.responseText;
		var functionContent = '';
		fluxSplite = originalResponseText.split('<debutScript');
		for (var i = 1; i < fluxSplite.length; i++) {
			contentTemp = fluxSplite[i];
			contentSplit = contentTemp.split("finScript>");
			functionContent+= contentSplit[0] + "\n";
		}
		myFunction = new Function(functionContent);
		myFunction();
	}

/************************************************** F : Fonctions AJAX **************************************************/

	
/************************************************** D : Fonctions VEL **************************************************/


	/**
	 * Retourne la position X de la souris, en tenant compte du scroll
	 */

	function getMouseXOnScreen(evt){
		var e = (window.event) ? window.event : evt;
		return (e.clientX + document.body.scrollLeft);
	}



	/**
	 * Retourne la position Y de la souris, en tenant compte du scroll
	 */

	function getMouseYOnScreen(evt){
		var e = (window.event) ? window.event : evt;
		return (e.clientY + document.body.scrollTop);
	}



	/**
	 * Affiche une div au centre de l'écran tenant compte du scroll et supposant que la div mesure 500px sur 300px
	 */

	function showPopupCenter(divId) {
		if (document.all) {
			var winWidth = document.body.offsetWidth;
			var winHeight = document.body.offsetHeight;
		}
		else {
			var winWidth = window.innerWidth;
			var winHeight = window.innerHeight;
		}
		var popupStyle = document.getElementById(divId).style;
		if (popupStyle.display == 'none') {
			
			popupStyle.left =  ((winWidth - 500) / 2) + document.body.scrollLeft + "px";
			popupStyle.top = ((winHeight - 300) / 2 ) + document.body.scrollTop + "px";

			popupStyle.display = '';
		}
	}




	/**
	 * Affiche si caché, cache si affiché...
	 */

	function showhide(itemId) {
		if (document.getElementById(itemId).style.display == 'none'){
			document.getElementById(itemId).style.display = '';
		}
		else {
			document.getElementById(itemId).style.display = 'none';
		}
	}


/************************************************** F : Fonctions VEL **************************************************/
