
/**
 * Clase general
 * Control del menú superior
 */
var GENERAL = {    
    load: function() {
        this.menu();
    },    
	menu: function(){
		 $('.menu-link').hover( function(){
             
			var $this = $(this),
				num = $this.attr('id');
                
            $this.parent().addClass('menu-' + num + '-hover');
            
        }, function(){
            
			var $this = $(this),
				num = $this.attr('id');
                
            $this.parent().removeClass('menu-' + num + '-hover');
            
        });
	}
}


/**
 * Clase formulario
 * Control del formulario: validacion y envio
 */
var Formulario = {
    load: function(){
        this.listen();
    },
    
    listen: function(){
        var _this = this;
        
        $('#enviarForm').live('click', function(){
            _this.enviarForm();
        });
    },
        
    enviarForm: function(){
        var _this = this; 
		if(_this.validarFrorm()){
			var consulta = $.post( path + 'intermedia.php',
			{
				nombre: _this.convert($('#nombre').val()),
				apellido: _this.convert($('#apellidos').val()),
				email: _this.convert($('#email').val()),
				telf: _this.convert($('#telefono').val()),
				provincia: _this.convert($('#provincia').val()),
				respuesta: $('#observaciones').val(),
				aviso: 1
			});

			consulta.success(function(data){
				$('#formContacto').hide();
				$('#formulario').append(data);
			});			
		}
	},

	validarFrorm: function(){

		var formContacto_inputs = $('#formContacto :input'),
			len = formContacto_inputs.length,
			error = 0;

		for(var i = 0; i < len; i++){
			var input = $(formContacto_inputs[i]),
				inputVal = input.val(),
				inputLen = inputVal.length,
				inputId = input.attr('id'),
				exr = /^[0-9a-z_\-\.]+@[0-9a-z\-\.]+\.[a-z]{2,4}$/i;

			if(inputLen === 0){
				input.addClass('error');
				error = 1;
			}else if(inputId === 'email' && !exr.test(inputVal)){
				input.addClass('error');
				error = 1;
			}else if(inputId === 'aceptar' && input.attr('checked') === false){
				$('#label-aceptar').addClass('error');
				error = 1;
			}else{
				input.removeClass('error');
				if(inputId === 'aceptar'){
					$('#label-aceptar').removeClass('error');
				}
			}
		}

		if(error === 1){
			alert('Error: Comprueba que los campos obligatorios esten correctamente rellenados');
			return false;
		}else{
			return true;
		}

	},

	convert: function (input) {
			var output = "";
			var si = 0;
			for (var i = 0; i < input.length; i++) {
				si = 0;
				if (input.charCodeAt(i) == 13 && input.charCodeAt(i + 1) == 10) {
					si = 1;
					i++;
					output += "<BR>";
				}
				if (input.charCodeAt(i) == 32) {
					si = 1;
					output += "%20";
				}
				if (input.charCodeAt(i) == 225 || input.charCodeAt(i) == 224) {
					si = 1;
					output += "a";
				}
				if (input.charCodeAt(i) == 233 || input.charCodeAt(i) == 232) {
					si = 1;
					output += "e";
				}
				if (input.charCodeAt(i) == 237 || input.charCodeAt(i) == 236) {
					si = 1;
					output += "i";
				}
				if (input.charCodeAt(i) == 243 || input.charCodeAt(i) == 242) {
					si = 1;
					output += "o";
				}
			   if (input.charCodeAt(i) == 250 || input.charCodeAt(i) == 249) {
					si = 1;
					output += "u";
				}
				if (input.charCodeAt(i) == 39) {
					si = 1;
					output += "%20";
				}
				if (input.charCodeAt(i) == 38) {
					si = 1;
					output += "%20";
				}
				if (si == 0) {
					output += input.charAt(i);
				}
			}
			return output;
		}    
}

/**
 * Clase productos banner
 * Control del del banner de productos
 */
