
/*
 * This function add an event listener on an object
 *
 * @param element
 * @param event
 * @param handler
 */
function addListener(element, event, handler)
{
	if (document.getElementById(element) != null)
	{
		if (document.getElementById(element).addEventListener)
			document.getElementById(element).addEventListener(event, handler, false);
		else if (document.getElementById(element).attachEvent)
			document.getElementById(element).attachEvent('on'+event,handler);
	}
	
	return;
}

/*
 * This function check if the value is not numeric
 *
 * @param value
 * @return boolean
 */
function isNumeric(value)
{
	return !isNaN(value);
	
	return;
}

/*
 * This function check if the value is a valid email
 *
 * @param value
 * @return boolean
 */
function isEmail(value)
{
	var regex = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9-]{2,}[.][a-zA-Z]{2,3}$/
	if (regex.exec(value) == null)
		return false;
	else
		return true;
	
	return;
}

//Functions called when the associating listener is getting information
function js_locationAccueil()
{
	document.location = 'accueil.html';
	
	return;
}

function js_formContact()
{
	var error = "";
	
	//Name
	if (document.getElementById('name').value == "")
	{
		error = "Veuillez indiquer votre nom et votre prénom";
		document.getElementById('name').style.borderColor = '#9b0000';
	}
	else if (error == "" && isNumeric(document.getElementById('name').value))
	{
		error = "Veuillez indiquer un nom et un prénom correct";
		document.getElementById('name').style.borderColor = '#9b0000';
	}
	else if (error == "")
		document.getElementById('name').style.borderColor = '#a3c17b';
	
	//Email
	if (error == "" && document.getElementById('email').value == "")
	{
		error = "Veuillez indiquer votre adresse email";
		document.getElementById('email').style.borderColor = '#9b0000';
	}
	else if (error == "" && !isEmail(document.getElementById('email').value))
	{
		error = "Veuillez indiquer un email correct";
		document.getElementById('email').style.borderColor = '#9b0000';
	}
	else if (error == "")
		document.getElementById('email').style.borderColor = '#a3c17b';
	
	//Object
	if (error == "" && document.getElementById('object').value == "")
	{
		error = "Veuillez indiquer l'objet de votre email";
		document.getElementById('object').style.borderColor = '#9b0000';
	}
	else if (error == "")
		document.getElementById('object').style.borderColor = '#a3c17b';
	
	//Message
	if (error == "" && document.getElementById('message').value == "")
	{
		error = "Veuillez indiquer votre message";
		document.getElementById('message').style.borderColor = '#9b0000';
	}
	else if (error == "")
		document.getElementById('message').style.borderColor = '#a3c17b';
	
	if (error != "")
	{
		alert(error);
		return false;
	}
	else
	{
		document.getElementById('form-contact').submit();
		return true;
	}
	
	return;
}

function js_formRetest()
{
	document.location = 'contact.html';
}

function js_formOk()
{
	document.location = 'contact.html';
}

function js_footer_php()
{
	var external = window.open('http://www.php.net', 'external');
	external.focus();
	
	return;
}

function js_footer_xhtml()
{
	var external = window.open('http://validator.w3.org/check?uri=www.le-developpeur-autodidacte.fr', 'external');
	external.focus();
	
	return;
}

function js_footer_css()
{
	var external = window.open('http://jigsaw.w3.org/css-validator/validator?uri=www.le-developpeur-autodidacte.fr', 'external');
	external.focus();
	
	return;
}

function js_footer_information()
{
	document.location = 'informations.html';
	
	return;
}

function js_footer_directory()
{
	document.location = 'annuaires.html';
	
	return;
}

function js_mon_cv()
{
	var external = window.open('download/private/Foucrier-Xavier_CV.pdf', 'external');
	external.focus();
	
	return;
}

function js_navigator_safari()
{
	var external = window.open('http://www.apple.com/fr/safari', 'external');
	external.focus();
	
	return;
}

function js_navigator_msie()
{
	var external = window.open('http://www.microsoft.com/france/windows/ie', 'external');
	external.focus();
	
	return;
}

function js_navigator_firefox()
{
	var external = window.open('http://www.mozilla-europe.org/fr/firefox', 'external');
	external.focus();
	
	return;
}

function js_navigator_chrome()
{
	var external = window.open('http://www.google.com/chrome/?hl=fr', 'external');
	external.focus();
	
	return;
}

function js_navigator_opera()
{
	var external = window.open('http://www.opera.com/browser/', 'external');
	external.focus();
	
	return;
}

function js_navigator_netscape()
{
	var external = window.open('http://browser.netscape.com/', 'external');
	external.focus();
	
	return;
}

function js_navigator_flock()
{
	var external = window.open('http://flock.com/', 'external');
	external.focus();
	
	return;
}

//Adding listener
addListener('card-top', 'click', js_locationAccueil);
addListener('form-post', 'click', js_formContact);
addListener('form-retest', 'click', js_formRetest);
addListener('form-ok', 'click', js_formOk);
addListener('php-powered', 'click', js_footer_php);
addListener('xhtml-valid', 'click', js_footer_xhtml);
addListener('css-valid', 'click', js_footer_css);
addListener('site-information', 'click', js_footer_information);
addListener('site-directory', 'click', js_footer_directory);
addListener('mon-cv', 'click', js_mon_cv);
addListener('safari-navigator', 'click', js_navigator_safari);
addListener('msie-navigator', 'click', js_navigator_msie);
addListener('firefox-navigator', 'click', js_navigator_firefox);
addListener('chrome-navigator', 'click', js_navigator_chrome);
addListener('opera-navigator', 'click', js_navigator_opera);
addListener('netscape-navigator', 'click', js_navigator_netscape);
addListener('flock-navigator', 'click', js_navigator_flock);
