﻿// JScript File
var loginHTTP = null; 

function get_ww() 
{
    var frameWidth=800; 
    if (self.innerWidth)
    { 
        frameWidth = self.innerWidth;
    }
    else if (document.documentElement && document.documentElement.clientWidth) 
    {
        frameWidth = document.documentElement.clientWidth;
    }
    else if (document.body)
    { 
        frameWidth = document.body.clientWidth;
    }
    return frameWidth; 
}
 
function get_wh() 
{
    var frameHeight=640; 
    if (self.innerHeight)
    { 
        frameHeight = self.innerHeight; 
    }
    else if (document.documentElement && document.documentElement.clientHeight) 
    {
        frameHeight = document.documentElement.clientHeight; 
    }
    else if (document.body)
    { 
        frameHeight = document.body.clientHeight; 
    }
    return frameHeight; 
}


// cookie
var symbols=null;
var selTab=-1;

isDOM=document.getElementById //DOM1 browser (MSIE 5+, Netscape 6, Opera 5+)
isMozilla=isDOM && navigator.appName=="Netscape" //Mozilla или Netscape 6.*

var currentBrowser="IE";

if(isMozilla)
    currentBrowser="Mozilla";

//
// Клик по кнопке логин
//
function loginButton_Click()
{
    logErrorLabel.innerHTML = '';
    SetVisible(alertIcon, false);
    
    LockControls(true);
    var login = logLoginTextBox.value;
    var password = logPasswordTextBox.value;
    //var connection = logConnectionList.value;
    var remMe = logRememberMeCheckBox.checked;
    //var locale = localeList.value;
    
    var loginParamsString ='&login=' + login + '&password=' + password
        + '&connection=' + '' + '&remember=' + remMe + '&Locale='+''+'&Width='+get_ww()+'&Height='+get_wh() + '&Browser='+currentBrowser + '&Symbols='+symbols +'&SelTab='+selTab;
        
    loginHTTP.SendRequest('login',loginParamsString,LoginCallBackHandler);
    loginHTTP.errorHandler = LoginErrorCallBackHandler;
}

//
    //
    //
    function getCookie( name )
    {
	    var start = document.cookie.indexOf( name + '=' );
	    var len = start + name.length + 1;
	    if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) )
	    {
		    return null;
	    }
	    if ( start == -1 )
	        return null;
	    var end = document.cookie.indexOf( ';', len );
	    if ( end == -1 ) end = document.cookie.length;
	        return unescape( document.cookie.substring( len, end ) );
    }

var xhrTimeout =null;
function OnTimeout()
{
    loginHTTP.abort();
    LockControls(false);
    logErrorLabel.innerHTML='Timeout!';
    SetVisible(alertIcon, true); 
}

function LoginCallBackHandler(resp)
{
    clearTimeout(xhrTimeout);
    if (resp.indexOf("MainPage")>-1 || resp.indexOf("Setup")>-1)
    {
        var link = resp.split('/')[1];
        location.replace(link);
    }
    else
    {
        logErrorLabel.innerHTML=resp;
        SetVisible(alertIcon, true);
        LockControls(false);                       
    }
}

function LoginErrorCallBackHandler(resp)
{
    logErrorLabel.innerHTML='Server error: '+resp;
    SetVisible(alertIcon, true);
    LockControls(false);
}

function LockControls(lock)
{
    logLoginTextBox.disabled = lock;
    logPasswordTextBox.disabled = lock;
    logLoginButton.disabled = lock;

    SetVisible(progressImage, lock);
}

var logLoginTextBox = null;
var logPasswordTextBox = null;
var logErrorLabel = null;
var alertIcon = null;
var logConnectionList = null;
var logRememberMeCheckBox = null;
var logLoginButton = null;
var localeList=null;
var progressImage = null;

var ExpositionPanelThumb = null;

//
// Загрузилась страница
//   
function onControlLoad() {

    loginHTTP = new HttpRequest('LoginHandler.ashx');

    progressImage = this.document.getElementById('progressImage');
    
    logLoginTextBox = this.document.getElementById('ordersLogin_loginTextBox1');
    logPasswordTextBox = this.document.getElementById('ordersLogin_passwordTextBox1');
    
    logErrorLabel = this.document.getElementById('ordersLogin_errorLabel1');
    alertIcon = this.document.getElementById('alertIcon');
    
    logRememberMeCheckBox = this.document.getElementById('remMeCheckBox');
    logLoginButton = this.document.getElementById('loginButton');
    
    // Символы из куков
    temp = getCookie("InformerSymbols");
    if(temp!=null)
        symbols=temp;
    else
        symbols="all";
        
    // Активный таб
    var temp = getCookie("CurrentTabIndex");
    if(temp!=null)
        selTab = temp;

    //
    logLoginTextBox.onkeypress = LoginTextBox_OnKeyDown;
    logLoginTextBox.onkeydown = LoginTextBox_OnKeyDown;
    //logLoginTextBox.addEventListener("keypress", LoginTextBox_OnKeyDown, false);
    logPasswordTextBox.onkeypress = PasswordTextBox_OnKeyDown;
    logPasswordTextBox.onkeydown = PasswordTextBox_OnKeyDown;
    //logPasswordTextBox.addEventListener("keypress", PasswordTextBox_OnKeyDown, false);

    //
    logLoginTextBox.focus();

    //  
}

//
// Focus
//
function LoginTextBox_OnKeyDown(ev, param) {

    ev = ev || window.event;

    if (ev.keyCode == 13)
    {
        logPasswordTextBox.focus();
        ev.stopPropagation ? ev.stopPropagation() : ev.cancelBubble=true;
        return false;
    }
}
function PasswordTextBox_OnKeyDown(ev, param) {

    ev = ev || window.event;

    if (ev.keyCode == 13)
    {
        loginButton_Click();
        ev.stopPropagation ? ev.stopPropagation() : ev.cancelBubble=true;
        return false;
    }
}