// Fenêtres
function OuvrirFenetre(url)
{
	window.open(url);
}

function OuvrirPopup(url,l,h)
{
	var x=(screen.width-l)/2;
	var y=(screen.height-h)/2;
	window.open(url,"","top="+y+",left="+x+",width="+l+",height="+h+",toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes");
}

function OuvrirPopupScroll(url,l,h)
{
	var x=(screen.width-l)/2;
	var y=(screen.height-h)/2;
	window.open(url,"","top="+y+",left="+x+",width="+l+",height="+h+",toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes");
}

function AfficherFinDePage()
{
	document.write("<div id=\"_div_selecteur_date\" style=\"display: none;\" class=\"selecteurDateJs\"></div>");
}

// Formulaires
function AfficherElement(id, mode)
{
	obj = document.getElementById(id);
	if(!obj)
		return false;
	if(mode == undefined)
	{
		if(obj.style.display == "")
			obj.style.display = "none";
		else
			obj.style.display = "";
	}
	if(mode == 0)
		obj.style.display = "none";
	if(mode == 1)
		obj.style.display = "";
}


// SelecteurDate

function RenvoyerNombreJoursDuMois(mois, annee)
{
	var date = new Date(annee, mois, 1);
	date.setTime(date.getTime()-86400000);
	return date.getDate()
}

function DetecterPositionSouris(evenement)
{
	if(document.all)
	{
		var DocRef;
		if(document.documentElement && document.documentElement.clientWidth)
			DocRef = document.documentElement;
		else
			DocRef = document.body;
		sourisX = event.clientX +DocRef.scrollLeft;
		sourisY = event.clientY +DocRef.scrollTop;
	}
	else
	{
		sourisX = evenement.pageX;
		sourisY = evenement.pageY;
	}
	if(sourisX < 0)
		sourisX = 0;
	if(sourisY < 0)
		sourisY = 0;
} 

//////////////////////////////////////////////////////////

function SelecteurDateAfficherDate(mois, annee)
{
	var div = document.getElementById("_div_selecteur_date");
	
	// ENTETE
	var tmp = "";
	tmp += "<table border='0' cellspacing='1' cellpadding='4'>";

	// NAVIGATEUR
	var moisPrecMois = mois - 1;
	var moisPrecAnnee = annee;
	if(moisPrecMois == 0)
	{
		moisPrecMois = 12
		moisPrecAnnee --;
		if(moisPrecAnnee < 1900)
		{
			moisPrecAnnee = 1900;
			moisPrecMois = 1;
		}
	}
	var moisSuivMois = mois + 1;
	var moisSuivAnnee = annee;
	if(moisSuivMois == 13)
	{
		moisSuivMois = 1
		moisSuivAnnee ++;
		if(moisSuivAnnee > 2050)
		{
			moisSuivAnnee = 2050;
			moisSuivMois = 12;
		}
	}
	var anneePrec = annee - 1;
	if(anneePrec < 1900)
	{
		anneePrec = 1900;
	}
	var anneeSuiv = annee + 1;
	if(anneeSuiv > 2050)
	{
		anneeSuiv = 2050;
	}
	
	tmp += "<tr>";
	tmp += "<td class=\"titre\" onclick=\"SelecteurDateAfficherDate("+mois+","+anneePrec+")\">&lt;&lt;</td>";
	tmp += "<td class=\"titre\" onclick=\"SelecteurDateAfficherDate("+moisPrecMois+","+moisPrecAnnee+")\">&lt;</td>";
	tmp += "<td class=\"titre\" colspan=\"3\" onclick=\"SelecteurDateMasquer()\">"+TEXTE['fermer']+"</td>";
	tmp += "<td class=\"titre\" onclick=\"SelecteurDateAfficherDate("+moisSuivMois+","+moisSuivAnnee+")\">&gt;</td>";
	tmp += "<td class=\"titre\" onclick=\"SelecteurDateAfficherDate("+mois+","+anneeSuiv+")\">&gt;&gt;</td>";
	tmp += "</tr>";
	
	// MOIS / ANNEE EN COURS
	var numMois = mois-1;
	tmp += "<tr>";
	tmp += "<td colspan=\"7\" class=\"mois_annee\">"+nomsMois[numMois]+"&nbsp; &nbsp;"+annee+"</td>";
	tmp += "</tr>";
	
	// NOMS DES JOURS
	tmp += "<tr>";
	for(i=0; i<7; i++)
	{
		tmp += "<td class=\"jours\">"+nomsJoursAbr[i]+"</td>";
	}
	tmp += "</tr>";
	
	// CELLULES
	var date = new Date(annee, mois-1, 1);
	var dateAujourdhui = new Date();
	var jourPremierDuMois = date.getDay();
	if(jourPremierDuMois == 0)
		jourPremierDuMois = 7;
	var nombreJours = RenvoyerNombreJoursDuMois(mois, annee);
	var nombreCellules = Math.ceil(nombreJours/7)*7;
	var nombreCellulesParLigne = 1;
	var nombreCellulesaffichees = 0;
	var i = 0;
	var j = 1;

	// Affichage des cellules vides
	for(i=1; i<jourPremierDuMois; i++)
	{
		tmp += "<td class=\"vide\">&nbsp;</td>";
		nombreCellulesParLigne ++;
		nombreCellulesaffichees ++;
	}

	// Affichage des cellules
	for(i=1; i<=nombreJours; i++)
	{
		if(nombreCellulesParLigne == 8)
		{
			nombreCellulesParLigne = 1;
			tmp += "</tr>";
		}
		if(nombreCellulesParLigne == 1)
			tmp += "<tr>";
		
		if(selecteurDateDateChoisie.getFullYear() == annee && selecteurDateDateChoisie.getMonth() == mois*1 && selecteurDateDateChoisie.getDate() == j*1)
			var complementClasse = "_sel";
		else
			var complementClasse = "";
		tmp += "<td class=\"date"+complementClasse+"\" onclick=\"SelecteurDateChoisirDate("+j+","+mois+","+annee+")\">";
		if(j == dateAujourdhui.getDate() && mois == dateAujourdhui.getMonth()+1 && annee == dateAujourdhui.getFullYear())
			tmp += "<strong>"+j+"</strong>";
		else
			tmp += j;
		tmp += "</td>";
		
		nombreCellulesaffichees ++;
		nombreCellulesParLigne ++;
		j ++;
	}
	
	// Affichage des cellules vides
	while(nombreCellulesParLigne < 8)
	{
		tmp += "<td class=\"vide\">&nbsp;</td>";
		nombreCellulesParLigne ++;
	}

	// PIED
	tmp += "</table>";
	
	// AFFICHAGE
	div.innerHTML = tmp;
}

