
function Target(id, picture, width, height)
{
	this.id = id;
	this.ref = null;
	this.width = width;
	this.height = height;
	this.picture = picture;
}

// Attention : offsetHeight ne fonctionne que si l'élément ne comporte ni marges, ni bordures, ni padding sinon ...
Target.prototype.getHeight = function()
{
	var elt = document.getElementById(this.id);
	return elt.offsetHeight;
}

Target.prototype.getWidth = function()
{
	var elt = document.getElementById(this.id);
	return elt.offsetWidth;
}


function TargetList(popupId, popupWidth, popupHeight)
{
	this.popupId = popupId;
	this.popupWidth = popupWidth;
	this.popupHeight = popupHeight; 
	this.items = new Array();
	
	this.currentIndex = -1;
}

TargetList.prototype.addTarget = function(id,picture,width,height)
{
	var item = new Target(id,picture,width,height);
	item.index = this.items.length;	
	
	var elt = document.getElementById(id);
	this.items.push(item);
}

TargetList.prototype.hidePopup = function()
{
	if (this.currentIndex != -1)
	{
		document.getElementById(this.popupId).style.left=-10000+"px";
		this.currentIndex = -1;
	}	
}

TargetList.prototype.selectTarget = function(index)
{
	if (this.currentIndex != index)
	{
		if ((index >=0) && (index < this.items.length))
		{
			document.getElementById(this.popupId).innerHTML='<img src="'+this.items[index].picture+'">';
			this.currentIndex = index;
		}
	}	
}

TargetList.prototype.showPopup = function(x,y)
{
	var elt = document.getElementById(this.popupId);
	elt.style.left=x+5+"px";
	elt.style.top=y-this.popupHeight+"px";
}

TargetList.prototype.findTarget = function(x,y)
{
	var index = -1;
	for (var i=0; i < this.items.length; i++)
	{
		var position = findPosition(this.items[i].id);
		if ((x >= position.x) && (x < position.x+this.items[i].getWidth()) && (y >= position.y) && (y < position.y+this.items[i].getHeight()))
		{
			index = i;
			break;
		}
	}
	return index;
}


var targetList = new TargetList("popup",400,250);




function strToNumber(value)
{
	var nbr = parseInt(value);
	if (isNaN(nbr)) { nbr = 0;}
	return nbr;
}

// Retourne la position de la souris sur la page (et pas sur l'écran !)
function mousePosition(e)
{
	var result = new Array();
	result["x"] = 0;
	result["y"] = 0;
	if (!e) var e = window.event;
	if (e.pageX || e.pageY) 	{
		result["x"] = e.pageX;
		result["y"] = e.pageY;
	}
	else if (e.clientX || e.clientY) 	{
		result["x"] = e.clientX + document.body.scrollLeft
			+ document.documentElement.scrollLeft;
		result["y"] = e.clientY + document.body.scrollTop
			+ document.documentElement.scrollTop;
	}
	return result;
}

// Retourne la position absolue d'un objet sur la page
function findPosition(id)
{
	var elt = document.getElementById(id);
	var result = new Array();
	result["x"] = 0;
	result["y"] = 0;
	while (elt)
	{
		result["x"] += elt.offsetLeft;
		result["y"] += elt.offsetTop;
		
		elt = elt.offsetParent;
	}
	
	return result;
}

function mouseMove(e)
{
	var mouse = mousePosition(e);
	index =targetList.findTarget(mouse.x,mouse.y);
	
	if (index != -1)
	{
		targetList.selectTarget(index);
		targetList.showPopup(mouse.x,mouse.y);
	}
	else
	{
		targetList.hidePopup();
	}
}












function sauve_alertemail(){
	if($('emailcont').value!=""){
		var url = 'http://www.agence-i.fr/xmlrpc.php';
		var pars = 'mode=sauve_alertemail&'+Form.serialize('formulaire_alertemail');
		var target = 'sauve_alertemail_ok';	
		var myAjax = new Ajax.Updater(target, url,{
		method: 'get', parameters: pars});
	}
	else{
		alert("Votre adresse email est obligatoire !");
	}
}





function send_estimation(){

	var url = 'http://www.agence-i.fr/xmlrpc.php';
	var pars =	'mode=send_estimation&'+Form.serialize('formulaire_estimation');
	var target	= 'tab_estimation';	
	var myAjax	= new Ajax.Updater(target, url,	{
	onCreate:function(request){
	},
	onSuccess:function(request){
	},
	method: 'get', parameters: pars});
}

