
var _userMenu = false;
var _overlayUrl = '';
var _mouseX, _mouseY;

var month_names = new Array(' janvier ', ' février ', ' mars ', ' avril ', ' mai ', ' juin ', ' juillet ', ' août ', ' septembre ', ' octobre ', ' novembre ', ' décembre ');
var day_names = new Array('dimanche ', 'lundi ', 'mardi ', 'mercredi ', 'jeudi ', 'vendredi ', 'samedi ');

document.onmousemove=function(event){getMouse(event);}




function resignConfirm(gid, uid)
{
	var width = 300;
	var height = 150;
	var text = '';
	if(! document.getElementById('overlayid')) return;
	var _alertobj = document.getElementById('overlayid');

	text = '<table width="200" align="center" cellpadding="0" cellspacing="0">';
	text += '<tr><td colspan="2" height="100" valign="middle" align="center"><b>Etes-vous sûr de vouloir abandonner cette partie ?</b></td></tr>';
	text += '<tr><td width="50%" align="center" height="50" valign="middle"><a href="./showgame.php?action=resign&gid='+gid+'&uid='+uid+'">Oui</a></td>';
	text += '<td width="50%" align="center" height="50" valign="middle"><a href="./showgame.php?gid='+gid+'">Non</a></td></tr>';
	text += '</table>';
	_alertobj.innerHTML = text;
	_alertobj.style.width = width;
	_alertobj.style.height = height;
	_alertobj.style.left = 250;
	_alertobj.style.top = 250;
	_alertobj.style.display = 'block';
}

function getMouse(e)
{
	var x,y;
	var elt = document.documentElement;
	if ( document.captureEvents ) {
		x = e.pageX;
		y = e.pageY;
	} else if ( window.event.clientX ) {
		x = window.event.clientX+elt.scrollLeft;
		y = window.event.clientY+elt.scrollTop;
	}
	_mouseX = x;
	_mouseY = y;
}

function datetime_hmsJMA()
                {
		var date = new Date();

                var annee    = date.getFullYear();
		var mois     = date.getMonth();
		var jour     = date.getDate();
                var ljour    = "   ";
                var day      = date.getDay();
                var heures   = date.getHours();
		var minutes  = date.getMinutes();
		var secondes = date.getSeconds();
                var millisecondes = date.getMilliseconds();

               	if (heures < 10){
			heures = "0" + heures;
		}

		if (minutes < 10){
			minutes = "0" + minutes;
		}

		if (secondes < 10){
			secondes = "0" + secondes;
		}
                if (millisecondes < 10){
			millisecondes = "0" + millisecondes;
		}
                if (millisecondes < 100){
			millisecondes = "0" + millisecondes;
		}
                if (jour == "1"){
                ljour = "1er";
                }
                else {
                ljour = jour;
                }
	     // if (jour < 10){
	     // jour = "0" + jour;
             // }
             // if (mois < 10){
	     // mois = "0" + mois;
	     //	}



		document.getElementById('datetime_hmsJMA').innerHTML =
                "Il est " + heures + ":" + minutes + ":" + secondes + " " +
                " le " + day_names[day] + " " + ljour + " " + month_names[mois] + " " + annee;

		setTimeout("datetime_hmsJMA()", 1);
		}

function waitTime_refresh(seconds)
        {
        var zeconds= seconds;

     // date actuelle :
        var now= new Date();
        var time_now= now.getTime();

        var reste= zeconds - (time_now / 1000);

        if (reste >= 0)
          {
          var days= Math.floor(reste / 3600 / 24);
          reste= reste % (3600*24);
          var hours= Math.floor(reste / 3600);
          reste= reste % 3600;
          var mins= Math.floor(reste / 60);
          var reste = reste % 60;
          var secs = Math.floor(reste);
          document.getElementById('waitTime_refresh').innerHTML =
          days + "j " + hours + "h " + mins + "m " + secs + "s";
          }
        else
          {
          document.getElementById('waitTime_refresh').innerHTML = "0j 0h 0m 0s";
          }

        setTimeout("waitTime_refresh(seconds)",500);
        }

