var globalTitre = 'Bienvenue &agrave; AVIATION SANS FRONTIERES, le monde de l\'aviation au service de la cause humanitaire';


//--------------------------------------------------------------------------
// 
//--------------------------------------------------------------------------
function fctOpenWindow(argUrl, argWidth, argHeight, argScroll, argName, argResize)
{
	var winl = (screen.width - argWidth) / 2;
	var wint = (screen.height - argHeight) / 2;
	var scroll = 'yes';
	var resize = 'yes';

	if(argScroll) scroll = 'yes';
	if(argResize) resize = 'yes';

	winprops = 'height=' + argHeight + ',width=' + argWidth + ',top=' + wint + ',left=' + winl + ',scrollbars=' + scroll + ',resizable=' + resize;
	window.open(argUrl, argName, winprops);
	//win.focus();
}
//--------------------------------------------------------------------------



//--------------------------------------------------------------------------
// 
//--------------------------------------------------------------------------
function is_test3(argValue, argTest)
{
	var blnTest = false;
	var strMsg = ' ';
	//alert(strMsg);
	var _nonObligatoire = false;
	var _type = null;

	var _test = unescape(argTest);
	var arrSplit = _test.split(' / ');

	var resultat = arrSplit[0].search(/(non\-obligatoire)/);
	if(resultat != -1)
	{
		_nonObligatoire = true;
	}

	var resultat = _test.match(/(type#)([^§]*)(\s)/);
	_type = resultat[2];

	if(argValue != '' || _nonObligatoire)
	{
		switch(_type)
		{
			case 'formatage' :
			
				var resultat2 = _test.match(/(expression#)([^§]*)(\s)/);
				//alert(resultat2[2]);

				if(resultat2 != null)
				{
					var reg = new RegExp(resultat2[2], 'gi');
					if((reg.exec(argValue) != null) == false)
					{
						var resultat3 = _test.match(/(messagetest#)([^§]*)(\s)/);
						if(resultat2 != null)
						{
							strMsg = resultat3[2];
						}
					}
				}

				break;

			case 'email' :

				var reg = new RegExp('^[a-z0-9._-]+@[a-z0-9-]{2,}[.][a-z]{2,4}$', 'gi');
				//var reg2 = new RegExp('[.@]{2,}', 'gi');
				if((reg.exec(argValue) != null) == false)
				{
					strMsg = "Votre adresse e-mail n'est pas un format e-mail correct.";
				}

				break;

			case 'numeric' :

				var reg = new RegExp('[0-9]+', 'gi');
				if((reg.exec(argValue) != null) == false)
				{
					strMsg = "le format est incorrect.\nVous devez rentrer obligatoirement que des chiffres.";					
				}
				break;

			case 'chiffresAndLettres' :

				var reg = new RegExp('^([a-z0-9]+)$', 'gi');
				if((reg.exec(argValue) != null) == false)
				{
					strMsg = "le format est incorrect.\nVous devez rentrer obligatoirement que des chiffres ou des lettres.";	
				}
				break;

			case 'limite chiffre' :

				intLimite = 1;
				if(arrSplit.length > 1) intLimite = arrSplit[1];

				var reg = new RegExp('^[0-9]{intLimite}$', 'gi');
				if((reg.exec(argValue) != null) == false)
				{
					strMsg = "le format de ce numéro est incorrect.\nVous devez rentrer obligatoirement " + intLimite + " chiffres.";
				}
				break;

			case 'password' :

				blnTest = true;

				break;

			case 'chaineVideInterdite' :

				var reg = new RegExp(arrSplit[1], 'gi');
				
				if((reg.exec(argValue) != null) == false)
				{
					if(arrSplit[2] != null){
					strMsg = arrSplit[2];	
					
					}
					else {
					strMsg = ' ';
					}
				}
				break;

			case 'test chaine non-obligatoire' :

				if(argValue != '')
				{
					var reg = new RegExp(arrSplit[1], 'gi');
					if((reg.exec(argValue) != null) == false)
					{
						strMsg = arrSplit[2];					
					}
				}

				break;

			default :

				break;
		}
	}
	else
	{
		var _cmpValeur = '';

		if(arrSplit.length > 3)
		{
			_cmpValeur = document.forms['formulaire'].elements[arrSplit[3]].value;
		}

		if(_cmpValeur == '')
		{
			var resultat = _test.match(/(message#)([^§]*)/);
			if(resultat != null)
			{
				strMsg = resultat[2];
			}
			else
			{
				strMsg = 'Vous devez remplir tous les champs.';
			}
		}
	}

	//alert(strMsg);

	return strMsg;
}
//--------------------------------------------------------------------------



//--------------------------------------------------------------------------
// 
//--------------------------------------------------------------------------
function fct_verifForm3(argFormName, argActionType, argWidth, argHeight, argPopupName)
{
	
	var objForm = document.forms[argFormName];
	var blnErreur = false;
	var strMsg = 'Vous devez remplir tous les champs.';
	var strName = '';

	for(i = 0; i < objForm.length; i++)
	{
		strName = strName + objForm.elements[i].name + ' - ' + objForm.elements[i].type + '\n';
	}

	//alert(strName);

	for(i = 0; i < objForm.length; i++)
	{
		strName = objForm.elements[i].name;
		_elementType = '';

		if(strName != null)
		{
			arrSplit = strName.split("_");

			if(arrSplit[0] == 'ges')
			{
				strTest = objForm.elements[i].value;
				arrSplit.shift();
				strName = arrSplit.join("_");
				
				if(objForm.elements[strName] != undefined)
				{
					strValue = objForm.elements[strName].value;
					//alert(strValue);

					_elementType = objForm.elements[strName].type;

					//alert(strName + ' - ' + _elementType);

					if(objForm.elements[strName].type == 'checkbox')
					{
						strValue = '';
						if(objForm.elements[strName].checked == true)
						{
							strValue = objForm.elements[strName].value;
						}
					}
					else if(objForm.elements[strName].type == undefined)
					{
						if(objForm.elements[strName].length > 0)
						{
							_elementType = objForm.elements[strName][0].type;

							strValue = '';
							for(j = 0; j < objForm.elements[strName].length; j++)
							{
								if(objForm.elements[strName][j].checked == true)
								{
									strValue = objForm.elements[strName][j].value;
									break;
								}
							}
						}
					}
					//alert(strValue);
					//alert(strTest);
					strMsgTest = is_test3(strValue, strTest);
					
					if(strMsgTest != " ")
					{
						strMsg = strMsgTest;

						if(_elementType == 'hidden')
						{

						}
						if(_elementType == 'radio')
						{
							objForm.elements[strName][0].focus();
						}
						else
						{
							objForm.elements[strName].focus();
						}

						blnErreur = true;
						break;
					}
				}
			}
		}
	}
	//alert(blnErreur);
	if(blnErreur)
	{
		//alert(strMsg);
		if(strMsg != " ")
		{
			alert(strMsg);
		}

		switch(argActionType)
		{
			case 'post' :

				return false;

				break;

			case 'check' :

				return false;

			default :

				break;
		}
	}
	else
	{
		for(i = 0; i < objForm.length; i++)
		{
			strName = objForm.elements[i].name;

			if(strName != undefined)
			{
				arrSplit = strName.split("_");

				//objForm.elements[i].disabled = false;
				if(arrSplit[0] == 'ges')
				{
					objForm.elements[i].disabled = true;
				}

			}
		}


		switch(argActionType)
		{
			case 'post' :

				return true;

				break;

			case 'click' :

				objForm.submit();

				break;

			case 'popupclick' :

				fctOpenWindow('../_templates/blanc.htm', argWidth, argHeight, true, argPopupName);
				objForm.submit();

				break;

			case 'check' :

				return true;

				break;

			default :

				//return true;

				break;
		}
	}
}
//--------------------------------------------------------------------------



//--------------------------------------------------------------------------
// 
//--------------------------------------------------------------------------
function fctSelectCheckPost(argFormName, argSelectName, argInputName)
{
	var objForm = document.forms[argFormName];
	var objSelect = objForm.elements[argSelectName];
	var intNbOptions = objSelect.options.length;

	var listeValeurs = '';

	for(i = 0; i < intNbOptions; i++)
	{
		if(objSelect.options[i].selected == true)
		{
			if(listeValeurs != '') listeValeurs += ', ';
			listeValeurs += objSelect.options[i].value;
		}
	}

	objForm.elements[argInputName].value = listeValeurs;
}
//--------------------------------------------------------------------------



var elementSelected = null;
var inputSelected = null;
var elementsNumber = null;
var inputSelectedValue = null;


//--------------------------------------------------------------------------
// 
//--------------------------------------------------------------------------
function fctSelectLayer(argInput, argElement)
{
	//alert(argInput + ' - ' + argElement);

	if(elementSelected != null)
	{
		document.getElementById(elementSelected).style.backgroundColor = '#F5F3F0';
		document.getElementById(elementSelected).style.color = '#000000';	
	}

	if(elementSelected == argElement)
	{
		document.getElementById(argElement).style.backgroundColor = '#F5F3F0';
		document.getElementById(argElement).style.color = '#000000';
		elementSelected = null;
		inputSelected = null;
		inputSelectedValue = null;
	}
	else
	{
		document.getElementById(argElement).style.backgroundColor = '#316AC5';
		document.getElementById(argElement).style.color = '#FFFFFF';
		elementSelected = argElement;
		inputSelected = argInput;
		inputSelectedValue = document.getElementById(inputSelected).value;
	}


}
//--------------------------------------------------------------------------



//--------------------------------------------------------------------------
// 
//--------------------------------------------------------------------------
function fctSelectLayer2(argInput, argElement)
{
	//alert(argInput + ' - ' + argElement);

	if(elementSelected != null)
	{
		document.getElementById(elementSelected).style.backgroundColor = '#F5F3F0';
		document.getElementById(elementSelected).style.color = '#000000';	
	}

	if(elementSelected == argElement)
	{
		document.getElementById(argElement).style.backgroundColor = '#F5F3F0';
		document.getElementById(argElement).style.color = '#000000';
		elementSelected = null;
		inputSelected = null;
		inputSelectedValue = null;
	}
	else
	{
		document.getElementById(argElement).style.backgroundColor = '#316AC5';
		document.getElementById(argElement).style.color = '#FFFFFF';
		elementSelected = argElement;
		inputSelected = argInput;
		inputSelectedValue = document.getElementById(inputSelected).value;
	}


}
//--------------------------------------------------------------------------



//--------------------------------------------------------------------------
// 
//--------------------------------------------------------------------------
function fctSelectLayer3(argFormName, argElement, argId)
{
	//alert(argInput + ' - ' + argElement);

	var objForm = document.forms[argFormName];

	var elementSelected = objForm.elements['tempo'].value;

	if(elementSelected != '')
	{
		document.getElementById(elementSelected).style.backgroundColor = '';
		document.getElementById(elementSelected).style.color = '#000000';	
	}

	if(elementSelected == argElement)
	{
		document.getElementById(argElement).style.backgroundColor = '#316AC5';
		document.getElementById(argElement).style.color = '#FFFFFF';
	}
	else
	{
		window.location = 'index.php?rq_cont=gestionRubrique&rq_id=' + objForm.elements['_id'].value + '&rq_id2=' + argId;
	}
}
//--------------------------------------------------------------------------




//--------------------------------------------------------------------------
// 
//--------------------------------------------------------------------------
function fctSelectPositionLayer(argFormName, argSens)
{
	var intId = 0;

	//alert(elementSelected);
	//alert(elementSelected + ' - ' + inputSelected);

	if(elementSelected != null)
	{
		var reg = new RegExp('[0-9]+', '');
		resultat = reg.exec(elementSelected);
		//alert(resultat.length);
		if(resultat.length > 0)
		{
			intId = Number(resultat);
		}

		//alert(intId);

		switch(argSens)
		{
			case "haut":

				if(intId > 1)
				{
					save1 = document.getElementById('lay_' + intId).innerHTML;
					save2 = document.getElementById('lay_' + (intId-1)).innerHTML;

					input1 = document.forms[argFormName].elements['for_position_' + intId].value;
					input2 = document.forms[argFormName].elements['for_position_' + (intId-1)].value;

					document.getElementById('lay_' + intId).innerHTML = save2;
					document.forms[argFormName].elements['for_position_' + intId].value = input2;
					document.getElementById('lay_' + (intId-1)).innerHTML = save1;
					document.forms[argFormName].elements['for_position_' + (intId-1)].value = input1;

					fctSelectLayer('for_position_' + (intId-1), 'lay_' + (intId-1));

				}


				break;

			case "bas":

				if(intId < elementsNumber)
				{
					save1 = document.getElementById('lay_' + intId).innerHTML;
					save2 = document.getElementById('lay_' + (intId+1)).innerHTML;

					input1 = document.forms[argFormName].elements['for_position_' + intId].value;
					input2 = document.forms[argFormName].elements['for_position_' + (intId+1)].value;

					document.getElementById('lay_' + intId).innerHTML = save2;
					document.forms[argFormName].elements['for_position_' + intId].value = input2;
					document.getElementById('lay_' + (intId+1)).innerHTML = save1;
					document.forms[argFormName].elements['for_position_' + (intId+1)].value = input1;

					fctSelectLayer('for_position_' + (intId+1), 'lay_' + (intId+1));

					//alert(document.getElementById('lay_3').innerHTML);
				}

				break;

			default:

				break;

		}

	}
}
//--------------------------------------------------------------------------



//--------------------------------------------------------------------------
// 
//--------------------------------------------------------------------------
function fctSelectPositionLayer2(argFormName, argSens)
{
	var intId = 0;
	var objForm = document.forms[argFormName];

	//alert(elementSelected);
	//alert(elementSelected + ' - ' + inputSelected);

	if(elementSelected != null)
	{
		var reg = new RegExp('[0-9]+', '');
		resultat = reg.exec(elementSelected);
		//alert(resultat.length);
		if(resultat.length > 0)
		{
			_parentId = Number(resultat);
		}

		alert(_parentId);

		_parentXpath = objForm.elements['for_xpath_' + _parentId].value;

		_parentXpathSplit = _parentXpath.split("_");

		_parentXpathLen = _parentXpathSplit.length;

		alert(_parentXpathSplit.length);
		alert(_parentXpath);

		for(i = 0; i < objForm.length; i++)
		{
			strName = objForm.elements[i].name;

			if(strName != undefined)
			{
				arrSplit = strName.split("_");

				//objForm.elements[i].disabled = false;
				if(arrSplit[0] + '_' + arrSplit[1] == 'for_xpath')
				{
					value = objForm.elements[strName].value;
					//alert(_parentXpath);

					var reg = new RegExp('^(' + _parentXpath + ')', '');
					if((reg.exec(value) != null) == true)
					{
						var reg = new RegExp('[0-9]+', '');
						resultat = reg.exec(strName);
						//alert(resultat.length);
						if(resultat.length > 0)
						{
							intId = Number(resultat);
						}
						
						//alert(intId);

						fctSelectPositionMove(argFormName, argSens, intId, _parentXpathLen);
					}
				}
			}
		}

		fctSelectLayer2('for_position_' + (_parentId - 1), 'lay_' + (_parentId - 1));
	}
}
//--------------------------------------------------------------------------



function fctSelectPositionMove(argFormName, argSens, argId, argXpathLen)
{
	var objForm = document.forms[argFormName];

	if(argFormName != '' && argSens != '' && argId != '')
	{
		switch(argSens)
		{
			case "haut":

				if(argId > 1)
				{
					save1 = document.getElementById('lay_' + argId).innerHTML;
					save2 = document.getElementById('lay_' + (argId-1)).innerHTML;

					input1 = objForm.elements['for_position_' + argId].value;
					input2 = objForm.elements['for_position_' + (argId-1)].value;

					xpath1 = objForm.elements['for_xpath_' + argId].value;
					xpath2 =  objForm.elements['for_xpath_' + (argId-1)].value;

					_xpathSplit = xpath2.split("_");
					_xpathLen = _parentXpathSplit.length;

					document.getElementById('lay_' + argId).innerHTML = save2;
					document.getElementById('lay_' + (argId-1)).innerHTML = save1;

					objForm.elements['for_position_' + argId].value = input2;
					objForm.elements['for_position_' + (argId-1)].value = input1;

					objForm.elements['for_xpath_' + argId].value = xpath2;
					objForm.elements['for_xpath_' + (argId-1)].value = xpath1;

					fctSelectLayer('for_position_' + (argId-1), 'lay_' + (argId-1));
				}


				break;

			case "bas":

				if(argId < elementsNumber)
				{
					save1 = document.getElementById('lay_' + argId).innerHTML;
					save2 = document.getElementById('lay_' + (argId+1)).innerHTML;

					input1 = objForm.elements['for_position_' + argId].value;
					input2 = objForm.elements['for_position_' + (argId + 1)].value;

					document.getElementById('lay_' + argId).innerHTML = save2;
					objForm.elements['for_position_' + argId].value = input2;
					document.getElementById('lay_' + (argId+1)).innerHTML = save1;
					objForm.elements['for_position_' + (argId+1)].value = input1;

					fctSelectLayer('for_position_' + (argId+1), 'lay_' + (argId+1));

					//alert(document.getElementById('lay_3').innerHTML);
				}

				break;

			default:

				break;

		}	
	}
}



//--------------------------------------------------------------------------
// 
//--------------------------------------------------------------------------
function fctSuppression(argForm, argTexte, argInputCheck, argElementId)
{
	strTexte = unescape(argTexte);

	if(argElementId != null)
	{
		if(confirm(strTexte))
		{
			document.forms[argForm].elements[argInputCheck].value = argElementId;
			document.forms[argForm].submit();
		}
	}
}
//--------------------------------------------------------------------------




//--------------------------------------------------------------------------
// 
//--------------------------------------------------------------------------
function fctSuppressionSimple(argTexte, argUrl, argNiveau)
{
	//alert(argUrl);

	if(argUrl != '')
	{
		if(confirm(argTexte))
		{
			window.location = argUrl;
		}
	}
}
//--------------------------------------------------------------------------




//--------------------------------------------------------------------------
// 
//--------------------------------------------------------------------------
function fctModification(argUrl, argElementId)
{
	//alert(argUrl);

	if(argElementId != null)
	{
		window.location = argUrl + argElementId;
	}
}
//--------------------------------------------------------------------------




//--------------------------------------------------------------------------
// 
//--------------------------------------------------------------------------
function fctModificationSimple(argUrl, argId)
{
	//alert(argUrl);

	if(argUrl != '' && argId != null)
	{
		window.location = argUrl + '?rq_id=' + argId;
	}
}
//--------------------------------------------------------------------------



//--------------------------------------------------------------------------
// 
//--------------------------------------------------------------------------
function fctPublier(argUrl, argElementId)
{
	//alert(argUrl);

	if(argElementId != null)
	{
		window.location = argUrl + argElementId;
	}
}
//--------------------------------------------------------------------------



//--------------------------------------------------------------------------
// 
//--------------------------------------------------------------------------
function fctRecalculPanier(argFormName)
{
	var objForm = document.forms[argFormName];

	// alert(argFormName);

	var total = 0;
	var totalHT = 0;

	for(i = 0; i < objForm.length; i++)
	{
		var _name = objForm.elements[i].name;

		var reg = new RegExp('([0-9]+)(_valeur)$','gi');
		var resultat = reg.test(objForm.elements[i].name);

		if(resultat == true)
		{
			arrSplit = _name.split("_");
			prefixe = arrSplit[0];
			id = arrSplit[1]

			var nombre = Number(objForm.elements[prefixe + '_' + id + '_nombre'].value);
			var valeur = Number(objForm.elements[prefixe + '_' + id + '_valeur'].value);
			var valeurHt = Number(objForm.elements[prefixe + '_' + id + '_valeurHT'].value);

			objForm.elements[prefixe + '_' + id + '_total'].value = arrondir((valeur*nombre), 2);
			objForm.elements[prefixe + '_' + id + '_totalHT'].value = arrondir((valeurHt*nombre), 2);

			total += Number(objForm.elements[prefixe + '_' + id + '_total'].value);
			totalHT += Number(objForm.elements[prefixe + '_' + id + '_totalHT'].value);
		}
	}
	objForm.elements["total"].value = arrondir(total, 2);
	objForm.elements["totalHT"].value = arrondir(totalHT, 2);
	//alert(total);
}
//--------------------------------------------------------------------------



//--------------------------------------------------------------------------
// 
//--------------------------------------------------------------------------
function fctSauverPanier(argFormName, argAction, argUrl)
{
	var objForm = document.forms[argFormName];

	objForm.elements['_action'].value = argAction;
	objForm.elements['_url'].value = argUrl;
	objForm.submit();
}
//--------------------------------------------------------------------------



//--------------------------------------------------------------------------
// 
//--------------------------------------------------------------------------
function fctPanier_VerifForm(argFormName, argUrl)
{
	var objForm = document.forms[argFormName];

	intTotal = Number(objForm.elements['total'].value);

	//alert(intPoints + ' - ' + intTotal);

	if(intTotal > 0)
	{
		fctSauverPanier('formulaire', 'Sauvegarder le panier', argUrl);
	}
	else
	{
		alert('Vous devez commander au moins un article');
	}
}
//--------------------------------------------------------------------------




function arrondir(nombre, decimales)
{
  if (isNaN(nombre)) return 0;	
  if (nombre == 0) return 0;
  if (decimales == 0) {
     var n = Math.round(nombre);
     return n.toString();
  }
  else if (decimales > 0) {
     if (document.all) var undefined; //<<i>> Netscape 4 ne connaît pas la constante "undefined"<</i>> 
     var p10 = Math.pow(10, decimales);
     var n = Math.round(nombre * p10); 
     n = n.toString();
     var point = n.length - decimales;
     if (point >= 0) n = n.substring(0, point) + "." + n.substring(point);
     else n = "0." + formater(n, decimales);
  }
  else {
     var p10 = Math.pow(10, -decimales);
     var n = Math.round(nombre / p10) * p10;
     n = n.toString();
  }
  if (nombre.signe_decimal == undefined) return n;
  else return n.replace(".", nombre.signe_decimal);
}


function Jour()
{
   this[0] = "Dimanche";
   this[1] = "Lundi";
   this[2] = "Mardi";
   this[3] = "Mercredi";
   this[4] = "Jeudi";
   this[5] = "Vendredi";
   this[6] = "Samedi";
}

function Mois()
{
   this[0] = "Janvier";
   this[1] = "Février";
   this[2] = "Mars";
   this[3] = "Avril";
   this[4] = "Mai";
   this[5] = "Juin";
   this[6] = "Juillet";
   this[7] = "Août";
   this[8] = "Septembre";
   this[9] = "Octobre";
   this[10] = "Novembre";
   this[11] = "Décembre";
}


function date()
{
	var jour = new Jour();
	var mois = new Mois();
	var myDate = new Date();

	var result = jour[myDate.getDay()] + "&nbsp;" + myDate.getDate() + "&nbsp;" + mois[myDate.getMonth()] + "&nbsp;" + myDate.getFullYear();
	document.writeln(result);
}



function datasForms(argDatas)
{
	var objForm = document.forms['formulaire'];

	if(typeof(argDatas) == 'object')
	{
		for(var propriete in argDatas)
		{
			for(i = 0; i < objForm.length; i++)
			{
				_elementName = objForm.elements[i].name;

				if(_elementName == propriete)
				{
					_elementType = objForm.elements[_elementName].type;

					switch(_elementType)
					{
						case 'checkbox':

							objForm.elements[_elementName].checked = true;

							break;

						case undefined:


							if(objForm.elements[_elementName].length > 0)
							{
								for(j = 0; j < objForm.elements[_elementName].length; j++)
								{
									if(objForm.elements[_elementName][j].value == argDatas[propriete])
									{
										objForm.elements[_elementName][j].checked = true;
										break;
									}
								}
							}

							break;

						default:

							objForm.elements[propriete].value = argDatas[propriete];
							break;
					}

					
					//objForm.elements[propriete].value = argDatas[propriete];
					break;
				}
			}
		}
	}
}



nav = navigator.appName.substring(0,3);
ver = navigator.appVersion.substring(0,1)

function addFav()
{
	if (nav == "Mic" && ver >= 4)
	{
		window.external.AddFavorite('http://www.asf-fr.org', 'ASF - La voie des airs pour secourir la terre');
	}
	else
	{
		alert('Faites CTRL+D pour ajouter ce site &agrave; vos favoris!');
	}
}


