﻿var usernameIsValid = false;
var passwordIsValid = false;

function checkEmail(email) {
    var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    if (filter.test(email))
        return true;
    return false;
}


function CheckIfEnableSendButton() {
    if (usernameIsValid && passwordIsValid)
        $('#btnSend').removeAttr("disabled");
}

function DisableSendButton() {
    $('#btnSend').attr("disabled", true)
}

function ShowSpinner() {
    $("#submitRow").hide();
    $("#spinnerRow").show();
}
function HideSpinner() {
    $("#submitRow").show();
    $("#spinnerRow").hide();
}

function ShowAlreadyLoggedInInfo() {
    $("#login table").hide();
    $("#alreadyLoggedIn").show();
}

function queryString(parameter) {
    var loc = location.search.substring(1, location.search.length);
    var param_value = false;
    var params = loc.split("&");
    for (i = 0; i < params.length; i++) {
        param_name = params[i].substring(0, params[i].indexOf('='));
        if (param_name == parameter) {
            param_value = params[i].substring(params[i].indexOf('=') + 1)
        }
    }
    if (param_value) {
        return param_value;
    }
    else {
        return false; //Here determine return if no parameter is found
    }
}

function SendLogin() {
    var username = $("#tboUsername").val();
    var password = $("#tboPassword").val();
    ShowSpinner();
    SurvivingIceland.Services.Members.SendLogin(username, password, LoginComplete, LoginFailed);
}
function LoginComplete(data, userContext, methodName) {
    HideSpinner(); 
    //1=success,0=already logged in,-1=incorrect, -2 = error
    if (data != null ) {
        $("#alreadyLoggedIn").hide();
        $("#loginSucceeded").hide();
        $("#incorrectRow").hide();
        $("#errorRow").hide();
        if (data == 1) {
            $("#login table").hide();
            $("#loginSucceeded").show();
            location.reload(true);
        }
        else if (data == 0) {
            $("#login table").hide();
            $("#alreadyLoggedIn").show();
        }
        else if (data == -1) {
            $("#incorrectRow").show();
        }
        else {
            $("#errorRow").show();
        }        
    }    
    else {
        $("#errorRow").show();
    }
}

function ValidateUsername() {
    var field = $("#tboUsername").val();
    if (field.length > 0 && field != "Username") {
        $("#tboUsernameError").hide();
        $("#tboUsername").removeClass("error");
        usernameIsValid = true;
        CheckIfEnableSendButton();
        return true;
    }
    else {
        $("#tboUsernameError").show();
        $("#tboUsername").addClass("error");
        usernameIsValid = false;
        //DisableSendButton();
        return false
    }
}

function ValidatePassword() {
    var field = $("#tboPassword").val();

    if (field.length > 0 && field != "Password") {
        $("#tboPasswordError").hide();
        $("#tboPassword").removeClass("error");
        passwordIsValid = true;
        CheckIfEnableSendButton();
        return true;
    }
    else {
        $("#tboPasswordError").show();
        $("#tboPassword").addClass("error");
        passwordIsValid = false;
        //DisableSendButton();
        return false
    }
}

function ValidateForm() {
    if (ValidateUsername() && ValidatePassword())
        return true;
    else
        return false;
}

function LoginFailed(exeption, userContext, methodName) {
    HideSpinner();
    $("#errorRow").show();
}	
