<!--
var URL_INFO   = '/Info.aspx';
var URL_LISTE  = '/Liste.aspx';
var URL_LISTEC = '/ListeCategorie.aspx';
var URL_INSCRI = '/Inscription.aspx';
var URL_FICHEC = '/FicheDeCrit.aspx';
var URL_FLASH  = '/HtmlFlashObject.aspx';
var URL_LISTFC = '/ListeFicheDeCrit.aspx';
var URL_PAGER  = '/Pager.aspx';
var URL_PROMO  = '/Promo.aspx';
var URL_PROMOL = '/ListePromo.aspx';
var URL_MOTEUR = '/Moteur.aspx';
var URL_MOTRES = '/MoteurResultat.aspx';
var URL_MOTCUS = '/MoteurResultatCustom.aspx';

/////////////////////////////////////////////////////////////////////////////////////////////////
function IResa_Info(divresult, type, id, id2, template)
{
 var url = URL_INFO;
 if (type)      url = fillKeyString('type',      type,     url);
 if (id)        url = fillKeyString('id',        id,       url);
 if (id2)       url = fillKeyString('id2',       id2,      url);
 if (template)  url = fillKeyString('template',  template, url);
 //alert(url);
 SendGetRequest(url, divresult)
}

function IResa_Liste(divresult, type, id, id2, template, count, rotation)
{
 var url = URL_LISTE;
 if (type)      url = fillKeyString('type',      type,     url);
 if (id)        url = fillKeyString('id',        id,       url);
 if (id2)       url = fillKeyString('id2',       id2,      url);
 if (template)  url = fillKeyString('template',  template, url);
 if (count)     url = fillKeyString('count',     count,    url);
 if (rotation)  url = fillKeyString('rotation',  rotation, url);
 //alert(url);
 SendGetRequest(url, divresult)
}

function IResa_ListeCategorie(divresult, type, id, id2, template)
{
 var url = URL_LISTEC;
 if (type)      url = fillKeyString('type',      type,     url);
 if (id)        url = fillKeyString('id',        id,       url);
 if (id2)       url = fillKeyString('id2',       id2,      url);
 if (template)  url = fillKeyString('template',  template, url);
 //alert(url);
 SendGetRequest(url, divresult)
}

function IResa_Inscription(divresult, type, id, id2, template)
{
 var url = URL_INSCRI;
 if (type)      url = fillKeyString('type',      type,     url);
 if (id)        url = fillKeyString('id',        id,       url);
 if (id2)       url = fillKeyString('id2',       id2,      url);
 if (template)  url = fillKeyString('template',  template, url);
 //alert(url);
 SendGetRequest(url, divresult)
}


function IResa_FicheDeCritByCode(divresult, table, ficheCode, template, cle, code, type, langue)
{
 var url = URL_FICHEC;
 if (table)     url = fillKeyString('table',    table,    url);
 if (ficheCode) url = fillKeyString('ficheCode', ficheCode,    url);
 if (langue)    url = fillKeyString('langue', langue,    url);
 if (template)  url = fillKeyString('template', template, url);
 if (cle)       url = fillKeyString('cle',      cle,      url);
 if (code)      url = fillKeyString('code',     code,     url);
 if (type)      url = fillKeyString('type',      type,     url);
 //alert(url);
 SendGetRequest(url, divresult)
}

function IResa_FicheDeCrit(divresult, table, fiche, template, cle ,code, type)
{
 var url = URL_FICHEC;
 if (table)    url = fillKeyString('table',    table,    url);
 if (fiche)    url = fillKeyString('fiche',    fiche,    url);
 if (template) url = fillKeyString('template', template, url);
 if (cle)      url = fillKeyString('cle',      cle,      url);
 if (code)     url = fillKeyString('code',     code,     url);
 if (type)      url = fillKeyString('type',      type,     url);
 //alert(url);
 SendGetRequest(url, divresult)
}

