// JavaScript Document

// --- Connexion d'un membre à son espace perso --- //
function connexion(f)
{
	if(f.login.value=="") { displayError(f, f.login, 'on', message.GetValue("message_form_con_login")); return; }
	if(f.passwd.value=="") { displayError(f, f.passwd, 'on', message.GetValue("message_form_con_pass")); return; }

	// On teste l'existance du compte
	var xhr_object = null;
	if(window.XMLHttpRequest)
		xhr_object = new XMLHttpRequest();
	else if(window.ActiveXObject)
		xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	else
		return;
	
	xhr_object.open("GET", "x-login.php?l="+f.login.value+"&p="+f.passwd.value, false);
	xhr_object.send(null); 
	
	if(xhr_object.readyState==4 && xhr_object.status==200)
	{
		if(xhr_object.responseText.indexOf("connection_accepted")==0)
		{
			document.location.replace('?action='+xhr_object.responseText.substr(21, xhr_object.responseText.length));
		}
		else
		{
			displayError(f, f.login, 'on', xhr_object.responseText); 
			f.login.value	= '';
			f.passwd.value	= '';
			f.login.focus();
		}
	}
}

// --- Déconnexion --- //
function deconnection(v)
{
	if(v=='yes')
		var agree=true;
	else
		var rez = displayConfirm("on", message.GetValue("message_form_deco_confirm"), "deconnection('yes')");	

	if(agree)
	{
		var xhr_object = null;
		if(window.XMLHttpRequest)
			xhr_object = new XMLHttpRequest();
		else if(window.ActiveXObject)
			xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
		else
			return;
		
		xhr_object.open("GET", "x-logout.php", false);
		xhr_object.send(null); 

		if(xhr_object.readyState==4 && xhr_object.status==200)
			document.location.replace('.');
	}
}

// --- Suppression d'un fichier --- //
function suppTmpAvatar(file, ret)
{
	if(ret==0)
		var rez = displayConfirm("on", message.GetValue("message_form_suppFile_confirm"), "suppTmpAvatar('"+file+"', 1)");
	else
	{
		loading();
		var xhr_object = null;
		if(window.XMLHttpRequest)
			xhr_object = new XMLHttpRequest();
		else if(window.ActiveXObject)
			xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
		else
			return;
		
		xhr_object.open("GET", "x-remove_temp_avatar.php", false);
		xhr_object.send(null); 
		
		if(xhr_object.readyState==4 && xhr_object.status==200)
			location.reload();
	}
}

// --- Suppression d'un fichier --- //
function suppAvatar()
{
	//loading();
	var xhr_object = null;
	if(window.XMLHttpRequest)
		xhr_object = new XMLHttpRequest();
	else if(window.ActiveXObject)
		xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	else
		return;
	
	xhr_object.open("GET", "x-remove_avatar.php", false);
	xhr_object.send(null); 
	
	if(xhr_object.readyState==4 && xhr_object.status==200)
		location.reload();
}

// --- Aperçu d'une image --- //
function viewImage(t)
{
	document.getElementById('popup_1').style.display="block";
	document.getElementById("popup_1").style.top="250px"
	document.getElementById("popup_1").style.left=((window.screen.availWidth-200)/2)+"px";
	document.getElementById("popup_1").style.width="200px";
	document.getElementById("zoom_image").innerHTML="<div align='center'><img src='"+t+"' height='150px' /></div>";
}

// --- Réinitialisation de formulaire d'inscription --- //
function InitForm(ret)
{
	if(ret==0)
		var rez = displayConfirm("on", message.GetValue("message_form_insc_init"), "InitForm(1)");
	else
	{
		loading();
		
		document.inscription.reset();
		
		var xhr_object = null;
		if(window.XMLHttpRequest)
			xhr_object = new XMLHttpRequest();
		else if(window.ActiveXObject)
			xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
		else
			return;
		
		xhr_object.open("GET", "x-remove_temp_avatar.php", false);
		xhr_object.send(null); 
		
		var xhr_object = null;
		if(window.XMLHttpRequest)
			xhr_object = new XMLHttpRequest();
		else if(window.ActiveXObject)
			xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
		else
			return;
		
		xhr_object.open("GET", "x-init_form.php", false);
		xhr_object.send(null); 
		
		if(xhr_object.readyState==4 && xhr_object.status==200)
			location.reload();
	}
}

