var xmlHttp = createXmlHttpRequestObject();
var asyncTimeout = 1;

// reference annonce pour adds et subs
var ref = null;
// menu et smenu top en mouseover
var menuTopOver = null;
var smenuTopOver = null;
// zone cliquée
var zone = null;
// textes zones
var zonesTextA = new Array();
// abonnement detail affiche
var abtdetail = null;
function init()
{
if(window.XMLHttpRequest && window.XSLTProcessor && window.DOMParser)
	{
        rewriteLinks();
        return;
	}
// test if user has Internet Explorer with proper XSLT support
if (window.ActiveXObject && createMsxml2DOMDocumentObject())
	{
        rewriteLinks();
        return;
	}
}

//
function rewriteLinks()
{
var links = document.getElementsByTagName("a");
for (i=0; i<links.length; i++)
    {
     var lnk = links[i];
     // lien pour ajouter à ma selection
     var pos = lnk.toString().indexOf("action=adds");
     if (pos  >= 0 )
        {
        lnk.onclick = adds;
        lnk.href = "#";
        }
     // lien pour retirer de la selection
     pos = lnk.toString().indexOf("action=subs");
     if (pos  >= 0 )
        {
        lnk.onclick = subs;
        lnk.href = "#";
        }
    }
// lien des areamaps
if(document.getElementsByName("formmap"))
    {
    map = document.getElementsByName("formmap")[0];
    if (map != null)
       {
       for (i=0; i<map.areas.length; i++)
           {
           map.areas[i].href = "#";
           map.areas[i].onmouseover = showZone;
           zonesTextA.push(map.areas[i].alt)
           map.areas[i].alt = "";
           }
        }
    }
}

//
//  AJOUT A LA SELECTION page annonces
function adds(event)
{
var event = event || window.event;
var target =  event.target || event.srcElement;
ref  = target.id;
if (xmlHttp && (xmlHttp.readyState == 4 || xmlHttp.readyState == 0))
  	{
        var query = "gateway.php?action=adds&id=" + ref  ;
	xmlHttp.open("GET", query, true);
	xmlHttp.onreadystatechange = handleAdds;
	xmlHttp.send(null);
	}
}

//
function  handleAdds()
{
if (xmlHttp.readyState == 4)
   {
   if (xmlHttp.status == 200)
      {
        response = xmlHttp.responseText;
	//alert(response);
	//server error?
	if (response.indexOf("ERRNO") >= 0 || response.indexOf("error") >= 0 || response.length == 0)
           {
            alert(response.length == 0 ? "Erreur serveur." : response);
            return;
      	   }
        xmlResponse = xmlHttp.responseXML;
        xmlRoot = xmlResponse.documentElement;
        resultsA = xmlRoot.getElementsByTagName("result");
        if (resultsA.length == 1)
           {
           if (resultsA[0].hasChildNodes())
              {
              result = resultsA[0].firstChild.data;
              if (result != 'FAIL')
                 {
                 myselection = document.getElementById("mys");
                 myselection.style.display = 'block';
                 alert("L'annonce " + ANNONCE_REF_PREFIXE + ref + " a été ajoutée à votre sélection");
                 }
              }
           }
      }
      else
      {
       alert("Error reading server response.")
      }
   ref = null;
   }
}

//
// RETRAIT DE LA SELECTION page annonces
function subs(event)
{
var event = event || window.event;
var target =  event.target || event.srcElement;
ref = null;
if (target.id.indexOf("a") >= 0)
   {
   ref = target.id.replace('a','');
   }
if (target.id.indexOf("img") >= 0)
   {
   ref = target.id.replace('img','');
   }
if (xmlHttp && (xmlHttp.readyState == 4 || xmlHttp.readyState == 0))
  	{
        var query = "gateway.php?action=subs&id=" + ref  ;
	xmlHttp.open("GET", query, true);
	xmlHttp.onreadystatechange = handleSubs;
	xmlHttp.send(null);
	}
}

