// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults
// used to find the Automation server name

var array_tagNames = ['personal','familiar','enfermedad','otrosdatos','cuota','cobros'];

function rnd(scale) {
    if (scale==null){
        scale = 1000000000000;
    }
    var dd=new Date();
    return((Math.round(Math.abs(Math.sin(dd.getTime()))*1000000000)%scale));
}

function changePoblacion(docObj){
	var value = docObj.getElementById('PoblacionNombre_div').innerHTML;
	if (value==""){
		docObj.getElementById('PoblacionNombre').disabled = false;
	}
	else{
		docObj.getElementById('PoblacionNombre').disabled = true;		
	}
	docObj.getElementById('PoblacionNombre').value = value;
	document.getElementById('loading1').innerHTML = '';
}		

function changeBanco(docObj){
	var value = docObj.getElementById('BancoNombre_div').innerHTML;
	if (value==""){
		docObj.getElementById('BancoNombre').disabled = false;
		docObj.getElementById('BancoDireccion').disabled = false;
	}
	else{
		docObj.getElementById('BancoNombre').disabled = true;		
		docObj.getElementById('BancoDireccion').disabled = true;
	}
	docObj.getElementById('BancoNombre').value = value;
	docObj.getElementById('BancoDireccion').value = "";
	clearOficina(docObj);
	document.getElementById('loading2').innerHTML = '';	
}		

function changeOficina(docObj){
	var value = docObj.getElementById('BancoDireccion_div').innerHTML;
	if (value==""){
		docObj.getElementById('BancoDireccion').disabled = false;
	}
	else{
		docObj.getElementById('BancoDireccion').disabled = true;
	}
	docObj.getElementById('BancoDireccion').value = value;
	docObj.getElementById('SocioDigitoscontrol').value = "";
	docObj.getElementById('SocioCcc').value = "";
	document.getElementById('loading2').innerHTML = '';	
}		

function clearOficina(docObj){
	docObj.getElementById('BancoDireccion_div').innerHTML = "";
	docObj.getElementById('BancoDireccion').disabled = true;		
	docObj.getElementById('BancoDireccion').value = "";

	docObj.getElementById('BancoId2').value = "";
	docObj.getElementById('SocioDigitoscontrol').value = "";
	docObj.getElementById('SocioCcc').value = "";	
}		


function validar(formObj){
	if (formObj.SocioNombre.value==""){
		alert('Introduzca su nombre.');
		formObj.SocioNombre.focus();
		return false;
	}

	if (formObj.SocioApellidos.value==""){
		alert('Introduzca sus apellidos.');
		formObj.SocioApellidos.focus();
		return false;
	}

	if (formObj.SocioDni.value==""){
		alert('Introduzca su dni.');
		formObj.SocioDni.focus();
		return false;
	}

	if (formObj.SocioDomicilio.value==""){
		alert('Introduzca su direccion.');
		formObj.SocioDomicilio.focus();
		return false;
	}
	
	if (formObj.SocioPoblacionId.value==""){
		alert('Introduzca su codigo postal.');
		formObj.SocioPoblacionId.focus();
		return false;
	}

	if (formObj.PoblacionNombre.value==""){
		alert('Introduzca su localidad.');
		formObj.PoblacionNombre.focus();
		return false;
	}

	if (formObj.SocioEmail.value==""){
		alert('Introduzca su correo electronico.');
		formObj.SocioEmail.focus();
		return false;
	}

	if (formObj.SocioTelefono.value=="" && formObj.SocioMovil.value==""){
		alert('Introduzca su telefono o movil.');
		formObj.SocioTelefono.focus();
		return false;
	}

	if (formObj.SocioTipo0.checked==false && formObj.SocioTipo1.checked==false){
		alert('Introduzca el tipo de socio solicitado.');
		formObj.SocioTipo0.focus();
		return false;
	}

	if (formObj.EnfermoGrado.value==""){
		alert('Introduzca su grado de discapacidad.');
		formObj.EnfermoGrado.focus();
		return false;
	}

	if (formObj.SocioFormacobro.selectedIndex == 0){		
		if (formObj.BancoId1.value=="" || 
			formObj.BancoId2.value=="" || 
			formObj.BancoId1.value.length < 4 ||
			formObj.BancoId2.value.length < 4 ||
			formObj.SocioDigitoscontrol.value=="" || 
			formObj.SocioCcc.value==""){
			alert('Debe introducir su numero de cuenta corriente completo.');
			formObj.BancoId1.focus();
			return false;
		}
		
		if (formObj.BancoNombre.value==""){
			alert('Introduzca el nombre del banco.');
			formObj.BancoNombre.focus();
			return false;
		}
	
		if (formObj.BancoDireccion.value==""){
			alert('Introduzca la direccion de la oficina bancaria.');
			formObj.BancoDireccion.focus();
			return false;
		}
		formObj.BancoNombre.disabled = formObj.BancoDireccion.disabled;		
	}

	if (formObj.OK.checked==false){
		alert('Debe expresar su conformidad y la veracidad\nde los datos introducidos.');
		formObj.OK.focus();
		return false;
	}
	return true;
}

