// UtilsVersion=3.0

function DoSelLanguage(xParam) {
	var st=document.location.href;
	var i=st.indexOf('#');
	var stx;
	var j;
	xParam=xParam.toUpperCase()
	// Paramètre pour la librairie (gestion propre de la ligne)
	if (i >= 0) {st=st.substr(0,i-1);}
	if (st.substr(st.length-1,1)=='/') {
		st+='Default.asp?Lng='+xParam;
		}
	else {
		if (st.indexOf('?')>=0) {
			i=st.indexOf('?Lng=');
			if (i >= 0) {
				j=st.indexOf('&');
				if (j >= 0) {stx=st.substr(0,i)+'?Lng='+xParam+st.substr(j);}
				else {stx=st.substr(0,i)+'?Lng='+xParam;}
				st=stx;
				}
			else {	
				i=st.indexOf('&Lng=');
				if (i >= 0) {
					stx=st.substr(i+1);
					j=stx.indexOf('&');
					if (j>=0) {st=st.substr(0,i)+'&Lng='+xParam+stx.substr(j);}
					else {st=st.substr(0,i)+'&Lng='+xParam;}	
					}
				else {
					st+='&Lng='+xParam;
					}
				}	
			}
		else {
			st+='?Lng='+xParam;
			}
		}
	// Maintenant gestion des noms de pages
	i=st.indexOf('?');
	stx=st.substr(0,i);
	st=st.substr(i);
	i=stx.lastIndexOf('/')+1;
	var stk;
	if (i) {stk=stx.substr(i); stx=stx.substr(0,i);} else {stk=stx; stx='';}
	i=stk.indexOf('.');
	j=stk.toLowerCase().lastIndexOf('_uk'); if (j < 0) j=i;
	switch (xParam) {
		case 'F' :
			stk=stk.substr(0,j)+stk.substr(i);
			break;
		case 'UK' :
			stk=stk.substr(0,j)+'_uk'+stk.substr(i);
			break;
		}
	st=stx+stk+st;
	//
	document.location = st;
	}


var req;
var reqDone=0;
var reqRetFunction='';

function processReqChange() {
    // only if req shows "loaded"
    if (req.readyState == 4) {
        // only if "OK"
        if (req.status == 200) {
            // ...processing statements go here...
			//var stTete=req.getAllResponseHeaders();
            // if (ObjTeteIdHtml) document.getElementById(ObjTeteIdHtml).innerHTML=req.getResponseHeader(NomTete);
            //alert('Tout va bien...'+stTete);
            if (reqRetFunction) eval(reqRetFunction);
        } else {
            alert("Problem with XML data retrieving:\n" + req.statusText);
        }
        reqDone=1;
    }
}

function loadXMLDoc(url,RetFunction) {
	req = false;
	reqDone = 0;
    // branch for native XMLHttpRequest object
    if(window.XMLHttpRequest) {
    	try {
			req = new XMLHttpRequest();
        } catch(e) {
			req = false;
        }
    // branch for IE/Windows ActiveX version
    } else if(window.ActiveXObject) {
       	try {
        	req = new ActiveXObject("Msxml2.XMLHTTP");
      	} catch(e) {
        	try {
          		req = new ActiveXObject("Microsoft.XMLHTTP");
        	} catch(e) {
          		req = false;
        	}
		}
    }
	if(req) {
		if (RetFunction) {reqRetFunction=RetFunction;} else {reqRetFunction='';}
		req.onreadystatechange = processReqChange;
		req.open("GET", url, true); // Asychrone...
		req.send("");	
	}
	else {
		reqDone=1;
		alert('Pb création objet');
		}
}


function XTrim(st) {
	var j=-1;
	//alert("'"+st+"'"); alert(st.length);
	for (var i=0; i < st.length; i++) {
		if (st.substr(i,1) != ' ') break;
		j=i;
		}
	if (j >= 0) st=st.substr(j+1);	
	j=-1;
	for (var i = st.length -1; i >= 0; i--) {
		if (st.substr(i,1) != ' ') break;
		j=i;
		}
	if (j >= 0) {
		if (j==0) {st='';}
		else {
			st=st.substr(0,j);
			}
		}
	return st;	
}

//***********************************************************
function TriSelectValues(stNomSelect) {
var Ob=document.getElementById(stNomSelect);
var l=Ob.length-1;
var i, j, k, ix, v, vt;
for (i=0; i < l; i++) {
	ix=0; k=parseInt(Ob.options[i].value);
	for (j=i+1; j <= l; j++) {
		if (parseInt(Ob.options[j].value) < k) {
			k = Ob.options[j].value; ix=j;
			}
		}
	if (ix) {
		v=Ob.options[i].value; Ob.options[i].value=k; Ob.options[ix].value=v;
		vt=Ob.options[i].text; Ob.options[i].text=Ob.options[ix].text; Ob.options[ix].text=vt;
		}	
	}
}

//***********************************************************
function TriSelectTexts(stNomSelect) {
var Ob=document.getElementById(stNomSelect);
var lx=Ob.length-1;
var i, j, k, ix, v, vt;
for (i=0; i < lx; i++) {
	ix=0; k=Ob.options[i].text;
	for (j=i+1; j <= lx; j++) {
		if (Ob.options[j].text < k) {
			k = Ob.options[j].text; ix=j;
			}
		}
	if (ix) {
		v=Ob.options[i].value; Ob.options[i].value=Ob.options[ix].value; Ob.options[ix].value=v;
		vt=Ob.options[i].text; Ob.options[i].text=k; Ob.options[ix].text=vt;
		}	
	}
}