function set_rebours()
        {
 // date actuelle :
    var now= new Date();
    var time_now= now.getTime();

 // date cible : début coupe du Monde football France le 11 juin à 20h30
 // var libelle_cible = "COUPE DU MONDE *** Vendredi 11 juin / 20h30 ***";
 // var jourJ= new Date(2010, 5, 11, 20, 30, 0);  // janvier=0 > décembre=11

 // date cible : début de l'été le 21 juin à 13h29 GMT+2
 // var libelle_cible = "DEBUT DE L'ETE *** Lundi 21 juin / 13h29 GMT+2 ***";
 // var jourJ= new Date(2010, 5, 21, 13, 29, 0);   // janvier=0 > décembre=11

 // date cible : départ 1ère étape du Tour de France le 3 juillet à 16h30 GMT+2
 // var libelle_cible = "DEPART DU TOUR *** Samedi 3 juillet / 16h30 GMT+2 ***";
 // var jourJ= new Date(2010, 6, 3, 16, 30, 0);   // janvier=0 > décembre=11

 // date cible : fin des temps calendrier Maya le 21 décembre 2012 à 06h00 GMT+1
    var libelle_cible = "FIN DES TEMPS??? MAYA *** Vendredi 21 décembre 2012 / 06h00 GMT+1 ***";
    var jourJ= new Date(2012, 11, 21, 6, 0, 0);   // janvier=0 > décembre=11


        var time_jourJ= jourJ.getTime();

        var reste= (time_jourJ - time_now) / 1000;

     // libellé cible :
        if (reste >= 0)
          {
          var days= Math.floor(reste / 3600 / 24);
          reste= reste % (3600*24);
          var hours= Math.floor(reste / 3600);
          reste= reste % 3600;
          var mins= Math.floor(reste / 60);
          var reste = reste % 60;
          var secs = Math.floor(reste);
          document.getElementById('set_rebours').innerHTML =
          libelle_cible + " JourJ - " + days + "j " + hours + "h " + mins + "m " + secs + "s";
          }
        else
          {
          reste = -1 * reste;
          var days= Math.floor(reste / 3600 / 24);
          reste= reste % (3600*24);
          var hours= Math.floor(reste / 3600);
          reste= reste % 3600;
          var mins= Math.floor(reste / 60);
          var reste = reste % 60;
          var secs = Math.floor(reste);
          document.getElementById('set_rebours').innerHTML =
          libelle_cible + " JourJ + " + days + "j " + hours + "h " + mins + "m " + secs + "s";
          }

	setTimeout("set_rebours()",500);

}

function toggleUserMenu()
{
	if(_userMenu)
	{
		_userMenu = false;
		_hide_alert();
	}
	else
	{
		_userMenu = true;
		showUserMenu();
	}

}

function bWidth()
{
	if (navigator.appName=="Netscape") return(window.innerWidth);
	else if (navigator.appName.indexOf("Microsoft")!=-1) return(document.body.offsetWidth);
	else return(1024);
/*  winW = window.innerWidth;
  winH = window.innerHeight;
 }
 if (navigator.appName.indexOf("Microsoft")!=-1) {
  winW = document.body.offsetWidth;
  winH = document.body.offsetHeight;
 }*/

}

function _hide_overlay()
{
	if(! document.getElementById('overlayid')) return;
	var _alertobj = document.getElementById('overlayid');

	_alertobj.style.display = 'none';
}

function _toggle_overlay(url, width, height, left, top)
{
	if(! document.getElementById('overlayid')) return;
	var _alertobj = document.getElementById('overlayid');

	if(_alertobj.style.display == 'block' && url == _overlayUrl) {_alertobj.style.display = 'none'; _overlayUrl = ''; return;}

	var fheight = height - 20;
	_overlayUrl = url;

	var output = '<table width="'+width+'" cellpadding="0" cellspacing="0">';
	output += '<tr><td align="right" height="20" valign="middle"><a href="javascript:" onclick="_hide_overlay(); return(false);"><img src="./images/bg/close.gif" border="0" alt="Fermer" style="margin-right: 5px;"></a></td></tr>';
	output += '<tr><td>';
	output += '<iframe align="center" id="frameid" src="'+url+'" width="'+width+'" height="'+fheight+'" frameborder="0" scrolling="auto"></iframe>';
	output += '</td></tr>';
	output += '</table>';

	_alertobj.innerHTML = output;
	_alertobj.style.width = width;
	_alertobj.style.height = height;
	_alertobj.style.left = left;
	_alertobj.style.top = top;
	_alertobj.style.display = 'block';

}