//
function  handleSubs()
{
if (xmlHttp.readyState == 4)
   {
   if (xmlHttp.status == 200)
      {
        response = xmlHttp.responseText;
	//alert(response);
	//server error?
	if (response.indexOf("ERRNO") >= 0 || response.indexOf("error") >= 0 || response.length == 0)
           {
            alert(response.length == 0 ? "Erreur serveur." : response);
            return;
      	   }
        xmlResponse = xmlHttp.responseXML;
        xmlRoot = xmlResponse.documentElement;
        resultsA = xmlRoot.getElementsByTagName("result");
        if (resultsA.length == 1)
           {
           if (resultsA[0].hasChildNodes())
              {
              result = resultsA[0].firstChild.data;
              if (result != 'FAIL')
                 {
                 tr = document.getElementById('tr' + ref);
                 tr.style.display = "none";
                 if (result <= 0)
                    {
                    myselection = document.getElementById("mys");
                    myselection.style.display = 'none';
                    // effacement du lien ver mer et barre verticale
                    lmer = document.getElementById("linkmer");
                    lmer2 = document.getElementById("linkmer2");
                    lmer.style.display = 'none';
                    lmer2.style.display = 'none';
                    spanlmer = document.getElementById("spanlinkmer");
                    spanlmer2 = document.getElementById("spanlinkmer2");
                    spanlmer.style.display = 'none';
                    spanlmer2.style.display = 'none';
                    }
                 alert("L'annonce " + ANNONCE_REF_PREFIXE + ref + " a été retirée de votre sélection");
                 }
              }
           }
      }
      else
      {
       alert("Error reading server response.")
      }
   ref = null;
   }
}

//
// LISTE DES VILLES EN FONCTION DES CPs page backoffice
function searchvilles()
{
cpInput = document.getElementById('cpi');
if (cpInput != null)
   {
   cp = cpInput.value;
   villeInput = document.getElementById('villei');
   if (villeInput.options.length > 0)
      {
      for (i = 0 ; i < villeInput.options.length; i++)
          {
          villeInput.remove( villeInput.options[0]);
          }
      }
   if (xmlHttp && (xmlHttp.readyState == 4 || xmlHttp.readyState == 0))
  	{
        var query = "gateway.php?action=searchvilles&cp=" + cpInput.value  ;
	xmlHttp.open("GET", query, true);
	xmlHttp.onreadystatechange = handleSearchVilles;
	xmlHttp.send(null);
	}
   }
return false;
}

//
function  handleSearchVilles()
{
if (xmlHttp.readyState == 4)
   {
   if (xmlHttp.status == 200)
      {
        response = xmlHttp.responseText;
	//alert(response);
	//server error?
	if (response.indexOf("ERRNO") >= 0 || response.indexOf("error") >= 0 || response.length == 0)
           {
            alert(response.length == 0 ? "Erreur serveur." : response);
            return;
      	   }
        xmlResponse = xmlHttp.responseXML;
        xmlRoot = xmlResponse.documentElement;
        idsA = xmlRoot.getElementsByTagName("ID");
        nomsA = xmlRoot.getElementsByTagName("NOM");
        villeInput = document.getElementById('villei');
        villefreeInput = document.getElementById('villefreei');
        spanlistville = document.getElementById('spanlistvillei');
        if (idsA.length > 0)
           {
           villefreeInput.style.display = 'none';
           villefreeInput.value = '';
           spanlistville.style.display = 'block';
           villeInput.style.display = 'block';

           for (i = 0 ; i < idsA.length; i++ )
               {
               if (nomsA[i].hasChildNodes())
                  {
                  //var oo = document.createElement("option");
                  //oo.text = nomsA[i].firstChild.data;
                  //oo.value = idsA[i].firstChild.data;
                  //villeInput.add(oo,null);
                  var oo = new Option(nomsA[i].firstChild.data,idsA[i].firstChild.data,false,false);
                  villeInput[villeInput.length]= oo;
                  }
               }
           }
           else
           {
           // ville free
           villeInput.style.display = 'none';
           villefreeInput.style.display = 'block';
           alert("Ce code postal n'est pas gèré dans notre base, Merci de saisir la commune ou se trouve le bien.");
          }
      }
      else
      {
       alert("Error reading server response.")
      }
   ref = null;
   }
}

