var MensajeCamposOblig = 'Los campos marcados con * deben de estar cumplimentados obligatoriamente';
var MensajeCamposObligENG = 'Los campos marcados con * deben de estar cumplimentados obligatoriamente';
var MensajeCamposObligHUN = 'Los campos marcados con * deben de estar cumplimentados obligatoriamente';

function OpenWin (win, alto, ancho) {
	if (alto == '') {
		alto = screen.height - 100;
	}
	if (ancho == '') {
		ancho = 800;
	}
	var izq = (screen.width - ancho) / 2;
	window.open(win, '','status=no,menubar=no,resizable=yes,scrollbars=yes,top=0,left=' + izq + ',width=' + ancho + ',height=' + alto);
}

function MostrarOcultar (capa)	{
	if (capa.style.display == 'block') {
		capa.style.display = 'none';  
	}
	else {	
		capa.style.display = 'block';
	}
}

//*******************************************************************************
//
function FormatTexto(Formato) {
 if (document.selection.createRange().text != '') {
  switch (Formato) {
   case 'n':
    document.selection.createRange().text = '[b]' + document.selection.createRange().text + '[/b]';
    break;
   case 'c':
    document.selection.createRange().text = '[i]' + document.selection.createRange().text + '[/i]';
    break;
   case 's':
    document.selection.createRange().text = '[u]' + document.selection.createRange().text + '[/u]';
    break;
  }
 }
}

//*******************************************************************************
//
function Mostrar (capa)	{
  
 var oObject = document.all.tags("div");
	for (var i=0; i <  oObject.length; i++) {
	 oObject(i).style.display = 'none';
 }
 	capa.style.display = 'block';	 
}

//*******************************************************************************
//
function SeleccTR (tabla, fila, campo1, valor1, campo2, valor2) {
	for (i=0; i < tabla.rows.length; i++) {
		tabla.rows(i).className = 'NOSELECC';
  }
  fila.className = 'SELECC';
  campo1.value = valor1;
  campo2.value = valor2;
}

//*******************************************************************************
//
function EliminarFoto (foto, num, id, codigoCentro, idioma) 
{
	switch (idioma) {
		case 'ENG': 
			varLiteralSeguro = 'Are you sure to delete ' 
			break;
		case 'HUN': 
			varLiteralSeguro = 'Are you sure to delete'
			break;
		default:		
			varLiteralSeguro = '¿Está seguro de que desea eliminar'
	}

	if (foto != '') {
		resp = confirm (varLiteralSeguro + ' ' + foto + '"?');
		if (resp == true) {
			if (codigoCentro == 'PorDefecto') {
				document.URL = 'default.asp?car=adminWebPorDefecto&arc=EliminarFoto.asp&id=' + id + '&f=' + foto + '&n=' + num;
			}
			else {
				document.URL = 'default.asp?car=adminWeb&arc=EliminarFoto.asp&id=' + id + '&cc=' + codigoCentro + '&n=' + num + '&f=' + foto;
			}
		}
		else {
			return false;
		}
	}	
}

//*******************************************************************************
//
function Imprimir (capa) {		
	capa.style.display = 'none';
	print();
}


//*******************************************************************************
//
function quitarDisabled (formulario)	{
	for (i=0; i<formulario.all.length;i++) {
		formulario.all(i).disabled=false;
	}	
}

//*******************************************************************************
//
function MostrarOcultar (capa)	{
	if (capa.style.display == 'none') {
		capa.style.display='block'; 
	}
	else {
		capa.style.display='none'; 
	}	
}

//*******************************************************************************
//
function IntercambiarMostrarOcultar (capaM, capaO)	{
	capaM.style.display='block'; 
	capaO.style.display='none'; 				
}

//*******************************************************************************
//
function MostrarTabla(elem, imagen, row) {
	 if (elem.style.display == 'none') {
		elem.style.display = '';
		imagen.src = '../images/blue_up.gif';
		row.className = 'OPEN';
	 }
	 else {
	  elem.style.display = 'none';
		imagen.src = '../images/gray_down.gif';
		row.className = 'CLOSE';
	 } 
}

//*******************************************************************************
//
function MostrarTabla2(elem, imagen, row) {
	 if (elem.style.display == 'none') {
		elem.style.display = '';
		imagen.src = '../images/white_up.gif';
		row.className = 'OPEN';
	 }
	 else {
	  elem.style.display = 'none';
		imagen.src = '../images/White_down.gif';
		row.className = 'CLOSE';
	 } 
}
//*******************************************************************************
// 

