function Validar(formulario) {

	if (formulario.usuario.value== '') {
			alert("El campo Nº de Colegiado está vacio y es OBLIGATORIO");
			formulario.usuario.focus()
			return(false);
		}
		var caracter = formulario.usuario.value.charAt(0)
		if (caracter !== 'C' && caracter !== 'c')
  		{
    		alert("El campo Nº de Colegiado debe contener CV. Ej: CV09999");
			formulario.usuario.focus()
			return(false);
  		}
		if (formulario.usuario.value.length !== 7)
  		{
    		alert("El formato de Nª de Colegiado debe ser CV + 5 dígitos. Ej: CV09999");
			formulario.usuario.focus()
			return(false);
  		}
  		if (formulario.password.value== '') {
				alert("El campo está vacío y es OBLIGATORIO");
			formulario.password.focus()
			return(false);
		}
}

function validarAsesoria(formulario){
		if (formulario.NOMBRE.value==""){
			alert("el campo Nombre debe rellenarse")
			document.formulario.NOMBRE.focus()
			return false
		}
		if (formulario.EMAIL.value==""){
			alert("el campo Email debe rellenarse")
			document.formulario.EMAIL.focus()
			return false
		}
		if (!emailCheck(formulario.EMAIL.value)){
			document.formulario.EMAIL.focus()
			return false
		}
		if (formulario.TELEFONO.value==""){
			alert("el campo Telefono debe rellenarse")
			document.formulario.TELEFONO.focus()
			return false
		}
		if (formulario.CONSULTA.value==""){
			alert("el campo Consulta debe rellenarse")
			document.formulario.CONSULTA.focus()
			return false
		}
		formulario.submit()
}

function emailCheck (emailStr) {
	var emailPat=/^(.+)@(.+)$/
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
	var validChars="\[^\\s" + specialChars + "\]"
	var quotedUser="(\"[^\"]*\")"
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	var atom=validChars + '+'
	var word="(" + atom + "|" + quotedUser + ")"
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
	var matchArray=emailStr.match(emailPat)
	if (matchArray==null) {
	  
		alert("La entrada de e-mail parece ser incorrecta (compruebe @ y .'s)")
		return false
	}
	var user=matchArray[1]
	var domain=matchArray[2]
	
	if (user.match(userPat)==null) {
		
		alert("El nombre de usuario del e-mail parece no ser correcto.")
		return false
	}
	
	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) {
		
		  for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				alert("Direccion IP no valida!")
				return false
			}
		}
		return true
	}
	
	var domainArray=domain.match(domainPat)
	if (domainArray==null) {
		alert("El nombre de dominio del e-mail parece no ser correcto.")
		return false
	}
	
	var atomPat=new RegExp(atom,"g")
	var domArr=domain.match(atomPat)
	var len=domArr.length
	if (domArr[domArr.length-1].length<2 || 
		domArr[domArr.length-1].length>3) {
	   
	   alert("La direccion de correo debe acabar en 3 letras de dominio o 2 de un pais.")
	   return false
	}
	
	if (len<2) {
	   var errStr="Esta direccion es desconocida como IP!"
	   alert(errStr)
	   return false
	}
	
	return true;
}

/*function emailCheck (emailStr) {
	var emailPat=/^(.+)@(.+)$/
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
	var validChars="\[^\\s" + specialChars + "\]"
	var quotedUser="(\"[^\"]*\")"
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	var atom=validChars + '+'
	var word="(" + atom + "|" + quotedUser + ")"
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
	var matchArray=emailStr.match(emailPat)
	if (matchArray==null) {
		alert("La entrada de e-mail parece ser incorrecta (compruebe @ y .'s)")
		return false
	}
	var user=matchArray[1]
	var domain=matchArray[2]
	
	if (user.match(userPat)==null) {
		alert("El nombre de usuario parece no ser correcto.")
		return false
	}
	
	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) {
		  for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				alert("Direccion IP no valida!")
			return false
			}
		}
		return true
	}
	
	var domainArray=domain.match(domainPat)
	if (domainArray==null) {
		alert("El nombre de dominio parece no ser correcto.")
		return false
	}
	
	var atomPat=new RegExp(atom,"g")
	var domArr=domain.match(atomPat)
	var len=domArr.length
	if (domArr[domArr.length-1].length<2 || 
		domArr[domArr.length-1].length>3) {
	   alert("La direccion de correo debe acabar en 3 letras de dominio o 2 de un pais.")
	   return false
	}
	
	if (len<2) {
	   var errStr="Esta direccion es desconocida como IP!"
	   alert(errStr)
	   return false
	}

}
*/
function abrirgral (url, winwidth, winheight)
{
	var heightspeed = 20;
	var widthspeed = 20;
	var leftdist = 20;
	var topdist = 20;
	if (document.all)
	{
		var sizer = window.open("","","left=" + leftdist + ",top=" + topdist +",width=25,height=25,scrollbars=yes, menubar=no, toolbar=no, resizable=no");
		for (sizeheight = 25; sizeheight < winheight; sizeheight += heightspeed)
			sizer.resizeTo("1", sizeheight);
		for (sizewidth = 25; sizewidth < winwidth; sizewidth += widthspeed)
			sizer.resizeTo(sizewidth, sizeheight);
		sizer.location = url;
	}
	else
	{
		var sizer = window.open(url,"","resizable=no,left=100,top=100,width=" + winwidth + ",height=" + winheight + ",scrollbars=yes, menubar=no, toolbar=no");
	}
}

