var xhr = null;
var sel = null;

function getXhr(){
	if(window.XMLHttpRequest) // Firefox et autres
	xhr = new XMLHttpRequest();
	else if(window.ActiveXObject){ // Internet Explorer
		try {
			xhr = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			xhr = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	else {
		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
		xhr = false;
	}
}

function go(where, source, cible, option) {
    getXhr();
	xhr.onreadystatechange = function() {
		if (xhr.readyState == 4 && xhr.status == 200) {
			leselect = xhr.responseText;
			document.getElementById(cible).innerHTML = leselect;
		}
	}
	xhr.open("POST","./"+where+"_ajax.php",true);
    xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xhr.send("wq="+where+"&ps="+source+"&op="+option);
}

function diaporama(courante, nombre, image_rep) {
	actif = setTimeout("go('../../actions/base/diaporama','','main_image','" + courante + "-" + nombre + "-" + image_rep + "');",4000);
}

function view_image(image,image_rep) {
	document.getElementById("main_image").innerHTML = '<img src="../../' + image_rep + '/' + image + '.jpg" alt="">';
}

var xstoremouse = null;

function position(e,p1,p2,obj,url_page,modele,nom_page) {
  precision= 11;
  if (!e) var e = window.event;
  if (e.pageX || e.pageY) {
    posx = e.pageX;
  } else {
    posx = e.clientX + document.getElementById("center").scrollLeft;
  }
  if (!xstoremouse) xstoremouse = posx;
  if ( ((posx-precision) > xstoremouse && xstoremouse < (posx+precision)) || ((posx-precision) < xstoremouse && xstoremouse > (posx+precision)) ) {
     xstoremouse = posx;
     var curleft = 0;
  	 if (obj.offsetParent) {
		   do {
			   curleft += obj.offsetLeft;
		   } while (obj = obj.offsetParent);
		 }
		 go('../../templates/dcav2/functions/nos_realisations',p1,p2,curleft + '-' + posx + '-' + url_page + '-' + modele + '-' + nom_page);
  }
}

function position2(e,p1,p2,obj,url_page,nom_page) {
  precision= 11;
  if (!e) var e = window.event;
  if (e.pageX || e.pageY) {
    posx = e.pageX;
  } else {
    posx = e.clientX + document.getElementById("center").scrollLeft;
  }
  if (!xstoremouse) xstoremouse = posx;
  if ( ((posx-precision) > xstoremouse && xstoremouse < (posx+precision)) || ((posx-precision) < xstoremouse && xstoremouse > (posx+precision)) ) {
     xstoremouse = posx;
     var curleft = 0;
  	 if (obj.offsetParent) {
		   do {
			   curleft += obj.offsetLeft;
		   } while (obj = obj.offsetParent);
		 }
		 go('../../templates/dcav2/functions/nos_realisations2',p1,p2,curleft + '-' + posx + '-' + url_page + '-' + nom_page);
  }
}


/* FILTRES DE SAISIE */
function filtre( element, re ) {
	var len = element.value.length;
	var match, cchar, lastIndex;
	for( i = 0; i < len; i++ ) {
		cchar = element.value.charAt( i );
		match = re.test( cchar );
		if( false == match ) {
			lastIndex = element.value.lastIndexOf( cchar );
			element.value = element.value.substr( 0, i ) + element.value.substr( lastIndex + 1 );
			break;
		}
	}
}

function Set_Divs(ID_radio, ID_div) {
   zRadio = document.getElementById(ID_radio);
   document.getElementById(ID_div).style.display = (zRadio.checked) ? 'block' : 'none';
}

function mail_onkeyup( element ) {
	// RFC 2822  - http://www.faqs.org/rfcs/rfc2822.html
	var re = new RegExp( '[a-z0-9!#$%&\'*+/=?^_`{|}~-]|@|\\.' );
	filtre( element, re );
}

function mail_onchange( element ) {
	// RFC 2822
	var mail = '[a-z0-9!#$%&\'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&\'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?';
	var re = new RegExp( mail, 'g' );
	var match = element.value.match( re );
	if( !match ) {
		match = '';
	}
	element.value = match;
}

function alpha_onkeyup( element ) {
	// Gestion des caracteres accentues ISO-8859-1, plus le - (Jean-marc)
	var re = new RegExp( '[a-zA-Z\\xC0-\\xFF- \']' );
	filtre( element, re );
}

function num_onkeyup( element ){
	var re = new RegExp( '[0-9]' );
	filtre( element, re );
}

function adresse_onkeyup( element ) {
	var re = new RegExp( '[0-9a-zA-Z\\xC0-\\xFF- _\']' );
	filtre( element, re );
}

function compte_onkeyup( element ) {
	var re = new RegExp( '[0-9a-zA-Z]' );
	filtre( element, re );
}

function compte_onchange( element ) {
	element.value = element.value.toUpperCase();
}
