/* ***********  MENU - MISE EN PAGE  *********** */
var timeout;
var delai = 500;
var aItem = new Array();
aItem[0] = new Array(); aItem[0][0] = "iParticulier";   aItem[0][1] = ""; aItem[0][2] = "";
aItem[1] = new Array(); aItem[1][0] = "iProfessionnel"; aItem[1][1] = "";
aItem[2] = new Array(); aItem[2][0] = "iDossiers";      
  aItem[2][1] = "iCredipar"; aItem[2][2] = ""; aItem[2][3] = "";
aItem[3] = new Array(); aItem[3][0] = "iTickets"; aItem[3][1] = "";

function showMenu(idx, idxChild) {
  if (timeout) clearTimeout(timeout);
  
  for(i=0; i<4; i++)
    for(j=0; j<aItem[i].length; j++)
			if (document.getElementById(aItem[i][j]))
				document.getElementById(aItem[i][j]).style.visibility = 'hidden';

  if (idx!=-1&&idxChild>0)
   	document.getElementById(aItem[idx][0]).style.visibility = 'visible';
  if (idx!=-1&&document.getElementById(aItem[idx][idxChild]))
	  document.getElementById(aItem[idx][idxChild]).style.visibility = 'visible';
}
function hideMenu(idx) { timeout = setTimeout('showMenu('+idx+', 0)', delai); }
function stopHide()    { if (timeout) clearTimeout(timeout); }

function doResize() {
  var height = 0;
  
  if (window.innerHeight) height = window.innerHeight;
  else if (document.body && document.body.offsetHeight) height = document.body.offsetHeight;

  document.getElementById('bodyCHILD').style.height = height-150;
}


/* ***********  FIELDS CONTRAINTES  *********** */
function numField(ev) {
	ev = ev || window.event;		
	if(ev.keyCode<48 || ev.keyCode>57) { // IE
		ev.returnValue = false;
		ev.cancelBubble = true;
	}
  if(ev.which < 48 || ev.which > 57) { // DOM
	  ev.preventDefault();
	  ev.stopPropagation();
  }
} 

function limitField(field, limit, name) {
  elmt = document.getElementById(field);
  if (elmt.value.length < limit+1) return;
  
  alert('Le champ "'+name+'" est limité à '+limit+' caractères.');
  elmt.value = elmt.value.substr(0, limit)
  elmt.focus();
}
/* ****************************** */


/* ***********  ONGLETS   *********** */
function onglet_click(name, id) {
  var ong = document.getElementById('idx'+name).value;
  document.getElementById(name+'_bod_'+ong).className = 'OFF';
  document.getElementById(name+'_ong_'+ong).className = 'OFF';
  document.getElementById('idx'+name).value = id;
  document.getElementById(name+'_ong_'+id).className = 'ON';
  document.getElementById(name+'_bod_'+id).className = 'ON';
}
  
function js_href(val, nb) {
  for (i=0; i<nb; i++)
    if (document.getElementById('TabControl_ong_'+i).className.indexOf('Ong_ON')!=-1)
      return location.href = val+'&ong='+i;

  return location.href = val+'&ong='+0;
}   
/* ****************************** */


/* ***********  BLOCK *********** */
// utiliser .tagName .getAttribute('Name') pour localiser un noeud
var dragObject  = null;
var mouseOffset = null;
var zIndex      = 2;

// réduire - développer - fermer le block
function state (pict) {    
  var block = pict.parentNode.parentNode;  
  if (pict.src.indexOf("close")==-1){
    var tst = (pict.src.indexOf("fh")!=-1);  
    pict.src = "../../_images/commun/picto_"+(tst? "fb": "fh")+".gif"; 
    var body = document.getElementById('body'+block.id);
    body.style.display = (tst? "none": "block");     
  } 
  else
    block.style.display = "none"; 
}

// affiche le block appelé
function showBlock(elmt, id, form) {  
  var block = document.getElementById(elmt+'_'+id);
  if (block) {
    block.style.zIndex  = zIndex++;
    block.style.display = 'block';
    return;  
  }    
   
  var req = createRequest ();
  req.open('POST', form, true);
  req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  req.send(elmt+"="+id+'&ZINDEX='+(++zIndex));
  
  req.onreadystatechange = function() {
   	if(req.readyState==4 && req.status==200 && req.responseText!="") { 	 
      document.body.innerHTML += req.responseText;
      document.getElementById(elmt+'_'+id).style.zIndex = zIndex;
    }
  };
} 

//Drag and Drop script - http://www.webreference.com/programming/javascript/mk/column2/2.html
function dragStart (target, ev) {
  ev = ev || window.event;
  document.onmousemove = dragMove;
  target.style.zIndex  = zIndex++;
  dragObject  = target;
  mouseOffset = getMouseOffset(target, ev);  
}
function dragStop () {
	dragObject = null;
	document.onmousemove = null;
}
function dragMove(ev) {
	ev = ev || window.event;
	var mousePos = mouseCoords(ev);  
	if (dragObject) {
		dragObject.style.position = 'absolute';
		dragObject.style.top      = mousePos.y - mouseOffset.y;
		dragObject.style.left     = mousePos.x - mouseOffset.x;
	}
}

function getMouseOffset(target, ev){
	ev = ev || window.event;
	var docPos    = getPosition(target);  
	var mousePos  = mouseCoords(ev);
	
	return {x:mousePos.x-docPos.x, y:mousePos.y-docPos.y};
}
function getPosition(e) {
// attention à margin et padding et aussi à l'ascenseur (fonction incomplète)
	var left = 0;	 
  var top  = 0;
	while (e.offsetParent) {
		left += e.offsetLeft; 	
    top  += e.offsetTop;
		e     = e.offsetParent;
	}
	left += e.offsetLeft;	
  top  += e.offsetTop;
	return {x:left, y:top};
}
function mouseCoords(ev) {
	if (ev.pageX || ev.pageY)  return {x:ev.pageX, y:ev.pageY};

	return {x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
		y:ev.clientY + document.body.scrollTop  - document.body.clientTop};
}
/* ****************************** */


/* ***********  XMLHttpRequest  *********** */
function createRequest () {
	// creation de l'objet XMLHttpRequest
	var req = null; 
  if (window.XMLHttpRequest) {
	  req = new XMLHttpRequest();
	  if (req.overrideMimeType) 
			req.overrideMimeType('text/xml');
	} 
	else if (window.ActiveXObject) {
		try { req = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {
			try {	req = new ActiveXObject("Microsoft.XMLHTTP");	} catch (e) {}
    }
  }
  
  return req;
}
/* ****************************** */

 
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