function changeNumero(docObj){
	var value = docObj.getElementById('SocioNumero_div').innerHTML;
	docObj.getElementById('SocioNumero').value = value;
	document.getElementById('loading3').innerHTML = '';	
}

//Mi amigo Carlos estuvo aqui 07/08/2008 12:37
function validarSocioEditForm(formObj){
	if (formObj.SocioNumero.value==""){
		alert('Introduzca un numero de socio o pulse calcular\npara asignar uno automáticamente.');
		selectTag(document,'personal');
		formObj.SocioNumero.focus();
		return false;
	}
	
	if (formObj.SocioNombre.value==""){
		alert('Introduzca el nombre.');
		selectTag(document,'personal');
		formObj.SocioNombre.focus();
		return false;
	}

	if (formObj.SocioApellidos.value==""){
		alert('Introduzca los apellidos.');
		selectTag(document,'personal');
		formObj.SocioApellidos.focus();
		return false;
	}

	if (formObj.SocioDni.value==""){
		alert('Introduzca el dni.');
		selectTag(document,'personal');
		formObj.SocioDni.focus();
		return false;
	}

	if (formObj.SocioDomicilio.value==""){
		alert('Introduzca la direccion.');
		selectTag(document,'personal');
		formObj.SocioDomicilio.focus();
		return false;
	}
	
	if (formObj.SocioPoblacionId.value==""){
		alert('Introduzca el codigo postal.');
		selectTag(document,'personal');
		formObj.SocioPoblacionId.focus();
		return false;
	}

	if (formObj.PoblacionNombre.value==""){
		alert('Introduzca la localidad.');
		selectTag(document,'personal');
		formObj.PoblacionNombre.focus();
		return false;
	}

	if (formObj.SocioTelefono.value=="" && formObj.SocioMovil.value==""){
		alert('Introduzca un telefono o movil.');
		selectTag(document,'personal');
		formObj.SocioTelefono.focus();
		return false;
	}

	if (formObj.SocioTipo0.checked==false && formObj.SocioTipo1.checked==false && formObj.SocioTipo2.checked==false){
		alert('Introduzca el tipo de socio solicitado.');
		selectTag(document,'personal');
		formObj.SocioTipo0.focus();
		return false;
	}

	if (formObj.EnfermoGrado.value==""){
		alert('Introduzca el grado de discapacidad.');
		//VisualizarPestana
		selectTag(document,'enfermedad');
		formObj.EnfermoGrado.focus();
		return false;
	}


	if (formObj.EnfermoNombre.value==""){
		alert('Introduzca el nombre del discapacitado.');
		//VisualizarPestana
		selectTag(document,'familiar');
		formObj.EnfermoNombre.focus();
		return false;
	}

	if (formObj.EnfermoApellidos.value==""){
		alert('Introduzca los apellidos del discapacitado.');
		//VisualizarPestana
		selectTag(document,'familiar');
		formObj.EnfermoApellidos.focus();
		return false;
	}
	
	var enfermoTipo = document.getElementById('EnfermoTipo');
	var selectedTipo = false;
	for(i = 0; i < enfermoTipo.options.length; i++){
		if (enfermoTipo.options[i].selected == true){
			selectedTipo = true;
			break;
		}
	}
	if (!selectedTipo){
		alert('Introduzca el tipo de discapacidad.');
		selectTag(document,'enfermedad');
		enfermoTipo.focus();
		return false;
	}
	
	if (formObj.SocioTipocuota.selectedIndex > 0){
		if (formObj.SocioImporte.value==""){
			alert('Introduzca el importe a cobrar.');
			selectTag(document,'cuota');
			formObj.SocioImporte.focus();
			return false;
		}		
	}
	
	if (formObj.SocioFormacobro.selectedIndex == 0){
		if (formObj.SocioTitular.selectedIndex == 1){
			if (formObj.SocioNombreTitular.value==""){
				alert('Introduzca el nombre del titular de la cuenta corriente.');
				selectTag(document,'cuota');
				formObj.SocioNombreTitular.focus();
				return false;
			}		
			if (formObj.SocioApellidosTitular.value==""){
				alert('Introduzca los apellidos del titular de la cuenta corriente.');
				selectTag(document,'cuota');
				formObj.SocioApellidosTitular.focus();
				return false;
			}		
			if (formObj.SocioNifTitular.value==""){
				alert('Introduzca el nif del titular de la cuenta corriente.');
				selectTag(document,'cuota');
				formObj.SocioNifTitular.focus();
				return false;
			}		
		}
		
		if (formObj.BancoId1.value=="" || 
			formObj.BancoId2.value=="" || 
			formObj.BancoId1.value.length < 4 ||
			formObj.BancoId2.value.length < 4 ||
			formObj.SocioDigitoscontrol.value=="" || 
			formObj.SocioCcc.value==""){
			alert('Debe introducir el numero de cuenta corriente completo.');
			selectTag(document,'cuota');
			formObj.BancoId1.focus();
			return false;
		}
		
		if (formObj.BancoNombre.value==""){
			alert('Introduzca el nombre del banco.');
			selectTag(document,'cuota');
			formObj.BancoNombre.focus();
			return false;
		}
	
		if (formObj.BancoDireccion.value==""){
			alert('Introduzca la direccion de la oficina bancaria.');
			selectTag(document,'cuota');
			formObj.BancoDireccion.focus();
			return false;
		}		
	}
	
	//Si damos de baja hay que seleccionar el motivo y la fecha
	if (formObj.SocioNuevoestado.value > 1){
		if (formObj.SocioMotivo.selectedIndex==0){
			alert('Debe seleccionar un motivo para la baja.');
			selectTag(document,'personal');
			formObj.SocioMotivo.focus();
			return false;
		}				
	}

	formObj.BancoNombre.disabled = formObj.BancoDireccion.disabled;
	
	return true;
}

