$(document).ready( function() {
    //Function Register Email Subscribe
    var regSubscribe = function(ip) {
        var url = location.href;
        $.ajax({
            url: "http://www.instantthailand.com/subscribe/Subscribe.asmx/RegisterEmail",
            data: { id: JSON.stringify('http://www.sawasdee-hotels.com'), email: JSON.stringify($("#txtEmail").val()), ipaddress: JSON.stringify(ip), url: JSON.stringify(url) },
            dataType: "jsonp",
            //timeout: 5000,
            success: function(json) {
                if(json.d == 'true') {
                    $("#contentResultSubscribe").removeClass('contentErrorResult');
                    $("#contentResultSubscribe").removeClass('contentLoading');
                    $("#contentResultSubscribe").addClass('contentSuccessResult');
                    $("#contentResultSubscribe").html('Thank You For Your Subscription');
                    $("#txtEmail").val('');
                } else {
                    $("#contentResultSubscribe").removeClass('contentSuccessResult');
                    $("#contentResultSubscribe").removeClass('contentLoading');
                    $("#contentResultSubscribe").addClass('contentErrorResult');
                    $("#contentResultSubscribe").html('Error !!!');
                }
            },
            error: function() {
                $("#contentResultSubscribe").removeClass('contentSuccessResult');
                $("#contentResultSubscribe").removeClass('contentLoading');
                $("#contentResultSubscribe").addClass('contentErrorResult');
                $("#contentResultSubscribe").html('Error !!!');
            }
        });
    }
    //TimeOut Get IP Address Function
    var tick = function() {
        regSubscribe('0.0.0.0'); //Function Register Email Subscribe
        $("#contentLoading").addClass('contentLoading');
        $("#contentLoading").fadeOut("fast");
    }
    //Enter
    $("#txtEmail").keypress( function (e) {
        if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {
            $('#btnSubmit').click();
            return false;
        } else {
            return true;
        }
    });
    //Click GO
    $("#btnSubmit").click( function() {
        var mail = $("#txtEmail").val();
        var reg = new RegExp('^[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*@[a-z0-9]+([_|\.|-] {1}[a-z0-9]+)*[\.]{1}(com|ca|net|org|fr|us|qc.ca|gouv.qc.ca)$', 'i');

        if(!reg.test(mail) || mail == "") {
            $("#contentResultSubscribe").removeClass('contentSuccessResult');
            $("#contentResultSubscribe").removeClass('contentLoading');
            $("#contentResultSubscribe").addClass('contentErrorResult');
            $("#contentResultSubscribe").html('Email is Invalid');
        } else {
            //Get IP Address
            $("#contentResultSubscribe").removeClass('contentErrorResult');
            $("#contentResultSubscribe").removeClass('contentSuccessResult');
            $("#contentResultSubscribe").removeClass('contentLoading');
            $("#contentResultSubscribe").addClass('contentLoading');
            $("#contentResultSubscribe").html('Please Wait...');
            var loadTimeout = setTimeout(tick, 9100); //SetTimeOut Get IP Address Function
            $.ajax({
                url: "http://jsonip.appspot.com?callback=?",
                dataType: "jsonp",
                timeout: 9000,
                success: function(data) {
                    regSubscribe(data.ip); //Calll Function Register Email Subscribe
                    clearTimeout(loadTimeout);
                }
            });
        }
    });
    //Loding Ajax
    $().ajaxSend( function(r,s) {
        $("#contentLoading").addClass('contentLoading');
        $("#contentLoading").show();
    });
    $().ajaxStop( function(r,s) {
        $("#contentLoading").removeClass('contentLoading');
        $("#contentLoading").fadeOut("fast");
    });
});