// UPDATE CHAMP SUIVI ANNONCEURS
function updateAcrSuivi(id)
{
if (document.getElementById('suivi' + id))
   {
   suivi = document.getElementById('suivi' + id).value;
   var query = "gateway.php?action=updatesuivi&id=" + id + "&suivi=" + suivi  ;
	xmlHttp.open("GET", query, true);
	xmlHttp.onreadystatechange = handleUpdateAcrSuivi;
	xmlHttp.send(null);
   }
}

//
function  handleUpdateAcrSuivi()
{
if (xmlHttp.readyState == 4)
   {
   if (xmlHttp.status == 200)
      {
        response = xmlHttp.responseText;
	//alert(response);
	//server error?
	if (response.indexOf("ERRNO") >= 0 || response.indexOf("error") >= 0 || response.length == 0)
           {
            alert(response.length == 0 ? "Erreur serveur." : response);
            return;
      	   }
        xmlResponse = xmlHttp.responseXML;
        xmlRoot = xmlResponse.documentElement;
        resultA = xmlRoot.getElementsByTagName("result");
        if (resultA.length > 0)
           {
           if (resultA[0].hasChildNodes())
              {
              if (resultA[0].firstChild.data == 'OK')
                 {
                 alert("Le suivi de l'annonceur a été mis à jour");
                 return false;
                 }
              }
           }
      alert("Une erreur a empêché la mise à jour du suivi de l'annonceur.");
      }
      else
      {
       alert("Error reading server response.")
      }
   }
}

// MENU TOP
function overMenuTop(menuid)
{
if (menuid == menuTopOver)
   {
   return false;
   }
if (menuTopOver != null)
   {
   mtsm = document.getElementById('mtsm' + menuTopOver);
   mtsm.style.display = 'none';
   mta = document.getElementById('mta' + menuTopOver);
   if(mta.className != 'menutopaactif')
      {
      mta.style.color = 'white';;
      }
   }
menuTopOver = menuid;
mta = document.getElementById('mta' + menuTopOver);
if(mta.className != 'menutopaactif')
   {
   mta.style.color = '#939382';
   }
mtsm = document.getElementById('mtsm' + menuTopOver);
if (mtsm.hasChildNodes())
   {
   if (mtsm.innerHTML.lastIndexOf('</li>') >= 0 || mtsm.innerHTML.lastIndexOf('</LI>') >= 0)
      {
      mtsm.style.display = 'block';
      }
   }

return false;
}

//
function overSmenuTop(smenuid)
{
if (smenuid == smenuTopOver)
   {
   return false;
   }
if (smenuTopOver != null)
   {
   smta = document.getElementById('smta' + smenuTopOver);
   smtli = document.getElementById('smtli' + smenuTopOver);
   smtp = document.getElementById('smtp' + smenuTopOver);
   smta.style.color = '#939382';
   smtli.style.background = 'white';
   smtp.src = 'images/pucesmenu.jpg';
   }
smenuTopOver = smenuid;
smta = document.getElementById('smta' + smenuTopOver);
smtli = document.getElementById('smtli' + smenuTopOver);
smtp = document.getElementById('smtp' + smenuTopOver);
smta.style.color = 'white';
smtli.style.background = '#99cc00';
smtp.src = 'images/pucesmenuover.jpg';
return false;
}

//
function outMenuTop()
{
if (menuTopOver != null)
   {
   lockSm = false;
   mtsm = document.getElementById('mtsm' + menuTopOver);
   mtsm.style.display = 'none';
   mta = document.getElementById('mta' + menuTopOver);
   if(mta.className != 'menutopaactif')
      {
      mta.style.color = 'white';;
      }
   menuTopOver = null;
   }
}

// ZAS
function showZaZoom(id)
{
if (document.getElementById('zazoom' + id))
   {
    document.getElementById('zazoom' + id).style.display = 'block';
   }
}

function hideZaZoom(id)
{
if (document.getElementById('zazoom' + id))
   {
    document.getElementById('zazoom' + id).style.display = 'none';
   }
}