function CheckURL (urlStr)
{
	 if (urlStr.indexOf(" ")!=-1){
		  alert("No se permiten espacios en una URL");
		  return false;
	 }
	 if(urlStr==""||urlStr==null){
		  return false;
	 }

	 urlStr=urlStr.toLowerCase();
	 var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
	 var validChars="\[^\\s" + specialChars + "\]";
	 var atom=validChars + '+';
	 var urlPat=/^http:\/\/(\w*)\.([\-\+a-z0-9]*)\.(\w*)/;
	 var matchArray=urlStr.match(urlPat);
	 if (matchArray==null){
		  alert("La URL parece ser incorrecta\nCompruebe que empieza por http://\n y que tiene 2 puntos.");
		  return false;
	 }
	 var user=matchArray[2];
	 var domain=matchArray[3];
	 for (i=0; i<user.length; i++) {
		  if (user.charCodeAt(i)>127) {
			   alert("El dominio contiene caracteres inválidos.");
			   return false;
		  }
	 }
	 for (i=0; i<domain.length; i++) {
		  if (domain.charCodeAt(i)>127) {
			   alert("El nombre de dominio contiene caracteres inválidos.");
			   return false;
		  }
	 }
	 var atomPat=new RegExp("^" + atom + "$");
	 var domArr=domain.split(".");
	 var len=domArr.length;
	 for (i=0;i<len;i++) {
		  if (domArr[i].search(atomPat)==-1) {
			   alert("El nombre de dominio parece no ser correcto.");
			   return false;
		  }
	 }

	 //
	// Permit these domain extensions...
	//
	var knownDomsPat = /[com|tv|co.in]/;

	 if (domArr[domArr.length-1].length!=2 &&
		 domArr[domArr.length-1].search(knownDomsPat)==-1) {
		  alert("La dirección debe acabar en 3 letras de dominio o 2 de un país.");
		  return false;
	 }
	 return true;
}

function comprobarDNIoNIE(dniOnie){
	primeraletra=dniOnie.value.substring(0,1).toUpperCase();
	if(primeraletra!='X'){
		return esDNI(dniOnie)
	} else{
		return esNIE(dniOnie)
	}
}

function esNIE(nie){
	dni = nie.value.substring(1,8);
	letra=nie.value.substring(8,9).toUpperCase();

	if(dni.length!=7 || !esEnteroSinSigno(dni)){
		if(dni.length!=7){
			alert('Debe introducir un NIE válido (longitud incorrecta). El formato es: 12345678A')
			return false
		}
		if(!esEnteroSinSigno(dni)){
			alert('Debe introducir un NIE válido (un entero positivo). El formato es: 12345678A')
			return false
		}
	}
	if (letra==''){
		alert('Debe introducir una letra. El formato es: 12345678A');
		return false;
	}
	if (calcularLetra(dni)!=letra){
		alert('La letra introducida no corresponde al NIE. El formato es: 12345678A');
		return false;
	}
	return true;
}

