/**************************************************************************
decode(adr)
mdecode(adr)
ldecode(adr)
encode(adr)
noscript(adr)
Media(id, media)
AfficheMasqueTable(idTD, idImg, mode)
CH(tr, mode)
getCookieVal(offset)
GetCookie (name)
AfficheLienInterne(URL, mode)
AgendaMois(m)
ZommPhoto(src,h,w)
openPopup(theURL,winName,features)
entre(nom)
sort()
change(nom,lien)
hideit(action,nom_layer)
hideall()
AtteindreLien(nomlayer)
montre(nomlayer)
cache()
verifie()
verifie2()
ValeurParDefault(f)
CheckDate(d)
CheckHeure(hm)
TestEmail(elt)
CheckMail(m)
CheckSaisie(saisie, cas, min, max, nom)
ControleCatalogueChamp(f,t)
ControleElementFormulaire(f,t)
ControleFormulaire(f,t)
EnvoyerFormulaire(f,t)
EnvoyerFormulaireSimple(f,t)
movedown(n)
moveup(n)
stopscroll()
movetop()
getcontent_height()
RemplaceListeDepandante(c, t, elt, obl, sel, text_0, val_0)
***************************************************************************/

//Si pas IE Permet aux listes d'entourer correctement les photos
	if (navigator.appName != 'Microsoft Internet Explorer') {
	  document.write('<style type="text/css"><!--');
	  document.write('.section LI {');
	  document.write('width: 100%;');
	  document.write('}');
	  document.write('--></style>');
	}

/*************	Redirection des domaines vers le domaine principale	***/
var nomDomaine = 'http://www.manche-habitat.fr/'
/*var nomDomaine = 'http://pegase/manche-habitat/'*/
var urlDomaine, debutDomaine, finDomaine
urlDomaine = document.location.href
if(urlDomaine.indexOf('www.')>-1){
	debutDomaine = urlDomaine.indexOf('.')+1
	finDomaine = urlDomaine.indexOf('.', debutDomaine)
	if(finDomaine>-1)
		if(urlDomaine.substring(debutDomaine , finDomaine)!='manche-habitat')
			window.location.replace('http://www.manche-habitat.fr/')
}
/***************************************************************************/

this.oldmenu="false";
this.oldbouton="false";
var wSw = window.screen.width;
var wSh = window.screen.height;

var oldCol;


function initScrollLayer() {
  // arguments: id of layer containing scrolling layers (clipped layer), id of layer to scroll,
  // if horizontal scrolling, id of element containing scrolling content (table?)
  var wndo = new dw_scrollObj('wn', 'lyr1');

  // bSizeDragBar set true by default (explained at www.dyn-web.com/dhtml/scroll/ )
  // wndo.bSizeDragBar = false;

  // arguments: dragBar id, track id, axis ("v" or "h"), x offset, y offset
  // (x/y offsets of dragBar in track)
  wndo.setUpScrollbar("dragBar", "track", "v", 1, 1);

  // pass id('s) of scroll area(s) if inside table(s)
  // i.e., if you have 3 (with id's wn1, wn2, wn3): dw_scrollObj.GeckoTableBugFix('wn1', 'wn2', 'wn3');
  dw_scrollObj.GeckoTableBugFix('wn');
}


var Molette
function handle(delta) {
	Molette=true;
	if (delta < 0)
		dw_scrollObj.initScroll('wn','down');
	else
		dw_scrollObj.initScroll('wn','up');
}
function wheel(event){
	var delta = 0;
	if (!event) event = window.event;
	if (event.wheelDelta) {
		delta = event.wheelDelta/120; 
		if (window.opera) delta = -delta;
	} else if (event.detail) {
		delta = -event.detail/3;
	}
	if (delta)
		handle(delta);
}

/********************	Functions d'encodage des email**********************/
function decode(adr) {
email="";
 for (i=adr.length-1;i>-1;i--) {
//  ch=adr[i];
  ch=adr.substring(i,i+1);
  if (ch==":") {ch="@"}
  if (ch=="!") {ch="?"}
  if (ch=="#") {ch="&"}
  email=email.concat(ch);
  }
}

function mdecode(adr){
 decode(adr)
 document.location="mailto:"+email;
}

function ldecode(adr){
 decode(adr)
 document.write(email);
}

