﻿var signInloader = {
    show: function() {
        validatingUser = true;
        $('div.login-c').css('lineHeight', '32px').find('div.loginInput').hide().end().append($(document.createElement('p')).attr('id', 'txtLoginInLoader').text('Validering av användare pågår...'));
        $('div.login-c').find('div.loginForgotPinCode').hide();
    },
    hide: function() {
        validatingUser = false;
        $('div.login-c').css('lineHeight', '17px').find('p#txtLoginInLoader').remove().end().find('div.loginInput').show();
        $('div.login-c').find('div.loginForgotPinCode').show();
    }
}, validatingUser;

// Init
$(function() {
    validatingUser = false;
    
    $('div.login-warp').css('top', '5px');

    // && !defaults.ie6
    if (typeof $("a#btnLogin").get(0) !== 'undefined') {
        $("input#txtUsername").textInput({ defaultValue: 'Kundnummer' });
        $("input#txtPinCode").passwordInput({ defaultValue: 'Pinkod' });
        $("a#btnLogin").mousedown(validateLogin);
        $(document).defaultButton_trigger($("a#btnLogin"), 'mousedown');
    }

    if (typeof $("div[id$='latestNews']").get(0) !== undefined) {
        $("div[id$='latestNews'] div.item").each(function() {
            var header = $(document.createElement('h2')).addClass('news_header').text($(this).find('p:eq(0)').text());
            $(this).find('p:eq(0)').remove();
            $(this).wrapInner('<div class="newsInfo"><div class="newsInfoContent"><div class="warp"></div></div></div>').prepend(header);
        });

        if (typeof $("div[id$='latestNews'] div.latestNews_warp").easySlider === 'function') {
            $("div[id$='latestNews'] div.latestNews_warp").easySlider({ auto: true, continuous: true, numeric: true, speed: 800, pause: 5000, addHeight: 34, maxHeight: 250 });
            if (!defaults.ie6) {
                $("div[id$='latestNews'] div.latestNews_warp").css('width', '870px');
            }
        }
    }

    if (typeof $('div#deliveryInfoContainer div.spliter').get(0) !== 'undefined') {
        $('div#deliveryInfoContainer div.spliter').css('height', $('div#deliveryInfoContainer').innerHeight());
    }
    $("div[class^='abDeliveryInformation'] div.item:last").css('border', 'none');
    $("div[class^='exDeliveryInformation'] div.item:last").css('border', 'none');

    $('a#btnReturnReporting').live('mousedown', function(e) {
        e.preventDefault();

        $.showDialog(
			$(document.createElement('div')).attr('id', 'pnlReturnReporting').append(
				$(document.createElement('h1')).text(defaults.ie6 ? 'För att returrapportera - klicka på knappen logga in som ligger längst upp till höger.' : 'För att returrapportera - logga in med kundnummer och pinkod.')
			)
		, function() {
		    $('input#txtUsername').focus();
		    $.alertDialog.closeAlertDialog();
		});
    });
});

// Validate user
function validateLogin(e) {
	e.preventDefault();
	if (validatingUser) {return false;}
    
    defaults.errors = [];
    if ($("input#txtUsername").min(1) || $("input#txtUsername").val() === 'Kundnummer') {
        defaults.errors.push('<p class="error">Kundnummer är felaktigt.</p>');
    }

    if ($("input#txtPinCode").min(1) || $("input#txtPinCode").val() === 'Pinkod' || !$("input#txtPinCode").number()) {
        defaults.errors.push('<p class="error">Pinkode är felaktigt.</p>');
    }

    if (defaults.errors.length > 0) {
        $.AlertError(defaults.errors.join(''));
        return false;
    }

    signInloader.show();
    $.Post({
        url: '/ws/Base.asmx/ValidateUser',
        data: "{'userName': '" + $("input#txtUsername").val() + "', 'pinCode': '" + $("input#txtPinCode").val() + "'}",
        success: function(e) {
            switch (e) {
                case 0:
                    signInloader.hide();
                    $.showDialog('Felaktigt användarnamn eller lösenord.');
                    return false;
                    break;
                case 1:
                    $('div.login-c').find('p#txtLoginInLoader').text('Du håller på att bli inloggad...');
                    window.redirect('hem.aspx');
                    break;
                case 2:
                    window.redirect('fel.aspx');
                    break;
                case 3:
                    window.redirect('captcha.aspx');
                    break;
                default:
                    signInloader.hide();
                    $.showDialog('Felaktigt användarnamn eller lösenord.');
                    return false;
                    break;
            }
        },
        error: function(e) {
            signInloader.hide();
            defaults.errorMsg();
            return false;
        }
    });
};


