//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';
}