function ValidaLongTextArea(texto, numCar) {
	textoInicio = texto.value	
	if (textoInicio.length >= numCar) {
		texto.value = textoInicio.substring (0, numCar);
	}	
}

//**************************************************************************
// Sólo números en caja de texto
// UTILIZACIÓN:
// NO permite decimales --> onkeypress="onlyDigits(event,'noDec')"
// SI permite decimales	--> onkeypress="onlyDigits(event,'decOK')"
var isIE = document.all?true:false;
var isNS = document.layers?true:false;
function onlyDigits(e,decReq) {
var key = (isIE) ? window.event.keyCode : e.which;
var obj = (isIE) ? event.srcElement : e.target;
var isNum = (key > 47 && key < 58) ? true:false;
var dotOK = (key==46 && decReq=='decOK' && (obj.value.indexOf(".")<0 || obj.value.length==0)) ? true:false;
window.event.keyCode = (!isNum && !dotOK && isIE) ? 0:key;
e.which = (!isNum && !dotOK && isNS) ? 0:key;
return (isNum || dotOK);
}

//*******************************************************************************
// Función que nos va a contar el número de caracteres y de palabras del area de texto
// de un formulario
function wordCount(texto,campo, idioma) {

	switch (idioma) {
		case 'ENG': 
			var Literal0Caract = '0 characters 0 words' 
			var LiteralCaracter = 'character'
			var LiteralCaracteres = 'characters'
			var LiteralPalabra = 'word'
			var LiteralPalabras = 'words'
			break;
		case 'HUN': 
			var Literal0Caract = '0 caracteres 0 palabras' 
			var LiteralCaracter = 'character'
			var LiteralCaracteres = 'characters'
			var LiteralPalabra = 'word'
			var LiteralPalabras = 'words'
			break;
		default:		
			var Literal0Caract = '0 caracteres 0 palabras' 
			var LiteralCaracter = 'caracter'
			var LiteralCaracteres = 'caracteres'
			var LiteralPalabra = 'palabra'
			var LiteralPalabras = 'palabras'
	}

	textoArea = texto.value;
	numeroCaracteres = textoArea.length;

	// Eliminamos los caracteres en blanco del inicio y del final. Usamos expresiones regulares
	inicioBlanco = /^ / // El ^ indica principio de cadena
	finBlanco = / $/ // El $ indica final de cadena
	variosBlancos = /[ ]+/g // El global (g) es para obtener todas las posibles combinaciones

	textoArea = textoArea.replace(inicioBlanco,"");
	textoArea = textoArea.replace(finBlanco,"");
	textoArea = textoArea.replace(variosBlancos," ");

	// Creamos un array con las diferentes palabras. Teniendo en cuenta que la separación
	// entre palabras es el espacio en blanco.
	textoAreaDividido = textoArea.split(" ");
	numeroPalabras = textoAreaDividido.length;

	if (textoArea.length == 0) {
		campo.value = Literal0Caract;
	}
	else {
		// Mostramos los datos.
	// Tendremos en cuenta si hay que escribir en plural o en singular.
	tC = (numeroCaracteres==1)? ' ' + LiteralCaracter :  ' ' + LiteralCaracteres;
	tP = (numeroPalabras==1)? ' ' + LiteralPalabra : ' ' + LiteralPalabras;
	campo.value = numeroCaracteres + tC + ' ' + numeroPalabras + tP;
	}
}

//***************************************************************************************************************
//************************************** VALIDA FECHAS **********************************************************
//***************************************************************************************************************
//El array "DaysInMonth" contiene los dias que tiene cada mes
var DaysInMonth = new Array()
DaysInMonth[0] = 31 //Los dias de Enero
DaysInMonth[1] = 0 //Los dias de Febrero se calculan mas adelante por si el año es bisiesto
DaysInMonth[2] = 31 //Los dias de Marzo
DaysInMonth[3] = 30 //Los dias de Abril
DaysInMonth[4] = 31 //Los dias de Mayo
DaysInMonth[5] = 30 //Los dias de Junio
DaysInMonth[6] = 31 //Los dias de Julio
DaysInMonth[7] = 31 //Los dias de Agosto
DaysInMonth[8] = 30 //Los dias de Septiembre
DaysInMonth[9] = 31 //Los dias de Octubre
DaysInMonth[10] = 30 //Los dias de Noviembre
DaysInMonth[11] = 31 //Los dias de Diciembre

