
var ADRESS_VALID = 0;
var ADRESS_NOT_FOUND =  1;
var ADRESS_CORRECTED = 2;
var ADRESS_CHOICE = 3;
var payer_from_moniker = null; //si on revient du choix multiple d'adresse : remplir avec un tableau

var num_formulaire = 1; //numéro de formulaire : pour si on souhaite expédier l'abonnement à une autre adresse : par défaut le 1er

function payer_form_valid() {
	//temporary code
	//payer_verifier_adresse();
	//return false;
	//end temp code
	

	d = $('form_paiement');
	if(form_verif(d,chk_paiement_profil) != false) {
		cgv_check = $('cgv_check');
		if(cgv_check.checked == true) {
			payer_verifier_adresse();
		//	document.form_paiement.submit();
			return false;
		} else {
			alert("Vous devez accepter les conditions générales de vente pour passer commande.");
			return false;
		}
	}
	else {
		return false;
	}
}


payer_verifier_adresse = function() {
	if (window.console) {
		console.log('entering adress verif');
	}
	if (num_formulaire == 1) { 
		//return false; //to be removed
		var num_rue = $F('cd_num_rue_p');
		var comp_num = $F('cd_code_bis_p');
		var lib_rue = $F('cd_libelle_rue_p');
		var comp_adr = $F('cd_adresse_p');
		var comp_adr2 = $F('cd_adresse2_p');
		var cp = $F('cd_cp_p');
		var ville = $F('cd_libelle_commune_p');
	}
	else {  //on valide la deuxième adresse d'expédition
		var num_rue = $F('cd_num_rue');
		var comp_num = $F('cd_code_bis');
		var lib_rue = $F('cd_libelle_rue');
		var comp_adr = $F('cd_adresse');
		var comp_adr2 = $F('cd_adresse2');
		var cp = $F('cd_cp');
		var ville = $F('cd_libelle_commune');
	}
	//var pays = 'FRX'; //statique
  var parm = 'num_rue='+num_rue+'%20'+comp_num+'&lib_rue='+lib_rue+'&comp_adr='+comp_adr+
             '&comp_adr2='+comp_adr2+'&cp='+cp+'&ville='+ville;
 //scriptaculous ajax
  new Ajax.Request('/ajax/verif_adress.php', {parameters:parm, onSuccess:payer_verifier_adresse_retour, onFailure:payer_ajax_err});
  //return false;
}
payer_ajax_err = function(t) {
		 $('payer_btn_valid').stopWaiting();
    alert('Error ' + t.status + ' -- ' + t.statusText);
}