var ProductosBanner = {
        
        load: function(){
            this.productosBanner();
        },       
        
        /*Lista de productos para el banner de productos*/
        productosList: [     
                [ path + 'images/vasito.png', path + 'productos/vasito/'],
                [ path + 'images/drink.png', path + 'productos/beber/'],
                [ path + 'images/llevar.png', path + 'productos/para-llevar/'],
                [ path + 'images/maxi.png', path + 'productos/maxi/']
                
        ],
        
        productosBanner: function(){
            var _this = this;
            var len = _this.productosList.length, //número de productos
                $banner_productos = $('#banner_productos ul'),                
                html,
                clicks = 0;                
            
            for(i = 0; i < len; i++){
                html = $('<li>').attr('id', i).html('<a href="' + _this.productosList[i][1] + '"><img src="' + _this.productosList[i][0] + '" /></a>');
                $banner_productos.append(html);
            }
            
            $('#flechaRight').live('click', function(){                
                if(clicks === len-1){
                   margin = '18px';
                   clicks = 0;
                }else{
                   margin = '-=232px';
                   clicks = clicks+1;
                }                
                _this.anima($banner_productos, margin);
            });
            
            $('#flechaLeft').live('click', function(){                
                if(clicks <= 0){                    
                    margin = '18px';
                    clicks = 0;
                }else{
                    margin = '+=232px';
                    clicks = clicks-1;
                }
                _this.anima($banner_productos, margin);                
            });            
                        
        },
        
        anima: function(selector, margin) {
            selector.animate({
                marginLeft: margin
            });
        }
}
/**
 * Gestion de productos
 * los datos de los productos estan en el listado inferior.
 */
var Productos = {
    
    load: function(){
        
        $('a[href*="#"]').attr('href', 'javascript:void(0)');
        
        // preload de las imagenes quitar si da problemas.
        //this.preload();
        
        // Esuchando...
        
        $('.cambio-producto').live({
            click: function() {
                $('#imagen_grande').attr('src', $(this).data('imagen'));
                $('#frase_producto').html($(this).data('titulo'));
                $('.cambio-producto').removeClass('sel');
                $(this).addClass('sel');
            }
        });
        
        
    },
    
    listLoad: function() {
      this.bocadillo();
    },

    preload: function() {
        
        var productos = $('.submenu li a'); 
            len = productos.length;
        // cargando la primera foto y cuando esta este cargada el resto
        $('<img />').attr('src', $(productos[0]).data('imagen')).load(function(){
            for (i = 1; i < len; i++) {
                $('<img />').attr('src', $(productos[i]).data('imagen')); 
            }
        });
        
     },   
    
    productos: function(){
		$('a[href*="#"]').attr('href', 'javascript:void(0)');
		$('.cambio-producto').live('click', function() {
			
		  var id = $(this).attr('id'),
			  $this = $(this),
			  $producto_image = $('#producto_imagen'),
			  //clase actual activa, al entrar es el primer link del submenu.
			  actual = ($producto_image.data('actual') ? $producto_image.data('actual') : $('.cambio-producto:first').attr('id') + '_sel');

		  //cambiamos la imagen
		  $producto_image.html('<img src="'+ path +'images/' +id+ '.png"/>');

		  //añadimos la clase al nuevo elemento del submenu
		  $this.addClass(id + '_sel');
		  
		  //quitamos la clase del submenu que esta seleccionada actualemente
		  $('.' + actual).removeClass(actual);

		  //y guardamos la clase actual
		  $producto_image.data('actual', id + '_sel');

		});
	},
    
    bocadillo: function(){
        $('.familia').live({
            mouseover: function(){
                var id = $(this).attr('id');
                $('#' + id + ' .bocadillo').addClass('sel');
            },
            mouseout: function(){
                var id = $(this).attr('id');
                $('#' + id + ' .bocadillo').removeClass('sel');
            }
        });
        
        $(".enlace").live('hover',function(event){
          event.stopPropagation();
        }); 
    }
    
}

