var BUCOLOR;
var is_safari  = (navigator.userAgent.indexOf("Safari") != -1);
var is_msie  = (navigator.userAgent.indexOf("MSIE") != -1);

function IsOver(sender) {
	BUCOLOR=sender.style.backgroundColor;
	sender.style.backgroundColor='#A9B4D5';
	sender.style.cursor='pointer';

};

function IsNotOver(sender) {
	sender.style.backgroundColor=BUCOLOR;
	sender.style.cursor='pointer';
};

//-------------------------------------------------------------------
function smallwinmod(nom, url, largeur, hauteur, sender) {
  newwin = window.showModalDialog(url, sender, "dialogHeight:" + hauteur + "px; dialogWidth:" + largeur + "px; scroll:no; help:no; resizeable:yes; status:no");
};

//-------------------------------------------------------------------
function smallwin(nom, url, l, h) {
	var largeur = l || (screen.width - 20);
	var hauteur = h || (screen.height - 100);	

	if (largeur >= screen.width) {
		largeur = screen.width - 20;
	};

	if (hauteur >= screen.height) {
		hauteur = screen.height - 100;
	};

	var gauche = ((screen.width-largeur)/2);
	var haut = ((screen.height-hauteur)/2);	

	newnaswin = window.open(url, nom, "width=" + largeur + ", height=" + hauteur + ", left=" + gauche + ", top=" + haut + ", scrollbars=yes, status=no");

/* 	placeWindow(newnaswin, largeur, hauteur); */
	newnaswin.focus();
};

//-------------------------------------------------------------------
function placeWindow(theWindow,largeur,hauteur){
	var posX=(screen.width-largeur)/2;
	var posY=(screen.height-hauteur)/2;

	if (posX < 1) {
		posX = 1;
	};

	if (posY < 1) {
		posY = 1;
	};

	theWindow.moveTo(posX,posY);
};

//-------------------------------------------------------------------
function format_tel_find(field) {
 if (document.searchform.Pmode.selectedIndex == 0) {
    format_tel(field);
   };
};

//-------------------------------------------------------------------
function format_tel(field) {
  var intext = field.value;
  var outtext = "";
  var car = "";
  var ctrcar = intext.length;
  var ctr = 0;

  while (ctr < ctrcar) {
  	car = intext.substring(ctr, ctr + 1)
  	if ((car != '-') && (car != '(') && (car != ')') && (car != ' ') && (car != '.') ) {
  		outtext = outtext + car;
 		};

  	ctr++;
 	};
 	
 	if (outtext.length == 7) {
	  outtext = outtext.substring(0, 3) + '-' + outtext.substring(3, 7); 	
 	} else {
	  outtext = outtext.substring(0, 3) + '-' + outtext.substring(3, 6) + '-' + outtext.substring(6, 10); 	
 	};

  if (outtext == '--') {
    outtext = '';
  };

  field.value = outtext;
};

//-------------------------------------------------------------------
function format_nas(field)
{
  var intext = field.value;
  var outtext = "";
  var car = "";
  var ctrcar = intext.length;
  var ctr = 0;

  while (ctr < ctrcar) {
  	car = intext.substring(ctr, ctr + 1)
  	if ((car != '-') && (car != '(') && (car != ')') && (car != ' ') && (car != '.') ) {
  		outtext = outtext + car;
 		};

  	ctr++;
 	};
 	
  outtext = outtext.substring(0, 3) + ' ' + outtext.substring(3, 6) + ' ' + outtext.substring(6, 9); 	

  if (outtext == '  ') {
    outtext = '';
  };

  field.value = outtext;
};

//-------------------------------------------------------------------
function format_no_permis(field)
{
  var intext = field.value;
  var outtext = "";
  var car = "";
  var ctrcar = intext.length;
  var ctr = 0;

  while (ctr < ctrcar) {
  	car = intext.substring(ctr, ctr + 1)
  	if ((car != '-') && (car != '(') && (car != ')') && (car != ' ') && (car != '.') ) {
  		outtext = outtext + car;
 		};

  	ctr++;
 	};
 	
  outtext = outtext.substring(0, 5) + '-' + outtext.substring(5, 11) + '-' + outtext.substring(11, 13); 	

  if (outtext == '--') {
    outtext = '';
  };

  field.value = outtext.toUpperCase();
};



