//jquery.newsletter.js

//var PATH_TO_NEWSLETTER = '../../libs/newsletter.php';
var MESSAGES = 'html'; // two options available: javascript, html
var MSG_TEXT = "";

$(document).ready( function() {

    // used to check if document has full html structure to be used without overriding.
    function newsletter_check_body(){
        if (
			($("#newsletter").find("#newsletter_email").val() != undefined &&
			$("#newsletter").find("#newsletter_store").val() != undefined &&
			$("#newsletter").find("#newsletter_remove").val() != undefined &&
			$("#newsletter").find("#newsletter_message").val() != undefined) ||
			($("#newsletter").find("#newsletter_load").val() != undefined &&
			$("#newsletter").find("#newsletter_load").val() == 0)
		) {
            return true;
        } else {
            return false;
        }
    }

    function trigger_buttons (enable)
    {
        if (enable){
            $("#newsletter_store").removeAttr('disabled');
            $("#newsletter_remove").removeAttr('disabled');
            $('#newsletter_loader').hide();
        } else {
            $("#newsletter_store").attr('disabled', 'disabled');
            $("#newsletter_remove").attr('disabled', 'disabled');
            $('#newsletter_loader').show();
        }
    }

	//alert(PATH_TO_NEWSLETTER);
    // load newsletters form
	//alert(PATH_TO_NEWSLETTER);
    $.ajax({
        url: PATH_TO_NEWSLETTER,
        cache: false,
        dataType: "xml",
        success: function(xmlobject) {
            var response = xmlobject.getElementsByTagName('response')[0];
            var html = response.getElementsByTagName('html')[0].firstChild.data;
            if( !newsletter_check_body() ) {
                $("#newsletter").html(html);
            }
			MSG_TEXT = $("#newsletter_message").html();
        },
        error: function(x){
            $("#newsletter").html("Newsletter Not Loaded");
        }
    });

    $('body').click( function(event) {
        var op = "";
        if($(event.target).is('#newsletter_store'))
            op = "store";
        else if($(event.target).is('#newsletter_remove'))
            op = "remove";
		else if($(event.target).is('#newsletter_submit'))
            op = $("#newsletter_select").val();

        if (op != "") {
            //var http_host = window.location.hostname;

            trigger_buttons();

            $.ajax({
                url: PATH_TO_NEWSLETTER,
                cache: false,
                dataType: "xml",
				type: "POST",
                data: {
                    op: op,
                    wid: $("#newsletter_wid").val(),
                    email: $("#newsletter_email").val(),
                    lang : $("#newsletter_lang").val(),
					firstname: $("#nl_first").val(),
					lastname: $("#nl_last").val(),
					ttl: $("#nl_anr_select").val()
                },
                success: function(xmlobject) {
                    var response = xmlobject.getElementsByTagName('response')[0];
                    var message = (response.getElementsByTagName('message')[0].firstChild != null) ? response.getElementsByTagName('message')[0].firstChild.nodeValue.toString() : "";
                    var error = (response.getElementsByTagName('error_message')[0].firstChild != null) ? response.getElementsByTagName('error_message')[0].firstChild.nodeValue.toString() : "";
                    var html = response.getElementsByTagName('html')[0].firstChild.data;
                    if(message != '') {
                        if ( MESSAGES == 'javascript' ) {
                            alert(message);
                        } else {
                            /*$('#newsletter_message').html(message).fadeIn("slow");
                            window.setTimeout("clearNL()",3000);*/
							$('#newsletter_message').fadeOut("fast", function() {
								showNLMSG(message, true, false);
							});
							$("#newsletter_email, #nl_first, #nl_last, #nl_anr_select").val("");

                        }
                    }
                    if(error != '') {
                        if ( MESSAGES == 'javascript' ) {
                            alert(error);
                        } else {
                            /*$('#newsletter_message').html(error).fadeIn("slow");
                            window.setTimeout("clearNL()",3000);*/
							$('#newsletter_message').fadeOut("fast", function() {
								showNLMSG(error, true, true);
							});
                        }
                    }
                    trigger_buttons(true);
                },
                error: function() {
                    $("#newsletter").html("Newsletter Loading Error");
                    trigger_buttons(true);
                }
            });
        }

    });
});

function clearNL() {
    $("#newsletter_email").val("");
    $("#newsletter_message").fadeOut("slow");
}

function showNLMSG(msg, temporary, isError) {
	$('#newsletter_message').html(msg).addClass(isError ? "error" : "").removeClass(isError ? "" : "error").fadeIn("slow", function() {
		if(temporary) {
			window.setTimeout(function(){
				$('#newsletter_message').fadeOut("fast", function() {
					showNLMSG(MSG_TEXT, false, false);
				});
			}, 3000);
			
		}
	});
}

function showNewsletterPopup(){
	var hth = $("body").height();
	var sch = $(window).height();
	var scw = $(window).width();
	var p = $("#newsletter");
	var pw = p.outerWidth();
	var ph = p.outerHeight();
	$("#newsletter_email, #nl_first, #nl_last, #nl_anr_select").val("");
	$("#newsletter_select").val("store");

	$("#newsletter_overlay").height(hth > sch ? hth : sch).width(scw).show();
	p.css({top: ((sch - ph)/3), left: ((scw - pw)/2)}).show();
}

function hideNewsletterPopup() {
	$("#newsletter, #newsletter_overlay").hide();
}
