var onload_functions = new Array();

/**
* New function for handling multiple calls to window.onload and window.unload by pentapenguin
*/

window.onload = function()
{
	for (var i = 0; i < onload_functions.length; i++)
	{
		eval(onload_functions[i]);
	}

}

function changeLocation(location){
	window.location = location;
}

function surligne(node) {
	
	// on remet toutes les lignes en blanc
	var trs = node.parentNode.getElementsByTagName('tr'); // all the tr
        
	for ( var i=0; i<trs.length; i++ )
	{
		className = trs[i].className;
		if(className.indexOf(' ')){
			classes = className.split(' ');
			trs[i].className = classes[0]; ////////// TOTO
		}
	}
	
	node.className = node.className + ' active';
	
}




function closeWindow(zoneName) {
	
	change_display('glob', 'none');
	change_display(zoneName, 'none');
	
}

function clearForm() {
	
	form = document.forms['formSearch'];
	
	form.elements['stringSearch_noarticle'].value = '';
	form.elements['stringSearch_designation'].value = '';
	
	cats = form.elements['catIds[]'];
	
	for (i = 0; i < cats.length; i++){
		cats[i].checked = '' ;
	}
	
	
	
	//alert('clearForm');
	
	// attention => lancer fonction ajax pour vider la variable £_SESSION
	
	clearSearchRemind();
	
}
var tOutExpandCato;
function expandListCategories() {
	
	//if(isNaN(tOutExpandCato)){
		tOutExpandCato = setTimeout("expand()", 1000);
	//}
}
function expand() {
	
	clearTimeout(tOutExpandCato);
	
	if(document.getElementById) {
		listCato = document.getElementById('list_categories');
	} else if(document.all) {
		listCato = document.all('list_categories');
	}
	
	//alert(getHeight(listCato));
	
	listCato.style['position'] = 'absolute';
	listCato.style['top'] = '0px';
	listCato.style['left'] = '0px';
	listCato.style['border'] = '1px solid #000000';
	listCato.style['height'] = getHeight(listCato)+'px';
	listCato.style['width'] = '300px';
	//listCato.style['marginTop'] = '0px';
	listCato.style['zIndex'] = '1000';
	
	listCato.parentNode.style['overflow'] = 'visible';
	listCato.parentNode.style['border'] = 'none';
	
}
var tOutReduceCato;
function reduceListCategories() {
	tOutReduceCato = setTimeout("reduce()", 1000);
}
function reduce() {
	
	clearTimeout(tOutReduceCato);
	
	if(document.getElementById) {
		listCato = document.getElementById('list_categories');
	} else if(document.all) {
		listCato = document.all('list_categories');
	}
	
	listCato.style['position'] = 'relative';
	listCato.style['border'] = 'none';
	listCato.style['height'] = 'auto';
	listCato.style['width'] = 'auto';
	//listCato.style['marginTop'] = '-90px';
	listCato.style['zIndex'] = '1';
	
	listCato.parentNode.style['overflow'] = 'auto';
	listCato.parentNode.style['border'] = '1px solid #000000';
	
}
function doNotReduceNow() {
	// permet d'outrepasser le bug du mouveout qui se produit aussi sur les éléments enfants
	// => on désactive le timeOut si la souris est en mouvement au dessus de la liste développée.
	clearTimeout(tOutReduceCato);
}

function expandListCategories2() {
	
	return hs.htmlExpand(this);
	
}