function esDNI(dniConLetra){
	dni = dniConLetra.value.substring(0,8);
	letra=dniConLetra.value.substring(8,9).toUpperCase();
	dniConLetra.value=dni+letra;
//	formulario.seldni.value=dni

	if(dni.length!=8 || !esEnteroSinSigno(dni)){
		if(dni.length!=8){
			alert('Debe introducir un DNI válido (longitud incorrecta). El formato es: 12345678A')
			return false
		}
		if(!esEnteroSinSigno(dni)){
			alert('Debe introducir un DNI válido (un entero positivo). El formato es: 12345678A')
			return false
		}
	}
	if (letra==''){
		alert('Debe introducir una letra. El formato es: 12345678A');
		return false;
	}
	if (calcularLetra(dni)!=letra){
		alert('La letra introducida no corresponde al DNI. El formato es: 12345678A');
		return false;
	}
	return true;
}
function esEnteroSinSigno(num){
	if(isNaN(num)) return 0
	if(num<0) return 0
	return 1
}
function calcularLetra(dni)
{
	var JuegoCaracteres="TRWAGMYFPDXBNJZSQVHLCKET";
	var Posicion= dni % 23;
	var Letra = JuegoCaracteres.charAt(Posicion);
	return Letra;
}
function isEmpty( str){
    strRE = new RegExp( );
    strRE.compile( '^[\s ]*$', 'gi' );
    return strRE.test( str );
}

function VentanaPopup (url, width)
{
    if (width==undefined||width==null||!width.toString().match(/^\d+$/))
		width=550;

	window.open(url, 'Detalles', 'width='+width+',height=550,location=no,directories=no,menubar=no,toolbar=no,status=no,scrollbars=yes,resizable=yes,dependent=no');
	return false;
}

function VentanaModal (url, width)
{
    if (width==undefined||width==null||!width.toString().match(/^\d+$/))
		width=850;

    var popID = "VM"+Math.floor(Math.random()*1000000001);
	var popURL = url;

    var div_popup = $('<div id="'+popID+'" class="popup_block"></div>');

	$.get(url,{},function(datos){

		div_popup.appendTo("body").append(datos);

		var popWidth=width;
	
		//Fade in the Popup and add close button
		$('#' + popID).fadeIn().css({ 'width': Number( popWidth ) }).prepend('<a href="#" class="close"><img src="/imagenes/close_pop.png" class="btn_close" title="Cerrar ventana" alt="Cerrar" /></a>');
	
		//Define margin for center alignment (vertical   horizontal) - we add 80px to the height/width to accomodate for the padding  and border width defined in the css
		var popMargTop = ($('#' + popID).height() + 80) / 2;
		var popMargLeft = ($('#' + popID).width() + 80) / 2;
	
		//Apply Margin to Popup
		$('#' + popID).css({
			'margin-top' : -popMargTop,
			'margin-left' : -popMargLeft
		});
	
		//Fade in Background
		$('body').append('<div id="fade"></div>'); //Add the fade layer to bottom of the body tag.
		$('#fade').css({'filter' : 'alpha(opacity=80)'}).fadeIn(); //Fade in the fade layer - .css({'filter' : 'alpha(opacity=80)'}) is used to fix the IE Bug on fading transparencies 
	
	
		$('a.close, #fade').click(function() { //When clicking on the close or fade layer...
			$('#fade , .popup_block').fadeOut(function() {
				$('#fade, div#'+popID).remove();  //fade them both out
			});
			return false;
		});

	});

/*    div_popup.load(url,function(){
		div_popup.appendTo("body");

		var popWidth=width;
	
		//Fade in the Popup and add close button
		$('#' + popID).fadeIn().css({ 'width': Number( popWidth ) }).prepend('<a href="#" class="close"><img src="/imagenes/close_pop.png" class="btn_close" title="Cerrar ventana" alt="Cerrar" /></a>');
	
		//Define margin for center alignment (vertical   horizontal) - we add 80px to the height/width to accomodate for the padding  and border width defined in the css
		var popMargTop = ($('#' + popID).height() + 80) / 2;
		var popMargLeft = ($('#' + popID).width() + 80) / 2;
	
		//Apply Margin to Popup
		$('#' + popID).css({
			'margin-top' : -popMargTop,
			'margin-left' : -popMargLeft
		});
	
		//Fade in Background
		$('body').append('<div id="fade"></div>'); //Add the fade layer to bottom of the body tag.
		$('#fade').css({'filter' : 'alpha(opacity=80)'}).fadeIn(); //Fade in the fade layer - .css({'filter' : 'alpha(opacity=80)'}) is used to fix the IE Bug on fading transparencies 
	
	
		$('a.close, #fade').click(function() { //When clicking on the close or fade layer...
			$('#fade , .popup_block').fadeOut(function() {
				$('#fade, div#'+popID).remove();  //fade them both out
			});
			return false;
		});

    });*/

    return false;
}