function IResa_ListeFicheDeCrit(divresult, table, fiche, code, template, count, rotation, page, type, id, datafieldkey, id2, sort)
{
 var url = URL_LISTFC;
 if (table)        url = fillKeyString('table',        table,    url);
 if (fiche)        url = fillKeyString('fiche',        fiche,    url);
 if (code)         url = fillKeyString('code',         code,     url);
 if (template)     url = fillKeyString('template',     template, url);
 if (count)	       url = fillKeyString('count',        count,    url);
 if (rotation)     url = fillKeyString('rotation',     rotation, url);
 if (page)         url = fillKeyString('page',         page,     url);
 if (type)         url = fillKeyString('type',         type,     url);
 if (id)           url = fillKeyString('id',           id,       url);
 if (id2)          url = fillKeyString('id2',           id2,     url);
 if (datafieldkey) url = fillKeyString('datafieldkey', datafieldkey, url);
 if (sort)        url = fillKeyString('sort',				 sort,			url);
 //alert(url);
 SendGetRequest(url, divresult)
}
function IResa_ListeFicheDeCritByCode(divresult, table, fichecode, code, template, count, rotation, page, type, id, datafieldkey, id2, sort,langue)
{
 var url = URL_LISTFC;
 if (table)        url = fillKeyString('table',        table,    url);
 if (fichecode)    url = fillKeyString('fichecode',    fichecode,    url);
 if (code)         url = fillKeyString('code',         code,     url);
 if (template)     url = fillKeyString('template',     template, url);
 if (count)	       url = fillKeyString('count',        count,    url);
 if (rotation)     url = fillKeyString('rotation',     rotation, url);
 if (page)         url = fillKeyString('page',         page,     url);
 if (type)         url = fillKeyString('type',         type,     url);
 if (id)           url = fillKeyString('id',           id,       url);
 if (id2)          url = fillKeyString('id2',          id2,     url);
 if (datafieldkey) url = fillKeyString('datafieldkey', datafieldkey, url);
 if (sort)        url = fillKeyString('sort',				 sort,			url);
 if (langue)    url = fillKeyString('langue', langue,    url);
 //alert(url);
 SendGetRequest(url, divresult)
}
function IResa_ListeFicheDeCrit_With_Pager(divresult, table, fiche, code, template, count, type, id, datafieldkey, id2, templatePager, nblink, sort)
{
 var url = URL_LISTFC;
 if (table)        url = fillKeyString('table',        table,        url);
 if (fiche)        url = fillKeyString('fiche',        fiche,        url);
 if (code)         url = fillKeyString('code',         code,         url);
 if (template)     url = fillKeyString('template',     template,     url);
 if (count)	       url = fillKeyString('count',        count,        url);
 if (type)         url = fillKeyString('type',         type,         url);
 if (id)           url = fillKeyString('id',           id,           url);
 if (id2)          url = fillKeyString('id2',          id2,          url);
 if (datafieldkey) url = fillKeyString('datafieldkey', datafieldkey, url);
 if (templatePager)url = fillKeyString('templatePager',templatePager,url);
 if (nblink)       url = fillKeyString('nblink',			 nblink,			 url);
 if (sort)         url = fillKeyString('sort',				 sort,				 url);
 url = fillKeyString('rotation',     'Page', url);
 url = fillKeyString('page',						getURLParam('page'),				 url);
 url = fillKeyString('pager',						'1',						url);
 SendGetRequest(url, divresult)
}
function IResa_ListeFicheDeCritByCode_With_Pager(divresult, table, fichecode, code, template, count, type, id, datafieldkey, id2, templatePager, nblink, sort, langue)
{
 var url = URL_LISTFC;
 if (table)        url = fillKeyString('table',        table,        url);
 if (fichecode)    url = fillKeyString('fichecode',    fichecode,        url);
 if (code)         url = fillKeyString('code',         code,         url);
 if (template)     url = fillKeyString('template',     template,     url);
 if (count)	       url = fillKeyString('count',        count,        url);
 if (type)         url = fillKeyString('type',         type,         url);
 if (id)           url = fillKeyString('id',           id,           url);
 if (id2)          url = fillKeyString('id2',          id2,          url);
 if (datafieldkey) url = fillKeyString('datafieldkey', datafieldkey, url);
 if (templatePager)url = fillKeyString('templatePager',templatePager,url);
 if (nblink)       url = fillKeyString('nblink',			 nblink,			 url);
 if (sort)         url = fillKeyString('sort',				 sort,				 url);
 if (langue)    url = fillKeyString('langue', langue,    url);
 url = fillKeyString('rotation',     'Page', url);
 url = fillKeyString('page',						getURLParam('page'),				 url);
 url = fillKeyString('pager',						'1',						url);
 SendGetRequest(url, divresult)
}

