document.write('<script type="text/javascript" src="/shared/klois_date.js"></script>');
function log(t)
{
	document.getElementById('log').innerHTML += t + '\n';
}



var to = new Object();



function overOutImg(o, i)
{
	o.src = i;
}




function showDiv(d, img)
{
	eval("clearTimeout(to." + d + "one);");
	document.getElementById(d).style.display = '';
	if (img)
		eval("to." + d + "one = setTimeout(\"overOutImg(document.getElementById('" + d + "').nextSibling.childNodes[0], '" + img + "');\", 1);");
}

function hideDiv(d, img)
{
	clearTimeout(to.one);
	document.getElementById(d).style.display = 'none';
	if (img)
		eval("to." + d + "one = setTimeout(\"overOutImg(document.getElementById('" + d + "').nextSibling.childNodes[0], '" + img + "');\", 1);");
}










var formConnexionClickedL = false;
var formConnexionClickedP = false;





/**
* Variables temporaires
*/
var tmp = new Object();
var v = new Object();
var ijax = new Object();
var kjax = new Object();



/**
* Contenu d'un formulaire
*/
var cFormulaires = new Object();


/**
* Pour enregistrer des fonctions
*/
var fct = new Object();



function antiPagePrecedente()
{
	/*
	if (!document.getElementById('antiPagePrecedente'))
	{
		tmp.antiPagePrecedente = 1;
		var i = document.createElement('iframe');
		i.style.display = 'none';
		i.id = 'antiPagePrecedente';
		document.getElementsByTagName('body')[0].appendChild(i);
	}

	document.getElementById('antiPagePrecedente').src = '/blank.php?' + (tmp.antiPagePrecedente++);,
	*/
}



/*
@url = Page demandée
@args= Paramètres de l'url
@meth= POST | GET
@mode= xml | html
@differe = true | false
@fct = fonction de retour
@params = paramètres envoyées à la fonction de retour
*/
function isa_lr(url, args, meth, mode, differe, fct, params)
{
	/*
	L'anti page précédente
	*/
	antiPagePrecedente();
	antiPagePrecedente();
	
	var xmlhttp = false;
	var html = '';

	/*@cc_on @*/
	/*@if (@_jscript_version >= 5)
	try
	{
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch (e)
	{
		try
		{
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch (E) 
		{
			xmlhttp = false;
		}
	}
	@end @*/
	if (!xmlhttp && typeof XMLHttpRequest!='undefined')
	{
		xmlhttp = new XMLHttpRequest();
	}
	
	if (!differe)
	{
		xmlhttp.open(meth, url, false);

		if (meth == 'POST')
		{
			xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

		}
			xmlhttp.send(args);

		if (mode == 'xml')
			return xmlhttp.responseXML.childNodes[0];
		else
			return xmlhttp.responseText;
			
	}
	else
	{
		xmlhttp.open(meth, url, true);
		xmlhttp.onreadystatechange = function()
		{
			if(xmlhttp.readyState == 4)
			{
				if (mode == 'xml')
					fct(xmlhttp.responseXML.childNodes[0], params);
				else
					fct(xmlhttp.responseText, params);
			}
		};
		
		if (meth == 'POST')
		{
			xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		}
			xmlhttp.send(args);
	}
	return false;
}



function gE(o)
{
	return document.getElementById(o);
}


function loadPage(url, xdiv)
{
	isa_lr(url, null, 'GET', 'html', true, loadPageRes, {'xdiv' : xdiv, 'loading' : false});
}




function loadPageRes(html, p)
{
		var a;
		var js = '';
	
		var e = /<script[^>]+src\="(.+)"[^>]*><\/script>/gi;
		var r;
		var h;
		h = html;
		while (r = e.exec(h))
		{
			var elt = document.createElement('script');
			elt.type = 'text/javascript';
			elt.src = r[1];
			document.getElementsByTagName('body')[0].appendChild(elt);
	
			// On enlève de h
			var h = h.substr(0, r.index) + h.substr(r.index + r[0].length);
			if (r = e.exec(h)){} // A laisser... sinon Firefox fait le moisi :|
			var e = /<script[^>]+src\="(.+)"[^>]*><\/script>/gi;
		}
	
		
		while ((a = h.indexOf('<script ')) != -1)
		{
			var b = h.substr(a, h.length - a);
			var fin = h.indexOf('</script>' /**/);
			if (fin > -1)
			{
				var js2 = b.substr(0, fin - a);
				var c = js2.indexOf('>');
				js += js2.substr(c + 1);
				h = h.substr(0, a) + h.substr(fin + /**/ 9);
			}
		}
	
	if (document.getElementById(p.xdiv))
	{
		document.getElementById(p.xdiv).innerHTML = h;
	}
	try
	{
		if (js)
			eval(js);
	}
	catch(e){alert(e);};
}


