$(document).ready( function() {

    var nebulamarket_client = new nebula_market_client();

    // asigno popups a los enlaces que contengan "openinpopup"
    $('a[rel*=openinpopup]').popup();

    // Nebula API links
    $('a[rel*=napi_action]').ajax_action();

    // control de formularios basico
    var options = {
        dataType:  'json',
        success:   form_processJson
    }

    // formulario para ingresar productos
    var options_product_add = {
        dataType:  'json',
        success:   function(data){
         form_processJson(data);
         $('#form_product_add').clearForm();
         //tinyMCE.getInstanceById('textareaid').setContent('');
         tinyMCE.getInstanceById('desc').getBody().innerHTML=' ';
         tinyMCE.getInstanceById('info').getBody().innerHTML=' ';
        }
    }
    $('#form_product_add').ajaxForm(options_product_add);

    // procesamiento del formulario de edicion de productos
    var options_product_edit = {
        dataType:  'json',
        success:   function(data){
         form_processJson(data);
        }
    }
    $('#form_product_edit').ajaxForm(options_product_edit);


    // formulario datasheet
    var options_product_datasheet = {
        dataType:  'json',
        success:   function(data){
         form_processJson(data);
        }
    }
    $('#form_datasheet').ajaxForm(options_product_datasheet);

//    $().bind('form.pre.serialize', function(event, $form, options) {
//     tinyMCE.triggerSave();
//    });

    // SubCategoriesID, secciones
    $('#SubCategoriesID').change(function(){
        nebulamarket_client.sub_sections_selector("#SubCategoriesID",this.value);
    });

    // seccion para agregar y editar categorias
    var selector_option_defalut = '<option selected value="0"> ---------- </option>' + "\n";

    $('#frcat_CategoriesID').change(function(){
        $('#frcat_SubCategoriesID').html(selector_option_defalut);
        $.post('/NebulaMarket/categories/get', {'CategoriesID':this.value}, function(data){
            if(isset(data.CategoriesImage)){
                var imgname = data.CategoriesImage;
                var source = '/usr/data/image/small/' + imgname;
                //alert(source);
                $('img#img_CategoriesID').attr('src', source);
                $('#desc_CategoriesID').html(data.CategoriesDesc);
            }
        }, 'json');
        nebulamarket_client.sub_categories_optselector('#frcat_SubCategoriesID',this.value);
    });

    $('#frcat_SubCategoriesID').change(function(){
        $('#frcat_SectionID').html(selector_option_defalut);

        $.post('/NebulaMarket/api/get_subcategories_data', {SubCategoriesID:this.value}, function(data){
            if(isset(data.img)){
                var imgname = data.img.name;
                var source = '/usr/data/image/small/' + imgname;
                //alert(source);
                $('img#img_SubCategoriesID').attr('src', source);
            }
        }, 'json');

        nebulamarket_client.sub_sections_optselector('#frcat_SectionID',this.value);
    });

    // borrado de categorias
    //frdel_cat,frdel_subcat,frdel_subsec

    $('a#frdel_cat').click(function(){
        var catid = $('#frcat_CategoriesID').val();
        var catname = $('#frcat_CategoriesID option:selected').text();
        if( confirm('confirmar borrado de: ' + catname)){
            nebulamarket_client.categories_del(catid);
            $('#frcat_CategoriesID option:selected').remove();
            $('#frcat_SubCategoriesID').html(selector_option_defalut);
            $('#frcat_SectionID').html(selector_option_defalut);
        }
    });

    $('a#frdel_subcat').click(function(){
        var catid = $('#frcat_SubCategoriesID').val();
        var catname = $('#frcat_SubCategoriesID option:selected').text();
        if( confirm('confirmar borrado de: ' + catname)){
            nebulamarket_client.subcategories_del(catid);
            $('#frcat_SubCategoriesID option:selected').remove();
            $('#frcat_SectionID').html(selector_option_defalut);
        }
    });

    $('a#frdel_subsec').click(function(){
        var catid = $('#frcat_SectionID').val();
        var catname = $('#frcat_SectionID option:selected').text();
        if( confirm('confirmar borrado de: ' + catname)){
            nebulamarket_client.subsections_del(catid);
            $('#frcat_SectionID option:selected').remove();
        }
    });


    /**
     * Agregado de Categorias
     * fradd_cat,fradd_subcat,fradd_subsec
     */
    $('a#fradd_cat').click(function(){
        var newcat = prompt('agregar nueva categoria', '[New Cat]');
        if(newcat){
            nebulamarket_client.categories_add(newcat,function(){
                nebulamarket_client.categories_optselector('#frcat_CategoriesID');
            });
        }
    });
     
    $('a#fradd_subcat').click(function(){
        var newcat = prompt('agregar nueva subcategoria', '[New Cat]');
        if(newcat){
            nebulamarket_client.subcategories_add($('#frcat_CategoriesID').val(),newcat,function(){
                nebulamarket_client.sub_categories_optselector('#frcat_SubCategoriesID',$('#frcat_CategoriesID').val());
            });
        
        }
    });

    $('a#fradd_subsec').click(function(){
        var newcat = prompt('agregar nueva subseccion', '[New Cat]');
        if(newcat){
            nebulamarket_client.subsections_add($('#frcat_SubCategoriesID').val(),newcat,function(){
                nebulamarket_client.sub_sections_optselector('#frcat_SectionID',$('#frcat_SubCategoriesID').val());
            });

        }
    });

    $('a#fredit_subcat').click(function(){
        var SubCategoriesID = $('#frcat_SubCategoriesID').val();
        var src = '/NebulaMarket/front/subcat_edit?SubCategoriesID=' + SubCategoriesID;
        orion_box.iframe(src, 400, 300);
    });

    /**
     * editamos la subseccion
     */
    $('a#fredit_subsec').click(function(){
        var SectionID = $('#frcat_SectionID').val();
        var src = '/NebulaMarket/front/subsec_edit?SectionID=' + SectionID;
        orion_box.xhr(src, 400, 300);
    });

    /**
     * disparo el proceso de edicion de categoria
     */
    $('a#fredit_cat').click(function(){
        CategoriesID = $('#frcat_CategoriesID').val();
        var src = '/NebulaMarket/front/cat_edit';
        orion_box.xhr(src, 400, 300,{'CategoriesID':CategoriesID});
    });

} );





