$(document).ready(function() {
    
    var params = "accion=Comun&metodo=obtenerRubros";
    sendAjax(params);
    var params = "accion=Comun&metodo=obtenerSeccionesHeader";
    sendAjax(params);
    var params = "accion=Comun&metodo=obtenerBanners";
    sendAjax(params);
    var params = "accion=Comun&metodo=verPortada";
    sendAjax(params);
    var params = "accion=Comun&metodo=obtenerFooter";
    sendAjax(params);
  
//  reglasJquery(document);
});

function sendAjax(params){
    // ENVIAMOS AJAX RECIBIMOS JSON.
    $("#debug").html('');
    loader('show');
    $.ajax({
        type: 'POST',
        url: 'controlador/Ruteador.php',
        data: params,
        dataType: 'json',
        success: function(data) {
            if(data.error){
                $("#msgError").html(data.error);
            }
            else {
                $.each( data, function(i, n){
                    if(i !='pnotify' && i != 'fancy') {
                        $("#"+i).html(n);
                        reglasJquery("#"+i);
                    }
                    if(i == 'pnotify'){
                        pnotifySimple(n);
                    }
                    if(i == 'fancy'){
                        fancyContent(n);
                        reglasJquery("#"+i);
                    }
                });
            }
            loader("hide");   
        }
    });
    
}

function sendAjaxGetHTML(params){
    // ENVIAMOS AJAX RECIBIMOS JSON.
    $("#debug").html('');
    loader('show');
    $.ajax({
        type: 'POST',
        url: 'controlador/Ruteador.php',
        data: params,
        dataType: 'html',
        success: function(data) {
            alert(data);
            loader("hide");
        }
    });
}

function pnotifySimple(n) {
    $.pnotify({
        pnotify_title: n.titulo,
        pnotify_text: n.texto,
        pnotify_nonblock: true,
        pnotify_mouse_reset: false,
        pnotify_delay: 3000
    //    pnotify_before_close: function(pnotify){
    //      // You can access the notice's options with this. It is read only.
    //      //pnotify.opts.pnotify_text;
    //
    //      // You can change the notice's options after the timer like this:
    //      pnotify.pnotify({
    //        pnotify_title: pnotify.opts.pnotify_title+" - Enjoy your Stay",
    //        pnotify_before_close: null
    //      });
    //      pnotify.pnotify_queue_remove();
    //      return false;
    //    }
    });

}

function fancyContent(data){
    var fnc = $.fancybox({
        'showCloseButton'	: true,
        'titlePosition' 		: 'inside',
        'title'                     : data.title,
        'content'                   : data.content,
        'scrolling': 'auto',
        'autoDimensions'	: false,
        'width'         		: 650,
        'height'        		: 400
    
    });
}

function loader(action){
    if(action == 'show'){
        $('#loader').fadeIn(100);
        $('.loader').fadeIn(100);
    }
    else{
        $('#loader').fadeOut(300);
        $('.loader').fadeOut(300);
    }

}