/* draws the overlay div, with an innerovlyid div to be filled by ajax */
function createOverlay(title, width, height, left, top, icon)
{
	if(! document.getElementById('overlayid')) return;
	var _alertobj = document.getElementById('overlayid');

	var output = '<table width="'+width+'" cellpadding="0" cellspacing="0">';
	output += '<tr><td>';
	output += '<table width="100%" align="center" cellpadding="0" cellspacing="0">';
	output += '<tr class="ovly_header"><td width="30" height="40" align="left"><img src="'+icon+'" border="0" alt="" style="margin-left: 5px;"></td><td align="center" valign="middle"><font class="ovly_title">'+title+'</font></td><td width="30" align="right" valign="middle"><a href="javascript:" onclick="_hide_overlay(); return(false);"><img src="./images/icons/cancel.png" border="0" alt="Fermer" style="margin-right: 5px;"></a></td></tr>';
	output += '</table>';
	output += '</td></tr>';
//	output += '<tr><td id="innerovlyid">';
	output += '<td>';
	output += '<div id="innerovlyid"></div>';
	output += '<tr><td id="innerovlyid">';
	output += '</td></tr>';
	output += '</table>';

	_alertobj.innerHTML = output;
	_alertobj.style.width = width;
	_alertobj.style.height = height;
	_alertobj.style.left = left;
	_alertobj.style.top = top;
	_alertobj.style.display = 'block';

}

function getEl(elRef)
	{
	if(typeof elRef=='string'){
		if(document.getElementById(elRef))return document.getElementById(elRef);
		if(document.forms[elRef])return document.forms[elRef];
		if(document[elRef])return document[elRef];
		if(window[elRef])return window[elRef];
	}
	return elRef;	// Return original ref.

}

function getValuesAsArray(formRef)
{
	var retArray = new Object();
	formRef = getEl(formRef);
	var els = formRef.elements;
	for(var no=0;no<els.length;no++){
		if(els[no].disabled)continue;
		var tag = els[no].tagName.toLowerCase();
		switch(tag){
			case "input":
				var type = els[no].type.toLowerCase();
				if(!type)type='text';
				switch(type){
					case "text":
					case "image":
					case "hidden":
					case "password":
						retArray[els[no].name] = els[no].value;
						break;
					case "checkbox":
						var boxes = this.getFamily(els[no],formRef);
						if(boxes.length>1){
							retArray[els[no].name] = new Array();
							for(var no2=0;no2<boxes.length;no2++){
								if(boxes[no2].checked){
									var index = retArray[els[no].name].length;
									retArray[els[no].name][index] = boxes[no2].value;
								}
							}
						}else{
							if(els[no].checked)retArray[els[no].name] = els[no].value;
						}
						break;
					case "radio":
						if(els[no].checked)retArray[els[no].name] = els[no].value;
						break;

				}
				break;
			case "select":
				var string = '';
				var mult = els[no].getAttribute('multiple');
				if(mult || mult===''){
					retArray[els[no].name] = new Array();
					for(var no2=0;no2<els[no].options.length;no2++){
						var index = retArray[els[no].name].length;
						if(els[no].options[no2].selected)retArray[els[no].name][index] = els[no].options[no2].value;
					}
				}else{
					retArray[els[no].name] = els[no].options[els[no].selectedIndex].value;
				}
				break;
			case "textarea":
				retArray[els[no].name] = els[no].value;
				break;
		}
	}
	return retArray;
}