function popup_editar_grupo_trabajo (id_grupo, nombre_grupo)
{
	$('<div id="detalles_grupo_trabajo" title="Editar datos del grupo '+nombre_grupo+'" style="display:none;width:600px;max-height:500px"></div>')
		.appendTo('body')
		.load(
			'grupo_trabajo_detalles.php', 
			{id_grupo:id_grupo},
			function (responseText, textStatus, XMLHttpRequest) {
				$("#detalles_grupo_trabajo").dialog({
					maxHeight:500,
					height: 'auto',
					width: '600',
					modal: true,
					close: function() {
						$( this ).dialog( "destroy" );
						$("#detalles_grupo_trabajo").remove();
					},
					buttons: [
						{
							id:"detalles_grupo_trabajo_boton_guardar",
							text: "Guardar",
							click: function() {
								$.post("grupo_trabajo_guardar.php", $("#detalles_grupo_trabajo form[name='grupo_area']").serialize(), function(data){
									if (data=="OK")
									{
										$("#detalles_grupo_trabajo").dialog("close");
									}
									else
									{
										alert(data);
									}
								});
							}
                        }
					]

				});
			}
		);
	return false;
}

function popup_citas ()
{
	if (!verificar_login())
		return false;

	$('<div id="popup_citas" title="Petición de cita" style="display:none;width:600px;max-height:500px"></div>')
		.appendTo('body')
		.load(
			'/citas/cita.php', 
			function (responseText, textStatus, XMLHttpRequest) {
				$("#popup_citas").dialog({
					maxHeight:500,
					height: 'auto',
					width: '600',
					modal: true,
					close: function() {
						$( this ).dialog( "destroy" );
						$("#popup_citas").remove();
					},
					buttons: [
						{
							id:"popup_citas_boton_guardar",
							text: "Enviar datos",
							click: function() {
								var fecha_sel=$("#popup_citas form[name='cita'] input[name='FechaCita']").is(":checked");
								if (!fecha_sel)
									if (!confirm('No ha seleccionado ninguna fecha. ¿Seguro que desea continuar?'))
										return;

								$.post("/citas/cita_guardar.php", $("#popup_citas form[name='cita']").serialize(), function(data){
									if (data=="OK")
									{
										$("#popup_citas").dialog("close");
										alert("Su cita ha sido solicitada. Recibirá un e-mail de confirmación.");
									}
									else
									{
										alert(data);
									}
								});
							}
                        }
					]

				});
			}
		);
	return false;
}

function verificar_login ()
{
	var logueado=null;

	$.ajax({url: "/verificar_login.php", type: 'get',dataType: 'json',async: false,success: function(datos) {
		if (datos.logueado==false)
		{
			alert ("Debe iniciar sesión para continuar.");

			$("#menu-izquierda-login").css("border-color","#FF0000");
			$('html, body').animate({ scrollTop: $("#menu-izquierda-login").offset().top }, 600, function(){
				$('#menu-izquierda-login').effect("pulsate", { times:1 },function(){
					$('#menu-izquierda-login input[name="usuario"]').focus();
					$("#menu-izquierda-login").css("border-color","#999999");
				});
			});
			
			logueado=false;
		}
		else
			logueado=true;
	}});
	return logueado;
}

jQuery(function($){
	$.datepicker.regional['es'] = {
		closeText: 'Cerrar',
		prevText: '&#x3c;Ant',
		nextText: 'Sig&#x3e;',
		currentText: 'Hoy',
		monthNames: ['Enero','Febrero','Marzo','Abril','Mayo','Junio',
		'Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'],
		monthNamesShort: ['Ene','Feb','Mar','Abr','May','Jun',
		'Jul','Ago','Sep','Oct','Nov','Dic'],
		dayNames: ['Domingo','Lunes','Martes','Mi&eacute;rcoles','Jueves','Viernes','S&aacute;bado'],
		dayNamesShort: ['Dom','Lun','Mar','Mi&eacute;','Juv','Vie','S&aacute;b'],
		dayNamesMin: ['Do','Lu','Ma','Mi','Ju','Vi','S&aacute;'],
		weekHeader: 'Sm',
		dateFormat: 'dd/mm/yy',
		firstDay: 1,
		isRTL: false,
		showMonthAfterYear: false,
		yearSuffix: ''};
	$.datepicker.setDefaults($.datepicker.regional['es']);
});

