// Documento JavaScript
// Esta función cargará las paginas
function nuevoAjax(){
	 var pagina_requerida=false;
	try
	{
		// Creacion del objeto AJAX para navegadores no IE
		pagina_requerida=new XMLHttpRequest();
		
	}
	catch(e)
	{
		
		try
		{
			pagina_requerida=new ActiveXObject("Msxml2.XMLHTTP");
			
		}
		catch(E)
		{
			try
			{
				pagina_requerida=new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(e1)
			{
				
				pagina_requerida = false;
			}
		}
	}
	
	return pagina_requerida


}


function llamarajax (url, id_contenedor, metodo)
{
  
	pagina_requerida=nuevoAjax();
    pagina_requerida.onreadystatechange = function ()
    {
        // función de respuesta
        cargarpagina (pagina_requerida, id_contenedor);
    }
    pagina_requerida.open (metodo, url, true); // asignamos los métodos open y send
    pagina_requerida.send (null);
}
// todo es correcto y ha llegado el momento de poner la información requerida
// en su sitio en la pagina xhtml
function cargarpagina (pagina_requerida, id_contenedor)
{
    if(pagina_requerida.readyState < 4) document.getElementById (id_contenedor).innerHTML = "<img src='cargador.gif' >";
	
	if (pagina_requerida.readyState == 4 && (pagina_requerida.status == 200 || window.location.href.indexOf ("http") == - 1)){
       var cadena=unescape(pagina_requerida.responseText);
       var cadenafinal=cadena.replace(/\+/gi," ");
	   document.getElementById (id_contenedor).innerHTML = cadenafinal;
	}
}



function enviarform(url, form, id_contenedor){
	
	var parametros="categoria="+encodeURI(form.select1.value);
	parametros+="&pais="+encodeURI(form.select2.value);
	parametros+="&estado="+encodeURI(form.select3.value);
	parametros+="&ciudad="+encodeURI(form.ciudad.value);
	parametros+="&palabras="+encodeURI(form.palabras.value);
	parametros+="&tipocliente="+encodeURI(form.busca.value);
	pagina_requerida=nuevoAjax();
	pagina_requerida.onreadystatechange= function(){
		
		cargarpagina(pagina_requerida,id_contenedor);
	
	}
	pagina_requerida.open('POST', url, true);
    pagina_requerida.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    pagina_requerida.setRequestHeader("Content-length", parametros.length);
    pagina_requerida.setRequestHeader("Connection", "close");
	pagina_requerida.send(parametros);
}



function completaRegistro(form){
	 
	 var text_mail = form.textMail.value;
	 var mail = form.mail.value;
	 var text_clave= form.textClave.value;
	 var clave = form.clave.value;
	 var parametros = "";
	 if(text_mail != mail){ 
	    alert("E-mail incorrecto. Asegúrese de que no tenga espacios en blanco");
		return false;
	 }
	 else if (text_clave != clave ){
	       alert ("Clave incorrecta. Asegúrese de que no tenga espacios en blanco");
		   return false;
	 }
	else if (text_mail == mail && text_clave == clave){
	        //alert ("OK!");
			parametros+="id_registro="+form.id_registro.value;
			parametros+="&cliente="+form.cliente.value;
			parametros+="&nombre="+form.nombre.value;
			parametros+="&organizacion="+form.organizacion.value;
			parametros+="&cedula="+form.cedula.value;
			parametros+="&direccion="+form.direccion.value;
			parametros+="&cp="+form.cp.value;
			parametros+="&pais="+form.pais.value;
			parametros+="&estado="+form.estado.value;
			parametros+="&ciudad="+form.ciudad.value;
			parametros+="&telefono="+form.telefono.value;
			parametros+="&fax="+form.fax.value;
			parametros+="&website="+form.website.value;
			parametros+="&mail="+form.mail.value;
			parametros+="&servicios="+form.servicios.value;
			parametros+="&categoria="+form.categoria.value;
			if(form.cliente.value!='3'){
				parametros+="&logo="+form.logo.value;
			}
			if(form.cliente.value =='0' || form.cliente.value == '4'){
				parametros+="&tipo_pago="+form.tipo_pago.value;
			}
			
			alert ("Ciente "+form.cliente.value+" Pago "+form.tipo_pago.value);
			ajax = nuevoAjax();
			
			ajax.onreadystatechange= function(){
		       cargarpagina(ajax,"contenido");
	       }
		   ajax.open("POST", "procesaregistro.php",true);
		   ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		   ajax.setRequestHeader("Content-length", parametros.length);
    	   ajax.setRequestHeader("Connection", "close");
	       ajax.send(parametros);
		   return true;
	
	}

}




function completaEvento(form){
	 
	 var text_mail = form.textMail.value;
	 var mail = form.correo.value;
	 var text_clave= form.textClave.value;
	 var clave = form.clave.value;
	 var parametros = "";
	 if(text_mail != mail){ 
	    alert("E-mail incorrecto. Asegúrese de que no tenga espacios en blanco");
		return false;
	 }
	 else if (text_clave != clave ){
	       alert ("Clave incorrecta. Asegúrese de que no tenga espacios en blanco");
		   return false;
	 }
	else if (text_mail == mail && text_clave == clave){
	        //alert ("OK!");
			parametros+="id_evento="+form.id_evento.value;
			parametros+="&nombre_evento="+form.nombre_evento.value;
			parametros+="&fecha_inicio="+form.fecha_inicio.value;
			parametros+="&fecha_fin="+form.fecha_fin.value;
			parametros+="&pais="+form.pais.value;
			parametros+="&ciudad="+form.ciudad.value;
			parametros+="&estado="+form.estado.value;
			parametros+="&lugar="+form.lugar.value;
			parametros+="&organizador="+form.organizador.value;
			parametros+="&descripcion="+form.descripcion.value;
			parametros+="&url="+form.url.value;
			parametros+="&correo="+form.correo.value;
			parametros+="&fechapost="+form.fechapost.value;
			parametros+="&clave="+form.clave.value;
			parametros+="&Status="+form.Status.value;
			parametros+="&de_cliente="+form.de_cliente.value;
			
			ajax = nuevoAjax();
			
			ajax.onreadystatechange= function(){
		       cargarpagina(ajax,"contenido");
	       }
		   ajax.open("POST", "procesaevento.php",true);
		   ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		   ajax.setRequestHeader("Content-length", parametros.length);
    	   ajax.setRequestHeader("Connection", "close");
	       ajax.send(parametros);
		   return true;
	
	}

}






// Declaro los selects que componen el documento HTML. Su atributo ID debe figurar aqui.
var listadoSelects=new Array();
listadoSelects[0]="select1";
listadoSelects[1]="select2";
listadoSelects[2]="select3";
listadoSelects[3]="select4";

function buscarEnArray(array, dato)
{
	// Retorna el indice de la posicion donde se encuentra el elemento en el array o null si no se encuentra
	var x=0;
	while(array[x])
	{
		if(array[x]==dato) return x;
		x++;
	}
	return null;
}

function cargarContenido(idSelectOrigen, categoria)
{
	// Obtengo la posicion que ocupa el select que debe ser cargado en el array declarado mas arriba
	var posicionSelectDestino=buscarEnArray(listadoSelects, idSelectOrigen)+1;
	// Obtengo el select que el usuario modifico
	var selectOrigen=document.getElementById(idSelectOrigen);
	// Obtengo la opcion que el usuario selecciono
	var opcionSeleccionada=selectOrigen.options[selectOrigen.selectedIndex].value;
	// Si el usuario eligio la opcion "Elige", no voy al servidor y pongo los selects siguientes en estado "Selecciona opcion..."
	if(opcionSeleccionada==0)
	{
		var x=posicionSelectDestino, selectActual=null;
		// Busco todos los selects siguientes al que inicio el evento onChange y les cambio el estado y deshabilito
		while(listadoSelects[x])
		{
			selectActual=document.getElementById(listadoSelects[x]);
			selectActual.length=0;
			
			var nuevaOpcion=document.createElement("option"); nuevaOpcion.value=0; nuevaOpcion.innerHTML="Todos";
			selectActual.appendChild(nuevaOpcion);	//selectActual.disabled=true;
			x++;
		}
	}
	// Compruebo que el select modificado no sea el ultimo de la cadena
	else if(idSelectOrigen!=listadoSelects[listadoSelects.length-1])
	{
		// Obtengo el elemento del select que debo cargar
		var idSelectDestino=listadoSelects[posicionSelectDestino];
		var selectDestino=document.getElementById(idSelectDestino);
		// Creo el nuevo objeto AJAX y envio al servidor el ID del select a cargar y la opcion seleccionada del select origen
		var ajax=nuevoAjax();
		ajax.open("GET", "llenaformulario.php?select="+idSelectDestino+"&opcion="+opcionSeleccionada+"&categoria="+categoria, true);
		ajax.onreadystatechange=function() 
		{ 
			if (ajax.readyState==1)
			{
				// Mientras carga elimino la opcion "Selecciona Opcion..." y pongo una que dice "Cargando..."
				selectDestino.length=0;
				var nuevaOpcion=document.createElement("option"); nuevaOpcion.value=0; nuevaOpcion.innerHTML="Cargando...";
				selectDestino.appendChild(nuevaOpcion); selectDestino.disabled=true;	
			}
			if (ajax.readyState==4)
			{
				selectDestino.parentNode.innerHTML=ajax.responseText;
			} 
		}
		ajax.send(null);
	}
}


function explain(name, output, msg) {
newwin = window.open('','','top=150,left=150,width=325,height=300');
if (!newwin.opener) newwin.opener = self;
with (newwin.document)
{
msg = '<b>Recomendaciones:</b><br><ul type="circle"><li>Esta información es opcional</li><li>Utilice palabras sencillas y concretas</li><li>(e.j. Cirugía) (e.j. Medicina General)</li><li>Estas búsquedas se hacen directamente al contenido de los registros.</li><li>No son búsquedas heurísticas.</li></ul>'; 
open();
write('<html><head><title>Ayuda guiamedica.com</title></head>');
write('<body onLoad="document.form.box.focus()" link="blue" alink="blue" vlink="blue"><form name=form onsubmit="javascript:window.self.close();"><font face="Verdana, Arial" size="1">' + msg + '</font><br>');
write('<p><font face="Verdana, Arial" size="1">Debe introducir ' + name + ' aquí y serán copiadas para usted.</font>');
write('<p><center><font face="Verdana, Arial" color="#0000cc" size="1">' + name + ':</font>  <input type=text name=box size=10 onKeyUp=' + output + '=this.value>');
write('<p><font face="Verdana, Arial" size="1"><a href="#" onClick=window.close()>Click para cerrar</a></font>');
write('</center></form></body></html>');
close();
   }
}

var win=null;
function NewWindow(mypage,myname,w,h,scroll,pos){
   if(pos=="random"){
      LeftPosition=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;
	  TopPosition=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;
	  }

   if(pos=="center"){
      LeftPosition=(screen.width)?(screen.width-w)/2:100;
	  TopPosition=(screen.height)?(screen.height-h)/2:100;
	  }

   else if((pos!="center" && pos!="random") || pos==null){
      LeftPosition=0;TopPosition=20
	  }

   settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=yes';
   win=window.open(mypage,myname,settings);

}

function vacio(q) {
        for ( i = 0; i < q.length; i++ ) {
                if ( q.charAt(i) != " " ) {
                        return true
                }
        }
        return false
}

function valida (forma){
	
	var mail=/^[A-Za-z][\.A-Za-z0-9_]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/;
	
	if(forma.asunto.value=="" || vacio(forma.asunto.value)==false){
	   alert("Por favor escriba el asunto en el mensaje");
	   return false;
	}
	
	else if(forma.contenido.value=="" || vacio(forma.contenido.value)==false){
		alert("Por favor escriba un mensaje");
		return false;
	}
	
	else if(forma.nombre.value=="" || vacio(forma.nombre.value)==false){
		alert("Por favor escriba su nombre");
		return false;
	}
	
	else if(forma.emaild.value=="" || mail.test(forma.emaild.value)==false){
		alert("Por favor escriba una direccion de correo válida");
		return false;
	}
	else return true;
   

}

function revisarCheck(check){
	var num = 0;
	var i;
	for (i=0; i<check.length; i++){
		if(check[i].checked)
		   num++;
	}
	
	return num;
}

function validaNumTarjeta(tipo, numero){
	
	var ajax = nuevoAjax();
	var texto ="";

	ajax.open("GET", "validaTC.php?numero="+numero+"&tipo="+tipo, true);
		ajax.onreadystatechange=function() 
		{ 
			
			if (ajax.readyState==4)
			{
				texto = ajax.responseText;
				
			} 
		}
		ajax.send(null);
	
	
	return (texto == "1");	

}



function validaForma(forma){
	var email=/^[A-Za-z][\.A-Za-z0-9_]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/;
	
	
	if(forma.nombre.value=="" || vacio(forma.nombre.value)==false){
	   alert("Por favor escriba su nombre");
	   return false;
	}
	
	
	/*else if(forma.cedula.value=="" || vacio(forma.cedula.value)==false){
	   alert("Por favor escriba su cédula profesional");
	   return false;
	}*/
	
	else if(forma.direccion.value=="" || vacio(forma.direccion.value)==false){
	   alert("Por favor escriba su direccion");
	   return false;
	}
	
	else if(forma.cp.value=="" || vacio(forma.cp.value)==false){
	   alert("Por favor escriba su código postal");
	   return false;
	}
	
	else if ((forma.pais.value=='Seleccione su pais..' || forma.pais.value=='0') && (forma.otropais.value=="" || vacio(forma.otropais.value)==false)){
		alert("Si su país no está en la lista escríbalo por favor");
		return false;
	}
	
	else if ((forma.estado.value=='Seleccione su Estado..' || forma.estado.value=='0') && (forma.otroestado.value=="" || vacio(forma.otroestado.value)==false)){
		alert("Si su estado o región no está en la lista escríbalo por favor");
		return false;
	}
	
	else if ((forma.ciudad.value=='Seleccione su Ciudad..' || forma.ciudad.value=='0') && (forma.otraciudad.value=="" || vacio(forma.otraciudad.value)==false)){
		alert("Si su ciudad no está en la lista escríbala por favor");
		return false;
	}
	
	else if(forma.telefono.value=="" || vacio(forma.telefono.value)==false){
	   alert("Por favor escriba su teléfono");
	   return false;
	}
	
	else if(forma.mail.value=="" || email.test(forma.mail.value)==false){
	   alert("Por favor escriba un e-mail válido");
	   return false;
	}
	
	else if(forma.servicios.value=="" || vacio(forma.servicios.value)==false){
	   alert("Por favor escriba una breve descripción de los servicios que ofrece");
	   return false;
	}
	
	else if(revisarCheck(forma.categoria)<1){
		alert("Por favor seleccione alguna categoría");
		return false;
	}
	
	if(forma.cliente.value =="0" ||forma.cliente.value == "4"){
		
		
	
		if(revisarCheck(forma.tipopago)<1){
			alert("Por favor seleccione algún tipo de pago");
		return false;
		}
		
		else if(document.getElementById('tipopago').value =="1"){
			
			if(forma.nombretarjeta.value=="" || vacio(forma.nombretarjeta.value)==false){
				alert("Por favor escriba su nombre como aparece en la tarjeta");
				return false;
			}
			
						
			else if(forma.ccv.value=="" || vacio(forma.ccv.value)==false || (forma.ccv.value.length != 3 && forma.ccv.value.length != 4)){
				alert("Por favor escriba el ccv de la tarjeta");
				return false;
			}
			
			else if(forma.tipotarjeta.value=='Seleccione...' || forma.tipotarjeta.value=='0'){
				alert("Por favor seleccione un tipo de tarjeta");
				return false;
			}
			
			else if(forma.numtarjeta.value=="" || vacio(forma.numtarjeta.value)==false){
				alert("Por favor escriba el número de la tarjeta");
				return false;
			}
			
			else if(!validaNumTarjeta(forma.tipotarjeta.value, forma.numtarjeta.value)){
				alert("El número de tarjeta no es válido");
				return false;
			}
		
		}//else if(forma.tipopago.value =="1")
		
		
	}//if(forma.cliente.value =="0" ||forma.cliente.value == "4")
	
	else return true;
}



function desactivaCiudad(opcion){
	if(opcion=='0')
	   document.registromedico.otraciudad.disabled=false;
	else 
	  document.registromedico.otraciudad.disabled=true;
	  
	
}

function llenaCiudad(estado){
	
 if(estado !='' && estado !='0'){
    llamarajax('ciudad.php?id='+estado,'ciudades','GET');
	document.registromedico.otroestado.disabled=true;
	document.registromedico.otraciudad.disabled=true;
 }
 else{
    llamarajax('ciudad.php?id=0','ciudades','GET');
	document.registromedico.otroestado.disabled=false;
 }

}



function llenaEstados(id){

  if(id !='' && id!='0'){
    llamarajax('estados.php?id='+id,'estados','GET');
	document.registromedico.otropais.disabled=true;
	document.registromedico.otroestado.disabled=true;
	document.registromedico.otraciudad.disabled=true;
  
  }
  else{ 
       llamarajax('estados.php?id=0','estados','GET');
	   document.registromedico.otropais.disabled=false;
  }

}


function validaFormaEvento(forma){
	var email=/^[A-Za-z][\.A-Za-z0-9_]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/;
	
	if(forma.evento.value=="" || vacio(forma.evento.value)==false){
	   alert("Por favor escriba el nombre del evento");
	   return false;
	}
	
	
	else if(forma.descripcion.value=="" || vacio(forma.descripcion.value)==false){
	   alert("Por favor escriba una breve descripción del evento");
	   return false;
	}
	
	else if(forma.organizador.value=="" || vacio(forma.organizador.value)==false){
	   alert("Por favor escriba quién organiza el evento");
	   return false;
	}
	
	else if(forma.fechainicio.value=="" || vacio(forma.fechainicio.value)==false){
	   alert("Por favor seleccione la fecha de inicio haciendo click en el vínculo");
	   return false;
	}
	
	else if(forma.fechafin.value=="" || vacio(forma.fechafin.value)==false){
	   alert("Por favor seleccione la fecha fin haciendo click en el vínculo");
	   return false;
	}

    else if(forma.fechafin.value < forma.fechainicio.value){
		alert("La fecha de fin es anterior a la de inicio");
		return false;				
	}
	
	else if ((forma.pais.value=='Seleccione su pais..' || forma.pais.value=='0') && (forma.otropais.value=="" || vacio(forma.otropais.value)==false)){
		alert("Si su país no está en la lista escríbalo por favor");
		return false;
	}
	
	else if ((forma.estado.value=='Seleccione su Estado..' || forma.estado.value=='0') && (forma.otroestado.value=="" || vacio(forma.otroestado.value)==false)){
		alert("Si su estado o región no está en la lista escríbalo por favor");
		return false;
	}
	
	else if ((forma.ciudad.value=='Seleccione su Ciudad..' || forma.ciudad.value=='0') && (forma.otraciudad.value=="" || vacio(forma.otraciudad.value)==false)){
		alert("Si su ciudad no está en la lista escríbala por favor");
		return false;
	}
	
	else if(forma.lugar.value=="" || vacio(forma.lugar.value)==false){
	   alert("Por favor escriba el lugar en el que se llevará a cabo el evento");
	   return false;
	}
	
	else if(forma.mail.value=="" || email.test(forma.mail.value)==false){
	   alert("Por favor escriba un e-mail válido");
	   return false;
	}
	

	
	
	else return true;
}


function mostrarFormaPago(numDiv){
	
	div1= document.getElementById('tarjeta');
	div2= document.getElementById('cheque');
	div3= document.getElementById('deposito');
	
	switch(numDiv){
		
		case 1: div1.style.display = "block";
				div2.style.display = "none";
				div3.style.display = "none";
				break;
				
		case 2: div1.style.display = "none";
				div2.style.display = "block";
				div3.style.display = "none";
				break;
				
		case 3: div1.style.display = "none";
				div2.style.display = "none";
				div3.style.display = "block";
				break;
		
	}
	
}