function checkFormInscription() { 
  	error = false;
	msg = '';
	displayTime = 2000;
	form = document.forms['formInscription'];
	// changer la boucle suivante par un truc valide (getElementsByTagName() obsolète)
	inputs = form.getElementsByTagName('input');
	for (var i=0; i<inputs.length; i++) {
		if(inputs[i].name != 'fax' && inputs[i].name != 'departement'){
			if(inputs[i].value == ''){
				error = true;
				inputs[i].style.backgroundColor = '#C70119';
				inputs[i].style.color = '#ffffff';
			} else {
				inputs[i].style.backgroundColor = '#d6d6d6';
				inputs[i].style.color = '#000000';
			}
		}
	}
	if(error == true){	
		msg += '<li>Veuillez compléter tous les champs.</li>';
	}
	
	if(form.elements['passwd'].value != ''){
		if(!isPasswordOK('formInscription', 'passwd')){
			msg += '<li>Le password n\'est pas assez sûr. Veuillez utiliser 8 caractères minimum.</li>';
			displayTime += 500;
			error = true;
			changeColorField('red', 'formInscription', 'passwd');
		} else {
			changeColorField('normal', 'formInscription', 'passwd');
			if(form.elements['passwd'].value != form.elements['confirmPasswd'].value){
				msg += '<li>La confirmation ne correspond pas au mot de passe.</li>';
				changeColorField('red', 'formInscription', 'confirmPasswd');
				displayTime += 500;
				error = true;
			} else {
				changeColorField('normal', 'formInscription', 'confirmPasswd');
			}
		}
	}
	
	
	if(form.elements['email'].value != ''){
		var verif = new RegExp("^([a-zA-Z0-9_-])+([.]?[a-zA-Z0-9_-]{1,})*@([a-zA-Z0-9-_]{2,}[.])+[a-zA-Z]{2,3}$");
		if (verif.exec(form.elements['email'].value) == null){
			msg += '<li>Votre e-mail semble invalide.</li>';
			error = true;
			changeColorField('red', 'formInscription', 'email');
		} else {
			changeColorField('normal', 'formInscription', 'email');
		}
	}

	
	if(error == true){
		change_display("errorFormMsg", "block");
		message = '<h2>Erreurs</h2>';
		message += '<ul id="errorList">' + msg + '</ul>';
		document.getElementById("errorFormMsg").innerHTML = message;
		timeOut = window.setTimeout('change_display("errorFormMsg", "none")', displayTime);
		return false;
	} else {
		register(); // on lance la fonction ajax de récup du formulaire...
	}
}
function checkFormOrder(formActive) { 
  	error = false;
	msg = '';
	displayTime = 2000;
	form = document.forms['formOrder'];
	// changer la boucle suivante par un truc valide (getElementsByTagName() obsolète)
	inputs = form.getElementsByTagName('input');
	
	
	if(form.elements['client_id'] != undefined){
		//alert('client enregistré');
		for (var i=0; i<inputs.length; i++) {
			if(inputs[i].name == 'captchaUser'){
				if(inputs[i].value == ''){
					error = true;
					inputs[i].style.backgroundColor = '#C70119';
					inputs[i].style.color = '#ffffff';
				} else {
					inputs[i].style.backgroundColor = '#d6d6d6';
					inputs[i].style.color = '#000000';
				}
			} else {
				inputs[i].style.backgroundColor = '#d6d6d6';
				inputs[i].style.color = '#000000';
			}
		}
		if(error == true){	
			msg += '<li>' + texteJS['texteErrorJS_li_obligFields'] + '</li>';
		}
	} else { // utilisateur non logué => on check tous les champs
		//alert('client PAS enregistré > check complet de tous les champs');
		getAccountCHBX = 'false';	
		if(form.elements['getAccountCHBX'].checked==true){
			//alert('getAccount');
			for (var i=0; i<inputs.length; i++) {			
				if(inputs[i].name != 'fax' && inputs[i].name != 'departement'){
					if(inputs[i].value == ''){
						error = true;
						inputs[i].style.backgroundColor = '#C70119';
						inputs[i].style.color = '#ffffff';
					} else {
						inputs[i].style.backgroundColor = '#d6d6d6';
						inputs[i].style.color = '#000000';
					}
				}
			}
		} else {
			//alert('getAccount == false');
			for (var i=0; i<inputs.length; i++) {			
				if(inputs[i].name != 'passwd' && inputs[i].name != 'confirmPasswd' && inputs[i].name != 'fax' && inputs[i].name != 'departement'){
					if(inputs[i].value == ''){
						error = true;
						inputs[i].style.backgroundColor = '#C70119';
						inputs[i].style.color = '#ffffff';
					} else {
						inputs[i].style.backgroundColor = '#d6d6d6';
						inputs[i].style.color = '#000000';
					}
				} else {
					inputs[i].style.backgroundColor = '#d6d6d6';
					inputs[i].style.color = '#000000';
				}
			}
		}
		
		if(error == true){	
			msg += '<li>' + texteJS['texteErrorJS_li_obligFields'] + '</li>';
		}
		
		if(form.elements['email'].value != ''){
			var verif = new RegExp("^([a-zA-Z0-9_-])+([.]?[a-zA-Z0-9_-]{1,})*@([a-zA-Z0-9-_]{2,}[.])+[a-zA-Z]{2,3}$");
			if (verif.exec(form.elements['email'].value) == null){
				msg += '<li>' + texteJS['texteErrorJS_li_eMailField_email'] + '</li>';
				error = true;
				changeColorField('red', 'formOrder', 'email');
			} else {
				changeColorField('normal', 'formOrder', 'email');
			}
		}	
	}
	//return false;
	if(error == true){
		change_display("errorFormMsg", "block");
		message = '<h2>' + texteJS['texteErrorJS_title'] + '</h2>';
		message += '<ul id="errorList">' + msg + '</ul>';
		document.getElementById("errorFormMsg").innerHTML = message;
		timeOut = window.setTimeout('change_display("errorFormMsg", "none")', displayTime);
		return false;
	} else {
		order(formActive); // on lance la fonction ajax de récup du formulaire...
	}
}

