/**
 * Fonctions javascript du site
 */
 
 var isMozilla = (navigator.userAgent.toLowerCase().indexOf('gecko') != -1) ? true : false;
 var regexp = new RegExp("[\r]","gi");
 

function confirmDrop(funct, type, word)
{
	var ch = prompt('Êtes vous sur de vouloir ' + type + ' l\'élément? \r\nTapez "' + word + '" pour confirmer:');
	if(ch == word)
		eval(funct);
}

function dropNews(id)
{
	window.location = 'addBDD/scripts/news.php?id=' + id + '&ch=del';
}

function dropPage(id)
{
	window.location = 'addBDD/scripts/modify.php?id=' + id + '&ch=del';
}

function recovNews(id)
{
	window.location = 'addBDD/scripts/news.php?id=' + id + '&ch=rec';
}

/*
 * Cette fonction permet de tester que tout les champs du formulaire soit bien rempli.
 */
function valideForm(nameForm)
{
	var erreur = true;

	//declaration des variables
	nbElem = document.forms[nameForm].length;
	
	for(i = 0; i < nbElem; i++){
		var elem = document.forms[nameForm].elements[i];
		if(elem.id != '' && !elem.id.match(/opti_/))
		{
			if(elem.value != '')
			{
				colorInvalidForm(elem.id, 'good');
			}
			else
			{
				erreur = false;
				colorInvalidForm(elem.id, 'bad');
			}
			
			//On gère le cas de la page modify.php
			if(document.getElementById('choosePage') && document.getElementById('newPage'))
			{
				if(document.getElementById('choosePage').value == '' && document.getElementById('newPage').value == '') 
				{
					erreur = false;
					colorInvalidForm(document.getElementById('choosePage').id, 'bad');
					colorInvalidForm(document.getElementById('newPage').id, 'bad');
				}
				else
				{
					erreur = true;
					colorInvalidForm(document.getElementById('choosePage').id, 'good');
					colorInvalidForm(document.getElementById('newPage').id, 'good');
				}
			}
		}		
	}
	
	return erreur;
}

/*
 * Cette fonction permet d'éviter l'intrusion de caractere spéciaux pouvant engendrer dans piratage dans la BDD
 */
function ap(e)
{
	if(e.value != '')
	{
		if(e.value.match(/[\<\>\~\&\#\|\^\\\=\`\$\%\:\;\*\/]/))
		{
			alert('Pour des questions de sécurité, ces caractères sont interdit: <, >, ~, &, #, |, ^, \, =, `, $, %, :, ;, *, /');
			colorInvalidForm(e.id, 'bad');
			return e.value = '';
		}
		else
		{
			colorInvalidForm(e.id, 'good');
		}
	}
}

/*
 * Cette fonction permet de tester la validité d'une adresse mail
 */
function testMail(e)
{
	if(e.value != '')
	{
		if(!e.value.match(/^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$/i))
		{
			alert('Votre adresse mail n\'est pas valide');
			colorInvalidForm(e.id, 'bad');
			return e.value = '';
		}
		else
		{
			colorInvalidForm(e.id, 'good');
		}
	}
}

/*
 * Cette fonction permet de tester la validité des mot de passe.
 */
function testPasse(e)
{
	if(e.value != '')
	{
		if(e.value.match(/[\'\`\"\\\/\;]/))
		{
			alert('Votre mot de passe ne doit pas comporter les caractères suivant: \', `, ", \, /, ;');
			colorInvalidForm(e.id, 'bad');
			return e.value = '';
		}
		else
		{
			colorInvalidForm(e.id, 'good');
		}
	}
}

/*
 * Cette fonction permet de tester que les 2 mots de passes sont identiques.
 */
function valPasse(e)
{
	if(e.value != '' && document.getElementById('passe').value != '')
	{
		if(e.value != document.getElementById('passe').value)
		{
			alert('Ce mot de passe est différent de celui précédent.');
			colorInvalidForm(e.id, 'bad');
			return e.value = '';
		}
		else
		{
			colorInvalidForm(e.id, 'good');
		}
	}
}

function strMin (e, nb)
{
	if(e.value != '')
	{
		if(e.value.length < nb)
		{
			alert('Ce champs doit comporter au minimum '+nb+' caractères.');
			colorInvalidForm(e.id, 'bad');
			return e.value = '';
		}
		else
		{
			colorInvalidForm(e.id, 'good');
		}
	}
}

/*
 * Cette fonction permet de colorer les champs en fonction de si c'est valide ou non
 * 'bad' 	==> non valide
 * 'good' 	==> valide
 */
function colorInvalidForm(id, type){
	if(type == 'bad')
	{
		return document.getElementById(id).style.backgroundColor="#FFCC99";
	}
	else if(type == 'good')
	{
		return style = document.getElementById(id).style.backgroundColor="white";
	}
}

function differentInput(e, otherId)
{
	if(e.value != '' && document.getElementById(otherId).value != '')
	{
		alert('Erreur: Un seul champs des 2 champs doit être renseigné.');
		return e.value = '';
	}
}

function mail()
{
	window.location = 'mailto: k.auvinet@gmail.com';
}

function add_file(n)
{
    var el; 
    el = document.createElement('input'); 
    el.type = 'file'; 
    el.name = 'screens[]';
    el.size = '50';
    el.style.display = 'block'; 
    el.value = '';
    document.getElementById('target').appendChild(el);
}

function preload(o, img_src, w, h) 
{
	var img = new Image ();
	
	img.onload = function () 
	{
		o.onload = null;
		if (w) o.width  = w;
		if (h) o.height = h;
		o.src = img.src
	};
	
	img.src = img_src;
}
