/* Cache tous les éléments de la classe demandée */
function hide_class(classe)
{
	if(getElementsByClass(classe) != null)
	{
		var arr = getElementsByClass(classe);
		var long = arr.length;
				
		for(i = 0; i < long;i++)
		{
			arr[i].style.visibility='hidden';
			arr[i].style.display='none';
		}
	}
}

/* Affiche tous les éléments de la classe demandée */
function show_class(classe)
{
	if(getElementsByClass(classe) != null)
	{
		var arr = getElementsByClass(classe);
		var long = arr.length;
				
		for(i = 0; i < long;i++)
		{
			arr[i].style.visibility='visible';
			arr[i].style.display='block';
		}
	}
}
/* Récupère tous les éléments d'une classe */
function getElementsByClass(searchClass,node,tag) {
  var classElements = new Array();
  if (node == null)
    node = document;
  if (tag == null)
    tag = '*';
  var els = node.getElementsByTagName(tag);
  var elsLen = els.length;
  var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
  for (i = 0, j = 0; i < elsLen; i++) {
    if (pattern.test(els[i].className) ) {
      classElements[j] = els[i];
      j++;
    }
  }
  return classElements;
}

/* Affiche l'id spécifié */
function show_id(id)
{
	if(document.getElementById(id) != null)
	{
		document.getElementById(id).visibility='visible';
		document.getElementById(id).style.display='block';
	}
}

/* Cache l'id spécifié */
function hide_id(id)
{
	if(document.getElementById(id) != null)
	{
		document.getElementById(id).visibility='hidden';
		document.getElementById(id).style.display='none';
	}
}

/* Affiche les détails d'un utilisateur */
function show_details(id)
{
	show_id(id);
	document.getElementById('lien_'+id).href;
	document.getElementById('lien_'+id).href = 'javascript:hide_details('+id+')';
	document.getElementById('span_'+id).innerHTML = 'Masquer les détails';
}

/* Masque les détails d'un utilisateur */
function hide_details(id)
{
	hide_id(id);
	document.getElementById('lien_'+id).href = 'javascript:show_details('+id+')';
	document.getElementById('span_'+id).innerHTML = 'Afficher les détails';
}

/* Affiche les détails d'un utilisateur */
function show_plus(id,text_more,text_less)
{
	show_id(id);
	document.getElementById('lien_'+id).href;
	document.getElementById('lien_'+id).href = "javascript:hide_plus('"+id+"','"+text_more+"','"+text_less+"');show_id('short_"+id+"');";
	document.getElementById('lien_'+id).innerHTML = text_less;
}

/* Masque les détails d'un utilisateur */
function hide_plus(id,text_more,text_less)
{
	hide_id(id);
	document.getElementById('lien_'+id).href = "javascript:show_plus('"+id+"','"+text_more+"','"+text_less+"');hide_id('short_"+id+"');";
	document.getElementById('lien_'+id).innerHTML = text_more;
}

/* Affiche les infos */
function show_infos(id)
{
	show_id(id);
	document.getElementById('lien_'+id).href;
	document.getElementById('lien_'+id).href = 'javascript:hide_infos('+id+')';
	document.getElementById('span_'+id).innerHTML = 'Pour masquer les informations, cliquez ici';
}

/* Masque les infos */
function hide_infos(id)
{
	hide_id(id);
	document.getElementById('lien_'+id).href = 'javascript:show_infos('+id+')';
	document.getElementById('span_'+id).innerHTML = 'Pour avoir plus d\'informations, cliquez ici';
}

/* Mets en avant l'id spécifié (pour les drapeaux) */
function degrise_id(id)
{
	if(document.getElementById(id) != null)
	{
		document.getElementById(id).className = 'actif Imager';
	}
}

/* Mets en grisé l'id spécifié (pour les drapeaux) */
function grise_id(id)
{
	if(document.getElementById(id) != null)
	{
		document.getElementById(id).className = 'inactif Imager';
	}
}