function send_recorder(){

	var url = 'http://www.agence-i.fr/xmlrpc.php';
	var pars =	'mode=send_recorder&'+Form.serialize('formulaire_enregistrer');
	var target	= 'tab_enregistrer';	
	var myAjax	= new Ajax.Updater(target, url,	{
	onCreate:function(request){
	},
	onSuccess:function(request){
	},
	method: 'get', parameters: pars});
}




function send_demandedinformations(){

	var url = 'http://www.agence-i.fr/xmlrpc.php';
	var pars =	'mode=send_demandedinformations&'+Form.serialize('formulaire_demandedinformations');
	var target	= 'tab_demandedinformations';	
	var myAjax	= new Ajax.Updater(target, url,	{
	onCreate:function(request){
	},
	onSuccess:function(request){
	},
	method: 'get', parameters: pars});
}


function sauve_newsletter(){
	if($('email').value!=""){
		var url = 'http://www.agence-i.fr/xmlrpc.php';
		var pars = 'mode=sauve_newsletter&'+Form.serialize('formulaire_newsletter');
		var target = 'sauve_newsletter_ok';	
		var myAjax = new Ajax.Updater(target, url,{
		method: 'get', parameters: pars});
	}
	else{
		alert("Votre adresse email est obligatoire !");
	}
}

function ac_return_ville(field, item){
	var regex = new RegExp('[0123456789]*_optionville', 'i');
	var nomimage = regex.exec($(item).innerHTML);
	id = nomimage[0].replace('_optionville', '');
	field.name = field.name.replace('_ville', '');
	$('idville').value = id;

	var regex = new RegExp('[0123456789]*_cpville', 'i');
	var nomimage = regex.exec($(item).innerHTML);
	cp = nomimage[0].replace('_cpville', '');
	field.name = field.name.replace('_ville', '');

	//return id_agence_prox_txt($('idville').value);

	var j = getAgenceInfos($('idville').value,'agence','agenceprox');
}

function load_map_explor(field, item){
	var regex = new RegExp('[0123456789]*_optionville', 'i');
	var nomimage = regex.exec($(item).innerHTML);
	id = nomimage[0].replace('_optionville', '');
	field.name = field.name.replace('_ville', '');
	$('idville').value = id;

	var regex = new RegExp('[0123456789]*_cpville', 'i');
	var nomimage = regex.exec($(item).innerHTML);
	cp = nomimage[0].replace('_cpville', '');
	field.name = field.name.replace('_ville', '');

	//return id_agence_prox_txt($('idville').value);

	var j = getLatLngAndLoad($('idville').value);
}


function ac_villes_alert(){
	new Ajax.Autocompleter ('ville','ouville','http://www.agence-i.fr/ac_villes_alertemail.php',{method: 'post', paramName: 'ville', minChars: 2, afterUpdateElement: ac_return_ville });
}

function ac_villes_alert2(){
	new Ajax.Autocompleter ('ville','ouville','http://www.agence-i.fr/ac_villes_alertemail.php',{method: 'post', paramName: 'ville', minChars: 2, afterUpdateElement: load_map_explor });
}

function send_devenez_franchise(){
	//alert('ok');

	var url = 'http://www.agence-i.fr/xmlrpc.php';
	var pars =	'mode=send_devenez_franchise&'+Form.serialize('devenez_franchise');
	var target	= 'div_devenez_franchise';	
	var myAjax	= new Ajax.Updater(target, url,	{
	onCreate:function(request){
	},
	onSuccess:function(request){
	},
	method: 'get', parameters: pars});
}

function send_sefairerappeler(){

	var url = 'http://www.agence-i.fr/xmlrpc.php';
	var pars =	'mode=send_sefairerappeler&'+Form.serialize('formulaire_sefairerappeler');
	var target	= 'tab_sefairerappeler';	
	var myAjax	= new Ajax.Updater(target, url,	{
	onCreate:function(request){
	},
	onSuccess:function(request){
	},
	method: 'get', parameters: pars});
}



function send_contacteznous(){

	var url = 'http://www.agence-i.fr/xmlrpc.php';
	var pars =	'mode=send_contacteznous&'+Form.serialize('formulaire_contacteznous');
	var target	= 'tab_contacteznous';	
	var myAjax	= new Ajax.Updater(target, url,	{
	onCreate:function(request){
	},
	onSuccess:function(request){
	},
	method: 'get', parameters: pars});
}