var Videos = {
        load: function(){
            
            this.videoChange();            
            
            //IMOPRTANTE 
            this.num_video = 4;
            
            //Redes sociales
            this.svcs = {expanded: 'More', facebook: 'Facebook', twitter: 'Twitter', tuenti: 'Tuenti'};
            
            // ....
            for(i = 1; i < this.num_video+1; i++){
                var objeto = $('<div>').attr('id', 'toolbox_video' + i).attr('class', 'toolbox');
                $('#compartir').append(objeto);
                for (var s in this.svcs) {
                    objeto.append('<a class="addthis_button_'+s+' addthis:image="http://i2.ytimg.com/vi/' +this.videoList['video' + i][0]+ '/default.jpg" addthis:title="' +this.videoList['video' + i][2]+ '" addthis:type="non_profit" addthis:url="http://www.youtube.com/watch?v=' +this.videoList['video' + i][0]+ '" addthis:admins="my_username" addthis:video="http://www.youtube.com/watch?v=' +this.videoList['video' + i][0]+ '" addthis:video:type="application/x-shockwave-flash"></a>');
                }
            }
        },
        
        /*Lista de video de receta más sana*/
        videoList:{
            'video1': ['Xm20SFbzVEc', 'video_tit_como_se_plantan', 'Introducción y ¿cómo se plantan las fresas?'],            
            'video2': ['fH7bC5XJu8M', 'video_tit_de_donde', '¿De donde viene la leche?'],
            'video3': ['n5vtL3f_5Hg', 'video_tit_resultado', '¿Cual es el resulatado final?'],
            'video4': ['eSd-lAcNu-c', '', 'Spot']
            }            
        ,
        
        videoChange: function(){
            var _this = this;
            
            $('.video-link').live('click', function(){             
                
                var params = {allowScriptAccess: "always", wmode: "transparent"},
                    id = $(this).attr('id'),
                codigo = _this.videoList[id][0],
                clase = _this.videoList[id][1],
                    titulo = _this.videoList[id][2],
                    atts = {id: "myytplayer"};

                $('#video_box').show();    
                $('#video_content').html('<div id="video_caja"></div>');                
                $('#imagen_superior_video').removeClass().addClass(clase);
                
                swfobject.embedSWF("http://www.youtube.com/v/"+ codigo +"", 
                "video_caja", "563", "344", "8", null, null, params, atts);
                
                $('.toolbox').hide();
                $('#toolbox_' + id).show();                           
                                            
                
            });
            
            
           $('#cerrar_video').live('click', function(){
               $('#video_content').html('');
               $('#video_box').hide();
           });
           
            $('.cerrar_video_pre').live('click', function(){
               $('#recetas_pre_img').css('visibility', 'visible');
           });
           
        }
}

var flashPopup = {
    
    load: function(){
        this.flashPopup();
        this.bannerClick();
    },
    
    flashPopup : function(){        
        if($.cookie('popup') === null){            
            var params = {}; 
            params.wmode = "transparent";                
            swfobject.embedSWF(path + "images/popup.swf", "flash", "600", "700", "9.0.0", params, params, params);
            this.openDialog();
            $.cookie('popup', '1', {expires: 365});
        }             
    },

    openDialog: function(){
        $( "#dialog-modal" ).dialog({
            width: 680,
            height: 800,
            modal: true,
            closeText: ' ',
            close: function(){
                try{
                    window['video'].playVideo();
                }catch(err){
                    //Handle errors here
                }                                    
            },
            open: function(){
                 $('.ui-widget-overlay').css('width', '100%');
            }
        });

        $('.ui-dialog-titlebar-close').html('<img src="' + path + 'images/close.gif" width="20" height="20"/>');
        try{
            window['video'].pauseVideo();
        }catch(err){
            //Handle errors here
        } 
    },

    bannerClick: function(){
        var $this = this;
        $('#destacado-tapas').live('click', function(){           
            $.cookie('popup', null);
            $this.flashPopup();  
        });           
    },

    clearCookie: function(){
        $.cookie('popup', null);
    }
}

$(document).ready( function(){
	GENERAL.load();
    $body = $('body');
    
    if($body.hasClass('seccion-pre')) {
        ProductosBanner.load();
        flashPopup.load();
    }
    
    if($body.hasClass('subseccion-receta')){
        ProductosBanner.load();
        Videos.load();
    }
    
    if($body.hasClass('subseccion-productos')){
        if($('#centro').hasClass('productos-list')){
            Productos.listLoad();
        }else{
            Productos.load();
        }        
    }
    
    if($body.hasClass('subseccion-visitanos')){
        Formulario.load();
    }
    
});
