var Login = {};

Login.templates = {};
Login._dest_div = '';
Login._dest_logged = '';

//FORM FIELDS
Login._form_id = '';
Login._login_id = '';
Login._pwd_id = '';
Login._btn_id = '';

Login.events = {
		"login" : null,
		"logout" : null
		};

Login.init = function ( div_logged, form_id, login_id, pwd_id, btn_id )
{
        Login.set_ids ( div_logged, form_id, login_id, pwd_id, btn_id );

        //Login._set_events ();
};

Login.set_ids = function ( div_logged, form_id, login_id, pwd_id, btn_id )
{
                Login._dest_logged = div_logged,
                Login._form_id  = form_id;
                Login._login_id = login_id;
                Login._pwd_id   = pwd_id;
                Login._btn_id   = btn_id;
};

Login.set_dest_logged = function ( dest )
{
	if ( dest ) Login._dest_logged = dest;
};

Login._set_events = function ()
{
	liwe.events.add_by_id ( Login._btn_id, 'click', Login.do_login );
	liwe.events.add_by_id ( Login._pwd_id, 'keydown', Login._keydown );
};

Login._keydown = function ( e )
{
	var keycode;
	
	if ( window.event ) keycode = window.event.keyCode;
	else if ( e ) keycode = e.which;
	else return false;
	
	if ( keycode != 13 ) return false;
	return Login.do_login ();
};

Login.do_login = function ()
{
	if ( $ ( Login._form_id ) ) $ ( Login._form_id ).submit ();
};

Login.login = function ()
{
        var login = ( $ ( Login._login_id ) ? $ ( Login._login_id ).value : '' );
        var pwd = ( $ ( Login._pwd_id ) ? $ ( Login._pwd_id ).value : '' );

	if ( ! login.length || ! pwd.length )
		alert ( "Inserire login e password" );
	else {
		liwe.AJAX.request ( '/cgi-bin/AjaxCmd', { command: "login", login: login, passwd: pwd }, 
			function ( v )
			{
				Login.render_logged ( v );
			}, 
		true );
	}
};

Login.render_logged = function ( data, dest )
{
	var s = '';
	var ctr_panel = '';

	if ( ! dest ) dest = Login._dest_logged; 

	if ( Login._dest_logged && document.getElementById ( Login._dest_logged ) )
	{
		if ( data [ 'usr_kind' ] > 405 ) ctr_panel = '<div class="cp_link"><a href="/control_panel">Pannello di controllo<\/a><\/div>';

		s = String.formatDict ( Login.templates [ 'logged' ], { login: data [ 'login' ], 'ctr_panel': ctr_panel } );


		document.getElementById ( Login._dest_logged ).innerHTML = s;
	}

	if ( Login.events [ 'login' ] ) Login.events [ 'login' ] ( data );
};

Login.logout = function ()
{
	//elimina cookie e ricarica la pagina
	liwe.AJAX.request ( "/cgi-bin/AjaxCmd", { command: "logout" }, 
		function ( v )
		{
			window.location.reload();
		}, 
	true );
};
