/*
*	Lista de navegadores malnacidos
*/
var ie52mac = (
	navigator.userAgent.indexOf('MSIE 5.2') != -1 &&
	navigator.userAgent.indexOf('Mac') != -1
);
/*
*	Funciones DHTML compatibles con el estándar DOM
*/
// Función para obtener el valor de un estilo dado el id del elemento
function getStyleById(id, style)
{
	var elm = document.getElementById(id);
	return getStyle(elm, style);
}
// Función para obtener el valor de un estilo dado el elemento
function getStyle(elm, style)
{
	if(typeof(document.defaultView) == 'object') return document.defaultView.getComputedStyle(elm, null).getPropertyValue(style);
	else if(elm.currentStyle) return elm.currentStyle[style];
}
// Función para establecer el valor de un estilo dado el id del elemento
function setStyleById(id, style, value)
{
	var elm = document.getElementById(id);
	setStyle(elm, style, value);
}
// Función para establecer el valor de un estilo dado el elemento
function setStyle(elm, style, value)
{
	elm.style[style] = value;
}
/*
*	Función para inicializar diferentes módulos
*/
var window_onload = [];
window.onload = function()
{
	for(var i in window_onload) {
		eval(window_onload[i]);
	}
}
/*
*	Activar el boton del menú
*/
function MenuInit()
{
	if(typeof(activar) != 'undefined') {
		var elm = document.getElementById('menu' + activar + 'bot');
		elm.className = 'on';
	}
}
window_onload[window_onload.length] = 'MenuInit()';
/*
*	Funciones para Rollovers
*/
// Función para inicializar los rollovers
function RollInit()
{
	var imgs = document.getElementsByTagName('IMG');
	for(var i = 0; i != imgs.length; ++i) {
		if(/(\w+)ROLL$/.test(imgs[i].id)) {
			var roll_id = RegExp.$1;
			if(/(\w+)FOTO$/.test(roll_id)) {
				// ...
			} else {
				var elm = imgs[i];
				elm.img_over = new Image();
				elm.img_over.src = elm.src.replace(/(.gif|.jpg|.png)$/, '_over$1');
				elm.img_orig = new Image();
				elm.img_orig.src = elm.src;
				if(/(\w+)MENU$/.test(roll_id)) {
					elm.MyRollOver = RollOver;
					elm.MyRollOut = RollOut;
				} else {
					elm.onmouseover = RollOver;
					elm.onmouseout = RollOut;
				}
			}
		}
	}
}
window_onload[window_onload.length] = 'RollInit()';

