
// default avant check
loadpage   = true ; // au loading d'un user enregistré on affiche ville enregistrée mais pas de reket vers get_city

check_date = false ;
check_hour = false ;
check_city = false ; 




function date_trig()  // modifie signe dépendant juste de date de  naissance  : zodiac, element, decan , chinois
{ 
 check_date = false ;
 
 day = document.account.day.value ;
 month = document.account.month.value ;
 year = document.account.year.value ;


 if ( (day != -1) && (month != -1) && (year != -1) ) {
	//alert('datezz ok') ;
	check_date = true ;
	
	day_st = day.toString();
	month_st = month.toString();
	year_st = year.toString();
	
//date = (year.concat(month));
//date = (date.concat(day));

 birth_date =  year + month + day ; // marche pas avec ce con de IE  ! donc =>
 
  //date =  (year_st + month_st + day_st) ; 
  
  /*
  date1 =  (year_st + month_st) ;
  alert( date1) ;
  date2 =  (date1 + day_st) ;
  alert( date2) ;
  */

 
  /*
  date_step1 = (year.concat(month));
  alert('day = ' + day ) ;
  date       = (date_step1 + day );
  */

// salert( birth_date) ;
	
	
   }



if(check_date == false) {
		document.account.sign_value.value = 'Indéterminé';
		
		document.account.element.value = 0;
		document.account.element_value.value = 'Indéterminé';
		
		document.account.decan.value = 0;
		document.account.decan_value.value = 'Indéterminé';
		
		//document.account.ascendant.disabled = true; // modifier juste appel ascendant_trig() ;
		
		document.account.sign_chinese.value = 0;
		document.account.sign_chinese_value.value = 'Indéterminé';


 } else  {
  
		 // alert(date) ; 
		document.account.sign_value.value = http_request("get.php?get=sign_name&with=date&value=" + birth_date );
		document.account.sign.value = http_request("get.php?get=sign_id&with=date&value=" + birth_date );
		
		document.account.element_value.value = http_request("get.php?get=sign_element_name&with=date&value="  + birth_date );
		document.account.element.value = http_request("get.php?get=sign_element_id&with=date&value=" + birth_date );
		
		document.account.decan_value.value = http_request("get.php?get=decan_name&with=date&value="  + birth_date );
		document.account.decan.value = http_request("get.php?get=decan_id&with=date&value=" + birth_date );
		
		document.account.sign_chinese_value.value = http_request("get.php?get=sign_chinese_name&with=date&value="  + birth_date );
		document.account.sign_chinese.value = http_request("get.php?get=sign_chinese_id&with=date&value=" + birth_date );

        }

ascendant_trig() ;
}


function hour_trig() { // check si heure de naissance définie

 check_hour = false ;

 hours = document.account.hours.value ;
 minutes = document.account.minutes.value ;

  if (  ( hours != -1)   && ( minutes != -1)    ) { 
       check_hour = true ;  
	   hour =  hours + minutes  ;
	   document.getElementById('unknowhour').checked = false ;
	   }

ascendant_trig()
}


function city_trig() { // propose choix de la bdd CarteDuCiel par rapport a ville indiqué dans city_birth

 check_city = false ; // a chaque change du chp birth_city  par user, ville non validé, doit etre confirmé par city_validate
 
  var ville = document.account.birth_city.value ;
  
  if( (ville != '') && (loadpage == false) ){ 
  var  suggest_ville = http_request("get_city.php?birth_city="  + ville );
  
	   visibilite('ascendant_select' , 'block') ;
	   document.getElementById("ascendant_select").innerHTML = suggest_ville;
	   
   } else {
	loadpage = false ; // au loading (user modif ), on affiche city_birth enregistrée mais pas les propositions de get_city.php
    }

}


function city_validate() { // valide un choix de la proposition de city_trig
	
	// alert('city_val');
	// value du <select> choisi choix pour requeter ascendant
	city_id = document.account.city_proposition.value ;
	
	// contenu du choix pour affichage  ds chp birth_city 
    city_name = document.getElementById('city_proposition').options[document.
	getElementById('city_proposition').selectedIndex].text ;
	
	document.account.birth_city.value = city_name ;
	document.account.birth_city_id.value = city_id ; // chp hidden
	visibilite('bout_city_birth' , 'none') ; // masque le bouton rechercher localité
	visibilite('ascendant_select' , 'none') ;
	
	check_city = true ;
	

	//result_city = 'city_id = ' + city_id + ' ,city_name = ' + city_name ;
	//alert(result) ;
	
    ascendant_trig() ;
	}