//-------------------------------------------------------------------
function format_code_postal(field)
{
  var intext = field.value;
  var outtext = "";
  var car = "";
  var ctrcar = intext.length;
  var ctr = 0;

  while (ctr < ctrcar) {
  	car = intext.substring(ctr, ctr + 1)
  	if ((car != '-') && (car != '(') && (car != ')') && (car != ' '))	{
  		outtext = outtext + car;
		};

  	ctr++;
 	}

  outtext = outtext.substring(0, 3) + ' ' + outtext.substring(3, 6);

  field.value = outtext;
  field.value=field.value.toUpperCase();
};


//-------------------------------------------------------------------
function format_date(field)
{
  var intext = field.value;
  var outtext = "";
  var car = "";
  var ctrcar = intext.length;
  var ctr = 0;

  while (ctr < ctrcar) 	{
  	car = intext.substring(ctr, ctr + 1)
  	if ((car != '-') && (car != '/') && (car != '.') && (car != ' ')) {
  		outtext = outtext + car;
  		};

  	ctr++;
  	};

  outtext = outtext.substring(0, 4) + '-' + outtext.substring(4, 6) + '-' + outtext.substring(6, 8);

  if (outtext == '--') {
    outtext = '';
  };

  field.value = outtext;
};

//-------------------------------------------------------------------
function format_time(field)
{
  var intext = field.value;
  var outtext = "";
  var car = "";
  var ctrcar = intext.length;
  var ctr = 0;

  while (ctr < ctrcar) 	{
  	car = intext.substring(ctr, ctr + 1)
  	if ((car != '-') && (car != '/') && (car != '.') && (car != ' ') && (car != ':') && (car != 'h')) {
  		outtext = outtext + car;
  		};

  	ctr++;
  	};

  if (outtext.length == 2) {
  	outtext = outtext + '0000';
  };

  if ((outtext.length == 3) ||
	  (outtext.length == 4)){
  	outtext = outtext + '00';
  };

  if (outtext.length == 5) {
  	outtext = '0' + outtext;
  };

  outtext = outtext.substring(0, 2) + ':' + outtext.substring(2, 4) + ':' + outtext.substring(4, 6);

  if (outtext == '::') {
    outtext = '';
  };

  field.value = outtext;
};


//-------------------------------------------------------------------
function format_date_time(field)
{
  var intext = field.value;
  var outtext = "";
  var car = "";
  var ctrcar = intext.length;
  var ctr = 0;

  while (ctr < ctrcar) 	{
  	car = intext.substring(ctr, ctr + 1)
  	if ((car != '-') && (car != '/') && (car != '.') && (car != ' ') && (car != ':')) {
  		outtext = outtext + car;
  		};

  	ctr++;
  	};

  outtext = outtext.substring(0, 4) + '-' + outtext.substring(4, 6) + '-' + outtext.substring(6, 8)
  					+ ' ' + outtext.substring(8, 10) + ':' + outtext.substring(10, 12)+ ':' + outtext.substring(12, 14);

  if (outtext == '--') {
    outtext = '';
  };

  field.value = outtext;
};

//-------------------------------------------------------------------
function format_upper(field)
{
  field.value=field.value.toUpperCase();
};

//-------------------------------------------------------------------
function format_lower(field)
{
  field.value=field.value.toLowerCase();
};

//-------------------------------------------------------------------
function format_mac(field)
{
  var intext = field.value;
  var outtext = "";
  var car = "";
  var ctrcar = intext.length;
  var ctr = 0;

  while (ctr < ctrcar) {
  	car = intext.substring(ctr, ctr + 1)
  	if ((car != '-') && (car != '(') && (car != ')') && (car != ' ') && (car != '.') && (car != ':')) {
  		outtext = outtext + car;
 		};

  	ctr++;
 	};

  outtext = outtext.substring(0, 2) + ':' + outtext.substring(2, 4) + ':' + outtext.substring(4, 6) + ':' + outtext.substring(6, 8) + ':' + outtext.substring(8, 10) + ':' + outtext.substring(10, 12);

  if (outtext == ':::::') {
    outtext = '';
  };

  field.value = outtext.toUpperCase();
};

//-------------------------------------------------------------------
function getStyleObjectDoc(objectId, doc) {
    // cross-browser function to get an object's style object given its id
    if(doc.getElementById && doc.getElementById(objectId)) {
	// W3C DOM
	return doc.getElementById(objectId).style;
    } else if (doc.all && doc.all(objectId)) {
	// MSIE 4 DOM
	return doc.all(objectId).style;
    } else if (doc.layers && doc.layers[objectId]) {
	// NN 4 DOM.. note: this won't find nested layers
	return doc.layers[objectId];
    } else {
	return false;
    }
} // getStyleObject