function addLoadEvent(func) {
	  var oldonload = window.onload;
	  if (typeof window.onload != 'function') {
	    window.onload = func;
	  } else {
	    window.onload = function() {
	      if (oldonload) {
	        oldonload();
	      }
	      func();
	    }
	  }
	}
	
	function chargecarroussel(p){
     var url = 'http://www.agence-i.fr/xmlrpc.php';
     var pars =	'mode=chargecarroussel&p='+p;
     var target	= 'carroussel';	

	var myAjax = new Ajax.Updater(target, url, {
                 onLoading:function(request){
                 },
	         onComplete:function(request){
			Effect.Appear('carroussel', {duration:1, from:0.5, to:1.0})
	         },
	         method: 'get',	parameters: pars
	});
	
}

function chargeannonces(){
	var url = 'http://www.agence-i.fr/xmlrpc.php?mode=chargeannonces';
	var pars =	Form.serialize('recherche_form');
	var target	= 'droite';	
	var myAjax = new Ajax.Updater(target, url, {
                 onLoading:function(request){
	             Effect.Appear('droite', {duration:1, from:0.5, to:1.0})
                 },
	         onComplete:function(request){
	         },	parameters: pars
	});
}
		
 addLoadEvent(function(){
    if($('handlepiece-1')){
			var sliderpiecev = new Control.Slider(['handlepiece-1','handlepiece-2'],'track_piece',{sliderValue:[0, 10],
			restricted:true,range:$R(0,10), values:[0,1,2,3,4,5,6,7,8,9,10],
			onSlide: function(v){ $('piecemin').value = sliderpiecev.values[0];  $('piecemax').value = sliderpiecev.values[1]; },
			onChange:function(v){ $('piecemin').value = sliderpiecev.values[0];  $('piecemax').value = sliderpiecev.values[1]; chargeannonces(); }
			});
		}
	 if($('handleprix-1')){
		var sliderprixv = new Control.Slider(['handleprix-1','handleprix-2'],'track_prix',{sliderValue:[0, 1000000],
			restricted:true,range:$R(0,1000000), values:[0,10000,20000,30000,40000,50000,60000,70000,80000,90000,100000,110000,120000,130000,140000,150000,160000,170000,180000,190000,200000,210000,220000,230000,240000,250000,260000,270000,280000,290000,300000,310000,320000,330000,340000,350000,360000,370000,380000,390000,400000,410000,420000,430000,440000,450000,460000,470000,480000,490000,500000,510000,520000,530000,540000,550000,560000,570000,580000,590000,600000,610000,620000,630000,640000,650000,660000,670000,680000,690000,700000,710000,720000,730000,740000,750000,760000,770000,780000,790000,800000,810000,820000,830000,840000,850000,860000,870000,880000,890000,900000,910000,920000,930000,940000,950000,960000,970000,980000,990000,1000000],
			onSlide: function(v){ $('prixmin').value = sliderprixv.values[0];  $('prixmax').value = sliderprixv.values[1]; },
			onChange:function(v){ $('prixmin').value = sliderprixv.values[0];  $('prixmax').value = sliderprixv.values[1]; chargeannonces(); }
			});
		}
		if($('handlesurf-1')){
		var slidersurfv = new Control.Slider(['handlesurf-1','handlesurf-2'],'track_surf',{sliderValue:[0, 500],
			restricted:true,range:$R(0,500), values:[0,10,20,30,40,50,60,70,80,90,100,110,120,130,140,150,160,170,180,190,200,210,220,230,240,250,260,270,280,290,300,310,320,330,340,350,360,370,380,390,400,410,420,430,440,450,460,470,480,490,500],
			onSlide: function(v){ $('surfmin').value = slidersurfv.values[0];  $('surfmax').value = slidersurfv.values[1]; },
			onChange:function(v){ $('surfmin').value = slidersurfv.values[0];  $('surfmax').value = slidersurfv.values[1]; chargeannonces(1); }
			});
		}
		if($('handlesurft-1')){
		var slidersurftv = new Control.Slider(['handlesurft-1','handlesurft-2'],'track_surft',{sliderValue:[0, 5000],
			restricted:true,range:$R(0,5000), values:[0,100,200,300,400,500,600,700,800,900,1000,1100,1200,1300,1400,1500,1600,1700,1800,1900,2000,2100,2200,2300,2400,2500,2600,2700,2800,2900,3000,3100,3200,3300,3400,3500,3600,3700,3800,3900,4000,4100,4200,4300,4400,4500,4600,4700,4800,4900,5000],
			onSlide: function(v){ $('surftmin').value = slidersurftv.values[0];  $('surftmax').value = slidersurftv.values[1]; },
			onChange:function(v){ $('surftmin').value = slidersurftv.values[0];  $('surftmax').value = slidersurftv.values[1]; chargeannonces(1); }
			});
		}


	});









