
function montremenu(idssmenu,visi) {
newmontrelmnt(idssmenu,visi);
}

var activmenu = '';

function restmenu(idsslmnt,visi) {
var d = document.getElementById(idsslmnt);

var visu;
activmenu = idsslmnt;
if (visi == 0) {
visu = 'none';
activmenu = '';
} else visu = 'block';
d.style.display=visu;
}

function newmontrelmnt(idsslmnt,visi) { //id de l'élément à afficher, préfixe id des autres éléments
  var d = document.getElementById(idsslmnt);
  
  var visu;
  activmenu = idsslmnt;
  if (d) {
    if (visi == 0) {
      visu = 'none';
      d.style.display=visu;
      activmenu = '';
    } else {
      visu = 'block';
      thefunc = "affMenu('"+idsslmnt+"','"+visu+"')";
      setTimeout(thefunc,500);
    }
  }
}

function affMenu(ide,displ){
  if( ide && activmenu == ide ) document.getElementById(ide).style.display=displ;
}

function montrelmnt(idsslmnt,nomelmnt) { //id de l'élément à afficher, préfixe id des autres éléments
var d = document.getElementById(idsslmnt);

var visu;
if (d) if (d.style.display=='block') visu = 'none'; else visu = 'block';

	for (var i = 1; i<=10; i++) {
	 //ceci marche bien pour un petit nombre d'éléments, si beaucoup d'éléments > lent
		if (document.getElementById(nomelmnt+i)) {document.getElementById(nomelmnt+i).style.display='none';}
	}
	
if (d) d.style.display=visu;
}

function removeInlineStyle(el, attribute){
  var filter = new RegExp(attribute+"\\s?:[\\s\\w;]*;\\s",'gi');
  var style = el.attr('style');
  if( style != undefined && style.match(filter) !== null ) el.attr('style', style.replace(filter, ''));
}

function chr( ascii ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // *     example 1: chr(75);
    // *     returns 1: 'K'
 
    return String.fromCharCode(ascii);
}

/* methode post */

function ajax(url, donnees, target){
$.ajax({
  type: "POST",
  url: "ajax/" + url + ".php",
  data: donnees,
  success: function(msg){
    $('#' + target).html(msg);
  }
});
}
 /*
function ajax(url, data, target) {
	document.getElementById(target).innerHTML = '<p>chargement...</p>';
	if( document.getElementById('ib') )	affload();
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
		req.onreadystatechange = function() {ajaxDone(target);};
		req.open("POST", 'ajax/'+url+'.php', true);
		req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		req.send(data);
	// IE/Windows encore et toujours...
	} else if (window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
		if (req) {
			req.onreadystatechange = function() {ajaxDone(target);};
			req.open("POST", 'ajax/'+url+'.php', true);
			req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			req.send(data);
		}
	}
	else window.location = url+'.php';
}

function ajaxDone(target) {
	// only if req is "loaded"
	if (req.readyState == 4) {
		// only if "OK"
		if (req.status == 200 || req.status == 304) {
			results = req.responseText;
			if( target ) document.getElementById(target).innerHTML = results;
			if( document.getElementById('ib') )	nd();
		}
		else {
			if( target ) document.getElementById(target).innerHTML="erreur:\n" + req.statusText;
		}
	}
}

*/




/* miam miam! */
function cookwrite(nom, valeur)
{

	var argv = cookwrite.arguments;
	var argc = cookwrite.arguments.length;
	var expires=(argc > 2) ? argv[2] : null;
	var date = new Date;
	date.setFullYear(date.getFullYear()+1);
	(expires==0) ? date.setFullYear(date.getFullYear()-1) : '';

	document.cookie = nom + "=" + escape(valeur) + "; expires=" + date.toGMTString();
}

function cookread(nom)
{
	var arg=nom+"=";
	var alen=arg.length;
	var clen=document.cookie.length;
	var i=0;
	while (i<clen)
	{
		var j=i+alen;
		if (document.cookie.substring(i, j)==arg) return getcook(j);
		i=document.cookie.indexOf(" ",i)+1;
		if (i==0) break;
	}
	return null;
}

function getcook(offset)
{
	var endstr=document.cookie.indexOf (";", offset);
	if (endstr==-1) endstr=document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}


function xtractURLParams(datas){ //extrait les paramètres de l'URL et les renvoit dans un tableau associatif (objet)
          var m = datas.match(/.*\?([\w\-=&]+)$/);
          if ( m != null ) {
               var locationHrefParams = m[1];      
               var locationHrefArray = locationHrefParams.split("&");
               
               var Params = new Object();
               
               for (keyVar in locationHrefArray) {
                    var data = locationHrefArray[keyVar];
                    var x = data.match(/(.*)=([\w\-]+)$/);
                    Params[x[1]] = x[2];
               };
               
               return Params;
          } else return false;
}

function aleatoire(min,max){
    var nb_rand = Math.random();
    var nb = nb_rand*((max+0.5)-min)+min;
    return parseInt(nb);
}

function consol(text){
  try {
    console.info(text);
  }
  
  catch(err) {
    return false;
  }
}

$(function(){
 	
  var ox = 20;
	var oy = 25;
	var marjbas = 5;
	var marjd = 10;
	var minWidth = 100;
	var unit = 'px';
	
	var curseurWidth = $('#curseur').css('width');
  var defaultWidth = parseInt(curseurWidth.substr(0,curseurWidth.indexOf(unit)));
  
  var borderWidth = $('#curseur').css('borderTopWidth');
  var intBorderWidth = parseInt(borderWidth.substr(0,borderWidth.indexOf(unit)));
  
  var pLeft = $('#curseur').css('paddingLeft');
  var intPLeft = parseInt(pLeft.substr(0,pLeft.indexOf(unit)));
  
  var pRight = $('#curseur').css('paddingRight');
  var intPRight = parseInt(pRight.substr(0,pRight.indexOf(unit)));
    
  var totalWidth = defaultWidth + 2*intBorderWidth + intPLeft + intPRight;
  
  $('*:not(img, input)').live("mouseover", function(e){
    if( $(this).children('div.ib').length == 0 ) return false;
  
    $(this).mousemove(function(e){
      var winWidth = $(window).width();
      
      var winHeight;
      if ( $('body').height() > $(window).height() ) winHeight = $('body').height();
      else winHeight = $(window).height();
      
      var targetWidth = winWidth - e.pageX - ox - marjd - 2*intBorderWidth - intPLeft - intPRight;
      var curseurHeight = $('#curseur').outerHeight();
      
      if ( targetWidth < totalWidth ) $('#curseur').css('width', targetWidth);
      
      if ( parseInt(curseurHeight + oy + e.pageY) > winHeight - marjbas ) $('#curseur').css('top', winHeight - marjbas - curseurHeight + 'px' );
      else $('#curseur').css('top', e.pageY + oy + 'px' );
      
      if ( targetWidth > minWidth ) $('#curseur').css('left', e.pageX + ox + 'px' );
      else $('#curseur').css('left', e.pageX + ox - (minWidth - targetWidth) + 'px' );

      if ( targetWidth < totalWidth ) $('#curseur').css('width', targetWidth);
     
    });
    
    var contentIB = $(this).children('div.ib').html();
    if ( contentIB == '' ) contentIB = $(this).siblings('div.ib').html();
    $('#curseur').html(contentIB);    
    $('#curseur').show();
  });
  
  $('*:has(div.ib)').live("mouseout", function(){
    $('#curseur').css('width', defaultWidth);
    $('#curseur').html('');
    $('#curseur').hide();
  });
});