function IResa_Pager(divresult, template, count, nblink)
{
 var url = URL_PAGER;
 url = AddUrlQueryString(url);
 if (template)	url = fillKeyString('template', template, url);
 if (count)	    url = fillKeyString('count',    count,    url);
 if (nblink)    url = fillKeyString('nblink',   nblink,   url);
 //alert(url);
 SendGetRequest(url, divresult)
}

function IResa_Promotion(divresult, offrId, template)
{
 var url = URL_PROMO;
 if (offrId)    url = fillKeyString('offrId',   offrId,   url);
 if (template)  url = fillKeyString('template', template, url);
 //alert(url);
 SendGetRequest(url, divresult)
}

function IResa_ListePromotion(divresult, tyofid, template, count, rotation, page, sort, guidMoteur, codePositionnement)
{
 var url = URL_PROMOL;
 if (tyofid)       url = fillKeyString('tyofid',       tyofid,   url);
 if (template)     url = fillKeyString('template',     template, url);
 if (count)	       url = fillKeyString('count',        count,    url);
 if (rotation)     url = fillKeyString('rotation',     rotation, url);
 if (page)         url = fillKeyString('page',         page,     url);
 if (sort)        url = fillKeyString('sort',				 sort,		 url);
 if (guidMoteur)   url = fillKeyString('guidMoteur',				 guidMoteur,				 url);
 if (codePositionnement)   url = fillKeyString('codePositionnement',				 codePositionnement,				 url);
 //alert(url);
 SendGetRequest(url, divresult)
}

function IResa_ListePromotion_With_Pager(divresult, tyofid, template, count, templatePager, nblink, sort, guidMoteur, codePositionnement) 
{
	var url = URL_PROMOL;
	if (tyofid)       url = fillKeyString('tyofid',       tyofid,   url);
	if (template)     url = fillKeyString('template',     template, url);
	if (count)	      url = fillKeyString('count',        count,    url)
	if (templatePager)url = fillKeyString('templatePager',	templatePager,	url);
	if (nblink)       url = fillKeyString('nblink',					nblink,					url);
	if (sort)         url = fillKeyString('sort',				 sort,				 url);
	if (guidMoteur)   url = fillKeyString('guidMoteur',				 guidMoteur,				 url);
	if (codePositionnement)   url = fillKeyString('codePositionnement',				 codePositionnement,				 url);
	url = fillKeyString('rotation',     'Page', url);
	url = fillKeyString('page',						getURLParam('page'),						url);
	url = fillKeyString('pager',						'1',						url);
	SendGetRequest(url, divresult)
}

function IResa_Moteur(divresult, guid, template, target, retourUrl)
{
 var url = URL_MOTEUR;
 url = AddUrlQueryString(url);
 if (guid)      url = fillKeyString('guid',      guid,      url);
 if (template)  url = fillKeyString('template',  template,  url);
 if (target)    url = fillKeyString('target',    target,    url);
 if (retourUrl) url = fillKeyString('retourUrl', retourUrl, url);
 //alert("SendGetRequestMoteur " + url);
 //url = fillKeyString('debug',	1,	url);
 SendGetRequestMoteur(url, divresult)
}

function IResa_MoteurExterne(guid, template, target, retourUrl)
{
 var url = URL_MOTEUR;
 url = AddUrlQueryString(url);
 if (guid)      url = fillKeyString('guid',      guid,      url);
 if (template)  url = fillKeyString('template',  template,  url);
 if (target)    url = fillKeyString('target',    target,    url);
 if (retourUrl) url = fillKeyString('retourUrl', retourUrl, url);
 return SendGetRequestMoteurExterne(url)
}