function submitForm(formname, url)
{
	if(! document.getElementById('innerovlyid')) return;
	var overlayobj = document.getElementById('innerovlyid');

	var formObj = document.getElementById(formname);
	var els = getValuesAsArray(formObj);

	var data = '';
	var ndata = 0;
	for(var prop in els)
	{
		if(ndata > 0) data += '&';
		data += prop+'='+els[prop].toString();
		ndata ++;
	}

	var xhr = getXhr();
	if(!xhr) return;
	xhr.onreadystatechange = function()
	{
		if(xhr.readyState == 4 && xhr.status == 200)
		{
			overlayobj.innerHTML = xhr.responseText;
		}
	}
	xhr.open( "post", url, false );
	xhr.setRequestHeader( 'Content-Type',     'application/x-www-form-urlencoded; charset=UTF-8' );
	xhr.send(data);
//	overlayobj.innerHTML = '<div align="center">Traitement...<br><img src="./images/ajax-loader.gif" alt="" border=""></div>';
	}

/* ajax call to disaply overlay content */
function _toggle_ovly(title, url, width, height, left, top, icon)
{
	createOverlay(title, width, height, left, top, icon);

	if(! document.getElementById('innerovlyid')) return;
	var _innerObj = document.getElementById('innerovlyid');

//	alert(url);

	var xhr = getXhr();
	xhr.onreadystatechange = function()
	{
		if(xhr.readyState == 4 && xhr.status == 200)
		{
			var fheight = height - 20;

			_innerObj.innerHTML = xhr.responseText;
		}
	}
	xhr.open("GET",url,true);
	xhr.send(null);
	_innerObj.innerHTML = '<div align="center">Chargement...<br><img src="./images/ajax-loader.gif" alt="" border=""></div>';
}

/*
function _toggle_ovly(title, url, width, height, left, top, icon)
{
	if(! document.getElementById('overlayid')) return;
	var _alertobj = document.getElementById('overlayid');

	if(_alertobj.style.display == 'block' && url == _overlayUrl) {_alertobj.style.display = 'none'; return;}

	var xhr = getXhr();
	xhr.onreadystatechange = function()
	{
		if(xhr.readyState == 4 && xhr.status == 200)
		{
			var fheight = height - 20;

			var output = '<table width="'+width+'" cellpadding="0" cellspacing="0">';
			output += '<tr><td>';
			output += '<table width="100%" align="center" cellpadding="0" cellspacing="0">';
			output += '<tr class="ovly_header"><td width="30" height="40" laign="left"><img src="'+icon+'" border="0" alt="" style="margin-left: 5px;"></td><td align="center" valign="middle"><font class="ovly_title">'+title+'</font></td><td width="30" align="right" valign="middle"><a href="javascript:" onclick="_hide_overlay(); return(false);"><img src="./images/icons/cancel.png" border="0" alt="Fermer" style="margin-right: 5px;"></a></td></tr>';
			output += '</table>';
			output += '</td></tr>';
			output += '<tr><td>';
			output += xhr.responseText;
			output += '</td></tr>';
			output += '</table>';

			_alertobj.innerHTML = output;
			_alertobj.style.width = width;
			_alertobj.style.height = height;
			_alertobj.style.left = left;
			_alertobj.style.top = top;
			_alertobj.style.display = 'block';
		}
	}
	xhr.open("GET",url,true);
	xhr.send(null);
			var output = '<table width="'+width+'" cellpadding="0" cellspacing="0">';
			output += '<tr><td>';
			output += '<table width="100%" align="center" cellpadding="0" cellspacing="0">';
			output += '<tr class="ovly_header"><td width="30" height="40" laign="left"><img src="'+icon+'" border="0" alt="" style="margin-left: 5px;"></td><td align="center" valign="middle"><font class="ovly_title">'+title+'</font></td><td width="30" align="right" valign="middle"><a href="javascript:" onclick="_hide_overlay(); return(false);"><img src="./images/icons/cancel.png" border="0" alt="Fermer" style="margin-right: 5px;"></a></td></tr>';
			output += '</table>';
			output += '</td></tr>';
			output += '<tr><td height="50" align="center" valign="middle">';
			output += 'Chargement...<br>';
			output += '<img src="./images/ajax-loader.gif" alt="" border="">';
			output += '</td></tr>';
			output += '</table>';
			_alertobj.innerHTML = output;
			_alertobj.style.width = width;
			_alertobj.style.height = height;
			_alertobj.style.left = left;
			_alertobj.style.top = top;
			_alertobj.style.display = 'block';

}*/