//
function showZone(event)
{
var event = event || window.event;
var target =  event.target || event.srcElement;
var z = target.id.replace('area','');
var texte = zonesTextA[z-1];
imgm = document.getElementById('imgmap');
if (imgm.src != 'images/formmap' + z + '.gif')
   {
   imgm.src = 'images/formmap' + z + '.gif';
   zonetexte = document.getElementById('zonetexteover');
   zonetexte.innerHTML = texte;
   srollTop = document.documentElement.scrollTop;
   srollLeft = document.documentElement.scrollLeft;
   zonetexte.style.left = (event.clientX + srollLeft + 10 ) + 'px';
   zonetexte.style.top = (event.clientY + srollTop )+ 'px';
   zonetexte.style.display = 'block';
   }
return false;
}


//
function hideZone()
{
zonetexte = document.getElementById('zonetexteover');
zonetexte.style.display = 'none';
imgm = document.getElementById('imgmap');
if (zone != null)
   {
   if (imgm.src != 'images/formmap' + zone + '.gif')
      {
      imgm.src = 'images/formmap' + zone + '.gif';
      }
   }
   else
   {
   if (imgm.src != 'images/formmap.gif')
      {
      imgm.src = 'images/formmap.gif';
      }
   }
return false;
}

function selectZone(z)
{
inputz =  document.getElementById('z');
inputz.value = z;
zone = z;
// on vide le champs cps
cps = document.getElementById('cps');
cps.value = "";
return false;
}

// VIGNETTES
//
function zoomVignette(id)
{
imgzoom = document.getElementById("zoom");
imgvignette = document.getElementById("vignette" + id);
srctmp = imgzoom.src;
imgzoom.src = imgvignette.src;
imgvignette.src = srctmp;
}

// montre cache saisies loyer / pvente en fonction du type de transaction
// saisie annonces + form recherche annonces
//
function showHideLocVente()
{
trselect = document.getElementById("transaction");
labelloyer = document.getElementById("labelloyerli");
inputloyer = document.getElementById("inputloyerli");
labelloyerb = document.getElementById("labelloyerlib");
inputloyerb = document.getElementById("inputloyerlib");
if (trselect.value == TRANSACTION_LOC || trselect.value == TRANSACTION_ALL)
    {
    labelloyer.style.display = 'block';
    inputloyer.style.display = 'block';
    if (labelloyerb != null)
       {
       labelloyerb.style.display = 'block';
       }
    if (inputloyerb != null)
       {
       inputloyerb.style.display = 'block';
       }
    }
    else
    {
    labelloyer.style.display = 'none';
    inputloyer.style.display = 'none';
    if (labelloyerb != null)
       {
       labelloyerb.style.display = 'none';
       }
    if (inputloyerb != null)
       {
       inputloyerb.style.display = 'none';
       }
    }
labelpvente = document.getElementById("labelpventeli");
inputpvente = document.getElementById("inputpventeli");
labelpventeb = document.getElementById("labelpventelib");
inputpventeb = document.getElementById("inputpventelib");
if (trselect.value == TRANSACTION_VENTE || trselect.value == TRANSACTION_ALL)
    {
    labelpvente.style.display = 'block';
    inputpvente.style.display = 'block';
    if (labelpventeb != null)
       {
       labelpventeb.style.display = 'block';
       }
    if (inputpventeb != null)
       {
       inputpventeb.style.display = 'block';
       }
    }
    else
    {
    labelpvente.style.display = 'none';
    inputpvente.style.display = 'none';
    if (labelpventeb != null)
       {
       labelpventeb.style.display = 'none';
       }
    if (inputpventeb != null)
       {
       inputpventeb.style.display = 'none';
       }
    }
}

// Visu text abonnements
function showAbtText(id)
{
if (abtdetail != null)
   {
   ptext = document.getElementById('abt' + abtdetail);
   ptext.style.display = 'none';
   }
abtdetail = id;
ptext = document.getElementById('abt' + id);
ptext.style.display = 'block';
}

function hideAbtText(id)
{
ptext = document.getElementById('abt' + id);
ptext.style.display = 'none';
}
