	/**
	 * Fonction changeCritere : Permet de changer un critere
	 * 
	 * @param {Object} action
	 * @param {Object} id_typecritere
	 * @param {Object} ref_gpe
	 */
	function changeCritere(action,id_typecritere,ref_gpe) {	
		id_produit=$("#ficheproduit_critere_"+id_typecritere).val();
		id_produit_actuel=$("#id_produit").val()
		ficheproduit_critere='';
		ficheproduit_critere+=$('#ficheproduit_critere_'+id_typecritere).val()+'-';
		
		$("select[id^=ficheproduit_critere_]").each(function(){
	
			if($('#ficheproduit_critere_'+id_typecritere).attr("name")!=$(this).attr("name")){
				ficheproduit_critere+=$(this).val()+'-';
			}
		});
		
		var fin=ficheproduit_critere.length;
		var pos1=fin-1;
		ficheproduit_critere=ficheproduit_critere.substr(0,pos1);
		var turboleadPath = new String(document.location);
	
		if(turboleadPath.indexOf("https") > -1){
			var url= prefix()+"mod/idcommerce/index-internet.php?action="+action;
		}else{
			var url= prefix()+"mod_turbolead/mod/idcommerce/index-internet.php?action="+action;
		}		
		
	
		$.post(url, { 	
						id_produit: id_produit,
						id_produit_actuel:id_produit_actuel,
						ficheproduit_critere:ficheproduit_critere,
						ref_gpe:ref_gpe
					},
				modifierFicheProduit,"json");
	
	}
	
	/**
	 * changeCritere2
	 * 
	 * @param {Object} action
	 * @param {Object} id_produit
	 */
	function changeCritere2(action,id_produit) {	
		var url= prefix()+"mod_turbolead/mod/idcommerce/index-internet.php?action="+action;
		
		$.post(url, { 	
						id_produit: id_produit
					},
			modifierFicheProduit,"json");
	
	}
	
	/**
	 * modifierFicheProduit
	 * 
	 * @param {Object} o
	 */
	function modifierFicheProduit(o) {		
		if($("#idc_ficheajax").html()==null){
			$("#contenu").html(o.contenu);
		}else{
			$("#idc_ficheajax").html(o.contenu);
		}
		tb_init('#idc_ficheproduit a.thickbox,#idc_ficheproduit textarea.thickbox,#idc_ficheproduit input.thickbox');
		
		if($('input[type=radio]').attr('name')=='starCommentaire'){
			$('input[type=radio].star').rating();
		}	
	}
	
	
	/**
	 * changeCritereListeProduit
	 * 
	 * @param {Object} id_produit
	 * @param {Object} action
	 * @param {Object} id_typecritere
	 * @param {Object} ref_gpe
	 */
	function changeCritereListeProduit(id_produit,action,id_typecritere,ref_gpe) {	
	
		id_famille=$("#id_famille_listeproduit").val();
		if(id_famille=='') id_famille=0;
		ficheproduit_critere='';
		ficheproduit_critere+=$('#listeproduit_'+id_produit+'_critere_'+id_typecritere).val()+'-';
		
		$("select[id^=listeproduit_"+id_produit+"_critere_]").each(function(){
	
			if($('#listeproduit_'+id_produit+'_critere_'+id_typecritere).attr("name")!=$(this).attr("name")){
				ficheproduit_critere+=$(this).val()+'-';
			}
		});
		
		var fin=ficheproduit_critere.length;
		var pos1=fin-1;
		ficheproduit_critere=ficheproduit_critere.substr(0,pos1);	
		
		var turboleadPath = new String(document.location);
	
		if(turboleadPath.indexOf("https") > -1){
			var url= prefix()+"mod/idcommerce/index-internet.php?action="+action;
		}else{
			var url= prefix()+"mod_turbolead/mod/idcommerce/index-internet.php?action="+action;
		}		
		
		
	
		$.post(url, { 	
						id_produit: id_produit,
						ref_gpe:ref_gpe,
						id_famille:id_famille,
						ficheproduit_critere:ficheproduit_critere
					},
				modifierListeProduit,"json");
	
	}
	
	/**
	 * modifierListeProduit
	 * @param {Object} o
	 */
	function modifierListeProduit(o) {		
		$("#idc_listeproduit_"+o.ancien_idproduit).html(o.contenu);
		$("#idc_listeproduit_"+o.ancien_idproduit).attr("id","idc_listeproduit_"+o.nouveau_idproduit);
	}

	/**
	 * Modification du prix suivant la quantite
	 * @param id_produit
	 */
	function qtePrix(action,id_produit){
		var turboleadPath = new String(document.location);	
		if(turboleadPath.indexOf("https") > -1){
			var url= prefix()+"mod/idcommerce/index-internet.php?action="+action;
		}else{
			var url= prefix()+"mod_turbolead/mod/idcommerce/index-internet.php?action="+action;
		}
		
		var qte_produit=$("#idc_quantite_ficheproduit_"+id_produit).val();
	
		$.post(url, {identifiant_produit: id_produit,quantite_produit:qte_produit},
				modifierPrixQte,"json");	
		}
	
	/**
	 * Fonction de retour de qtePrix
	 * @param {Object} o
	 */
	function modifierPrixQte(o) {		
		$(".idc_tarification_ttc_"+o.id_produit).html(o.tarif_puttc);
		$(".idc_tarification_ht_"+o.id_produit).html(o.tarif_puht);
		
		$(".idc_tarification_prixancienttc_"+o.id_produit).html(o.tarif_ancienprixttc);
		$(".idc_tarification_prixancienht_"+o.id_produit).html(o.tarif_ancienprixht);
	}

	function qtePrixChariot(action,id_produit){
		var turboleadPath = new String(document.location);	
		if(turboleadPath.indexOf("https") > -1){
			var url= prefix()+"mod/idcommerce/index-internet.php?action="+action;
		}else{
			var url= prefix()+"mod_turbolead/mod/idcommerce/index-internet.php?action="+action;
		}		
		
		ajoutPanier(id_produit,action,'chariot');	
	}	
	
	/**
	 * Fonction d'ajout au panier d'un produit
	 * @param id_produit : Identifiant produit
	 */
	function ajoutPanier(id_produit,action_ctrl,id_aspect,type,quantite){
		var turboleadPath = new String(document.location);	
		if(turboleadPath.indexOf("https") > -1){
			var url= prefix()+"mod/idcommerce/index-internet.php?action="+action_ctrl;
		}else{
			var url= prefix()+"mod_turbolead/mod/idcommerce/index-internet.php?action="+action_ctrl;
		}		
		
		if (type==undefined) type = 'fiche';
		if (id_aspect==undefined) id_aspect = 0;
		var id_produit=id_produit;
		var idProduit=id_produit;

		
		var id_produit_select=$("#id_produit_select").val();		
		//--------------------------------------
		//			QUANTITE
		//--------------------------------------
			var quantite_id_produit=$("#idc_quantite_ficheproduit_"+id_produit).val();
			if (quantite_id_produit==undefined) quantite_id_produit = $("#idc_quantite_caddieproduit_"+id_produit).val();
			if (quantite!=undefined) quantite_id_produit = quantite;
				
		//--------------------------------------
		var valeur_personnalisation=$("input[name='valeur_personnalisation']").val();
		
		//--------------------------------------
		//	ENVOI FORMULAIRE
		//--------------------------------------
			$.post(url, { 	
					id_produit: id_produit,
					idProduit: idProduit,
					id_produit_select:id_produit_select,
					quantite_id_produit:quantite_id_produit,
					id_aspect:id_aspect,
					type:type,
					valeur_personnalisation:valeur_personnalisation					
				},
			afficheAjoutPanier,"json");	
		//--------------------------------------			
	}
	
	function afficheAjoutPanier(o){
		if(o.active_popupchariot>0){
			if(o.active_popupchariot=='1'){
				$("#idc_panier_ajax").html(o.texteretour);
				if(o.texteretour!='') affichePopupChariot(o.reference,o.htmlImagePopup,o.urlchariot,'');
				else affichePopupChariot(o.reference,o.htmlImagePopup,o.urlchariot,o.urlpage);				
			}else{
				window.location=o.urlchariot;
			}
		}else{
			if(o.contenu!=''){
				if($("#idc_chariot").html()==null){
					$("#contenu").html(o.contenu);
				}else{
					$("#idc_chariot").html(o.contenu);
				}
			}
		}
			
	}

	function supprimerProduitPanier(id_produit,action_ctrl){	
		ajoutPanier(id_produit,action_ctrl,'chariot','0','0');
	}
	
	function selectCritere(action,idTypecritere,idFamille){
		champ_critere='cr_'+idTypecritere+'_1';
		if($("#"+champ_critere).val()=='0'){
			var param = new Object();
			param.select_typecritere=idTypecritere;
			param.action=action;
			param.select_famille=idFamille;
			param.save_critere=$("#save_critere").val();
			
			var url= prefix()+"mod_turbolead/mod/idcommerce/index-internet.php";
			$.post(url, param,retourSelectCritere,"json");			
		}else{
			if($("#save_critere").val()==''){
				$("#save_critere").val($("#"+champ_critere).val());
			}else{
				var valeur=$("#save_critere").val()+','+$("#"+champ_critere).val();
				$("#save_critere").val(valeur);
			}
			
		}
			

		
	}
	
	function retourSelectCritere(o){
		$("#save_critere").val(o.multi_critere);
		$("#cr_"+o.idTypeCritere).html(o.contenu);
		
	}

	
	
	
	
	/**
	 * Action sur le clic du typecritere
	 * @param action
	 * @param idTypecritere
	 * @param idFamille
	 * @return
	 */
	function selectCritereByDiv(action,idTypecritere,idFamille){
		$('.cr_div').hide();		
		var new_save='';
		if($("#save_critere").val()!=''){
			new_array_critere = new Array();
			var array_critere=explode(',',$("#save_critere").val());
			j=0;
			for(i=0;i<array_critere.length;i++){
				if(array_critere[i].indexOf(idTypecritere+'_')==-1){
					new_array_critere[j]=array_critere[i];
					j=j+1;
				}
			}
			//$("#save_critere").val(implode(',',new_array_critere));
			new_save=implode(',',new_array_critere);
		}
		

		
		var param = new Object();
		param.select_typecritere=idTypecritere;
		param.action=action;
		param.select_famille=idFamille;
		//param.save_critere=$("#save_critere").val();
		param.save_critere=new_save;
		
		param.couple_critere=$("#couple_critere").val();
		

		var url= prefix()+"mod_turbolead/mod/idcommerce/index-internet.php";
		
		$.post(url, param,retourSelectCritereByDiv,"json");			
	}
	
	function retourSelectCritereByDiv(o){
		
		$("#cr_"+o.idTypeCritere).html(o.contenu);
		tb_init('.cr_div a.thickbox');
		$("#cr_"+o.idTypeCritere).show();
	}	
	
	/**
	 * Action sur le clic du critere
	 * 
	 * @param valeur_type
	 * @param valeur_critere
	 * @return
	 */
	function choixCritereByDiv(valeur_type,valeur_critere){
		$("#hide_cr_"+valeur_type).val(valeur_critere);
		
		array_critere = new Array();
		var i=0;
		var compteur=0;
		$("input[name^=hide_cr_]").each(function() {
			if($(this).val()!=''){
				var identifiant_type=str_replace('hide_cr_', '', $(this).attr('name'));
				array_critere[i]=identifiant_type+'_'+$(this).val();
				i++;
			}
			compteur++;
		});
		if(i==compteur){
			$("#submitajaxcritere").removeClass("disabled");
			$("#submitajaxcritere").removeAttr("disabled");
		}

		$("#save_critere").val(implode(',',array_critere));		
		$("#cr_div_"+valeur_type).html($("#zone-critere-"+valeur_critere).html());
		$("#cr_"+valeur_type).hide();

	}

	function supprimerCritereInternetAjax(id_typecritere){
		if($("#save_critere").val()!=''){
			new_array_critere = new Array();
			var array_critere=explode(',',$("#save_critere").val());
			j=0;
			$("#affiche-result-recherche-critere").html('');
			for(i=0;i<array_critere.length;i++){
				if(array_critere[i].indexOf(id_typecritere+'_')==-1){
					new_array_critere[j]=array_critere[i];
					j=j+1;
				}
				$("#hide_cr_"+id_typecritere).val('');
			}
			$("#save_critere").val(implode(',',new_array_critere));
			$("#cr_div_"+id_typecritere).html('&nbsp;');	
			$("#submitajaxcritere").addClass("disabled");
			$("#submitajaxcritere").attr('disabled', 'true');			
		}

	}
	
	
	/**
	 * Validation du formulaire "rechercher par critere" en ajax
	 * 
	 * @param action
	 * @param aspect
	 * @return
	 */
	function submitAjaxCritere(action,aspect){
		var param = new Object();
		param.aspect=aspect;
		param.action=action;
		param.save_critere=$("#save_critere").val();

		

		var url= prefix()+"mod_turbolead/mod/idcommerce/index-internet.php";
		
		$.post(url, param,retourSubmitAjaxCritere,"json");			
	}
	
	/**
	 * Retour de la fonction submitAjaxCritere
	 * 
	 * @param o
	 * @return
	 */
	function retourSubmitAjaxCritere(o){
		$("#affiche-result-recherche-critere").html(o.contenu);
		tb_init('#affiche-result-recherche-critere a.thickbox');
	}
	
	
	
	
	function prefix(){
		var url_site_internet='/'
		var prefix='';
		url_site_internet=$("input[name='url_site_internet']").val();	

		if(url_site_internet!='' ){
			if(url_site_internet==undefined){
				prefix='/';
			}else{
				prefix=url_site_internet;
			}		
		}else{
			prefix='/'
		}

		return prefix;
	}
	

	//-------------------------------------------------------------
