﻿function AjaxLogin() {
    var parameters = {
        //        parameters are defined here, all methods are different so define as many as the method needs
        parms: "{ parm1: '" + $("#inputLogin").val() + "', parm2: '" + $("#inputPassword").val() + "'}",
        email: $('#inputLogin').val(),
        password: $("#inputPassword").val(),
        redirectWindow: "/lightbox2.aspx?id=",
        closePopupWin: 'LogInPopup',
        // url: "http://localhost/BSWebService/AjaxCalls.asmx/Login"
        url: "../ws/AjaxCalls.asmx/Login"
        //   rememberMe: $('#chckBxRememberMe').is(':checked')
    };
    if (validateemail(parameters.email, $("#inputPassword")) & validatepassword(parameters.password)) {
        AjaxCallPopUpLogin(parameters);
    } else {
        if (parameters.password == "") { $("#inputPassword").addClass("error") };
        if (parameters.email == "") { $("#inputLogin").addClass("error") };
    }
}

function AjaxContact() {
    var parameters = {
        parms: "{name: '" + $("#contactName").val() + "', email: '" + $("#contactEmail").val() + "', phone: '" + $("#contactPhone").val() + "', comments: '" + $("#ctl00_contact_ContactComments").val() + "'}",
        closePopupWin: 'ContactPopup',
        email: $("#contactEmail").val(),
        url: "../../ws/AjaxCalls.asmx/ContactMe"
    };
    if (validateemail(parameters.email, $("#contactEmail"))) {
        AjaxCallPopUpStandard(parameters);
    } else {
        if (parameters.email == "") { $("#contactEmail").addClass("error") };
    }

}


/// for FireFox
function AjaxFF() {
    $.ajax({
        contentType: "application/json; charset=utf-8",
        ///  data: JSON.stringify(classFile),
        data: "{parm1: 'demo@demo.com', parm2: 'demo'}",
        //  data: "{UserID: jack@jack.com, FirstName: Mike}",
        dataType: "json",
        type: "POST",
        //url: "http://localhost/BSWebService/AjaxCalls.asmx/Login",
        url: "../../ws/AjaxCalls.asmx/Login",
        success: function(data) {
            //  alert("test");
            for (var i in data) {
                var client = data[i];
            }
            alert(client.userID);
            //    $("#address").html(data.d);
        },
        error: function() {
            //    alert("error " + parameters.parms);
            alert("error");
        }
    });

}

/////// functions using parameters
function AjaxCallPopUpReDirect(parameters) {
    $.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        data: parameters.parms,
        dataType: "json",
        url: parameters.url,
        success: function(data) {

            var customer = data.d;
            //    alert(customer.userID);
            if (customer.status == 1) {
                parameters.redirectWindow += customer.status;
                //   window.location = parameters.parmURL;

                closePopup(parameters.closePopupWin);
            } else {
                alert(customer.userID);
            }
        },
        error: function() {
            alert("error");
        }
    });
}
function AjaxCallPopUpLogin(parameters) {
    $.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        data: parameters.parms,
        dataType: "json",
        url: parameters.url,
        success: function(data) {
            // alert("success " + parameters.parms);
            //    var customer = data;
            for (var i in data) {
                var customer = data[i];
            }
            //   alert(customer.userID);
            if (customer.status == 1) {
                parameters.redirectWindow += customer.status;
                //   window.location = parameters.parmURL;
                //  alert(customer.userID);
                //$.get("../CreateSessions.aspx?id=" + customer.userID);
                closePopup(parameters.closePopupWin);
            } else {
                // alert(customer.userID);
                ShowClosePopup();

            }
        },
        error: function() {
            //  alert("error " + parameters.parms);
            // alert("error");
            ShowClosePopup();
        }
    });
}
function AjaxCallPopUpStandard(parameters) {
    $.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        data: parameters.parms,
        dataType: "json",
        url: parameters.url,
        success: function(data) {
            alert("success " + parameters.parms);
            //    var customer = data;
            for (var i in data) {
                var customer = data[i];
            }
            //   alert(customer.userID);
            //   if (customer.status == 1) {
            parameters.redirectWindow += customer.status;
            //   window.location = parameters.parmURL;
            //  alert(customer.userID);

            closePopup(parameters.closePopupWin);
            //  } else {
            // alert(customer.userID);
            //  ShowClosePopup();

            // }
        },
        error: function() {
            alert("error " + parameters.parms);
            // alert("error");
            // ShowClosePopup();
        }
    });
}

function ShowLoginPopup() {

    $('#inputLogin, #inputPassword').unbind('keypress').keypress(function(e) { return processInput(e, "login"); });
    $('#LogInPopup').centerScreen(true);
    $('#inputLogin, #inputPassword').val('');
    $('#LogInPopup').show('500');
    // $('#inputLogin').focus();
    $('#btnLogin').click(function() {
        $('#inputLogin, #inputPassword').removeClass('error');
        AjaxLogin();
        //AjaxFF();
    });
}