payer_verifier_adresse_retour = function(t) {
  var txt = t.responseText;
	if (window.console) console.log('retour payer_verifier_adresse :\n'+txt);
//	$('loading_btn').style.display = 'none';
//	$('btn_valid_img').src = 'imgs/panier/je-regle-ma-commande.gif'
//  alert(txt);
	var datas = txt.split(/\n/g);
	var retcode = datas[0];
	var retdata = new Array();
	var n = 0;
	for (i = 1; i < datas.length; i++) {
			if (datas[i] && !isEmpty(datas[i])) {
				retdata[n++] = datas[i];
			}
	}
	if (window.console) console.log('retour payer_verifier_adresse retcode = '+retcode);
	if (window.console) console.log('retour payer_verifier_adresse raw data = '+retdata);
	var popup = false;
	
	switch(parseInt(retcode)) {
		case ADRESS_CORRECTED:
			var btn = $('payer_btn_valid_link');
			btn.rel = 'lightbox';
			btn.href = 'myfakehtmlfile.html'; //tout sauf des extensions images GIF, jpeg, ...
		
			myLightbox.start(btn);
			myLightbox.resizeHtmlContainer(340, 320); 
			btn.href = 'javascript:void(0)'; //obligatoire pour ne pas recharger la page et pourvoir ré-utiliser lightbox
			btn.rel = '';
			myLightbox.onEndFunction = payer_form_confirm_click_ok;
			
			payer_make_form_confirm(retdata);
			break;
		case ADRESS_CHOICE:
			var btn = $('payer_btn_valid_link');
			btn.rel = 'lightbox';
			btn.href = 'myfakehtmlfile.html'; //tout sauf des extensions images GIF, jpeg, ...
		
			myLightbox.start(btn);
			myLightbox.resizeHtmlContainer(340, 320); 
			btn.href = 'javascript:void(0)'; //obligatoire pour ne pas recharger la page et pourvoir ré-utiliser lightbox
			btn.rel = '';
			myLightbox.onEndFunction = payer_form_choice_click_ok;

			payer_make_form_choice(retdata);
			break;
		case ADRESS_NOT_FOUND:
			var btn = $('payer_btn_valid_link');
			btn.rel = 'lightbox';
			btn.href = 'myfakehtmlfile.html'; //tout sauf des extensions images GIF, jpeg, ...
		
			myLightbox.start(btn);
			myLightbox.resizeHtmlContainer(340, 320); 
			btn.href = 'javascript:void(0)'; //obligatoire pour ne pas recharger la page et pourvoir ré-utiliser lightbox
			btn.rel = '';
			myLightbox.onEndFunction = payer_form_confirm_click_ok;
			
			payer_make_form_confirm();
			break;
		default:
				if (window.console) console.log('payer_verifier_adresse_retour adresse OK ou invérifiable on envoie le formulaire');
				
				//document.form_paiement.submit();
				$('form_coord').submit();
				return true; //adresse ok du premier coup ou erreur : on continue
			break;
	}
	
	return false;
}

