// JavaScript Document

var ImagenFrontSpeed = 5000
var crossFadeDuration = 3
//var Pic = new Array()
//Pic[0] = '/images/foto_header_1.jpg'
//Pic[1] = '/images/foto_header_2.jpg'
//Pic[2] = '/images/foto_header_3.jpg'
//Pic[3] = '/images/foto_header_4.jpg'

if (!Pic) {
	var Pic = new Array()
}
var t
var j = 0
var p = Pic.length

var preLoad = new Array()
for (i = 0; i < p; i++){
   preLoad[i] = new Image()
   preLoad[i].src = '/images/galeria/rotativas_header/'+Pic[i];
}


function runImagenFront(){

// IE7, Mozilla, Opera
if (typeof document.body.style.maxHeight != "undefined") {
	FadeMozzImages()
} else {
// IE6, navegadores antiguos
   if (document.all){
      document.images.ImagenFront.style.filter="blendTrans(duration=2)"
      document.images.ImagenFront.style.filter="blendTrans(duration=crossFadeDuration)"
      document.images.ImagenFront.filters.blendTrans.Apply()      
   }
   	document.images.ImagenFront.src = preLoad[j].src
   if (document.all){
    document.images.ImagenFront.filters.blendTrans.Play()
   }
   j = j + 1
   if (j > (p-1)) j=0
   t = setTimeout('runImagenFront()', ImagenFrontSpeed)
}

}
var jMozz = 1
var ValorFade = 100;
function FadeMozz(opacity) { 
		
		if (ValorFade <= 0){
		 document.images.ImagenFront.src = preLoad[jMozz].src;
		 
		 j = j + 1
		 if (j > (p-1)) j=0
		 jMozz = jMozz + 1
		 if (jMozz > (p-1)) jMozz=0
		 t = setTimeout('FadeMozzImages(100)', 2000)
		 

		 
	} else {
		ValorFade = ValorFade - 6;
		t = setTimeout('FadeMozz('+ValorFade+')', 60)
	}
	
	var object=document.getElementById('ImagenFront').style; 
	object.opacity=(opacity/100); 
	object.MozOpacity=(opacity/100); 
	object.KhtmlOpacity=(opacity/100);
	object.filter="alpha(opacity="+opacity+")"; 
} 

function FadeMozzImages(opacity) {

	var object=document.getElementById('ImagenFront').style; 
	object.opacity=(opacity/100); 
	object.MozOpacity=(opacity/100); 
	object.KhtmlOpacity=(opacity/100);
	object.filter="alpha(opacity="+opacity+")"

document.getElementById('ImagenBack').style.backgroundImage = "url(" + preLoad[jMozz].src + ")";
ValorFade = 100;
	t = setTimeout('FadeMozz()', 3000)

}

// Función mostrar
function mostrar(nombreCapa){
document.getElementById(nombreCapa).style.display="block";
}
// Función ocultar
function ocultar(nombreCapa){
document.getElementById(nombreCapa).style.display="none";
} 

//// AJAX

//	Vamos a presuponer que el usuario es una persona inteligente...
var isIE = false;

//	Creamos una variable para el objeto XMLHttpRequest
var req;

//	Creamos una funcion para cargar los datos en nuestro objeto.
//	Logicamente, antes tenemos que crear el objeto.
//	Vease que la sintaxis varia dependiendo de si usamos un navegador decente
//	o Internet Explorer

var div_id;
var mostrar_div;

function Ajax(url,divID,mostrarDiv) {
	div_id = divID;
	mostrar_div = mostrarDiv;
	if (mostrar_div == "mostrar"){
		mostrar(div_id);
	} else if (mostrar_div == "ocultar"){
		ocultar(div_id);
	} else if  (mostrar_div == "ver"){
		mostrarSMenu(div_id);
	}
	if(url==''){
		return;
	}
	//	Usuario inteligente...
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
		
		req.onreadystatechange = processEnviarForm;
		req.open("GET", url, true);
		req.send(null);
	//	...y usuario de Internet Explorer Windows
	} else if (window.ActiveXObject) {
		isIE = true;
		req = new ActiveXObject("Microsoft.XMLHTTP");
		if (req) {
			req.onreadystatechange = processEnviarForm;
			req.open("GET", url, true);
			req.send();
		}
	}
}

