﻿// Afficher / Cacher
function afficheId(baliseId)
  {
  if (document.getElementById && document.getElementById(baliseId) != null)
    {
    document.getElementById(baliseId).style.visibility='visible';
    document.getElementById(baliseId).style.display='block';
    document.getElementById(baliseId).style.height='auto';
    }
  }

function cacheId(baliseId)
  {
  if (document.getElementById && document.getElementById(baliseId) != null)
    {
    document.getElementById(baliseId).style.visibility='hidden';
    document.getElementById(baliseId).style.display='none';
    document.getElementById(baliseId).style.height='1px';
    }
  }
  
 

// Ouverture des popup
var popup ;
function openPopup(url,largeur,hauteur,title){
	gauche=(screen.width-largeur)/2;
	haut=(screen.height-hauteur)/2;
	if (popup && !popup.closed) {popup.close();}
	popup=window.open(url,"","scrollbars=yes,status=no,width="+largeur+",height="+hauteur+",top="+haut+",left="+gauche);	
}

// Contrôle formulaire contact
function isControlElementOK(e, fieldsControl, isFieldOptional)
{
	if(!e.disabled)
	{
		if(!e.value)
		{
			if(isFieldOptional)
			{
				return true;
			}
			return false;
		}
		else
		{
			if(fieldsControl[e.name])
			{
				if(!fieldsControl[e.name].test(e.value))
				{
					return false;
				}
			}
			return true;
		}
	}
	return true;
}

function controlFields(fields, f, fieldsControl, isFieldOptional)
{
	var list = '';
	
	$each(fields, function(v, i){
		if($type(f.elements[i]) == "element")
		{
			if(!isControlElementOK(f.elements[i], fieldsControl, isFieldOptional))
			{
				list += '- '+v+'\n';
			}
		}
		else if($type(f.elements[i]) == "collection")
		{
			for(var j=0;j<f.elements[i].length;j++)
			{
				if(!isControlElementOK(f.elements[i][j], fieldsControl, isFieldOptional))
				{
					list += '- '+v+'\n';
				}
			}
		}
	})
	
	return list;
}

function submit_form(e)
{
	f = this;							
	var list = '', fieldsRequied = {}, fieldsOptional = {}, fieldsControl;

	fieldsControl = {
		'contact_telephone':/^[0-9]+$/,
		'contact_fax':/^[0-9]+$/
	};
	
	fieldsRequied = {
		'contact_nom':'Nom',
		'contact_adresse':'Adresse',
		'contact_codepostal':'Code Postal',
		'contact_ville':'Ville',
		'contact_prenom':'Prenom',
		'contact_pays':'Pays',
		'contact_email':'Email',
		'contact_telephone':'Telephone'
	};
	
	fieldsOptional = {
		'contact_telephone':'Telephone (ne contient que des chiffres)',
		'contact_fax':'Fax (ne contient que des chiffres)'
	};
	
	list += controlFields(fieldsRequied, f, fieldsControl, false);
	list += controlFields(fieldsOptional, f, fieldsControl, true);
	
	if(list != '')
	{
		new Event(e).stop();
		alert('Tous les champs doivent etre rempli correctement:\n'+list);
	}
}

function submit_form_parrain(e)
{
	f = this;							
	var list = '', fieldsRequied = {}, fieldsOptional = {}, fieldsControl;

	fieldsControl = {
		'contact_telephone':/^[0-9]+$/,
		'ami1_telephone':/^[0-9]+$/,
		'ami1_codepostal':/^[0-9]+$/
	};
	
	fieldsRequied = {
		'contact_nom':'Nom',
		'contact_prenom':'Prenom',
		'contact_adresse1':'Adresse 1',
		'contact_cp_ville':'Code postal et ville',
		'contact_email':'Email',
		'contact_telephone':'Telephone',
		
		'ami1_nom':'Premier ami : Nom',
		'ami1_prenom':'Premier ami : Prenom',
		'ami1_adresse':'Premier ami : Adresse',
		'ami1_codepostal':'Premier ami : Code postal',
		'ami1_ville':'Premier ami : Ville',
		'ami1_email':'Premier ami : Email',
		'ami1_telephone':'Premier ami : Telephone'
	};
	
	fieldsOptional = {
		'contact_telephone':'Telephone (ne contient que des chiffres)',
		'ami1_telephone':'Premier ami : Telephone (ne contient que des chiffres)',
		'ami1_codepostal':'Premier ami : Code postal (ne contient que des chiffres)'
	};
	
	list += controlFields(fieldsRequied, f, fieldsControl, false);
	list += controlFields(fieldsOptional, f, fieldsControl, true);
	
	if(list != '')
	{
		new Event(e).stop();
		alert('Tous les champs doivent etre remplis correctement:\n'+list);
	}
}

// Zoom  vignettes popups billards