function checkFormContact() { 
  	error = false;
	msg = '';
	displayTime = 2000;
	form = document.forms['formContact'];
	// changer la boucle suivante par un truc valide (getElementsByTagName() obsolète)
	inputs = form.getElementsByTagName('input');
	for (var i=0; i<inputs.length; i++) {
	if(inputs[i].name != 'client_id' && inputs[i].name != 'nom' && inputs[i].name != 'prenom' && inputs[i].name != 'entreprise' && inputs[i].name != 'departement' && inputs[i].name != 'adresse'){
			if(inputs[i].value == ''){
				error = true;
				inputs[i].style.backgroundColor = '#C70119';
				inputs[i].style.color = '#ffffff';
			} else {
				inputs[i].style.backgroundColor = '#d6d6d6';
				inputs[i].style.color = '#000000';
			}
		} else {
			inputs[i].style.backgroundColor = '#d6d6d6';
			inputs[i].style.color = '#000000';
		}
	}
	
	if(form.elements['nom'].value == '' && form.elements['prenom'].value == '' && form.elements['entreprise'].value == ''){
		error = true;
		if (form.elements['nom'].value == ''){
			changeColorField('red', 'formContact', 'nom');
		} else {
			changeColorField('normal', 'formContact', 'nom');
		}
		if (form.elements['entreprise'].value == ''){
			changeColorField('red', 'formContact', 'entreprise');
		} else {
			changeColorField('normal', 'formContact', 'entreprise');
		}
	}
	
	if (form.elements['comment'].value == ''){
		error = true;
		changeColorField('red', 'formContact', 'comment');
	} else {
		changeColorField('normal', 'formContact', 'comment');
	}
	
	if(error == true){	
		msg += '<li>' + texteJS['texteErrorJS_li_obligFields'] + '</li>';
	}
	
	if(form.elements['email'].value != ''){
		var verif = new RegExp("^([a-zA-Z0-9_-])+([.]?[a-zA-Z0-9_-]{1,})*@([a-zA-Z0-9-_]{2,}[.])+[a-zA-Z]{2,3}$");
		if (verif.exec(form.elements['email'].value) == null){
			msg += '<li>' + texteJS['texteErrorJS_li_eMailField_email'] + '</li>';
			error = true;
			changeColorField('red', 'formContact', 'email');
		} else {
			changeColorField('normal', 'formContact', 'email');
		}
	}
	
	if(error == true){
		change_display("errorFormMsg", "block");
		message = '<h2>' + texteJS['texteErrorJS_title'] + '</h2>';
		message += '<ul id="errorList">' + msg + '</ul>';
		document.getElementById("errorFormMsg").innerHTML = message;
		//timeOut = window.setTimeout('change_display("errorFormMsg", "none")', displayTime);
		return false;
	} else {
		contact(); // on lance la fonction ajax de récup du formulaire...
	}
}

function checkFormLogin( ) { 
  	error = false;
	msg = '';
	displayTime = 5000;
	form = document.forms['formLogin'];
	if(form.elements['login'].value == ''){
		msg += '<li>Le <strong>login</strong> est obligatoire.</li>';
		changeColorField('red', 'formLogin', 'login');
		displayTime += 500;
		error = true;
	} else {
		changeColorField('normal', 'formLogin', 'login');
	}
	if(form.elements['passwd'].value == ''){
		msg += '<li>Le <strong>mot de passe</strong> est obligatoire.</li>';
		changeColorField('red', 'formLogin', 'passwd');
		displayTime += 500;
		error = true;
	} else {
		changeColorField('normal', 'formLogin', 'passwd');
	}
	
	if(error == true){
		change_display("errorFormMsg", "block");

		document.getElementById("errorFormMsg").innerHTML = '<h2>Erreur(s) lors de l\'envoi</h2><p>L\'envoi du formulaire a g&eacute;n&eacute;r&eacute; les erreurs suivantes:</p><ul id="errorList">' + msg + '</ul>';

		//timeOut = window.setTimeout('change_display("errorFormMsg", "none")', displayTime);
		return false;
	} else {
		login(); // on lance la fonction ajax de récup du formulaire...
	}
	
}