//	Funcion que se llama cada vez que se dispara el evento onreadystatechange
//	del objeto XMLHttpRequest
function processEnviarForm(){
	var valor_div = div_id;
	var detalles = document.getElementById(valor_div);
	if(req.readyState == 4){
		detalles.innerHTML = req.responseText;
	} else {
		detalles.innerHTML = '<div align="center"><br /><br /><img src="'+servidor+'images/loading.gif" align="middle" /></div>';
	}
}

// Envío de formulario por POST
function AjaxPost(url,divID,mostrarDiv,formid) {
	div_id = divID;
	mostrar_div = mostrarDiv;
	if (mostrar_div == "mostrar"){
		mostrar(div_id);
	} else if (mostrar_div == "ocultar"){
		ocultar(div_id);
	} else if  (mostrar_div == "ver"){
		mostrarSMenu(div_id);
	}
	if(url==''){
		return;
	}
	
	// Busco todos los campos del formulario
  var Formulario = document.getElementById(formid);
  var longitudFormulario = Formulario.elements.length;
  var cadenaFormulario = ""
  var sepCampos
  sepCampos = ""
  for (var i=0; i <= Formulario.elements.length-1;i++) {
    cadenaFormulario += sepCampos+Formulario.elements[i].name+'='+encodeURI(Formulario.elements[i].value);
    sepCampos="&";
  }
	
	//	Usuario inteligente...
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
		
		req.onreadystatechange = processEnviarForm;
		req.open("POST", url, true);
    req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=ISO-8859-1');
		req.send(cadenaFormulario);
	//	...y usuario de Internet Explorer Windows
	} else if (window.ActiveXObject) {
		isIE = true;
		req = new ActiveXObject("Microsoft.XMLHTTP");
		if (req) {
			req.onreadystatechange = processEnviarForm;
			req.open("POST", url, true);
      req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=ISO-8859-1');
			req.send(cadenaFormulario);
		}
	}
}

// Funciones para Calendario
function Mes(url,dia,mes,anio,campo){
	var datosMes = url+"&dia="+dia+"&mes="+ mes +"&anio="+ anio;
	var QueDiv = 'autofill_calendario'+campo;
	Ajax(datosMes,QueDiv,'mostrar');
}
function insertarFecha(dia,mes,anio,campo){
	var CampoDia = 'dia'+campo;
	var CampoMes = 'mes'+campo;
	var CampoAnio = 'anio'+campo;
	document.getElementById(CampoDia).value = dia;
	document.getElementById(CampoMes).value = mes;
	document.getElementById(CampoAnio).value = anio;
	var OcultarDiv = 'autofill_calendario'+campo;
	ocultar(OcultarDiv);
}
function BorrarFormulario(id){
   document.getElementById(id).reset();
   
}
// Menu deplegable
function Menu(el){
    elemento = el.parentNode.getElementsByTagName('ul')[0]
    if(elemento.style.display != 'block'){
      elemento.style.display =  'block';
    } else {
      elemento.style.display =  'none';
    }
}

function ventana(URL,ANCHO,ALTO) {
  day = new Date();
  id = day.getTime();
  eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=" + ANCHO + ",height=" + ALTO + "');");
}

// Función para mover layers
// Declaro las variables para el carro
var CalculoH = 0;
var MoverH = 100;
var PosicionActualH;
var MasMoverH = 0;
var CalculoV = 0;
var MoverV = 100;
var PosicionActualV;
var MasMoverV = 0;