// --- Validation de l'inscription --- //
function checkInscription(step)
{
	var f = document.inscription;

	if(step==1)
	{
		/****  Etape 1 ****/
		
		if(f.user_civ.value=="")			{ displayError(f, f.user_civ, 'on', message.GetValue("message_form_insc_civ")); return; }
		if(f.user_name.value=="")			{ displayError(f, f.user_name, 'on', message.GetValue("message_form_insc_nom")); return; }
		if(f.user_first_name.value=="")		{ displayError(f, f.user_first_name, 'on', message.GetValue("message_form_insc_prenom")); return; }
		
		// Gestion de la date de naissance //
		if(f.user_birthday_1.value=="" || f.user_birthday_2.value=="" || f.user_birthday_3.value=="")
		{
			displayError(f, f.user_first_name, 'on', message.GetValue("message_form_insc_date_naiss")); return;
		}
		else
		{
			if(parseInt(f.user_birthday_2.value, 10)>12) { displayError(f, f.user_birthday_2, 'on', message.GetValue("message_form_insc_dt_mois")); return; }
			
			if(isBissextile(f.user_birthday_3.value)) { var nb_jour_fevrier = 29; } else { var nb_jour_fevrier = 28; }
			
			switch(f.user_birthday_2.value)
			{
				case "1":
				case "3":
				case "5":
				case "3":
				case "7":
				case "8":
				case "10":
				case "12":
					if(parseInt(f.user_birthday_1.value, 10)>31) { displayError(f, f.user_birthday_1, 'on', message.GetValue("message_form_insc_dt_jour")); return; }
					break;
				
				case "4":
				case "6":
				case "9":
				case "11":
					if(parseInt(f.user_birthday_1.value, 10)>30) { displayError(f, f.user_birthday_1, 'on', message.GetValue("message_form_insc_dt_jour")); return; }
					break;
					
				case "2":
					if(parseInt(f.user_birthday_1.value, 10)>nb_jour_fevrier) { displayError(f, f.user_birthday_1, 'on', message.GetValue("message_form_insc_dt_jour")); return; }
			}
			
			var d1 = f.user_birthday_1.value+"/"+f.user_birthday_2.value+"/"+f.user_birthday_3.value;
			
			var ma_date = new Date();
			
			if(ma_date.getDate()<10) { var mon_jour="0"+ma_date.getDate(); } else { var mon_jour=ma_date.getDate(); }
			if((ma_date.getMonth()+1)<10) { var mon_mois="0"+(ma_date.getMonth()+1); } else { var mon_mois="0"+(ma_date.getMonth()+1); }
			
			var d2 = mon_jour+"/"+mon_mois+"/"+ma_date.getFullYear();
			
			if(compareDate(d1, d2)==1) { displayError(f, f.user_birthday_1, 'on', message.GetValue("message_form_insc_dt_ok")); return; }
		}
		
		if(f.user_first_email.value=="")	{ displayError(f, f.user_first_email, 'on', message.GetValue("message_form_insc_email_1")); return; }
		if(f.user_lng.value=="")			{ displayError(f, f.user_lng, 'on', message.GetValue("message_form_insc_lng")); return; }
		
		if(!f.user_cgv.checked) { displayError(f, f.user_lng, 'on', message.GetValue("message_form_insc_cgv")); return; }
	}
	else if(step==2)
	{
		/****  Etape 2 ****/

		if(f.user_pseudo.value=="")			{ displayError(f, f.user_pseudo, 'on', message.GetValue("message_form_insc_pseudo")); return; }
		
		// Le pseudo est-il disponible ? //
		var xhr_object = null;
		if(window.XMLHttpRequest)
			xhr_object = new XMLHttpRequest();
		else if(window.ActiveXObject)
			xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
		else
			return;
		
		xhr_object.open("GET", "x-check_pseudo_availability.php?val="+f.user_pseudo.value, false);
		xhr_object.send(null); 
		
		if(xhr_object.readyState!=4 || xhr_object.status!=200 || xhr_object.responseText!=0)
		{
			displayError(f, f.user_pseudo, 'on', message.GetValue("message_form_insc_pseudo_nok"));
			f.user_pseudo.value = '';
			return;
		}
		
		if(f.user_password.value=="")						{ displayError(f, f.user_password, 'on', message.GetValue("message_form_insc_passwd")); return; }
		if(f.user_password_2.value=="")						{ displayError(f, f.user_password_2, 'on', message.GetValue("message_form_insc_passwd_bis")); return; }
		if(f.user_password.value.length<6) 					{ displayError(f, f.user_password, 'on', message.GetValue("message_form_insc_passwd_l")); return; }
		if(f.user_password.value!=f.user_password_2.value) 	{ displayError(f, f.user_password_2, 'on', message.GetValue("message_form_insc_passwd_diff")); return; }
	}
	else if(step==3)
	{
		/*** Etape 3 ***/
		var f = document.address;
		//if(f.ad_label.value=="")			{ displayError(f, f.ad_label, 'on', message.GetValue("message_form_insc_ad_label")); return; }
		if(f.ad_nom.value=="")				{ displayError(f, f.ad_nom, 'on', message.GetValue("message_form_insc_ad_nom")); return; }
		if(f.ad_rue.value=="")				{ displayError(f, f.ad_rue, 'on', message.GetValue("message_form_insc_ad_rue")); return; }
		if(f.ad_pays.value=="")				{ displayError(f, f.ad_pays, 'on', message.GetValue("message_form_insc_ad_pays")); return; }
		if(f.ad_cp.value=="")				{ displayError(f, f.ad_cp, 'on', message.GetValue("message_form_insc_ad_cp")); return; }
		if(f.ad_cp.value.length<4)			{ displayError(f, f.ad_cp, 'on', message.GetValue("message_form_insc_ad_cp2")); return; }
		if(f.account_add_city.value=="")	{ displayError(f, "", 'on', message.GetValue("message_form_insc_ad_ville")); return; }
	}
	else if(step==4)
	{
		/****  Etape 4 - Pour la modification ****/
		
		if(f.user_pseudo.value=="")							{ displayError(f, f.user_pseudo, 'on', message.GetValue("message_form_insc_pseudo")); return; }
		if(f.user_password.value!=f.user_password_2.value)	{ displayError(f, f.user_password_2, 'on', message.GetValue("message_form_insc_passwd_diff")); return; }
		
		f.action.value = 'user_update_connexion';
	}
	else if(step==5)
	{
		/****  Etape 5 - Pour la modification ****/

		if(f.user_civ.value=="")			{ displayError(f, f.user_civ, 'on', message.GetValue("message_form_insc_civ")); return; }
		if(f.user_name.value=="")			{ displayError(f, f.user_name, 'on', message.GetValue("message_form_insc_nom")); return; }
		if(f.user_first_name.value=="")		{ displayError(f, f.user_first_name, 'on', message.GetValue("message_form_insc_prenom")); return; }
		
		// Gestion de la date de naissance //
		if(f.user_birthday_1.value=="" || f.user_birthday_2.value=="" || f.user_birthday_3.value=="")
		{
			displayError(f, f.user_first_name, 'on', message.GetValue("message_form_insc_date_naiss")); return;
		}
		else
		{
			if(parseInt(f.user_birthday_2.value, 10)>12) { displayError(f, f.user_birthday_2, 'on', message.GetValue("message_form_insc_dt_mois")); return; }
			
			if(isBissextile(f.user_birthday_3.value)) { var nb_jour_fevrier = 29; } else { var nb_jour_fevrier = 28; }
			
			switch(f.user_birthday_1.value)
			{
				case "1":
				case "3":
				case "5":
				case "3":
				case "7":
				case "8":
				case "10":
				case "12":
					if(parseInt(f.user_birthday_1.value, 10)>31) { displayError(f, f.user_birthday_1, 'on', message.GetValue("message_form_insc_dt_jour")); return; }
					break;
				
				case "4":
				case "6":
				case "9":
				case "11":
					if(parseInt(f.user_birthday_1.value, 10)>30) { displayError(f, f.user_birthday_1, 'on', message.GetValue("message_form_insc_dt_jour")); return; }
					break;
					
				case "2":
					if(parseInt(f.user_birthday_1.value, 10)>nb_jour_fevrier) { displayError(f, f.user_birthday_1, 'on', message.GetValue("message_form_insc_dt_jour")); return; }
			}
			
			var d1 = f.user_birthday_1.value+"/"+f.user_birthday_2.value+"/"+f.user_birthday_3.value;
			
			var ma_date = new Date();
			
			if(ma_date.getDate()<10) { var mon_jour="0"+ma_date.getDate(); } else { var mon_jour=ma_date.getDate(); }
			if((ma_date.getMonth()+1)<10) { var mon_mois="0"+(ma_date.getMonth()+1); } else { var mon_mois="0"+(ma_date.getMonth()+1); }
			
			var d2 = mon_jour+"/"+mon_mois+"/"+ma_date.getFullYear();
			
			if(compareDate(d1, d2)==1) { displayError(f, f.user_birthday_1, 'on', message.GetValue("message_form_insc_dt_ok")); return; }
		}
		
		if(f.user_first_email.value=="")	{ displayError(f, f.user_first_email, 'on', message.GetValue("message_form_insc_email_1")); return; }
		if(f.user_lng.value=="")			{ displayError(f, f.user_lng, 'on', message.GetValue("message_form_insc_lng")); return; }
		
		f.action.value = 'user_update_infos_princ';
		
	}
	else if(step==6)
	{
		/****  Etape 6 - Pour la modification ****/
		// Pas de champs obligatoires
		f.action.value = 'user_update_infos_sec';
	}

	else { return; }	

	f.submit();
}

