function luhn_check(number) {
//<![CDATA[
 
  // Strip any non-digits (useful for credit card numbers with spaces and hyphens)
  var number=number.replace(/\D/g, '');
 
  // Set the string length and parity
  var number_length=number.length;
  var parity=number_length % 2;
 
  // Loop through each digit and do the maths
  var total=0;
  for (i=0; i < number_length; i++) {
    var digit=number.charAt(i);
    // Multiply alternate digits by two
    if (i % 2 == parity) {
      digit=digit * 2;
      // If the sum is two digits, add them together (in effect)
      if (digit > 9) {
        digit=digit - 9;
      }
    }
    // Total up the digits
    total = total + parseInt(digit);
  }

  
  // If the total mod 10 equals 0, the number is valid
  if (total % 10 == 0) {
    return true;
  } else {
    return false;
  }
}


function setter(){
	var  brand = document.getElementById('brand').value;
	if(brand.search(/iphone/i) != -1) {
		document.getElementById('model').value = ' ';		
		document.getElementById('model_label').style.display = 'none';
		document.getElementById('model_field').style.display = 'none';
	}
	else{
		document.getElementById('model').value = '';
		document.getElementById('model_label').style.display = 'inline';
		document.getElementById('model_field').style.display = 'inline';		
	}
}


function checkNokiaModel(value){
	if(value==''){
		document.getElementById('autrenokiamodel').style.display = 'block';
		document.getElementById('modelnokia').style.display = 'block';
	}
	else{
		document.getElementById('autrenokiamodel').style.display = 'none';
		document.getElementById('modelnokia').style.display = 'none';
	}
}






function select_model(marque) {
	var form = marque.form, brand = marque.value;
	var  operator = form.elements['operator'].value;
	if(brand.search(/iphone/i) != -1) {
		document.getElementById('model').value = ' ';		
		document.getElementById('model_label').style.display = 'none';
		document.getElementById('model_field').style.display = 'none';
	}
	else{
		document.getElementById('model_label').style.display = 'inline';
		document.getElementById('model_field').style.display = 'inline';		
		document.getElementById('model').value = '';	
	}
		
	if(brand.toLowerCase() == 'nokia') {
		if(form.elements['nokia_model'].value==''){
			document.getElementById('autrenokiamodel').style.display = 'block';
			document.getElementById('modelnokia').style.display = 'block';
		}
		form.elements['model'].style.display = 'none';
		form.elements['nokia_model'].style.display = 'block';
	} else {
		form.elements['model'].style.display = 'block';
		form.elements['nokia_model'].style.display = 'none';
		document.getElementById('autrenokiamodel').style.display = 'none';
		document.getElementById('modelnokia').style.display = 'none';
	}
}
function check_if_other(op) {
	var form = op.form, operator = op.value;
	var  brand = form.elements['brand'].value;
	
	
	if(operator == 'AM') {
		form.elements['other_operator'].style.display = 'block';
	} else {
		form.elements['other_operator'].style.display = 'none';
	}
}
function check_fields(form, stepx) {
	var errors = 'ERREURS:\n';
	with(form) {
		switch(stepx) {
			case 1:
			if(operator.value == 'Select'){
				errors += " - Sélectionner Opérateur\n";
			}
			if(model.style.display == 'block') {
				if(model.value == '') {
					errors += " - Erreur dans votre Modèle\n";
				}
			}
			if(brand.value.toUpperCase() == 'NOKIA' && nokia_model.value == ''){
				if(autrenokiamodel.value == ''){
					errors += " - Erreur dans votre Modèle Nokia\n";
				}
			}
			
			if(other_operator.style.display == 'block') {
				if(other_operator.value == '') {
					errors += " - Erreur dans votre Opérateur\n";
				}
			}
			break;
			case 2:
			if(imei.value == '') {
				errors += " - Erreur dans votre imei, veuillez rentrer les 15 premiers chiffres de votre numero Imei\n";
			} else if(!imei.value.isNumeric()) {
				errors += " - Erreur dans votre imei, veuillez rentrer les 15 premiers chiffres de votre numero Imei\n";
			} else if(imei.value.length != 15) {
				errors += " - Erreur dans votre imei, veuillez rentrer les 15 premiers chiffres de votre numero Imei\n";
			}

			break;
			case 3:
			if(nom.value == '') {
				errors += " - Erreur dans votre nom\n";
			}
			if(prenom.value == '') {
				errors += " - Erreur dans votre prenom\n";
			}
			if(email.value == '') {
				errors += " - Vous devez mettre un email valide \n";
			} else if(!email.value.isValidEmail()) {
				errors += " - Vous devez mettre un email valide \n";
			}
			if(email.value.match(/@aol./)) {
				errors += " - Nous n`acceptons pas de commande avec une adresse email AOL, merci d`utiliser une autre adresse email. \n";
			}
			if(!cgv.checked) {
				errors += " - Vous devez accepter les conditions generales de ventes pour passer une commande.\n";
			}
			break;
			default:;
		}
	}
	if(errors != 'ERREURS:\n') {
		alert(errors);
		return false;
	}
	return true;
}