// JavaScript Document
// Declaración de variables y objetos
var newWindow = ''
var z = -1
var tr_z = 9999
var numColumnas = 4

//Array con el nombre de los grupos
var myArrayNames = new Array();
	
//Array qcon los enlaces de los grupos
var myArrayLinks = new Array();
		
//Función para dibujar el Menú dinamicamente
//esta función recibe el número que indica el grupo que queremos visualizar
function creaMenu(nomGrupo, numSubGrupo)
{
	//la variable nomGrupo que recibimos nos sirve para construir los Arrays
	//la variable numSubGrupo que recibimos nos sirve para indicar que fila está desplegada
	
	//En caso de que un grupo contenga diferentes subgrupos deberemos poner el principal el primero del Array 
	//Y a continuación poner todos los subrgrupos (Ver myArrayNames[1])
	
	//Cada enlace que añadamos debe coincidir en posición con el nombre del grupo o subgrupo creado anteriormente
	switch (nomGrupo)
	{
		case "opub":
			myArrayNames[0] = new Array("Maquinaria de excavación", "Mini cargadoras", "Mini excavadoras", "Palas cargadoras", "Retro giratorias", "Bulldozers", "Varios")
			myArrayNames[1] = new Array("Maquinaria de compactación y nivelación", "Compactadoras", "Niveladoras")	
			myArrayNames[2] = new Array("Vehículos de transporte y acarreo", "Dumpers extraviales", "Lagartos")	
			myArrayNames[3] = new Array("Maquinaria de asfalto")	
			myArrayNames[4] = new Array("Varios")
			myArrayNames[5] = new Array("Maquinaria nueva")
			
			myArrayLinks[0] = new Array("javascript:muestraFila(0,\"fila\")", "../mexcavacion/mini_cargadoras.asp", "../mexcavacion/mini_excavadoras.asp", "../mexcavacion/palas_cargadoras.asp", "../mexcavacion/retro_giratorias.asp","../mexcavacion/bulldozers.asp", "../mexcavacion/varios.asp")
			myArrayLinks[1] = new Array("javascript:muestraFila(1,\"fila\")", "../mcompactacion/compactadoras.asp", "../mcompactacion/niveladoras.asp")	
			myArrayLinks[2] = new Array("javascript:muestraFila(2,\"fila\")", "../vtransporte/dumpers.asp", "../vtransporte/lagartos.asp")	
			myArrayLinks[3] = new Array("../masfalto/masfalto.asp")	
			myArrayLinks[4] = new Array("../varios/varios.asp")		
			myArrayLinks[5] = new Array("../mnueva/mnueva.asp")

			break;
			
		case "reciclaje":
			myArrayNames[0] = new Array("Equipos de cribado fijos")
			myArrayNames[1] = new Array("Equipos de cribado móviles")	
			myArrayNames[2] = new Array("Plantas móviles de machaqueo")				
			myArrayNames[3] = new Array("Cucharas trituradoras MB", "Información de los modelos", "Descripción general", "Caracterísitcas técnicas")			
			myArrayNames[4] = new Array("Varios")
			myArrayNames[5] = new Array("Maquinaria nueva")
			
			myArrayLinks[0] = new Array("../efijos/efijos.asp")
			myArrayLinks[1] = new Array("../ecribados/ecribados.asp")
			myArrayLinks[2] = new Array("../pmoviles/pmoviles.asp")	
			myArrayLinks[3] = new Array("javascript:muestraFila(3,\"fila\")", "../mb/info_modelos.asp", "../mb/descripcion.htm", "../mb/caracteristicas.htm")	
			myArrayLinks[4] = new Array("../varios/varios.asp")			
			myArrayLinks[5] = new Array("../mnueva/mnueva.asp") 
		
			break
			
		case "mamb":
			myArrayNames[0] = new Array("Barredoras nuevas")
			myArrayNames[1] = new Array("Barredoras de ocasión")
			myArrayNames[2] = new Array("Aspiradoras de RSU")
			myArrayNames[3] = new Array("Barredoras industriales")
			
			myArrayLinks[0] = new Array("../barredoras_nuevas/barredoras_nuevas.asp")
			myArrayLinks[1] = new Array("../barredoras_ocasion/barredoras_ocasion.asp")
			myArrayLinks[2] = new Array("../aspiradoras/aspiradoras.asp")
			myArrayLinks[3] = new Array("../varios/varios.asp")	
		
			break
		
		case "geotecnica":
			myArrayNames[0] = new Array("Jaulas")
			myArrayNames[1] = new Array("Procesos de relleno y compactación")	
			myArrayNames[2] = new Array("Utilidades")
			myArrayNames[3] = new Array("RAWESPAIN - Galería fotográfica")
			myArrayNames[4] = new Array("RAWESPAIN - Comparación con sistema tradicional")
			
			myArrayLinks[0] = new Array("../jaulas/jaulas.htm")
			myArrayLinks[1] = new Array("../procesos/procesos.htm")
			myArrayLinks[2] = new Array("../utilidades/utilidades.htm")
			myArrayLinks[3] = new Array("../rawespain/rawespain.htm")
			myArrayLinks[4] = new Array("../rawespain/comparacion.htm")
			
			break
			
		case "alquileres":
			myArrayNames[0] = new Array("Trituración y reciclaje")
			myArrayNames[1] = new Array("Limpieza urbana e industrial")	
			myArrayNames[2] = new Array("Asfalto")
			myArrayNames[3] = new Array("Equipos para obras")
			
			myArrayLinks[0] = new Array("../trituracion/trituracion.asp")
			myArrayLinks[1] = new Array("../limpieza/limpieza.asp")
			myArrayLinks[2] = new Array("../asfalto/asfalto.asp")
			myArrayLinks[3] = new Array("../equipos_obras/equipos_obras.asp")
			
			break
	
		default:
	}
	
	//variables
	var i,j;
	
	//variables para definir el estilo de las celdas
	var claseCelda
	
	//a partir de aqui pintamos la tabla
	document.write("<td class='fondo_menu' width='250px' valign='top'>")
	document.write("<table cellpading='0' cellspacing='0' border='0' width='100%'>")
	
	
	for (i=0; i < myArrayNames.length; i++)
	{
		
		//coloreamos diferente el grupo seleccionado
		if (i == numSubGrupo)
		{
			document.write("<tr class='fondo_menu_seleccionado'>")
		}
		else
		{
			document.write("<tr class='fondo_menu'>")
		}
		
		document.write("<td class='celda'>")
		document.write("<table cellpading='0' cellspacing='0' border='0' width='100%'>")
		document.write("<tr>")
				
		//Aqui controlamos si el grupo tiene subgrupos
		//En este primer caso no tiene
		if (myArrayNames[i].length <= 1)
		{
			document.write("<td valign='top' width='15px'><img src='../../img/arrow_right_green.gif' border='0'></td>")
			document.write("<td valign='top' class='subtitulo_verde'><a href='" + myArrayLinks[i] + "' target='_self' class='enlace_verde'>" + myArrayNames[i] + "</a></td>")
		}
		//En este caso si que tiene
		else
		{
			//Recorremos el Array y vamos dibujando el menu
			for(j=0; j <= myArrayNames[i].length; j++)
			{
				if (j == 0)
				{
					if (numSubGrupo == i)
					{
							document.write("<td valign='top' width='15px'><img src='../../img/arrow_down_green.gif' border='0' id='img" + i + "' name='img" + i + "'></td>")
					}
					else
					{
							document.write("<td valign='top' width='15px'><img src='../../img/arrow_right_green.gif' border='0' id='img" + i + "' name='img" + i + "'></td>")
					}
					document.write("<td valign='top' class='subtitulo_verde'><a href='" + myArrayLinks[i][j] + "' target='_self' class='enlace_verde'>" + myArrayNames[i][j] + "</a></td>")
					document.write("</td>")
					document.write("</tr>")
					document.write("<tr>")
					document.write("<td></td>")
					document.write("<td>")
					document.write("<table cellpading='0' cellspacing='0' border='0' width='100%'>")
				}
				else if(j < myArrayNames[i].length)
				{
					if (numSubGrupo == i)
					{
						document.write("<tr id='fila" + i + j + "' name='fila" + i + j + "' style='display:;'>")
					}
					else
					{
						document.write("<tr id='fila" + i + j + "' name='fila" + i + j + "' style='display:none;'>")
					}
					
					document.write("<td valign='top' class='celda_pequenya' width='5px'><img src='../../img/round.gif' border='0'></td>")
					document.write("<td valign='top' class='celda_pequenya'>")
					document.write("<span class='normal'><a href='" + myArrayLinks[i][j] + "' target='_self' class='enlace_normal'>" + myArrayNames[i][j] + "</a></span>")
					document.write("</td>")
					document.write("</tr>")
					
				}
				else
				{
					document.write("</table>")	
				}
			}
		}
		
		document.write("</tr>")
		document.write("</table>")
		document.write("</td>")
		document.write("</tr>")
		document.write("<tr>")
		document.write("<td class='fondo_separador_horizontal' colspan='2'></td>")
		document.write("</tr>")
	}
	
	document.write("</table>")
	document.write("</td>")
}

