
// -----------------------------------------------
// VARIABLES D'ENVIRONNEMENT
// -----------------------------------------------

var isInternetExplorer = (navigator.appName.toUpperCase().indexOf('MICROSOFT', 0) != -1);

// --------------------------------------------

function isNumeric(sText)
//vérifie si la chaine envoyée est de type numérique
{
var ValidChars = "0123456789.";
var IsNumber=true;
var Char;


for (i = 0; i < sText.length && IsNumber == true; i++)
{
Char = sText.charAt(i);
if (ValidChars.indexOf(Char) == -1)
{
IsNumber = false;
}
}
return IsNumber;

} 


// --------------------------------------------
// Gestion de l'opacité des éléments
// --------------------------------------------

var MemOpacity = new Array();
var MemTimer   = new Array();

function changeOpac(opacStart, opacEnd, id) {
    var object = document.getElementById(id).style;
	var opacite;
	var OpacityEnCours;
	
if (MemOpacity[id]) {
 OpacityEnCours = MemOpacity[id];
}
else {
	OpacityEnCours = 0;
}

if (opacStart == -1) {

	opacStart = OpacityEnCours;

}

	if (((opacStart > opacEnd) && (OpacityEnCours > opacEnd )) || ((opacStart < opacEnd) && (OpacityEnCours < opacEnd ))) {

		if (opacStart > opacEnd) {
			if ((isInternetExplorer) && ((OpacityEnCours - 1) > opacEnd)) {
				opacite = OpacityEnCours - 2;
			}
			else
			{
				opacite = OpacityEnCours - 1;
			}
			
		}
		else
		{
			if ((isInternetExplorer) && ((OpacityEnCours + 1) < opacEnd)) {
				opacite = OpacityEnCours + 2;
			}
			else
			{
				opacite = OpacityEnCours + 1;				
			}	
		}
		
		if (opacite == 0) {
	        object.display =  'none'; 
	    }
	    else {
	        object.display =  'block'; 
	    }

						//alert(opacite);

	    object.opacity = (opacite / 100);
	    object.MozOpacity = (opacite / 100);
	    object.KhtmlOpacity = (opacite / 100);
	    object.filter = "alpha(opacity=" + opacite + ")";

		MemOpacity[id] = opacite;	
	
	}
	else
	{
		if (MemTimer[id]) {
			clearInterval(MemTimer[id]);
		}
	}

}

function opacity(id, opacStart, opacEnd, millisec) {

	if (MemTimer[id]) {
		clearInterval(MemTimer[id]);
	}
	
    MemTimer[id] = setInterval("changeOpac(" + opacStart + ", " + opacEnd + ", '" + id + "')", millisec);

}

// --------------------------------------------


// --------------------------------------------
// Gestion de fichiers
// --------------------------------------------

function FichierExiste(sPathName)
{ 

	var txtRetour = $.ajax({
		async:false,
		cache: false,
		type: "GET",
		url: 'imgexist.php?src=' + sPathName,
		dataType: "html",
		timeout: 200
	}).responseText;
	
	if (txtRetour == '1') {
		return true;	
	}
	else {
		return false;		
	}
	
} 

// --------------------------------------------


// --------------------------------------------
// Gestion du chargement des images
// --------------------------------------------

function chargementImg(arrayImg, iImg, oImg, bNewImg, statusPourcent, callback) {
	var bImageNotExist = false;
	
	// En cas d'erreur, on exécutera quand même le callback
	errorTimer = setTimeout(callback, 1000);
	
	try
	{

		// Peut-on charger une nouvelle image
		if (bNewImg) {
			iImg = iImg + 1;
			
			oImg = new Image();
			oImg.src = arrayImg[iImg];
			
/* 			if (FichierExiste(arrayImg[iImg])) {
				oImg.src = arrayImg[iImg];
			}
			else {
				bImageNotExist = true;
			} */
			
		}
		
		// L'image en cours de chargement est-elle complète
		if (bImageNotExist || ((oImg) && (oImg.complete))) {
			// Elle est complète, on peut en charger une autre
			bNewImg = 1;
		}
		else {
			bNewImg = 0;
		}
		
		// Information HTML
		jQuery(statusPourcent).text((iImg / arrayImg.length * 100).toFixed(0) + ' %');
		
		// L'image en cours de chargement est-elle complète et est-ce la dernière
		if ((bImageNotExist || ((oImg) && (oImg.complete))) && (iImg == (arrayImg.length - 1))) {
			jQuery(statusPourcent).text('100 %');
			setTimeout(callback, 80);
		}
		else {
			// On rappelle cette même fonction toutes les demi-secondes
			setTimeout(function () {
				chargementImg(arrayImg, iImg, oImg, bNewImg, statusPourcent, callback);
			}, 50);
		}

	}
	catch(err)
	{
		setTimeout(callback, 100);
		return 0;
	}
	
	clearTimeout(errorTimer);
}

// --------------------------------------------


function str_replace(a, b, str) {
	function str_replace2(SRs, SRt, SRu) {
	  /*
	  **  Replace a token in a string
	  **    s  string to be processed
	  **    t  token to be found and removed
	  **    u  token to be inserted
	  **  returns new String
	  */
	  SRRi = SRs.indexOf(SRt);
	  SRRr = '';
	  if (SRRi == -1) return SRs;
	  SRRr += SRs.substring(0,SRRi) + SRu;
	  if ( SRRi + SRt.length < SRs.length)
	    SRRr += str_replace2(SRs.substring(SRRi + SRt.length, SRs.length), SRt, SRu);
	  return SRRr;
	}
    return str_replace2(str, a, b);
}

function verificationEmail(elm)
{
	if ((elm.indexOf("@") != -1) &&
	    (elm.indexOf(".") != -1) &&
	    (elm != ""))
	    return true;

	return false;
}