function SelecteurDateChoisirDate(jour, mois, annee)
{
	if(jour < 10)
		jour = "0"+jour;
	if(mois < 10)
		mois = "0"+mois;
		
	var ts = TEXTE['format date'].replace(/d/, jour);
	ts = ts.replace(/m/, mois);
	ts = ts.replace(/y/, annee);
	selecteurDateObjetChamp.value = ts;
	SelecteurDateMasquer();
}

function SelecteurDateAfficher(objetChamp)
{
	var div = document.getElementById("_div_selecteur_date");
	if(div.style.display == "")
		return SelecteurDateMasquer();
	selecteurDateObjetChamp = objetChamp;
	var tableau1 = objetChamp.value.split(/\//);
	if(TEXTE['format date'] == "d/m/y")
	{
		var jour = tableau1[0];
		var mois = tableau1[1];
		var annee = tableau1[2];
	}
	else
	{
		if(TEXTE['format date'] == "y/m/d")
		{
			var jour = tableau1[2];
			var mois = tableau1[1];
			var annee = tableau1[0];
		}
	}
	if(!mois || !annee)
	{
		var date = new Date();
		var jour = tableau1[2];
		var mois = date.getMonth()+1;
		var annee = date.getFullYear();
	}
	jour *= 1;
	mois *= 1;
	annee *= 1;
	selecteurDateDateChoisie = new Date(annee, mois, jour)
	SelecteurDateAfficherDate(mois, annee);
	div.style.position = "absolute";
	div.style.left = (sourisX-80)+"px";
	div.style.top = (sourisY-14)+"px";
	div.style.display = "";
}

function SelecteurDateMasquer()
{
	var div = document.getElementById("_div_selecteur_date");
	div.style.display = "none";
	div.innerHTML = "";
	selecteurDateObjetChamp.focus();
}

//////////////////////////////////////////////////////////

var selecteurDateObjetChamp;
var selecteurDateDateChoisie;
var sourisX = 0;
var sourisY = 0;
document.onmousemove = DetecterPositionSouris;
