var field="";
var retour_page="";
var numero=0;
var max_affiche= bornF=10;
var bornD=0;
var menu_actif=0;
var T_field=T_type=T_fichier="";

var DIV_TARGET=""

//*******************************************************************************
//***** Fonction de r�up�ation de la position d'un ��ent d'une page html ****
//*******************************************************************************
function getAnchorPosition(anchorname) {
	// This function will return an Object with x and y properties
	var useWindow=false;
	var coordinates=new Object();
	var x=0,y=0;
	// Browser capability sniffing
	var use_gebi=false, use_css=false, use_layers=false;
	if (document.getElementById) { use_gebi=true; }
	else if (document.all) { use_css=true; }
	else if (document.layers) { use_layers=true; }
	// Logic to find position
 	if (use_gebi && document.all) {
		x=AnchorPosition_getPageOffsetLeft(document.all[anchorname]);
		y=AnchorPosition_getPageOffsetTop(document.all[anchorname]);
		}
	else if (use_gebi) {
		var o=document.getElementById(anchorname);
		x=AnchorPosition_getPageOffsetLeft(o);
		y=AnchorPosition_getPageOffsetTop(o);
		}
 	else if (use_css) {
		x=AnchorPosition_getPageOffsetLeft(document.all[anchorname]);
		y=AnchorPosition_getPageOffsetTop(document.all[anchorname]);
		}
	else if (use_layers) {
		var found=0;
		for (var i=0; i<document.anchors.length; i++) {
			if (document.anchors[i].name==anchorname) { found=1; break; }
			}
		if (found==0) {
			coordinates.x=0; coordinates.y=0; return coordinates;
			}
		x=document.anchors[i].x;
		y=document.anchors[i].y;
		}
	else {
		coordinates.x=0; coordinates.y=0; return coordinates;
		}
	coordinates.x=x;
	coordinates.y=y;
	return coordinates;
	}
// Functions for IE to get position of an object
function AnchorPosition_getPageOffsetLeft (el) {
	var ol=el.offsetLeft;
	while ((el=el.offsetParent) != null) { ol += el.offsetLeft; }
	return ol;
	}
function AnchorPosition_getWindowOffsetLeft (el) {
	return AnchorPosition_getPageOffsetLeft(el)-document.body.scrollLeft;
	}	
function AnchorPosition_getPageOffsetTop (el) {
	var ot=el.offsetTop;
	while((el=el.offsetParent) != null) { ot += el.offsetTop; }
	return ot;
	}
function AnchorPosition_getWindowOffsetTop (el) {
	return AnchorPosition_getPageOffsetTop(el)-document.body.scrollTop;
	}
//******************************************************
//**** Gestion de l'apparition disparition du layer ****
//******************************************************
function ShowDiv(divid) 
{ 
	c=getAnchorPosition(field);
    document.getElementById(divid).style.position="absolute";
    document.getElementById(divid).style.top=c.y+20+"px";
    document.getElementById(divid).style.left=c.x+"px";
	document.getElementById(divid).style.visibility="visible";
}

function HideDiv(divid) 
{
document.getElementById(divid).style.visibility="hidden";
}
var req;


//**********************************************
//***** Function de gestion du clavier    ******
//**********************************************
function filtre(pEvent,field_src,type,fichier){
	
		if(pEvent.keyCode==40){//touche fleche bas
			descendre();
		}
		else if(pEvent.keyCode==38){//touche fleche haut
			monter();
			
		}
		else if(pEvent.keyCode==13){//touche entree
			recup_donnee();
			
		}
		else if(pEvent.keyCode==8){//touche efface
			raz();
		}
		else if(pEvent.keyCode==46){//touche suppr
			raz();
		}
		
		else if(pEvent.keyCode==113){//touche F2 pour test de valeur
			alert(document.getElementById('id_domaine').value);
		}
		else{
			setTimeout("ReqHttp('"+field_src+"','"+type+"','"+fichier+"')",50);
		}
	
		
}