// pas de : # $
function encode(adr) {
email="";

 for (i=adr.length-1;i>-1;i--) {
  ch=adr.substring(i,i+1);
  if (ch=="@") {ch=":"}
  if (ch=="?") {ch="!"}
  if (ch=="&") {ch="#"}
  email=email.concat(ch);
  }
return email;
}

function noscript(adr) {
email="";

 for (i=0;i=adr.length-1;i++) {
  ch=adr.substring(i,i+1);
  if (ch=="@") {ch="|"}
  email=email.concat(ch);
  }
return email;
}
/*****************************************************************/

function Media(id, media) { 
    if (document.getElementById) { 
	document.getElementById(id).innerHTML = media; 
    } 
} 

function AfficheMasqueTable(idTD, idImg, mode){
	var td = document.getElementById(idTD);
	if(td != null){
		var isHidden = td.style.display == "none" ? true : false;
		if(mode){		//test si il faut masquer une table affichée
			if(isHidden){
				var test=1;
				var i=0;
				while (test==1) {
					i=i+1
					var tdAutre = document.getElementById('td_'+i)
					if(tdAutre){
						if(tdAutre.style.display==''){
							tdAutre.style.display = "none";
						}
					}
					else{
						test=0;
					}
				}
			}
		}
		td.style.display = isHidden ? "" : "none";
	}
}

function CH(tr, mode) {
	if (mode == 0) {
		oldCol = tr.className;
		tr.className = 'tdOver';
	}
	else {
		tr.className = oldCol;
	}
}

function getCookieVal(offset) {
	var endstr=document.cookie.indexOf (";", offset);
	if (endstr==-1)
      		endstr=document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}

function GetCookie (name) {
	var arg=name+"=";
	var alen=arg.length;
	var clen=document.cookie.length;
	var i=0;
	while (i<clen) {
		var j=i+alen;
		if (document.cookie.substring(i, j)==arg)
                        return getCookieVal (j);
                i=document.cookie.indexOf(" ",i)+1;
                        if (i==0) break;}
	return null;
}

function AfficheLienInterne(URL, mode){
	if(mode){
		URL=(URL.indexOf("?") == -1)?URL+'?mode=popup':RL=URL+'&mode=popup'
		var w=window.open(URL,"popup",'left=5,top=5,height=570,width=570,location=no,scrollbars=yes,resizable=yes,menubar=no,status=no');
		w.document.close();
		w.focus();
	}
	else{
		document.location.href=URL;
	}
}

function AgendaMois(m){
	document.f0.action='default.asp?Mois='+m;
	document.f0.submit();
}

function ZommPhoto(src,h,w){
	wPopup=window.open(src,'Zoom','left=5,top=5,height='+h+',width='+w+',location=no,scrollbars=auto,resizable=yes,menubar=no,status=no,toolbar=no')
	wPopup.focus();
}

function openPopup(theURL,winName,features) {
  var w=window.open(theURL,winName,features);
    w.document.close();
    w.focus();
  }

function entre(nom){
	document.images[nom].src=chemin+nom+"_F2.gif";
	this.oldbouton=nom;
}

function sort(){
	if(this.oldbouton!="false"){
		document.images[oldbouton].src=chemin+oldbouton+".gif";
		this.bouton="false";
	}
}

function change(nom,lien)
{document.images[nom].src=lien;}

function hideit(action,nom_layer) {
  if (document.layers) {
    // Netscape 4 stuff
    var cible = document.layers[nom_layer];
  } else if (document.getElementById) {
    // IE 5 and Netscape 6
    var cible = document.getElementById(nom_layer);
  } else if (document.all) {
    // IE 4 ??
    var cible = document.all(nom_layer);
  } else {
    alert("Probl&egrave;me avec votre navigateur");
  }

  if (cible.style)
  {
    // IE4 ??, IE5, Netscape 6

    if (action) { cible.style.visibility = "hidden"; }
	else { cible.style.visibility = "visible"; }
  }
  else {
    // Netscape 4
    if (action) { cible.visibility = "hide";}
	else { cible.visibility = "show"; }
  }
}

function hideall() {
	hideit(true,"lactualite1");
	hideit(true,"lactualite2");
	hideit(true,"lactualite3");
}

