function trace(msg) {
	if(window.console) console.log(msg);
	else alert(msg);
}
 
function autoCompOff(id) {
	document.getElementById(id).setAttribute("autocomplete","off");
}

// Activation du menu déroulant pour les familles
$(document).ready(function() {
	
	// l'espace pub
	if($('#espace_pub').length > 0) {
		$('#espace_pub').innerfade({ speed: 'slow', timeout: 8000, type: 'sequence', containerheight: '257px' });
	}
	
	// la barre de menus
	$('.sub_menu .sub_menu_a').click(function() {
		$('.sub_menu .sub_menu_a').next('ul').fadeOut('slow');
		if($(this).next('ul').css('display') == 'none') {
			$(this).next('ul').fadeIn('slow');
		}
	});
	
	// le menu de gauche
	$('.btn_left').click(function() {
		var div_display = $(this).next();
		if(div_display.attr('class') == 'elt_tog') {
			$('.elt_tog').slideUp('slow');
			if (div_display.css('display') == 'none') {
				div_display.slideDown('slow');
			}
			else {
				div_display.slideUp('slow');	
			}
		}
	});
	
	// arrondi de contenus
	if($('#content_box').length > 0) {
		$('#content_box').corner("round 10px");
		if($('#content_fiche_info2').length > 0) {
			$('#content_fiche_info2').corner("round 15px").parent().css('padding', '2px').corner("round 17px");
		}
	}
	
	// scrollbar
	if($('#content_data').length > 0 && $('div.thumb').length > 0) {
		if($('.listmap').length == 0) {
			$('#content_data').tinyscrollbar();
			$('div.thumb').corner("round 10px");
		}
	}
	
	$('#espace_pub a.out').attr('target', 'blank');
	
	// Création DOM des flèches
	function createArrows() {
		$('#scroll').before($('<img>', {
			'class': 'fleche',
			src: 'images/left_arrow.png',
			alt: 'Gauche',
			css: {
				'float': 'left',
				'margin-left': '60px'
			},
			click: function() {
				$('#scroll_content').animate({scrollLeft: '-='+$('#scroll').width()}, 'slow');
			}
		}));
		$('#scroll').before($('<img>', {
			'class': 'fleche',
			src: 'images/right_arrow.png',
			alt: 'Droite',
			css: {
				'float': 'right',
				'margin-right': '60px'
			},
			click: function() {
				$('#scroll_content').animate({scrollLeft: '+='+$('#scroll').width()}, 'slow');
			}
		}));
		$('.fleche').css({
			'padding-top': '19px',
			'width': '9px',
			'height': '18px',
			'cursor': 'pointer'
		});
		return true;
	}
	
	var arrowsEnabled = false;
	// Pour IE, Firefox & Opera
	if ($('#scroll_content table').width() > $('#scroll').width()) {
		arrowsEnabled = createArrows();
		if ($('#player').size() > 0) {
			$('#player').mousedown(function(event) {
				event.preventDefault();
			});
		}
		if ($('.player').size() > 0) {
			$('.player').mousedown(function(event) {
				event.preventDefault();
			});
		}
	}
	// Pour Safari & Chrome
	if (!arrowsEnabled) {
		var tableWidth = 0;
		$('#scroll_content img').load(function() {
			tableWidth += $(this).width();
			if (!arrowsEnabled && tableWidth > $('#scroll').width()) {
				arrowsEnabled = createArrows();
			}
		});
	}

	$('form[name="form_esp_perso"]').submit(function() {
		if($('#chk_code').length > 0 && $('#chk_code').val() == '') {
			if($('#erreur_code').length > 0) {
				return hs.htmlExpand(document.getElementById('erreur_code'), { width: '300', headingText: 'Informations', wrapperClassName: 'titlebar' });
			}
			return false;
		}
		return true;
	});

	$('form[name="form_ajt_commande"]').submit(function() {
		if($('#accepte_cgv').length > 0 && $('#accepte_cgv').attr('checked') == false) {
			alert('Veuillez accepter les conditions générales de vente.');
			return false;
		}
		return true;
	});
	
	$('select[name="pdtp"]').bind('change', function() {
		if($(this).val() == 0) {
			return false;
		}
		document.location.href=home_site+'/index.php?action=switch_pdtp&pdtp='+parseInt($(this).val());
		return false;
	});
	
	$('input[name="type_liv[]"]').bind('click', function() {
		var to_lock = ($(this).val() == 'domicile_new' ? false : true);
		$('#ctn_field input[type="text"]').attr('disabled', (to_lock == false ? '' : 'disabled'));
		$('#ctn_field input[type="text"]').val('');
		$('#ctn_field select').attr('disabled', (to_lock == false ? '' : 'disabled'));
	});
	
	$('select.sel_cli_avoir').change(function() {
		if($(this).val() > 0) {
			$('form#avoir input[name="id_avoir"]').val(parseInt($(this).val()));
			$('form#avoir').submit();
			return false;
		}
	});
	
	// le plan du site
	$('.p_listmap').each(function() {
		// on cache les listes de produits
		pmap = $(this);
		pmap.css({ 'display': 'none' });
		pmap.parent('li').find('.remove_me').remove();
		pmap.parent('li').find('a').not('.lprod').each(function() {
			l_display = $('<img>', { src: 'images/plus.jpg' });
			a_display = $('<a>', {
				href: 'javascript:void(0);',
				title: 'Cliquez ici pour afficher la liste des produits de cette catégorie',
				css: { 'margin-right': '5px' },
				click: function() {
					ul_hidden = $(this).siblings('.p_listmap');	
					$(this).find('img').attr('src', 'images/'+(ul_hidden.css('display') == 'block' ? 'plus' : 'moins')+'.jpg');
					ul_hidden.slideToggle();
				}
			});
			a_display.append(l_display).insertBefore($(this));
			// on fait seulement le scroll ici (avec la bonne hauteur)
			$('#content_data').tinyscrollbar();
			$('div.thumb').corner("round 10px");
		});
	});

});
	
