function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.0
  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 && document.getElementById) x=document.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function affCalendrier(sChampOrigine)
 { var sUrl
	sUrl="calendrier.asp?origine=" + sChampOrigine;
 	window.open(sUrl,"calendrier","width=220,height=200,top=120,left=120");
 }


var tabDoc = document;
var _tabSha=null;
var _tabLast=null;
var _tabMode=true;
var _tabDa=false;

function _tabCreateArray(cell){
	var rw=cell.parentElement.parentElement.rows;
	var _tabl=rw.length;
	var _tabS=new Array(_tabl-1);
	var _tmp=null;
	_tabSha=new Array(_tabl-1);
	if (!isNaN(Date.parse(rw.item(1).cells.item(cell.cellIndex).innerText))) _tabDa=true;
	for(var i=1;i<_tabl;i++) _tabSha[i-1]=i;
	for(var i=1;i<_tabl;i++){
		_tabS[i-1]=rw.item(i).cells.item(cell.cellIndex).innerHTML;
	}
	_tabBubbleSort(_tabS);
}

function _tabBubbleSort(array){
	var Temp;
	var ar=array;
	var Ladate1 = array;
	var Ladate2 = array;
	var sh=_tabSha;
	rest=array.length;
	for(var i=rest-1;i>=0;i--){
		for(var j=0;j<i;j++){
			//alert (j);
			if (_tabDa){
				Ladate1 = ar[j].split("/");
				Ladate2 = ar[j+1].split("/");
				//alert (ar[j+1] +" " + ar[j]);
				//alert (Ladate2[2]<Ladate1[2] || Ladate2[2]==Ladate1[2] && Ladate2[1]<Ladate1[1] || Ladate2[2]==Ladate1[2] && Ladate2[1]==Ladate1[1] &&  Ladate2[0]<Ladate1[0]);
				//alert (j +" " + i);
				if(Ladate2[2]<Ladate1[2] || Ladate2[2]==Ladate1[2] && Ladate2[1]<Ladate1[1] || Ladate2[2]==Ladate1[2] && Ladate2[1]==Ladate1[1] &&  Ladate2[0]<Ladate1[0]) {
				//if(Date.parse(ar[j+1])<Date.parse(ar[j])){
					//alert ("c passé");
					var temp=ar[j];
					ar[j]=ar[j+1];
					ar[j+1]=temp;
					var temp=sh[j];
					sh[j]=sh[j+1];
					sh[j+1]=temp;
				}
			}else{
				if(ar[j+1]<ar[j]){
					var temp=ar[j];
					ar[j]=ar[j+1];
					ar[j+1]=temp;
					var temp=sh[j];
					sh[j]=sh[j+1];
					sh[j+1]=temp;
				}
			}
		}
	}
}

function _tabBuildRows(obj){
	var rows = obj.parentElement.parentElement.rows;
	var tb=obj.parentElement.parentElement;
	var ci=rows.item(0).cells.length;
	var tdO = null;
 var trA=new Array(_tabSha.length);
	var trO=null;
	if(tb.rows.length>0){
	for(var i=0;i<_tabSha.length;i++){
		tr = tabDoc.createElement("TR");
		for(var y=(ci-1);y>=0;y--){
			td = tabDoc.createElement("TD");
			tr.insertBefore(td, tdO);
			td.className = 'clsCell';
			td.className = rows.item(_tabSha[i]).cells.item(y).className;
			td.innerHTML = rows.item(_tabSha[i]).cells.item(y).innerHTML;
			tdO=td;
		}
		tdO=null;
		trA[i]=tr;
	}
	_tabDeleteRows(tb);
	if(_tabMode){
		for(var i=trA.length-1;i>=0;i--){
			tb.insertBefore(trA[i],trO);
			trO=trA[i];
		}
	}else{
		for(var i=0;i<trA.length;i++){
			tb.insertBefore(trA[i],trO);
			trO=trA[i];
		}
	}
	}
	_tabSha=null;
	_tabDa=false;
}
	
function _tabDeleteRows(tb){
	for(var i=tb.rows.length-1;i>0;i--)
	tb.deleteRow(i);
}

	
function _tabSort(obj){
	if (_tabLast==obj) _tabMode=!(_tabMode);
	_tabCreateArray(obj);
	_tabBuildRows(obj);
	_tabLast=obj;
	return _tabMode;
}