function changeImporte(docObj,formObj,selObj){
	//Se le suma el base
	var meses_por_cuota = docObj.getElementById('SocioMesesporcuota').value;
	if (selObj.selectedIndex > 0){
		formObj.SocioImporte.value = redondeaEuros(meses_por_cuota * docObj.getElementById('SpanImporteTotal').innerHTML);
		formObj.SocioImporte.disabled = false;
		formObj.SocioImporte.className ="textbox strict";		
		formObj.SocioFormacobro.disabled = false;		
	}
	else{
		formObj.SocioImporte.value = "0";
		formObj.SocioImporte.disabled = true;
		formObj.SocioImporte.className ="textbox";		
		
		formObj.SocioFormacobro.selectedIndex = 1;		
		formObj.SocioFormacobro.disabled = true;		
	}

	changeFormaCobro(formObj,formObj.SocioFormacobro);
	return true;
}

function changeTitular(formObj,selObj){
	if (selObj.selectedIndex == 1){
		formObj.SocioNombreTitular.value = "";
		formObj.SocioNombreTitular.disabled = false;
		formObj.SocioNombreTitular.className ="textbox strict";		

		formObj.SocioNifTitular.value = "";
		formObj.SocioNifTitular.disabled = false;
		formObj.SocioNifTitular.className ="textbox strict";		

		formObj.SocioApellidosTitular.value = "";
		formObj.SocioApellidosTitular.disabled = false;
		formObj.SocioApellidosTitular.className ="textbox strict";		
	}
	else{
		formObj.SocioNombreTitular.disabled = true;
		formObj.SocioNombreTitular.className ="textbox";		

		formObj.SocioNifTitular.disabled = true;
		formObj.SocioNifTitular.className ="textbox";		

		formObj.SocioApellidosTitular.disabled = true;
		formObj.SocioApellidosTitular.className ="textbox";		
	}	
	return true;

}

