var gyanus_fields = [ '#gyanu05', '#gyanu01', '#gyanu02', '#gyanu08', '#gyanu09' ]; 
jQuery( document ).ready( function() {
    jQuery( '#gyanus_trigger' ).click( function( e ) {
        jQuery( this ).next().slideToggle();
        e.preventDefault();
        if( jQuery( '#gyanus_form_thx' ).css( 'display' ) != 'none' ) jQuery( '#gyanus_form_thx' ).hide(); 
    } )
    jQuery( '#gyanus_auto' ).click( function( e ) {
        if( jQuery( '#gyanus_form_container' ).css( 'display' ) == 'none' )
        { 
            jQuery( '#gyanus_form_container' ).fadeIn( function() {
                jQuery( '#gyanus_trigger' ).trigger( 'click' );
            } );
        }
        else 
        {
            jQuery( '#gyanus_form_container' ).fadeOut();
            jQuery( '#gyanus_trigger' ).next().slideUp();
            if( jQuery( '#gyanus_form_thx' ).css( 'display' ) != 'none' ) jQuery( '#gyanus_form_thx' ).hide(); 
        } 
        e.preventDefault();
    } );
    jQuery( '#gyanu01' ).change( function() {
        var select = jQuery( '#gyanu02' );
        if( jQuery( this ).val() != '' )
        {
            jQuery.ajax( {
                url: host_site_url + 'autok/' + jQuery( this ).val() + "tipus/",
                data: {
                    noauth: true
                },
                dataType: 'json',
                success: function( r )
                {
                    select.find( 'option[value]' ).remove();
                    if( r.length )
                    {
                        for( var i = 0; i < r.length; i++ )
                        {
                            select.append( jQuery( '<option></option>' ).text( r[ i ].cim ).val( r[ i ].name ) );
                        }
                        select.removeAttr( 'disabled' );
                    }
                    else select.attr( 'disabled', 'disabled' ).val( '' );                
                } 
            } );
        }
        else select.attr( 'disabled', 'disabled' ).val( '' );        
    } );
    jQuery( '#gyanus_form' ).submit( function( e )
    {
        e.preventDefault();
        var missing_fields = [];
        for( var i = 0; i < gyanus_fields.length; i++ )
        {
            if( jQuery( gyanus_fields[ i ] ).val() == '' ) missing_fields.push( gyanus_fields[ i ] );
        }        
        jQuery( '#gyanus_form' ).find( 'label' ).each( function()
        {
            var input = jQuery( this ).next();
            input.css( { borderColor: missing_fields.indexOf( '#' + input.attr( 'id' ) ) != -1 ? '#c00' : '#acacac' } );
        } );
        if( missing_fields.length ) jQuery( missing_fields[ 0 ] ).focus();
        else 
        {
            jQuery( '#gyanus_form_div' ).fadeTo( 128, 0.4 );
            jQuery.ajax( {
                data: {
                    op: 'gyanus_bejelento',
                    noauth: true,
                    rendszam: jQuery( '#gyanu05' ).val(),
                    reg_rendszam: jQuery( '#gyanu05a' ).val(),
                    marka: jQuery( '#gyanu01 option[value="' + jQuery( '#gyanu01' ).val() + '"]' ).text(),
                    tipus: jQuery( '#gyanu02 option[value="' + jQuery( '#gyanu02' ).val() + '"]' ).text(),
                    szin: jQuery( '#gyanu08' ).val(),  
                    tartozkodasi_hely: jQuery( '#gyanu09' ).val(), 
                    alvazszam: jQuery( '#gyanu06' ).val(),
                    ablak_gravirozas: jQuery( '#gyanu03' ).val(),
                    miota_van_ott: jQuery( '#gyanu04' ).val(),
                    megjegyzes: jQuery( '#gyanu07' ).val()                
                },
                dataType: 'json',
                success: function()
                {
                    jQuery( '#gyanus_form_div' ).fadeTo( 128, 1 );
                    jQuery( '#gyanus_form_div' ).slideToggle();
                    jQuery( '#gyanus_form_thx' ).slideToggle();
                    jQuery( '#gyanus_form' ).find( 'label' ).each( function() { jQuery( this ).next().val( '' ); } );
                    jQuery( '#gyanu02' ).attr( 'disabled', 'disabled' ).find( 'option[value]' ).remove();
                },
                type: 'POST' 
            } )
        }
    } );
} );
Event.observe( window, 'load', function()
{
    if( $( 'form_done' ) != null ) Effect.Fade( 'form_done', { duration: 5, queue: 'end', afterFinish: function() { document.location.href = document.location.href.split( '?' )[ 0 ]; } } );
    if( $( 'lopas_form_div' ) != null )
    {
        $( 'lopas_form_div' ).setStyle( { display: 'block' } );
        if( $( 'lop01' ).value == '' ) $( 'lop02' ).disable();
        Event.observe( 'lopas_trigger', 'click', function( event )
        {
            jQuery( '#lopas_form_div' ).slideToggle();
            event.stop();
        } );
        Event.observe( 'lop01', 'change', function()
        {
            $( 'lop02' ).disable();
            new Ajax.Request( host_site_url + 'autok/' + $( 'lop01' ).value + "tipus/?noauth=true",
            {
                onSuccess: function( data )
                {
                    html_list = '                                        <select id="lop02" name="tipus">' +
                                '                                            <option value="">Válasszon!</option>';
                    list = eval( data.responseText );
                    list.each( function( item )
                    {
                        html_list += '                                            <option value="' + item[ 'name' ] + '">' + item[ 'cim' ] + '</option>';
                    } );
                    var cont = jQuery( '#lop02' ).parent( 'li' );
                    jQuery( '#lop02' ).remove();
                    html_list += '                                        </select>';
                    cont.html( cont.html() + html_list );
                    $( 'lop02' ).enable();
                }
            } );

        } );
        Event.observe( 'lop07', 'keypress', function( event )
        {
            if( event.charCode > 31 && event.charCode < 48 || event.charCode > 57 ) event.stop();
        } );
        Event.observe( 'lopas_form', 'submit', function( event )
        {
            form_date = new Date();
            first_missing = '';
            need_to_fill = new Array( 'lop01', 'lop02', 'lop05', 'lop07', 'lop08', 'lop09', 'lop10' );
            need_to_fill.each( function( item )
            {
                if( typeof $( item ).bcolor == 'undefined' ) $( item ).bcolor = { top: $( item ).getStyle( 'borderTopColor' ),
                                                                                  left: $( item ).getStyle( 'borderLeftColor' ),
                                                                                  bottom: $( item ).getStyle( 'borderBottomColor' ),
                                                                                  right: $( item ).getStyle( 'borderRightColor' ) };
                if( $( item ).value.replace(/^\s+|\s+$/, '') == "" )
                {
                    if( first_missing == '' ) first_missing = item;
                    $( item + '_a' ).setStyle( { color: '#ff0000' } );
                    $( item ).setStyle( { borderColor: '#ff0000' } );
                }
                else
                {
                    $( item + '_a' ).setStyle( { color: '#000000' } );
                    $( item ).setStyle( { borderTopColor: $( item ).bcolor.top,
                                          borderLeftColor: $( item ).bcolor.left,
                                          borderBottomColor: $( item ).bcolor.bottom,
                                          borderRightColor: $( item ).bcolor.right } );
                }
            } );
            if( $( 'lop07' ).value < 1900 || $( 'lop07' ).value > form_date.getFullYear() )
            {
                $( 'lop07_a' ).setStyle( { color: '#ff0000' } );
                $( 'lop07' ).setStyle( { borderColor: '#ff0000' } );
                if( first_missing == '' ) first_missing = 'lop07';
            }
            if( $( 'lop10' ).value.match( /^(\d{4})\.(\d{2})\.(\d{2})$/ ) == null )
            {
                $( 'lop10_a' ).setStyle( { color: '#ff0000' } );
                $( 'lop10' ).setStyle( { borderColor: '#ff0000' } );
                if( first_missing == '' ) first_missing = 'lop10';
            }
            if( first_missing != '' )
            {
                Effect.ScrollTo( first_missing + '_a' );
                event.stop();
            }
            var _url = document.location.href.split( '?' )[ 0 ];
            this.action = _url + ( _url.lastIndexOf( '/' ) + 1 == _url.length ? '' : '/' );
        } );
    }
} );