/*
	Envoie d'un formulaire
*/
    function getFormValues(fobj)

    {

       var str = "";

       var valueArr = null;

       var val = "";

       var cmd = "";

       for(var i = 0;i < fobj.elements.length;i++)
       {
	       if (!fobj.elements[i].disabled)
           switch(fobj.elements[i].type)
           {

               case "text":
               case "hidden":
               case "textarea":
               case "password":

                    str += fobj.elements[i].name +
                     "=" + escape(fobj.elements[i].value).replace(/%u20AC/g, '%80').replace(/\+/g, '%2B') + "&";
                     break;

               case "select-one":
               			try
               			{
                    str += fobj.elements[i].name +
                    "=" + escape(fobj.elements[i].options[fobj.elements[i].selectedIndex].value).replace(/%u20AC/g, '%80').replace(/\+/g, '%2B') + "&";
               			}
               			catch(e){};

                    break;
               case "select-multiple":
               			var elt = fobj.elements[i];
               			for (var a in elt.childNodes)
               			{
               				if (elt.childNodes[a].nodeType == 1) if (elt.childNodes[a].selected)
               				{
                    		str += fobj.elements[i].name +
                    		"=" + escape(elt.childNodes[a].value).replace(/%u20AC/g, '%80').replace(/\+/g, '%2B') + "&";
               				}
               			}
                    break;
               case "checkbox":
               case "radio":
               			if (fobj.elements[i].checked)
               			{
	                    str += fobj.elements[i].name +
	                    "=" + escape(fobj.elements[i].value).replace(/%u20AC/g, '%80').replace(/\+/g, '%2B') + "&";
               			}
               			else
               			{
	                    /*str += fobj.elements[i].name + "=&";*/
               			}
               			break;

           }

       }

       str = str.substr(0,(str.length - 1));

       return str;

    }



function forUrl(txt)
{
	return escape(txt.replace(/%u20AC/g, '%A4').replace(/\+/g, '%2B'));
}

    
function sendForm(f, xdiv)
{
	var args = getFormValues(document.forms[f]);
	var meth = document.forms[f].method;

	if (!meth)
		meth = 'get';
	meth = meth.toUpperCase();

	isa_lr(document.forms[f].action + (meth == 'GET' ? '?' + args : ''), (meth == 'GET' ? null : args), meth, 'html', true, loadPageRes, {'xdiv' : xdiv});
}



function sendFormIframe(f)
{
	var frameName = 'iFrameForSendFormIframe';
	var pre = document.forms[f].target;
	if (!document.getElementById(frameName))
	{
		var iframe = document.createElement('iframe');
		iframe.name = frameName;
		iframe.id = frameName;
		iframe.style.display = 'none';
		document.getElementsByTagName('body')[0].appendChild(iframe);
	}

	document.forms[f].target = frameName;
	document.forms[f].submit();
	setTimeout("document.forms['" + f + "'].target = '" + pre + "';", 100);
}







/**
* Verificateur de modification de formulaire
* @o = Valeur d'origine
*/
var ableSubmitOrigin		= new Object;
var ableSubmitTimeout		= new Object;
var ableSubmitFunctions	= new Object;
function ableSubmit(f, fct, t, o, lastEtat)
{
	var a;
	var b = true;
	
	if (ableSubmitTimeout[t])
	{
		clearTimeout(ableSubmitTimeout[t]);
	}

	if (!o)
	{
		resetAbleSubmit(t);
		lastEtat = -1;
	}

	ableSubmitFunctions[t] = fct;
		
	if (document.forms[f])
	{
		if (typeof ableSubmitOrigin[t] == 'undefined' ||
				ableSubmitOrigin[t] == '')
		{
			a = getFormValues(document.forms[f]);
			ableSubmitOrigin[t] = a;
		}

		else
		{
			b = (ableSubmitOrigin[t] != getFormValues(document.forms[f]));
			if (b != lastEtat)
				fct(b);
		}

		a = setTimeout('ableSubmit("' + f + '", ableSubmitFunctions["' + t + '"], "' + t + '", true, ' + (b ? 'true' : 'false') + ');', 100);
		ableSubmitTimeout[t] = a;
	}
}