function EnvoieCom(id_commande, etat) {
	$('input[name="id_commande"]').val(id_commande);
	$('input[name="etat"]').val(etat);
	$('form[name="commande"]').submit();
}

function getIdChecked(container_id) {
	var id_chk = '';
	$('#'+container_id+' input[type="checkbox"]:checked').each(function () {
		id_chk += $(this).attr('id')+'_';
	});
	return id_chk;
}

function getNbChecked(container_id) {
	var nb_chk = $('#'+container_id+' input[type="checkbox"]:checked').length;
	return nb_chk;
}

function go_chercher(event,recherche) {
	var code = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
	if((((code <= 90 && code >= 65) || (code <= 57 && code >= 48) || (code <= 105 && code >= 93) || code == 8 || code == 46) && recherche.length > 3) || recherche.length == 0) {
		$.ajax({
			type: 'POST',
			url: './moteur_recherche.php',
			data: 'rechercher='+recherche,
			beforeSend: function() {
				$('#moteur_recherche').css('display', 'block');
				$('#moteur_recherche').html('<div id="load_res"><img src="images/loading.gif" width="54" height="55" style="margin-top: 10px;" /><br /><span style="font-size: 10px; font-weight: bold;">Chargement...</span></div>');
			},
			success: function(data) {
				leselect = data;
				$('#moteur_recherche').css('display', 'block');
				$('#moteur_recherche').html(leselect);
				drawSelectedItemInResultSet();
			},
			error: function(request,status,err_thrown) {
				alert('Erreur de traitement\n\nStatus : '+status+'\n\nErreur : '+err_thrown);
				return;
			}
		});
	}
}

var liSelect = null;
var aSelect = null;
var predClassName = "liAltOneStyle";
var predIndex = 0;
var index = 0;

function key_action_listener(value, _event_) {
	if (value.length >= 2) {
		var	prov;
		var winObj = checkEventObj (_event_);
		aSelect = document.getElementById("a_" + index);
		
		key = winObj.keyCode;
		if (!key) key = winObj.wich;
		
		predIndex = index;
		
		switch (key) {
			// Action lorsqu'on appuie sur la touche entrée
			case 13:
				if (liSelect != null) window.location.href = aSelect.href;
			break;
			// Action lorsqu'on appuie sur la flèche du bas
			case 40:
				prov = parseInt(index) + 1;
				liSelect = document.getElementById("li_" + prov);
				if (liSelect != null) {
					index++;
					drawSelectedItemInResultSet ();
				}
			break;
			// Action lorsqu'on appuie sur la flèche du haut
			case 38:
				prov = parseInt(index) - 1;
				liSelect = document.getElementById("li_" + prov);
				if (liSelect != null) {
					index--;
					drawSelectedItemInResultSet();
				}
			break;
			default:
				index = 0;
				predIndex = 0;
				predClassName = "liAltOneStyle";
				go_chercher(_event_,value);
			break;
		}
	}
	else document.getElementById('moteur_recherche').style.display = "none";
}