function checkFormQuickLogin( ) { 
  	error = false;
	msg = '';
	displayTime = 5000;
	form = document.forms['formQuickLogin'];
	if(form.elements['login'].value == ''){
		msg += '<li>Le <strong>login</strong> est obligatoire.</li>';
		changeColorField('red', 'formQuickLogin', 'login');
		displayTime += 500;
		error = true;
	} else {
		changeColorField('normal', 'formQuickLogin', 'login');
	}
	if(form.elements['passwd'].value == ''){
		msg += '<li>Le <strong>mot de passe</strong> est obligatoire.</li>';
		changeColorField('red', 'formQuickLogin', 'passwd');
		displayTime += 500;
		error = true;
	} else {
		changeColorField('normal', 'formQuickLogin', 'passwd');
	}
	
	if(error == true){
		change_display("glob", "block");
		change_display("infoTraitment", "block");

		document.getElementById("infoTraitment").innerHTML = '<h1>Erreur(s) lors de l\'envoi<a class="close" href="javascript:;" onclick="change_display(\'infoTraitment\', \'none\');change_display(\'glob\', \'none\');"><span class="cache">Fermer</span></a></h1><p>L\'envoi du formulaire a g&eacute;n&eacute;r&eacute; les erreurs suivantes:</p><ul id="errorList">' + msg + '</ul>';
		//timeOut = window.setTimeout('change_display("errorFormMsg", "none")', displayTime);
		return false;
	} else {
		quickLogin(); // on lance la fonction ajax de récup du formulaire...
	}
	
}

function checkFormProfil() { 
  	error = false;
	msg = '';
	displayTime = 4000;
	form = document.forms['formProfil'];
	// changer la boucle suivante par un truc valide (getElementsByTagName() obsolète)
	inputs = form.getElementsByTagName('input');


	for (var i=0; i<inputs.length; i++) {
		//if(inputs[i].name == 'captchaUser'){
			if(inputs[i].value == ''){
				error = true;
				inputs[i].style.backgroundColor = '#C70119';
				inputs[i].style.color = '#ffffff';
			} else {
				inputs[i].style.backgroundColor = '#d6d6d6';
				inputs[i].style.color = '#000000';
			}
		/*} else {
			inputs[i].style.backgroundColor = '#d6d6d6';
			inputs[i].style.color = '#000000';
		}*/
	}
	if(error == true){	
		msg += '<li>' + texteJS['texteErrorJS_li_obligFields'] + '</li>';
	}
	
	//return false;
	if(error == true){
		change_display("errorFormMsg", "block");
		document.getElementById("errorFormMsg").innerHTML = '<h2>' + texteJS['texteErrorJS_title'] + '<a class="close" href="javascript:;" onclick="change_display(\'infoTraitment\', \'none\');"><span class="cache">Fermer</span></a></h2><p>' + texteJS['texteErrorJS_text'] + '</p><ul id="errorList">' + msg + '</ul>';
		//timeOut = window.setTimeout('change_display("errorFormMsg", "none")', displayTime);
		return false;
	} else {
		storeProfil(); // on lance la fonction ajax de récup du formulaire...
	}
}