function resetAbleSubmit(t)
{
	ableSubmitOrigin[t] = '';
}




function grain()
{
	var v = new Date();
	return '&' + v.getHours() + 'x' + v.getMinutes() + 'x' + v.getSeconds()
}
























// Project: Dynamic Date Selector (DtTvB) - 2006-03-16
// Code begin...
// Set the initial date.
var ds_dontblur = false;
var ds_i_date = new Date();
var ds_hideDays;
ds_c_month = ds_i_date.getMonth() + 1;
ds_c_year = ds_i_date.getFullYear();

// Get Element By Id
function ds_getel(id) {
	return document.getElementById(id);
}

// Get the left and the top of the element.
function ds_getleft(el) {
	var tmp = el.offsetLeft;
	el = el.offsetParent
	while(el) {
		tmp += el.offsetLeft;
		el = el.offsetParent;
	}
	return tmp;
}
function ds_gettop(el) {
	var tmp = el.offsetTop;
	el = el.offsetParent
	while(el) {
		tmp += el.offsetTop;
		el = el.offsetParent;
	}
	return tmp;
}

// Output Element
var ds_oe = ds_getel('ds_calclass');

// Container
var ds_ce = ds_getel('ds_conclass');

// Output Buffering
var ds_ob = ''; 
function ds_ob_clean() {
	ds_ob = '';
}
function ds_ob_flush() {
	ds_oe = ds_getel('ds_calclass');
	ds_oe.innerHTML = ds_ob;
	ds_ob_clean();
}
function ds_echo(t) {
	ds_ob += t;
}

var ds_element; // Text Element...

var ds_monthnames = [
'Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin',
'Juillet', 'Aout', 'Septembre', 'Octobre', 'Novembre', 'Décembre'
]; // You can translate it for your language.

var ds_daynames = [
'Dim', 'Lun', 'Mar', 'Me', 'Jeu', 'Ven', 'Sam'
]; // You can translate it for your language.

var ds_fct = null;
// Calendar template
function ds_template_main_above(t) {
	return '<table cellpadding="3" cellspacing="1" class="ds_tbl">'
	     + '<tr>'
		 + '<td class="ds_head" style="cursor: pointer"><a href="" onclick="ds_py(); return false;">&lt;&lt;</a></td>'
		 + '<td class="ds_head" style="cursor: pointer"><a href="" onclick="ds_pm(); return false;">&lt;</a></td>'
		 + '<td class="ds_head" style="cursor: pointer" colspan="3"><a href="" onclick="ds_hi(); return false;">[Fermer]</a></td>'
		 + '<td class="ds_head" style="cursor: pointer"><a href="" onclick="ds_nm(); return false;">&gt;</a></td>'
		 + '<td class="ds_head" style="cursor: pointer"><a href="" onclick="ds_ny(); return false;">&gt;&gt;</a></td>'
		 + '</tr>'
	   + '<tr>'
		 + '<td colspan="7" class="ds_head">' + t + '</td>'
		 + '</tr>'
		 + '<tr>';
}

function ds_template_day_row(t) {
	return '<td class="ds_subhead">' + t + '</td>';
	// Define width in CSS, XHTML 1.0 Strict doesn't have width property for it.
}

function ds_template_new_week() {
	return '</tr><tr>';
}

function ds_template_blank_cell(colspan) {
	return '<td colspan="' + colspan + '"></td>'
}

function ds_template_day(d, m, y) {
	return '<td class="ds_cell" ' + (ds_hideDays ? 'style="color: silver;"' : '') + ' onclick=""><a href="" onclick="ds_onclick(' + d + ',' + m + ',' + y + '); return false;">' + d + '</a></td>';
	// Define width the day row.
}

function ds_template_main_below() {
	return '</tr>'
	     + '</table>';
}

