var myZoom;
var accordion;

var debug = function(msg) {

  if(typeof console !='undefined' ) { console.warn(msg); } else { alert(msg.message); }
 
}

function init(o) {
	
	// -------- ZOOM PHOTOS --------
	
	if(document.getElementById("zoom")) {
		$('zoom').style.display = 'block';
		myZoom = new Fx.Slide('zoom', {height: true, opacity: true, duration: 500});
		myZoom.hide();
	}
	
	if(document.getElementById("select")) {
		zoom = document.getElementsByClassName('zoom');
		for(i=0; i<zoom.length; i++) {
			zoom[i].onmouseover = function() { document.getElementById("galerie").style.backgroundImage = "url('"+this.href+"')"; }
			zoom[i].onclick = function() { return false; }
		}
	}
	
	accordion = new Accordion('h2.menutitre', 'ul.stretcher', {opacity: false, duration: 300}, $('accordion'));
	( o==-1 ) ? accordion.display () : accordion.display (o);
	
	$$('#menu_gauche h2').each(function(el){
		$(el).addEvent('mouseout', function(){
			this.setStyle('background', 'url(' + wwwroot + '/images/categorie_lien.png) no-repeat');
		});
		
		$(el).addEvent('mouseover', function(){
			this.setStyle('background', 'url(' + wwwroot + '/images/categorie_lien_active.png) no-repeat');
		});
	});
	
	// -------- FLASH INFOS --------
	
	try {
		$('flash_infos').innerHTML = '<marquee behavior="scroll" direction="up" scrollamount="1" scrolldelay="1" '
	                                 +'onMouseOver="this.stop()" onMouseOut="this.start()">'
								     +($('flash_infos').innerHTML)+'</marquee>';							 
	} catch(e) { /* Pas de flash infos... */}
	// -------- FIN INIT --------
	
}

function zoom() {
	myZoom.toggle();
}

function open_next(id) {
	document.getElementById(id).style.display = '';	
}

function addToFavorites() {
	if (document.all) { window.external.AddFavorite(location.href, document.title); }
	else { alert("Votre navigateur n'autorise pas l'ajout direct de signets.\n"
	            +"Pour ce faire, faites 'Control + D' pour l'ajouter ou utilisez le menu marque-pages.") }
}

function retour() {
	history.go(-1);	
}

function OpenWin(URL,width,height,nom) {
	window.open(URL,nom,"toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,width=" + width + ",height=" + height + ",resizable=no");
}

function OpenWin2(URL,width,height,nom) {
	window.open(URL,nom,"toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,width=" + width + ",height=" + height + ",resizable=yes");
}

function DisplayZoomPopUp(url) {
	window.open(url,'Zoom','height=500,width=500,left=0,top=0,scrollbars=yes');
}

/* Simulateur de prêt */

function remplace(expr,a,b) {
	var i=0
	while (i!=-1) {
		i=expr.indexOf(a,i);
		if (i>=0) {
			expr=expr.substring(0,i)+b+expr.substring(i+a.length);
			i+=b.length;
		}
	}
	return expr
}

function IsNumeric(sText) {
	var ValidChars = "0123456789.";
	var IsNumber=true;
	var Char;
	for (i = 0; i < sText.length && IsNumber == true; i++) {
		Char = sText.charAt(i);
		if (ValidChars.indexOf(Char) == -1) {
			IsNumber = false;
		}
	}
	return IsNumber;
} 

