function checkUserInputs(fld) 
{
	var retval=false;
	var datachk="";
	var mlistTest = fld.mlist.checked;

	if (mlistTest == true)
	{
		/* alert('mlistTest may be a single variable'); */
		retval = true;
	}
	else 
	{
		for (i=0; i<fld.mlist.length; i++)
		{
			if (fld.mlist[i].checked==true)
			{
				/* alert("checked "+i); */
				retval = true;
				/* alert(retval); */
			}
		}
	}
	
	if (retval == false)
	{
		var answer = confirm("You have not selected any lists. This will unsubscribe you from all lists. Click CANCEL to review your choices again and select an option, or click OK to coninue without subscribing to anything.");
		if(answer)
		{
			retval = true;
		}
	}
	
	var datachk = checkUserFields(fld);
	
	if(datachk != "")
	{
		retval = false;
	}
	return retval;
}



function checkUserFields(theForm)
{
	/* check for all the mandatory fields... */
	var reason = "";
	reason += validateFirstname(theForm.firstname);
	reason += validateLastname(theForm.lastname);	
	reason += validateEmail(theForm.email);
	
	if (reason != "") {
		alert("Some fields need correction:\n" + reason);
		var recdata = "false";
	}
	else
	{
		var recdata = "true";
	}
	return reason;
}

function SubscribeMeNowResults()
{
  if (request.readyState == 4) {
    if (request.status == 200) {
      /* Get the response from the server */
      var results = request.responseText;
      if(results != "") {
      	alert(" Request status is: " + results);
	  } else {
	  	alert("Try Again");
	  }
    } else {
      alert("Error! Request status is " + request.status);
	}
  }
}
function validateFirstname(fld) {
    var error = "";
    var illegalChars = /\W/; // allow letters, numbers, and underscores
 
    if (fld.value == "") {
        fld.style.background = 'Yellow'; 
        error = "You didn't enter a first name.\n";
    } else if ((fld.value.length < 2) || (fld.value.length > 30)) {
        fld.style.background = 'Yellow'; 
        error = "Please use between 2 and 30 characters for your first name.\n";
    } else if (illegalChars.test(fld.value)) {
        fld.style.background = 'Yellow'; 
        error = "The name you entered contains illegal characters. Please re-enter your first name.\n";
    } else {
        fld.style.background = 'White';
    }
    return error;
}
function validateLastname(fld) {
    var error = "";
    var illegalChars = /\W/; // allow letters, numbers, and underscores
 
    if (fld.value == "") {
        fld.style.background = 'Yellow'; 
        error = "You didn't enter a last name.\n";
    } else if ((fld.value.length < 2) || (fld.value.length > 40)) {
        fld.style.background = 'Yellow'; 
        error = "Please use between 2 and 40 characters for your last name.\n";
    } else if (illegalChars.test(fld.value)) {
        fld.style.background = 'Yellow'; 
        error = "Your last name contains illegal characters. Please re-enter your last name.\n";
    } else {
        fld.style.background = 'White';
    }
    return error;
}
function trim(s)
{
  return s.replace(/^\s+|\s+$/, '');
}
function validateEmail(fld) {
    var error="";
    var tfld = trim(fld.value);                        // value of field with whitespace trimmed off
    var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
    var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;
   
    if (fld.value == "") {
        fld.style.background = 'Yellow';
        error = "You didn't enter an email address!\n";
    } else if (!emailFilter.test(tfld)) {              //test email for illegal characters
        fld.style.background = 'Yellow';
        error = "Please enter a valid email address.\n";
    } else if (fld.value.match(illegalChars)) {
        fld.style.background = 'Yellow';
        error = "The email address contains illegal characters.\n";
    } else {
        fld.style.background = 'White';
    }
    return error;
}
function showSubsPopup()
{

}
function dropECSubs(theForm) {
	var myDomainName = theForm.mySite.value;
	var myDB = theForm.myRec.value;
	var myList = theForm.myList.value;
	
	/* alert(myDomainName + " - " + myDB + " - " + myList); */
	var recdata = myDomainName + ":" + myDB + ":" + myList + ":";

	/* alert('Dropping the selected campaign subscribers permanently'); */
	
	for (var i = 0; i < theForm.subscriber.length; i++) {
			var checked = theForm.subscriber[i].checked;
			if (checked) {
	  		recdata += theForm.subscriber[i].value + ":";
			}
	}
	
	/* alert(recdata); */

	var x = confirm('Are you sure you want to drop these subscribers permanently?');
	if (x) {
		/* alert('click OK to drop.'); */
		var url = "ssi/DropECSubs.php";
		request.open("POST", url, true);
		request.onreadystatechange = DropECSubsResults;
		request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		request.send("dataset=" + escape(recdata));	
	} 
	else
	{
		alert('Drop cancelled.');
	}
}


function DropECSubsResults()  {
	var myDomainName = document.getElementById('mySite').value;
	var myDB = document.getElementById('myRec').value;
	var myList = document.getElementById('myList').value;
  if (request.readyState == 4) {
    if (request.status == 200) {
      /* Get the response from the server */
      var results = request.responseText;
      if(results != "") {
      	
				alert(results);
				
				var WL = 'http://' + myDomainName + '/index.php?site=koinnection&page=ECListEdit&l=' + myList;
				/* alert(WL); */
				
				window.location = WL;
	  		
	  	} else {
	  		var message = "Try Again" + results;
	  		alert(message);
	  	}
    } else {
      alert("Error! Request status is " + request.status);
		}
  }
}

function createPopup(title, data) {
	//Get the data from the form fields
	var background = "#ffffff";
	var title = title;

	//Now create the HTML code that is required to make the popup
	// var content = "<html><head><title>"+title+"</title></head><body bgcolor='"+background+"'><h1>"+title+"</h1>"+text+"<br /><a href='javascript:window.close()'>Close the popup</a></body></html>";

	var content = data;

	//Create the popup
	var popup = window.open("","window","resizeable,width=400,height=300");
	popup.document.write(content); //Write content into it.
	popup.document.close();
}
