function inclusion_rss()
{
  if (xmldoc.readyState == 4)
  {
    if (xmldoc.status == 200) {
      document.getElementById('edimestre_rss_externe').innerHTML = xmldoc.responseText;
    } else {
      document.getElementById('edimestre_rss_externe').innerHTML = xmldoc.status + "<br />" + xmldoc.statusText;
      generer_iframe();
    }
  }
}

function generer_iframe()
{
   if (document.getElementById('edimestre_rss_externe').title.match(/fheight=/))
   {
      edimestre_rss_inclu=document.getElementById('edimestre_rss_externe').title;
   }
   else if (document.getElementById('edimestre_rss_externe_url').value.match(/fheight=/))
   {
      edimestre_rss_inclu=document.getElementById('edimestre_rss_externe_url').value;
   }
   edimestre_rss_inclu=edimestre_rss_inclu.replace(/&amp;/g,"&");
   document.getElementById('edimestre_rss_externe').innerHTML = '<iframe id=\"edimestre_rss_iframe\" name=\"RSS Edimestre\" style=\"border: hidden; width: 100%; overflow: visible; height: '+ hauteur_iframe + ';\" src=\"' + edimestre_rss_inclu + '&entete=1' + '\" ></iframe>'
}

function get_direct()
{
   xmldoc.onreadystatechange = inclusion_rss;
   xmldoc.open("GET", edimestre_rss_inclu, true);
   xmldoc.send(null);
   document.getElementById('edimestre_rss_externe').title="";
}

function get_proxy()
{
   xmldoc.onreadystatechange = inclusion_rss;
   xmldoc.open("GET", "/modules/rss/proxy.php?url=" + escape(edimestre_rss_inclu), true);
   xmldoc.send(null);
   document.getElementById('edimestre_rss_externe').title="";
}

function update_content()
{
   if (document.getElementById('edimestre_rss_externe').title)
   {
      edimestre_rss_inclu=document.getElementById('edimestre_rss_externe').title;
   }
   else if (document.getElementById('edimestre_rss_externe_url') != null)
   {
      if ( document.getElementById('edimestre_rss_externe_url').value )
      {
         edimestre_rss_inclu=document.getElementById('edimestre_rss_externe_url').value;
      }
   }
   edimestre_rss_inclu=edimestre_rss_inclu.replace(/&amp;/g,"&");
   var url=window.location.href;
   var isIE = false;

   try { xmldoc = new XMLHttpRequest(); }
   catch (e)
   {
      try { xmldoc  = new ActiveXObject("Msxml2.XMLHTTP"); isIE = true; }
      catch (e)
      {
         try { xmldoc  = new ActiveXObject("Microsoft.XMLHTTP"); isIE = true; }
         catch (e)
         {
            try { xmldoc  = window.createRequest(); }
            catch (e) { xmldoc  = false; }
         }
      }
   }

   var url_domaine = '';
   var rss_domaine = '';
   var url_crypt = '';
   var rss_crypt = '';
   if (url.match(/^https*:\/\/([^/]+)\/.*/) != null)
   {
      url_domaine = url.match(/^https*:\/\/([^/]+)\/.*/)[1];
   }
   if (edimestre_rss_inclu.match(/^https*:\/\/([^/]+)\/.*/) != null)
   {
      rss_domaine = edimestre_rss_inclu.match(/^https*:\/\/([^/]+)\/.*/)[1];
   }
   if (url.match(/^(https*):\/\/[^/]+\/.*/) != null)
   {
      url_crypt = url.match(/^(https*):\/\/[^/]+\/.*/)[1];
   }
   if (edimestre_rss_inclu.match(/^(https*):\/\/[^/]+\/.*/) != null)
   {
      rss_crypt = edimestre_rss_inclu.match(/^(https*):\/\/[^/]+\/.*/)[1];
   }

   var fetch = "direct";

   if (xmldoc)
   {
      // Le domain et le crypt match
      if (url_domaine == rss_domaine) { fetch = "direct"; }
      // Seul un 'www.' differe
      else if (url_domaine.replace(/^www\./,"") == rss_domaine.replace(/^www\./,""))
      {
         if (url_domaine.search(/^www\./) != -1) { edimestre_rss_inclu = edimestre_rss_inclu.replace(/^(https?):\/\//,"$1://www."); }
         else { edimestre_rss_inclu = edimestre_rss_inclu.replace(/^(https?):\/\/www\./,"$1://"); }
         fetch = "direct";
      }
      // Le domain ne match pas
      else
      {
         fetch = "iframe";
         var metalist = document.getElementsByTagName('META');
         for (i=0;i<metalist.length;i++) { if (metalist[i].content.search(/Édimestre plus mc, v/) != -1 && metalist[i].name == "generator") { fetch = "proxy"; } }
      }

      // Le crypt ne match pas
      if (url_crypt != rss_crypt) { if (url_crypt == "https") { edimestre_rss_inclu = edimestre_rss_inclu.replace(/^http:\/\//,"https://"); } }

      // On procede avec le fetch determine
      if (fetch=="direct")
      {
         try { get_direct(); }
         catch (e) { try { get_proxy(); }
         catch (e) { generer_iframe(); } }
      }
      else if (fetch=="proxy")
      {
         try { get_proxy(); }
         catch (e) { generer_iframe(); }
      }
      else
      {
         generer_iframe();
      }
   }
}

var edimestre_rss_inclu = '';
var hauteur_iframe='480px';
if (document.getElementById('edimestre_rss_externe').title.match(/fheight=/))
{
   hauteur_iframe=document.getElementById('edimestre_rss_externe').title.replace(/.*fheight=/,"");
}
if (!(document.getElementById('edimestre_rss_externe').title.match(/fheight=/)) && document.getElementById('edimestre_rss_externe_url') != null)
{
   if ( document.getElementById('edimestre_rss_externe_url').value.match(/fheight=/) )
   {
      hauteur_iframe=document.getElementById('edimestre_rss_externe_url').value.replace(/.*fheight=/,"");
   }
}
hauteur_iframe=hauteur_iframe.replace(/$|&.*/,"");

update_content();

