
	/***********************************************************************************************************
	 * Fonction qui surrime tous les articles cochés du panier puis recharge le panier à la page courante avec le meme item de tri et le meme
	 * sens du tri
	 */
	function DeleteSelectedITems(idCart,curSort,CurOrder,CurPage,isSelection)
	{
		if (confirm('Voulez-vous vraiment supprimer les articles s\351lectionn\351s ?'))
		{
		    if (!isSelection) 
		    {
			    var xhr_URL=docRoot + "/commandes/monPanier.aspx?action=detail&id=" + idCart + "&sort=" + curSort + "&ordre=" + CurOrder + "&page=" + CurPage
			    var strReload ="XHR = new httpRequest('" + xhr_URL + "','','POST');\n";
			    strReload = strReload + "XHR.LoadContent('main','Rechargement du panier','');";		
		    }
		    else
		    {
			    var strReload ="XHR = new httpRequest('/commandes/viewSelection.aspx','','POST');\n";
			    strReload = strReload + "XHR.LoadContent('main','Chargement en cours...','GetNbSelected("+ idCart + ")');";	
    								
		    }
		    
		    var formXHR = new httpRequest('/_application/_functions/updatePanier.aspx?action=deleteItems&idCart=' + idCart,'','POST')
		    formXHR.PostForm('listBookForm');
		    formXHR.sendContent(strReload);
		}
		
	}

    function checkMailClientForNum()
	{
		//TODO		
	}
	
    /***********************************************************************************************************
	 * Fonction qui duplique tous les paniers cochés puis recharge le listing à la page courante avec le meme item de tri et le meme
	 * sens du tri
	 */
	function DuplicateSelectedCarts(curSort,CurOrder,CurPage)
	{
	    var xhr_URL=docRoot + "/commandes/gestionPaniers.aspx?sort=" + curSort + "&ordre=" + CurOrder + "&page=" + CurPage
	    var strReload ="XHR = new httpRequest('" + xhr_URL + "','','POST');\n";
	    strReload = strReload + "XHR.LoadContent('main','Rechargement de la liste des paniers','');";		
	    
	    var formXHR = new httpRequest('/_application/_functions/updatePanier.aspx?action=duplicateCarts','','POST')
	    formXHR.PostForm('cartForm');
	    formXHR.sendContent(strReload);
	}
	
	/***********************************************************************************************************
	 * Fonction qui fusionne tous les paniers cochés puis recharge le listing à la page courante avec le meme item de tri et le meme
	 * sens du tri
	 */
	function MergeSelectedCarts(curSort,CurOrder,CurPage, cartName)
	{
	    closeDynLayer();
        var xhr_URL=docRoot + "/commandes/gestionPaniers.aspx?sort=" + curSort + "&ordre=" + CurOrder + "&page=" + CurPage;
        var strReload ="XHR = new httpRequest('" + xhr_URL + "','','POST');\n";
        strReload = strReload + "XHR.LoadContent('main','Rechargement de la liste des paniers','');";		
		    
        var formXHR = new httpRequest('/_application/_functions/updatePanier.aspx?action=mergeCarts&cartName=' + cartName,'','POST');
        formXHR.PostForm('cartForm');
        formXHR.sendContent(strReload);
	}
	
	/***********************************************************************************************************
	 * Fonction qui retourne le nombre de case cochées dans un formulaire
	 */
	function countNbItemChecked(form_name) 
	{
	    var FormElementsList = eval("document." + form_name);
	    var nbItemChecked = 0;
	    var nbEl = FormElementsList.length;
    		
	    for (var i=0; i < nbEl; i++) 
	    {
		    if (FormElementsList.elements[i].type=='checkbox')
		    {
			    if(document[form_name].elements[i].checked) {
			        nbItemChecked += 1;
			    }
		    }
	    }	
	    
	    return nbItemChecked;
	}
	
	/***********************************************************************************************************
     * Fonction qui permet d'afficher la div d'edition du nom d'un panier fusion
     */
    function ShowEditCartNameDiv(curSort,CurOrder,CurPage)
    {
        if (countNbItemChecked('cartForm') > 1) {
            var objDynLayer = document.getElementById("QteDynLayer");
	        objDynLayer.style.visibility = 'visible';
	        objDynLayer.style.display = 'inline';
	        objDynLayer.innerHTML="";
        	
	        if (document.all) 
	        {
		        //IE
		        x = (document.documentElement.clientWidth/2) - (objDynLayer.offsetWidth / 2);
		        y = window.event.clientY + document.documentElement.scrollTop - (objDynLayer.offsetHeight / 2);		        
	        }
	        else
	        {
		        x = xMousePos - (objDynLayer.offsetWidth * 1.1);
		        y = yMousePos - (objDynLayer.offsetHeight / 2);
	        }
	        setOpacity(document.getElementById("container"), 30);
	        setOpacity(objDynLayer, 100);
	        objDynLayer.style.top = y + "px";
	        objDynLayer.style.left =x + "px";
        	
	        if(objDynLayer != null)
	        {
		        var myURL = "/_application/_functions/ajaxLoader.aspx?idControl=EDIT_CART_NAME&curSort=" + encodeURI(curSort + "&CurOrder=" + CurOrder + "&CurPage=" + CurPage);
		        var myxhr = new httpRequest(myURL,'','POST');
		        myxhr.LoadContent('QteDynLayer','Chargement...','getSelect("name");');
	        }		
	    } else {
	        alert('Vous devez s\351lectionner au moins 2 paniers pour r\351aliser une fusion !');
	    } 
    }
	
	/***********************************************************************************************************
     * Fonction qui permet d'afficher la div d'edition du nom d'un panier fusion
     */
    function checkEditCartName(curSort,CurOrder,CurPage, idInput)
    {
        var divName = document.getElementById(idInput);
        
        if (divName.value != '') {
            MergeSelectedCarts(curSort,CurOrder,CurPage, divName.value);
        } else {
            alert('Veuillez entrer un nom pour votre panier !');
        }
    }
    
    
    
    
	/***********************************************************************************************************
	 * Gère l'appel des diiférentes pages permettant de transformer un panier en commande
	 */
		function ProcessCmd(idCart,step)
		{
			if (step==1)
			{
				var formXHR = new httpRequest(docRoot + '/_application/_functions/updatePanier.aspx?action=GestionCommande&step=1&id=' + idCart,'','POST')
				formXHR.PostForm('listBookForm');
				formXHR.LoadContent('main','Chargement des adresses',''); 
							
			}
			if (step==2)
			{
				var formXHR = new httpRequest(docRoot + '/_application/_functions/updatePanier.aspx?action=GestionCommande&step=2&id=' + idCart,'','POST')
				formXHR.PostForm('CmdValidationForm');
				formXHR.LoadContent('main','Chargement de vos param&egrave;tres',''); 
			}
			if (step==3)
			{
				if (!document.CmdValidationForm.CGVread.checked)
				{
					alert("vous devez avoir pris connaissance des conditions de vente MollatPro")
				}
				else
				{
					var formXHR = new httpRequest(docRoot + '/_application/_functions/updatePanier.aspx?action=GestionCommande&step=3&id=' + idCart,'','POST')
					formXHR.PostForm('CmdValidationForm');
					formXHR.LoadContent('main','Cr&eacute;ation de la commande en cours....<br>Veuillez patienter','printBDC()'); 	
				}				
			}				
		}
		
		
	/***********************************************************************************************************
	 * Fonction utilisée dans addSelection.ascx : formulaire d'ajout d'articles au panier
	 */ 
	function selCart()
	{
		if ( document.getElementById("selAddCart").value == 0 ) 
		{
			document.getElementById("lisCart").style.display = "none";
			document.getElementById("FieldSetNewCart").style.display = "block";
			
		}
		else if ( document.getElementById("selAddCart").value == 1 ) 
		{
			var XHR = new httpRequest(docRoot + "/_application/_functions/ajaxLoader.aspx?idControl=LIST_CART",'','POST')
			XHR.LoadContent('lisCart','Chargement de vos paniers...',''); 
		
			document.getElementById("lisCart").style.display = "block";
			document.getElementById("FieldSetNewCart").style.display = "none";
		}
	}
	
	
	/***********************************************************************************************************
	 * Fonction utilisée dans _commandes/addSelection.ascx : formulaire d'ajout d'articles à un nouveau panier depuis un upload de fichier
	 * Le formulaire à traiter est du runat server, donc on identifie les éléments du formulaire par leur index plutôt que 
	 * par leur ID
	 */ 
	function ImportCart()
	{
		var formName = document.forms[0];
		var nom = formName.elements[1];

		var type = document.getElementById("shared");
		
		if (nom.value != "") 
		{
			return true;
		}
		else 
		{
			alert('Vous devez donner un nom \340 votre panier.');
			nom.focus();
			return false;
		}
	}
	
	/***********************************************************************************************************
	 * Fonction utilisée dans _commandes/suggestions_mollat.ascx : 
	 * Transforme une suggestion mollat en panier
	 */ 
	function transform_suggestion(str_date)
	{
			var XHR = new httpRequest("/commandes/monPanier.aspx?action=creaFrom_suggestion&str_date=" + str_date,'','POST')
			XHR.LoadContent('main','Chargement de votre panier...',''); 
	}	
	
	/***********************************************************************************************************
	 * Fonction utilisée dans _commandes/suggestions_mollat.ascx : 
	 * Transforme une suggestion mollat en panier
	 */ 
	function transform_suggestion_panier(idPan)
	{
			var XHR = new httpRequest("/commandes/monPanier.aspx?action=creaFrom_suggestionPanier&idPan=" + idPan,'','POST')
			XHR.LoadContent('main','Chargement de votre panier...',''); 
	}
	
	
	/***********************************************************************************************************
	 * Appel la page de supression d'un panier et de son contenu
	 */ 	
	function dropCart(cartID)
	{
		
		if ( confirm("Etes-vous certain de vouloir supprimer ce panier et tout son contenu ?") ) 
		{
			var myXHR = new httpRequest('/commandes/gestionPaniers.aspx?action=suppr&id=' + cartID,'','POST')
			myXHR.LoadContent('main','Suppression du panier en cours ...',''); 			
		}
	}	
	



	/***********************************************************************************************************
	 * Fonction qui met à jour le total d'une ligne de panier
	 */ 
	function UpdateQuantite(idCart,idProd,Qte)
	{
		if (isNaN(Qte) || Qte < 1)
		{ Qte = 1 ;
			document.getElementById(idProd).value = Qte;
		}
		else if (Qte != parseInt(Qte))
		{
		Qte = parseInt(Qte)
		document.getElementById(idProd).value = Qte;
		}
		else if (Qte.charAt(Qte.length - 1) == '.')
		{
			Qte = Qte.substr(0,Qte.length - 1)

			document.getElementById(idProd).value = Qte;
		}
		
		var url = docRoot + "/_application/_functions/updatePanier.aspx?idCart=" + idCart + "&idProd="  + idProd + "&qte=" + Qte;
		var objQte=document.getElementById("Qte_" + idProd);
		objQte.innerHTML ="...";
		
		var myXHR = new httpRequest(url,'','POST');
		var strJS = "UpdateTotalPanier(" + idCart + ")";
		myXHR.execContent(strJS);
	}
	
	
	/***********************************************************************************************************
	 * Fonction qui recalcule et affiche le total du panier
	 * la quantité.	
	 */ 
	function UpdateTotalPanier(idCart)
	{
		var url = docRoot + "/_application/_functions/updatePanier.aspx?idCart=" + idCart + "&action=totalCart";
		var myXHR = new httpRequest(url,'','POST');
		var objCartTotal=document.getElementById("TotalCart");
		objCartTotal.innerHTML ="...";
		myXHR.execContent('');	
	}						
					
					
					
					
	/***********************************************************************************************************
	 * Fonction de (dé)sélection de tous les articles ds la liste de résultats des recherches simple et thématique 
	 */
	function selectAllCartItem(form_name,mode) 
	{
			//A FAIRE
	} 
	
	
	/***********************************************************************************************************
	 * Passe le nom d'un panier en mode "edition" pour modification
	 */	
	function EditCartName(TAGID,idcart) 
	{
		EditObj(TAGID);
		var obj=document.getElementById(TAGID);
	    Event.observe(TAGID + 'editableContent', 'blur', function(){saveCartName(obj,idcart)}, false); 	
	    Event.observe(TAGID + 'editableContent', 'change', function(){saveCartName(obj,idcart)}, false); 			
	}

    // M.Zekhnini - 04/11/2011
	function EditCartName_2(spanId, editValue, cartId) 
	{
		if (document.getElementById(spanId)) 
		{
			var inputField = '<form onsubmit="saveCartName_2(\'' + spanId + '\', \'' + spanId + 'editableContent\', \'' + cartId + '\')" style="display:inline-block;"><input type="text" id="' + spanId + 'editableContent" value="' + editValue + '" onblur="saveCartName_2(\'' + spanId + '\', \'' + spanId + 'editableContent\', \'' + cartId + '\')" /></form>';
			
			document.getElementById(spanId).innerHTML = inputField;
			document.getElementById(spanId + 'editableContent').select();
		}
	}
	
	/***********************************************************************************************************
	 * Sauvegarde le nouveau nom de panier
	 */	
	function saveCartName(obj,idcart)
	{
	        var new_content =  $F(obj.id +'editableContent');
	        var new_content_formatted =  escape($F(obj.id +'editableContent'));
	
					Element.show(obj);
	        Element.remove(obj.id + 'editableObj');
	        
				var myXHR = new httpRequest('/_application/_functions/ajaxLoader.aspx?idControl=UPDATE_CART_NAME&id=' + idcart + "&cartName=" + new_content,'','POST')
				myXHR.LoadContent(obj.id,'Suppression du panier en cours ...','');         
	        
	}

    //M.Zekhnini - 04/11/2011
    function saveCartName_2(spanId, inputId, cartId)
	{
        
        var new_content = document.getElementById(inputId).value;
        
		var myXHR = new httpRequest('/_application/_functions/ajaxLoader.aspx?idControl=UPDATE_CART_NAME&id=' + cartId + "&cartName=" + new_content,'','POST')
		myXHR.LoadContent(spanId, 'Traitement en cours ...', ''); 
		
	}


	/***********************************************************************************************************
	 * Check si le nom d'un modele d'importation de panier existe deja ou pas en base
	 */
	function Check_ModeleName_byXHR(obj) 
	{
		
		var valid_name ="0";
		
		var url = "/_application/_functions/ajaxLoader.aspx?idControl=CHECK_MODELENAME&name=" + obj.value;
		
		var rayonByXHR = new httpRequest(url,'','POST');
		rayonByXHR.sendPostReq();
		
		rayonByXHR.xmlHttp.onreadystatechange = function()
		{
			if (rayonByXHR.xmlHttp.readyState == 4 && rayonByXHR.xmlHttp.status == 200) 
			{
				result = eval(rayonByXHR.xmlHttp.responseText);
				if (result != valid_name)
				{
					alert('Ce nom est d\351j\340 associ\351 a un modele existant');
					obj.value='';
					ModeleisValid='0';
				} 
				else
				{
					ModeleisValid='1';
				}
			}
		}
	}
	
	
	/***********************************************************************************************************
	 * fonction appelee apres import depuis un fichier
	 */		
	function LoadNewCart(idNewCart)
	{
		var cartUrl = docRoot + "/commandes/monPanier.aspx?action=detail&id=" + idNewCart;
		var myXHR = new httpRequest(cartUrl,'','POST');
		myXHR.LoadContent('main','Importation du nouveau panier',''); 

	}	
	
	
	
	/***********************************************************************************************************
	 * Met à jour le type d'un format (shared ou pas)
	 */
	 function UpdateStatusFormat(FormatID,typeshared)
	 {
       
        var xhrURL = '/_application/_functions/ajaxLoader.aspx?idControl=UPDATE_FORMAT_TYPESHARED&id=' + FormatID + '&typeshared=' + typeshared;
				var myXHR = new httpRequest(xhrURL,'','POST');
				myXHR.execContent('');         
	 }
	 
	 	
	/***********************************************************************************************************
	 * Gère l'appel des diiférentes pasges permettant de transformer un panier en devis
	 */
		function ProcessDevis(idCart,step)
		{
			if (step==2)
			{
				var myURL='/_application/_functions/updatePanier.aspx?action=GestionCommande&step=2&devis=true&id=' + idCart;
				var myFormName="listBookForm";

			}
			if (step==3)
			{
				var myURL='/_application/_functions/updatePanier.aspx?action=GestionCommande&step=3&devis=true&id=' + idCart;
				var myFormName="CmdValidationForm";				

			}
			
			var formXHR = new httpRequest(myURL,'','POST')
			formXHR.PostForm(myFormName);
			formXHR.LoadContent('main','Chargement de vos param&egrave;tres',''); 	
								
		}
					
	/***********************************************************************************************************
	 * Fonction qui recharge le tableau d'adresses avec une nouvelle adresse de livrsaison
	 * Appele dans le processus de commade etape 1
	 */						
		function switchCommadeAdressLiv(cartID,idCompteLiv)
		{
			var formXHR = new httpRequest('/_application/_functions/updatePanier.aspx?action=GestionCommande&step=1&idCpteLiv=' + idCompteLiv + '&id=' + cartID,'','POST')
			formXHR.PostForm('CmdValidationForm');
			formXHR.LoadContent('main','Chargement des adresses',''); 	
				
		}
								

	/***********************************************************************************************************
	 * Fonction utilisée dans _commandes/addSelection.ascx : formulaire d'ajout d'articles à un nouveau panier
	 * Appele dans le processus de commade etape 1
	 */				
	
	function checkNewCart(numericInSel,userHasMail)				
	//function checkNewCart()
	{
		var nom = document.getElementById("cartName");
		var type = document.getElementById("shared");
		
		if (nom.value != "") 
		{
		    if (numericInSel == true && userHasMail == false) {
		        alert('Votre s\351lection comporte des notices num\351rique. \nVeuillez renseigner votre mail dans votre adresse commerciale afin de pouvoir cr\351er votre panier.');
		        return false;
		    } else {
			    var url = 'commandes/monPanier.aspx?action=crea&nom=' + nom.value + '&type=' + type.value;
			    AfficheNbSelectedItem(0);

			    var formXHR = new httpRequest(url,'','POST')
			    formXHR.PostForm('form_addToCart');
			    formXHR.LoadContent('main','Cr\351ation du panier en cours...',''); 
			    //Modif le 28/09/2007 par D.Guillard. On post uniquement en XHR
			    return false;
			}
		}
		else 
		{
			alert('Vous devez donner un nom \340 votre panier.');
			nom.focus();
			return false;
		}
	}
	
	/***********************************************************************************************************
	 * Affiche une fiche produit. Requete HttpRequest 
	 */
		function voiFiche(gencod) 
		{

			var objDynLayer=document.getElementById("FloatDynLayer");
			objDynLayer.style.visibility='visible';
			objDynLayer.style.display='inline';
			objDynLayer.innerHTML="";
	
			if (document.all) 
			{
				//IE
				
				x = (document.documentElement.clientWidth/2) - (objDynLayer.offsetWidth / 2);
				y =(document.documentElement.clientHeight/2) - (objDynLayer.offsetHeight / 2);
				
			}
			else
			{
				x = (window.innerWidth / 2) - (objDynLayer.offsetWidth / 2);
				y = (window.innerHeight / 2) - (objDynLayer.offsetHeight / 2);		
			}
			setOpacity(document.getElementById("container"), 30);
			setOpacity(document.getElementById("FloatDynLayer"), 100);
			objDynLayer.style.top = y + "px";
			objDynLayer.style.left =x + "px";
					
				if(objDynLayer != null)
				{
					var myURL = '/_application/_functions/ajaxLoader.aspx?idControl=FICHEPROD&gencod=' + gencod;
					var myxhr = new httpRequest(myURL,'','POST');
					myxhr.LoadContent('FloatDynLayer','Chargement de la fiche produit','initializetabcontent(\'maintab\')');
	
				}		
		} 
	
	/***********************************************************************************************************
	 * Ouvre la ppoup d'impression du bon de commande
	 */
	function printBDC() 
	{
		WinOpenstr1= "openWindow('/commandes/popBDC.aspx'," 
		WinOpenstr2="'importWin',  '800', '700');"
		eval( WinOpenstr1 + WinOpenstr2);
			
	} 


	/***********************************************************************************************************
	 * Met à jour le type de partage du panier
	 */
	function UpdateTypeShared(PanierID,typeshared)
	{
				var myURL = '/_application/_functions/ajaxLoader.aspx?idControl=UPDATE_CART_TYPESHARED&id=' + PanierID + "&typeshared=" + typeshared;
				var myxhr = new httpRequest(myURL,'','POST');
				myxhr.sendContent('');
	}

	
	/***********************************************************************************************************
	 * Recharge la liste des modeles d'un chargé de compte
	 */
	 function Resfresh_ListModeles()
	 {
	 		var XHR = new httpRequest('/commandes/ModeleImport_charge.aspx','','POST');
			XHR.LoadContent('main','Chargement de vos mod&egrave;les...',''); 

//window.opener.
	 }
	 
	 
	/***********************************************************************************************************
	 * Verifie si un element d'une liste de resultat a deja mis dans la liste de sélection
	 */
		function IsSelected(Cbox)
		{
		
			var url =  "/_application/_functions/selectItem.aspx?id=" + Cbox.value + "&check=true&uId=" + uID;
		 	var XHR = new httpRequest(url,"","POST");
			XHR.sendPostReq();
			XHR.xmlHttp.onreadystatechange = function() 
			{ 
				if(XHR.xmlHttp.readyState == 4 && XHR.xmlHttp.status==200)
				{
					
					if (XHR.xmlHttp.responseText=='True') {
						Cbox.checked = true;
					}
					else {
						Cbox.checked = false;
					}
				}
			}
		}	 


	/***********************************************************************************************************
	 * Add le 10/10/2007 par D.Guillard :: Renvoi la page courante
	 * Par exemple dans la liste des messages, il faut revenir à la page 1 lorsque l'on supprime le dernier element restant de la page 2
	 */	
	function get_currentPage(page,nbElements)
	{
	var limit = (page - 1) * 10
	
		if ( limit < nbElements )
		{
			return page;
		}
		else
		{
			if (page == 1)
			{
				return 1;
			}
			else
			{
				return page - 1;
			}
		}
	}
	
	