/* Insertion BBCODE */
function insertion(repdeb, repfin, area, lang)
{	
	if(area == 'blog')
	{
		var input = document.getElementById('text_'+lang);
	}
  	var repfin = '';
  	input.focus();
  	
  	/* MAJ des champs hidden */
  	formulaire.Text_fr_Edit.value = 'TRUE';
  	formulaire.Text_de_Edit.value = 'TRUE';
  	formulaire.Text_uk_Edit.value = 'TRUE';
  	
  /* pour l'Explorer Internet */
  if(typeof document.selection != 'undefined') {
    /* Insertion du code de formatage */
    var range = document.selection.createRange();
    var insText = range.text;
    range.text = repdeb + insText + repfin;
    /* Ajustement de la position du curseur */
    range = document.selection.createRange();
    if (insText.length == 0) {
      range.move('character', -repfin.length);
    } else {
      range.moveStart('character', repdeb.length + insText.length + repfin.length);
    }
    range.select();
  }
  /* pour navigateurs plus récents basés sur Gecko*/
  else if(typeof input.selectionStart != 'undefined')
  {
    /* Insertion du code de formatage */
    var start = input.selectionStart;
    var end = input.selectionEnd;
    var insText = input.value.substring(start, end);
    input.value = input.value.substr(0, start) + repdeb + insText + repfin + input.value.substr(end);
    /* Ajustement de la position du curseur */
    var pos;
    if (insText.length == 0) {
      pos = start + repdeb.length;
    } else {
      pos = start + repdeb.length + insText.length + repfin.length;
    }
    input.selectionStart = pos;
    input.selectionEnd = pos;
  }
  /* pour les autres navigateurs */
  else
  {
    /* requête de la position d'insertion */
    var pos;
    var re = new RegExp('^[0-9]{0,3}$');
    while(!re.test(pos)) {
      pos = prompt("Insertion à la position (0.." + input.value.length + "):", "0");
    }
    if(pos > input.value.length) {
      pos = input.value.length;
    }
    /* Insertion du code de formatage */
    var insText = prompt("Veuillez entrer le texte à formater:");
    input.value = input.value.substr(0, pos) + repdeb + insText + repfin + input.value.substr(pos);
  }
}

function controle(attr)
{
	var year_start = document.getElementById('year_'+attr).value;
	var month_start = document.getElementById('month_'+attr).value;
	var day_start = document.getElementById('day_'+attr).value;
	if(year_start != '')
	{
		/* Enlever le grisage */
		document.getElementById('month_'+attr).disabled = false;
		
		if(month_start != '')
		{
			/* Enlever le grisage */
			document.getElementById('day_'+attr).disabled  = false;
						
			if(bissextile(year_start) && month_start == 2)
			{
			    /* On passe à 29 jours */
			    document.getElementById('day_'+attr).options[29] = new Option('29','29');
			    document.getElementById('day_'+attr).options[30] = null;
			    document.getElementById('day_'+attr).options[30] = null;
			}
			if(!bissextile(year_start) && month_start == 2)
			{
			    /* On passe à 28 jours */
			    document.getElementById('day_'+attr).options[29] = null;
			    document.getElementById('day_'+attr).options[29] = null;
			    document.getElementById('day_'+attr).options[29] = null;
			}
			if(month_start == 1 || month_start == 3 || month_start == 5 || month_start == 7 || month_start == 8 || month_start == 10 || month_start == 12)
			{
			    /* On passe à 31 jours */
			    document.getElementById('day_'+attr).options[29] = new Option('29','29');
			    document.getElementById('day_'+attr).options[30] = new Option('30','30');
			    document.getElementById('day_'+attr).options[31] = new Option('31','31');
			}
			if(month_start == 4 || month_start == 6 || month_start == 9 || month_start == 11)
			{
			    /* On passe à 30 jours */
			    if(document.getElementById('day_'+attr).options[31] != null)
			    {
			    	document.getElementById('day_'+attr).options[31] = null;
			    }
			    else
			    {
			    	document.getElementById('day_'+attr).options[29] = new Option('29','29');
			    	document.getElementById('day_'+attr).options[30] = new Option('30','30');
			    }
			}
		}
		else
		{
			/* Remettre le select à 0 */
			document.getElementById('day_'+attr).options[0].selected = true;
			/* Remettre le grisage */
			document.getElementById('day_'+attr).disabled  = true;
		}
	}
	else
	{
	    /* Remettre les select à 0 */
	    document.getElementById('month_'+attr).options[0].selected = true;
	    document.getElementById('day_'+attr).options[0].selected = true;
	    /* Remettre le grisage */
	    document.getElementById('month_'+attr).disabled  = true;
	    document.getElementById('day_'+attr).disabled  = true;
	}
}

