/*---------------------------------------------------------------------------
*
*                          © Telefonica Soluciones S. A. U.
*                                     Distrito C 
*                         Avda. Ronda de la Comunicación S/N
*                                    28050 Madrid               
*
*----------------------------------------------------------------------------
*   Los contenidos de este fichero son propiedad intelectual de Telefonica
*   Soluciones S. A. U. titular del copyright. Este fichero solo podra ser
*   copiado, distribuido  y  utilizado, en su totalidad o en parte, con el
*   permiso escrito de Telefonica Soluciones S. A. U. o de  acuerdo con los
*   terminos  y  condiciones  establecidas  en  el  acuerdo/contrato  bajo
*   el que se suministra.
*----------------------------------------------------------------------------
*
*   Proyecto                 : Cita Previa Sacyl
*   Subsistema               : CPS
*   Modulo                   : conf
*   Fichero                  : $Archive: citaPrevia.js $
*   Tipo                     : Clase fuente java
*   Autor                    : $Author: cvarela $
*   Fecha de creacion        : 28-01-2007
*   Versión actual           : $Revision: 1.7 $
*   Fecha ultimo cambio      : $Modtime: 28/01/2007 16:10 $
*
*----------------------------------------------------------------------------
*
*   Proposito:
*   Libreria de funciones de javascript del proyecto Cita Previa (canal internet)
*
*----------------------------------------------------------------------------
*
*   Historia de revisiones
*
*   Fecha     Autor  Razon
*   --------  ------ -------------------------------------------------------
*   28-01-2007  rcp   Version inicial
*----------------------------------------------------------------------------
*/

/**
 * Variable que indica la cita a eliminar
 */
var urlElminarCita= null;

/**
 * seleccionaCita
 * Selecciona la cita a eliminar
 * @param codCita: Codigo de la cita a eliminar
 */ 
function seleccionaCita(codCita,fechaCita,horaCita,nombreCat,nombreProfes, urlAnulaCita){
    //alert("En seleccionarCita con codCita:" + codCita);
	urlElminarCita = urlAnulaCita;
	
	// Pone visible la capa de capaAnularCita. Esto ahora no se quiere hacer.
	//  por y por eso lo comentamos. 
	//document.getElementById("capaAnularCita").style.visibility="visible";
	if ( confirm("Se dispone a anular la cita con fecha " + 
	              fechaCita + "  " + horaCita + " de tipo " +  nombreCat + 
	              " con " +  nombreProfes + " \n Para Anular esta cita pulse ACEPTAR." ) ) {
			anularCita(urlAnulaCita);
		} else { 
		    return;
		}    
}
 
/**
 * anularCita
 * Invoca a la función en el servidor para anular la cita
 * @param codCita: Codigo de la cita a eliminar
 */ 
function anularCita(urlAnulaCita){

	if (urlAnulaCita == null || urlAnulaCita==""){
		urlAnulaCita = urlElminarCita;
	}
	
	window.location.href=urlAnulaCita;
}

/**
 * solicitarCitas
 * Habilita/Deshabilita la capa de solicitud de citas
 * @param flag
 */ 