// Función para hacer rollover de una imagen
function RollOver()
{
	this.src = this.img_over.src;
}
// Función para restaurar una imagen
function RollOut()
{
	this.src = this.img_orig.src;
}
function setOpacityById(id, alfa)
{
	var elm = document.getElementById(id);
	return setOpacity(elm, alfa);
};
function setOpacity(elm, alfa)
{
	if(alfa == 0) {
		elm.style.visibility = 'hidden';
	} else if(elm.style.visibility == 'hidden') {
		elm.style.visibility = 'inherit';
	}
	if(typeof(elm.style.opacity) != 'undefined') elm.style.opacity = (alfa == 1) ? '0.999' : alfa;
	else if(typeof(elm.style.MozOpacity) != 'undefined') elm.style.MozOpacity = (alfa == 1) ? '0.999' : alfa;
	else if(typeof(elm.style.KhtmlOpacity) != 'undefined') elm.style.KhtmlOpacity = alfa;
	else if(!ie52mac && typeof(elm.style.filter) != 'undefined') elm.style.filter = (alfa == 1) ? '' : 'alpha(opacity=' + (alfa*100) + ')';
};
function BlendById(id, alfa0, alfa1)
{
	var elm = document.getElementById(id);
	return Blend(elm, alfa0, alfa1);
};
var blend_elm = null;
var blend_alfa1 = 0;
var blend_tmr = null;
var blend_t = 50;
function Blend(elm, alfa0, alfa1)
{
	if(blend_tmr) {
		clearTimeout(blend_tmr);
		blend_tmr = null;
	}
	if(blend_elm) {
		setOpacity(blend_elm, blend_alfa1);
	}
	blend_elm = elm;
	blend_alfa1 = alfa1;
	blend_tmr = setTimeout('cicloBlend(' + alfa0 + ')', blend_t);
};
function cicloBlend(alfa0)
{
	blend_tmr = null;
	if(blend_elm) {
		setOpacity(blend_elm, alfa0);
		var tmp = 0.333 * (blend_alfa1 - alfa0);
		if(Math.abs(tmp) <= 0.01) {
			setOpacity(blend_elm, blend_alfa1);
			blend_elm = null;
		} else {
			alfa0 += tmp;
			blend_tmr = setTimeout('cicloBlend(' + alfa0 + ')', blend_t);
		}
	}
};
/*
	Función para abrir una ventana. Puede recibir los siguientes parámetros:

	url	-> Página web que mostrará la ventana. Por defecto página en blanco. Ejemplo: 'aviso.phpl'.
	target	-> Ventana en la que se abrirá la url. Por defecto en una nueva ventana cada vez. Ejemplo: '_blank'.
	width	-> Ancho en píxeles de la ventana. Por defecto 250 píxeles. Ejemplo: 300
	height	-> Alto en píxeles de la ventana. Por defecto 250 píxeles. Ejemplo: 125
	left	-> Distancia en píxeles al borde izquierdo de la pantalla. Por defecto centrada horizontalmente. Ejemplo: 100
	top	-> Distancia en píxeles al borde superior de la pantalla. Por defecto centrada verticalmente. Ejemplo: 100
	resizable	-> Indica si el usuario puede modificar el tamaño de la ventana. Por defecto no. Ejemplo: 'yes' o true
		Valores posibles: 'yes', 'no', '1', '0', true, false.
	scrollbars	-> Indica si la ventana tendrá barras de scroll. Por defecto no. Ejemplo: 'no' o false
		Valores posibles: 'yes', 'no', '1', '0', true, false.

	Poner un parámetro a null o no pasarlo es lo mismo.

	Ejemplo:

	// Abrir aviso.phpl en una nueva ventana, con tamaño 250x125, centrada horizontalmente
	// pero a 100 píxeles del borde superior.

	AbrirVentana('aviso.php', '_blank', 250, 125, null, 100);
*/
function AbrirVentana(url, target, width, height, left, top, resizable, scrollbars)
{
	if(typeof(url) == 'undefined' || url == null) url = '';
	if(typeof(target) == 'undefined' || target == null) target = '';

	if(typeof(width) == 'undefined' || width == null) width = 275;
	if(typeof(height) == 'undefined' || height == null) height = 275;

	if(typeof(window.screen) == 'undefined') {
		var sw = 800;
		var sh = 600;
	} else {
		var sw = window.screen.width;
		var sh = window.screen.height;
	}

	if(typeof(left) == 'undefined' || left == null) left = Math.round(0.5 * (sw - width));
	if(typeof(top) == 'undefined' || top == null) top = Math.round(0.5 * (sh - height));

	if(typeof(resizable) == 'undefined' || resizable == 'no' || !resizable) resizable = 0;
	else resizable = 1;

	if(typeof(scrollbars) == 'undefined' || scrollbars == 'no' || !scrollbars) scrollbars = 0;
	else scrollbars = 1;

	var win = window.open(url, target, 'left=' + left + ',top=' + top + ',width=' + width + ',height=' + height + ',directories=0,location=0,menubar=0,resizable=' + resizable +',scrollbars=' + scrollbars + ',status=0,toolbar=0');
	win.focus();
}
/*
*	Funciones auxiliares comúnmente usadas
*/
// Función para mostrar un elemento
function Muestra(id)
{
	setStyleById(id, 'visibility', 'inherit');
}
// Función para ocultar un elemento
function Oculta(id)
{
	setStyleById(id, 'visibility', 'hidden');
}