// Función para Mover a la izquierda un layer con aceleración
function siguiente(capa){
  
  // Busco el DIV que tiene el scroll
  var Contenedor = document.getElementById(capa);
  
  //Para debug, escribe en un layer con ID=valor1 la variable "CalculoH"
  //var datos=document.getElementById('valor1');
  //datos.innerHTML = Contenedor.scrollLeft+'-'+Contenedor.scrollWidth+'-'+Contenedor.offsetWidth;
    
  // solo se ejecuta el movimiento si la posición del scroll es < al ancho total del layer que esta dentro del contenedor
  if ( Contenedor.scrollLeft < ( Contenedor.scrollWidth -  Contenedor.offsetWidth ) ){
    
    // Función matemática para aceleración
    CalculoH -= MoverH
    CalculoH *= 0.80
    CalculoH += MoverH
    
    
    // Le doy el valor al que se tiene que MoverH + el valor donde esta
    Contenedor.scrollLeft = CalculoH + MasMoverH;
    PosicionActualH = CalculoH;
    
    //Para debug, escribe en un layer con ID=valor la variable "CalculoH"
    //var ejs=document.getElementById('valor');
    //ejs.innerHTML += CalculoH+'<br>';
    
    // si todavía no llega al lugar requerido vuelve a ejecutar la función
    // de lo contrario resetea todas las variables
    if(MoverH > PosicionActualH+1){
      setTimeout('siguiente("'+capa+'")',20);
    } else {
      MasMoverH = MasMoverH + MoverH;
      PosicionActualH = 0;
      CalculoH = 0;
    }
  }
}

// Función para MoverH a la derecha un layer con aceleración
function anterior(capa){
  
  // Busco el DIV que tiene el scroll
  var Contenedor = document.getElementById(capa);
  
  //Para debug, escribe en un layer con ID=valor1 la variable "CalculoH"
  //var datos=document.getElementById('valor1');
  //datos.innerHTML = Contenedor.scrollLeft+'-'+Contenedor.scrollWidth+'-'+Contenedor.offsetWidth;
  
  // solo se ejecuta el movimiento si la posición del scroll es > 0
  if ( Contenedor.scrollLeft >0 ){
  
    // Función matemática para aceleración
    CalculoH += MoverH
    CalculoH *= 0.80
    CalculoH -= MoverH
    
    // Le doy el valor al que se tiene que MoverH + el valor donde esta
    Contenedor.scrollLeft = CalculoH + MasMoverH;
    PosicionActualH = CalculoH;
    
    //Para debug, escribe en un layer con ID=valor la variable "CalculoH"
    //var ejs=document.getElementById('valor');
    //ejs.innerHTML += CalculoH+'<br>';
    
    // si todavía no llega al lugar requerido vuelve a ejecutar la función
    // de lo contrario resetea todas las variables
    if(MoverH > -PosicionActualH+1){
      setTimeout('anterior("'+capa+'")',20);
    } else {
      MasMoverH = MasMoverH - MoverH;
      PosicionActualH = 0;
      CalculoH = 0;
    }
  }
}
// Función para Mover hacia arriba un layer con aceleración
function abajo(capa){
  
  // Busco el DIV que tiene el scroll
  var Contenedor = document.getElementById(capa);
  
  //Para debug, escribe en un layer con ID=valor1 la variable "CalculoH"
  //var datos=document.getElementById('valor1');
  //datos.innerHTML = Contenedor.scrollLeft+'-'+Contenedor.scrollWidth+'-'+Contenedor.offsetWidth;
    
  // solo se ejecuta el movimiento si la posición del scroll es < al alto total del layer que esta dentro del contenedor
  if ( Contenedor.scrollTop < ( Contenedor.scrollHeight -  Contenedor.offsetHeight ) ){
    
    // Función matemática para aceleración
    CalculoV -= MoverV
    CalculoV *= 0.80
    CalculoV += MoverV
    
    
    // Le doy el valor al que se tiene que Mover + el valor donde esta
    Contenedor.scrollTop = CalculoV + MasMoverV;
    PosicionActualV = CalculoV;
    
    //Para debug, escribe en un layer con ID=valor la variable "CalculoH"
    //var ejs=document.getElementById('valor');
    //ejs.innerHTML += CalculoH+'<br>';
    
    // si todavía no llega al lugar requerido vuelve a ejecutar la función
    // de lo contrario resetea todas las variables
    if(MoverV > PosicionActualV+1){
      setTimeout('abajo("'+capa+'")',20);
    } else {
      MasMoverV = MasMoverV + MoverV;
      PosicionActualV = 0;
      CalculoV = 0;
    }
  }
}