//Función para abrir un popUp donde mostrar las imágenes
//esta función recibe el nombre de la imagen que desea mostrar
function openImage(rutaImagen)
{
	//Creamos una variable para poder obtener las medidas de la imagen que vamos a mostrar	
	var newImg = new Image()
	newImg.src = "../../img/" + rutaImagen
	//Colocamos el popup justo enfrente de la pantalla
	//Para hacerlo tenemos que realizar los siguientes calculos
	//posicion horizontal
	var x = screen.width
	x = x / 2
	x = x - (900 / 2)
	//posicion vertical
	var y = screen.height
	y = y / 2
	y = y - (700 / 2)
	
	if (!newWindow.closed && newWindow.location)
	{
		newWindow.close();
	}
	
	newWindow = window.open(rutaImagen, 'Imagen', 'scrollbars=auto,toolbar=no,status=no,resizable=yes, width=900px, height=700px, top=' + y + ', left=' + x + '');
	
	//Al asignarle un nombre al popUp hacemos que las imágenes siempre se abran en la misma ventana
	//De esta manera evitamos tener múltiples ventanas abiertas
	newWindow.name = "Imagen";
	
	//Finalmente la mostramos
	newWindow.focus();
}

//Función para abrir un popUp donde mostrar los documentos
//esta función recibe el nombre del documento que desea abrir
function openDocument(rutaDocumento)
{
	//Abrimos una ventana del tamaño de la pantalla
	window.open(rutaDocumento, 'Documento', 'scrollbars=yes,toolbar=no,status=no,resizable=yes, width=' + (screen.width - (12 % screen.width)) +', height='+ (screen.height - (45 % screen.height)) +', top=0, left=0');
	
}