function calcul(form, lang) {	
	taux = remplace(form.taux.value,",",".");
	montant = remplace(form.montant.value,",",".");
	duree = remplace(form.duree.value,",",".");
	
	text_1 = "Veuillez indiquer le montant total du crédit";
	text_2 = "Veuillez indiquer la durée du crédit";
	text_3 = "Veuillez indiquer le taux";
	
	if(lang == "en") {
		text_1 = "Please indicate the total amount of credit";
		text_2 = "Please indicate the length of credit";
		text_3 = "Please indicate the rate";
	}
	
	if(montant == "" || !IsNumeric(montant)) {
		document.getElementById('resultat').innerHTML = text_1;
	} else if(duree == "" || !IsNumeric(duree)) {
		document.getElementById('resultat').innerHTML = text_2;
	} else if(taux == "" || !IsNumeric(taux)) {
		document.getElementById('resultat').innerHTML = text_3;
	} else {
		tm = taux/1200;
		ho = montant*tm;
		baun = 1+tm;
		badeux = Math.pow(baun,-duree);
		ba = 1 - badeux;
		mensualite = Math.round(ho*100/ba)/100;
		cout = Math.round((mensualite*duree-montant)*100)/100;
		
		mensualite = remplace(mensualite.toString(),".",",");
		cout = remplace(cout.toString(),".",",");
		
		text_sortie = 'Montant de votre &eacute;ch&eacute;ance : <span>'+mensualite+' &euro;</span> par mois <br/><br/> Co&ucirc;t total du pr&ecirc;t : <span>'+cout+' &euro;</span>';
		if(lang == "en") {
			text_sortie = 'Amount of your maturity : <span>'+mensualite+' &euro;</span> by month <br/><br/>Total cost of loan : <span>'+cout+' &euro;</span>';
		}
		document.getElementById('resultat').innerHTML = text_sortie;
	}
}

function calcul_notaire(form){
	montant = remplace(form.montant.value,",",".");
	var lth = form.temps.length;
	var temp = "";
	for(i=0;i<lth;i++){
		if(form.temps[i].checked==true){
			 temp = form.temps[i].value;
		} 
	}
	if(montant == "" || !IsNumeric(montant)) {
		document.getElementById('resultat').innerHTML = "Veuillez indiquer le montant total de votre achat";
	}else{
		switch(temp){
			case "neuf":
				var taux = 2.5/100;
				var frais_fixe = 1300;
				frais = montant * taux + frais_fixe;
				frais = Math.round(frais);
				frais = remplace(frais.toString(),".",",");
				document.getElementById('resultat').innerHTML = 'Montant <span>estimé</span> de vos frais de notaire : <span>'+frais+' &euro;</span><br/><br/>Le montant est une provision donnée à titre indicatif';
			break;
			case "ancien":
				var taux = 6.16/100;
				var frais_fixe = 1657;
				frais = montant * taux + frais_fixe;
				frais = Math.round(frais);
				frais = remplace(frais.toString(),".",",");
				document.getElementById('resultat').innerHTML = 'Montant <span>estimé</span> de vos frais de notaire : <span>'+frais+' &euro;</span><br/><br/>Le montant est une provision donnée à titre indicatif';
			break;
			default:
				document.getElementById('resultat').innerHTML = "Veuillez indiquer si l'achat concerne un bien neuf ou ancien";
			break;
		}
	}
}

/**************************/

function qte_moins(champ) {
	champ2 = champ + "_2";
	qte = document.getElementById(champ).value;
	document.getElementById(champ).value = Number(qte) - 1;
	document.getElementById(champ2).value = Number(qte) - 1;
	frmsubmit('recalc');
}

function qte_plus(champ) {
	champ2 = champ + "_2";
	qte = document.getElementById(champ).value;
	document.getElementById(champ).value = Number(qte) + 1;
	document.getElementById(champ2).value = Number(qte) + 1;
	frmsubmit('recalc');
}

function frmsubmit(func) {
	frm = document.entryform;
	frm.func.value = func;
	frm.submit();
}

var requete = null;

function creerRequete() {
    try {
        requete = new XMLHttpRequest();
    } catch (microsoft) {
        try {
            requete = new ActiveXObject('Msxml2.XMLHTTP');
        }
        catch(autremicrosoft) {
            try {
                requete = new ActiveXObject('Microsoft.XMLHTTP');
            } catch(echec) {
                requete = null;
            }
        }
    }
    if(requete == null) {
        alert('Impossible de créer l\'objet requête,\nVotre navigateur ne semble pas supporter les object XMLHttpRequest.');
    }
}

function page(catid) {
	creerRequete();
	var url = 'scripts/page.php?id='+catid;
	requete.open('GET', url, true);
	
	requete.onreadystatechange = function() {
		if(requete.readyState == 4) {
			if(requete.status == 200) {
				document.getElementById('page').innerHTML = requete.responseText;
			}
		}
	};
	
	requete.send(null);
}

function vide(vdefault, champ){
	if(champ.value==vdefault){
		champ.value='';
	}
}