payer_make_form_confirm = function(data){
		if (window.console) console.log('payer_make_form_confirm start');
		var target = $('lb_form_container');	
		
		var address_not_found = false;
		
		//par défaut les données recues le sont à la norme AFNOR
		var labels = new Array();
		labels[0] = 'AFNOR'; //jamais affiché : RAISON SOCIALE ou DENOMINATION
		labels[1] = ''; //IDENTITE DU DESTINATAIRE et/ou SERVICE : pas corrigé ici
		labels[2] = 'Complément d\'adresse'; //ENTREE-BATIMENT-IMMEUBLE-RES-ZI
		labels[3] = 'Numéro';
		labels[4] = 'Complément du numéro';
		labels[5] = 'Rue';
		labels[6] = 'Code postal';
		labels[7] = 'Ville';
		if (data == undefined) {
			if (payer_from_moniker != null) { //on réutilise les données d'un résultat précedent
				//on remet les données en forme comme s'il provenait de la saisie normale pour garder le meme formulaire
				var data = new Array();
				data[0] = ' |||AFNOR Ligne1 '; //on laisse les espace avant et après pour MSIE
				data[1] = ' ||| Complément 1';
				data[2] = ' ||| Complément 2';
				data[3] = payer_from_moniker[0].strip() + ' ||| Num';
				data[4] = ' ||| BIS'; //complément du numéro vide ici
				data[5] = payer_from_moniker[1].strip().toUpperCase() + ' ||| Rue';
				data[6] = payer_from_moniker[2].strip() + ' ||| CP';
				data[7] = payer_from_moniker[3].strip().toUpperCase() + ' ||| Ville';
			}
			else {
				//pas de données, on prend les données directement dans le form pour les recopier
				//le cas se présente si on tape une adresse inconnue mais semblant valide
				if (window.console) console.log('payer_make_form_confirm no data, taking them from the form');
				address_not_found = true;
				//on utilise le formulaire le plus adapté : si on souhaite offrir la commande a qqq1 d'autre
				if (num_formulaire == 1) { 
					//return false; //to be removed
					var num_rue = $F('cd_num_rue_p');
					var comp_num = $F('cd_code_bis_p');
					var lib_rue = $F('cd_libelle_rue_p');
					var comp_adr = $F('cd_adresse_p');
					var comp_adr2 = $F('cd_adresse2_p');
					var cp = $F('cd_cp_p');
					var ville = $F('cd_libelle_commune_p');
				}
				else {  //on valide la deuxième adresse d'expédition
					var num_rue = $F('cd_num_rue');
					var comp_num = $F('cd_code_bis');
					var lib_rue = $F('cd_libelle_rue');
					var comp_adr = $F('cd_adresse');
					var comp_adr2 = $F('cd_adresse2');
					var cp = $F('cd_cp');
					var ville = $F('cd_libelle_commune');
				}
				

				//on remet les données en forme comme s'il provenait de la suggestion
				//laisser les espaces pour que le split fonctionne dans IE, on fait un trim plus bas
				var data = new Array();
				data[0] = ' |||AFNOR Ligne1';
				data[1] = comp_adr + ' ||| Complément 1';
				data[2] = comp_adr2 + ' ||| Complément 2';
				data[3] = num_rue + ' ||| Numéro';
				data[4] = comp_num + ' ||| Bis';
				data[5] = lib_rue + ' ||| Rue';
				data[6] = cp + ' ||| CP';
				data[7] = ville + ' ||| Ville';
			}
		}

		if (!target) {
			if (window.console) console.log('payer_make_form_confirm target is not defined, exiting');
			return false;
		}
		
		var div = document.createElement('DIV');
		if (window.console) console.log('payer_make_form_confirm div created');
		div.className = 'lb_form_confirm';
		
		var html = '<div style="font-size: 12px;"><strong>Contrôle de l\'adresse </strong><br>';
		if (address_not_found == true) {
			html += 'Votre adresse n\'a pas été reconnue. Merci de la vérifier';
		}
		else {
			html += 'Merci de vérifier l\'adresse ci dessous, et de la corriger si besoin';
		}
		html += '</div>';
		n = 0;

		if (window.console) console.log('payer_make_form_confirm data splitted, length='+data.length);
			
		//tous les champs sauf les 2 premier qui sont toujours vide ici : Raison social + nom du destinataire (AFNOR)
		var value = '';
		html += '<table width="100%" cellspacing="0" cellpadding="2" border="0">\n';
		html += '<tr>\n<td width="40%">\n';
		if (data[3]) { //numéro
				var lineData = data[3].split(/\|\|\|/g);		
				value = lineData[0];
		}
		else {
				value = '';
		}
		html += '<label>Numéro<br>\n' +
				'<input type="text" class="input_adr_conf" name="adr_conf_num" id="adr_conf_num" value="'+value.strip()+'" size="8"  style="width: 100px;" maxlength="4" onKeyUp="EWA.utils.fieldRemoveNonNumeric(this); EWA.utils.fieldLimitLength(this,4);"></label>\n';
		html += '</td>\n<td width="60%">\n';
		if (data[4]) { //Complément numéro
				var lineData = data[4].split(/\|\|\|/g);		
				value = lineData[0];
		}
		else {
				value = '';
		}
		html += '<label>Bis<br>\n' +
				'<input type="text" class="input_adr_conf" name="adr_conf_bis" id="adr_conf_bis" value="'+value.strip()+'" style="width: 50px;" maxlength="1" onkeyup="EWA.utils.fieldLimitLength(this,1);"></label>\n';
				
		html += '</td>\n</tr>\n';
		html += '<tr>\n<td colspan="2">\n';
		if (data[5]) { //Nom de la rue
				var lineData = data[5].split(/\|\|\|/g);		
				value = lineData[0];
		}
		else {
				value = '';
		}
		html += '<label>Nom de la rue<br>\n' +
				'<input type="text" class="input_adr_conf" name="adr_conf_rue" id="adr_conf_rue" value="'+value.strip()+'" onkeyup="EWA.utils.fieldToUpper(this);"></label>\n';
		html += '</td>\n</tr>\n';
		html += '<tr>\n<td colspan="2">\n';
		if (data[1]) { //Complément adresse
				var lineData = data[1].split(/\|\|\|/g);		
				value = lineData[0];
		}
		else {
				value = '';
		}
		html += '<label>Complément d\'adresse<br>\n' +
				'<input type="text" class="input_adr_conf" name="adr_conf_compl1" id="adr_conf_compl1" value="'+value.strip()+'"><br>\n';
		if (data[2]) { //Complément adresse ligne 2
				var lineData = data[2].split(/\|\|\|/g);		
				value = lineData[0];
		}
		else {
				value = '';
		}
		html += '<input type="text" class="input_adr_conf" name="adr_conf_compl2" id="adr_conf_compl2" value="'+value.strip()+'"></label><br>\n';
		
		html += '</td>\n</tr>\n';
		html += '<tr>\n<td colspan="2">\n';
		if (data[6]) { //Code postal
				var lineData = data[6].split(/\|\|\|/g);		
				value = lineData[0];
		}
		else {
				value = '';
		}
		html += '<label>Code Postal<br>\n' +
				'<input type="text" class="input_adr_conf" name="adr_conf_codepostal" id="adr_conf_codepostal" value="'+value.strip()+'"></label>\n';
		html += '</td>\n</tr>\n';
		html += '<tr>\n<td colspan="2">\n';
		if (data[7]) { //Ville
				var lineData = data[7].split(/\|\|\|/g);		
				value = lineData[0];
		}
		else {
				value = '';
		}
		html += '<label>Ville<br>\n' +
				'<input type="text" class="input_adr_conf" name="adr_conf_ville" id="adr_conf_ville" value="'+value.strip()+'" onkeyup="EWA.utils.fieldToUpper(this);"></label>\n';
		html += '</td>\n</tr>\n';
		html += '</table>';
			
		//}
		
		///if (window.console) console.log('payer_make_form_confirm html created : \n'+html);
	
		div.innerHTML = html;
	///	if (window.console) console.log('payer_make_form_confirm html put into div');
		target.appendChild(div);
		if (window.console) console.log('payer_make_form_confirm end');
	
}