function solicitarCitas(flag, url){
	// Limpia los errores
	document.getElementById("errores").style.visibility="hidden";
	// Limpia los cmBodyContentChildrens
	document.getElementById("cmBodyContentChildrens").style.visibility="hidden";
    //alert("En solicitarCitas:  " +strBaseURL);
    //alert(document.getElementById("search").src);
    
    var cad ="El sistema le ofrecerá la primera cita disponible a partir de la fecha y hora indicada. ";
	cad = cad + document.getElementById("mensaje1").value + " " + document.getElementById("mensaje2").value;
		    
	if (flag){
		// Muestra la capa divSolicitudCitasSearch
		document.getElementById("divSolicitudCitasSearch").style.visibility="visible";
		document.getElementById("citaPreviaForm").action = url;
		if(navigator.userAgent.indexOf("; MSIE") != -1) {
		    //alert("MSIE<>-1" +document.getElementById("nota").innerText);
		    //var cad ="El sistema le ofrecerá la primera cita disponible a partir de la fecha y hora indicada. Si no indica hora se tomarán las 00:00. Sólo puede solicitar una cita en los dos meses siguientes a la fecha actual.";
		    
		    document.getElementById("textoConsRes").innerText = "  Reservar";
			document.getElementById("nota").innerText = cad; 
		} else {
		    //alert("MSIE else" +document.getElementById("nota").firstChild.data);
		    //var cad ="El sistema le ofrecerá la primera cita disponible a partir de la fecha y hora indicada. Si no indica hora se tomarán las 00:00. Sólo puede solicitar una cita en los dos meses siguientes a la fecha actual.";
			document.getElementById("textoConsRes").firstChild.data = "  Reservar";
			//document.getElementById("nota").firstChild.data = "HOLA";
			document.getElementById("nota").innerHTML = cad;
		}		
		
	}else{
		// Oculta la capa divSolicitudCitasSearch
		document.getElementById("divSolicitudCitasSearch").style.visibility="hidden";
		document.getElementById("citaPreviaForm").action = url;
		if(navigator.userAgent.indexOf("; MSIE") != -1) {
		//alert(" IExplorer");
			document.getElementById("textoConsRes").innerText = "  Consultar";
			document.getElementById("nota").innerText = "";
		} else {
			document.getElementById("textoConsRes").firstChild.data = "  Consultar";
			document.getElementById("nota").firstChild.data = "";
		}
	}
}

/**
 * refrescaImagen
 * Invoca a la funcion que refresca la imagen
 */ 
function refrescaImagen(urlRefrescaImagen){
	document.getElementById("captchaForm").action = urlRefrescaImagen;
	document.getElementById("captchaForm").submit();
}

/**
 * refrescaImagen
 * Invoca a la funcion que cambia Paciente
 */ 
function cambiarPaciente(){
	//alert("En cambiarPaciente");
   if (!(document.getElementById("textoConsRes").disabled && 
      trim(document.getElementById("textoConsRes").innerHTML) == "Reservar")) {
	    document.getElementById("citaPreviaForm").action = strBaseURL + "cambiarpaciente.htm";
	    document.getElementById("citaPreviaForm").submit();
   }	
}
function doSubmitExp(){

	if (!document.getElementById("textoConsRes").disabled) {
	    if (trim(document.getElementById("textoConsRes").innerHTML) == "Reservar") {
	    	document.getElementById("textoConsRes").disabled=true;
	    }
		document.getElementById("citaPreviaForm").submit();
	}
}

function trim(str) {
	var cad = str.replace(/^\s*|\s*$/g,"");
	return cad;
}

/**
* Imprime la Cita
* @param fechaCita
* @param horaCita
* @param categoria
* @param nombreProf
* @param nombrePaciente
* @param cip
* @param centroNombre
* @param centroTelefonoTransferencia
*/
function imprimirCita(fechaCita, horaCita, categoria, nombreProf, nombrePaciente, cip, centroNombre, centroTelefonoTransferencia, ubicacion, sala){
	var ventimp = window.open('', 'popimpr');
	
	var datos_window = "";
	datos_window = datos_window + "<html lang='es-ES'>";
	datos_window = datos_window + "<head>";
	datos_window = datos_window + "<title>Portal de Sanidad de la Junta de Castilla y León (Contenido: Cita previa)</title>";
	datos_window = datos_window + "<meta http-equiv='Content-Type' content='text/html; charset=ISO-8859-15'/>";
	datos_window = datos_window + "<link rel='stylesheet' type='text/css' href='/CitaPreviaWeb/css/estilo.css' />";
	datos_window = datos_window + "</head>";
	datos_window = datos_window + "<body style='text-align:justify; margin:20px;'>";	
	datos_window = datos_window + "<table><tr><td><img width='70%' src='../imagenes/contenidos/LogoJunta.JPG'></td><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td><img  width='70%'src='../imagenes/contenidos/sacyl.JPG'></td></tr></table>";
	
	datos_window = datos_window + "<br><br><b>RECUERDE </b><br/>____________________________________________________<br/>";
	
	datos_window = datos_window + "Sr./Sra.<br/>" + nombrePaciente + "<br/><b>CIP</b>: " + cip + "<br/>"; 
	datos_window = datos_window + "____________________________________________________<br/>";
	datos_window = datos_window + "Profesional: <br/><b>" + categoria + "</b>: " + nombreProf+ "<br/><br/>"; 
	
	var dia_de_semana = diaDeLaSemana(fechaCita);
	   
	datos_window = datos_window + "<b>" + dia_de_semana + " - " + fechaCita  + " - " + horaCita + "</b><br/><br/>"; 
	datos_window = datos_window + "<b>Centro</b>: " + centroNombre + "<br/>";
	datos_window = datos_window + "<b>Ubicación</b>: " + ubicacion + "<br/>";
	datos_window = datos_window + "<b>Sala</b>: " + sala + "<br/>";
	datos_window = datos_window + "<b>Telefóno de cita</b>: " + centroTelefonoTransferencia + "<br/>"; 
	datos_window = datos_window + "____________________________________________________<br/><br/>"; 
	datos_window = datos_window + "Le agradecemos que nos comunique con antelación " + "<br/>";
	datos_window = datos_window + "cualquier modificación que desee. ";
	datos_window = datos_window + "</body></html>";
	
	ventimp.document.write(datos_window);	  
	ventimp.document.close();
	ventimp.print();
	ventimp.close();
}