function _hide_help()
{
	if(! document.getElementById('helpid')) return;
	var _alertobj = document.getElementById('helpid');

	_alertobj.style.display = 'none';
}

function _toggle_help(title, text)
{
	if(! document.getElementById('helpid')) return;
	var _alertobj = document.getElementById('helpid');

	if(_alertobj.style.display == 'block') {_alertobj.style.display = 'none'; return;}

	var output = '<table width="305" cellpadding="0" cellspacing="0">';
	output += '<tr style="background-image: url(\'images/bg/bulle_tl_l1.gif\');"><td align="center" height="45" valign="middle">&nbsp;</td></tr>';
	output += '<tr style="background-image: url(\'images/bg/bulle_tl_l2.gif\');"><td align="center" height="30" valign="middle"><b>'+title+'</b></td></tr>';
	output += '<tr style="background-image: url(\'images/bg/bulle_tl_l3.gif\'); background-repeat:repeat-y;"><td align="left" valign="top" style="padding-left: 15px; padding-right: 15px;"><font class="small">'+text+'</font></td></tr>';
	output += '<tr style="background-image: url(\'images/bg/bulle_tl_l4.gif\');"><td align="center" height="40" valign="middle"><a href="javascript:" onclick="_hide_help(); return(false);">Fermer</a></td></tr>';
	output += '</table>';

	var left = _mouseX;
	var top = _mouseY;

	_alertobj.innerHTML = output;
//	_alertobj.style.width = width;
//	_alertobj.style.height = height;
	_alertobj.style.left = left;
	_alertobj.style.top = top;
	_alertobj.style.display = 'block';

}

function showUserMenu()
{
	var output = '';
	output += '<table width="100%" align="center" cellpadding="0" cellspacing="1" class="menutable">';
	output += '<tr><td width="200" height="40" valign="middle" align="center" class="menucell"><a href="./mygames.php">Mes parties</a></td></tr>';
	output += '<tr><td width="200" height="40" valign="middle" align="center" class="menucell"><a href="./messages.php">Mes messages</a></td></tr>';
	output += '<tr><td width="200" height="40" valign="middle" align="center" class="menucell"><a href="./profil.php">Mon profil</a></td></tr>';
	output += '<tr><td width="200" height="40" valign="middle" align="center" class="menucell"><a href="./logout.php">Déconnexion</a></td></tr>';
	output += '</table>';
	_show_alert(output, 200, 160);
}

function _show_centered_alert(text, width, height)
{
	if(! document.getElementById('alertid')) return;
	var _alertobj = document.getElementById('alertid');

	var bw = bWidth();
	_alertobj.innerHTML = text;
	_alertobj.style.width = width;
	_alertobj.style.height = height;
	_alertobj.style.left = (bw - width)/2;
	_alertobj.style.top = 300;
	_alertobj.style.display = 'block';

}


function _show_alert(text, width, height)
{
	if(! document.getElementById('alertid')) return;
//	if(! document.getElementById('parentid')) return;
	var _alertobj = document.getElementById('alertid');
//	var _parentobj = document.getElementById('parentid');

//	alert("test");

//	alert(_parentobj.offsetTop);
//	alert(_parentobj.offsetLeft);

//	alert(_parentobj.style);

	_alertobj.innerHTML = text;
	_alertobj.style.width = width;
	_alertobj.style.height = height;
	_alertobj.style.left = 0;
	_alertobj.style.top = 0;
	_alertobj.style.display = 'block';
}

function _hide_alert()
{
	var _alertobj = document.getElementById('alertid');
	_alertobj.style.display = 'none';
}

function getXhr()
{
	var xhr = null;
	if(window.XMLHttpRequest)  xhr = new XMLHttpRequest();
	else if(window.ActiveXObject)
	{
		try
		{
			xhr = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			xhr = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	else
	{
		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
		xhr = false;
	}
	return xhr
}