payer_form_confirm_click_ok = function() {
	if (window.console) console.log('payer_form_confirm_click_ok start');
	
	//var inputs = $('lb_form_container').getElementsByTagName('input');

	var num = $F('adr_conf_num').strip();//inputs[0].value;
	var compnum = $F('adr_conf_bis').strip();
	var nomrue = $F('adr_conf_rue').strip();
	var compl = $F('adr_conf_compl1').strip();
	var comp2 = $F('adr_conf_compl2').strip();
	var cp = $F('adr_conf_codepostal').strip();
	var ville = $F('adr_conf_ville').strip();

	//on recopie les données dans le 1er form
	if (num_formulaire == 1) { 
		//return false; //to be removed
		$('cd_num_rue_p').value = num;
		$('cd_code_bis_p').value = compnum;
		$('cd_libelle_rue_p').value = nomrue;
		$('cd_adresse_p').value = compl;
		$('cd_adresse2_p').value = comp2;
		$('cd_cp_p').value = cp;
		$('cd_libelle_commune_p').value = ville;
	}
	else {  //on valide la deuxième adresse d'expédition
		$('cd_num_rue').value = num;
		$('cd_code_bis').value = compnum;
		$('cd_libelle_rue').value = nomrue;
		$('cd_adresse').value = compl;
		$('cd_adresse2').value = comp2;
		$('cd_cp').value = cp;
		$('cd_libelle_commune').value = ville;
	}
	
	

	myLightbox.onEndFunction = void(0); //pour que le lightbox refonctionne
	if (window.console) console.log('payer_form_confirm_click_ok end');
	if (window.console) console.log('payer_verifier_adresse_retour on envoie le formulaire');
//	document.form_paiement.submit();
	$('form_coord').submit();
}