function descendre(){
	if(mode_recup=='ville_cp'){
		if(numero<max_affiche-1){
			numero++;
			//fond
			document.getElementById("select_ville"+(numero-1)+'A').style.background= '#EAEAEA';
			document.getElementById("select_ville"+(numero)+'A').style.background= '#FFFFFF';
			document.getElementById("select_ville"+(numero-1)+'B').style.background= '#EAEAEA';
			document.getElementById("select_ville"+(numero)+'B').style.background= '#FFFFFF';
		}
	}
}

function monter(){
	if(mode_recup=='ville_cp'){
		if(numero>0){
			numero--;
			//fond*
			document.getElementById("select_ville"+(numero+1)+'A').style.background= '#EAEAEA';
			document.getElementById("select_ville"+(numero)+'A').style.background= '#FFFFFF';
			document.getElementById("select_ville"+(numero+1)+'B').style.background= '#EAEAEA';
			document.getElementById("select_ville"+(numero)+'B').style.background= '#FFFFFF';
		
		}
	}
}

//**********************************************
//***** Function de recuperation de donnee *****
//*****	Apres l'appui sur la touche		   *****
//*****			Entree					   *****
//**********************************************
function recup_donnee(){
	
	 if(mode_recup=='ville_cp'){
		var recup_ville=document.getElementById('ville_selection'+numero).value;
		var recup_cp=document.getElementById('cp_selection'+numero).value;
		document.getElementById('ville').value=recup_ville;
		document.getElementById('cp').value=recup_cp;
		document.getElementById('autocomplete').style.visibility='hidden';
	}
}

//**********************************************
//***** Function de gestion du click souris*****
//**********************************************
function click_ville(i){
	var recup_ville=document.getElementById('ville_selection'+i).value;
	var recup_cp=document.getElementById('cp_selection'+i).value;
	document.getElementById('ville').value=recup_ville;
	document.getElementById('cp').value=recup_cp;
	document.getElementById('autocomplete').style.visibility='hidden';
}

//**********************************************
//***** Function de remise à zero		   *****
//***** Apres l'appuie sur efface		   *****
//***** ou suppr						   *****
//**********************************************

function raz(){ 
	if(mode_recup=='ville_cp'){
		numero=0;
		ReqHttp(T_field,T_type,T_fichier);
	}

}

//**********************************************
//***** Initialisation de l'objet request ******
//**********************************************
function Initialize()
{
    try{
		req=new ActiveXObject("Msxml2.XMLHTTP");
	}
    catch(e){
		try{
			req=new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch(oc){
            req=null;
        }
    }
    if(!req&&typeof XMLHttpRequest!="undefined"){
        req= new XMLHttpRequest();
    }
}

//********************************
//***** Gestion de la requete ****
//********************************
function ReqHttp(field_src,type,fichier){
	T_field=field=field_src;
	T_type=type;
	T_fichier=fichier;
	mode_recup=fichier.substring(4,fichier.length);
	Initialize();
	var key=document.getElementById(field).value;
	if (req!=null){
		req.onreadystatechange = ReqHttpfn;
		req.open("GET","/webservice/"+fichier+".php?type="+type+"&key="+key+"&bornD="+bornD+"&bornF="+bornF,true);
		req.send(null);
	}
}
function ReqHttpfn(){	
	if (req.readyState==4){
		// only if "OK"
		if (req.status == 200){
			if(req.responseText==""){
				HideDiv("autocomplete");
			}else{
				ShowDiv("autocomplete");
				document.getElementById("autocomplete").innerHTML =req.responseText;
			}
		}
	}
}





function ReqUpdateStat(id){
	DIV_TARGET="div_form_update_stat";
	Initialize();
	if (req!=null){
		req.onreadystatechange = ReqCommunfn;
		req.open("GET","/webservice/req_update_stat.php?id="+id,true);
		req.send(null);
	}
}
function ReqCommunfn(){	
	if (req.readyState==4){
		// only if "OK"
		if (req.status == 200){
			if(req.responseText==""){
				document.getElementById(DIV_TARGET).style.visibility="hidden";
			}else{
				document.getElementById(DIV_TARGET).style.visibility="visible";
				document.getElementById(DIV_TARGET).innerHTML =req.responseText;
			}
		}
	}
}