function disableFields(formname,fieldname,val,tab) {
	f = document.forms[formname];
	if(strpos(val,"!")>-1) {
		val = val.replace("!","");
		if(f.elements[fieldname].value != val) {
			for(i=0;i<tab.length;i++) {
				f.elements[tab[i]].disabled = true;
			}	
		} else {
			for(i=0;i<tab.length;i++) {
				f.elements[tab[i]].disabled = false;
			}	
		}
	} else {
		if(f.elements[fieldname].value == val) {
			for(i=0;i<tab.length;i++) {
				f.elements[tab[i]].disabled = true;
			}	
		} else {
			for(i=0;i<tab.length;i++) {
				f.elements[tab[i]].disabled = false;
			}	
		}
	}
}

function deleteIfChecked(id)    {
    var sep = '&';
    if (document.getElementById(id).checked == true)    {
        var url=document.location.toString();
        if (url.indexOf("?") == -1)   {
            sep = '?';
        }
        document.location.href = document.location+sep+'remove=true&id='+id.substr(1)+'&gpid='+document.getElementById(id).getAttribute('gpid')+'&progid='+document.getElementById(id).getAttribute('progid')+'&type='+document.getElementById(id).getAttribute('typepal');
    }
}

function editIfChecked(id)    {
    var sep = '&';
    if (document.getElementById(id).checked == true)    {
        var url=document.location.toString();
        if (url.indexOf("?") == -1)   {
            sep = '?';
        }
        document.location.href = document.location+sep+'edit=true&id='+id.substr(1)+'&gpid='+document.getElementById(id).getAttribute('gpid')+'&progid='+document.getElementById(id).getAttribute('progid')+'&type='+document.getElementById(id).getAttribute('typepal');
    }
}

function strpos(str, ch) {
	for (i = 0;i<str.length; i++) {
		if (str.substring(i, i+1) == ch) {
			return i;
		}
	}
	return -1;
}

function jumpToProg(url,args) {
	myhref = document.getElementsByTagName('base')[0].href;
	top.document.location.href=myhref + url+"?"+args;
}

function openWin(url,width,height) {
	myhref = document.getElementsByTagName('base')[0].href;
	window.open(myhref + url,'','width='+width+',height='+height+'');
}

function WinOpen(url,width,height,extra) {
    if (extra)  { extra = ','+extra; }
	window.open( url,'','width='+width+',height='+height+extra+'');
}

function addGroup(myform,id,label)  {
    oSelects = window.opener.document.getElementsByName('gpbanid');
    oSelect = oSelects[0];
    oOpt = new Option(label,id);
    oSelect.options[oSelect.options.length] = oOpt;
    oSelect.options[oSelect.options.length-1].selected = 'selected';
}

function selectFromWin(myform,arg) {
	var f = window.opener.document.forms[myform];
    f.action = f.action +"?"+ arg;
	f.submit();
	
}

function shohRows(sIds) { 
	var i;
    aIds = sIds.split(',');
    for (i=0; i<aIds.length; i++) {
		if (document.getElementById(aIds[i]).className == 'hidden-row'){
			document.getElementById(aIds[i]).className = 'visible-row';
		} else {
			document.getElementById(aIds[i]).className = 'hidden-row';			
		}
	}
}

function closeAndRefresh(ancre) {
    openerUrl = window.opener.document.location.pathname;
    //window.opener.document.location = openerUrl + "#" + ancre;
    //window.opener.document.myprog.action = openerUrl + "#" + ancre;
    //window.opener.document.myprog.submit();
    window.close();

}


function shoh(id) { 
	if (document.getElementById) { // DOM3 = IE5, NS6
		if (document.getElementById(id).style.display == "none"){
			document.getElementById(id).style.display = 'block';
		} else {
			document.getElementById(id).style.display = 'none';			
		}	
	} else { 
		if (document.layers) {	
			if (document.id.display == "none"){
				document.id.display = 'block';
			} else {
				document.id.display = 'none';
			}
		} else {
			if (document.all.id.style.visibility == "none"){
				document.all.id.style.display = 'block';
			} else {
				document.all.id.style.display = 'none';
			}
		}
	}
}

function checkall(type) {
	f = document.validlead;
	//alert(f);
	for (var i = 0; i < f.elements.length; i++) {
		if(f.elements[i].type == "radio") {
			if(f.elements[i].value == type) {
				f.elements[i].checked = true;
			}
		}
	}
}

function load(src,target,url)   {
    if (src.loaded!=true)    {
        if (navigator.appName == 'Microsoft Internet Explorer') {
            document.getElementById('errorDiv').style.top =getTop(src)+40;
            document.getElementById('errorDiv').style.left = getLeft(src)+40;
        }
        document.getElementById('errorDiv').style.visibility = 'visible';
        document.getElementById(target).src=url;
        src.loaded=true;
    }
}

function getLeft(MyObject)	{
    if (MyObject.offsetParent)
        return (MyObject.offsetLeft + getLeft(MyObject.offsetParent));
    else
        return (MyObject.offsetLeft);
}


function getTop(MyObject)	{
    if (MyObject.offsetParent)
        return (MyObject.offsetTop + getTop(MyObject.offsetParent));
    else
        return (MyObject.offsetTop);
}

function showRow(id) {
    ob1 = document.getElementById(id);
    if(ob1.className=='hidden'){
        ob1.className = 'visible';
    } else{
        ob1.className = 'hidden';
    }
}