function AtteindreLien(nomlayer){
	var htmlLayer=document.getElementById(nomlayer).outerHTML;
	var debutLien = htmlLayer.indexOf('href=')+6
	var finLien = htmlLayer.indexOf('>',debutLien )-1
	var lien = htmlLayer.substring(debutLien,finLien)
	alert(lien)
	document.location.href=lien;
	//document.location.href='http://www.google.fr'
	alert('fin')
}


function montre(nomlayer)
{
hideit(false,nomlayer);
hideit(false,"zone1");
hideit(false,"zone2");
this.oldmenu=nomlayer;

}


function cache(){
	hideit(true,"zone1");
	hideit(true,"zone2");
	if(this.oldmenu!="false"){
		hideit(true,oldmenu);
		this.oldmenu="false";
	}
}
function verifie() {
	var chaine = "";
	if (document.forms[0].elements.nom.value ==""){ chaine = chaine + "- Nom\n"; }
	if (document.forms[0].elements.sujet.value ==""){ chaine = chaine + "- Sujet\n"; }
	if (document.forms[0].elements.email.value ==""){ chaine = chaine + "- Email\n"; }
	if (document.forms[0].elements.message.value ==""){ chaine = chaine + "- Message\n"; }
	if (chaine != "")
		{
		alert("ERREUR\nLes champs suivants sont obligatoires :\n" + chaine);
		return false;
		}
	else { return true;}
}

function verifie2() {
	var chaine = "";
	if (document.forms[0].elements.nom.value ==""){ chaine = chaine + "- Name\n"; }
	if (document.forms[0].elements.email.value ==""){ chaine = chaine + "- Email\n"; }
	if (document.forms[0].elements.message.value ==""){ chaine = chaine + "- Message\n"; }
	if (chaine != "")
		{
		alert("ERREUR\nYou must fill the following fields :\n" + chaine);
		return false;
		}
	else { return true;}
}

function ValeurParDefault(f){
	for(i=0;i<jsElement.length;i++){
		var elt=eval('document.'+f.name+'.'+jsElement[i][0])
		if(elt){
			elt.value=jsElement[i][3]
		}
	}
}

function CheckDate(d){
	if(d){
		// Cette fonction vérifie le format JJ/MM/AAAA saisi et la validité de la date.
		// Le séparateur est défini dans la variable separateur
		var siecle=20; // permet de ne n'avoir à saisir que 2 chiffres
		var amin=1900; // année mini
		var amax=3099; // année maxi
		var separateur="/"; // separateur entre jour/mois/annee
		var j=(d.substring(0,2));
		var m=(d.substring(3,5));
		var a=(d.substring(6));
		var ok=1;
		if(a.length==2){
			a=siecle+a
		}
		if ( ((isNaN(j))||(j<1)||(j>31)) && (ok==1) ) {
		 	alert("Le jour n'est pas correct."); ok=0;
		}
		if ( ((isNaN(m))||(m<1)||(m>12)) && (ok==1) ) {
		 	alert("Le mois n'est pas correct."); ok=0;
		}
		if ( ((isNaN(a))||(a<amin)||(a>amax)) && (ok==1) ) {
		 	alert("L'année n'est pas correcte."); ok=0;
		}
		if ( ((d.substring(2,3)!=separateur)||(d.substring(5,6)!=separateur)) && (ok==1) ) {
		 	alert("Les séparateurs doivent être des "+separateur+" (exemple 16/08/2001)"); ok=0;
		}
		if (ok==1) {
		 var d2=new Date(a,m-1,j);
		 j2=d2.getDate();
		 m2=d2.getMonth()+1;
		 a2=d2.getYear();
		 if (a2<=100) {a2=1900+a2}
		 if ( (j!=j2)||(m!=m2)||(a!=a2) ) {
			alert("La date "+d+" n'existe pas !");
			ok=0;
		 }
		}
		return ok;
	}
	else{return 1}
}

