var __oPopup = null;



/**
 * @param string sUrl
 * @param integer iWidth
 * @param integer iHeight
 * @param boolean bCache
 * @return void
 */
function popup(sUrl, iWidth, iHeight, sName){
	var iCoordX = (screen.width /2) - ( iWidth/2);
	var iCoordY = (screen.height /2) - ( iHeight/2);

	if(sName == undefined){
		sName = 'popup';
	}//end if
	try{
		if(__oPopup){
			__oPopup.close();
		}//end if
	}//end try
	catch(oException){}
	
	__oPopup = null;
	
	__oPopup = window.open( sUrl, sName,'status=0, left=' + iCoordX + ' ,top=' + iCoordY + ' ,height=' + iHeight + ' ,width=' + iWidth + ', toolbar=no, status=no, location=no, resizable=no, scrollbars=yes, copyhistory=0, menubar=no');
	__oPopup.focus();
}//end function

/**
 *
 * @param string sUrl
 * @param string sName
 * @return void
 */
function loadExternalUrl(sUrl, sName){
	if(sName == undefined){
		sName = '';
	}//end if
	var oWindow = window.open( sUrl, sName,'');
	oWindow.focus();
}//end function

/**
 *
 * @param integer iId
 * @return object
 */
function elem(iId){
	return document.getElementById(iId);
}//end function 

/**
 *
  * @param string sExt;
 * @param array aExt;
  * @return bool
 */
function in_array(sExt,aExt){
	for(i=0;i<aExt.length;i++){
		if(sExt==aExt[i]){
			return true;
		}
	}
	return false;
}

/**
 *
  * @param integer iIdConteneur;
 * @param integer iLargeur;
  * @return void
 */
 
function setTailleFenetre(iIdConteneur,iLargeur,bCentre){
	hauteur=elem(iIdConteneur).offsetHeight;
	if(hauteur>650){
		hauteur=650;
	}
	if(document.all){
		window.resizeTo(iLargeur,hauteur+80);	
	}
	else{
		window.outerHeight =hauteur+70;	
		window.outerWidth =iLargeur;	
	}
	if(bCentre == undefined || bCentre == true){
		centreFenetre();
	}//end if	


}

function centreFenetre(){
	if(document.all){
		var x = (screen.width - document.body.offsetWidth)/2;
		var y = (screen.height - document.body.offsetHeight)/2;
	}
	else{
		var px1 = opener.screenX;
		var px2 = opener.screenX + opener.outerWidth;
		var py1 = opener.screenY;
		var py2 = opener.screenY + opener.outerHeight;
		var x = (px2 - px1 - window.outerWidth) / 2;
		var y = (py2 - py1 - window.outerHeight) / 2;
	}
	window.moveTo(x, y);	
}

function checkMail(sEmail) {
  var regExp = /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9]{2}[a-z0-9-.]*\.[a-z]{2,4}$/i;
	return regExp.test(sEmail);
}//end function

//pour vérifier si les dates se suivent (jj/mm/aaaa)
function verifDates(sDateAnt,sDatePost){
	alert(sDateAnt);
	alert(sDatePost);
	aDateAnt = sDateAnt.split('/');
	sJourAnt = aDateAnt[0];
	sMoisAnt = aDateAnt[1];
	sAnneeAnt = aDateAnt[2];
	
	aDatePost = sDatePost.split('/');
	sJourPost = aDatePost[0];
	sMoisPost = aDatePost[1];
	sAnneePost = aDatePost[2];	
	
	if(sDateAnt == sDatePost){
		return false;
	}
	
	if(sAnneeAnt > sAnneePost){
		return false;
	}
	if(sAnneeAnt == sAnneePost){
		if(sMoisAnt > sMoisPost){
			return false;
		}
		if(sMoisAnt == sMoisPost){
			if(sJourAnt > sJourPost){
				return false;
			}
		}
	}
	return true;
}

function isInteger(sValue) {
  var regExp = /^[0-9]+$/;
	return regExp.test(sValue);
}//end function

function isFloat(sValue) {
  var regExp = /^[0-9]*\.[0-9]+$/;
	return regExp.test(sValue);
}//end function

// **** Verification du format des dates  **** //
function test_date(jj,mm,aa){
	if(jj.length!=2||jj<1||jj>31||mm.length!=2||mm<1||mm>12||aa.length!=4) return false;
	if(mm==2){
		if(jj==30||jj==31) return false;
		if(jj==29) return ((aa%4==0&&aa%100!=0)||aa%400==0);
	}
	if(jj==31) return !(mm==4||mm==6||mm==9||mm==11);return true;
}


function date_valide(valeur){
	var valeurDate=valeur, indSep1=valeurDate.indexOf("/"), indSep2=valeurDate.lastIndexOf("/"), jj=valeurDate.substring(0,indSep1), mm=valeurDate.substring(indSep1+1,indSep2), aa=valeurDate.substr(indSep2+1);
	if ((indSep1==-1) && (indSep1==indSep2)) return false;
	if (!test_date(jj,mm,aa)) return false;
	return true;
}
// **** Fin Verification du format des dates  **** //

