﻿var TACommon = {

    ajaxError: function (request) {
        if (request.status == 401 || request.status == 403) {
            window.location = "/login.aspx";
        }
    },

    regex: {
        email: /^([\w!#$%&*+\/=?^_`{|}~-]+(\.[\w!#$%&*+\/=?^_`{|}~-]+)*|([\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*)@(([\w]([\w-]*[\w])?\.)+[\w]([\w-]*[\w])?|\[((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[\w-]*[\w]:([\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$/
    }
}

// Login widget code
var LoginTimeoutId;

function showLogin(e, delay) {
    clearTimeout(LoginTimeoutId);
    LoginTimeoutId = setTimeout("$('#loginpanel').slideDown('normal'); $('#loginbutton').addClass('loginon');", delay);
}

function hideLogin(e, delay) {
    if ($(e.relatedTarget).parents().index($('#logincontainer')) == -1) {
        clearTimeout(LoginTimeoutId);
        LoginTimeoutId = setTimeout("$('#loginpanel').hide(); $('#loginbutton').removeClass('loginon');", delay);
    }
}

$(document).ready(function () {

    // Login widget actions	
    $('#loginbutton').mouseover(function (event) {
        showLogin(event, 500);
    });

    $('#loginbutton').mouseout(function (event) {
        hideLogin(event, 100);
    });

    $('#loginpanel').mouseover(function (event) {
        showLogin(event, 500);
    });

    $('#loginpanel').mouseout(function (event) {
        hideLogin(event, 500);
    });

    // hide the login on page load	
    $('#loginpanel').hide();

});