function zoomGalerie(src, width, height, texte){
    var div = $('div_zoom_galerie');
    var div2 = $('div_zoom_galerie_contenu');
    var img = div2.getElementsByTagName('canvas')[0];
    
    if(div!=null){
        
        div.style.width=document.width+'px'; 
        div.style.height=document.height+'px';
        div.style.visibility='visible';
        div.style.backgroundColor='#000';
        div.style.zIndex = '999';
        change_opacity('div_zoom_galerie', 0.1, 0.6, '+');
        
        div2.style.visibility='visible';
        div2.style.zIndex = '1000';
        change_opacity('div_zoom_galerie_contenu', 0.1, 1, '+');
        div2.style.top = Math.ceil(parseInt(window.innerHeight)/2) + 'px';
        div2.style.left= Math.ceil(parseInt(window.innerWidth)/2)-Math.ceil(width/2) + 'px';
        
        if(texte!=''){
            div2.innerHTML = '<p style="width:'+width+'px">'+texte+'</p>' + div2.innerHTML;
        }
        div2.innerHTML = '<img src="' + src + '" />' + div2.innerHTML;
    }
    return true;
}

function change_opacity(id, depart, arriver, sens){
    if(sens == '-' || sens == '-1')
        var arriver_test = depart>parseFloat(arriver)-0.1
    else
        var arriver_test = depart<parseFloat(arriver)+0.1
        
    if(arriver_test){
        $(id).style.opacity = depart;
        if(sens == '-' || sens == '-1')
            suivant = parseFloat(depart-0.1);
        else
            suivant = parseFloat(depart+0.1);
            
        setTimeout('change_opacity("'+id+'", '+suivant+', '+arriver+', "'+sens+'")', 10)
    }
    else{
        if(arriver==0){
            
            $(id).style.visibility='hidden';
        }
    }
}

function fermer_zoom_galerie(){
    var div = $('div_zoom_galerie_contenu');
    var img = div.getElementsByTagName('img')[0];
    var p = div.getElementsByTagName('p')[0];
    div.style.visibility='hidden';
    
    change_opacity('div_zoom_galerie_contenu', 1, 0, '-');
    
    var anciennoeud = div.removeChild(img);
    
    if(p!=null){
        var anciennoeud = div.removeChild(p);
    }
    
    change_opacity('div_zoom_galerie', 0.6, 0, '-');   
    
    return true;
}

// ------------------------------------------------------------------------------------------------

var ekScroller = {
	
	imgSize:193,
	nbImage:4,
	scrollLocked : false,
	
	LockScroll : function() {
		ekScroller.scrollLocked = true;	 
	},
	
	// -----------------------------------------
	
	UnlockScroll : function() {
		ekScroller.scrollLocked = false;	 
	},
	
	ScrollRight : function() {	
		
		if(ekScroller.scrollLocked) { return(true); }
		
		var scroller = $('photo_scroll');
		var limit = (($$('#photos_contenu div').length)*ekScroller.imgSize )-(ekScroller.nbImage*ekScroller.imgSize);
		var pos = ( $(scroller).getScrollLeft() <= 0 ) ? limit : $(scroller).getScrollLeft()-ekScroller.imgSize;
		
		var myFx = new Fx.Scroll($(scroller), {
			wait: false
			,duration: 1000
			,transition: Fx.Transitions.Back.easeIn
			,onComplete : function() {
				ekScroller.UnlockScroll();
			}
		});
		
		myFx.start(pos,0);
		ekScroller.LockScroll();
	},
	
	ScrollLeft : function() {
		
		if(ekScroller.scrollLocked) { return(true); }
	
		var scroller = $('photo_scroll');
		var limit = (($$('#photos_contenu div').length)*ekScroller.imgSize )-(ekScroller.nbImage*ekScroller.imgSize);
		var pos = ($(scroller).getScrollLeft() >= limit ) ? 0 : $(scroller).getScrollLeft()+ekScroller.imgSize;
	
		var myFx = new Fx.Scroll($(scroller), {
			wait: false
			,duration: 1000
			,transition: Fx.Transitions.Back.easeIn
			,onComplete : function() {
				ekScroller.UnlockScroll();
			}
		});
	
		myFx.start(pos,0);
		ekScroller.LockScroll();
	}
};