
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 _showDate()
{
//	if(! document.getElementById('dateid')) return;
//	var _dateobj = document.getElementById('dateid');

	var output = '<font class="date">';

	var date_day = new Date();
	var month = date_day.getMonth();
	var date = date_day.getDate();
	var day = date_day.getDay();

	output += day_names[day]+' '+date+' '+month_names[month]+'</font>';
	return(output);
}

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
}
