/* --------------------- */
/* Fonctions spécifiques */
/* --------------------- */
function checkForm()
{
	var msg = "Les champs suivants sont obligatoires:\n";
		
	// Test champs vides
	if (document.getElementById("coupfrancecityprov").value == "")	
		msg += "- La ville de depart\n";
	if (document.getElementById("coupfrancedptprov").value == "")	
		msg += "- Le departement de depart\n";
	if (document.getElementById("coupfrancecitydest").value == "")	
		msg += "- La ville d'arrivee\n";
	if (document.getElementById("coupfrancedptdest").value == "")	
		msg += "- Le departement d'arrivee\n";
	if (document.getElementById("coupfrancekms").value == "")	
		msg += "- Les kilometres\n";
	if (document.getElementById("coupfrancedate").value == "")	
		msg += "- La date\n";
	
	// Si champ vide
	if (msg != "Les champs suivants sont obligatoires:\n")
	{
		alert(msg);
		return false;
	}
	// Sinon, test typages
	else
	{		
		msg = "Les erreurs suivantes ont ete rencontrees:\n";		
		
		// Kilometres
		if (isNaN(document.getElementById("coupfrancekms").value))
			msg += "- Le nombre de kilometres doit etre un nombre entier\n";
		if (!checkDate(document.getElementById("coupfrancedate").value))
			msg += "- Le format de la date est incorrect, utilisez le calendrier\n";
		
		
		// Si erreurs
		if (msg != "Les erreurs suivantes ont ete rencontrees:\n")
		{
			alert(msg);
			return false;
		}
		
		// Sinon tout est good
		else
		{
			document.getElementById("addFrance").submit();
		}
	}	
}

function checkForm2()
{
	var msg = "Les champs suivants sont obligatoires:\n";
		
	// Test champs vides
	if (document.getElementById("montagnename").value == "")	
		msg += "- Le nom de la montagne\n";
	if (document.getElementById("montagnedpt").value == "")	
		msg += "- Le departement de la montagne\n";
	if (document.getElementById("versanname").value == "")	
		msg += "- Le nom du versan\n";
	if (document.getElementById("versandpt").value == "")	
		msg += "- Le departement du versan\n";
	if (document.getElementById("kms").value == "")	
		msg += "- Le nombre de kilometres\n";
	if (document.getElementById("pourcentage").value == "")	
		msg += "- Le pourcentage\n";
	if (document.getElementById("altitude").value == "")	
		msg += "- L'altitude\n";
	if (document.getElementById("montagnedate").value == "")	
		msg += "- La date\n";
	
	// Si champ vide
	if (msg != "Les champs suivants sont obligatoires:\n")
	{
		alert(msg);
		return false;
	}
	// Sinon, test typages
	else
	{		
		msg = "Les erreurs suivantes ont ete rencontrees:\n";		
				
		if (isNaN(document.getElementById("kms").value))
			msg += "- Le nombre de kilometres doit etre un nombre entier\n";
		if (isNaN(document.getElementById("pourcentage").value))
			msg += "- Le pourcentage doit etre un nombre entier\n";
		if (isNaN(document.getElementById("altitude").value))
			msg += "- L'altitude doit etre un nombre entier\n";
		if (!checkDate(document.getElementById("montagnedate").value))
			msg += "- Le format de la date est incorrect, utilisez le calendrier\n";
		
		
		// Si erreurs
		if (msg != "Les erreurs suivantes ont ete rencontrees:\n")
		{
			alert(msg);
			return false;
		}
		
		// Sinon tout est good
		else
		{
			document.getElementById("addMontagne").submit();
		}
	}	
}