// Función para ir a una url
function IrA(url)
{
	location.href = url;
};
// Función para los combos que saltan a urls
function Saltar(elm)
{
	var url = elm[elm.selectedIndex].value;
	if(url == '') elm.selectedIndex = 0;
	else location.href = url;
}
/*
*	Funciones para chequear formularios
*/
var errores = '';
function ValidarRequerido(campo, titulo, formulario)
{
	if(typeof(formulario) == 'undefined') formulario = 'formulario';
	var form = document.getElementById(formulario);
	if(form[campo].value == '') {
		if(errores == '') form[campo].focus();
		errores += '- ' + titulo + '.\n';
		setStyle(form[campo], 'backgroundColor', '#ffc0f5');
		setStyle(form[campo], 'color', '#000');
	} else {
		setStyle(form[campo], 'backgroundColor', '');
		setStyle(form[campo], 'color', '');
	}
};
function ValidarRequerido2(campo, titulo, formulario, esSelect)
{
	var isSelect = esSelect || false;
	if(typeof(formulario) == 'undefined') formulario = 'formulario';
	var form = document.getElementById(formulario);
	if(form[campo].value == '' && !isSelect || form[campo].value == 0 && isSelect) {
		if(errores == '') form[campo].focus();
		errores += '- ' + titulo + '.\n';
		setStyle(form[campo], 'backgroundColor', '#ffc0f5');
		setStyle(form[campo], 'color', '#000');
	} else {
		setStyle(form[campo], 'backgroundColor', '');
		setStyle(form[campo], 'color', '');
	}
};
function ValidarEmail(campo, titulo, formulario)
{
	if(typeof(formulario) == 'undefined') formulario = 'formulario';
	var form = document.getElementById(formulario);
	if(form[campo].value == '' || !isEmail(form[campo].value)) {
		if(errores == '') form[campo].focus();
		errores += '- ' + titulo + '.\n';
		setStyle(form[campo], 'backgroundColor', '#ffc0f5');
		setStyle(form[campo], 'color', '#000');
	} else {
		setStyle(form[campo], 'backgroundColor', '');
		setStyle(form[campo], 'color', '');
	}
};
// Función para comprobar el formato de una dirección de correo
function isEmail(str) {
	// are regular expressions supported?
	var supported = 0;
	if(window.RegExp) {
		var tempStr = 'a';
		var tempReg = new RegExp(tempStr);
		if(tempReg.test(tempStr)) supported = 1;
	}
	if(!supported) return (str.indexOf('.') > 2) && (str.indexOf('@') > 0);
	var r1 = new RegExp('(@.*@)|(\\.\\.)|(@\\.)|(^\\.)');
	var r2 = new RegExp('^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$');
	return (!r1.test(str) && r2.test(str));
};
// Función para comprobar el formato de la fecha: dia/mes/año (año >= 1970)
function CheckDate(fecha){
	if(fecha == '' || fecha == null) return(2);
	fecha_date = fecha.match(/^(\d+)\/(\d+)\/(\d+)$/);
	if(fecha_date == '' || fecha_date == null ) return(0);
	fecha_dia = Number(fecha_date[1]);
	fecha_mes = Number(fecha_date[2]);
	fecha_ano = Number(fecha_date[3]);
	if(isNaN(fecha_dia) || isNaN(fecha_mes) || isNaN(fecha_ano)) return(0);
	if(fecha_ano > 70 && fecha_ano <= 99 ) fecha_ano = fecha_ano + 1900
	if(fecha_ano < 1970 || fecha_ano > 9999) return(0);
	if(fecha_ano % 4 == 0) bisiesto = true; // año bisiesto
	else bisiesto = false;
	if(fecha_mes == 2) {
		if(!bisiesto) {
			if(fecha_dia > 28 || fecha_dia < 1) return (0);
		} else {
			if(fecha_dia > 29 || fecha_dia < 1) return (0);
		}
	} else if(fecha_mes==1 || fecha_mes==3 || fecha_mes==5 || fecha_mes==7 || fecha_mes==8 || fecha_mes==10 || fecha_mes==12) {
		if(fecha_dia > 31 || fecha_dia < 1) return (0);
	} else if(fecha_mes==9 || fecha_mes==4 || fecha_mes==6 || fecha_mes==11) {
		if(fecha_dia > 30 || fecha_dia < 1) return (0);
	} else return (0);
	return(1);
};