function drawSelectedItemInResultSet () {
	if($('#li_'+ predIndex).length > 0) {
		$('#li_'+ predIndex).attr('class',predClassName);
	}
	var liSelect = document.getElementById("li_" + index);
	if($("#li_" + index).length > 0) {
		predClassName = $("#li_" + index).attr('class');
		$("#li_" + index).attr('class', 'liSelectStyle');
	}
}

function checkEventObj ( _event_ ) {
	// --- IE explorer
	if ( window.event ) return window.event;
	// --- Netscape and other explorers
	else return _event_;
}

function checkAll(container_id,mode) {
	$('#'+container_id+' input[type="checkbox"]').each(function() {
		$(this).attr('checked', (mode == 'all' ? true : ($(this).attr('checked') == true ? false : true)))	
	});
}

function uncheckAll(container_id) {
	$('#'+container_id+' input:checkbox').attr('checked', false);
}

function redirMarque(val_rub,sel_val) {
	if(sel_val == 0) {
		return;
	}
	location.href=home_site+val_rub+'/marque-'+sel_val+'/';
	return;
}

function redirCat(val_rub,val_marque, sel_val) {
	if(sel_val == -1) {
		return;
	}
	location.href=home_site+val_rub+((val_marque != '' && val_marque != '0') || val_marque > 0 ? '/marque-'+val_marque : '')+'/'+(sel_val == 0 ? '' : sel_val+'/');
	return;	
}

function sendData(balise, param, page){
	$.ajax({
		type: 'POST',
		url: page,
		data: param,
		success: function(data) {
			$('#'+balise).html(data);
		},
		error: function(request,status,err_thrown) {
			alert('Une erreur est survenue durant la mise à jour.');
			return;
		}
	});
}

function popUp(url, nom, largeur, hauteur) {
	window.open(url, nom, 'directories=no, menubar=no, status=no, location=no, scrollbars=no, resizable=no, height='+hauteur+', width='+largeur+', left='+(Math.round((screen.width-largeur)/2))+', top='+(Math.round((screen.height-hauteur)/2))+', fullscreen=no');
}

var getElementsByClassName = function (className, tag, elm){
	if (document.getElementsByClassName) {
		getElementsByClassName = function (className, tag, elm) {
			elm = elm || document;
			var elements = elm.getElementsByClassName(className),
				nodeName = (tag)? new RegExp("\\b" + tag + "\\b", "i") : null,
				returnElements = [],
				current;
			for(var i=0, il=elements.length; i<il; i+=1){
				current = elements[i];
				if(!nodeName || nodeName.test(current.nodeName)) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	else if (document.evaluate) {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = "",
				xhtmlNamespace = "http://www.w3.org/1999/xhtml",
				namespaceResolver = (document.documentElement.namespaceURI === xhtmlNamespace)? xhtmlNamespace : null,
				returnElements = [],
				elements,
				node;
			for(var j=0, jl=classes.length; j<jl; j+=1){
				classesToCheck += "[contains(concat(' ', @class, ' '), ' " + classes[j] + " ')]";
			}
			try	{
				elements = document.evaluate(".//" + tag + classesToCheck, elm, namespaceResolver, 0, null);
			}
			catch (e) {
				elements = document.evaluate(".//" + tag + classesToCheck, elm, null, 0, null);
			}
			while ((node = elements.iterateNext())) {
				returnElements.push(node);
			}
			return returnElements;
		};
	}
	else {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = [],
				elements = (tag === "*" && elm.all)? elm.all : elm.getElementsByTagName(tag),
				current,
				returnElements = [],
				match;
			for(var k=0, kl=classes.length; k<kl; k+=1){
				classesToCheck.push(new RegExp("(^|\\s)" + classes[k] + "(\\s|$)"));
			}
			for(var l=0, ll=elements.length; l<ll; l+=1){
				current = elements[l];
				match = false;
				for(var m=0, ml=classesToCheck.length; m<ml; m+=1){
					match = classesToCheck[m].test(current.className);
					if (!match) {
						break;
					}
				}
				if (match) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	return getElementsByClassName(className, tag, elm);
};