function checkFormChangePassWord() { 
  	error = false;
	msg = '';
	displayTime = 5000;
	form = document.forms['formChangePassWord'];
	if(form.elements['oldPwd'].value == ''){
		msg += '<li>' + texteJS['texteErrorJS_li_obligField_passwd_actuel'] + '</li>';
		changeColorField('red', 'formChangePassWord', 'oldPwd');
		displayTime += 500;
		error = true;
	} else {
		changeColorField('normal', 'formChangePassWord', 'oldPwd');
	}
	if(form.elements['pwd'].value == ''){
		msg += '<li>' + texteJS['texteErrorJS_li_obligField_newPasswd'] + '</li>';
		changeColorField('red', 'formChangePassWord', 'pwd');
		displayTime += 500;
		error = true;
	} else {
		changeColorField('normal', 'formChangePassWord', 'pwd');
	}
	if(form.elements['confirmpwd'].value == ''){
		msg += '<li>' + texteJS['texteErrorJS_li_obligField_newPasswd_confirm'] + '</li>';
		changeColorField('red', 'formChangePassWord', 'confirmpwd');
		displayTime += 500;
		error = true;
	} else {
		changeColorField('normal', 'formChangePassWord', 'confirmpwd');
	}
	
	if(form.elements['pwd'].value != ''){
		if(!isPasswordOK('formChangePassWord', 'pwd')){
			msg += '<li>' + texteJS['texteErrorJS_li_passwdStrength'] + '</li>';
			displayTime += 500;
			error = true;
			changeColorField('red', 'formChangePassWord', 'pwd');
		} else {
			changeColorField('normal', 'formChangePassWord', 'pwd');
			if(form.elements['pwd'].value != form.elements['confirmpwd'].value){
				msg += '<li>' + texteJS['texteErrorJS_li_correspondance_passwd'] + '</li>';
				changeColorField('red', 'formChangePassWord', 'confirmpwd');
				displayTime += 500;
				error = true;
			} else {
				changeColorField('normal', 'formChangePassWord', 'confirmpwd');
			}
		}
	}
	
	if(error == true){
		change_display("errorFormMsg", "block");
		document.getElementById("errorFormMsg").innerHTML = '<h2>Erreur(s) lors de l\'envoi<a class="close" href="javascript:;" onclick="change_display(\'infoTraitment\', \'none\');"><span class="cache">Fermer</span></a></h2><p>L\'envoi du formulaire a g&eacute;n&eacute;r&eacute; les erreurs suivantes:</p><ul id="errorList">' + msg + '</ul>';
		return false;
	} else {
		storeNewPassWord(); // on lance la fonction ajax de récup du formulaire...
	}
}

function checkFormResetPassWord() { 
  	error = false;
	msg = '';
	displayTime = 7000;
	form = document.forms['formResetPassWord'];
	
	if(form.elements['login'].value != ''){
		var verif = new RegExp("^([a-zA-Z0-9_-])+([.]?[a-zA-Z0-9_-]{1,})*@([a-zA-Z0-9-_]{2,}[.])+[a-zA-Z]{2,3}$");
		if (verif.exec(form.elements['login'].value) == null){
			msg += '<li>' + texteJS['texteErrorJS_li_eMailField_email'] + '</li>';
			error = true;
			changeColorField('red', 'formResetPassWord', 'login');
		} else {
			changeColorField('normal', 'formResetPassWord', 'login');
		}
	}
	
	if(form.elements['captchaUser'].value == ''){
		msg += '<li>' + texteJS['texteErrorJS_li_obligField_captcha'] + '</li>';
		changeColorField('red', 'formResetPassWord', 'captchaUser');
		displayTime += 500;
		error = true;
	} else {
		changeColorField('normal', 'formResetPassWord', 'captchaUser');
	}
	
	if(error == true){
		change_display("errorFormMsg", "block");
		message = '<h2>' + texteJS['texteErrorJS_title'] + '</h2>';
		message += '<ul id="errorList">' + msg + '</ul>';
		document.getElementById("errorFormMsg").innerHTML = message;
		timeOut = window.setTimeout('change_display("errorFormMsg", "none")', displayTime);
		return false;
	} else {
		
		resetPassWord(); // on lance la fonction ajax de récup du formulaire...
	}
}