function CheckTime(str)
{
	hora = str;
	if (hora=='') return(0);
	if (hora.length > 5) return(0);
	a = hora.charAt(0); //<=2
	b = hora.charAt(1); //<4
	c = hora.charAt(2); //:
	d = hora.charAt(3); //<=5
	if ((a==2 && b>3) || (a>2)) return(0);
	if (d>5) return(0);
	if (c!=':') return(0);
	return(1);
}

function replaceAll( str, from, to ) {
    var idx = str.indexOf( from );

    while ( idx > -1 ) {
        str = str.replace( from, to );
        idx = str.indexOf( from );
    }

    return str;
}



// Funcion para establecer el valor de un estilo a una clase
function setStyleByClass(t,c,p,v){
  var elements;
  if(t == '*') {
    // '*' not supported by IE/Win 5.5 and below
    elements = (ie) ? document.all : document.getElementsByTagName('*');
  } else {
    elements = document.getElementsByTagName(t);
  }
  for(var i = 0; i < elements.length; i++){
    var node = elements.item(i);
    for(var j = 0; j < node.attributes.length; j++) {
      if(node.attributes.item(j).nodeName == 'class') {
        if(node.attributes.item(j).nodeValue == c) {
          eval('node.style.' + p + " = '" +v + "'");
        }
      }
    }
  }
}


function getStyleByClass(t, c, p) {
      // first loop over elements, because if they've been modified they
      // will contain style data more recent than that in the stylesheet
      var elements;
      if(t == '*') {
            // '*' not supported by IE/Win 5.5 and below
            elements = (ie) ? document.all : document.getElementsByTagName('*');
      } else {
            elements = document.getElementsByTagName(t);
      }
      for(var i = 0; i < elements.length; i++){
            var node = elements.item(i);
            for(var j = 0; j < node.attributes.length; j++) {
                  if(node.attributes.item(j).nodeName == 'class') {
                        if(node.attributes.item(j).nodeValue == c) {
                              var theStyle = eval('node.style.' + p);
                              if((theStyle != "") && (theStyle != null)) {
                                    return theStyle;
                              }
                        }
                  }
            }
     }
    }

function AbrirMicroEdiss(campo)
{
	microediss_campo = document.getElementById(campo);
	AbrirVentana('editar', 'microediss', 760, 560);
};


function Validar_usuario_noticias()
{
	var errores='';

	if(document.getElementById('usuario').value=='Usuario')
		errores= errores+'- Introduce usuario\n';
	if(document.getElementById('password').value=='Contraseña')
		errores=errores+'- Introduce contraseña\n';

	if(errores=='')
	{
		document.getElementById('accion').value = 'registrar';
		document.acceso.submit();
	}
	else
		alert('Debes introducir una dirección de correo válida:\n\n');
}


function Olvido_contrasena()
{
	setStyleById('form_olvido', 'display', 'block');
}
/****Validar usuario derecha ****************************/
function Validar_usuario_derecha()
{
	var errores='';

	if(document.getElementById('usuario').value=='Usuario')
		errores= errores+'- Introduce usuario\n';
	if(document.getElementById('password').value=='Contraseña')
		errores=errores+'- Introduce contraseña\n';

	if(errores=='')
	{
		return true;
	}
	else
		{
		alert('Debes introducir una dirección de correo válida');
		return false;
	}
}


function ValidarOlvidoForm()
{
	errores = '';

	ValidarEmail('frm_email_olvido', 'Email', 'olvido_contrasena');

	if(errores == '') return true;
	else {
		alert('Antes de poder enviar el formulario debe corregir lo siguiente:\n\n' + errores);
		return false;
	}
}


function TamVentana() {
  var Tamanyo = [0, 0];
  if (typeof window.innerWidth != 'undefined')
  {
    Tamanyo = [
        window.innerWidth,
        window.innerHeight
    ];
  }
  else if (typeof document.documentElement != 'undefined'
      && typeof document.documentElement.clientWidth !=
      'undefined' && document.documentElement.clientWidth != 0)
  {
 Tamanyo = [
        document.documentElement.clientWidth,
        document.documentElement.clientHeight
    ];
  }
  else   {
    Tamanyo = [
        document.getElementsByTagName('body')[0].clientWidth,
        document.getElementsByTagName('body')[0].clientHeight
    ];
  }
  return Tamanyo;
}