function CheckHeure(hm){
	if(hm){
		sepHeureMinute=hm.indexOf(':')
		h=hm.substring(0,sepHeureMinute)
		m=hm.substring(sepHeureMinute+1,hm.length)		
		while(h.length<2) {h='0'+h;}
		while(m.length<2) {m=m+'0';}
		if(h.indexOf('.')>-1 || m.indexOf('.')>-1){
			alert('L\'heure doit être saise sous la forme hh:mm (exemple 20:30).')
			return false;
		}
		else if(isNaN(h) || isNaN(m)){
			alert('L\'heure doit être saise sous la forme hh:mm (exemple 20:30).')
			return false;
		}
		else if(h>24){
			alert('L\'heure doit être comprise entre 00 et 24')
			return false;
		}
		else if(m>59){
			alert('Les minutes doivent être comprises entre 00 et 59')
			return false;
		}
		else{
			hm=h+':'+m;
			return true;
		}
	}
	else{return 1}
}

function TestEmail(elt){
  with (elt){
    apos=value.indexOf("@");        // Cherche position de "@"
    dotpos=value.lastIndexOf(".");  // Cherche dernière position de "."
    lastpos=value.length-1;         // Contrôle si l'adresse est vraisemblable
    if (apos<1 || dotpos-apos<2 || lastpos-dotpos>3 || lastpos-dotpos<2){
      elt.select();
      elt.focus();
      return false;
    }
    else{
      return true;
    }
  }
}

function CheckMail(m){
	if(m){
		//var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i

		var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

		if (filter.test(m)){
			 return true;
		}
		else {
			alert("Le courriel n\'est pas valide !");
			return false;
		}
	}
	else{
		return true;
	}
}

function CheckSaisie(saisie, cas, min, max, nom) {
	
	switch(cas) {
		case 1:
			var exp=new RegExp('^[a-zA-Z0-9]{'+min+','+max+'}$','g');
			break;

		default:
			break;
	}
	if(exp){
		if (exp.test(saisie)) {return true;}
		else {alert(nom+' '+saisie+' n\'est pas valide!');return false;}
	}
	else{return false;}
}

function ControleCatalogueChamp(f,t){
	if(!ControleElementFormulaire(f,t)){
		t.focus();
	}
}

function ControleElementFormulaire(f,t){
	for(c=0;c<jsElement.length;c++){
		if(jsElement[c][0]==t.name){		
			Format=jsElement[c][1]
			Obligatoire=jsElement[c][2]
			ParDefaut=jsElement[c][3]
			valPD=false;
			if(ParDefaut){if(t.value==ParDefaut){valPD=true;}}	
				
			if(Format=='' || t.value=='' || valPD){
				return true;
			}
			else if(Format=='date_'){
				sepDateHeure = t.value.indexOf(' ')
				if(sepDateHeure==-1){					//pas d'heure saisie
					if(CheckDate(t.value)){return true;}
					else{return false;}
				}
				else{					
					if(CheckDate(t.value.substring(0,sepDateHeure))){
						if(CheckHeure(t.value.substring(sepDateHeure, t.value.length))){return true;}
						else{return false;}
					}
					else{return false;}
				}
				
				
			}
			else if(Format=='e-mail_'){
				if(CheckMail(t.value)){return true;}
				else{return false;}
			}

			else if(Format=='intP_'){
				strMsg='Données de type "Entier".'
				if(isNaN(t.value)){alert(strMsg);f.elements[t.name].select();return false;}
				else if(t.value.indexOf('.')!=-1){alert(strMsg);f.elements[t.name].select();return false;}
				//else if(t.value<0){alert(strMsg);f.elements[t.name].select();return false;}
				else{return true;}
			}
			else if(Format=='dblP_'){
				strMsg='Données de type "Décimale" (exemple : 10.25).'
				if(isNaN(t.value)){alert(strMsg);f.elements[t.name].select();return false;}
				//else if(t.value<0){alert(strMsg);f.elements[t.name].select();return false;}
				else{t.value=DeuxDecimale(t.value);return true;}
			}
			else{return true;}
		}
	}
}

function ControleFormulaire(f,t){
	for(cf=0;cf<jsElement.length;cf++){
		elt=eval(f.name+'.'+jsElement[cf][0])
		if(elt){
			if(jsElement[cf][2]==1 && !elt.value){
				if(elt.length){	//Cas des champs photos
					if(!elt[0].value && !elt[1].value){
						alert('Tous les champs marqués d\'un astérisque sont obligatoires');
						return false;
					}
				}
				else{
					alert('Tous les champs marqués d\'un astérisque sont obligatoires');
					return false;
				}
			}
		}
	}
	for(cf=0;cf<jsElement.length;cf++){
		if(eval(f.name+'.'+jsElement[cf][0])){
			if(jsElement[cf][1]!=''){
				var objElt=eval(f.name+'.'+jsElement[cf][0])
				if(!ControleElementFormulaire(f,objElt)){
//	alert(jsElement[cf][0]);
				return false;
				}
			}
		}
	}
	return true;
}