//Función para validar los formularios
//esta función recibe el nombre del formulario que hay que validar
function validaFormulario(nombreFormulario)
{
	//para todos los campos obligatorios controlaremos:
	//1.- que se haya introducido información
	//2.- que la información introducida sea correcta (telefono y fax solo admiten números)
	
	var formulario = document.getElementById(nombreFormulario)
	
	if(comprobarCamposVacios(formulario.Nombre.value))	
	{
		alert("El campo Nombre es obligatorio")
		formulario.Nombre.focus();
	}
	else if(comprobarCamposVacios(formulario.Apellidos.value))
	{
		alert("El campo Apellidos es obligatorio")
		formulario.Apellidos.focus();
	}
	else if(comprobarCamposVacios(formulario.Empresa.value))
	{
		alert("El campo Empresa es obligatorio")
		formulario.Empresa.focus();
	}
	
	else if(comprobarCamposVacios(formulario.Telefono.value))
	{
		alert("El campo Teléfono es obligatorio")
		formulario.Telefono.focus();
	}
	else if(!comprobarNumericos(formulario.Telefono.value))
	{
		alert("El formato del campo Teléfono es incorrecto")
		formulario.Telefono.focus();
	}
	else if(comprobarCamposVacios(formulario.Email.value))
	{
		alert("El campo E-mail es obligatorio")
		formulario.Email.focus();
	}
	else if(!comprobarEmail(formulario.Email.value))
	{
		alert("El formato del campo E-mail es incorrecto")
		formulario.Email.focus();
	}
	else if(comprobarCamposVacios(formulario.Comentario.value))
	{
		alert("El campo Comentario es obligatorio")
		formulario.Comentario.focus();
	}
	else
	{
		formulario.submit();
	}

}