function IResa_MoteurResultat(divresult, guid, template, nosearch, affine, contreprop, count, page)
{
 var url = URL_MOTRES;
 url = AddUrlQueryString(url);
 if (guid)				url = fillKeyString('guid',				guid,				url);
 if (template)		url = fillKeyString('template',		template,		url);
 if (nosearch)		url = fillKeyString('nosearch',		nosearch,		url);
 if (affine)			url = fillKeyString('affine',			affine,			url);
 if (contreprop)  url = fillKeyString('contreprop',	contreprop,	url);
 if (count)			  url = fillKeyString('count',			count,			url);
 if (page)        url = fillKeyString('page',				page,				url);
 //url = fillKeyString('debug',	1,	url);
//alert(url);
 SendGetRequest(url, divresult)
}

function IResa_MoteurResultat_WithPager(divresult, guid, template, nosearch, affine, contreprop, count, templatePager, nblink, page)
{
 var url = URL_MOTRES;
 url = AddUrlQueryString(url);
 if (guid)			 	  url = fillKeyString('guid',						guid,						url);
 if (template)		  url = fillKeyString('template',				template,				url);
 if (nosearch)		  url = fillKeyString('nosearch',				nosearch,				url);
 if (affine)			  url = fillKeyString('affine',					affine,					url);
 if (contreprop)    url = fillKeyString('contreprop',			contreprop,			url);
 if (count)			    url = fillKeyString('count',					count,					url);
 if (templatePager)	url = fillKeyString('templatePager',	templatePager,	url);
 if (nblink)        url = fillKeyString('nblink',					nblink,					url);
 if (page)					url = fillKeyString('page',						page,						url);
 url = fillKeyString('pager',						'1',						url);
//url = fillKeyString('debug',	1,	url);
//alert(url);
 SendGetRequest(url, divresult)
}

function IResa_MoteurResultatCustom(divresult, guid, typeRetour, idHidden, param)
{
 var url = URL_MOTCUS;
 url = AddUrlQueryString(url);
 if(param)				url = fillKeyString('param', param,      url);
 if (guid)				url = fillKeyString('guid',			 guid,      url);
 if (typeRetour)	url = fillKeyString('typeretour',typeRetour,url);
 if (idHidden)		url = fillKeyString('idhidden',	 idHidden,	url);
 //url = fillKeyString('debug',	1,	url);
//alert(url);
 SendGetRequest(url, divresult)
}

function IResa_URL_HtmlFlashObject(classid, codebase, width, height, id, src, quality, pluginspage)
{
 var url = URL_FLASH;
 url = AddUrlQueryString(url);
 if (width)				url = fillKeyString('width',		width,		url);
 if (height)			url = fillKeyString('height',			height,			url);
 if (id)					url = fillKeyString('id',	id,	url);
 if (classid)		  url = fillKeyString('classid',				classid,				url);
 if (quality)			url = fillKeyString('quality',				quality,				url);
 if (src)					url = fillKeyString('src',			src,			url);
 if (pluginspage) url = fillKeyString('pluginspage',				pluginspage,				url);
 if (codebase)	url = fillKeyString('codebase',		codebase,		url);
return url;
}
function IResa_HtmlFlashObject(divresult, classid, codebase, width, height, id, src, quality, pluginspage)
{
 var url = IResa_URL_HtmlFlashObject(classid, codebase, width, height, id, src, quality, pluginspage);
 SendGetRequest(url, divresult)
}

/////////////////////////////////////////////////////////////////////////////////////////////////
function IResa_Link(page, link)
{
 var url = window.location.toString();
 //url = AddUrlQueryString(url);
 if (page || page == 0)					url = fillKeyString('page',						page,						url);
 //url = fillKeyString('debug',	1,	url);
 link.href = url;
}