// This one draws calendar...
function ds_draw_calendar(m, y) {
	// First clean the output buffer.
	ds_ob_clean();
	// Here we go, do the header
	ds_echo (ds_template_main_above(ds_monthnames[m - 1] + ' ' + y));
	for (i = 0; i < 7; i ++) {
		ds_echo (ds_template_day_row(ds_daynames[i]));
	}
	// Make a date object.
	var ds_dc_date = new Date();
	ds_dc_date.setMonth(m - 1);
	ds_dc_date.setFullYear(y);
	ds_dc_date.setDate(1);
	if (m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12) {
		days = 31;
	} else if (m == 4 || m == 6 || m == 9 || m == 11) {
		days = 30;
	} else {
		days = (y % 4 == 0) ? 29 : 28;
	}
	var first_day = ds_dc_date.getDay();
	var first_loop = 1;
	// Start the first week
	ds_echo (ds_template_new_week());
	// If sunday is not the first day of the month, make a blank cell...
	if (first_day != 0) {
		ds_echo (ds_template_blank_cell(first_day));
	}
	var j = first_day;
	for (i = 0; i < days; i ++) {
		// Today is sunday, make a new week.
		// If this sunday is the first day of the month,
		// we've made a new row for you already.
		if (j == 0 && !first_loop) {
			// New week!!
			ds_echo (ds_template_new_week());
		}
		// Make a row of that day!
		ds_echo (ds_template_day(i + 1, m, y));
		// This is not first loop anymore...
		first_loop = 0;
		// What is the next day?
		j ++;
		j %= 7;
	}
	// Do the footer
	ds_echo (ds_template_main_below());
	// And let's display..
	ds_ob_flush();
	// Scroll it into view.
	//ds_ce.scrollIntoView();
}

// A function to show the calendar.
// When user click on the date, it will set the content of t.
function ds_sh(t, fct, hideDays) {
	
	var table = document.createElement('table');
	table.className = 'ds_box';
	table.id = 'ds_conclass';
/*	table.onclick = function() { alert('table'); };*/
	var tr = document.createElement('tr');
	var td = document.createElement('td');
	td.id = 'ds_calclass';
/*	td.onclick = function() { alert(0); };*/
	td.innerHTML = 'chargement...';
	tr.appendChild(td);
	table.appendChild(tr);
	
	//document.getElementsByTagName('body')[0].appendChild(table);//
	t.parentNode.insertBefore(table, t);
	
	
	ds_hideDays = hideDays;
		ds_fct = fct;
	ds_ce = ds_getel('ds_conclass');
	// Set the element to set...
	ds_element = t;
	// Make a new date, and set the current month and year.
	var ds_sh_date = new Date();
	ds_c_month = ds_sh_date.getMonth() + 1;
	ds_c_year = ds_sh_date.getFullYear();
	// Draw the calendar
	ds_draw_calendar(ds_c_month, ds_c_year);
	// Move the calendar container!
	the_left = ds_getleft(t);
	the_top = ds_gettop(t) + t.offsetHeight;
	/*rano ds_ce.style.left = the_left + 'px';
	ds_ce.style.top = the_top + 'px';*/
	// To change the position properly, we must show it first.
	ds_ce.style.display = '';
	// Scroll it into view.
	//ds_ce.scrollIntoView();
}

// Hide the calendar.
function ds_hi() {
	try
	{
		ds_ce.parentNode.removeChild(ds_ce);
	}catch(e){};
	
	/*rano ds_ce.style.display = 'none';*/
}

// Moves to the next month...
function ds_nm() {
	ds_dontblur = true; 
	// Increase the current month.
	ds_c_month ++;
	// We have passed December, let's go to the next year.
	// Increase the current year, and set the current month to January.
	if (ds_c_month > 12) {
		ds_c_month = 1; 
		ds_c_year++;
	}
	// Redraw the calendar.
	ds_draw_calendar(ds_c_month, ds_c_year);
}

// Moves to the previous month...
function ds_pm() {
	ds_dontblur = true; 
	ds_c_month = ds_c_month - 1; // Can't use dash-dash here, it will make the page invalid.
	// We have passed January, let's go back to the previous year.
	// Decrease the current year, and set the current month to December.
	if (ds_c_month < 1) {
		ds_c_month = 12; 
		ds_c_year = ds_c_year - 1; // Can't use dash-dash here, it will make the page invalid.
	}
	// Redraw the calendar.
	ds_draw_calendar(ds_c_month, ds_c_year);
}