//la funcion IsInteger(Chain) chequea si "Chain" es un numero entero sin signo valido
//La variable "Chain" es una cadena de caracteres
function IsInteger(Chain)
{
var Template = /^\d+$/ //Formato de numero entero sin signo
return Template.test(Chain) //Compara "Chain" con el formato "Template"
}

//La funcion "IsDay(Day, Month)" chequea si "Day" es un numero de dia valido para el mes "Month"
//Las variables "Day" y "Month" son cadenas de caracteres
function IsDay(Day, Month)
{
if (Day.substring(0,1) == 0) {
	Day = Day.substring (1,2)		
}
if (IsInteger(Day) && IsMonth(Month)) //Si "Day" es un numero entero valido y "Month" es un numero de mes valido
{
return (parseInt(Day)>0 && parseInt(Day)<=DaysInMonth[Month - 1]) ? 1 : 0 //Si "Day" esta entre 1 y los dias que tiene el mes "Month" devuelve verdadero si no devuelve falso
}
else return 0 //Si "Day" no es un numero entero valido o "Month" no es un numero de mes valido devuelve falso
}

//La funcion "IsMonth(Month)" chequea si "Month" es un numero de mes valido
//La variable "Month" es una cadena de caracteres
function IsMonth(Month)
{
if (Month.substring(0,1) == 0) {
	Month = Month.substring (1,2)		
}
if (IsInteger(Month)) //Si "Month" es un número entero valido
{
return (parseInt(Month)>0 && parseInt(Month)<=12) ? 1 : 0 //Si "Month" esta entre 1 y 12 devuelve verdadero si no devuelve falso
}
else return 0 //Si "Month" no es un numero entero valido devuelve falso
}

//La funcion "IsYear(Year)" chequea si "Year" es un numero de año valido
//La variable "Year" es una cadena de caracteres
function IsYear(Year)
{
if (IsInteger(Year)) //Si "Year" es un numero entero valido
{
return (Year.length == 4) ? 1 : 0 //Si "Year" tiene cuatro digitos devuelve verdadero si no devuelve falso
}
else return 0 //Si "Year" no es un numero entero valido devuelve falso
}

//La funcion IsLeapYear(Year) chequea si "Year" es un año es bisiesto
//La variable "Year" es una cadena de caracteres
function IsLeapYear(Year)
{
if (IsInteger(Year)) //Si "Year" es un numero entero valido
{
return ((Year % 4 == 0 && Year % 100 != 0) || (Year % 400 == 0)) ? 1 : 0// Si "Year" es un año es bisiesto devuelve verdadero si no devuelve falso
}
else return 0 //Si "Year" no es un numero entero valido devuelve falso
}

//La funcion IsDate(YourDate, YourDateSeparator) chequea si "YourDate" es una fecha valida con el separador de fecha "YourDateSeparator"
//Las variables "YourDate" y "YourDateSeparator" son cadenas de caracteres
function IsDate(YourDate, YourDateSeparator)
{
var IsAllOK = 1 //Variable iniciada como verdadera para saber si todas las validaciones fueron correctas
var YourDateParts = new Array() //Variable donde se almacenaran las partes de la fecha (dia, mes y año) tras haber eliminado el separador de la fecha
YourDateParts = YourDate.split(YourDateSeparator) //Se crean las partes de la fecha (dia, mes y año) eliminando el separador de la fecha
var Day = YourDateParts[0] //El dia corresponde al primer elemento del array
var Month = YourDateParts[1] //El mes corresponde al segundo elemento del array
var Year = YourDateParts[2] //El año corresponde al tercer elemento del array
if (IsYear(Year) && !IsLeapYear(Year)) //Si "Year" es un numero de año valido y no es bisiesto
{
DaysInMonth[1] = 28 //Como "Year" no es bisiesto Febrero tiene entonces 28 dias
}
else if (IsYear(Year) && IsLeapYear(Year)) //Si "Year" es un numero de año valido y es bisiesto
{
DaysInMonth[1] = 29 //Como "Year" es bisiesto Febrero tiene entonces 29 dias
}
else IsAllOK = 0 //Si "Year" no es un numero de año valido la variable pasa a ser falsa
IsAllOK = (IsMonth(Month)) ? IsAllOK : 0 //Si "Month" es un numero de mes valido la variable se queda como esta si no pasa a ser falsa
IsAllOK = (IsDay(Day, Month)) ? IsAllOK : 0 //Si "Day" es un numero de dia valido para el mes "Month" la variable se queda como esta si no pasa a ser falsa
return IsAllOK //Finalmente se devuelve el valor de la variable como verdadero o falso
}



//**********EOF****************************************************************