function isPasswordOK(form, field){
	var strongRegex = new RegExp("^(?=.{8,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g");
	var mediumRegex = new RegExp("^(?=.{7,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");
	var enoughRegex = new RegExp("(?=.{6,}).*", "g");
	var pwd = document.forms[form].elements[field];
	if (pwd.value.length==0) {
		return false;
	} else if (false == enoughRegex.test(pwd.value)) {
		return false;
	} else if (strongRegex.test(pwd.value)) {
		return true;
	} else if (mediumRegex.test(pwd.value)) {
		return true;
	} else {
		return true;
	}	
}
function checkPasswordStrength(form, field) {
	var strength = document.getElementById('strength');
	var strongRegex = new RegExp("^(?=.{8,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g");
	var mediumRegex = new RegExp("^(?=.{7,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");
	var enoughRegex = new RegExp("(?=.{6,}).*", "g");
	var pwd = document.forms[form].elements[field];
	if (pwd.value.length==0) {
		//strength.innerHTML = 'Type Password';
		strength.innerHTML = '<img src="images/icone_wrong_passwd.gif" alt="" />';
	} else if (false == enoughRegex.test(pwd.value)) {
		//strength.innerHTML = 'More Characters';
		strength.innerHTML = '<img src="images/icone_wrong_passwd.gif" alt="" />';
	} else if (strongRegex.test(pwd.value)) {
		//strength.innerHTML = '<span style="color:green">Strong!</span>';
		strength.innerHTML = '<img src="images/icone_correct_passwd.gif" alt="" />';
	} else if (mediumRegex.test(pwd.value)) {
		//strength.innerHTML = '<span style="color:orange">Medium!</span>';
		strength.innerHTML = '<img src="images/icone_correct_passwd.gif" alt="" />';
	} else {
		//strength.innerHTML = '<span style="color:red">Weak!</span>';
		strength.innerHTML = '<img src="images/icone_correct_passwd.gif" alt="" />';
	}
}

function checkConfirmPassword(form, passwdField, confirmPasswdField) {
	var confirmPWD = document.getElementById('confirmPWD');
	if((document.forms[form].elements[passwdField].value == document.forms[form].elements[confirmPasswdField].value) && document.forms[form].elements[confirmPasswdField].value != ''){
		confirmPWD.innerHTML = '<img src="images/icone_correct_passwd.gif" alt="" />';
	} else {
		confirmPWD.innerHTML = '<img src="images/icone_wrong_passwd.gif" alt="" />';
	}
}

// général functions
// fonction d'affichage/désaffichage de block css
function change_display(id, display_value) {
	
	if(document.getElementById) {
		document.getElementById(id).style.display = display_value;
	} else if(document.all) {
		document.all(id).style.display = display_value;
	}

}
function change_visibility(id, visibility_value) {
	
	if(document.getElementById) {
		document.getElementById(id).style.visibility = visibility_value;
	} else if(document.all) {
		document.all(id).style.visibility = visibility_value;
	}

}

function doSomethingWithClasses(theClass) {
	//Populate the array with all the page tags
	var allPageTags=document.getElementsByTagName("*");
	//Cycle through the tags using a for loop
	for (i=0; i<allPageTags.length; i++) {
	//Pick out the tags with our class name
		if (allPageTags[i].className==theClass) {
			//Manipulate this in whatever way you want
			allPageTags[i].style.display='none';
		}
	}
} 


function changeColorField(typeChange, form, field){
	if(typeChange == 'red'){
		error = true;
		document.forms[form].elements[field].style.backgroundColor = '#C70119';
		document.forms[form].elements[field].style.color = '#ffffff';
	} else {
		if(document.forms[form].elements[field].value != ''){
			document.forms[form].elements[field].style.backgroundColor = '#d6d6d6';
			document.forms[form].elements[field].style.color = '#000000';
		}
	}
}

/*function getHeight(element){
	if(document.all){
		hauteur = element.scrollHeight;
	} else {
		hauteur = element.offsetHeight;
	}
	return hauteur;
}*/

var tempsDernierClick = null;
var dernierClick = null;
var tempsEntreDeuxClics = 500;

function verifDoubleClic(function_name, id, ask) {
	var tempsClicEnCours = (new Date()).getTime();
	if ( (dernierClick == this) && (tempsClicEnCours < tempsDernierClick + tempsEntreDeuxClics) ){
		dernierClick = null; // on remet à zéro
		if(ask == 'yes'){
			if(confirm('voulez vous sauvegarder la commande en cours?')){
				alert(function_name+'('+id+', \'yes\');');
				eval(function_name+'('+id+', \'yes\');');
			} else {
				eval(function_name+'('+id+', \'no\');');	
			}
		} else {
			eval(function_name+'('+id+', \'no\');');
		}
		return true; // c'est bien un double-clic sur le même objet
	} else {
		dernierClick = this;
		// pour être sûr de cliquer sur le même objet
		tempsDernierClick = tempsClicEnCours;
		return false; // c'est un simple clic pour le moment)
	}
}

function sh_discount(node){ // Show / Hide discount values
	table = node.parentNode.parentNode.getElementsByTagName('div')[0];
	if(table.style['display'] == 'block'){
		table.style['display'] = 'none';
		node.style['backgroundPosition'] = '100% -21px';
	} else if(table.style['display'] == 'none'){
		table.style['display'] = 'block';
		node.style['backgroundPosition'] = '100% 0%';
	}
}