//Función para comprobar que el texto introducido es numérico
//esta función recibe el valor que quiere ser comprobado
function comprobarNumericos(camp)
{
	var pattern,esNumero,caracter

	pattern="1234567890"
	esNumero=false

	for(i=0;i<camp.length;i++)
	{
		esNumero=false
		for(j=0;j<pattern.length;j++)
		{
			if(camp.charAt(i)==pattern.charAt(j))
			{
				esNumero=true
				break
			}
		}
		if(esNumero==false)
		{
			break
		}
	}
	return esNumero
}

//Función para comprobar que el texto introducido no es en blanco
//esta función recibe el valor que quiere ser comprobado
function comprobarCamposVacios(camp)
{
	var blancos
	blancos=true
		
	for(i=0;i<camp.length;i++)
	{
		if(camp.charAt(i)!=" ")
		{
			blancos=false
		}
	}
	return blancos
}

//Función para comprobar que el email introducido tiene un formato correcto
//esta función recibe el valor que quiere ser comprobado
function comprobarEmail(mail)
{
	var objRegExpr = new RegExp()
	var res

	objRegExpr.compile("^[-a-zA-Z0-9_.]+@[-a-zA-Z0-9.]+\.[a-zA-Z]{2,4}$")
	objRegExpr.global = true
	objRegExpr.ignoreCase = false
	res=objRegExpr.test(mail)
	return res
}

//Función para desplegar filas ocultas
//A partir del número de fila mostramos todos las filas ocultas que tenga
function muestraFila(numeroFila, nombreFila)
{
	//variables
	var i;

	//para poder utilizar está funcion con diferentes grupos de filas diferenciamos nombreFila
	//si nombreFila = fila entonces serán filas del menú
	//aunque en este caso las únicas filas que ocultaremos/mostraremos sean las del menu dejamos la funcion SWITCH
	//por si se desean ocultar/mostrar otro tipo de filas de la página
	switch(nombreFila)
	{
		case("fila"):
		{
			for (i=0; i < myArrayNames.length; i++)
			{
				if (myArrayNames[i].length > 1)
				{
					//esto solo lo haremos la primera vez
					if (z == -1)
					{
						z = numeroFila	
					}
					
					if ( i != numeroFila )
					{
						if (document.getElementById("fila" + i + "1").style.display == "")
						{
							//ocultamos las filas
							for(j=1; j < myArrayNames[i].length; j++)
							{
								document.getElementById("fila" + i + j ).style.display = "none"
							}
							
							//cambiamos la imagen de la flechas
							document.getElementById("img" + i).src = "../../img/arrow_right_green.gif"
							
						}
					}
					else
					{
						if (z != numeroFila)
						{
							for(j=1; j < myArrayNames[i].length; j++)
							{
								document.getElementById("fila" + i + j).style.display = ""	
							}
							
							//cambiamos la imagen de la flechas
							document.getElementById("img" + i).src = "../../img/arrow_down_green.gif"
						
							//asignamos el numero de Fila a la z para la próxima vez
							z = numeroFila
						}
						else
						{
							var y 
							
							for(j=1; j < myArrayNames[i].length; j++)
							{
								if (document.getElementById("fila" + i + j).style.display == "none")
								{
									document.getElementById("fila" + i + j).style.display = ""
									y = 0 
								}
								else
								{
									document.getElementById("fila" + i + j).style.display = "none"	
									y = 1
								}
							}
							
							//cambiamos la imagen de la flechas
							if (y == 0)
							{
								document.getElementById("img" + i).src = "../../img/arrow_down_green.gif"
							}
							else
							{
								document.getElementById("img" + i).src = "../../img/arrow_right_green.gif"						
							}
						}
					}
				}
			}
			break;
		}
	}
}

//Función para habilitar los objetos flash
function enableFlash()
{
	objects = document.getElementsByTagName("object");
	for (var i = 0; i < objects.length; i++)
	{
    	objects[i].outerHTML = objects[i].outerHTML;
	}
}

//Funcion que sirve para mostrar un pop-up con información para alquiler
function info_alquiler()
{
	alert("Consúltenos por teléfono (93.663.02.10), fax (93.663.12.66) o email (comercial@ciall-lebrero.com).");
}