function is_int(input){
    return typeof(input)=='number'&&parseInt(input)==input;
  }	

function bissextile(annee)
{
	if((is_int(annee/4) && !is_int(annee/100)) || is_int(annee/400))
	{
		// Année bissextile
		return true;
	}
	else
	{
		// Année NON bissextile
		return false;
	}
}

function emptyfield(fieldid)
{
	if(document.getElementById(fieldid) != null && fieldid != 'body')
	{
		document.getElementById(fieldid).value = '';
		/*
		if(document.getElementById('prenom').value == '' && fieldid != 'prenom')
		{
		document.getElementById('prenom').value = 'Tapez votre prénom ici';
		}
		
		if(document.getElementById('nom').value == '' && fieldid != 'nom')
		{
		document.getElementById('nom').value = 'Tapez votre nom ici';
		}
		
		if(document.getElementById('email').value == '' && fieldid != 'email')
		{
		document.getElementById('email').value = 'Tapez votre adresse e-mail ici';
		}
		
		if(document.getElementById('sujet').value == '' && fieldid != 'sujet')
		{
		document.getElementById('sujet').value = 'Tapez l\'objet de votre message';
		}*/	
	}
	/*
	if(fieldid == 'body')
	{
		if(document.getElementById('nom').value == '' && fieldid != 'nom')
		{
		document.getElementById('nom').value = 'Tapez votre nom ici';
		}
		
		if(document.getElementById('prenom').value == '' && fieldid != 'prenom')
		{
		document.getElementById('prenom').value = 'Tapez votre prénom ici';
		}
		
		if(document.getElementById('nom').value == '' && fieldid != 'nom')
		{
		document.getElementById('nom').value = 'Tapez votre nom ici';
		}
		
		if(document.getElementById('email').value == '' && fieldid != 'email')
		{
		document.getElementById('email').value = 'Tapez votre adresse e-mail ici';
		}
		
		if(document.getElementById('sujet').value == '' && fieldid != 'sujet')
		{
		document.getElementById('sujet').value = 'Tapez l\'objet de votre message';
		}	
	}*/
}

function bbcode(bbdebut, bbfin, area)
{
	if(area == 'cv')
	{
		if(document.getElementById('selected_fr').value == 1){var div = 'fr';}
		else if(document.getElementById('selected_uk').value == 1){var div = 'uk';}
		else if(document.getElementById('selected_de').value == 1){var div = 'de';}
		var input = document.getElementById(area+'_'+div);
	}
	
	if(area == 'atelier')
	{
		if(document.getElementById('selected_fr').value == 1){var div = 'fr';}
		else if(document.getElementById('selected_uk').value == 1){var div = 'uk';}
		else if(document.getElementById('selected_de').value == 1){var div = 'de';}
		var input = document.getElementById('text_'+div);
	}
	
	input.focus();
	if(typeof document.selection != 'undefined')
	{
		var range = document.selection.createRange();
		var insText = range.text;
		range.text = bbdebut + insText + bbfin;
		range = document.selection.createRange();
		if (insText.length == 0)
		{
			range.move('character', -bbfin.length);
		}
		else
		{
			range.moveStart('character', bbdebut.length + insText.length + bbfin.length);
		}
		range.select();
	}
	else if(typeof input.selectionStart != 'undefined')
	{
		var start = input.selectionStart;
		var end = input.selectionEnd;
		var insText = input.value.substring(start, end);
		input.value = input.value.substr(0, start) + bbdebut + insText + bbfin + input.value.substr(end);
		var pos;
		if (insText.length == 0)
		{
			pos = start + bbdebut.length;
		}
		else
		{
			pos = start + bbdebut.length + insText.length + bbfin.length;
		}
		input.selectionStart = pos;
		input.selectionEnd = pos;
	}
	else
	{
		var pos;
		var re = new RegExp('^[0-9]{0,3}$');
		while(!re.test(pos))
		{
			pos = prompt("insertion (0.." + input.value.length + "):", "0");
		}
		if(pos > input.value.length)
		{
			pos = input.value.length;
		}
		var insText = prompt("Veuillez taper le texte");
		input.value = input.value.substr(0, pos) + bbdebut + insText + bbfin + input.value.substr(pos);
	}
}