/********** precarga de las imagenes del menu ************/

function precarga_imagenes(nivel)
{

	var img = new Image();
	img.src = nivel+"images/loading.gif";

	var img2 = new Image();
	img2.src = nivel+"images/bot_contacto.gif";

	var img3 = new Image();
	img3.src = nivel+"images/bot_condiciones.gif";

	var img4 = new Image();
	img4.src = nivel+"images/bot_mapa.gif";

	var img5 = new Image();
	img5.src = nivel+"images/bot_area_cliente.gif";

	var img6 = new Image();
	img6.src = nivel+"images/bot_shop_english.gif";

	var img7 = new Image();
	img7.src = nivel+"images/bot_tienda_online.gif";

	var img8 = new Image();
	img8.src = nivel+"images/logo.gif";

	var img9 = new Image();
	img9.src = nivel+"images/bot_quienes_somos.gif";

	var img10 = new Image();
	img10.src = nivel+"images/bot_lsf.gif";

	var img11 = new Image();
	img11.src = nivel+"images/bot_noticias.gif";

	var img12 = new Image();
	img12.src = nivel+"images/bot_amigos.gif";

	var img13 = new Image();
	img13.src = nivel+"images/bot_resenas.gif";

	var img14= new Image();
	img14.src = nivel+"images/bot_aula_formacion.gif";

	var img15 = new Image();
	img15.src = nivel+"images/telefono.gif";

}


function precarga_cargando(nivel)
{
	var img = new Image();
	img.src = nivel+"images/loading.gif";
}


function provincia_necesaria(id_pais,nombre)
{
//	alert(id_pais);

	if(id_pais !=66)
	{

		 $(nombre).attr('disabled',true);
	}
	else
		 $(nombre).attr('disabled',false);


}

/**************calculadora*******************************/
function provincia_necesaria_calculadora(id_pais,nombre)
{
	$("#texto_pais").removeClass("rojo");
	$("#texto_provincia").addClass("rojo");


	if(id_pais !=66)
	{
		 $(nombre).attr('disabled',true);
		 $("select#provincia_calculadora").css("display","none");
		 $("#capa_provincia_peso").css("display","block");

	}
	else
	{
	  $(nombre).attr('disabled',false);
	  $("select#provincia_calculadora").css("display","block");
	  $("#parrafo_provincia").css("display","block");
	  $("#capa_provincia_peso").css("display","none");
	  document.getElementById("resultado_calculadora").innerHTML="";

	}


}

function sacar_peso(id_provincia, idioma)
{

	if(idioma=="")
		var texto_idioma = "<p><span class='coste_calculadora'>Portes: </span><span class='precio_calculadora'>10,00 &#8364;</span></p><p><span class='nota_calculadora'>* Gastos de pago por contrarrembolso no inclu&iacute;dos.</span></p>";
		//var texto_idioma = "<p><span class='coste_calculadora'>Portes: </span><span class='precio_calculadora'>10,00 &#8364;</span></p><p><span class='nota_calculadora'>* Gastos de pago por contrarrembolso no inclu&iacute;dos.</span></p><p><span class='nota_superior'>Para compras superiores a <span class='rojo_gratis' >90&#8364;</span>, gastos de env&iacute;o y contrarrembolso <span class='rojo_gratis'>GRATUITOS</span></span></p>";
	else
		var texto_idioma = "<p><span class='coste_calculadora'>Costs: </span><span class='precio_calculadora'>10,00 &#8364;</span></p><p><span class='nota_calculadora'>* Payment on delivery costs not included.</span></p>";
		//var texto_idioma = "<p><span class='coste_calculadora'>Costs: </span><span class='precio_calculadora'>10,00 &#8364;</span></p><p><span class='nota_calculadora'>* Payment on delivery costs not included.</span></p><p><span class='nota_superior'>For purchases over <span class='rojo_gratis' >90&#8364;</span>, shipping and payment delivery costs <span class='rojo_gratis'>FREE</span></span></p>";

	if(id_provincia == 1 || id_provincia == 3 || id_provincia == 51 || id_provincia == 52 )
	{
		$("#capa_provincia_peso").css("display","none");
		document.getElementById("resultado_calculadora").innerHTML="";
		document.getElementById("resultado_calculadora").innerHTML= texto_idioma;

	}
	else
	{
		 $("#capa_provincia_peso").css("display","block");
		 document.getElementById("resultado_calculadora").innerHTML="";
	}


}



