// Create a boolean variable to check for a valid IE instance
var xmlhttp = false;

// Check if we are using IE
try {
	// If the JavaScript version is greater than 5
	xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	//alert("You are using IE");
} catch (e) {
	// If not, then use the older Active X object
	try {
		// If we are using IE
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		//alert ("You are using IE");
	} catch (E) {
		// Else we must be using a non-IE browser.
		xmlhttp = false;
	}
}

// If we are using a non-IE browser, create a javascript instance of the object.
if (!xmlhttp && typeof XMLHttpRequest != 'undefined'){
	xmlhttp = new XMLHttpRequest();
	//alert ("You are not using IE");
}

function makerequest(serverPage, fieldID, outputID, valueID){

	var fieldElement = document.getElementById(fieldID);
	var outElement = document.getElementById(outputID);
	var valElement = document.getElementById(valueID);
	
	// Get input value
	var val = valElement.value;
	
	// Only do search if input value == 4
	if (val.length >= 3){
	
		serverPage = serverPage + "?str=" + val;
		
		xmlhttp.open("GET", serverPage);
		xmlhttp.onreadystatechange = function() {
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200){
				output = xmlhttp.responseText;
				
				outElement.innerHTML = output.replace("\\", "");
				fieldElement.value = output.replace("\\", "");
			}
		}
		xmlhttp.send(null);
	}
}


//  Update session variable with new discount or shipping
function makeSDRequest(serverPage, outputID, valueID, modusOperandi) {

	var outElement = document.getElementById(outputID);
	var valElement = document.getElementById(valueID);
	
	// Get input value
	var val = valElement.value;
	
	serverPage += "?val=" + val + "&m=" + modusOperandi;
	
	xmlhttp.open("GET", serverPage);
	
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200){
			output = xmlhttp.responseText.split("||");
			outElement.innerHTML = output[0];
			document.forms['checkout_confirmation'].amount.value = output[1];
			document.forms['checkout_confirmation'].digest.value = output[2];
		}
	}

	xmlhttp.send(null);

}

//  Update session variable with new discount or shipping
function makeSalesRepRequest(serverPage, outputID, valueID) {

	var outElement = document.getElementById(outputID);
	var valElement = document.getElementById(valueID);
	outElement.innerHTML = '<span style="color: red;">Updating rep. Please be patient</span>';
	
	// Get input value
	var val = valElement.value;
	
	serverPage += "?val=" + val;
	
	xmlhttp.open("GET", serverPage);
	
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200){
			output = xmlhttp.responseText;
			outElement.innerHTML = "";
		}
	}

	xmlhttp.send(null);

}

//  Update session variable with new email address
function makeCustomerEmailRequest(serverPage, outputID, valueID)
{
    var outElement = document.getElementById(outputID);
    var valElement = document.getElementById(valueID);
    outElement.innerHTML = '<span style="color: red;">Updating email. Please be patient</span>';

    // Get text of selelcted option
    var w = valElement.selectedIndex;
    var val = valElement.options[w].text;
    serverPage += "?val=" + val;
    xmlhttp.open("GET", serverPage);

    xmlhttp.onreadystatechange = function()
    {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
        {
            output = xmlhttp.responseText;
            outElement.innerHTML = "";
        }
    }
    xmlhttp.send(null);
}

//  Update session variable with new customer type
function makeCustomerTypeRequest(serverPage, outputID, valueID) {
    var outElement = document.getElementById(outputID);
    var valElement = document.getElementById(valueID);
    outElement.innerHTML = '<span style="color: red;">Updating customer type. Please be patient</span>';

    // Get text of selelcted option
    var w = valElement.selectedIndex;
    var val = valElement.options[w].value;
    serverPage += "?val=" + val;
    xmlhttp.open("GET", serverPage);

    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            output = xmlhttp.responseText;
            outElement.innerHTML = "";
        }
    }
    xmlhttp.send(null);
}