function ReplyMessage(idMsg)
{
	var myXHR = new httpRequest('/compte/courrier.aspx?mode=REPLY&idMsg=' + idMsg,'','POST')

	myXHR.LoadContent('FloatDynLayer','Ouverture du message en cours ...','initXHR()');	
	
}	


function UpdateStatusMessage(idMsg, idUsr, Status, mode, page, nbElements)
{
		var myXHR = new httpRequest('/_application/_functions/ajaxLoader.aspx?idControl=UPDATE_STATUS_MSG&idUsr=' + idUsr + '&idMsg=' + idMsg + '&Status=' + Status,'','POST')

		var reloadJsStr ="var myXHR = new httpRequest('/compte/courrier.aspx?mode=" + mode + "&page=" + page + "','','POST');\n";
		reloadJsStr = reloadJsStr + "myXHR.LoadContent('main','rechargement de votre boite ...','')\n";
		
		myXHR.LoadContent('FloatDynLayer','Supression du message ...','closeDynLayer();' + reloadJsStr );	
		myXHR=null;

		//Si on effecture la supression d'un message (TRASHBOX), on recalcul la page courrante
		if (Status=='0')
		{
			page = get_currentPage(page,nbElements - 1);
		}
				
		/*Puis on recharge la boite */
		
}