function showDiv(whichLayer) {
    obl = document.getElementById(whichLayer);
    if(obl.style.display == "none") {
        obl.style.display = "block";
    } else {
       obl.style.display = "none";
    }
}
function getStats(url,method,toggle,properties) {
    //var url = "ajax.php";
    var url = url;
    $(toggle).addEvent('click', function(e) {
    e = new Event(e).stop();
    myAjaxReq = new Ajax(url, {
                    method: method,
                    onComplete:writeTable
                }).request();
    myAjaxReq.myProperties = properties;
    });
}

function writeTable(response) {
    r = eval(response);
    obj = document.getElementById(myProperties.output);
    obj.appendChild( CreateTableArray(r,myAjaxReq.myProperties));
}
function CreateTableArray(val,attr) {
    var motif = "\{c(\\d+)\}";
    var reg=new RegExp(motif,"g");
    cellAttr = getCellTitle(attr.cellDesc);
    val.unshift(cellAttr[0]);
    var tbl = document.createElement("TABLE");
    var tr = document.createElement("TR");
    var tbody=document.createElement("TBODY");
    var thead=tbl.createTHead();
    var tfoot=tbl.createTFoot();
    
    var n=val[0].length;
    for (var j = 0; j < n; j++) {
        var td = document.createElement("TH");
        td.appendChild(document.createTextNode(val[0][j]));
        tr.appendChild(td);
    }
    thead.appendChild(tr);
    alert(cellAttr[1].length);
    m = val.length;
    alert(typeof(parseInt("2")));
    for(var i = 1; i < m; i++){
        var tr = document.createElement("TR");
        //for(var j = 0; j < n ;j++){
        for(k=0;k<cellAttr[1].length;k++) {
            var td=document.createElement("TD");
            var str = cellAttr[1][k];
            tmp = str.replace(reg,function (m) {return replaceTest(m,i,val)});
            /*td.appendChild(document.createTextNode(tmp));*/
            td.innerHTML=tmp;
            tr.appendChild(td);
        }
        tbody.appendChild(tr);
    }
    
    tbl.appendChild(thead);
    tbl.appendChild(tfoot);
    tbl.appendChild(tbody);

    tbl.className = attr.css;

    
    return tbl;
}

function replaceTest(m,i,val) {
    return val[i][RegExp.$1];
}


function getCellTitle(myvar) {
    var myTitle = new Array();
    var myColOrder = new Array();
    var i = 0;
    for(attr in myvar) {
        myTitle[i]     = attr;
        myColOrder[i++] = myvar[attr];
        //myColOrder[i++] = myvar[attr].split("|");
    }
    return new Array(myTitle,myColOrder);
}


function replaceAnimation(url,color,css)    {
/*
    var target = document.getElementById('animation');
    document.body.className=css;
    target.parentNode.style.backgroundColor=color;
    target.innerHTML ='';
    target.innerHTML ='<embed src="'+url+'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="960" height="190"></embed>';
*/
}
function replaceTextBloc(targetId)    {
    var aDivs = document.getElementById('content_home').getElementsByTagName('DIV');
    for (i=0;i<aDivs.length;i++)    {
        if (aDivs[i].id != 'team')    {
            aDivs[i].style.display='none';
        }
    }
    document.getElementById(targetId).style.display='block';
    aDivs = document.getElementById(targetId).getElementsByTagName('DIV');
    for (i=0;i<aDivs.length;i++)  {
        aDivs[i].style.display = 'block';
    }
}


/**
 * +-------------------------------------+
 * Number.prototype.nombreFormate
 * +-------------------------------------+
 * Params (facultatifs):
 *   - Int decimales: nombre de decimales (exemple: 2)
 *   - String signe: le signe precedent les decimales (exemple: "," ou ".")
 *   - String separateurMilliers: comme son nom l'indique
 * Returns:
 *   - String chaine formatee
 */
Number.prototype.nombreFormate = function (decimales, signe, separateurMilliers) {
   var _sNombre = String(this), i, _sRetour = "", _sDecimales = "";
   if (decimales == undefined) decimales = 2;
   if (signe == undefined) signe = '.';
   if (separateurMilliers == undefined) separateurMilliers = ' ';
   
   function separeMilliers (sNombre) {
      var sRetour = "";
      while (sNombre.length % 3 != 0) {
         sNombre = "0"+sNombre;
      }
      for (i = 0; i < sNombre.length; i += 3) {
         if (i ==  sNombre.length-1) separateurMilliers = '';
         sRetour += sNombre.substr(i, 3)+separateurMilliers;
      }
      while (sRetour.substr(0, 1) == "0") {
         sRetour = sRetour.substr(1);
      }
      return sRetour.substr(0, sRetour.lastIndexOf(separateurMilliers));
   }
   if (_sNombre.indexOf('.') == -1) {
      for (i = 0; i < decimales; i++) {
         _sDecimales += "0";
      }
      _sRetour = separeMilliers(_sNombre)+signe+_sDecimales;
   } else {
      var sDecimalesTmp = (_sNombre.substr(_sNombre.indexOf('.')+1));
      if (sDecimalesTmp.length > decimales) {
         var nDecimalesManquantes = sDecimalesTmp.length - decimales;
         var nDiv = 1;
         for (i = 0; i < nDecimalesManquantes; i++) {
            nDiv *= 10;
         }
         _sDecimales = Math.round(Number(sDecimalesTmp) / nDiv);
      }
      _sRetour = separeMilliers(_sNombre.substr(0, _sNombre.indexOf('.')))+String(signe)+_sDecimales;
   }
   return _sRetour;
}