// --- Gestion des villes par pays --- //
function getCityList(country, zipcode, n)
{
	if(n==1)
		my_str = '';
	else
		my_str = '_2';
	
	if(country!="" && zipcode!="")
	{
		var xhr_object = null;
		if(window.XMLHttpRequest)
			xhr_object = new XMLHttpRequest();
		else if(window.ActiveXObject)
			xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
		else
			return;
		
		xhr_object.open("GET", "x-list_city.php?id="+country+"&cp="+zipcode, false);
		xhr_object.send(null); 

		if(xhr_object.readyState==4 && xhr_object.status==200)
		{
			var res = xhr_object.responseText.replace("\r", "").replace("\n", "");
			//alert(xhr_object.responseText);
			if(res!="")
			{
				tab = res.split('_');
				str = '<table cellspacing="0" cellpadding="0">';
				for(i=0;i<tab.length;i++)
				{
					if(tab[i]!="")
					{
						t = tab[i].split('µ');
						
						str += '<tr>'+
									'<td>'+
										'<input type="radio" id="ville'+t[1]+'" name="choix_ville" onclick="ro(\'on\','+n+'); document.address.account_city_id'+my_str+'.value='+t[1]+'; document.address.account_add_city'+my_str+'.value=\''+t[0]+'\'" />'+
									'</td>'+
									'<td style="padding:4px 0 0 10px">'+
										t[0]+
									'</td>'+
								'</tr>';
					}
				}
				str += '<tr>'+
							'<td>'+
								'<input type="radio" name="choix_ville" onclick="ro(\'off\', '+n+'); document.address.account_city_id'+my_str+'.value=\'\';" />'+
							'</td>'+
							'<td style="padding:4px 0 0 10px"><span id="ro">'+
								'<input type="text" name="" readonly="readonly" size="28" maxlength="40" class="form1" onmouseover="this.className=\'form1_over\'" onmouseout="this.className=\'form1\'" onblur="document.address.account_add_city'+my_str+'.value=this.value" />'+
							'</span></td>'+
						'</tr></table>';
			}
			else
			{
				str='<input type="text" name="" size="35" maxlength="40" class="form1" onmouseover="this.className=\'form1_over\'" onmouseout="this.className=\'form1\'" onblur="document.address.account_add_city'+my_str+'.value=this.value; document.address.account_city_id'+my_str+'.value=\'\';" />';
			}
		}
	}
	else
	{
		str='<input type="text" name="" size="35" maxlength="40" class="form1" onmouseover="this.className=\'form1_over\'" onmouseout="this.className=\'form1\'" onblur="document.address.account_add_city'+my_str+'.value=this.value; document.address.account_city_id'+my_str+'.value=\'\';" />';
	}
	document.getElementById('span_list_ville'+my_str).innerHTML = str;
}