/**
 * Muestra el div del email
 * @param idCita
 * @return
 */
function showDivEmail(fechaCita, horaCita, categoria, nombreProf, nombrePaciente, cip, centroNombre, centroTelefonoTransferencia, ubicacion, sala) {
	
	 // Rellenamos los datos del formulario
	 document.forms['emailForm'].emailNombrePaciente.value = nombrePaciente;
	 document.forms['emailForm'].emailCip.value = cip;
	 document.forms['emailForm'].emailDescCategoriaProf.value = categoria;
	 document.forms['emailForm'].emailNombreProf.value = nombreProf;
	 document.forms['emailForm'].emailDiaDeLaSemana.value = diaDeLaSemana(fechaCita);
	 document.forms['emailForm'].emailFecha.value = fechaCita;
	 document.forms['emailForm'].emailHora.value = horaCita;
	 document.forms['emailForm'].emailCS.value = centroNombre;
	 document.forms['emailForm'].emailUbicacion.value = ubicacion;
	 document.forms['emailForm'].emailSala.value = sala;
	 document.forms['emailForm'].emailTelefonoCS.value = centroTelefonoTransferencia;
	 
	 // Mostramos el div
	 document.getElementById('divEmail').style.display='block';
	 
	 // colocamos el focus
	 document.forms.emailForm.emailAddr.focus();
}
 
/**
  * Oculta el div del email
  * @return
  */
 function hideDivEmail() {
 	document.getElementById('divEmail').style.display='none';
 }
  
  
/**
 * Devuelve el día de la semana partiendo de la fecha en formato dd/mm/yyyy
 * @param fechaCita fecha en formato dd/mm/yyyy
 * @return
 */
function diaDeLaSemana(fechaCita) {
	  
		var dia_de_semana = "";
		
		try{
			var partes_fecha = fechaCita.split("/");
			var ano = partes_fecha[2];
			var mes = partes_fecha[1];
			var dia = partes_fecha[0];
			var fecha = new Date(ano, mes -1, dia);
			var dayArray = new Array('Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado', 'Domingo');
			
			dia_de_semana = dayArray[fecha.getDay()];
		}catch(e){
			dia_de_semana = "";
		}
		
		
		return dia_de_semana;
  }




/**
 * Valida la dirección de correo
 * @param email dirección de correo a validar
 * @return true si la dirección es válida o false en caso contrario
 */
function checkemail(email){
	var testresults;
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;

	if (filter.test(email))
		testresults = true;
	else{
		alert("La dirección de correo electrónico no es correcta");
		document.forms['emailForm'].emailAddr.focus();
		testresults = false;
	}
	return testresults;
}

