// JavaScript Document
function textlen(x,y){
  var thelength = x.value.length;
  document.form_saisie.nbcar.value=thelength;
}

function maxtext(x,y){
tempstr = x.value
  if(tempstr.length>y){
    x.value = tempstr.substring(0,y);
  }
  textlen(x,y);
  calculer_montant_base_ht() 
}
function calculer_montant_base_ht(){	
	if(document.form_saisie.nbcar !=null){
		document.form_saisie.nbcar.value = 	document.form_saisie.texte_annonce.value.length;
	}
	if(document.form_saisie.prix_forfait_texte.value!=null && document.form_saisie.prix_forfait_texte.value!="" && document.form_saisie.prix_forfait_texte.value!=0){
		if(document.form_saisie.is_descriptif!=null){
			if(document.form_saisie.is_descriptif.checked == true){
				document.form_saisie.montant_base_ht.value=document.form_saisie.prix_forfait_texte.value;
			}else{
				document.form_saisie.montant_base_ht.value=0
			}
		}else{
			document.form_saisie.montant_base_ht.value=document.form_saisie.prix_forfait_texte.value;
		}
  	}else if(document.form_saisie.prix_variable_texte.value!=null 
	   && document.form_saisie.prix_variable_texte.value!="" 
	   && document.form_saisie.nbcar.value!=null 
	   && document.form_saisie.nbcar.value!=""){
		
		document.form_saisie.montant_base_ht.value=decim2(document.form_saisie.prix_variable_texte.value * document.form_saisie.nbcar.value);
		//alert(document.form_saisie.prix_variable_texte.value + "\n" + document.form_saisie.nbcar.value + "\n" + (document.form_saisie.prix_variable_texte.value * document.form_saisie.nbcar.value));
	}else{
		document.form_saisie.montant_base_ht.value=0	
	}
	calculer_montant(document.form_saisie);
}
function choisir(v){
	document.form_saisie.choix_annonce.value=v;
}
function calculer_montant(f){
var montant=0;
if(f.choix_annonce.value=='image'){
	if(f.format_image[0].checked == true){
		montant = decim2(Number(montant) + Number(f.prix_image_format1.value));
	}else if(f.format_image[1].checked == true){
		montant = decim2(Number(montant) + Number(f.prix_image_format2.value));
	}else{
		montant = decim2(Number(montant) + Number(f.prix_image_format1.value));
		f.format_image[0].checked = true;
	}
}else if(f.choix_annonce.value=='texte'){
	montant = f.montant_base_ht.value;
	if(f.is_encadre!=null){
		if(f.is_encadre.checked == true){
			montant = decim2(Number(montant)  + Number(f.prix_encadre_couleur.value));
		}
	}
	if(f.is_logo_accole!=null){
		if(f.is_logo_accole.checked == true){
			montant = decim2(Number(montant) + Number(f.prix_logo.value));
		}
	}
}
if(f.is_domiciliation!=null){
	if(f.is_domiciliation.checked == true){
		montant = decim2(Number(montant) + Number(f.prix_domiciliation.value));
	}
}
if(f.is_parution_urgence!=null){
	if(f.is_parution_urgence.checked == true){
		montant = decim2(Number(montant) + Number(f.prix_parution_urgence.value));
	}
}
f.total_ht.value = montant;
f.tva.value = decim2(f.total_ht.value * 0);
f.total_ttc.value=decim2(Number(f.total_ht.value) + Number(f.tva.value));
f.montant_ttc_final.value=f.total_ttc.value;
//reduction de 15% si nécessaire + recalcul du montant final
if(f.mont_HT2!=null){
	f.mont_HT2.value = 	f.total_ht.value;
	f.mont_HT2_PROV.value = 	f.total_ht.value;
	//si is_agence existe
	if(f.is_agence != null){
		if(f.is_agence.checked == true){
			f.mont_HT2.value = 	decim2(f.mont_HT2.value * 0.850);
			f.mont_TVA2.value = decim2(f.mont_HT2.value * 0);
			f.mont_TTC2.value =decim2(Number(f.mont_HT2.value) + Number(f.mont_TVA2.value));
			f.montant_ttc_final.value=f.mont_TTC2.value;
			show("divagence");
		}else{
			hide("divagence");
		}
	}
}
return false;
}