function ascendant_trig() { // verifie si tout infos necessaire pour calculer ascendant



// loading d' un user déja enregistré, on peut considérer la ville comme validé si birth_city_id défini en bdd
if( (document.account.birth_city_id.value != "" ) && (document.account.birth_city_id.value !=0) ){
	check_city = true ; 
	city_id = document.account.birth_city_id.value ;
	//alert('check_city = true');
	}


if(  (check_date == true ) && (check_hour == true ) && (check_city == true )  )
 {
	 
	 //alert('ok pour ascendant') ;
	 
	 rkt = "get_ascendant.php?mode=calculeascendant&journaiss=" + day  + "&moisnaiss=" + month + "&anneenaiss=" + year + "&heurenaiss=" + hours + "&minutenaiss=" + minutes + "&villenaiss=" + city_id  ;

					
     asc_name = http_request(rkt); // renvoit nom du signe
	 asc_id = http_request("get.php?get=sign_ascendant_id&name=" + asc_name );
	 document.account.ascendant_value.value= asc_name;
	 document.account.ascendant.value= asc_id;
	
	 } else {	 
	 document.account.ascendant_value.value = "" ; // on efface ascendant si nouvelle proposition ville
	 document.account.ascendant.value = "0" ;
	 }
	
	}



function visibilite(element , affichage ){ document.getElementById(element).style.display = affichage ;}

// au click sur ville, 'efface' le champ ville proposition , efface le txt area comme un reload page
function focus_city_birth(){ 

    result_city = '' ;
	check_city = false ;
	visibilite('ascendant_select' , 'none') ; // masque une liste de proposition précédente eventuellement
	visibilite('bout_city_birth' , 'inline') ; // affiche le bouton de validation pour la ville proposé
	document.account.birth_city.value = "" ;
	document.account.birth_city_id.value = "0" ;
	
	document.account.ascendant_value.value = "" ; // on efface ascendant si nouvelle proposition ville
	document.account.ascendant.value = "0" ;
	}






function unknow_hour_click(){
	if( document.getElementById('unknowhour').checked == true ){
	document.getElementById('hours').options[12].selected='true' ;
	document.getElementById('minutes').options[29].selected='true' ;
	hour_trig() ;
	} 
	else {  
	
	 if (  (  document.account.hours.value == -1)   || (  document.account.minutes.value == -1)    ) { 
		      document.getElementById('unknowhour').checked = 'true' ;
		  }
		 
		  
		 
	}
	
	}





//-------------------------------------------------------------
// -- old functions, plus utilisé a priori --- saquer ..