function calculadora(id_pais, id_provincia, peso, nivel)
{
	errores='';

	ValidarRequerido('pais_calculadora','Pais','form_calculadora');

	if(document.getElementById('pais_calculadora').value==66)
		ValidarRequerido('provincia_calculadora','Provincia','form_calculadora');

	ValidarRequerido('peso_calculadora','Peso','form_calculadora');

	if(errores == '') {
		$('#resultado_calculadora').load(nivel +'capa_calculadora.php', { id_provincia_sel : id_provincia, id_pais_sel: id_pais, peso_sel: peso });
	}
	else
	{
		alert('Para registrarte necesitas completar la información siguiente:\n\n' + errores);
	}

}


/**********************************************************/

function ValidarOlvidoForm()
{
	errores = '';

	ValidarEmail('frm_email_olvido', 'Email', 'olvido_contrasena');

	if(errores == '') return true;
	else {
		alert('Debes introducir una dirección de correo válida.\n\n');
		return false;
	}
}

function disableSelection(target)
{
	alert(target);
	if (typeof target.onselectstart!="undefined") //IE route
		target.onselectstart=function(){return false}
	else if (typeof target.style.MozUserSelect!="undefined") //Firefox route
		target.style.MozUserSelect="none"
	else //All other route (ie: Opera)
		target.onmousedown=function(){return false}
	target.style.cursor = "default"
}







function desplazar_destacado_decha_visitados()
{

    var anchura_div = $("#ultimos_visitados_bg").width();
    var anchura_tabla = $("#carrousel_visitados").width() ;
    var diferencia = anchura_tabla - anchura_div;
    diferencia = diferencia+30;
    num_productos = Math.ceil((anchura_tabla)/193);
    speed= 300*(num_productos);
    if(num_productos==6)
    	speed = 100*num_productos;

    if (diferencia>0)
    {
        $("#fli_visitados").removeClass("out");
        $("#carrousel_visitados").animate( {
            left:"-"+diferencia+"px"
        }, speed, "linear", function(){

        	if(-(diferencia) == parseInt($("table#carrousel_visitados").css("left")))
        	{
    			$("#fld_visitados").addClass("out");
			}
        	} );
    }

}

function desplazar_destacado_izq_visitados()
{
	var anchura_tabla = $("#carrousel_visitados").width();

	if (parseInt($("table#carrousel_visitados").css("left")) <= 0)
    {
    	$("#fld_visitados").removeClass("out");
    }
	num_productos = Math.ceil(anchura_tabla/193);
    speed= 300*num_productos;

    if(num_productos==6)
    	speed = 100*num_productos;

    $("#carrousel_visitados").animate( {
        left:"0px"
    }, speed, "linear" );
}


function fbFetch(){
	  //Set Url of JSON data from the facebook graph api. make sure callback is set with a '?' to overcome the cross domain problems with JSON
      var url = "http://graph.facebook.com/Landhernet/feed?limit=3&callback=?";

		//Use jQuery getJSON method to fetch the data from the url and then create our unordered list with the relevant data.
		$.getJSON(url,function(json){
		    var html = "<ul class='facebook'>";
				//loop through and within data array's retrieve the message variable.
		    	$.each(json.data,function(i,fb){
		      		html += "<li><a href='http://www.facebook.com/Landhernet' target='_blank' title='Facebook'><strong class='author'>www.landher.net</strong> " + fb.message + "</a></li>";
		    	});
		    html += "</ul>";


			//A little animation once fetched
			$('.facebookfeed').animate({opacity:0}, 500, function(){

					$('.facebookfeed').html(html);

																  });

		    $('.facebookfeed').animate({opacity:1}, 500);

		});


	};