function ro(c,n)
{
	if(n==1)
		my_str = '';
	else
		my_str = '_2';

if(c=='on')
		document.getElementById("ro").innerHTML = '<input type="text" name="" readonly="readonly" size="28" class="form1" onmouseover="this.className=\'form1_over\'" onmouseout="this.className=\'form1\'" />';
	else
		document.getElementById("ro").innerHTML = '<input type="text" name="" size="28" maxlength="40" class="form1" onmouseover="this.className=\'form1_over\'" onmouseout="this.className=\'form1\'" onblur="document.address.account_add_city'+my_str+'.value=this.value" />';	
}

function removeAdress(id, ret)
{
	if(ret==0)
		var rez = displayConfirm("on", message.GetValue("message_form_suppAd_confirm"), "removeAdress("+id+", 1)");
	else
	{
		document.inscription.action.value="user_remove_address";
		document.inscription.submit();
	}
}

function getAddressInfo(id)
{	
	if(id=="new")
	{
		getCityList("", "", "");
		document.address.account_add_libelle.value 		= "";
		document.address.account_add_street.value 		= "";
		document.address.account_add_street_bis.value 	= "";
		document.address.account_add_pays.selectedIndex = 0;
		document.address.account_add_state.value 		= "";
		document.address.account_add_cp.value 			= "";
		document.address.account_city_name.value 		= "";
		document.address.account_id.value				= "";
	}
	else if(id!="" && id!="new")
	{
		var xhr_object = null;
		if(window.XMLHttpRequest)
			xhr_object = new XMLHttpRequest();
		else if(window.ActiveXObject)
			xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
		else
			return;

		xhr_object.open("GET", "x-get_address_details.php?id="+id, false);
		xhr_object.send(null); 
		
		var response = xhr_object.responseText;
		var tab = response.split("µ");

		getCityList(tab[3], tab[4], tab[7].replace("\r", "").replace("\n", ""));
		
		//document.address.account_id.value				= id;
		document.address.account_add_libelle.value 		= tab[0];
		document.address.account_add_street.value 		= tab[1];
		document.address.account_add_street_bis.value 	= tab[2];
		document.address.account_add_pays.selectedIndex = parseInt(tab[3]);
		document.address.account_add_cp.value 			= tab[4];
		document.address.account_add_state.value 		= tab[6];
		document.address.account_city_id.value 			= tab[7].replace("\r", "").replace("\n", "");
		document.address.account_add_city.value			= tab[7].replace("\r", "").replace("\n", "");
		document.address.account_city_name.value 		= tab[5];
	}
}

