function createRequestObject(){

var req;

if(window.XMLHttpRequest){
//For Firefox, Safari, Opera
req = new XMLHttpRequest();
}
else if(window.ActiveXObject){
//For IE 5+
req = new ActiveXObject("Microsoft.XMLHTTP");
}
else{
//Error for an old browser
alert('Your browser is not IE 5 or higher, or Firefox or Safari or Opera');
}

return req;
}

//Make the XMLHttpRequest Object
var http = createRequestObject();

function sendRequest(method, url){
if(method == 'get' || method == 'GET'){
http.open(method,url,true);
http.onreadystatechange = handleResponse;
http.send(null);
}
}

function handleResponse(){
if(http.readyState == 4 && http.status == 200){
var response = http.responseText;
if(response){
	//alert(response);
document.getElementById('soaContainer').innerHTML = response;
}
}
}

// make the request object for retrieving merchant details
function getMDetails(method, url, targetDIV){
	if(method == 'get' || method == 'GET'){
	var httpreq = new XMLHttpRequest();
		if (httpreq) {
			httpreq.onreadystatechange = function() {
				if(httpreq.readyState == 4 && (httpreq.status == 200 || httpreq.status == 304)){
					var response = httpreq.responseText;
					if(response){
						//alert(response);
					document.getElementById(targetDIV).innerHTML = response;
					}
				}
			}
			httpreq.open(method,url,true);
			httpreq.send(null);
		}
	}
}


function showLoading(element){
document.getElementById(element).innerHTML = "<img src=\"/CSP/images/Loading.gif\" />";
}
function showSMLoading(element){
document.getElementById(element).innerHTML = "<img src=\"/CSP/images/LoadingSM.gif\" />";
}


function submitUserInfo() {
var url = "soaLogin.jsp?";
var usr = document.getElementById("username");
var pw = document.getElementById("password");
showLoading('loginform');

	if (usr != null && pw != null)
	{
	url = url+"UserName="+usr.value+"&Password="+pw.value;
	sendRequest('GET',url);
	} else {
	sendRequest('GET','soaLogin.jsp');
	}
}
function submitSOA() {
var url = "sendSOA.jsp?";
var usr = (document.getElementById("userid") == null)? "" : document.getElementById("userid").value;
var prid = (document.getElementById("prid") == null)? "" : document.getElementById("prid").value;
var puid = (document.getElementById("puid") == null)? "" : document.getElementById("puid").value;
var chk = (document.getElementById("setR").checked)? document.getElementById("setR").value : "0";
showLoading('loginform');

	if (usr=="" || usr==null)
	{
	sendRequest('GET','sendSOA.jsp?send=failid');
	} else {
	url = url+"userid="+usr+"&puid="+puid+"&prid="+prid+"&setR="+chk;
	new Ajax.Updater('soaContainer', url, {evalScripts: true}); 
	//sendRequest('GET',url);
	}
}

// function to handle soa-based card signup w/ in-store pickup option
function submitCard() {
var url = "doSOASignUp.jsp?";
var email = (document.getElementById("emailaddr") == null)? "" : document.getElementById("emailaddr").value;
var cardoption = (document.getElementById("cardoption1").checked)? document.getElementById("cardoption1").value : document.getElementById("cardoption2").value;
var emailFilter = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
showLoading('signupregion');

	if ((email=="" || email==null) || (emailFilter.test(email)==false))
	{
	new Ajax.Updater('signupregion', 'soaSignUp.jsp?chk=emailaddr', {evalScripts: true}); 
	} else {
	url = url+"emailaddr="+email+"&cardoption="+cardoption;
	new Ajax.Updater('soaContainer', url, {evalScripts: true}); 
	}
}

// function to handle soa-based card signup w/o in-store pickup option
function submitCardOnlineOnly() {
var url = "doSOASignUp.jsp?";
var email = (document.getElementById("emailaddr") == null)? "" : document.getElementById("emailaddr").value;
var cardoption = "online";
var emailFilter = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
showLoading('signupregion');

	if ((email=="" || email==null) || (emailFilter.test(email)==false))
	{
	new Ajax.Updater('signupregion', 'soaSignUpOnlineOnly.jsp?chk=emailaddr', {evalScripts: true}); 
	} else {
	url = url+"emailaddr="+email+"&cardoption="+cardoption;
	new Ajax.Updater('soaContainer', url, {evalScripts: true}); 
	}
}