/////////////////////////////////////////////////////////////////////////////////////////////////
function IncludeJsFile(fileName) 
{ 
	if (document.getElementsByTagName) 
	{ 
		var mysc = document.createElement("script"); 
		mysc.type = "text/javascript"; 
		mysc.src = fileName; 
		var bdy = document.getElementsByTagName("BODY"); 
		if (bdy) 
		{
			bdy[0].appendChild(mysc); 
		}
	} 
} 

/////////////////////////////////////////////////////////////////////////////////////////////////
function PageQuery(q) 
{
 this.q =(q.length > 1)?q.substring(1, q.length):null;
 this.keyValuePairs = new Array();
 if(q) 
 {
   for(var i=0; i < this.q.split("&").length; i++) 
    this.keyValuePairs[i] = this.q.split("&")[i];
 }
 this.getKeyValuePairs = function(){return this.keyValuePairs;} 
 this.getValue = function(s) 
   {
    var t;
    for(var j=0; j < this.keyValuePairs.length; j++) 
    {
      t = this.keyValuePairs[j].split("=")
      if(t[0].toLowerCase() == s.toLowerCase())
       return t[1];
    }
    return false;
   }
 this.getParameters = function() 
   {
    var a = new Array(this.getLength());
    for(var j=0; j < this.keyValuePairs.length; j++) 
     a[j] = this.keyValuePairs[j].split("=")[0];
    return a;
   }
 this.getLength = function(){return this.keyValuePairs.length;} 
}
function AddUrlQueryString(url)
{
 var qs = new PageQuery(window.location.search); 
 var p = qs.getParameters();
 for(var j=0; j<qs.getLength(); j++)
   url = fillKeyString(p[j], qs.getValue(p[j]), url);
 return url;
}
/////////////////////////////////////////////////////////////////////////////////////////////////
function GetXMLHttpRequest()
{
	var x = null;
	if ( window.XMLHttpRequest )
		x = new XMLHttpRequest();   
  else if ( window.ActiveXObject )
		x = new ActiveXObject( 'Microsoft.XMLHTTP' );   
	else
   alert( 'Votre navigateur ne supporte pas les objets XMLHTTPRequest...' );   
  return x;
}

function SendGetRequest(url, resultToo) 
{		
	var xhr = GetXMLHttpRequest();
  if (xhr)
  {
   xhr.open('GET', fillKeyString('js', '0', url), false);
   //xhr1.onreadystatechange = CallBackRequest;
   xhr.send(null);
   //alert("sended");
 	 //if (xhr.readyState == 4)
 	 document.getElementById(resultToo).innerHTML = xhr.responseText;
  }
}
function SendGetRequestMoteur(url, resultToo) 
{		
	var xhr = GetXMLHttpRequest();
  if (xhr)
  {
   xhr.open('GET', fillKeyString('js', '0', url), false);
   //xhr1.onreadystatechange = CallBackRequest;
   xhr.send(null);
	 document.getElementById(resultToo).innerHTML = xhr.responseText;
  }
 	xhr = GetXMLHttpRequest();   
  if (xhr)
  {
   xhr.open('GET', fillKeyString('js', '1', url), false);
   //xhr.onreadystatechange = CallBackRequestJvs;
   xhr.send(null);
 	 eval(xhr.responseText); 
  }
}

function SendGetRequestMoteurExterne(url) 
{		
	xhr = GetXMLHttpRequest();   
  if (xhr)
  {
   xhr.open('GET', fillKeyString('js', '1', url), false);
   //xhr.onreadystatechange = CallBackRequestJvs;
   xhr.send(null);
 	 eval(xhr.responseText); 
  }
	var xhr = GetXMLHttpRequest();
  if (xhr)
  {
   xhr.open('GET', fillKeyString('js', '0', url), false);
   //xhr1.onreadystatechange = CallBackRequest;
   xhr.send(null);
	 return xhr.responseText;
  }
}