function ChangeStatusMessage(idMsg)
{
	var objmailIco=document.getElementById("mailIco_" + idMsg);


	// On actualise l'affichage, uniquement si c'est un mail non lu.
	if(objmailIco.name == 'email')
	{

		if(objmailIco != null)
		{
			
			objmailIco.src="i/email_open.png";
		}
		
		var objmailLigneTable=document.getElementById("mailNum" + idMsg);
		if(objmailLigneTable != null)
		{
			//On actualise la classe, suivant si c'etait un alt ou pas
			if(objmailLigneTable.className == 'mailUnread')
			{
				objmailLigneTable.className="mailRead";
			}
				else
			{
				objmailLigneTable.className="mailReadalt";
			}
		}	
	} 
}
//====================================================================================

function DeleteSelectedMessages()
{
			if (confirm("\312tes-vous s\373r de vouloir supprimer les \351l\351ments coch\351s ?"))
			{
				var url = docRoot + '/_application/_functions/ajaxLoader.aspx';
				
				var formXHR = new httpRequest(url,'','POST')
				formXHR.PostForm('courrierForm');
				formXHR.LoadContent('main','Traitement en cours...','');
							
			}
}


	/***********************************************************************************************************
	 * 
	 */	
    function endCommande()
    {
	    var myXHR = new httpRequest('/commandes/fin.aspx','','POST')

	    myXHR.LoadContent('main','chargement en cours...','initXHR()');	
    	
    }
