//------------------------------------------------------------------------------
// add_site_validate_duplicate
//------------------------------------------------------------------------------    
var add_validate_duplicate_request = null;

function add_site_validate_duplicate()
{
   if ( add_validate_duplicate_request == null )
   {
      add_validate_duplicate_request = create_request();
   }
   
   if ( add_validate_duplicate_request != null )
   {
      var parameters = "";
      
      // Do form validation.
      if ( document.getElementById("address").value == "" ||
           document.getElementById("sitename").value == "" )
      {
         alert("Address or Site Name is empty.");
      }
      else
      {  
         // Create the query.
         parameters += "command=" + encodeURI( "streetAddress" );
         parameters += "&streetAddress=" + encodeURI( document.getElementById("address").value );
         parameters += "&site_name=" + encodeURI( document.getElementById("sitename").value );
      
         //alert(parameters);
         add_validate_duplicate_request.open('POST', 'getsite.php', true);
         add_validate_duplicate_request.onreadystatechange = add_site_validate_duplicate_callback;
         //add_validate_duplicate_request.overrideMimeType("text/XML");
         add_validate_duplicate_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
         add_validate_duplicate_request.setRequestHeader("Content-length", parameters.length);
         add_validate_duplicate_request.setRequestHeader("Connection", "close");
         add_validate_duplicate_request.send(parameters);      
      }
   }
   else
   {
      alert("Cannot create parameters list.");
   }   
}   

//------------------------------------------------------------------------------
// add_site_validate_duplicate_callback
//------------------------------------------------------------------------------    
function add_site_validate_duplicate_callback()
{
   if (add_validate_duplicate_request.readyState == 4) 
   {
      if (add_validate_duplicate_request.status == 200)
      {
         var req_error = error_get_id(add_validate_duplicate_request.responseXML);        

         if ( req_error == "0" )
         {
         	// Success we can continue to the review.
         	alert("Success");
         }
         else
         {
            var desc = error_get_description(add_validate_duplicate_request.responseXML);
         	// Fail, alert the user.
         	alert("Problem encountered when adding site: " + desc + "batard");
         }                                
      }
      else 
      {
         alert("There was a problem retrieving the XML data:\n" + add_validate_duplicate_request.statusText);
      }
   }   
}

//------------------------------------------------------------------------------
// add_site
//------------------------------------------------------------------------------    
var add_request = null;

function add_site()
{
	// The first time, create the request.
	if ( add_request == null )
	{
		add_request = create_request();
	}
	
   if ( add_request != null )
   {
      var parameters = "";
      
      // Do form validation, we need at least a valid address
      // and name.
      if ( document.getElementById("streetAddress").value == "" ||
           document.getElementById("site_name").value == "" )
      {
         alert("You have to enter a valid site name and address before adding it.");
      }
      else
      {  
		   // Create the query.
		   parameters += "streetAddress=" + encodeURI( document.getElementById("streetAddress").value );
		   parameters += "&country=" + encodeURI( document.getElementById("country").value );
		   parameters += "&adminArea=" + encodeURI( document.getElementById("adminArea").value );
		   parameters += "&subAdminArea=" + encodeURI( document.getElementById("subAdminArea").value );
		   parameters += "&locality=" + encodeURI( document.getElementById("locality").value );
		   parameters += "&zipCode=" + encodeURI( document.getElementById("zipCode").value );
		   parameters += "&site_name=" + encodeURI( document.getElementById("site_name").value );
		   parameters += "&lat=" + encodeURI( getText(document.getElementById("lat")) );
		   parameters += "&lng=" + encodeURI( getText(document.getElementById("lng")) );
		   parameters += "&changingTable=" + encodeURI( document.getElementById("changingTable").checked );
		   parameters += "&rockingChair=" + encodeURI( document.getElementById("rockingChair").checked );
		   parameters += "&sink=" + encodeURI( document.getElementById("sink").checked );
		   parameters += "&thrash=" + encodeURI( document.getElementById("garbage").checked );
		   parameters += "&diapers=" + encodeURI( document.getElementById("diapers").checked );
		   parameters += "&towel=" + encodeURI( document.getElementById("towel").checked );                        
		   parameters += "&toilet=" + encodeURI( document.getElementById("toilet").checked );
		   parameters += "&microwaveOven=" + encodeURI( document.getElementById("microwaveOven").checked );
		   parameters += "&breastFeedingCushion=" + encodeURI( document.getElementById("breastFeedingCushion").checked );
		   parameters += "&siteLink=" + encodeURI( document.getElementById("siteLink").value );
		   
           add_request.open('POST', 'addsite.php', true);
		   add_request.onreadystatechange = add_site_callback;
		   add_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		   add_request.setRequestHeader("Content-length", parameters.length);
		   add_request.setRequestHeader("Connection", "close");
		   add_request.send(parameters);      
      }
   }
   else
   {
      alert("Cannot create parameters list.");
   }
}

//------------------------------------------------------------------------------
// add_site_callback
//------------------------------------------------------------------------------
var added_site = null; 
var sites = null;
 
function add_site_callback()
{
   if (add_request.readyState == 4) 
   {
      if (add_request.status == 200)
      {
         var req_error = error_get_id(add_request.responseXML);        
            
         if ( req_error == 0 )
         {
            // Success we can continue to the review.
            // Get the site list and get site id.
            sites = get_sites_node_from_server_response(add_request.responseXML);            
            added_site = site_get(sites,0);
            
            // Load the review page. Call mog specific script and tell it that
            // we just add a new site.
            var newurl = "sitereview.html?"
            newurl += "address=" + encodeURI(site_get_address(added_site));
            newurl += "&sitename=" + encodeURI(site_get_name(added_site));
            newurl += "&id=" + encodeURI(site_get_id(added_site));
            newurl += "&lat=" + encodeURI(site_get_lat(added_site));
            newurl += "&lng=" + encodeURI(site_get_lng(added_site));
                        
            document.location = newurl;      
         }
         else
         {
            var desc = error_get_description(add_request.responseXML);
            
            // Fail, alert the user.
            alert("Problem encountered when adding site: " + desc);
         }                                      
      }
      else 
      {
         alert("There was a problem retrieving the data:\n" + add_request.statusText);
      }
   }   
}