function auto_select( witch ){
	
	/*alert(document.getElementById('product_list').getElementsByTagName('table')[0].getElementsByTagName('tr')[1].getAttribute("onclick"));
	*/
	if(witch == 'first'){
		if(document.getElementById) {
			if(document.getElementById('product_list').getElementsByTagName('table')[0]){
				product_to_select = document.getElementById('product_list').getElementsByTagName('table')[0].getElementsByTagName('tr')[1];
			} else {
				product_to_select = 'notFind';
			}
		} else if(document.all) {
			product_to_select = document.all('product_list').getElementsByTagName('table')[0].getElementsByTagName('tr')[1];
		}
	} else if (witch == 'last'){
		if(document.getElementById) {
			if(document.getElementById('product_list').getElementsByTagName('table')[0]){
				product_to_select = document.getElementById('product_list').getElementsByTagName('table')[0].getElementsByTagName('tr')[document.getElementById('product_list').getElementsByTagName('table')[0].getElementsByTagName('tr').length-1];
			} else {
				product_to_select = 'notFind';
			}
		} else if(document.all) {
			product_to_select = document.all('product_list').getElementsByTagName('table')[0].getElementsByTagName('tr')[document.all('product_list').getElementsByTagName('table')[0].getElementsByTagName('tr').length-1];
		}
	}
	
	
	//alert(product_to_select);
	
	if(product_to_select != 'notFind'){
	
		lineToSwitchOn = product_to_select;
		
		//alert(lineToSwitchOn.getAttribute("onclick"));
		
		// on lance les fonctions de la ligne suivante / précédente
		onClickFunctions = lineToSwitchOn.getAttribute("onclick");
		
		/* METHODE NON FONCTIONNELLE SUR IE7:::::::::::::::::
		functionstest = functionstest.toString().split(';');
		
		eval(functionstest[0]+';');
		surligne(lineToSwitchOn);
		lounchAjaxFunctions();*/
	
		onClickFunctions = onClickFunctions.toString();	
		onClickFunctions = onClickFunctions.substring(onClickFunctions.indexOf('loadDetailProduct('));
		loadDetailProductFunction = onClickFunctions.substring(0, onClickFunctions.indexOf(')')+1);																
		
		//alert(loadDetailProductFunction);
		
		//eval(loadDetailProductFunction+';');
		eval('ajax_functions.push(\''+loadDetailProductFunction+';\');');
		surligne(lineToSwitchOn);
		lounchAjaxFunctions();
		
	} else {
		
		//alert('plus rien');
		
		document.getElementById("product_detail").innerHTML = ' ' ;

		
	}
	
}

