// JavaScript Document

function getValue(varname)
{
  // First, we load the URL into a variable
  var url = window.location.href;

  // Next, split the url by the ?
  var qparts = url.split("?");
  // Check that there is a querystring, return "" if not
  if (qparts.length == 0 || qparts.length == 1)
  {
    return "";
  }
  
  else{
	  // Then find the querystring, everything after the ?
	  var query = qparts[1];
	
	  // Split the query string into variables (separates by &s)
	  var vars = query.split("&");
	
	  // Initialize the value with "" as default
	  var value = "";
	
	  // Iterate through vars, checking each one for varname
	  for (i=0;i<vars.length;i++)
	  {
		// Split the variable by =, which splits name and value
		var parts = vars[i].split("=");
		
		// Check if the correct variable
		if (parts[0] == varname)
		{
		  // Load value into variable
		  value = parts[1];
	
		  // End the loop
		  break;
		}
	  }
	  // Convert escape code
	  value = unescape(value);
	  // Convert "+"s to " "s
	  value.replace(/\+/g," ");
	  // Return the value
	  return value;
  }
}

function form_validation(){
	var namefield = document.frm_subscribe.Field1.value;
	if(namefield == ""){
		alert("First Name must not be empty");
		document.frm_subscribe.Field1.focus();
		return false;
	}
	var namefield = document.frm_subscribe.Field2.value;
	if(namefield == ""){
		alert("Last Name must not be empty");
		document.frm_subscribe.Field2.focus();
		return false;
	}
	if(!validateEmail(document.frm_subscribe.Field3.value,1,1))
	{
		document.frm_subscribe.Field3.focus();
		return false;
	}
	
	var affid = getValue("AffliateId");
	if(affid != "")
	document.frm_subscribe.AffliateId.value = affid;
	
	var pagid = getValue("PageId");
	if(pagid != "")
	document.frm_subscribe.hidPageID.value = pagid;
}
function validateEmail(addr,man,db) {
	if (addr == '' && man) {
	   if (db) alert('Email address is mandatory');
	   return false;
	}
	var invalidChars = '\/\'\\ ";:?!()[]\{\}^|';
	for (i=0; i<invalidChars.length; i++) {
	   if (addr.indexOf(invalidChars.charAt(i),0) > -1) {
		  if (db) alert('Email address contains invalid characters');
		  return false;
	   }
	}
	for (i=0; i<addr.length; i++) {
	   if (addr.charCodeAt(i)>127) {
		  if (db) alert("Email address contains non ascii characters.");
		  return false;
	   }
	}

	var atPos = addr.indexOf('@',0);
	if (atPos == -1) {
	   if (db) alert('Email address must contain an @');
	   return false;
	}
	if (atPos == 0) {
	   if (db) alert('Email address must not start with @');
	   return false;
	}
	if (addr.indexOf('@', atPos + 1) > - 1) {
	   if (db) alert('Email address must contain only one @');
	   return false;
	}
	if (addr.indexOf('.', atPos) == -1) {
	   if (db) alert('Email address must contain a period in the domain name');
	   return false;
	}
	if (addr.indexOf('@.',0) != -1) {
	   if (db) alert('period must not immediately follow @ in email address');
	   return false;
	}
	if (addr.indexOf('.@',0) != -1){
	   if (db) alert('period must not immediately precede @ in email address');
	   return false;
	}
	if (addr.indexOf('..',0) != -1) {
	   if (db) alert('two periods must not be adjacent in email address');
	   return false;
	}
	var suffix = addr.substring(addr.lastIndexOf('.')+1);
	if (suffix.length != 2 && suffix != 'com' && suffix != 'net' && suffix != 'org' && suffix != 'edu' && suffix != 'int' && suffix != 'mil' && suffix != 'gov' & suffix != 'arpa' && suffix != 'biz' && suffix != 'aero' && suffix != 'name' && suffix != 'coop' && suffix != 'info' && suffix != 'pro' && suffix != 'museum') {
	   if (db) alert('invalid primary domain in email address');
	   return false;
	}
return true;
}

