// JavaScript Document
function open_ext_link()
{
	var liens = document.getElementsByTagName('a');
	// On récupère tous les liens (<a>) du document dans une variable (un array), ici liens.

	for( var i = 0 ; i < liens.length ; i++) // Une boucle qui parcourt le tableau (array) liens du début à la fin.
	{
		if(liens[i].className == 'lien_ext') // Si les liens ont un nom de class égal à lien_ext, alors on agit.
		{
			liens[i].onclick = function() // Au clique de la souris.
			{
				window.open(this.href);
				return false; 

				// On ouvre une nouvelle page ayant pour URL le href du lien cliqué et on inhibe le lien réel.
			}
		}
	}
}
window.onload = open_ext_link;
// Au chargement de la page, on appelle la fonction.


/**********************************************************
Sleight for Backgrounds
Original code (c) 2001 Aaron Boodman, http://www.youngpup.net
This version (c) 2003 Drew McLellan, http://www.allinthehead.com
**********************************************************/
if (navigator.platform == "Win32" && navigator.appName == "Microsoft Internet Explorer" && window.attachEvent) {
	window.attachEvent("onload", alphaBackgrounds);
}

function alphaBackgrounds() {
	var rslt = navigator.appVersion.match(/MSIE (\d+\.\d+)/, '');
	var itsAllGood = (rslt != null && Number(rslt[1]) >= 5.5);
	for (i=0; i<document.all.length; i++) {
		var bg = document.all[i].currentStyle.backgroundImage;
		if (itsAllGood && bg) {
			if (bg.match(/\.png/i) != null) {
				var mypng = bg.substring(5,bg.length-2);
				document.all[i].style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+mypng+"', sizingMethod='scale')";
				document.all[i].style.backgroundImage = "url('/assets/images/x.gif')";
			}
		}
	}
}


// Replaces the currently selected text with the passed text.
//function replaceText(text, textarea){
function replaceText(text) {
	var textarea = document.forms['postmsg'].elements['comment'];
	if (typeof(textarea.caretPos) != "undefined" && textarea.createTextRange){ // Attempt to create a text range (IE).
		var caretPos = textarea.caretPos;

		caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
		caretPos.select();
	}else if (typeof(textarea.selectionStart) != "undefined"){ // Mozilla text range replace.
		var begin = textarea.value.substr(0, textarea.selectionStart);
		var end = textarea.value.substr(textarea.selectionEnd);
		var scrollPos = textarea.scrollTop;

		textarea.value = begin + text + end;

		if (textarea.setSelectionRange){
			textarea.focus();
			textarea.setSelectionRange(begin.length + text.length, begin.length + text.length);
		}
		textarea.scrollTop = scrollPos;
	}else{ // Just put it on the end.
		textarea.value += text;
		textarea.focus(textarea.value.length - 1);
	}
}

// Surrounds the selected text with text1 and text2.
//function surroundText(text1, text2, textarea) {
function surroundText(text1, text2) {
	var textarea = document.forms['postmsg'].elements['comment'];
	if (typeof(textarea.caretPos) != "undefined" && textarea.createTextRange) {// Can a text range be created?
		var caretPos = textarea.caretPos;

		caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text1 + caretPos.text + text2 + ' ' : text1 + caretPos.text + text2;
		caretPos.select();
	}else if (typeof(textarea.selectionStart) != "undefined") { // Mozilla text range wrap.
		var begin = textarea.value.substr(0, textarea.selectionStart);
		var selection = textarea.value.substr(textarea.selectionStart, textarea.selectionEnd - textarea.selectionStart);
		var end = textarea.value.substr(textarea.selectionEnd);
		var newCursorPos = textarea.selectionStart;
		var scrollPos = textarea.scrollTop;

		textarea.value = begin + text1 + selection + text2 + end;

		if (textarea.setSelectionRange) {
			if (selection.length == 0)
				textarea.setSelectionRange(newCursorPos + text1.length, newCursorPos + text1.length);
			else
				textarea.setSelectionRange(newCursorPos, newCursorPos + text1.length + selection.length + text2.length);
			textarea.focus();
		}
		textarea.scrollTop = scrollPos;
	}else{ // Just put them on the end, then.
		textarea.value += text1 + text2;
		textarea.focus(textarea.value.length - 1);
	}
}

// Validate the form of the guestbook
function validateForm() {

	var warning = "";
	var first = false;
		
	var form = document.forms['postmsg'];
	
	if (form.elements['name'].value.length == 0) {
		warning += "- votre nom.\n";
		first = form.elements['name'];
	}
	if (!form.elements['email'].value.match("[a-zA-Z0-9_\.]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$")) {
		warning += "- une adresse email valide.\n";
		if(!first) first = form.elements['email'];
	}
	if (form.elements['captcha'].value != document.getElementById("gotcha-captcha").alt) {
		warning += "- le code sur l'image.\n";
		if(!first) first = form.elements['captcha'];
	}
	if (form.elements['comment'].value.length == 0) {
		warning += "- un message.\n";
		if(!first) first = form.elements['comment'];
	}

	if (warning != "") {
		alert("Veuillez entrer:\n" + warning);
		first.select();
		return false;
	}else{
		return true;
	}
}

// Validate the form of the mailer
function validateFormMail() {

	var warning = "";
	var first = false;
		
	var form = document.forms['send_mail'];
	
	if (form.elements['fromname'].value.length == 0) {
		warning += "- votre nom.\n";
		first = form.elements['fromname'];
	}
	if (!form.elements['fromaddr'].value.match("[a-zA-Z0-9_\.]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$")) {
		warning += "- une adresse email valide.\n";
		if(!first) first = form.elements['fromaddr'];
	}
	if (form.elements['captcha'].value != document.getElementById("gotcha-captcha").alt) {
		warning += "- le code sur l'image.\n";
		if(!first) first = form.elements['captcha'];
	}
	if (form.elements['textdata'].value.length == 0) {
		warning += "- un message.\n";
		if(!first) first = form.elements['textdata'];
	}

	if (warning != "") {
		alert("Veuillez entrer:\n" + warning);
		first.select();
		return false;
	}else{
		return true;
	}
}