function reglasJquery(destino){
    
    $(destino).ready(function(){

        /* unbind de acciones por defecto */


        $(' .btnSubmit,li a.link_ajax, area.link_ajax, a.link_ajax,.btnLightBox,.dialogBox').unbind('click');
        $(' li a.link_json, a.link_json, .btnSubmitForm, .btnAccion, .doupload, .menu_link_json, .adjunta').unbind('click');
        $(' .chkAccion, #verDescripcionCompleta').unbind('click');
        $('#idCategoriaSeleccionada,#idBannerSeleccionado,.cambiar_flag_producto,.buscar_producto_especiales').unbind('change');
        $('.cambiar_flag_lista_usuario').unbind('change');

        $( "input:submit, button" ).button();

        //******************** MENU PRINCIPAL ***********************//

        $('.rubro').unbind("click");
        $('.rubro').click(
            function() {
                if($(this).hasClass("expandido")){
                    $(this).removeClass("expandido");
                    $(this).children('.contenedor').hide("fast");
                }
                else{
                    $(this).addClass("expandido");
                    $(this).children('.contenedor').show("slow");
                }
                $(this).addClass("seleccionado");
                //        $(this).children('.contenedor').show();
                $(this).siblings().find('.contenedor').hide("fast");
                $(this).siblings().removeClass("seleccionado");
                // event.preventDefault();
                var url = $(this).children("a").attr('href');
                params = url.substr(url.indexOf("?")+1);
                sendAjax(params);
                return false;
            });
        
        //    $('li a.menu_link_json').bind('click', function(event) {
        //      event.preventDefault();
        //      var url = $(this).attr('href');
        //      params = url.substr(url.indexOf("?")+1);
        //      sendAjax(params);
        //      return true;
        //    });


        $('ul.sf-menu').superfish({
            animation:   {
                opacity:'show',
                height:'show'
            },  // fade-in and slide-down animation
            delay:     1200               // 1.2 second delay on mouseout
        });
    
        //**************FIN MENU PRINCIPAL*****************//

       
        /* submit de formularios */

        $('.btnSubmit').bind('click',function(){
            form = $(this).parents('form:first');
            if($(form).hasClass("valiForm")){
                valido = $(form).valid();
                if(!valido) return false;
            }
            var formData = form.serialize();
            var actionParams = form.attr('action').substr(form.attr('action').indexOf("?")+1);
            var params = formData +"&"+ actionParams;
            //            alert(formData);
            sendAjax(params);
            return false;
        });

        $('.btnAccion').bind('click',function(){
            form = $(this).parents('form:first');
            var formData = form.serialize();
            var actionParams = $(this).attr('name').substr($(this).attr('name').indexOf("?")+1);
            var params = formData +"&"+ actionParams;
            //  alert($(form).attr("id"));
            sendAjax(params);
            return false;
        });

        /* procesar links via ajax */

        $('li a.link_ajax, area.link_ajax, a.link_ajax').bind('click', function() {
            loader('show');
            var url = $(this).attr("href");
            var div = "#"+$(this).attr("target");
            $(div).load(url,function() {
                loader('hide');
                reglasJquery(div);
            });
            return false;
        });

        $('li a.link_json, a.link_json').bind('click', function(event) {
            event.preventDefault();
            var url = $(this).attr('href');
            params = url.substr(url.indexOf("?")+1);
            sendAjax(params);
            return false;
        });

        $('li a.link_ajax_html, a.link_ajax_html').bind('click', function(event) {
            event.preventDefault();
            var url = $(this).attr('href');
            params = url.substr(url.indexOf("?")+1);
            sendAjaxGetHTML(params);
            return false;
        });

        //**************** COMPORTAMIENTOS ESPECIALES *********************/

        $('#idCategoriaSeleccionada').bind('change', function(){
            form = $(this).parents('form:first');
            var formData = form.serialize();
            var actionParams = "accion=AdminFC&metodo=seleccionarCategoria";
            var params = formData +"&"+ actionParams;
            sendAjax(params);
            return false;
        });

        $('#idBannerSeleccionado').bind('change', function(){
            form = $(this).parents('form:first');
            var formData = form.serialize();
            var actionParams = "accion=AdminFC&metodo=seleccionarBanner";
            var params = formData +"&"+ actionParams;
            sendAjax(params);
            return false;
        });
        
        $('.chkAccion').bind("click",function(){
            var metodo = $(this).attr('value');
            var id = $(this).attr('id').substr($(this).attr('id').indexOf("_")+1);
            params = "accion=AdminFC&metodo="+metodo+"&id="+id;             
            sendAjax(params);
        //             return false;
        });
    
        $('.cambiar_flag_producto').bind("change",function(){
            //      alert("Ok");
            var action = "accion=AdminFC&metodo=cambiarFlagProducto";
            var id = $(this).attr('id').substr($(this).attr('id').indexOf("_")+1);
            var value = $(this).serialize();
            params = action+"&"+value+"&id="+id;             
            sendAjax(params);
      
        })
        $('.buscar_producto_especiales').bind("change",function(){
            //      alert("Ok");
            var action = "accion=AdminFC&metodo=buscarProductos&filtroFlag=1";
            //      var id = $(this).attr('id').substr($(this).attr('id').indexOf("_")+1);
            var flag = $(this).serialize();
            params = action+"&"+flag;             
            sendAjax(params);
      
        })
        $('.cambiar_flag_lista_usuario').bind("change",function(){
            //      alert("Ok");
            var action = "accion=AdminFC&metodo=cambiarFlagListaUsuario";
            var id = $(this).attr('id').substr($(this).attr('id').indexOf("_")+1);
            var value = $(this).serialize();
            params = action+"&"+value+"&id="+id;             
            sendAjax(params);
      
        })
    
        $('.submiter').unbind("keypress");

        $('.submiter').keypress(function(e){
            if(e.which == 13){
                form = $(this).parents('form:first');
                var formData = form.serialize();
                var actionParams = form.attr('action').substr(form.attr('action').indexOf("?")+1);
                var params = formData +"&"+ actionParams;
                sendAjax(params);
                return false;
            }
        })
   
        $(".scrollInicio").click(function(){
            $.scrollTo('#contenedor_banner_header',300);
        })
    
        $(".telefono").mask("(90999)-999 9999?");
    
        ///////************ UPLOADERS ******************////

        $('#Admin_Prod_Fotos .dify').each(        
            function(){        
                var queue = $(this).attr("id")+"_queue";
                var hidden = $(this).attr("id")+"_hidden";
                var check = $(this).attr("id")+"_check";                                
                if(!$(this).hasClass("difyed")){
                    $(this).uploadify({        
                        'buttonText': 'Elegir Foto',
                        'uploader'  : '/lib/uploadify/uploadify.swf',
                        'script'    : '/lib/uploadify/uploadify.php',
                        'cancelImg' : '/lib/uploadify/cancel.png',
                        'folder'    : '/fotos_productos',
                        'queueID'   : queue,
                        'auto'      : false,
                        'fileExt'     : '*.jpg;*.gif;*.png',
                        'fileDesc'    : 'Fotos (.JPG, .GIF, .PNG)',                        
                        'onComplete'  : function(event, ID, fileObj, response, data) {
                            //                        alert('There are ' + data.fileCount + ' files remaining in the queue.');
                            $("#"+hidden).attr("value", fileObj.name);
                            $("#"+check).attr('checked', true);                        
                        }
                    
                    })
                    $(this).addClass("difyed");                                
                }
            });
            
         
        
        $('#ModificarBanner .dify').each(        
            function(){        
                var queue = $(this).attr("id")+"_queue";
                var hidden = $(this).attr("id")+"_hidden";
                var check = $(this).attr("id")+"_check";                                
                if(!$(this).hasClass("difyed")){
                    $(this).uploadify({        
                        'buttonText': 'Elegir Foto',
                        'uploader'  : '/lib/uploadify/uploadify.swf',
                        'script'    : '/lib/uploadify/uploadify.php',
                        'cancelImg' : '/lib/uploadify/cancel.png',
                        'folder'    : '/banners',
                        'queueID'   : queue,
                        'auto'      : true,
                        'fileExt'     : '*.jpg;*.gif;*.png',
                        'fileDesc'    : 'Banners (.JPG, .GIF, .PNG)',                        
                        'onComplete'  : function(event, ID, fileObj, response, data) {
                            //                        alert('There are ' + data.fileCount + ' files remaining in the queue.');
                            $("#"+hidden).attr("value", fileObj.name);
                            $("#muestraBanner").attr("src","/banners/"+fileObj.name);                              
                            
                        }
                    
                    })
                    $(this).addClass("difyed");                                                    
                }
            });
        
    
        $('.doupload').bind('click',function(){
            $('.dify').uploadifyUpload();
        })

        //////////////// FIN UPLOADERS ////////////////////

        //////////////// COMPORTAMIENTO IMAGENES ////////////////////
    
   
        $('img.adjunta').bind("click",function(){
            var path = $(this).attr("src");      
            $('#contenedor_foto').attr("src",path);
            if($(this).width() > $(this).height()){
                $('#contenedor_foto').width(200);
                $('#contenedor_foto').height("auto");
            }
            else{
                $('#contenedor_foto').width("auto");
                $('#contenedor_foto').height(200);
            }
        })
    
        $('#contenedor_foto').each(function(){
            if($(this).width() > $(this).height()){
                $(this).width(200);
                $(this).height("auto");
            }
            else{
                $(this).width("auto");
                $(this).height(200);
            }
        })
    
        $('.imagenPrincipal').each(function(){

            if($(this).width() > $(this).height()){
                $(this).width(140);
                $(this).height("auto");
            }
            else{
                $(this).width("auto");
                $(this).height(140);
            }
        })




    
        $('img.preview, img.banner').each(function(){
            if($(this).width() > $(this).height()){
                $(this).width(150);
                $(this).height("auto");
            }
        //      else{
        //        $(this).width("auto");
        //        $(this).height(150);
        //      }
        })
        
        //////////////// FIN COMPORTAMIENTO IMAGENES ////////////////////

        //************** ROTADOR DE BANNERS ****************//
        $('#contenedor_banner_header').each(function(){
            if(!$(this).hasClass("done")){
                if($('#contenedor_banner_header').html()){
                    $('#contenedor_banner_header').jqFancyTransitions({
                        //            effect: 'wave', // wave, zipper, curtain
                        width: 990, // width of panel
                        height: 150, // height of panel
                        //            strips: 70, // number of strips
                        delay: 4500, // delay between images in ms
                        //            stripDelay: 30, // delay beetwen strips in ms
                        //            titleOpacity: 0.7, // opacity of title
                        //            titleSpeed: 500, // speed of title appereance in ms
                        //            position: 'top', // top, bottom, alternate, curtain
                        //            direction: 'right', // left, right, alternate, random, fountain, fountainAlternate
                        navigation: false, // prev and next navigation buttons
                        links: false // show images as links
                    });      
                    $(this).addClass("done");
                }
            }
          
        })

    
   
        /***************** DEFINICIONES CKEDITOR *******************/
   
        $('.editor').each(function(){
            cked = $(this).attr("name");
            var instance = CKEDITOR.instances[cked];
            if (instance) {
                CKEDITOR.remove(CKEDITOR.instances[cked]);
            }    
            var ck = $(this).ckeditor();        
        });
    
        /******************** CARRITO ***********************/
        $('.closeCarrito').click(function() {
            $("#carrito").dialog("close");
            return 1;
        });
        
        
    
        $(".metodo_operacion").unbind("click");
        $(".metodo_operacion").bind("click",function(){
            var metodo = $(this).attr("id");
            $("#c_datos_tarj").css("display", "none");
            $(".metodo_operacion").each(function(){
                $(this).css("background-color", "");
                if($(this).attr("id") == metodo){
                    $(this).css("background-color", "#BBB");
                }                
            })
            if(metodo == 'compra'){
                    $("#c_datos_tarj").css("display", "block");
                    $("#metodo_operacion_legend").html("Compra Online");
                }
                else{
                    $("#metodo_operacion_legend").html("Reserva de Mercadería");
                }
            $("#metodo_operacion").attr("value",metodo);            
        })
        
        $(".metodo_operacion").hover(function(){
            $(this).css("cursor","pointer");
        }, function(){
            $(this).css("cursor","");
        })
        
    
        //////////////// ANIMAR DESCRIPCION LARGA //////////////
    
        $("#verDescripcionCompleta").bind("click",function(){
            //      event.preventDefault();
            $("#descripcionLarga").toggle("slow");
            return false;
        })
  
   
   
        //**************** INCLUDES ********************//
   
        defineDataTables();
        validations();    
        defineDialogs();    
        reglasJqueryTest(destino);
       
    })
}
