function echeck(str) {
  var at="@";
  var dot=".";
  var lat=str.indexOf(at);
  var lstr=str.length;
  var ldot=str.indexOf(dot);
  if (str.indexOf(at)==-1) {
    alert("Please specify a valid email address.");
    return false;
  }
  if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr) {
    alert("Please specify a valid email address.");
    return false;
  }
  if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr) {
    alert("Please specify a valid email address.");
    return false;
  }
  if (str.indexOf(at,(lat+1))!=-1) {
    alert("Please specify a valid email address.");
    return false;
  }
  if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot) {
    alert("Please specify a valid email address.");
    return false;
  }
  if (str.indexOf(dot,(lat+2))==-1) {
    alert("Please specify a valid email address.");
    return false;
  }
  if (str.indexOf(" ")!=-1) {
    alert("Please specify a valid email address.");
    return false;
  }
  return true
}

function validateFields() {
  var frmEl = document.getElementById('newsForm');
  var posEmail = document.getElementById('newsEmail');
  var posName = document.getElementById('newsName');

  if ((posEmail.value==null)||(posEmail.value=="")) {
    alert("Please enter your email address.");
    posEmail.focus();
    return false;
  }
  if (echeck(posEmail.value)==false) {
    posEmail.value="";
    posEmail.focus();
    return false;
  }
  if ((posName.value==null)||(posName.value=="")) {
    alert("Please enter your full name.");
    posName.focus();
    return false;
  }
  sendPosEmail();
}

function sendPosEmail() {
  var success = document.getElementById('newsletter-success');
  var posEmail = document.getElementById('newsEmail');
  var posName = document.getElementById('newsName');
  var page = "http://muzicmatters.in/wp-content/themes/faiatheme/newsletter/xmlHttpRequest.php?contact=true&xml=true";

  showContactTimer(); // quickly begin the load bar
  success.style.display = 'none'; // hide the success bar (incase this is a multi-email

  // convert (&, +, =) to string equivs.
  // needed so URL encoded POST won't choke.
  var str1 = posName.value;
  str1 = str1.replace(/&/g,"**am**");
  str1 = str1.replace(/=/g,"**eq**");
  str1 = str1.replace(/\+/g,"**pl**");
  var str2 = posEmail.value;
  str2 = str2.replace(/&/g,"**am**");
  str2 = str2.replace(/=/g,"**eq**");
  str2 = str2.replace(/\+/g,"**pl**");

  var stuff = "&posName="+str1+"&posEmail="+str2
  loadXMLPosDoc(page,stuff)
}

function showContactTimer() {
  var loader = document.getElementById('newsletter-add');
  loader.style.display = 'block';
  sentTimer = setTimeout("hideContactTimer()",3000);
}

function hideContactTimer() {
  var loader = document.getElementById('newsletter-add');
  var success = document.getElementById('newsletter-success');
  var fieldArea = document.getElementById('right-col');
  var inputs = fieldArea.getElementsByTagName('input');
  var inputsLen = inputs.length;
  var posEmail = document.getElementById('newsEmail');
  // hide the load bar alas! Done Loading
  loader.style.display = "none";
  success.style.display = "block";
  posEmail.value = "";
}

function ajaxContact() {
  var frmEl = document.getElementById('newsForm');
  addEvent(frmEl, 'submit', validateFields, false);
  frmEl.onsubmit = function() { return false; }
}

addEvent(window,'load',ajaxContact,false);