function check_formulaire(f){
	//si il s'agit d'un agenda, ou d'un divers, et que la rubrique n'est pas renseignée, alors il faut faire une erreur*
	if(f.id_type_annonce.value == 3 || f.id_type_annonce.value == 4){
		if(f.id_rubrique != null){
			if(f.id_rubrique[f.id_rubrique.selectedIndex].value == ""){
				alert("You must choose a heading");
				f.id_rubrique.focus();
				return false;
			}
		}
	}
	
	
	if(f.id_type_annonce.value==4){
		if(f.date_debut_agenda != null){
			if(f.date_debut_agenda.value == "" ){
				alert("You must indicate a starting date");
				f.date_debut_agenda.focus();
				return false;
			}
			if(!isDate(f.date_debut_agenda.value)){
				alert("VYou must indicate a valid starting date");
				f.date_debut_agenda.focus();
				return false;
			}
		}
		
		if(f.date_fin_agenda != null){
			
			if(f.date_fin_agenda.value == "" ){
				alert("Vous must indicate a ending date");
				f.date_fin_agenda.focus();
				return false;
			}
			if(!isDate(f.date_fin_agenda.value)){
				alert("Vous must indicate a valid ending date");
				f.date_fin_agenda.focus();
				return false;
			}
		}
	}
	//si aucun choix
	if(f.choix_annonce.value=='' || f.choix_annonce.value==null){
		alert("You must choose an ad type.");
		return false;
	}
	if(f.choix_annonce.value=='image'){
		//vérifier qu'un titre a été fourni, si le type d'annonce = 2
		if(f.id_type_annonce.value == 1 && f.titre_annonce_image.value == ""){
			//B: Vérifier traduction : intitulé=titre ou corps ? poste=emploi ?//
			alert("You must give a title for the requested job.");
			f.titre_annonce_image.focus();
			return false;
		}
		//verifier qu'au moins un des deux cases est cochée
		if(f.format_image[0].checked == false && f.format_image[1].checked == false ){
			alert("You must choose a format among those provided.");
			f.format_image[0].focus();
			return false;
		}
	}

	if(f.choix_annonce.value=="texte" || f.choix_annonce.value==null || f.choix_annonce.value==""){
		
		if((f.id_type_annonce.value == 1 || f.id_type_annonce.value == 2) && f.titre_annonce_texte.value == ""){
			
			if(f.id_type_annonce.value == 1)
			{
				alert("You must give a title for the requested job.");
			}else{
				alert("You must write a title.");
			}
			f.titre_annonce_texte.focus();
			return false;
		}
		if(f.texte_annonce.value=="" && f.id_type_annonce.value != 4){
			alert("the text of your ad is empty");
			f.texte_annonce.focus();
			return false;
		}
	}
	/*controle des champs "client"*/
	if(f.civilite[0].checked == false && f.civilite[1].checked == false && f.civilite[2].checked == false){
		alert("You must indicate a civility.");
		f.civilite[0].focus();
		return false;
	}
	if(f.nom.value==""){
		alert("You must indicate your name.");
		f.nom.focus();
		return false;
	}
	if(f.prenom.value==""){
		alert("You must indicate your first name.");
		f.prenom.focus();
		return false;
	}
	if(f.adresse.value==""){
		alert("You must indicate your adress.");
		f.adresse.focus();
		return false;
	}
	if(f.code_postal.value==""){
		alert("You must indicate your postcode.");
		f.code_postal.focus();
		return false;
	}
	if(f.ville.value==""){
		alert("You must indicate your city code.");
		f.ville.focus();
		return false;
	}
	if(f.tel.value==""){
		alert("You must indicate your phone number.");
		f.tel.focus();
		return false;
	}
	if(f.fax.value==""){
		alert("You must indicate your fax number.");
		f.fax.focus();
		return false;
	}
	var strmail=f.email.value
	//return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
	if(strmail==""){
		alert("You must indicate your email.");
		f.email.focus();
		return false;
	}
	if(!isValidEmail(strmail)){
		alert("You must indicate a valid email adress.");
		f.email.focus();
		return false;		
	}
	if(f.accept_cond.checked == false){
		alert("in order to continue, you must accept the general conditions.");
		f.accept_cond.focus();
		return false;
	}

	return true;
}