function changeFormaCobro(formObj,selObj){
	if (selObj.selectedIndex == 0){
		formObj.BancoId1.disabled = false;
		formObj.BancoId1.className ="textbox strict";		

		formObj.BancoId2.disabled = false;
		formObj.BancoId2.className ="textbox strict";		

		formObj.SocioCcc.disabled = false;
		formObj.SocioCcc.className ="textbox strict";	
		
		formObj.SocioDigitoscontrol.disabled = false;
		formObj.SocioDigitoscontrol.className ="textbox strict";	

		formObj.BancoNombre.disabled = true;
		formObj.BancoNombre.className ="textbox strict";	
		
		formObj.BancoDireccion.disabled = true;
		formObj.BancoDireccion.className ="textbox strict";	
		formObj.SocioTitular.disabled = false;
	}
	else{
		formObj.SocioTitular.disabled= true
		
		formObj.BancoId1.disabled = true;
		formObj.BancoId1.className ="textbox";		

		formObj.BancoId2.disabled = true;
		formObj.BancoId2.className ="textbox";		

		formObj.SocioCcc.disabled = true;
		formObj.SocioCcc.className ="textbox";	
		
		formObj.SocioDigitoscontrol.disabled = true;
		formObj.SocioDigitoscontrol.className ="textbox";	

		formObj.BancoNombre.disabled = true;
		formObj.BancoNombre.className ="textbox";	
		
		formObj.BancoDireccion.disabled = true;
		formObj.BancoDireccion.className ="textbox";	
	}	
	formObj.SocioTitular.selectedIndex = 0;
	changeTitular(formObj,formObj.SocioTitular);
	return true;	
}

var dirty = false;
function isDirty(){
	return dirty;
}

function setDirty(){
	dirty = true;
}

function setClean(){
	dirty = false;
}

function changeFormaCobroRegistro(formObj,selObj){
	if (selObj.selectedIndex == 0){
		formObj.BancoId1.disabled = false;
		formObj.BancoId1.className ="textbox strict";		

		formObj.BancoId2.disabled = false;
		formObj.BancoId2.className ="textbox strict";		

		formObj.SocioCcc.disabled = false;
		formObj.SocioCcc.className ="textbox strict";	
		
		formObj.SocioDigitoscontrol.disabled = false;
		formObj.SocioDigitoscontrol.className ="textbox strict";	

		formObj.BancoNombre.disabled = true;
		formObj.BancoNombre.className ="textbox strict";	
		
		formObj.BancoDireccion.disabled = true;
		formObj.BancoDireccion.className ="textbox strict";	
	}
	else{		
		formObj.BancoId1.disabled = true;
		formObj.BancoId1.className ="textbox";		

		formObj.BancoId2.disabled = true;
		formObj.BancoId2.className ="textbox";		

		formObj.SocioCcc.disabled = true;
		formObj.SocioCcc.className ="textbox";	
		
		formObj.SocioDigitoscontrol.disabled = true;
		formObj.SocioDigitoscontrol.className ="textbox";	

		formObj.BancoNombre.disabled = true;
		formObj.BancoNombre.className ="textbox";	
		
		formObj.BancoDireccion.disabled = true;
		formObj.BancoDireccion.className ="textbox";	
	}	
	return true;	
}