payer_make_form_choice = function(data){
		if (window.console) console.log('payer_make_form_choice start');
		var target = $('lb_form_container');	
		//alert(data);
		if (!data) {
				if (window.console) console.log('payer_make_form_choice no data, exiting');
				return false;
		}
		if (!target) {
			if (window.console) console.log('payer_make_form_choice target is not defined, exiting');
			return false;
		}
		
		var div = document.createElement('DIV');
		if (window.console) console.log('payer_make_form_choice div created');
		div.className = 'lb_form_confirm';
		
		var html = 'L\'adresse saisie semble correspondre à plusieurs adresses possibles. <br>';
		html += 'Veuillez choisir parmis les adresses ci dessous : <br>';
		n = 0;
	//	var data = data.split(/\n/g);
		if (window.console) console.log('payer_make_form_choice data splitted, length='+data.length);
		for (var i = 0; i < data.length; i++) {
			if (data[i] && !isEmpty(data[i])) {
				if (window.console) console.log('payer_make_form_choice parsing data line '+ i);
				var lineData = data[i].split(/\|\|\|/g);
				var adrChoiceLabel = lineData[1];
				var adrChoiceCp = lineData[3];
				var moniker = lineData[0];
				if (adrChoiceLabel && !isEmpty(adrChoiceLabel)) {
					if (window.console) console.log('payer_make_form_choice appending radio to html for data line '+ i);
					html += '<input type="radio" class="input_adr_choice" name="adr_confirm[]" id="adr_confirm_'+n+'" value="'+moniker+'" onclick="payer_form_choice_refine(this.value, \''+adrChoiceLabel+'\', \''+adrChoiceCp+'\');">'+adrChoiceLabel+'<br>';
					n++;
				}
				
			}
		}
		
		if (window.console) console.log('payer_make_form_choice html created : \n'+html);
	//	html += '<input type="button" name="adr_confirm_submit" id="adr_confirm_submit" value="Ok"><br>'
		
		div.innerHTML = html;
		if (window.console) console.log('payer_make_form_confirm html put into div');
		target.appendChild(div);
		if (window.console) console.log('payer_make_form_confirm end');
		
		
}

/**
* Raffiner la recherche avec le p'tit nom du lieu choisi (moniker)
* Uniqquement pour les résultats multiples
*/
payer_form_choice_refine = function(moniker, adrLabel, adrCp)	 {
	if (window.console) console.log('payer_form_choice_refine start');
	//$('loading_btn').style.display = '';
	//$('btn_valid_img').src = 'imgs/panier/je-regle-ma-commande-att.gif' //loader
 	if (moniker && !isEmpty(moniker)) {
		if (window.console) console.log('payer_form_choice_refine on a un moniker='+moniker);
		var parm = 'moniker='+moniker;
		payer_from_moniker = new Array();
		var choiceData = adrLabel.split(/,/g);
		if (choiceData.length == 2) {
			if (window.console) console.log('payer_form_choice_refine on a choiceData.length == 2, adrLabel='+adrLabel);
			payer_from_moniker[0] = choiceData[0].replace(/\s(.*)$/g, ''); //le premier : numéro seul dans le cas choiceData.length == 2
			payer_from_moniker[1] = choiceData[0].replace(/^(\S*)\s/g, ''); //rue + complément adr
			payer_from_moniker[2] = adrCp;
			payer_from_moniker[3] =  choiceData[1]; //ville
		}
		if (choiceData.length == 3) {
			if (window.console) console.log('payer_form_choice_refine on a choiceData.length == 3, adrLabel='+adrLabel);
			payer_from_moniker[0] = choiceData[0]; //le premier : numéro + B ou T
			payer_from_moniker[1] = choiceData[1]; //rue + complément adr
			payer_from_moniker[2] = adrCp;
			payer_from_moniker[3] =  choiceData[2]; //ville
		}
		
	 //scriptaculous ajax
		new Ajax.Request('/ajax/verif_adress.php', {parameters:parm, onSuccess:payer_verifier_adresse_retour, onFailure:payer_ajax_err});
	}
	
	if (window.console) console.log('payer_form_choice_refine end');
}

payer_form_choice_click_ok = function() { //on ferme la box, elle se réouvrira si l'utilisateur ne corrige pas l'adresse
	if (window.console) console.log('payer_form_choice_click_ok start');
	
	//var inputs = $('lb_form_container').getElementsByTagName('input');
	
	myLightbox.onEndFunction = void(0); //pour que le lightbox refonctionne
	if (window.console) console.log('payer_form_choice_click_ok end');
}
