﻿function LoginMouseUp(){
        $('button_auth').removeClass('blue_active');
      
}
function LoginMouseDown() {
    $('button_auth').addClass('blue_active');
  
}

function Login() {
    try {
        $('button_auth').removeClass('blue_active');
        var oWadjaX = new WADJAX('User', { statusBar: false });

        var un  = $('text_username').get('value');
        var pw  = $('text_pass').get('value');
        var chk = $('chk_remember').checked;
        if (chk) { chk = "1"; } else { chk = "0"; }

        if (un.length > 0 && pw.length > 0) {
            //#Disable multiple clicks
            $('button_auth').disabled = 1;
            $('button_auth').set('value', 'working...');

            oWadjaX.send('signIn', un, pw, chk, function (res) {
                if (!res.error) {
                    if (res.value.indexOf('Error: ') != 0) { //#if the result string does not start with 'Error: '
                        try {
                            if (res.value.indexOf('#FF#') > -1) {
                                location.href = res.value.replace("#FF#", "");
                            }
                            else {
                                var userObject = JSON.decode(res.value);
                                //#if Login was done through "Third-party Connect" page
                                //#make the Third-party connection
                                if (location.pathname == "/sessions/connect.aspx") {
                                    if (!ThirdPartyConnect(userObject.DetailsID))
                                        ; // connection not made; already used for another wadja user
                                }
                                //#overlay preloading
                                if ($('overlaymask'))
                                    $('overlaymask').removeClass('dnd');

                                location.href = currentUrl.replace("user/default.aspx?u=", "");
                                $('button_auth').set('value', 'redirecting...');
                            }
                        }
                        catch (Error) {
                            var userObject = JSON.decode(res.value);
                            //#overlay preloading
                            if ($('overlaymask'))
                                $('overlaymask').removeClass('dnd');

                            location.href = '/' + userObject.WadjaID;
                            $('button_auth').set('value', 'redirecting...');
                        }
                    }
                    else {
                        $('auth_res_1').set('html', res.value.replace('Error: ', ''));
                        MyElement.reveal('auth_res_div_1');
                        //#Restore button functionality
                        $('button_auth').disabled = 0;
                        $('button_auth').set('value', 'sign in');
                    }
                }
                else {
                    //#Restore button functionality
                    $('button_auth').disabled = 0;
                    $('button_auth').set('value', 'sign in');
                }
            });
        }
        else {
            $('auth_res_1').set('html', 'Username and Password must be filled');
            //#Restore button functionality
            $('button_auth').disabled = 0;
            $('button_auth').set('value', 'sign in');    
            MyElement.reveal('auth_res_div_1');
        }
    }
    catch (Error) { alert(Error); }
}
function handleEnter_login(field, event) {
    var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
    if (keyCode == 13) {
        Login();
        return false;
    }
    else
        return true;
}
function ThirdPartyConnect(detailsID) {
    try {
        //make third party connection
        var thirdPartyWadjaX = new WADJAX('User', { statusBar: false });
        thirdPartyWadjaX.send('ThirdPartyConnect', detailsID, function (res) {
            if (!res.error) {
                if (res.value == '-2') { //connection already exists for a different user
                    return false;
                }
                else { //connection made!
                    return true;
                }
            }
            else {
                //error occurred...
                return false;
            }
        });

    } 
    catch (e) {
        alert(e.Message);
        return false;
    }
}