// JavaScript Document AJAX

function getHTTPObject()
{
	if (window.ActiveXObject) return new ActiveXObject("Microsoft.XMLHTTP");
	else if (window.XMLHttpRequest) return new XMLHttpRequest();
		else 
		{
			alert("Your browser does not support AJAX.");
			return null;
		}
}

function setOutput(){

	if(httpObject.readyState == 4)
	{
		document.getElementById('list').innerHTML = httpObject.responseText;
	}
}

function showMatches(){

	if(httpObject.readyState == 4)
	{
		if(httpObject.responseText.length > 3)
		{
			document.getElementById('matchList').style.display = 'block';
			document.getElementById('matchList').style.zIndex = '10';
			document.getElementById('matchList').innerHTML = httpObject.responseText;
		}
		else
		{
			document.getElementById('matchList').style.display = 'none';
			document.getElementById('matchList').innerHTML = '';
			
		}
	}
}
function showAddress(){

	if(httpObject.readyState == 4)
	{
		if(httpObject.responseText.length > 1)
		{
			document.getElementById('similarAddress').style.display = 'block';
			document.getElementById('similarAddress').style.zIndex = '10';
			document.getElementById('similarAddress').innerHTML = httpObject.responseText;
		}
		else
		{
			document.getElementById('similarAddress').style.display = 'none';
			document.getElementById('similarAddress').innerHTML = '';
			
		}
	}
}

function exportIdList(idList)
{

	var mypostrequest=new ajaxRequest()
	mypostrequest.onreadystatechange=function(){
	 if (mypostrequest.readyState==4){
	  if (mypostrequest.status==200 || window.location.href.indexOf("http")==-1){
	   document.getElementById("result").innerHTML=mypostrequest.responseText
	  }
	  else{
	   alert("An error has occured making the request")
	  }
	 }
	}
	var parameters="idList="+idList;
	mypostrequest.open("POST", "getCsv.php", true)
	mypostrequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded")
	mypostrequest.send(parameters)
}

function checkAddress()
{
	httpObject = getHTTPObject();
	if (httpObject != null) 
	{
		var address = document.getElementById('address').value;
		httpObject.open("GET", "verifyAddress.php?address="+address, true);
		httpObject.send(null);
		httpObject.onreadystatechange = showAddress;
	}
}

function showList()
{
	httpObject = getHTTPObject();
	if (httpObject != null) 
	{
		var pageName = document.getElementById('page_name').value;
		if (pageName == 'none')
		{
			// This is to prevent problems from pages that dont require this
			var service_id = document.getElementById('service_id').value;
		}
		else
		{
			var service_id = '';
		}
		
			httpObject.open("GET", "getListOfNames.php?service_id="+service_id+"&page_name="+pageName+"&inputText="+document.getElementById('inputText').value, true);
		httpObject.send(null);
		if (service_id != 'all')
		{
			document.getElementById('list').innerHTML = '<div class="success">Working! Please wait</div>';
		}
		else
		{
			document.getElementById('list').innerHTML = '<div class="success">Working! This will take a while.<br> you are gathering the entire list of customers that have a zip code.</div>';
			
		}
		httpObject.onreadystatechange = setOutput;

	}

}

function deleteSelectedCustomer(customer_id)
{
	httpObject = getHTTPObject();
	if (httpObject != null) 
	{
		httpObject.open("GET", "deleteCustomer.php?customer_id="+customer_id, true);
		httpObject.send(null);
		httpObject.onreadystatechange = setOutput;
	}
}
function checkName()
{
	httpObject = getHTTPObject();
	if (httpObject != null) 
	{
		var last_name = document.getElementById('last_name').value;
		httpObject.open("GET", "checkLastName.php?last_name="+last_name, true);
		httpObject.send(null);
		httpObject.onreadystatechange = showMatches;
	}
}

function ajaxRequest(){
 var activexmodes=["Msxml2.XMLHTTP", "Microsoft.XMLHTTP"] //activeX versions to check for in IE
 if (window.ActiveXObject){ //Test for support for ActiveXObject in IE first (as XMLHttpRequest in IE7 is broken)
  for (var i=0; i<activexmodes.length; i++){
   try{
    return new ActiveXObject(activexmodes[i])
   }
   catch(e){
    //suppress error
   }
  }
 }
 else if (window.XMLHttpRequest) // if Mozilla, Safari etc
  return new XMLHttpRequest()
 else
  return false
}

function emailSelectedCustomer(customer_id)
{
	var mypostrequest=new ajaxRequest()
	mypostrequest.onreadystatechange=function(){
	 if (mypostrequest.readyState==4){
	  if (mypostrequest.status==200 || window.location.href.indexOf("http")==-1){
	   document.getElementById("result").innerHTML=mypostrequest.responseText
	  }
	  else{
	   alert("An error has occured making the request")
	  }
	 }
	}
	var subject=encodeURIComponent(document.getElementById("subject").value)
	var message=encodeURIComponent(document.getElementById("message").value)
	var parameters="customer_id="+customer_id+"&subject="+subject+"&message="+message
	mypostrequest.open("POST", "emailCustomer.php", true)
	mypostrequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded")
	mypostrequest.send(parameters)
}
/*
NOt using any more...redundant.

function showServiceOnlyList(service_id)
{
	httpObject = getHTTPObject();
	if (httpObject != null) 
	{
		var pageName = document.getElementById('page_name').value;
		httpObject.open("GET", "getListOfNames.php?service_id="+service_id+"&page_name="+pageName+"&inputText="+document.getElementById('inputText').value, true);
		httpObject.send(null);
		httpObject.onreadystatechange = setOutput;
		document.getElementById('list').innerHTML = '<div class="success">Working! Please wait</div>';
	}
}
*/
// This is for inovices/proposals when the user changes the tax rate, we are saving the new rate and reloading the page.
/*
THIS IS COMMENTED OUT SINCE WE DO NOT NEED TO ALERT OR UPDATE A DIV IT IS NOT NEEDED RIGHT NOW

function showAlert(){

	if(httpObject.readyState == 4)
	{
		//alert('Tax Rate Changed');
	}
}
*/
function saveNewTaxRate(id,taxRate)
{
	httpObject = getHTTPObject();
	if (httpObject != null) 
	{		
		httpObject.open("GET", "update_tax.php?invoice_id="+id+"&tax_rate="+taxRate, true);
		httpObject.send(null);
		// THE NEXT LINE IS COMMENTED OUT SINCE WE ARE GOING TO REFRESH THE PAGE, NOT SHOW AN ALERT OR UPDATE A DIV
		//httpObject.onreadystatechange = showAlert;
		return true;
	}
	else
	{
		return false;
	}

}



// END invoices/proposals

var httpObject = null;