function update(type,skip)
{
	if (typeof(eval(skip)) == "undefined")
	{
		skip = 0;
	}

	switch (type)
	{
		case 'country' :

			if (document.account.country.value == 77)
			{
				document.account.department.disabled = false;
				document.account.region_value.disabled = false;
				document.account.region.disabled = false;
			}
			else
			{
				document.account.department.disabled = true;
				document.account.region_value.disabled = true;
				document.account.region.disabled = true;
			}

		break;

		case 'department' :
		
     //alert('case_department');
			
	document.account.region.value = http_request("get.php?get=region_id&with=department&value=" + document.account.department.value);
	document.account.region_value.value = http_request("get.php?get=region_name&with=department&value=" + document.account.department.value);
			
			

		break;

		case 'skip' :

			if (document.account.skip.checked == true)
			{
				document.account.hours.disabled = true;
				document.account.minutes.disabled = true;

				document.account.hours.value = -1;
				document.account.minutes.value = -1;
			}
			else
			{
				document.account.hours.disabled = false;
				document.account.minutes.disabled = false;
			}

			update('date',skip);

		break;

		case 'date' :

			document.account.sign.value = http_request("get.php?get=sign_id&with=date&value=" + document.account.year.value + document.account.month.value + document.account.day.value);

			if (document.account.sign.value == 0)
			{
				document.account.sign_value.value = 'Indéterminé';

				document.account.element.value = 0;
				document.account.element_value.value = 'Indéterminé';

				document.account.decan.value = 0;
				document.account.decan_value.value = 'Indéterminé';

				document.account.ascendant.disabled = true;

				document.account.sign_chinese.value = 0;
				document.account.sign_chinese_value.value = 'Indéterminé';
			}
			else
			{
				document.account.sign_value.value = http_request("get.php?get=sign_name&with=date&value=" + document.account.year.value + document.account.month.value + document.account.day.value);

				document.account.element.value = http_request("get.php?get=sign_element_id&with=date&value=" + document.account.year.value + document.account.month.value + document.account.day.value);

				if (document.account.element.value	== 0)
				{
					document.account.element_value.value = 'Indéterminé';
				}
				else
				{
					document.account.element_value.value = http_request("get.php?get=sign_element_name&with=date&value=" + document.account.year.value + document.account.month.value + document.account.day.value);
				}

				if (skip == 0)
				{
					 
					// chp hidden pour ascend
					/*
					document.account.ascendant.value = http_request("get.php?get=ascendant_id&with=user_data&value=" + document.account.year.value + document.account.month.value + document.account.day.value + "|" + document.account.hours.value + document.account.minutes.value + "|" + document.account.birth_country.value + "|" + document.account.birth_city.value);
					*/
					
					 //test recupére bien un id, probléme pour recupérer valeur voir su serveur
					
					var asc = http_request("get.php?get=ascendant_id&with=user_data&value=" + document.account.year.value + document.account.month.value + document.account.day.value + "|" + document.account.hours.value + document.account.minutes.value + "|" + document.account.birth_country.value + "|" + document.account.birth_city.value);
					
					
					if( 
					   (asc != 0) 
					&& (    ( document.account.birth_country.value == 77  )  // france
					     || ( document.account.birth_country.value == 24  )  // belgique
					     || ( document.account.birth_country.value == 208 ) // Suisse  , voir si on peut calculer pour autres pays
						)
					&& (document.account.unknowhour.checked == false )  // ne connais pas l'heure de naissance
					  )
					{
						//alert (asc)
				document.account.ascendant.value = asc ;
                document.account.ascendant_value.value = http_request("get_ascendant.php?sign=" + asc );
				//alert(document.account.country.value) ;
						
						}
						
					//if(document.account.country.value == 41){alert (document.account.country.value);}	
					
					
					
                   /*
					if (document.account.ascendant.value	== 0 )
					{
						document.account.ascendant.disabled = true;
					} else
					
					{ 
					   document.account.ascendant.disabled = false; 
					}
					*/
				
				
				
				}

				
				
				
				
				document.account.decan.value = http_request("get.php?get=decan_id&with=date&value=" + document.account.year.value + document.account.month.value + document.account.day.value);

				if (document.account.decan.value	== 0)
				{
					document.account.decan_value.value = 'Indéterminé';
				}
				else
				{
					document.account.decan_value.value = http_request("get.php?get=decan_name&with=date&value=" + document.account.year.value + document.account.month.value + document.account.day.value);
				}

				document.account.sign_chinese.value = http_request("get.php?get=sign_chinese_id&with=date&value=" + document.account.year.value + document.account.month.value + document.account.day.value);

				if (document.account.sign_chinese.value == 0)
				{
					document.account.sign_chinese_value.value = 'Indéterminé';
				}
				else
				{
					document.account.sign_chinese_value.value = http_request("get.php?get=sign_chinese_name&with=date&value=" + document.account.year.value + document.account.month.value + document.account.day.value);
				}
			}

		break;
	
		case 'announce' :

			max_length = 255;

			if (document.account.announce.value.length > max_length)
			{
				document.account.announce.value = document.account.announce.value.substr(0,max_length);
			}

		break;

		case 'preferred_country' :

			if (document.account.country.value == 77)
			{
				document.account.department.disabled = false;
				document.account.localization_type[0].disabled = false;

				document.account.region.disabled = false;
				document.account.localization_type[1].disabled = false;

				update('localization');
			}
			else
			{
				document.account.department.disabled = true;
				document.account.localization_type[0].disabled = true;

				document.account.region.disabled = true;
				document.account.localization_type[1].disabled = true;

				document.account.localization_type[2].checked = true;
			}

		break;

		case 'preferred_sign' :

			for (i=0;i<document.account.sign_type.length;i++)
			{
				if (document.account.sign_type[i].checked == true)
				{
					if (document.account.sign_type[i].value == 0)
					{
						document.getElementById("sign").disabled = true;

						document.account.element.disabled = true;
					}
					else if (document.account.sign_type[i].value == 1)
					{
						document.getElementById("sign").disabled = true;

						document.account.element.disabled = false;
					}
					else if (document.account.sign_type[i].value == 2)
					{
						document.getElementById("sign").disabled = false;

						document.account.element.disabled = true;
					}
				}
			}
		
		break;

		case 'preferred_localization' :

			for (i=0;i<document.account.localization_type.length;i++)
			{
				if (document.account.localization_type[i].checked == true)
				{
					if (document.account.localization_type[i].value == 0)
					{
						document.account.department.disabled = true;
						document.account.region.disabled = true;
					}
					else if (document.account.localization_type[i].value == 1)
					{
						document.account.department.disabled = true;
						document.account.region.disabled = false;
					}
					else if (document.account.localization_type[i].value == 2)
					{
						document.account.department.disabled = false;
						document.account.region.disabled = true;
					}
				}
			}

		break;
	}
}

function initialize(type)
{
	switch(type)
	{
		case 'day' :

			//alert('day');
			
			if (document.account.day.value == -1) document.account.day.value = "15";

			update('date');
			

		break;

		case 'month' :

			if (document.account.month.value == -1) document.account.month.value = "06";

			update('date');

		break;

		case 'year' :

			if (document.account.year.value == -1) document.account.year.value = "1970";

			update('date');

		break;

		case 'hours' :

			if (document.account.hours.value == -1) document.account.hours.value = "12";

			update('date');

		break;

		case 'minutes' :

			if (document.account.minutes.value == -1) document.account.minutes.value = "30";

			update('date');

		break;
	}
}