function updateAdress(f,n,id)
{
	if(n==1)
	{
		if(f.account_add_name.value=='') 		{ displayError(f, f.account_add_name, 'on', message.GetValue("message_form_insc_ad_nom")); return; }
		if(f.account_add_street.value=='') 		{ displayError(f, f.account_add_street, 'on', message.GetValue("message_form_insc_ad_rue")); return; }
		if(f.account_add_pays.value=='') 		{ displayError(f, f.account_add_pays, 'on', message.GetValue("message_form_insc_ad_pays")); return; }
		if(f.account_add_cp.value=='') 			{ displayError(f, f.account_add_cp, 'on', message.GetValue("message_form_insc_ad_cp")); return; }
		if(f.account_add_city.value=='')		{ displayError(f, f.account_add_city, 'on', message.GetValue("message_form_insc_ad_ville")); return; }
		
		f.num_ad.value=1;
	}
	else if(n==2)
	{
		if(f.account_add_name_2.value=='') 		{ displayError(f, f.account_add_name_2, 'on', message.GetValue("message_form_insc_ad_nom")); return; }
		if(f.account_add_street_2.value=='') 	{ displayError(f, f.account_add_street_2, 'on', message.GetValue("message_form_insc_ad_rue")); return; }
		if(f.account_add_pays_2.value=='') 		{ displayError(f, f.account_add_pays_2, 'on', message.GetValue("message_form_insc_ad_pays")); return; }
		if(f.account_add_cp_2.value=='') 		{ displayError(f, f.account_add_cp_2, 'on', message.GetValue("message_form_insc_ad_cp")); return; }
		if(f.account_add_city_2.value=='')		{ displayError(f, f.account_add_city_2, 'on', message.GetValue("message_form_insc_ad_ville")); return; }
		
		f.num_ad.value=2;
	}
	
	document.address.ad_id.value=id

	loading();
	f.submit();
}


function gestionAdresse(f, ad, id)
{
	if(ad==1)		// Adresse de livraison
	{
		if(document.address.type_1.value=="")	// On affiche le span
		{
			document.getElementById("ad_1_1").style.display = "none";
			document.getElementById("ad_1_2").style.display = "block";
			document.address.type_1.value="update";
		}
		else									// On fait la mise à jour
			updateAdress(document.address, 1, id);
	}
	else if(ad==2)	// Adresse de facturation
	{
		if(document.address.type_2.value=="")	// On affiche le span
		{
			document.getElementById("ad_2_1").style.display = "none";
			document.getElementById("ad_2_2").style.display = "block";
			document.address.type_2.value="update";
		}
		else									// On fait la mise à jour
			updateAdress(document.address, 2, id);
	}
}
