var hoverSrc = "";
var scriptFolder = "";

$(document).ready(function() {

    scriptFolder = $('#scriptFolder').val();
    if (typeof (scriptFolder) == 'undefined') {
        scriptFolder = '';
    }

    LoadImgHover();
    LoadLoginBox();

    PreloadImages();


    $('#userEmailVisibleImg').click(function() {
        if ($('#userEmailVisible').is(':checked')) {
            $('#userEmailVisibleImg').attr('src', 'design/images/checkbox.gif');
            $('#userEmailVisible').attr('checked', false);
            console.log('true');
        }
        else {
            $('#userEmailVisibleImg').attr('src', 'design/images/checkbox_checked.gif');
            $('#userEmailVisible').attr('checked', true);
            console.log('false');
        }

    });
    $('#userEmailVisible').change(function() {
        if ($(this).is(':checked')) {
            $('#userEmailVisibleImg').attr('src', 'design/images/checkbox_checked.gif');
        }
        else {
            $('#userEmailVisibleImg').attr('src', 'design/images/checkbox.gif');
        }
    });

});


function inputFocus(id) {
    $("#" + id).focus();
};


function LoadLoginBox() {

    $('#loginArea').load(scriptFolder + 'ajLoginArea.aspx?rnd=' + Math.random(), function() {

        $('#btnLogin').click(function() {
            Login();
        });

        $('#btnLogout').click(function() {
            Logout();
        });

        $('#input_nick,#input_pwd').keypress(function(e) {
            if (e.keyCode == 13) {
                Login();
            }
        });
            
    });
};


function Login() {

    var log_name = jQuery.trim($('#input_nick').val());
    var log_pass = jQuery.trim($('#input_pwd').val());

    if ((log_name.length > 0) && (log_pass.length > 0)) {

        $('#loginRotator').show();
    
        var myData = {
            'log_name': log_name,
            'log_pass': log_pass
        };

        $.ajax({
            url: scriptFolder + 'ajReq.aspx?stype=login&rnd=' + Math.random(),
            global: false,
            type: "POST",
            data: myData,
            success: function(data) {

                if (data == '1') {

                    var redirToDefault = $('#redirToDefault').val();
                    
                    if (typeof redirToDefault != 'undefined' && redirToDefault == '1') {
                        location.href = 'default.aspx';
                    }
                    else {
                        location.reload();
                    }                    
                }
                else {
                    location.href = scriptFolder + 'forgotPwd.aspx';
                }
            }
        });
    }

    return false;
};


function Logout() {

    var ticket = jQuery.trim($('#logoutTicket').val());

    var myData = { 
        'ticket': ticket
    };

    $.ajax({
        url: scriptFolder + 'ajReq.aspx?stype=logout&rnd=' + Math.random(),
        global: false,
        type: "POST",
        data: myData,
        success: function(data) {
            location.href = 'default.aspx';
        }
    });

    return false;
};


function LoadImgHover(parentTag) {

    if (parentTag == null) {
        parentTag = "body";
    }

    $(parentTag + " img.imgHover").mouseover(function() {
        var src = $(this).attr("src");
        hoverSrc = src;

        if (src.indexOf(".") > 0) {

            var lastIndex = src.lastIndexOf(".");
            var srcWithoutExt = src.substring(0, lastIndex);
            var ext = src.substring(lastIndex + 1, src.length);

            $(this).attr("src", srcWithoutExt + "_hover." + ext);
        }

    });

    $(parentTag + " img.imgHover").mouseout(function() {
        $(this).attr("src", hoverSrc);
        hoverSrc = "";
    });
};

function PreloadImages() {

    var i;
    var path = "design/images/";

    var images = [path + "butt_login_hover.gif",
                  path + "butt_logout_hover.gif",
                  path + "bg_input_nick_focus.gif",
                  path + "bg_input_pwd_focus.gif",
                  path + "butt_newuser_hover.gif"];

    var imagesObj = [];

    for (i = 0; i < images.length; i++) {

        imagesObj[i] = new Image();
        imagesObj[i].src = images[i];
    }
};

function scrollTo(item) {
    $.scrollTo('#' + item, 100, { offset: -10 });
};


function ShowInputError(inputID, message) {
    $('label[for = "' + inputID + '"]').append(' <span class="error"> ' + message + '</span>');
    $('#' + inputID).addClass('error');
};
function RemoveAllErrors() {
    $('label span[class="error"]').remove();
    $('.error').removeClass('error');
};


jQuery.fn.extend({
    insertAtCaret: function(myValue) {
        return this.each(function(i) {
            if (document.selection) {
                this.focus();
                sel = document.selection.createRange();
                sel.text = myValue;
                this.focus();
            }
            else if (this.selectionStart || this.selectionStart == '0') {
                var startPos = this.selectionStart;
                var endPos = this.selectionEnd;
                var scrollTop = this.scrollTop;
                this.value = this.value.substring(0, startPos) + myValue + this.value.substring(endPos, this.value.length);
                this.focus();
                this.selectionStart = startPos + myValue.length;
                this.selectionEnd = startPos + myValue.length;
                this.scrollTop = scrollTop;
            } else {
                this.value += myValue;
                this.focus();
            }
        })
    }
});