function obtenerSeleccion(form_id, table_id)
{
	var ret = '';
	var sep = '';
	for (var i=0;i<document.forms[form_id].elements.length;i++)
	{
//		alert('entro1:'+document.forms[form_id].elements[i].name+",value:"+document.forms[form_id].elements[i].checked);
		if( (document.forms[form_id].elements[i].name == table_id+"[selected][]") && document.forms[form_id].elements[i].checked==true){
			ret = ret + sep + document.forms[form_id].elements[i].value;
			sep = ',';
		}
	}
	return ret;
}

function imprimirResultados(){
	var ids = '';

	if (document.PrintreportForm.id.value==''){
		ids = obtenerSeleccion('Search','socio_search');
	}
	else{
		ids = document.PrintreportForm.id.value;		
	}
	
	if (ids!=''){
		document.PrintreportForm.ids.value = ids;
		document.PrintreportForm.submit();		
	}
	else{
		alert('Debe seleccionar los socios a imprimir.');
	}	
}

function imprimirEtiquetas(celda){
	var ids = '';

	if (document.PrinttagsForm.id.value==''){
		ids = obtenerSeleccion('Search','socio_search');
	}
	else{
		ids = document.PrinttagsForm.id.value;		
	}
	
	if (ids!=''){
		document.PrinttagsForm.ids.value = ids;
		document.PrinttagsForm.position.value = celda;
		document.PrinttagsForm.submit();		
	}
	else{
		alert('Debe seleccionar los socios a imprimir.');
	}	
}

function changeServicio(docObj,formObj,chkObj){	
	if (chkObj.checked){
		docObj.getElementById('SocioServicioImporte'+chkObj.value).disabled=false;
		docObj.getElementById('SocioServicioHoras'+chkObj.value).disabled=false;
	}
	else{
		docObj.getElementById('SocioServicioImporte'+chkObj.value).disabled=true;
		docObj.getElementById('SocioServicioHoras'+chkObj.value).disabled=true;
	}
	
	//Actualizamos el importe total
	importeTotalActualizar(docObj,formObj);
	return true;	
}

function importeTotalActualizar(docObj,formObj){	
	var total = calculaTotal(docObj,formObj);
	docObj.getElementById('SpanImporteTotal').innerHTML = total;
	changeImporte(docObj,formObj,docObj.getElementById('SocioTipocuota'));
	return true;
}

function calculaTotal(docObj,formObj){
	var total = 0.0;
	for (var i=0;i<formObj.elements.length;i++)
	{
		if(formObj.elements[i].name == "data[Socio][Servicio][servicio_id][]" && formObj.elements[i].checked==true){
			total = total + (docObj.getElementById('SocioServicioImporte'+formObj.elements[i].value).value * docObj.getElementById('SocioServicioHoras'+formObj.elements[i].value).value);
		}
	}
	
	return redondeaEuros(total);
}

function redondeaEuros(euros){
	return euros;
}

function validateFloat(textObj){
	if (!isFloat(textObj.value)){
		alert('Numero incorrecto.\nSepare los euros y los céntimos con un punto');
		textObj.focus();
		return false;
	}
	return true;
}

function imprimircarnets(){
	var ids = '';

	if (document.PrintcarnetsForm.id.value==''){
		ids = obtenerSeleccion('Search','socio_search');
	}
	else{
		ids = document.PrintcarnetsForm.id.value;		
	}
	
	if (ids!=''){
		document.PrintcarnetsForm.ids.value = ids;
		document.PrintcarnetsForm.submit();		
	}
	else{
		alert('Debe seleccionar los socios a imprimir.');
	}	
}