/* navigation suivant/précédent dans la liste de produits */
function navig_in_product(sens){
	
	changePage = false;
	
	if(document.getElementById) {
		table = document.getElementById('product_list').getElementsByTagName('table')[0];
	} else if(document.all) {
		table = document.all('product_list').getElementsByTagName('table')[0];
	}
	
	lines = table.getElementsByTagName('tr');
	
	for (i=0; i<lines.length; i++) { // on parcourt les lignes de la liste affichée pour repéré l'article en cours.
	
		lineClasse = lines[i].className;
		
		if(lineClasse.indexOf('active') != -1){ // c'est la ligne active
			
			//// Faire les tests si première ou dernière lignes... => changement de page au lieu de changement de ligne.
			if(sens == 'previous'){
				lineToSwitchOn = lines[i - 1];
				
				if(i > 1){
					lineToSwitchOn = lines[i - 1];
				} else {
					changePage = true;	
				}
			}
			
			if(sens == 'next'){
				if(i < lines.length - 1){
					lineToSwitchOn = lines[i + 1];
				} else {
					changePage = true;	
				}
			
			}

		}
		
	}
	
	//alert(lineToSwitchOn.getAttribute("onclick"));
	
	if(changePage == false){
		if(typeof(lineToSwitchOn)!='undefined'){ 
			// on lance les fonctions de la ligne suivante / précédente
			onClickFunctions = lineToSwitchOn.getAttribute("onclick");
			
			if(onClickFunctions != '' && onClickFunctions != null){
			
				onClickFunctions = onClickFunctions.toString();	
				onClickFunctions = onClickFunctions.substring(onClickFunctions.indexOf('loadDetailProduct('));
				loadDetailProductFunction = onClickFunctions.substring(0, onClickFunctions.indexOf(')')+1);																
				loadDetailProductFunction = loadDetailProductFunction.replace(/\\\'/g, "'")
				//alert(loadDetailProductFunction);
				
				eval(loadDetailProductFunction+';');
				surligne(lineToSwitchOn);
				lounchAjaxFunctions();
			
			}	
		}else{
			auto_select( 'first' );
		}

	} else {
		
		//alert(document.getElementById('pagination').id);
		
		// changement de page
		if(document.getElementById) {
			paginationTest = document.getElementById('pagination');
		} else if(document.all) {
			paginationTest = document.all('pagination');
		}
		
		lis = paginationTest.getElementsByTagName('li');
		
		for (i=1; i<lis.length; i++) { // on parcourt les lignes de la liste affichée pour repéré l'article en cours.
			
			if(lis[i].getElementsByTagName('a')[0]){
				if(lis[i].getElementsByTagName('a')[0].id == 'selected'){ // page active
					
					//alert(lis[i].getElementsByTagName('a')[0].firstChild.data)
					activePage = lis[i].getElementsByTagName('a')[0].firstChild.data;
					
					if(sens == 'previous'){
						if(activePage > 1){
							loadlistProducts( '', '', '', '', '', (parseInt(activePage) - 1), 'last' );
						}/* else {
							alert("première page pas possible d'aller plus loin");	
						}*/
					}
					
					if(sens == 'next'){
						if(lis[i+1].getElementsByTagName('a')[0]){
							loadlistProducts( '', '', '', '', '', (parseInt(activePage) + 1) );
						}/* else {
							alert("LAST PAGE");	
						}*/
					}
		
				}
			}
			
		}
	}

	
}

function sendPrompt() {
	error = false;
	form = document.forms['formPrompt'];
	inputs = form.getElementsByTagName('input');
	for (var i=0; i<inputs.length; i++) {
		if(inputs[i].value == ''){
			error = true;
			inputs[i].style.backgroundColor = '#C70119';
			inputs[i].style.color = '#ffffff';
		} else {
			inputs[i].style.backgroundColor = '#d6d6d6';
			inputs[i].style.color = '#000000';
		}
	}
	
	if(error == true){
		return false;
	} else {
		eval('ajax_functions.push(\''+ form.elements['functionToLounch'].value +'(\\\''+ addslashes(form.elements['promptValue'].value) +'\\\')\');');
		//alert ('ajax_functions.push(\''+ form.elements['functionToLounch'].value +'(\\\''+ form.elements['promptValue'].value +'\\\')\');');
		closePrompt();
		lounchAjaxFunctions();
	}
}
function addslashes(ch) {
	ch = ch.replace(/\\/g,"\\\\")
	ch = ch.replace(/\'/g,"\\\\\\'")
	ch = ch.replace(/\"/g,"\\\"")
	return ch
}
function closePrompt() {
	document.getElementById("infoTraitment").innerHTML = '';
	document.getElementById("infoTraitment").style.display = 'none';
	document.getElementById("glob").style.display = 'none';
}

function modifyInPlace(node) {
	node.innerHTML = '';
}

function popUP(){
	
	/*$('tinyForm').setStyle({
		display: 'block',
      width: '50px',
      height: '50px',
	  position: 'absolute',
	  left: '50%',
	  top: '50%',
	  margin: '-25px 0 0 -25px'
	});
	
    $('tinyForm').morph({
      'width': '500px',
      'height': 'auto',
	  'position': 'absolute',
	  'left': '50%',
	  'top': '50px',
	  'margin': '0 0 0 -250px'
    });*/
	
	finalSize = $('tinyForm').getSize();
	
	// on définie une class de départ
	$('tinyForm').setStyles({
		width: 50,
		height: 50,
		'margin-left': -25
	});

	$('glob').setStyle('opacity', 1);
	$('tinyForm').setStyle('visibility', 'visible');
	
	var myEffect = new Fx.Morph('tinyForm', {duration: 'long', transition: Fx.Transitions.Sine.easeOut});
 	
	myEffect.start({
		'height': [50, finalSize.y], //Morphs the 'height' style from 10px to 100px.
		'width': [50, finalSize.x],  //Morphs the 'width' style from 900px to 300px.
		'margin-left': [-25, -250]
	});
	$('glob').tween('opacity', 0.5);
	$$('tinyForm *').setStyle('visibility', 'visible');

	
}