//-------------------------------------------------------------------
function hiliteObject(objectId, doc) {
  // get a reference to the cross-browser style object and make sure the object exists
  var styleObject = getStyleObjectDoc(objectId, doc);
	if(styleObject) {
		styleObject.backgroundColor = '#FFFF99';
		return true;
  } else {
		// we couldn't find the object, so we can't change its visibility
		return false;
  }
}

//-------------------------------------------------------------------
function resizeAndCenter(objID, largeur, hauteur) {
	var fWidth;
	var fHeight;
	var fScrollX;
	var fScrollY;
	
	if(document.all) { //IE 6
		fWidth = document.body.clientWidth; 
		fHeight = document.body.clientHeight; 		
		fScrollX = document.body.scrollLeft;
		fScrollY = document.body.scrollTop;
		
	} else if(document.getElementById && !document.all) { // DOM1 browsers = Safari et Firefox
		fWidth = innerWidth;
		fHeight = innerHeight;
		fScrollX = window.scrollX;
		fScrollY = window.scrollY;
		
	} else if(document.getElementById) {
		fWidth = innerWidth;
		fHeight = innerHeight;
		
		alert("erreur - Voir Dominic pour resizeAndCenter");
	};

	$(objID).style['width'] = largeur + 'px';	
	$(objID).style['height'] = hauteur + 'px';

	$(objID).style['left'] = (fWidth-largeur)/2 + fScrollX;
	$(objID).style['top'] = (fHeight-hauteur)/2 + fScrollY;	
};

//purger un select
//--------------------------------------------------------------------------
function clearSelect(selectID) {
	var selectObj = $(selectID);

	while (selectObj.length > 0) {
		selectObj.remove(0);
	};
};

//--------------------------------------------------------------------------
function selectOptionWithValue(selectID, val) {
	var selectObj = $(selectID);
	
	for (var i = 0; i < selectObj.options.length; i++) {
		if (selectObj.options[i].value == val) {
			selectObj.options[i].selected = true;
		};
	};
};

//--------------------------------------------------------------------------
// retrieve text of an XML document element, including
// elements using namespaces
function getElementTextNS(prefix, local, parentElem, index) {
	var result = "";
	if (prefix && isIE) {
			// IE/Windows way of handling namespaces
			result = parentElem.getElementsByTagName(prefix + ":" + local)[index];
	} else {
			// the namespace versions of this method 
			// (getElementsByTagNameNS()) operate
			// differently in Safari and Mozilla, but both
			// return value with just local name, provided 
			// there aren't conflicts with non-namespace element
			// names
			result = parentElem.getElementsByTagName(local)[index];
	}
	if (result) {
			// get text, accounting for possible
			// whitespace (carriage return) text nodes 
			if (result.childNodes.length > 1) {
					return result.childNodes[1].nodeValue;
			} else {
					return result.firstChild.nodeValue;    		
			}
	} else {
			return "n/a";
	}
};

//charger un select
//--------------------------------------------------------------------------
function loadSelectContent(req, selectID, XMLArrayName, XMLCaptionName, XMLValueName, selectedID, noselection) {
/*   	$('debug').value = $('debug').value + '\r' + req.responseText;   */

	var selectObj = $(selectID);
	var items = req.responseXML.getElementsByTagName(XMLArrayName);
	
	if (noselection) {
		var el = document.createElement('option');
		el.setAttribute('value', '');
		el.text = noselection;

		if (is_msie) {
			selectObj.options.add(el);		
		} else {
			selectObj.add(el, null);		
		};
	};
	
	for (var i = 0; i < items.length; i++) {
		var el = document.createElement('option');
		el.setAttribute('value', items[i].getAttribute(XMLValueName));
		el.text = items[i].getAttribute(XMLCaptionName);

/* pour XML non-google style	 */
/* 		el.setAttribute('value', getElementTextNS("", "id", items[i], 0));		 */
/* 		el.text = getElementTextNS("", "caption", items[i], 0); */

		if (is_msie) {
			selectObj.options.add(el);		
		} else {
			selectObj.add(el, null);		
		};

		if (el.value == selectedID) {
			el.text = '>' + el.text 
			el.selected = true;	
		};
 	}; 
};

