var xmlhttp = null;
var targetfunction = null;
var acceptedUrl = new Array();
i = 0;
acceptedUrl[i++] = "moversrent.it";
acceptedUrl[i++] = "moversrent.info";
acceptedUrl[i++] = "mouversrent.it";
acceptedUrl[i++] = "mooversrent.it";
acceptedUrl[i++] = "muversrent.it";

var disallowedUrl = new Array();
i = 0;
disallowedUrl[i++] = "staging.moversrent.it";

function testConnectionToURL(url, callingtargetfunction, checkurl)
{
  targetfunction = null;
  xmlhttp=null;  

  skipCheck = false;    
  if(checkurl)
  {
    invoker = location.href;
    contexturl = "";
    idx = invoker.indexOf("://");
    if(idx >= 0)
    {      
      contexturl = invoker.substring(0, idx + 3);
      invoker = invoker.substring(idx + 3);
    }
    idx = invoker.indexOf("/");
    if(idx >= 0)
    {      
      contexturl += invoker.substring(0, idx + 1);
      invoker = invoker.substring(idx + 1);
    }
    idx = invoker.indexOf("/");
    if(idx >= 0)
    {      
      contexturl += invoker.substring(0, idx);
    }
    
    invoker = location.href;
    idx = invoker.indexOf("://");
    if(idx >= 0)
    {      
      invoker = invoker.substring(idx + 3);
    }
    idx = invoker.indexOf("/");
    if(idx >= 0)
    {      
      invoker = invoker.substring(0, idx);
    }     
    for(i = 0; i < disallowedUrl.length; i++)
    {
      if(invoker == disallowedUrl[i])
      {
        skipCheck = true;
        break;
      }
    }   
    if(!skipCheck)
    {
      for(i = 0; i < acceptedUrl.length; i++)
      {
        if(invoker.indexOf(acceptedUrl[i]) >= 0)
        {
          skipCheck = false;
          break;
        }
      }    
    }
  }
  if(!skipCheck)
  {      
    targetfunction = callingtargetfunction;    
    try 
    {
      netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
    } 
    catch (e) 
    {      
      xmlhttp=null;
    }    
    if (window.XMLHttpRequest) // code for Mozilla, etc.
    {
      xmlhttp=new XMLHttpRequest();
    }    
    else if (window.ActiveXObject) // code for IE
    {
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }    
    if (xmlhttp!=null)
    {
      try
      {
        url = contexturl + "/webservices/checkconnection.jsp?checkingURL=" + encodeURIComponent(url) + "&nocache=" + Math.random();
        xmlhttp.onreadystatechange=testConnection;
        xmlhttp.open("GET",url,true);
        xmlhttp.send(null);
      }
      catch(exc)
      {
        xmlhttp = null;        
      }
    }
    else
    {
      xmlhttp = null;
    }
  }
}

function testConnection()
{
  result = "KO";
  if (xmlhttp!=null)
  {    
    if (xmlhttp.readyState==4)
    {
      result = xmlhttp.responseText;      
    }
    else
    { 
      return;
    }
  }
  else
  {
    result = "KO";
  }
  if(targetfunction != null)
  {
    targetfunction.call(this, result);
  }  
}