// Función para Mover hacia abajo un layer con aceleración
function arriba(capa){
  
  // Busco el DIV que tiene el scroll
  var Contenedor = document.getElementById(capa);
  
  //Para debug, escribe en un layer con ID=valor1 la variable "CalculoH"
  //var datos=document.getElementById('valor1');
  //datos.innerHTML = Contenedor.scrollLeft+'-'+Contenedor.scrollWidth+'-'+Contenedor.offsetWidth;
  
  // solo se ejecuta el movimiento si la posición del scroll es > 0
  if ( Contenedor.scrollTop >0 ){
  
    // Función matemática para aceleración
    CalculoV += MoverV
    CalculoV *= 0.80
    CalculoV -= MoverV
    
    // Le doy el valor al que se tiene que MoverH + el valor donde esta
    Contenedor.scrollTop = CalculoV + MasMoverV;
    PosicionActualV = CalculoV;
    
    //Para debug, escribe en un layer con ID=valor la variable "CalculoH"
    //var ejs=document.getElementById('valor');
    //ejs.innerHTML += CalculoH+'<br>';
    
    // si todavía no llega al lugar requerido vuelve a ejecutar la función
    // de lo contrario resetea todas las variables
    if(MoverV > -PosicionActualV+1){
      setTimeout('arriba("'+capa+'")',20);
    } else {
      MasMoverV = MasMoverV - MoverV;
      PosicionActualV = 0;
      CalculoV = 0;
    }
  }
}

// Valida campos de formulario de consultas
function validar(QueForm) {

  // Variable con los datos del formulario
  var Formu = document.getElementById(QueForm);

  // Nombre
  if(Formu.Nombre.value==""){
      alert("Olvidó ingresar su nombre y apellido");
      Formu.Nombre.focus(); 
      return false;
    }

  // Email
  Cadena=Formu.Email.value;
    if (Cadena!="") {
      Punto = Cadena.substring(Cadena.lastIndexOf('.') + 1, Cadena.length)			// Cadena del .com
      Dominio = Cadena.substring(Cadena.lastIndexOf('@') + 1, Cadena.lastIndexOf('.')) 	// Dominio @lala.com
      Usuario = Cadena.substring(0, Cadena.lastIndexOf('@'))					// Cadena lalala@
      Reserv = "@/º\"\'+*{}\\<>?¿[]áéíóú#·¡!^*;,:"						// Letras Reservadas
    
      valido = true
    
      for (var Cont=0; Cont<Usuario.length; Cont++) {
        X = Usuario.substring(Cont,Cont+1)
        if (Reserv.indexOf(X)!=-1)
          valido = false
      }

      for (var Cont=0; Cont<Punto.length; Cont++) {
        X=Punto.substring(Cont,Cont+1)
        if (Reserv.indexOf(X)!=-1)
          valido = false
      }
                          
      for (var Cont=0; Cont<Dominio.length; Cont++) {
        X=Dominio.substring(Cont,Cont+1)
        if (Reserv.indexOf(X)!=-1)
          valido = false
        }

      if (Punto.length<2 || Dominio <1 || Cadena.lastIndexOf('.')<0 || Cadena.lastIndexOf('@')<0 || Usuario<1) {
        valido = false
      }
    
      if (!valido) {
        alert('Dirección de correo no válida')
        Formu.Email.focus();
        return false;
      }
    } else {
      alert("Olvidó ingresar su e-mail");
      Formu.Email.focus();
      return false;
    }
    
  // Teléfono
  if(Formu.Telefono.value==""){
      alert("Por favor, ingrese un número de teléfono");
      Formu.Telefono.focus(); 
      return false;
    }else{
      var checkOK = "0123456789 -+()"; 
      var checkStr = Formu.Telefono.value; 
      var allValid = true; 
      var decPoints = 0; 
      var allNum = ""; 
      for (i = 0; i < checkStr.length; i++) { 
        ch = checkStr.charAt(i); 
        for (j = 0; j < checkOK.length; j++) 
        if (ch == checkOK.charAt(j))
          break; 
        if (j == checkOK.length) { 
          allValid = false; 
          break; 
        } 
        allNum += ch; 
      } 
      if (!allValid) { 
        alert("El campo \"Teléfono\" contiene caracteres no válidos");
        Formu.Telefono.focus(); 
        return false; 
      } 
    }

  // Consulta
  if(Formu.Consulta.value==""){
      alert("Olvidó ingresar su consulta");
      Formu.Consulta.focus(); 
      return false;
    }

  return true;
}

