function ExpresStateInActivate( formid )
{
	var aE = document.forms[ formid ].elements;
	aE['nyelv'].disabled = true;
	aE['tema'].disabled = true;
	aE['probaora'].disabled = true;
	aE['kell'].disabled = true;
	aE['mikor'].disabled = true;
	aE['uzenet'].disabled = true;
	aE['email'].disabled = true;
	aE['email'].disabled = true;
	
	var btn = document.getElementById('express_send');
	btn.disabled = true;

	var text = document.getElementById('express_processtext');
	text.style.display = '';
}

function ExpresStateActivate( formid )
{
	var aE = document.forms[ formid ].elements;
	aE['nyelv'].disabled = false;
	aE['tema'].disabled = false;
	aE['probaora'].disabled = false;
	aE['kell'].disabled = false;
	aE['mikor'].disabled = false;
	aE['uzenet'].disabled = false;
	aE['email'].disabled = false;

	var btn = document.getElementById('express_send');
	btn.disabled = false;

	var text = document.getElementById('express_processtext');
	text.style.display = 'none';
	
}

//osztály létrehozás
ExpressHandler.prototype = {
	formid: null,

	//visszatérésnél ez hívódik meg
	expressajanlat: function( response )
	{
		if( response instanceof Array )
		{
			ExpressPanel.show("express_hibablock");
			var msgs = [];
			for( var i = 0; i < response.length; i++ )
			{
				var id = response[ i ][ 0 ] + '_' + response[ i ][ 0 ];
				msgs.push( id );
			}
			ExpressPanel.showMsg( msgs );
		} else
		{
			var aE = document.forms[ this.formid ].elements;
			set_selectobj_value( aE['nyelv'], '' );
			set_selectobj_value( aE['tema'], '' );
			set_selectobj_value( aE['kell'], '' );
			set_selectobj_value( aE['mikor'], '' );
			aE['probaora'].checked = false;
			aE['uzenet'].value = '';
			aE['email'].value = '';
			ExpressPanel.show("express_uzenetblock");
		}
		ExpresStateActivate( this.formid );
	},

	load_contexttema: function( optlist )
	{
		var aE = document.forms[ this.formid ].elements;
		var oS = aE["tema"];
		Elem.setContent( oS );
		if( optlist.length && optlist.length > 0 )
		{
			var oO = Elem.create( "option", null, 'Kérem válasszon!' );
			oO.value = '';
			oS.appendChild( oO );
			for( var i = 0; i < optlist.length; i++ )
			{
				var oO = Elem.create( "option", {value: optlist[ i ]['tema']}, optlist[ i ]['tema'] );
				oS.appendChild( oO );
			}
		} else
		{
			var oO = Elem.create( "option", null, 'Nincs téma meghirdetve!' );
			oO.value = '';
			oS.appendChild( oO );
		}
	},

	//visszatérésnél ez hívódik meg
	newpassword: function( response )
	{
		showMessage( this.formid, "_newpsw_" + response );
	}

}

var ExpressPanel = null;
function initEXP()
{
	ExpressPanel = new Panel( 'express_panel' );
	ExpressPanel.messages = ['nyelv_required', 'kell_required', 'mikor_required', 'email_required' ];
	ExpressPanel.hideAllMsg = function( )
	{
		for( var i = 0; i < this.messages.length; i++ )
		{
			var div = document.getElementById( this.messages[i] );
			if( div ) Style.setAttribute( div, "display", "none" );
		}
	}
	ExpressPanel.showMsg = function( msglist )
	{
		this.hideAllMsg();
		for( var i = 0; i < msglist.length; i++ )
		{
			var div = document.getElementById( msglist[i] );
			if( div ) Style.setAttribute( div, "display", "" );
		}
	}
}

function ExpressHandler()
{
}

function getExpressHandler( formid )
{
	var handler = new ExpressHandler( )
	handler.formid = formid;
	var a = new lcopublic_server( handler );
	a.timeout = 8000;

    // Ignore timeouts
    a.clientErrorFunc = function(e) {
        if ( e.code =! 1003 ) {
			alert(e);
       }
	   ExpresStateActivate( formid );
    }
	return a;
}

function loadContextTemalist( formid, oSel )
{
	var lang = selectctrlobj_value( oSel );

	var srv = getExpressHandler( formid );
	srv.load_contexttema( lang );
	
}

function expressajanlat_send( formid )
{
	var aE = document.forms[ formid ].elements;
	var data = new Array;
	data['nyelv'] = selectctrlobj_value( aE['nyelv'] );
	data['tema'] = selectctrlobj_value( aE['tema'] );
	data['kell'] = selectctrlobj_value( aE['kell'] );
	data['mikor'] = selectctrlobj_value( aE['mikor'] );
	data['probaora'] = aE['probaora'].checked == true ? 1 : 0;
	data['uzenet'] = aE['uzenet'].value;
	data['email'] = aE['email'].value;
	var error = [];
	if( is_empty.exec( data.nyelv ) )
		error.push( "nyelv_required" );
	if( is_empty.exec( data.kell ) )
		error.push( "kell_required" );
	if( is_empty.exec( data.mikor ) )
		error.push( "mikor_required" );
	if( is_empty.exec( data.email ) )
		error.push( "email_required" );
	if( error.length != 0 )
	{
		ExpressPanel.showMsg( error );
		ExpressPanel.show( 'express_hibablock' );
	} else
	{
		ExpresStateInActivate( formid );
		var srv = getExpressHandler( formid );
		srv.expressajanlat( data );
	}
}

function showFormPanel( formid )
{
	var srv = getExpressHandler( formid );
	srv.load_contexttema( '' );
	ExpressPanel.show( 'express_formblock' );
}

addEvent( window, "load", initEXP );