function checkForm3()
{
	var msg = "Les champs suivants sont obligatoires:\n";
		
	// Test champs vides
	if (document.getElementById("pacaname").value == "")	
		msg += "- Le nom de la montee en P.A.C.A\n";
	if (document.getElementById("pacaaltitude").value == "")	
		msg += "- L'altitude\n";
	if (document.getElementById("pacadate").value == "")	
		msg += "- L'annee de la montee\n";	
	
	// Si champ vide
	if (msg != "Les champs suivants sont obligatoires:\n")
	{
		alert(msg);
		return false;
	}
	// Sinon, test typages
	else
	{		
		msg = "Les erreurs suivantes ont ete rencontrees:\n";		
		
		// Kilometres
		if (isNaN(document.getElementById("pacaaltitude").value))
			msg += "- L'altitude doit etre un nombre entier\n";
		if (isNaN(document.getElementById("pacadate").value))
			msg += "- L'annee doit etre un nombre entier\n";
		
		
		// Si erreurs
		if (msg != "Les erreurs suivantes ont ete rencontrees:\n")
		{
			alert(msg);
			return false;
		}
		
		// Sinon tout est good
		else
		{
			document.getElementById("addPACA").submit();
		}
	}	
}

/* -------------------- */
/* Fonctions génériques */
/* -------------------- */
/**
 * Retourne la position absolue en ordonnée d'un element
 * @param  (Object) oElement: 		element dont l'on cherche la position en X
 * @return (int)		iReturnValue: position en X
 */
function getY(oElement)
{
	var iReturnValue = 0;
	
	while( oElement != null ) 
	{
		iReturnValue += oElement.offsetTop;
		oElement = oElement.offsetParent;
	}
	
return iReturnValue;
}

/**
 * Retourne la position absolue en abscisse d'un element
 * @param  (Object) oElement: 		element dont l'on cherche la position en Y
 * @return (int)		iReturnValue: position en Y
 */
function getX(oElement)
{
	var iReturnValue = 0;
	
	while( oElement != null ) 
	{
		iReturnValue += oElement.offsetLeft;
		oElement = oElement.offsetParent;
	}
	
return iReturnValue;
}

/**
 * Verifie la validite d'une date
 * @param {Object} myDate: la date en question
 */
function checkDate(myDate)
{
	var dateExploded = myDate.split('-');
		
	if (dateExploded.length == 3)
	{		
		if ((dateExploded[0].length != 4) || (dateExploded[1].length != 2) || (dateExploded[2].length != 2))
			return 0;
		else
		{			
			if ((dateExploded[1] > 12) || (dateExploded[2] > 31))
				return 0;
			else
				return 1;
		}
	}
	else
		return 0;
}

/**
 * Verifie la validité d'une adresse email
 * @param {Object} emailAddr: le mail en question
 */
function checkEmail(emailAddr) {
	var i;
	
	// Recherche de @
	i = emailAddr.indexOf("@");
	if (i == -1)
		return false;
		
	// Recherche du point
	j = emailAddr.indexOf(".");
	if (j == -1)
		return false;

	// Séparation du nom de l'utilisateur et du nom de domaine.
	var username = emailAddr.substring(0, i);
	var domain = emailAddr.substring(i + 1, emailAddr.length)
	
	// Vérifie que le nom de l'utilisateur et du domaine ne soit pas vide.
	if ((username == "") || (domain == ""))
		return false;
		
	return true;
}	

/**
 * Verifie la validite d'une extension
 * @param {Object} extension: l'extension que l'on cherche
 * @param {Object} word: le mot a tester
 */
function checkExtension(extension,word)
{
	var lastPos = -1;

	// Trouve la derniere position du point
	for (var i = 0; i < word.length; i++) 	
  	if (word.indexOf(".",i) != -1)
			lastPos = word.indexOf(".", i);  
	
	// Si on a trouve le caractere
	if (lastPos != -1)
	{
		var ext = word.substr(lastPos+1);
				
		// Si l'extension n'est pas la bonne
		if (extension.toUpperCase() != ext.toUpperCase())
			return 0;
		// Sinon c'est good
		else
			return 1;
	}
	else
		return 0;
}
