function is_int(mixed_var) {
	var y = parseInt(mixed_var * 1);

	if (isNaN(y)) {
		return false;
	}

	return mixed_var == y && mixed_var.toString() == y.toString(); 
}

function getXhr() {
	var xhr = null; 
	
	if(window.XMLHttpRequest) {
		xhr = new XMLHttpRequest(); 
	}
	else if(window.ActiveXObject) {
		try {
			xhr = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e) {
			xhr = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	else {
		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
		xhr = false; 
	} 
	
	return xhr
}

function rechercherProd() {
	var xhr = getXhr();
	var tag = document.getElementById('tag').value;
	var champ = document.getElementById('champ').value;
	
	xhr.onreadystatechange = function() {
		if(xhr.readyState == 4 && xhr.status == 200) {
			document.getElementById('listeProduit').innerHTML = xhr.responseText;
		}
	}
	
	xhr.open('GET','ajax.php?op=rechercherProd&tag='+escape(tag)+'&champ='+escape(champ),true);
	xhr.send(null);
}

function viewPanier(idpanier) {
	var xhr = getXhr();
	
	xhr.onreadystatechange = function() {
		if(xhr.readyState == 4 && xhr.status == 200) {
			document.getElementById('ajaxPanier').innerHTML = xhr.responseText;
		}
	}
	
	xhr.open('GET','ajax.php?op=viewPanier&idpanier='+escape(idpanier),true);
	xhr.send(null);
}

function verifRef(defaultRef) {
	var xhr = getXhr();
	var ref = document.getElementById('ref').value;
	
	if(ref != '' && ref != defaultRef) {
		xhr.onreadystatechange = function() {
			if(xhr.readyState == 4 && xhr.status == 200) {
				if(xhr.responseText == 'ok') {
					document.getElementById('infoProduit').innerHTML = '';
				}
				else {
					document.getElementById('infoProduit').innerHTML = 'Cette référence n\'est pas disponible, merci d\'en choisir une autre !';
				}
			}
		}
	}
	else {
		document.getElementById('infoProduit').innerHTML = '';
	}
	
	xhr.open('GET','ajax.php?op=verifRef&ref='+escape(ref),true);
	xhr.send(null);
}

function changeQuantite(idpanier,idproduit,quantite) {
	if(quantite >= 1) {
		var xhr = getXhr();
		
		xhr.onreadystatechange = function() {
			if(xhr.readyState == 4 && xhr.status == 200) {
				document.getElementById('ajaxPanier').innerHTML = xhr.responseText;
			}
		}
		
		xhr.open('GET','ajax.php?op=changeQuantite&idpanier='+escape(idpanier)+'&idproduit='+escape(idproduit)+'&quantite='+escape(quantite),true);
		xhr.send(null);
		
		majTxtPanier();
	}
}

function supprimerProd(idpanier,idproduit) {
	var xhr = getXhr();
	
	xhr.onreadystatechange = function() {
		if(xhr.readyState == 4 && xhr.status == 200) {
			document.getElementById('ajaxPanier').innerHTML = xhr.responseText;
		}
	}
	
	xhr.open('GET','ajax.php?op=supprimerProd&idpanier='+escape(idpanier)+'&idproduit='+escape(idproduit),true);
	xhr.send(null);
	
	majTxtPanier();
}

function changeImgProd(img,imgmoyenne) {
	document.getElementById('linkImageProduit').href = img;
	document.getElementById('ImageMoyenneProduit').src = imgmoyenne;
}

function deletePhoto(idphoto,idproduit) {
	var xhr = getXhr();
	
	xhr.onreadystatechange = function() {
		if(xhr.readyState == 4 && xhr.status == 200) {
			document.getElementById('photo_'+idphoto).style.display = 'none';
			
			if(xhr.responseText == '0 photo') {
				document.getElementById('listePhoto_'+idproduit).style.display = 'none';
			}
			else {
				document.getElementById('nombrePhoto_'+idproduit).innerHTML = xhr.responseText;
			}
		}
	}
	
	xhr.open('GET','photo.php?op=delete&idphoto='+escape(idphoto)+'&idproduit='+escape(idproduit),true);
	xhr.send(null);
}

function changeDefaut(idcritere) {
	var xhr = getXhr();
	
	xhr.onreadystatechange = function() {
		if(xhr.readyState == 4 && xhr.status == 200) {
			if(xhr.responseText == 'ok') {
				document.getElementById('defaut_'+idcritere).checked = true;
				document.getElementById('libelle_'+idcritere).style.fontWeight = 'bold';
			}
			else {
				document.getElementById('defaut_'+idcritere).checked = false;
				document.getElementById('libelle_'+idcritere).style.fontWeight = 'normal';
			}
		}
	}
	
	xhr.open('GET', 'ajax.php?op=changeDefaut&idcritere='+escape(idcritere), true);
	xhr.send(null);
}

var idFabDefaut = 0;
var fieldDefaut = '';
var orderDefaut = '';
var tagDefaut = '';

function updateListeProduit(idcat,idfab,field,order,tag,page) {
	var xhr = getXhr();
	var Url = '';
	var Filters = document.getElementsByName('critere');
	var AllFab = document.getElementsByName('allFab');
	
	if(idcat > 0) {
		Url += '&cat='+escape(idcat);
	}
	
	if(idfab > 0) {
		Url += '&idfab='+escape(idfab);
		idFabDefaut = idfab;
		
		for(i=0;i<=AllFab.length;i++) {
			if(A = AllFab[i]) {
				A.style.filter = "alpha(opacity=50)";
				A.style.MozOpacity = "0.5";
			}
		}
		
		if(document.getElementById('fab'+idfab)) {
			document.getElementById('fab'+idfab).style.filter = "alpha(opacity=100)";
			document.getElementById('fab'+idfab).style.MozOpacity = 1;
		}
	}
	
	if(field != '') {
		Url += '&field='+escape(field);
		fieldDefaut = field;
	}
	
	if(order != '') {
		Url += '&order='+escape(order);
		orderDefaut = order;
	}
	
	Url += '&tag='+escape(tag);
	tagDefaut = tag;
	Url += '&page='+escape(page);
	
	for(i=0;i<=Filters.length;i++) {
		if(F = Filters[i]) {
			if(F.value > 0) {
				Url += '&f[' + F.id.substr(6) + ']=' + F.value;
			}
		}
	}
	
	xhr.onreadystatechange = function() {
		if(xhr.readyState == 4 && xhr.status == 200) {
			document.getElementById('ListeProduit').innerHTML = xhr.responseText;
		}
		else {
			document.getElementById('ListeProduit').innerHTML = '<img src="./images/loading.gif" alt="" />';
		}
	}
	
	xhr.open('GET', './ajax.php?op=updateListeProduit'+Url, true);
	xhr.send(null);
}

function verifInt(number) {
	if(document.getElementById(number).value == "" || document.getElementById(number).value < 1) {
		document.getElementById(number).value = 1;
	}
	
	while(!is_int(document.getElementById(number).value)) {
		chaine = document.getElementById(number).value;
		chaine = chaine.substr(0, (chaine.length - 1));
		document.getElementById(number).value = chaine;
	}
}

function inputClick(inputID,defaut) {
	if(inputID == 'email' || inputID == 'password') {
		emailID = document.getElementById(inputID);
		current = emailID.value;
		
		if(current == defaut) {
			document.getElementById(inputID).value = '';
			
			if(inputID == 'password') {
				emailID.style.color = 'black';
				emailID.style.fontStyle = 'normal';
			}
		}
	}
}

function inputValue(inputID,defaut) {
	if(inputID == 'email' || inputID == 'password') {
		emailID = document.getElementById(inputID);
		current = emailID.value;
		
		if(current != '' && current != defaut) {
			emailID.style.color = 'black';
			emailID.style.fontStyle = 'normal';
		}
		else {
			emailID.type = 'text';
			emailID.style.color = 'grey';
			emailID.style.fontStyle = 'italic';
		}
	}
}

function trim(val) {
	var retour = ""
	for(i=0;i < val.length;i++)
		if(val.charAt(i) != " ") {
			retour += val.charAt(i)
		}
	return retour
}

function verifCompte() {
	updateProfilform = document.getElementById('updateProfilform');
	email = trim(document.getElementById('email').value);
	telephone = trim(document.getElementById('telephone').value);
	nom = trim(document.getElementById('nom').value);
	prenom = trim(document.getElementById('prenom').value);
	numrue = trim(document.getElementById('numrue').value);
	rue1 = trim(document.getElementById('rue1').value);
	codepostal = trim(document.getElementById('codepostal').value);
	ville = trim(document.getElementById('ville').value);
	
	if(email == '' || telephone == '' || nom == '' || prenom == '' || numrue == '' || rue1 == '' || codepostal == '' || ville == '') {
		return false;
	}
	
	return true;
}

function actionsAdmin(idpanier) {
	var xhr = getXhr();
	
	xhr.onreadystatechange = function() {
		jQuery.facebox(xhr.responseText);
	}
	
	xhr.open('GET','ajax.php?op=actionsAdmin&idpanier='+escape(idpanier),true);
	xhr.send(null);
}

function viewCB(idpanier) {
	var xhr = getXhr();
	
	xhr.onreadystatechange = function() {
		jQuery.facebox(xhr.responseText);
	}
	
	xhr.open('GET','ajax.php?op=viewCB&idpanier='+escape(idpanier),true);
	xhr.send(null);
}

function changeStatusPan(idpanier) {
	var xhr = getXhr();
	
	xhr.onreadystatechange = function() {
		jQuery.facebox(xhr.responseText);
	}
	
	xhr.open('GET','ajax.php?op=changeStatusPan&idpanier='+escape(idpanier),true);
	xhr.send(null);
}

function changeStatusPanierStep2(idpanier) {
	var statuspan = document.getElementById('statuspan').value;
	
	var xhr = getXhr();
	
	xhr.onreadystatechange = function() {
		if(xhr.readyState == 4 && xhr.status == 200) {
			actionsAdmin(idpanier);
		}
	}
	
	xhr.open('GET','ajax.php?op=changeStatusPanierStep2&idpanier='+escape(idpanier)+'&statuspan='+escape(statuspan),true);
	xhr.send(null);
}

function changePanier(idpanier) {
	var xhr = getXhr();
	
	xhr.onreadystatechange = function() {
		if(xhr.readyState == 4 && xhr.status == 200) {
			jQuery.facebox(xhr.responseText);
		}
	}
	
	xhr.open('GET','admin/ajax.php?op=changePanier&idpanier='+escape(idpanier),true);
	xhr.send(null);
}

function annulerPan(idpanier) {
	var xhr = getXhr();
	
	xhr.onreadystatechange = function() {
		if(xhr.readyState == 4 && xhr.status == 200) {
			jQuery.facebox('La commande a été annulée.');
			document.getElementById('panier_'+idpanier).style.display = 'none';
			setTimeout("$.facebox.close()", 2000);
		}
	}
	
	xhr.open('GET','ajax.php?op=annulerPan&idpanier='+escape(idpanier),true);
	xhr.send(null);
}

function verifCB() {
	banque = trim(document.getElementById('banque').value);
	nomporteur = trim(document.getElementById('nomporteur').value);
	numerocarte = trim(document.getElementById('numerocarte').value);
	moisexpiration = trim(document.getElementById('moisexpiration').value);
	anneeexpiration = trim(document.getElementById('anneeexpiration').value);
	codecvv2 = trim(document.getElementById('codecvv2').value);
	
	if(banque == "") {
		alert('Merci de bien vérifier le nom de votre banque émettrice');
		return false;
	}
	else {
		if(nomporteur == "") {
			alert('Merci de bien vérifier le nom du porteur de la carte');
			return false;
		}
		else {
			if(numerocarte == "") {
				alert('Merci de bien vérifier le numéro de la carte');
				return false;
			}
			else {
				if(codecvv2 == "") {
					alert('Merci de bien vérifier le code CVV2 de la carte (3 derniers chiffres au dos de la carte)');
					return false;
				}
				else {
					return true;
				}
			}
		}
	}
}

function lostPassword() {
	var xhr = getXhr();
	
	xhr.onreadystatechange = function() {
		if(xhr.readyState == 4 && xhr.status == 200) {
			jQuery.facebox(xhr.responseText);
		}
	}
	
	xhr.open('GET','pages/lost.php',true);
	xhr.send(null);
}

function lostPasswordEmail() {
	var xhr = getXhr();
	var email = document.getElementById('emaillost').value;
	
	xhr.onreadystatechange = function() {
		if(xhr.readyState == 4 && xhr.status == 200) {
			jQuery.facebox(xhr.responseText);
		}
	}
	
	xhr.open('GET','pages/lost.php?op=send&email='+escape(email),true);
	xhr.send(null);
}

function editPriceInLine(idprix) {
	document.getElementById('prixTD_'+idprix).style.display = 'none';
	document.getElementById('prixEdit_'+idprix).style.display = 'block';
}

function saveEditPrice(idprix) {
	var xhr = getXhr();
	var pricevalue = document.getElementById('prix_'+idprix).value;
	
	xhr.onreadystatechange = function() {
		if(xhr.readyState == 4 && xhr.status == 200) {
			if(xhr.responseText != 'erreur') {
				document.getElementById('prixTD_'+idprix).innerHTML = xhr.responseText;
				document.getElementById('prixTD_'+idprix).style.display = 'block';
				document.getElementById('prixEdit_'+idprix).style.display = 'none';
			}
		}
	}
	
	xhr.open('GET','ajax.php?op=savePrice&id='+escape(idprix)+'&value='+escape(pricevalue),true);
	xhr.send(null);
}

function viewAdminImportList() {
	if(document.getElementById('adminImportList').style.display == 'block') {
		document.getElementById('adminImportList').style.display = 'none';
	}
	else {
		document.getElementById('adminImportList').style.display = 'block';
	}
}
