
//var waitImg1 = 'busy/busy-phplist_alpha50-3.gif';
//var waitImg2 = 'busy/busy-phplist_black.gif';
//var waitImg3 = 'busy/busy-phplist_mix.gif';

$(document).ready(function() {
  var waitimg = new Image();
  waitimg.src = waitImage;
  $("#phplistsubscribeform").submit(function() {
    var emailaddress = $("#emailaddress").val();
    var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
    var subscribeaddress = this.action;
    var ajaxaddress = subscribeaddress.replace(/subscribe/,'asubscribe');
    $('#phplistsubscriberesult').html('<img src="'+waitimg.src+'" width="'+waitimg.width+'" height="'+waitimg.height+'" border="0" alt="Please wait" title="powered by phpList, www.phplist.com" />');

    if(emailReg.test(emailaddress)) {
      var jqxhr = $.ajax({
        type: 'POST',
        url: ajaxaddress,
        crossDomain: true,
        data: "email="+emailaddress,
        success: function(data, textStatus, jqXHR ) {
          if (data.search(/FAIL/) >= 0) {
            document.location = subscribeaddress+"&email="+emailaddress;
          } else {
            $('#phplistsubscriberesult').html("<div id='subscribemessage'></div>");
            $('#subscribemessage').html(data)
            .hide()
            .fadeIn(1500);
            $("#phplistsubscribeform").hide();
            $("#phplistnotsubscribe").hide();
            $("#continuesetup").show().fadeIn(2000);
            document.cookie = "phplistsubscribed=yes";
          }
        },
        error: function(jqXHR, textStatus, errorThrown) {
          document.location = subscribeaddress+"&email="+emailaddress;
        }
      });
    } else {
      document.location = subscribeaddress+"&email="+emailaddress;
    }
    return false;
  });

  $("#emailaddress").val(pleaseEnter);
  $("#emailaddress").focus(function() {
    var v = $("#emailaddress").val();
    if (v == pleaseEnter) {
      $("#emailaddress").val("")
    }
  });
  $("#emailaddress").blur(function() {
    var v = $("#emailaddress").val();
    if (v == "") {
      $("#emailaddress").val(pleaseEnter)
    }
  });
  var cookie = document.cookie;
  if (cookie.indexOf('phplistsubscribed=yes')>=0) {
    $("#phplistsubscribeform").html(thanksForSubscribing);
    $("#phplistnotsubscribe").hide();
    $("#continuesetup").show().fadeIn(2000);
  }
  $("#phplistnotsubscribe").click(function() {
    $("#phplistsubscribeform").html('<h3>Not subscribed</h3>');
    $("#phplistnotsubscribe").hide();
    $("#continuesetup").show().fadeIn(2000);
  })
    
});

// cross domain fix for IE
// http://forum.jquery.com/topic/cross-domain-ajax-and-ie
$.ajaxTransport("+*", function( options, originalOptions, jqXHR ) {
  if(jQuery.browser.msie && window.XDomainRequest) {
    var xdr;
    return {
        send: function( headers, completeCallback ) {
            // Use Microsoft XDR
            xdr = new XDomainRequest();
            // would be nicer to keep it post
            xdr.open("get", options.url+"&"+options.data);
            xdr.onload = function() {
                if(this.contentType.match(/\/xml/)){
                    var dom = new ActiveXObject("Microsoft.XMLDOM");
                    dom.async = false;
                    dom.loadXML(this.responseText);
                    completeCallback(200, "success", [dom]);
                } else {
                    completeCallback(200, "success", [this.responseText]);
                }
            };
            xdr.ontimeout = function(){
                completeCallback(408, "error", ["The request timed out."]);
            };
           
            xdr.onerror = function(){
                completeCallback(404, "error", ["The requested resource could not be found."]);
            };
            xdr.send();
      },
      abort: function() {
          if(xdr)xdr.abort();
      }
    };
  }
});

if (pleaseEnter == undefined) {
  var pleaseEnter = "Please enter your email";
}
if (thanksForSubscribing == undefined) {
  var thanksForSubscribing = '<div class="subscribed">Thanks for subscribing. Please click the link in the confirmation email you will receive.</div>';
}
if (waitImage == undefined) {
  var waitImage = 'https://s3.amazonaws.com/phplist/img/busy.gif';
}  

