/**
 *
 * Page de fonction Java Script commune au site.
 * Nous retrouverons les fonctions de control pour les formulaires de contact et du panier.
 */


function asToAs(input, value, replace)
{
	if(input.value == value)
	{
		input.value = replace;
	}
}


/**
 *
 * Fonction de validation de formulaire via son ID.
 */

function valid_form(form_id)
{
	frm = $(form_id);
	frm.submit();
}

/***/


function slideContent(div_id, action, value)
{
	if(action == 'del')
	{
		new Effect.Scroll(div_id, {x:(parseInt($(div_id).scrollLeft) - value), y:0, duration: 1.0});
		return false;
	}
	else
	{
		new Effect.Scroll(div_id, {x:(parseInt($(div_id).scrollLeft) + value), y:0, duration: 1.0});
		return false;
	}
	
	return false;
}


/***/


function SetOpacity(parent_id, attributeName, elmts_id)
{
	//boucle des jumo pour effacer
	var ss = $(parent_id);
	var divs = ss.getElementsByTagName('a');
	
	var i = 0;
	if(divs)
	{
		while (i <divs.length)
		{
			if(divs[i].id)
			{
				if($(divs[i].id).getAttribute(attributeName))
				{
					if(divs[i].id != elmts_id)
					{
						new Effect.Opacity(divs[i].id, {to: 0.0, from: 0.0, duration: 0.0});
					}
					else
					{
						new Effect.Opacity(divs[i].id, {to: 1.0, from: 1.0, duration: 0.0});
					}
				}
			}

		    i++;
		}
	}
}


/***/


function moveScrollToX(container, element)
{
	Position.prepare();
	container_x = Position.cumulativeOffset($(container))[0]
	element_x = Position.cumulativeOffset($(element))[0]
	new Effect.Scroll(container, {x:(element_x - container_x), y:0});
	
	return false;
}


/**
 *
 * Fonction de control de l'adresse email saisie.
 * Nous vérifions la nomenclature de l'email, via une expression régulière.
 */

function controlMail(input_id, empty_etat)
{
	var email_length = $(input_id).value.length;
	
	var email = $(input_id).value;
	var verif = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]{2,}[.][a-zA-Z]{2,3}$/
	
	
	if(email_length >= 1)
	{
		if (verif.exec(email) == null)
		{
			$(input_id).style.background = 'url(css/img/content/content.form.input.false.bg.gif) no-repeat top left';
			
			return false;
		}
		else
		{
			$(input_id).style.background = 'url(css/img/content/content.form.input.bg.gif) no-repeat top left';
			
			return true;
		}
	}
	else if(empty_etat == true)
	{
		$(input_id).style.background = 'url(css/img/content/content.form.input.false.bg.gif) no-repeat top left';
		
		return false;
	}
	else
	{
		$(input_id).style.background = 'url(css/img/content/content.form.input.bg.gif) no-repeat top left';
	}
}



/***/

function controlEmpty(input)
{
	var input_id = input.id;
	var value = $(input_id).value;
	var input_type = input.getAttribute('type');
	
	
	if(input_type == 'checkbox')
	{		
		if(input.checked == true)
		{
			return true;
		}
		else
		{
			if(input.getAttribute('phrase'))
			{
				var msg = input.getAttribute('phrase');
				
				alert(msg);
			}
			
			return false;
		}
	}
	else
	{
		if(value == '')
		{
			$(input_id).style.background = 'url(css/img/content/content.form.input.false.bg.gif) no-repeat top left';
			
			return false;
		}
		else
		{
			if(input.getAttribute('phrase'))
			{
				if($(input_id).value == input.getAttribute('phrase'))
				{
					$(input_id).style.background = 'url(css/img/content/content.form.input.false.bg.gif) no-repeat top left';
					
					return false;
				}
				else
				{
					$(input_id).style.background = 'url(css/img/content/content.form.input.bg.gif) no-repeat top left';
					
					return true;
				}
			}
			else
			{
				$(input_id).style.background = 'url(css/img/content/content.form.input.bg.gif) no-repeat top left';
				
				return true;
			}
		}
	}
}




/**
 *
 * Fonction de control total à la validation d'un formulaire.
 * Nous reprenons la totalité des fonctions citées plus haut et exécutons un control sur chaque élément voulu.
 */

function FormRequired(form_id)
{
	var msg = '';
	
	var submit = true;
	
	var ss = $(form_id);
	
	var inputs = ss.getElementsByTagName('textarea');
	//var msg = 'Tous les champs colorï¿½s doivent ï¿½tre mentionnï¿½.';
	
	var i = 0;
	if(inputs)
	{
		while (i < inputs.length)
		{
			if(inputs[i].getAttribute('required'))
			{
				if(controlEmpty(inputs[i]) == false)
				{
					var submit = false;
					
					msg += inputs[i].getAttribute('error') +"\r\n";
				}
			}

		   i++;
		}
	}
	
	/***/
	
	var inputs = ss.getElementsByTagName('input');
	//var msg = 'Tous les champs colorï¿½s doivent ï¿½tre mentionnï¿½.';
	
	var i = 0;
	if(inputs)
	{
		while (i < inputs.length)
		{
			input_type = inputs[i].getAttribute('type');
			
			if(inputs[i].getAttribute('required') && $(inputs[i].id).disabled == false)
			{
				if(controlEmpty(inputs[i]) == false)
				{
					var submit = false;
					
					msg += inputs[i].getAttribute('error') +"\r\n";
				}
				else
				{
					if(inputs[i].getAttribute('email'))
					{
						var reel_id = inputs[i].id;
						
						if(controlMail(reel_id, true) == false)
						{
							var submit = false;
					
							msg += inputs[i].getAttribute('error') +"\r\n";
						}
					}
				}
			}

		   i++;
		}
	}
	
	/***/
	
	if(!submit)
	{
		alert(msg);
	}
	else
	{
		ss.submit();
	}
}
