/* AJAX */
// v.6  Safari fixes
// v.21m  versions (get variable)

function getXML(relative_uri, callback, silent, garid)
{
  //alert('in getXML... ajax4.js');
  AJAX_StartTimer = new Date();
  try
  { 
	  var xmlRequest = GXmlHttp.create();
  }
  catch(e)
  {
  alert("Can't create AJAX object (1)");
  return;
  }

  if(typeof(xmlRequest) == 'undefined')
  {alert("Can't create AJAX object (2)");
  return;}
  
//  url = ROOT_URL +'nyc/'+ relative_uri;
  url = ROOT_URL + relative_uri;


  xmlRequest.open('GET', url + "&v=" + VERSION + "&refresh=" + (new Date()).getTime(), (callback != null));

  if(typeof xmlRequest.overrideMimeType != 'undefined')
    xmlRequest.overrideMimeType("text/xml; charset=iso-8859-1");
  else
    xmlRequest.setRequestHeader("Content-Type", "text/xml; charset=iso-8859-1");

  if(callback != null)
  {
    if(!silent) setWaiting(true, "2");
    xmlRequest.onreadystatechange =
      function()
      {
        if(xmlRequest.readyState != 4)
          return;

       // All Specials downloaded on background and should not affect 'Wait'
       var  bAllSpecs = false;
       if(callback)
       {
       var strFunc = callback.toString();
       bAllSpecs = (strFunc.indexOf('doneAllSpecs')>-1);
       } 

       if(!bAllSpecs)
       setWaiting(false, "2");

		if(xmlRequest.status == 200)
		{
			
			/*
			 ****	START OF TOMETA CHANGES *****
					xmlRequest.responseXML does not work in Safari. Added xmlRequest.responseText in else block for Safari
			*/

			if(xmlRequest.responseXML != null)        
			{
				AJAX_EndTimer = new Date();
				//alert(xmlRequest.responseText);
                    callback(xmlRequest.responseXML, garid);
			}
			else 
			{	
				var parser=new DOMParser();
				var doc=parser.parseFromString(xmlRequest.responseText,"text/xml");

				callback(doc, garid);
			}

			/*
			 ****	END OF TOMETA CHANGES *****			
			*/

		}
        else
        {
          // alert("DEV Failed to fetch XML from:\n" + ROOT_URL + relative_uri + "\nStatus Code: " + xmlRequest.status);
          callback(null);
        }
      };
  };
  
 xmlRequest.send(null); 
 
  if(!callback)
  {
    	if(xmlRequest.status == 200)
		{
			
			/*
			 ****	START OF TOMETA CHANGES *****
					xmlRequest.responseXML does not work in Safari. Added xmlRequest.responseText in else block for Safari
			*/

			if(xmlRequest.responseXML != null)        
			{
				//alert(xmlRequest.responseText);
                    return xmlRequest.responseXML;
				
			}
			else 
			{	
				var parser=new DOMParser();
				var doc=parser.parseFromString(xmlRequest.responseText,"text/xml");

				return doc;
			}

			/*
			 ****	END OF TOMETA CHANGES *****				
			*/

		}
        else
        {
          // alert("DEV Failed to fetch XML from:\n" + ROOT_URL + relative_uri + "\nStatus Code: " + xmlRequest.status);
          return null;
        }

  }

 

}
 

