/*
	VARIABLES
*/
var agt					= navigator.userAgent.toLowerCase();
var is_ie				= ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));

var paramPopupTBFrame	= "&TB_iframe=true";

if (is_ie) paramPopupTBFrame = "";

/*
	Controle de formulaire
*/

function _FRM_Check (frm) {
	var ObjForm	= document.getElementById (frm);

	var nbElementsMandatory			= 0;
	var nbElementsMandatoryValid	= 0;
	var nbElementsNotEmpty			= 0;
	var nbElementsNotEmptyValid		= 0;

	for (var i = 0 ; i < ObjForm.elements.length ; i++) {
		if (ObjForm.elements[i].getAttribute("bzMandatory") == "true") {
			nbElementsMandatory++;
			var _ERR_ = false;
			switch (ObjForm.elements[i].type) {
				case "text":
					var text	= ObjForm.elements[i].value;
					var minL	= parseInt (ObjForm.elements[i].getAttribute("bzMinLength"));
					var maxL	= parseInt (ObjForm.elements[i].getAttribute("bzMaxLength"));
					var type	= ObjForm.elements[i].getAttribute("bzType");

					if (text == "") _ERR_ = true;
					else if (text.length < minL || text.length > maxL) _ERR_ = true;
					else if (!_FRM_CheckFieldType (type, text)) _ERR_ = true;
					else nbElementsMandatoryValid++;

					if (_ERR_) ObjForm.elements[i].style.border = "dashed 1px red";

					break;
				case "select-one":
					var text	= ObjForm.elements[i].options[ObjForm.elements[i].selectedIndex].value;

					if (text == "" || text == "!") _ERR_ = true;
					else nbElementsMandatoryValid++;

					if (_ERR_) ObjForm.elements[i].style.border = "dashed 1px red";

					break;
				case "select-multiple":
					var select	= false;
					for (var k = 0 ; k < ObjForm.elements[i].length ; k++)
						if (ObjForm.elements[i][k].selected) {select = true; break;}

					if (!select) _ERR_ = true;
					else nbElementsMandatoryValid++;

					if (_ERR_) ObjForm.elements[i].style.border = "dashed 1px red";

					break;
			}
		} else if (ObjForm.elements[i].type == "text" && ObjForm.elements[i].value != "") {
			//check les elements text non obligatoires qui ne sont pas vide en fonction de leur type
			nbElementsNotEmpty++;
			var _ERR_ = false;

			var text	= ObjForm.elements[i].value;
			var minL	= parseInt (ObjForm.elements[i].getAttribute("bzMinLength"));
			var maxL	= parseInt (ObjForm.elements[i].getAttribute("bzMaxLength"));
			var type	= ObjForm.elements[i].getAttribute("bzType");

			if (text.length < minL || text.length > maxL) _ERR_ = true;
			else if (!_FRM_CheckFieldType (type, text)) _ERR_ = true;
			else nbElementsNotEmptyValid++;

			if (_ERR_) ObjForm.elements[i].style.border = "dashed 1px red";
		}
	}
	return ((nbElementsMandatory == nbElementsMandatoryValid) && (nbElementsNotEmpty == nbElementsNotEmptyValid) ? true : false);
}

function _FRM_CheckFieldType (type, value) {
	switch (type) {
		case "int":
			var reNumeric = /^[0-9]+$/;
			return reNumeric.test (value);
			break;
		case "float":
			var reFloat = /^(([0-9]+(\.[0-9]*)?)|(([0-9]*\.)?[0-9]+))$/;
			return reFloat.test (value);
			break;
	}
	return true;
}

/*
	Creation de l'objet Ajax
*/
function AJX_getHTTPObject () {
	try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}
	try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {}
	try { return new XMLHttpRequest(); } catch(e) {}
	return null;
}

/*
	Fonctions diverses
*/
function showLoading () {
	document.getElementById ("changeLoading").innerHTML			= "<img src='" + BasePath + "/_libs/pictures/ajax-loader.gif' />";
	document.getElementById ("changeLoading").style.display		= "block";
	document.getElementById ("changeLoading").style.visibility	= "visible";
}
function hideLoading () {
	document.getElementById ("changeLoading").style.display		= "none";
	document.getElementById ("changeLoading").style.visibility	= "hidden";
	document.getElementById ("changeLoading").innerHTML			= "<img src='" + BasePath + "/_libs/pictures/ajax-loader.gif' />";
}

function ajouterFavoris() {
	var urlAddress	= "http://www.nanbudo.eu/";
	var pageName	= "A.F.D.P. Nanbudo";

	if (document.all) {
		window.external.AddFavorite(urlAddress,pageName);
	} else if (window.sidebar) {
		window.sidebar.addPanel(pageName, urlAddress, "");
	} else {
		alert ("Désolé! Votre navigateur ne supporte pas cette fonction.");
	}
}

function MyDownload (type, objet, email) {
	tb_show("T&eacute;l&eacute;chargement", BasePath + "/_libs/_dl.php?width=320&height=240&type=" + type + "&objet=" + objet + "&email=" + email + "&inlineId=hiddenModalContent" + paramPopupTBFrame, false);
}