function EnvoyerFormulaire(f,t){
	if(ControleFormulaire(f,t)){
		f.method='POST';
		f.encoding='multipart/form-data';
		f.action=pathTraitementFormulaire;
		f.target='';
		//alert(f.action)
		f.submit();
	}
}

function EnvoyerFormulaireSimple(f,t){
	if(ControleFormulaire(f,t)){
		f.submit();
	}
}


//Functions necessaires à l'affichage du sous-menu (liste des pages)
function movedown(n){
	if (window.moveupvar) clearTimeout(moveupvar)
	if (iens6&&parseInt(crossobj.style.top)>(contentheight*(-1)+CompozitTableH)){
		crossobj.style.top=parseInt(crossobj.style.top)-speed+"px";
	}
	else if (ns4&&crossobj.top>(contentheight*(-1)+CompozitTableH))
		crossobj.top-=speed
	if(n==1){movedownvar=setTimeout("movedown(1)",20)}
}

function moveup(n){
	if (window.movedownvar) clearTimeout(movedownvar)
	if (iens6&&parseInt(crossobj.style.top)<0)
		crossobj.style.top=parseInt(crossobj.style.top)+speed+"px"
	else if (ns4&&crossobj.top<0)
		crossobj.top+=speed
	if(n==1){moveupvar=setTimeout("moveup(1)",20)}
}

function stopscroll(){
	if (window.moveupvar) clearTimeout(moveupvar)
	if (window.movedownvar) clearTimeout(movedownvar)
}

function movetop(){
	stopscroll()
	if (iens6)
		crossobj.style.top=0+"px"
	else if (ns4)
		crossobj.top=0
}

function getcontent_height(){
	if (iens6){
		contentheight=crossobj.offsetHeight
	}
	else if (ns4)
		document.nscontainer.document.nscontent.visibility="show"
}

function RemplaceListeDepandante(c, t, elt, obl, sel, text_0, val_0){
	//t	= liste qui declanche le changement
	//elt	= liste dependante
	//obl	= liste obligatoire
	//Supprime les options en cours
	elt.options.length=0;
	//Recuperation des nouvelle options en fonction du select dont
	var xhr_object = null;
	if(window.XMLHttpRequest) 						// Firefox
	   xhr_object = new XMLHttpRequest();
	else if(window.ActiveXObject) 						// Internet Explorer
	   xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	else { 									// XMLHttpRequest non supporté par le navigateur
	   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
	   return;
	}
	hrefAjax = pathSite+'asp/ajax.asp'
	//xhr_object.open("POST", hrefAjax, false);  
	//xhr_object.open("GET", hrefAjax, false);  
	//xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	//xhr_object.setRequestHeader("Content-type","text/html; charset=iso-8859-1")
	
	
	xhr_object.open("POST", hrefAjax, false);  
	xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=iso-8859-1")
//alert('Choix=c&Cas='+elt.name+'&id='+t.value)
//return false
	xhr_object.send('Choix='+c+'&Cas='+elt.name+'&id='+t.value);
	
	if(xhr_object.readyState == 4){
		var ListeAjax = xhr_object.responseText.split(';')
//alert(ListeAjax)
 	}
	if(!obl){
		var o=new Option(text_0, val_0);
		elt.options[0]=o;
	} 
 	if(ListeAjax!=''){
		for(i=0;i<ListeAjax.length;i++){	
			chaine = ListeAjax[i].split('/')[0]
			souschaine = chaine.split(',') 
			sc=""
			for(j=0;j<souschaine.length;j++){ 
				sc = sc + String.fromCharCode(souschaine[j])
			}
			//var o=new Option(ListeAjax[i].split('/')[0], ListeAjax[i].split('/')[1]);
			var o=new Option(sc, ListeAjax[i].split('/')[1]);
			elt.options[elt.options.length]=o;
			if(o.value==sel){o.selected=true;}
		}
	}
}