function check_formulaire_admin(f){

	
if(f.date_parution != null){
			
			if(f.date_parution.value == "" ){
				alert("You must indicate a publishing date");
				f.date_parution.focus();
				return false;
			}
			if(!isDate(f.date_parution.value)){
				alert("You must indicate a valid publishing date (DD/MM/YYYY)");
				f.date_parution.focus();
				return false;
			}
}
	

if(f.id_type_annonce.value==4){
		if(f.date_debut_agenda != null){
			
			if(f.date_debut_agenda.value == "" ){
				alert("You must indicate a starting date");
				f.date_debut_agenda.focus();
				return false;
			}
			if(!isDate(f.date_debut_agenda.value)){
				alert("You must indicate a valid starting date (DD/MM/YYYY)");
				f.date_debut_agenda.focus();
				return false;
			}
		}
		
		if(f.date_fin_agenda != null){
			
			if(f.date_fin_agenda.value == "" ){
				alert("You must indicate a ending date");
				f.date_fin_agenda.focus();
				return false;
			}
			if(!isDate(f.date_fin_agenda.value)){
				alert("You must indicate a valid ending date (DD/MM/YYYY)");
				f.date_fin_agenda.focus();
				return false;
			}
		}
	}

	return true;
}
function decim2(nombre){
	return Math.round(nombre*100)/100
}
function isValidEmail(str) {
  var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
  return(filter.test(str));
}

function update_type_rub(champ,dsttype,dstrub){
	var t = champ[champ.selectedIndex].value;
	tt=t.split(",");
	dsttype.value = tt[0];
	dstrub.value=tt[1];
}
//////fonctions sur les divs
function show(divID) {

if (document.layers && document.layers[divID] != null){
	document.layers[divID].visibility = 'visible';
	document.layers[divID].display = '';
}else if (document.all){
	document.all[divID].style.visibility = 'visible';
	document.all[divID].style.display = '';
}else if (document.getElementById){
	document.getElementById(''+divID+'').style.visibility = 'visible';
	document.getElementById(''+divID+'').style.display = '';
}
}
function hide(divID) {

if (document.layers && document.layers[divID] != null){
	document.layers[divID].visibility = 'hidden';
	document.layers[divID].visibility = 'none';	
}else if (document.all){
	document.all[divID].style.visibility = 'hidden'; 
	document.all[divID].style.display = 'none';
}else if (document.getElementById){
	document.getElementById(''+divID+'').style.visibility = 'hidden';
	document.getElementById(''+divID+'').style.display = 'none';
}
}
 function isDate(d) {
     // Cette fonction permet de vérifier la validité d'une date au format jj/mm/aa ou jj/mm/aaaa
     // Par Romuald
     
     if (d == "") // si la variable est vide on retourne faux
         return false;
     
     e = new RegExp("^[0-9]{1,2}\/[0-9]{1,2}\/([0-9]{2}|[0-9]{4})$");
     
     if (!e.test(d)) // On teste l'expression régulière pour valider la forme de la date
         return false; // Si pas bon, retourne faux
  
     // On sépare la date en 3 variables pour vérification, parseInt() converti du texte en entier
     j = parseInt(d.split("/")[0], 10); // jour
     m = parseInt(d.split("/")[1], 10); // mois
     a = parseInt(d.split("/")[2], 10); // année
  
     // Si l'année n'est composée que de 2 chiffres on complète automatiquement
     if (a < 1000) {
         if (a < 89)    a+=2000; // Si a < 89 alors on ajoute 2000 sinon on ajoute 1900
         else a+=1900;
     }
  
     // Définition du dernier jour de février
     // Année bissextile si annnée divisible par 4 et que ce n'est pas un siècle, ou bien si divisible par 400
     if (a%4 == 0 && a%100 !=0 || a%400 == 0) fev = 29;
     else fev = 28;
  
     // Nombre de jours pour chaque mois
     nbJours = new Array(31,fev,31,30,31,30,31,31,30,31,30,31);
  
     // Enfin, retourne vrai si le jour est bien entre 1 et le bon nombre de jours, idem pour les mois, sinon retourn faux
     return ( m >= 1 && m <=12 && j >= 1 && j <= nbJours[m-1] );
 }
 
 //fonctions de validation du message.
 function validate(){
	var f = document.contact;
	if(f.nom.value == ""){
		alert("You must indicate your name");
		f.nom.focus();
		return false;
	}
	if(f.prenom.value == ""){
		alert("You must indicate your first name");
		f.prenom.focus();
		return false;
	}
	if(f.email.value==""){
		alert("You must indicate your email");
		f.email.focus();
		return false;
	}
	if(!isValidEmail(f.email.value)){
		alert("invalid email adress");
		f.email.focus();
		return false;
	}
	if(f.message.value==""){
		alert("You must indicate a message");
		f.message.focus();
		return false;
	}
	//f.submit();
	return true;
 }
 