// holds an instance of XMLHttpRequest
var xmlHttp_order = createXmlHttpRequestObject();
// creates an XMLHttpRequest instance
function createXmlHttpRequestObject()
{
// will store the reference to the XMLHttpRequest object
var xmlHttp_order;
// this should work for all browsers except IE6 and older
try
{
// try to create xmlHttp_orderRequest object
xmlHttp_order = new XMLHttpRequest();
}
catch(e)
{
// assume IE6 or older
try
{
xmlHttp_order = new ActiveXObject("Microsoft.XMLHttp");
}
catch(e) { }
}
// return the created object or display an error message
if (!xmlHttp_order)
alert("Error creating the XMLHttpRequest object.");
else
return xmlHttp_order;
}
	// called to read a file from the server
	
	 
	function process_order()
	{
		if(document.getElementById("fname").value == '')
		{
			alert("Shipping First Name is Missing!");
			document.getElementById("fname").focus();
			return false;
		}
		if(document.getElementById("address").value == '')
		{
			alert("Shipping Address is Missing!");
			document.getElementById("address").focus();
			return false;
		}
		if(document.getElementById("state").value == '')
		{
			alert("Shipping State is Missing!");
			document.getElementById("state").focus();
			return false;
		}
		if(document.getElementById("city").value == '')
		{
			alert("Shipping City is Missing!");
			document.getElementById("city").focus();
			return false;
		}
		if(document.getElementById("zip").value == '')
		{
			alert("Shipping Zip Code is Missing!");
			document.getElementById("zip").focus();
			return false;
		}
		if(document.getElementById("country").value == '')
		{
			alert("Shipping Country is Missing!");
			document.getElementById("country").focus();
			return false;
		}
		x = document.getElementById("email").value;
		filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		if(!filter.test(x))
		{
			alert("Please anter a valid Email ID")
			document.getElementById("email").focus()
			return false;
		}
		 
		if(document.getElementById("billing").checked == false)
		{
			if(document.getElementById("fname2").value == '')
			{
				alert("Billing First Name is Missing!");
				document.getElementById("fname2").focus();
				return false;
			}
			if(document.getElementById("address2").value == '')
			{
				alert("Billing Address is Missing!");
				document.getElementById("address2").focus();
				return false;
			}
			if(document.getElementById("state2").value == '')
			{
				alert("Billing State is Missing!");
				document.getElementById("state2").focus();
				return false;
			}
			if(document.getElementById("city2").value == '')
			{
				alert("Billing City is Missing!");
				document.getElementById("city2").focus();
				return false;
			}
			if(document.getElementById("zip2").value == '')
			{
				alert("Billing Zip Code is Missing!");
				document.getElementById("zip2").focus();
				return false;
			}
			if(document.getElementById("country2").value == '')
			{
				alert("Billing Country is Missing!");
				document.getElementById("country2").focus();
				return false;
			}
			x = document.getElementById("email2").value;
			filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
			if(!filter.test(x))
			{
				alert("Please anter a valid Email ID")
				document.getElementById("email2").focus()
				return false;
			}
		}
		
			if(document.getElementById("cc_name").value == '')
			{
				alert("Credit Card Name is Missing!");
				document.getElementById("cc_name").focus();
				return false;
			}
			if(document.getElementById("cctype").value == '0')
			{
				alert("Credit Card Type is Missing!");
				document.getElementById("cctype").focus();
				return false;
			}
			if(document.getElementById("cardnumber").value == '')
			{
				alert("Credit Card Number is Missing!");
				document.getElementById("cardnumber").focus();
				return false;
			}
			if(document.getElementById("month").value == '')
			{
				alert("Credit Card Month is Missing!");
				document.getElementById("month").focus();
				return false;
			}
			if(document.getElementById("year").value == '')
			{
				alert("Credit Card Year is Missing!");
				document.getElementById("year").focus();
				return false;
			}
			 
		if(document.getElementById("cvv").value == '')
			{
				alert("CVV code is Missing!");
				document.getElementById("cvv").focus();
				return false;
			}
			save_order()
	}
	function save_order()
	{
 		 
			var fname = document.getElementById("fname").value;
			var address = document.getElementById("address").value;
			var state = document.getElementById("state").value;
			var city = document.getElementById("city").value;
			var zip = document.getElementById("zip").value;
			var country = document.getElementById("country").value;
			var phone = document.getElementById("phone").value;
			var email = document.getElementById("email").value;
			var scomments = document.getElementById("scomments").value;
			
			var fname2 = document.getElementById("fname2").value;
			var address2 = document.getElementById("address2").value;
			var state2 = document.getElementById("state2").value;
			var city2 = document.getElementById("city2").value;
			var zip2 = document.getElementById("zip2").value;
			var country2 = document.getElementById("country2").value;
			var phone2 = document.getElementById("phone2").value;
			var email2 = document.getElementById("email2").value;
			
			var cardnumber = document.getElementById("cardnumber").value;
			var cc_name = document.getElementById("cc_name").value;
			var cctype = document.getElementById("cctype").value;
			var month = document.getElementById("month").value;
			var year = document.getElementById("year").value;
			var cvv = document.getElementById("cvv").value;
			
			var shipcost = document.getElementById("shipcost").value;
			var tax_cost = document.getElementById("tax_cost").value;
			var total_cost = document.getElementById("total_cost").value;
			 
			
			var isbilling = 0;
			if(document.getElementById("billing").checked == true)
			{
				isbilling = 1;
			}
			 
			document.getElementById("order_loader").style.display = "block";
 
			var url = "process_order.php?fname="+fname+"&address="+address+"&state="+state+"&city="+city+"&zip="+zip+"&country="+country+"&phone="+phone+"&email="+email+"&fname2="+fname2+"&address2="+address2+"&state2="+state2+"&city2="+city2+"&zip2="+zip2+"&country2="+country2+"&phone2="+phone2+"&email2="+email2+"&cc_name="+cc_name+"&cctype="+cctype+"&month="+month+"&year="+year+"&cvv="+cvv+"&isbilling="+isbilling+"&shipcost="+shipcost+"&tax_cost="+tax_cost+"&total_cost="+total_cost+"&scomments="+scomments+"&cardnumber="+cardnumber;
	 
 
	 
		if (xmlHttp_order)
		{
		// try to connect to the server
			try
			{
			
			xmlHttp_order.open("POST", url, true);
			xmlHttp_order.onreadystatechange = handleRequestStateChange_order;
			xmlHttp_order.send(null);
			}
			// display the error in case of failure
			catch (e)
			{
			alert("Can't connect to server:\n" + e.toString());
			}
		}
		 
		 
		
	}
	
	
	
	
	
	
	// function that handles the HTTP response
	function handleRequestStateChange_order()
	{
	// obtain a reference to the <div> element on the page
	
	// display the status of the request
	if (xmlHttp_order.readyState == 1)
	{
		
		
		//document.getElementById("default_tab").style.display="block";

	}/*
	else if (xmlHttp_order.readyState == 2)
	{
	myDiv.innerHTML += "Request status: 2 (loaded) <br/>";
	}
	else if (xmlHttp_order.readyState == 3)
	{
	myDiv.innerHTML += "Request status: 3 (interactive) <br/>";
	}
	// when readyState is 4, we also read the server response
	*/
	else if (xmlHttp_order.readyState == 4)
	{
		// continue only if HTTP status is "OK"
 
		if (xmlHttp_order.status == 200)
		{
				
			try
			{
			
				response = xmlHttp_order.responseText;
				response = response.replace(/^\s+/g, '').replace(/\s+$/g, '');
		 
				if(response == '1')
				{
					window.location = "thankyou.php";
				}
				else
				{
					document.getElementById("api_result").innerHTML = response;
				}
				document.getElementById("order_loader").style.display = "none";
			
			}
			catch(e)
			{
			// display error message
				alert("Error reading the response: " + e.toString());
			}
		}
		else
		{
			// display status message
		alert("There was a problem retrieving the data:\n" +
		xmlHttp_order.statusText);
		}
		
	}
}