// Moves to the next year...
function ds_ny() {
	ds_dontblur = true; 
	// Increase the current year.
	ds_c_year++;
	// Redraw the calendar.
	ds_draw_calendar(ds_c_month, ds_c_year);
}

// Moves to the previous year...
function ds_py() {
	ds_dontblur = true;
	// Decrease the current year.
	ds_c_year = ds_c_year - 1; // Can't use dash-dash here, it will make the page invalid.
	// Redraw the calendar.
	ds_draw_calendar(ds_c_month, ds_c_year);
}

// Format the date to output.
function ds_format_date(d, m, y) {
	// 2 digits month.
	m2 = '00' + m;
	m2 = m2.substr(m2.length - 2);
	// 2 digits day.
	d2 = '00' + d;
	d2 = d2.substr(d2.length - 2);
	// YYYY-MM-DD
//	return y + '-' + m2 + '-' + d2;
	return d2 + '-' + m2 + '-' + y;
}

// When the user clicks the day.
function ds_onclick(d, m, y) {
	// Hide the calendar.
	ds_hi();
	// Set the value of it, if we can.
	if (ds_fct != null)
	{
		ds_fct(ds_element, d, m, y);
		return;
	}
	if (typeof(ds_element.value) != 'undefined') {
		ds_element.value = ds_format_date(d, m, y);
	// Maybe we want to set the HTML in it.
	} else if (typeof(ds_element.innerHTML) != 'undefined') {
		ds_element.innerHTML = ds_format_date(d, m, y);
	// I don't know how should we display it, just alert it to user.
	} else {
		alert (ds_format_date(d, m, y));
	}
}

// And here is the end.





// PageOverShow
function pos()
{
	document.getElementById('pageOverText').innerHTML = 'chargement';
	document.getElementById('pageOver').style.display = '';
}
// PageOverHide
function poh()
{
	document.getElementById('pageOver').style.display = 'none';
}




function addToContact(id)
{
	loadPage('/espace-membre/contact.add.php?id_contact=' + id);
}





function addToIDBook(t, id)
{
	loadPage('/espace-membre/idbook.php?action=add&t=' + t + '&id=' + id, 'idbook');
}



function removeFromIDBook(t, id)
{
	loadPage('/espace-membre/idbook.php?action=remove&t=' + t + '&id=' + id, 'idbook');
}





function addToSujetsSurveilles(a, id, v)
{
	if (gE('resAddSurveille'))
		loadPage('/forum-grossesse/surveilles.edit.php?action=' + a + '&id=' + id + '&v=' + (v ? v : ''), 'resAddSurveille');
	else
		loadPage('/forum-grossesse/surveilles.edit.php?action=' + a + '&id=' + id + '&v=' + (v ? v : ''));
}






function envoiAmie(t, url)
{
	if (!url)
		url = document.location;
	window.open('/envoi_amie.php?t=' + escape(t) + '&url=' + escape(url), '', 'width=400px,height=350px');
	return false;
}










var syncLibelleVar = new Object();
function syncLibelle(obj, libelle, length)
{
	if (!syncLibelleVar[libelle])
		syncLibelleVar[libelle] = new Object();
	clearTimeout(syncLibelleVar[libelle].timeout);
	syncLibelleVar[libelle].obj = obj;
	syncLibelleVar[libelle].libelle = libelle;
	syncLibelleVar[libelle].length = length;
	
	syncLibelleVar[libelle].timeout = setTimeout("_syncLibelle(syncLibelleVar['" + libelle + "'].obj, syncLibelleVar['" + libelle + "'].libelle, syncLibelleVar['" + libelle + "'].length)", 100);
}

function _syncLibelle(obj, libelle, length)
{
	var v = obj.value ? obj.value.replace(/&/gi, '&amp;').replace(/</gi, '&lt;').replace(/>/gi, '&gt;').replace(/ /gi, '&nbsp;') : '&nbsp;';
	if (length &&
			v.length > length)
	{
		v = v.substr(0, length - 2) + '...';
	}
	gE(libelle).innerHTML = v;
}