function CallBackRequest() 
{
  //alert('result');
  if (xhr1.readyState == 4 )
		document.getElementById(divResult).innerHTML = xhr1.responseText;
  else
		document.getElementById(divResult).innerHTML = "Patientez chargement en cours...";
}
function CallBackRequestJvs() 
{
  //alert('result');
  if (xhr2.readyState == 4 )
		eval(xhr2.responseText); 
}
/////////////////////////////////////////////////////////////////////////////////////////////////
function fillElementString(key, href) 
{
	var element = document.getElementById(key); 
	if(element && element.value) 
	 href = fillKeyString(key, element.value, href)
	return href;
}	 
function fillKeyString(key, value, href) 
{ 
 var queryString = href.indexOf('?')>= 0?href.split('?')[1]:'';  
 if(queryString.indexOf(key+'=') >= 0) 
 { 
  var val = queryString.split(key+'=')[1].split('&')[0]; 
  href = href.replace(key+'=' + val, key+'=' +  value); 
 } 
 else 
 { 
  var querySeparator = href.indexOf('?') >= 0 ? '&' : '?'; 
  href = href + querySeparator +  key+'=' +  value; 
 }
 return href; 
} 
/////////////////////////////////////////////////////////////////////////////////////////////////
function getURLParam(strParamName)
{
  var strHref   = window.location.href;
  var Turl      = strHref.split(/[?&]/);
  for (var ind=1; ind<Turl.length; ind++) 
   if (Turl[ind].indexOf(strParamName + "=") > -1 )
   {
    var aParam = Turl[ind].split("=");
    return aParam[1];
   }
  return "";
 }
function FillKeySort(value, link)
{
	link.href = fillKeyString('sort', value, window.location.toString());	
}

// ----------------------------------------------
// Validation
// ----------------------------------------------
// date
function isDate2(s)
{
	return isDate(s);
}

// entier signe
function isInteger(s)
{
	var re = /^(\+|-)?\d+$/;
	return re.test(s);
}

// float signe
function isFloat(s)
{
	var re = /^(((\+|-)?\d+(\.\d*)?)|((\+|-)?(\d*\.)?\d+))$/;
	return re.test(s);
}

function isDate(s)
{
	return getDate(s) != null;
}



function getDate(s)
{
	getCook = function(nom) {
		deb = document.cookie.indexOf(nom + "=")
		if (deb >= 0)
		{
			deb += nom.length + 1;
			fin = document.cookie.indexOf(";",deb);
			if (fin < 0) fin = document.cookie.length;
			return unescape(document.cookie.substring(deb,fin));
		}
		return "";
	};
	
	GetFullYear = function(year) {
		today = new Date();
		siecle = today.getFullYear() - ( today.getFullYear() % 100 );
		return (siecle + year);
	};

	var dateorder = getCook('dateorder');
	if(dateorder == "")
	{
		if(typeof(DateFORMATGB) == 'undefined')
			dateorder = "dmy";
		else
			dateorder = !DateFORMATGB ? "dmy" : "mdy";
	}
	
	var dateExp = new RegExp("^\\d{1,4}[-/]\\d{1,4}[-/]\\d{1,4}$");
	if(!s.match(dateExp))
		return null;
		
	var splitExp = new RegExp("[-/]+", "g");
	var laDate = s.split(splitExp);
	if(laDate.length!=3)
		return null;
		
	var day, month, year;
  if ( dateorder == "ymd" || laDate[0].length==4 )
  {
		day		= laDate[2];
    month = laDate[1];
    year	= (laDate[0].length == 4) ? laDate[0] : GetFullYear(parseInt(laDate[0], 10));
  }
  else
  {
		year	= (laDate[2].length == 4) ? laDate[2] : GetFullYear(parseInt(laDate[2], 10));
		if(dateorder == "mdy")
		{
			day		= laDate[1];
			month = laDate[0];		
		}
		else
		{
			day		= laDate[0];
			month = laDate[1];
		}
  }
  month -= 1;       
  var date = new Date(year, month, day);       
  return (typeof(date) == "object" && year == date.getFullYear() && month == date.getMonth() && day == date.getDate()) ? date : null;
}

// email
function isEmail(s)
{
	var re = /^.+\@.+\..+$/;
	return re.test(s) && s.length >= 6;
}

// vide
function isEmpty(s)
{
	return ((s == null) || (s.length == 0));
}