//			FONCTION PHP
	//-------------------------------------------------------------

	//implode
	function implode( glue, pieces ) {
	    // Join array elements with a string
	    // 
	    // +    discuss at: http://kevin.vanzonneveld.net/techblog/article/javascript_equivalent_for_phps_implode/
	    // +       version: 811.1314
	    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	    // +   improved by: Waldo Malqui Silva
	    // *     example 1: implode(' ', ['Kevin', 'van', 'Zonneveld']);
	    // *     returns 1: 'Kevin van Zonneveld'

	    return ( ( pieces instanceof Array ) ? pieces.join ( glue ) : pieces );
	}


	//explode
	function explode( delimiter, string, limit ) {
	    // Split a string by string
	    // 
	    // +    discuss at: http://kevin.vanzonneveld.net/techblog/article/javascript_equivalent_for_phps_explode/
	    // +       version: 809.522
	    // +     original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	    // +     improved by: kenneth
	    // +     improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	    // +     improved by: d3x
	    // +     bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	    // *     example 1: explode(' ', 'Kevin van Zonneveld');
	    // *     returns 1: {0: 'Kevin', 1: 'van', 2: 'Zonneveld'}
	    // *     example 2: explode('=', 'a=bc=d', 2);
	    // *     returns 2: ['a', 'bc=d']
	 
	    var emptyArray = { 0: '' };
	    
	    // third argument is not required
	    if ( arguments.length < 2
	        || typeof arguments[0] == 'undefined'
	        || typeof arguments[1] == 'undefined' )
	    {
	        return null;
	    }
	 
	    if ( delimiter === ''
	        || delimiter === false
	        || delimiter === null )
	    {
	        return false;
	    }
	 
	    if ( typeof delimiter == 'function'
	        || typeof delimiter == 'object'
	        || typeof string == 'function'
	        || typeof string == 'object' )
	    {
	        return emptyArray;
	    }
	 
	    if ( delimiter === true ) {
	        delimiter = '1';
	    }
	    
	    if (!limit) {
	        return string.toString().split(delimiter.toString());
	    } else {
	        // support for limit argument
	        var splitted = string.toString().split(delimiter.toString());
	        var partA = splitted.splice(0, limit - 1);
	        var partB = splitted.join(delimiter.toString());
	        partA.push(partB);
	        return partA;
	    }
	}

	//in_array
	function in_array(needle, haystack, strict) {
	    // Checks if a value exists in an array
	    // 
	    // +    discuss at: http://kevin.vanzonneveld.net/techblog/article/javascript_equivalent_for_phps_in_array/
	    // +       version: 809.522
	    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	    // *     example 1: in_array('van', ['Kevin', 'van', 'Zonneveld']);
	    // *     returns 1: true

	    var found = false, key, strict = !!strict;

	    for (key in haystack) {
	        if ((strict && haystack[key] === needle) || (!strict && haystack[key] == needle)) {
	            found = true;
	            break;
	        }
	    }

	    return found;
	}

	//array_search
	function array_search( needle, haystack, strict ) {
	    // Searches the array for a given value and returns the corresponding key if
	    // successful
	    // 
	    // +    discuss at: http://kevin.vanzonneveld.net/techblog/article/javascript_equivalent_for_phps_array_search/
	    // +       version: 809.522
	    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	    // *     example 1: array_search('zonneveld', {firstname: 'kevin', middle: 'van', surname: 'zonneveld'});
	    // *     returns 1: 'surname'

	    var strict = !!strict;

	    for(var key in haystack){
	        if( (strict && haystack[key] === needle) || (!strict && haystack[key] == needle) ){
	            return key;
	        }
	    }

	    return false;
	}

	// str_replace
	function str_replace(search, replace, subject) {
	    // Replace all occurrences of the search string with the replacement string
	    // 
	    // +    discuss at: http://kevin.vanzonneveld.net/techblog/article/javascript_equivalent_for_phps_str_replace/
	    // +       version: 812.1017
	    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	    // +   improved by: Gabriel Paderni
	    // +   improved by: Philip Peterson
	    // +   improved by: Simon Willison (http://simonwillison.net)
	    // +    revised by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
	    // +   bugfixed by: Anton Ongson
	    // +      input by: Onno Marsman
	    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	    // +    tweaked by: Onno Marsman
	    // *     example 1: str_replace(' ', '.', 'Kevin van Zonneveld');
	    // *     returns 1: 'Kevin.van.Zonneveld'
	    // *     example 2: str_replace(['{name}', 'l'], ['hello', 'm'], '{name}, lars');
	    // *     returns 2: 'hemmo, mars'

	    var f = search, r = replace, s = subject;
	    var ra = r instanceof Array, sa = s instanceof Array, f = [].concat(f), r = [].concat(r), i = (s = [].concat(s)).length;

	    while (j = 0, i--) {
	        if (s[i]) {
	            while (s[i] = (s[i]+'').split(f[j]).join(ra ? r[j] || "" : r[0]), ++j in f){};
	        }
	    };

	    return sa ? s : s[0];
	}	