//Find Objects function by Macromedia
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

//***********************navigation-scroll
function moveIt(obj,x,y){
	var a = MM_findObj(obj);
	a.style.left=x+"px";
	a.style.top=y+"px";
}

function moveBy(obj,dx,dy){
	var a = MM_findObj(obj);
	a.style.left=parseInt(a.style.left)+dx+"px";
	a.style.top=parseInt(a.style.top)+dy+"px";
}

function getX(obj){
	var a = MM_findObj(obj);
	return parseInt(a.style.left);
}

function getY(obj){
	var a = MM_findObj(obj);
	return parseInt(a.style.top);
}


function slideIt(obj,endx,endy,inc,speed){
	var distx=endx-getX(obj);
	var disty=endy-getY(obj);
	var num=Math.sqrt(Math.pow(distx,2)+Math.pow(disty,2))/inc;
	var dx=distx/num;
	var dy=disty/num;
	slide(obj,dx,dy,endx,endy,speed);
}

function slide(obj,dx,dy,endx,endy,speed){
  if(Math.floor(Math.abs(dx))<Math.floor(Math.abs(endx-getX(obj)))||Math.floor(Math.abs(dy))<Math.floor(Math.abs(endy-getY(obj)))){
    moveBy(obj,dx,dy); 
    setTimeout("slide(\""+obj+"\","+dx+","+dy+","+endx+","+endy+","+speed+")",speed);
  }else{
    moveIt(obj,endx,endy);
	}
}

//***********************content-scroll
function init() {
  if(document.getElementById) oDivScroll =
document.getElementById('divScroll').style;
  else if(document.layers) oDivScroll =
document.layers['divConteneur'].document.layers['divScroll'];
  else if(document.all) oDivScroll = document.all['divScroll'].style;
  oDivScroll.top = 0;

  if(document.getElementById) HScroll =
document.getElementById('divScroll').offsetHeight;
  else if(document.layers) HScroll =
document.layers['divConteneur'].document.layers['divScroll'].document.height
;
  else if(document.all) HScroll = document.all['divScroll'].scrollHeight;
}

function scrollHaut() {
  y = parseInt(oDivScroll.top) - 5;
  if(y < -HScroll+100) y = -HScroll+100;
  oDivScroll.top = y;
  timerID=setTimeout("scrollHaut()",100);
}

function scrollBas() {
  y = parseInt(oDivScroll.top) + 5;
  if(y > 0) y = 0;
  oDivScroll.top = y;
  timerID=setTimeout("scrollBas()",100);
}

function scrollStop() {
  clearTimeout(timerID);
}

function popwin(filename,width,height){
	var x=(screen.width)?(screen.width-width)/2:100;
	var y=(screen.height)?(screen.height-height)/2:100;
	var option="toolbar=no,location=0,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=yes,width=" + width + ",height=" + height+ ",top=" + y + "px, left=" + x + "px";

	var win=window.open(filename, "PopWin",option);
	win.focus();
}
/*
function popWin(url,width,height,windowName,scrollbar,resizable){
	var x=(screen.width)?(screen.width-width)/2:100;
	var y=(screen.height)?(screen.height-height)/2:100;

	var features="width="+width+"px,height="+height+"px, top="+y+"px, left="+x+"px";
		features+=(scrollbar)?",scrollbars=yes":"";
		features+=(resizable)?",resizable=yes":"";
	if (!windowName){
		windowName="untitled";
	}
	var popWindow=window.open(url, windowName, features);
	popWindow.focus();
}
*/
//----------------------------------------------------------

function popWin_excell(filename,width,height){
	var x=(screen.width)?(screen.width-width)/2:100;
	var y=(screen.height)?(screen.height-height)/2:100;
	var option="toolbar=yes,location=0,directories=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes,copyhistory=yes,width=" + width + ",height=" + height+ ",top=" + y + "px, left=" + x + "px";

	var win=window.open(filename, "PopWin",option);
	win.focus();
}

function isNumeric(sText)
{
   var ValidChars = "0123456789";
   var IsNumber=true;
   var Char;
	//sText=trimStr(sText)
  if(sText.length==0)
		return false;

   for (i = 0; i < sText.length && IsNumber == true; i++)
      {
      Char = sText.charAt(i);
      if (ValidChars.indexOf(Char) == -1)
         {
         IsNumber = false;
         }
      }
   return IsNumber;

  }
//----------------------------------------------------

function isLeapYear( yyyy ) {
	if( ( yyyy%4==0 && yyyy % 100 !=0 ) || yyyy%400==0 )
		return true ;
	return false ;
}

function isValidDate(dd, mm, yyyy){ 

	if(dd<=0 || dd>31 ||  mm>12 || mm<1)
		return false;
    if (( mm == 4 || mm == 6 || mm == 9 || mm == 11) && dd > 30 ){         
        return false; 
    } else if ( mm == 2 && dd > 29 ) {
        return false; 
    } else if (mm == 2 && ! isLeapYear(yyyy) && dd > 28){ 
        return false; 
    }else if(yyyy<1800)
		return false;
	return true;
}//isValidDate 
//----------------------------------------------------
function isDate(str) 
{
	idx1=str.indexOf("/",0)
	if(idx1==-1)
		return false

	idx2=str.indexOf("/",idx1+1)
	if(idx2==-1)
		return false
	
	day=str.substr(0,idx1)
	month=str.substr(idx1+1,idx2-idx1-1)
	year=str.substr(idx2+1)
	if(!isNumeric(day) || !isNumeric(month) || !isNumeric(year))
		return false;
	return isValidDate(day,month,year);
}

function convertDate(str)
{
 
	idx1=str.indexOf("/",0)
	if(idx1==-1)
	return false
 
	idx2=str.indexOf("/",idx1+1)
	if(idx2==-1)
	return false
 
	day=str.substr(0,idx1)
	month=str.substr(idx1+1,idx2-idx1-1)
	year=str.substr(idx2+1)
	mydate=day+"/"+ month +"/"+year
	if(!Date.parse(mydate) || Date.parse(mydate)<0)
	return false
 
	return month+"/"+ day +"/"+year
}

 function dateDiff(start,end)
{
	 var start=convertDate(start)
	 var end=convertDate(end)
	 var s=Date.parse(start)
	 var e=Date.parse(end)
	 var dis=e-s
	 diff=dis/(1000*24*60*60)
	 return diff
}
// check h:mm
function checkTime(value)
{
		var re = /\b(0?[0-9]|1[0-9]|2[0-3]):([0-5][0-9])$/
		if (re.test(value)) return true
		else return false
}
function frm_onload(frmname)
{
a=frmname.document.body.scrollHeight+10+"px"
frmname.frameElement.height = a;

}