function ShowClosePopup() {
    // alert("close");
    // $('#inputLogin, #inputPassword').unbind('keypress').keypress(function(e) { return processInput(e, "login"); });
    $('#closeClosePopup').centerScreen(true);
    //  $('#inputLogin, #inputPassword').val('');
    $('#CloseClosePopup').show('500');
    $('#closeClose').focus();
    $('#btncloseClose').click(function() {
        $('#closeClosePopup').hide('500');
    });
}
function ShowRegisterPopup() {
    $('#LogInPopup').hide();
    $('#ForgotPassPopup').hide();
    $('#RegName, #RegName, RegEmail').unbind('keypress').keypress(function(e) { return processInput(e, "Register"); });
    $('#RegisterPopup').centerScreen(true);
    $('#RegName, #RegName, #RegEmail').val('');
    $('#RegisterPopup').show('500');
    $('#RegName').focus();
    $('#btnRegister').click(function() {
        AjaxRegister();
    });
}

function ShowReminderPopup() {
    $('#LogInPopup').hide();
    $('#forgotLogin, #forgotPassword').unbind('keypress').keypress(function(e) { return processInput(e, "remind"); });
    $('#ForgotPassPopup').centerScreen(true);
    $('#forgotLogin, #forgotPassword').val('');
    $('#ForgotPassPopup').show('500');
    //ShowBlocker();
    //                $('#RegisterPopup').hide();
    //                $('#btnLogin').click(function() {
    //                    AjaxLogin();
    //                });
    $('#forgotLogin').focus();
    $('#btnRemind').click(function() {
        AjaxRemind();
    });
}

function ShowReminderPopupClose() {
    $('#CloseClosePopup').hide();
    $('#LogInPopup').hide();
    //  $('#forgotLogin, #forgotPassword').unbind('keypress').keypress(function(e) { return processInput(e, "remind"); });
    $('#ForgotPassPopup').centerScreen(true);
    $('#forgotLogin, #forgotPassword').val('');
    $('#ForgotPassPopup').show('500');
    //ShowBlocker();
    //                $('#RegisterPopup').hide();
    //                $('#btnLogin').click(function() {
    //                    AjaxLogin();
    //                });
    $('#forgotLogin').focus();
    $('#btnRemind').click(function() {
        AjaxRemind();
    });
}


function SendMessagePopup() {

    $('#SendMessagePopup, #send-message-subject').unbind('keypress').keypress(function(e) { return processInput(e, "SendMessage"); });
    $('#SendMessagePopup').centerScreen(true);
    $('#SendMessagePopup, #send-message-subject').val('');
    $('#SendMessagePopup').show('500');
    //ShowBlocker();
    //                $('#RegisterPopup').hide();
    //                $('#btnLogin').click(function() {
    //                    AjaxLogin();
    //                });
    $('#inputLogin').focus();
}
function ShowContactPopup() {

    $('#contactName, #contactEmail, #ctl00_contact_ContactComments, #contactPhone').unbind('keypress').keypress(function(e) { return processInput(e, "SendMessage"); });
    $('#ContactPopup').centerScreen(true);
    $('#contactName, #contactEmail, #ctl00_contact_ContactComments,  #contactPhone').val('');
    $('#ContactPopup').show('500');
    $('#btnContact').click(function() {
        $('#contactEmail').removeClass('error');
         AjaxContact();
       // AjaxFF();

    });
    $('#contactName').focus();
}


function processInput(event, action) {
    if (event.which == 13) {
        switch (action) {
            case "login":
                AjaxLogin();
                break;
            case "register":
                AjaxRegister();
                break;
            case "remind":
                AjaxRemind();
                break;
            case "SentMessage":
                SentMessage();
                break;
            case "SearchByName":
                SearchByName();
                break;
            case "SearchByRadius":
                SearchByRadius();
                break;
            case "SearchByNameFromBar":
                SearchByNameFromBar();
                break;
            case "SearchByRadiusFromBar":
                SearchByRadiusFromBar();
                break;
            case "SendChatMessage":
                SentMessageOne();
                break;
        }
        return false;
    };
};

$(document).ajaxStart(function() {
    $("#working").show();
}).ajaxStop(function() {
    $("#working").hide();
});

function closeLoginPopup() {
    $('#LogInPopup').hide();
    $('#Blocker').hide();
}
function closePopup() {
    $('#closeClosePopup').hide();
    $('#Blocker').hide();
}

/*function ShowBlocker() {
// $('#Blocker').height($('body').height());
alert($('#Blocker').height($('document').height()));
$('#Blocker').height($('document').height());
$('#Blocker').slow("slow");
}
*/
function closePopup(id) {
    var closeWindow = $('#' + id);
    closeWindow.hide();
    $('#Blocker').hide();
}



//// FORM Validation

function validateemail(email, field) {
    var a = email;
    var filter = /^[a-zA-Z0-9]+[a-zA-Z0-9_.-]+[a-zA-Z0-9_-]+@[a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z0-9]+.[a-z]{2,4}$/;

    if (filter.test(a)) {
        field.removeClass("error")

        return true;
    }
    else {
        field.addClass("error")
        return false
    }
}
function validatepassword(pass) {
    if (pass.length < 4) {
        $("#inputPassword").addClass("error");

        return false
    } else {
        $("#inputPassword").removeClass("error");
        return true
    }
}
