function expired_session(url)
{
	alert("Votre session a expiré. Cliquez sur OK pour retourner à la page d'accueil");
	window.location.replace(url);
}


function image_viewer_show(photolist,index)
{
	var bnext=true;
	var bprev=true;
	var img=document.getElementById('image_viewer_image');
	img.style.visibility='hidden';
	if(photolist.length<index-1)
		index=photolist.length-1;
	if(photolist.length==1)
		bnext=bprev=false;
	if(index==0)
		bprev=false;
	if(index==photolist.length-1)
		bnext=false;
	if(bprev)
	{
		document.getElementById('image_viewer_previous').style.visibility='visible';
		var jsonarray="[ ";
		for(i=0;i<photolist.length;i++)
		{
			jsonarray+="['"+photolist[i][0]+"','"+photolist[i][1]+"']";
			if(i!=photolist.length-1)
				jsonarray+=" , ";
		}
		jsonarray+=" ]";
		document.getElementById('image_viewer_previous').setAttribute('onclick','image_viewer_show('+jsonarray+','+(index-1)+');'); // pour Firefox & Safari
		var jsonarray=new Array();
		for(i=0;i<photolist.length;i++)
			jsonarray[i]=new Array(photolist[i][0],photolist[i][1]);
		document.getElementById('image_viewer_previous').onclick=function() { image_viewer_show(jsonarray,(index-1)); }; // pour IE
	}
	else
		document.getElementById('image_viewer_previous').style.visibility='hidden';
	if(bnext)
	{
		document.getElementById('image_viewer_next').style.visibility='visible';
		var jsonarray="[ ";
		for(i=0;i<photolist.length;i++)
		{
			jsonarray+="['"+photolist[i][0]+"','"+photolist[i][1]+"']";
			if(i!=photolist.length-1)
				jsonarray+=" , ";
		}
		jsonarray+=" ]";
		document.getElementById('image_viewer_next').setAttribute('onclick','image_viewer_show('+jsonarray+','+(index+1)+');'); // pour Firefox & Safari
		var jsonarray=new Array();
		for(i=0;i<photolist.length;i++)
			jsonarray[i]=new Array(photolist[i][0],photolist[i][1]);
		document.getElementById('image_viewer_next').onclick=function() { image_viewer_show(jsonarray,(index+1)); }; // pour IE
	}
	else
		document.getElementById('image_viewer_next').style.visibility='hidden';

	jQuery('#image_viewer').fadeIn('normal');
	img.src=photolist[index][0];
	var img_h = img.height;
	var win_h=window.innerHeight;
	
//	img.style.marginTop=(win_h-img_h)/2+'px';
	img.setAttribute("marginTop", (win_h-img_h)/2 + "px", false);


	img.style.visibility='visible';
	document.getElementById('image_viewer_legend').innerHTML=photolist[index][1];
	document.getElementById('image_viewer_pager').innerHTML=(index+1)+" / "+photolist.length;
}

function image_viewer_hide()
{
	jQuery('#image_viewer').fadeOut('normal');
//	document.getElementById('image_viewer').style.display = 'none'; 	
//	document.getElementById('image_viewer_image').style.display = 'none'; 
}

function NumberOnly(myfield, e, dec)
{
	var key;
	var keychar;

	if (window.event)
	   key = window.event.keyCode;
	else if (e)
	   key = e.which;
	else
	   return true;
	keychar = String.fromCharCode(key);

	// control keys
	if ((key==null) || (key==0) || (key==8) || 
	    (key==9) || (key==13) || (key==27) )
	   return true;

	// numbers
	else if ((("0123456789").indexOf(keychar) > -1))
	   return true;

	// decimal point jump
	else if (dec && (keychar == "."))
	   {
	   myfield.form.elements[dec].focus();
	   return false;
	   }
	else
	   return false;
}

function NoNumber(e)
{
	var key;
	var keychar;

	if (window.event)
	   key = window.event.keyCode;
	else if (e)
	   key = e.which;
	else
	   return true;
	keychar = String.fromCharCode(key);

//document.getElementById('inscrire_username').value="key:"+key+" keychar:"+keychar; // pour debuggage : affichage dans l'identifiant

	// control keys
	if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) )
	   return true;
	// numbers
	else if ((("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZéèàùçäëïöüâêîôû -'").indexOf(keychar) > -1))
	   return true;
	else
		return false;
}

// from: http://jdstiles.com/java/angledtext2.html
var angled_text_id = 0;
function displayTextDiagonal (text, down, deg, lsp) {
  deg = deg || 45;
  deg = Math.PI / 180 * deg;
  lsp = lsp || 10;
  dy = lsp * Math.tan(deg);
  var html = '';
  html += '<DIV ID="td' + angled_text_id + '"' + ' CLASS="positioned"' + '>';
  if (down) {
    for (var r = 0; r < text.length; r++) {
      html += '<SPAN ID="td' + angled_text_id + r 
             + '" CLASS="positioned" STYLE="left: ' 
             + (r * lsp) + 'px; top: ' + (r * dy) + 'px;">'; 
      html += text.charAt(r);
      html += '</SPAN>';
    }
  }
  else {
    for (var r = 0; r < text.length; r++) {
      html += '<SPAN ID="td' + angled_text_id + r 
              + '" CLASS="positioned" STYLE="left: ' 
              + (r * lsp) + 'px; top: ' 
              + ((text.length - r) * dy) + 'px;">'; 
      html += text.charAt(r);
      html += '</SPAN>';
    }
  }
  html += '<\/DIV>';
  angled_text_id++;
  document.write(html);
}

function sleep (milliseconds) {
    var start = new Date().getTime();
    while (new Date() < start + milliseconds) {}
    return 0;}

function deg2rad (angle) { return (angle/180)*Math.PI; }