    
    function helpArray() {
        var aItems = new Array;
        aItems['text']      = 'Textový řádek';
        aItems['longText']  = 'Textové pole';
        aItems['integer']   = 'Celé číslo';
        aItems['decimal']   = 'Desetinné číslo';
        aItems['logic']     = 'Logická hodnota';
        aItems['set']       = 'Multi výběrové menu';
        aItems['select']    = 'Výběrové menu';

        return aItems;
    }
    
    function showError( sError ) {
        console.error ( 'Error: ', sError );
    }
    
    function kindChange( iID ) {
        changeKindData = '';
        if ( iID != -1 ) {
            changeKindData = $('#item' + iID + '').val();  
        }
        $.ajax({
            type:     'POST',
            dataType: 'html',
            url:      '/admin/kindsAjax.php',
            data:     'data=' + changeKindData + '',
            success:  function ( sData ) {
                $('#dialog').html( sData );
                $('#dialog').bind('dialogclose', function(event, ui) {
                    $('#dialog').dialog('destroy'); 
                });
                
                $('#dialog').dialog({ 
                    overlay: { 
                        opacity: 0.5, 
                        background: 'black'
                    },
                    buttons: { 
                        'Ok': function() {                     
                            return checkKindSave( iID );
                        },
                        'Zrušit': function() {
                            $('#dialog').dialog( 'destroy' ); 
                        }
                    },
                    modal:  true,
                    title:  'Parametry',
                    width:  720
                });
                
                $('#dialog').dialog('open');
            },
            error:    function ( error ) {
                showError( error );                
            }
        });

        return false;
    }


    function kindSelected( cItem ) {
        var switcher = $( cItem ).val();
        $('#parameterType').html('');
        $('#parameterType').text('');
        
        switch ( switcher ) {
            case 'text':
                $('#parameterType').createAppend(                
                    'div', { className: 'formItem' }, [
                        'label', { for: 'lengthT' }, 'Max délka vstupu',
                        'input', { type: 'text', id: 'lengthT', name: 'lengthT' }, ''
                    ]
                );
                break;

            case 'longText':
                $('#parameterType').createAppend(                
                    'div', { className: 'formItem' }, [
                        'label', { for: 'lengthT' }, 'Max délka vstupu',
                        'input', { type: 'text', id: 'lengthT', name: 'lengthT', rel: 'cInteger' }, ''
                    ]
                );
                break;

            case 'integer':
                $('#parameterType').createAppend(                
                    'div', { className: 'formItem' }, [
                        'label', { for: 'minimalValue' }, 'Minimální hodnota',
                        'input', { type: 'text', id: 'minimalValue', name: 'minimalValue', rel: 'cInteger' }, ''
                    ]
                );
                $('#parameterType').createAppend(                
                    'div', { className: 'formItem' }, [
                        'label', { for: 'maximalValue' }, 'Maximální hodnota',
                        'input', { type: 'text', id: 'maximalValue', name: 'maximalValue', rel: 'cInteger' }, ''
                    ]
                );
                break;

            case 'decimal':
                $('#parameterType').createAppend(                
                    'div', { className: 'formItem' }, [
                        'label', { for: 'minimalValue' }, 'Minimální hodnota',
                        'input', { type: 'text', id: 'minimalValue', name: 'minimalValue', rel: 'cInteger' }, ''
                    ]
                );
                $('#parameterType').createAppend(                
                    'div', { className: 'formItem' }, [
                        'label', { for: 'maximalValue' }, 'Maximální hodnota',
                        'input', { type: 'text', id: 'maximalValue', name: 'maximalValue', rel: 'cInteger' }, ''
                    ]
                );
                break;

            case 'logic':                
                break;

            case 'set':
                $('#parameterType').createAppend(                
                    'div', { className: 'formItem' }, [
                        'div', { className: 'kindsParametersInfo' }, 'Jednotlivé hodnoty oddělujte středníkem',
                        'label', { for: 'options' }, 'Možnosti nastavení',
                        'textarea', { id: 'options', name: 'options', rel: 'cInteger', style: 'width: 300px;' }, ''
                    ]
                );
                break;

            case 'select':
                $('#parameterType').createAppend(                
                    'div', { className: 'formItem' }, [
                        'div', { className: 'kindsParametersInfo' }, 'Jednotlivé hodnoty oddělujte středníkem',
                        'label', { for: 'options' }, 'Možnosti nastavení',
                        'textarea', { id: 'options', name: 'options', rel: 'cInteger', style: 'width: 300px;' }, ''                        
                    ]
                );
                break;

            default:
                $('#parameterType').text( 'Musíte nejprve vybrat typ parametru' );
        }
    }


    function checkKindSave( iID ) {
        if( $('#item_kind').val() == '' ){
            alert( 'Musíte vybrat typ parametru!' );
        }else{
            return saveKind( iID );
        }
    }


    function saveKind( iID ) {
        var aItems = helpArray();        
        var kindName = $('#item_name_0').val();
        var kindType = aItems[ $('#item_kind').val() ];
        
        if( iID == -1 ) {
            var doAction = 'add';            
            var iRealID = parseInt( $('#itemsCount').val() ) + 1;
        } else {
            var doAction = 'edit';
            var iRealID = iID;
        }

        switch( doAction ){
            case 'add':
                $('#tssKindTableBody').createAppend(
                    'tr', { className: 'listTableRow', id: 'kindItem_' + iRealID + '' }, [
                        'td', {}, '' + kindName + '',
                        'td', {}, '' + kindType + '',
                        'td', { align: 'center' }, [
                            'a', { href: 'javascript:void(0);', className: 'iconChange', onclick: 'kindChange( ' + iRealID + ' )' }, '<span>Změnit</span>',
                            'a', { href: 'javascript:void(0);', className: 'iconDelete', onclick: 'deleteKind(this)' }, '<span>Smazat</span>'
                            //'a', { href: 'javascript:void(0);', className: 'iconMoveTop' }, '<span>Top</span>',
                            //'a', { href: 'javascript:void(0);', className: 'iconMoveDown' }, '<span>Down</span>'
                        ]
                    ]
                );
                $('#itemsCount').val( parseInt( $('#itemsCount').val() ) + 1 );                
                
                var result = '';
                var aData = $('#iFrameForm :input');
                for( var i = 0; i < aData.length; i++ ) {
                    if( $(aData[i]).attr('id') == 'item_kind' ) {
                        var sInputName  = 'kindText';
                        var iInputValue = aItems[ $(aData[i]).val() ];
                    } else if( $(aData[i]).attr('type') == 'checkbox' ) {
                        var sInputName  = $(aData[i]).attr('name');
                        if( $(aData[i]).is(':checked') ) {
                            var iInputValue = 1;
                        } else {
                            var iInputValue = 0;
                        }
                    } else {
                        var sInputName  = $(aData[i]).attr('name');
                        var iInputValue = $(aData[i]).val();
                    }

                    if( $(aData[i]).attr('id') == 'item_kind' ) {
                        if( result == '' ) {
                            result += '' + $(aData[i]).attr('name') + '|' + $(aData[i]).val() + '';
                        } else {
                            result += '|' + $(aData[i]).attr('name') + '|' + $(aData[i]).val() + '';
                        }
                    }
                    
                    if( result == '' ) {
                       result += '' + sInputName + '|' + iInputValue + '';
                    } else {
                       result += '|' + sInputName + '|' + iInputValue + '';
                    }
                }                
                $('#buttonsAndHiddens').createAppend(
                    'input', { type: 'hidden', id: 'item' + iRealID + '', name: 'item' + iRealID + '', rel: 'tssKinds', value: '' + result + '' }, ''
                );
                break;
            
            case 'edit':
                var kids = $('#kindItem_' + iRealID + '').children();
                $(kids[0]).text(kindName);
                $(kids[1]).text(kindType);
                var result = '';
                var aData = $('#iFrameForm :input');
                for( var i = 0; i < aData.length; i++ ) {
                    if( $(aData[i]).attr('id') == 'item_kind' ) {
                        var sInputName  = 'kindText';
                        var iInputValue = aItems[ $(aData[i]).val() ];
                    } else if( $(aData[i]).attr('type') == 'checkbox' ) {
                        var sInputName  = $(aData[i]).attr('name');
                        if( $(aData[i]).is(':checked') ) {
                            var iInputValue = 1;
                        } else {
                            var iInputValue = 0;
                        }
                    } else {
                        var sInputName  = $(aData[i]).attr('name');
                        var iInputValue = $(aData[i]).val();
                    }

                    if( $(aData[i]).attr('id') == 'item_kind' ) {
                        if( result == '' ) {
                            result += '' + $(aData[i]).attr('name') + '|' + $(aData[i]).val() + '';
                        } else {
                            result += '|' + $(aData[i]).attr('name') + '|' + $(aData[i]).val() + '';
                        }
                    }
                    
                    if( result == '' ) {
                       result += '' + sInputName + '|' + iInputValue + '';
                    } else {
                       result += '|' + sInputName + '|' + iInputValue + '';
                    }
                }
                $('#item' + iRealID + '').val( result );
                break;
            
            default:
                return false;
        }

        $('#dialog').dialog( 'destroy' ); 
    }


    function deleteKind( cItem ) {
        var totalCount = parseInt( $('#itemsCount').val() );
        var iShowItems = (parseInt(totalCount)-1);
        var aGetID = $(cItem).parent().parent().attr('id').split('_');        
        var iID = aGetID[1];
        
        $('#itemsCount').val( iShowItems );        
        $(cItem).parent().parent().remove();
        $('#item' + iID + '').remove();

        if( iID != totalCount ){            
            for( i=(parseInt(iID)+1); i<=totalCount; i++ ){
                $('#kindItem_'+i).attr({'id':'kindItem_'+(i-1)});                
                $('#item'+i).attr({'id':'item'+(i-1), 'name':'item'+(i-1)});                
            }
        }
    }


    function kindPost( aData, sData ) {
        var aItems = helpArray();        
        $('#tssKindTableBody').createAppend(
            'tr', { className: 'listTableRow', id: 'kindItem_' + aData['realID'] + '' }, [
                'td', {}, '' + aData['item_name_0'] + '',
                'td', {}, '' + aItems[ aData['item_kind'] ] + '',
                'td', { align: 'center' }, [
                    'a', { href: 'javascript:void(0);', className: 'iconChange', onclick: 'kindChange( ' + aData['realID'] + ' )' }, '<span>Změnit</span>',
                    'a', { href: 'javascript:void(0);', className: 'iconDelete', onclick: 'deleteKind(this)' }, '<span>Smazat</span>'
                    //'a', { href: 'javascript:void(0);', className: 'iconMoveTop' }, '<span>Top</span>',
                    //'a', { href: 'javascript:void(0);', className: 'iconMoveDown' }, '<span>Down</span>'
                ]
            ]
        );
        
        $('#buttonsAndHiddens').createAppend(
            'input', { type: 'hidden', id: 'item' + aData['realID'] + '', name: 'item' + aData['realID'] + '', rel: 'tssKinds', value: '' + sData + '' }, ''
        );
    }


    function getSelected( opt, inline ) {
        var selected = new Array();
        var index = 0;
        var first = true;
        var st = '';

        var aSelected = $(opt).selectedValues();

        for ( var intLoop=0; intLoop < aSelected.length; intLoop++ ) {            
            if (!first) st = st + '|'; 
            index = selected.length;
            selected[index] = new Object;
            selected[index].value = aSelected[intLoop];
            selected[index].index = intLoop;
            st = st + aSelected[intLoop];
            first = false;            
        }

        if (!inline){            
            return selected;
        } else {            
            return st;
        }  
    }


    function productKindSelected( sData ){
        $.ajax({
            type:     'GET',
            dataType: 'html',
            url:      '/admin/productKindForm.php',
            data:     'kindSelected=' + getSelected( $('#kind_id'), true ) + '&data=' + sData + '',
            success:  function ( sData ) {
                $('#kindsForm').html( sData );
            },
            error:    function ( error ) {
                showError( error );                
            }
        });
    }

