/*---------------------------------------------------------------------------------------------------------------
Funciones Varias
---------------------------------------------------------------------------------------------------------------*/
var cambio=0;
var myimages=new Array();
var imgchecker=screen.colorDepth;

function validarformulario(formulario,campos,_evento)
{
	var _n=0;
	if (_evento == 0) {_n=0;} else {_n=1;}
	var validado=true;
	var arraycampos=campos.split("|");
	for (var i=0;i<arraycampos.length;i++)
	{
		var objcampo=document.getElementById("campo"+formulario+arraycampos[i]);
		// var dummy=document.forms[formulario].elements[arraycampos[i]].value;
		var dummy=objcampo.value;
		if (dummy.length==0)
		{
			var obj=document.getElementById("etiqueta"+formulario+arraycampos[i]);
			obj.style.color="red";
			document.forms[formulario].elements[arraycampos[i]].style.backgroundColor="#FFB3B3";
			if (validado==true)
				document.forms[formulario].elements[arraycampos[i]].focus();
			validado=false;
		}
	}
	try
	{		
		var objcampo=document.getElementsByName("campo");
		if (objcampo[5+_n].checked == false && objcampo[6+_n].checked == false)
			{
				var obj=document.getElementById("etiqueta05");
				obj.style.color="red";
				validado=false;
			}
		if (validado==false)
			alert("Revise los campos obligatorios, por favor");
	}
	catch(E)
	{
	}
	return validado;
}

function validarformularionormal(formulario,campos)
{
	var validado=true;
	var arraycampos=campos.split("|");
	for (var i=0;i<arraycampos.length;i++)
	{
		var objcampo=document.getElementById("campo"+formulario+arraycampos[i]);
		// var dummy=document.forms[formulario].elements[arraycampos[i]].value;
		var dummy=objcampo.value;
		if (dummy.length==0)
		{
			var obj=document.getElementById("etiqueta"+formulario+arraycampos[i]);
			obj.style.color="red";
			document.forms[formulario].elements[arraycampos[i]].style.backgroundColor="#FFB3B3";
			if (validado==true)
				document.forms[formulario].elements[arraycampos[i]].focus();
			validado=false;
		}
	}
	return validado;
}


function enviar(formulario,campos,_evento)
{
	if (campos=="-1") 
		{document.forms[formulario].submit();
		return;}
		
	if (validarformulario(formulario,campos,_evento))
		document.forms[formulario].submit();
}

function enviarnormal(formulario,campos)
{
	if (campos=="-1") 
		{document.forms[formulario].submit();
		return;}
		
	if (validarformularionormal(formulario,campos))
		document.forms[formulario].submit();
}

function fondonormal(capa)
{
	var obj=document.getElementById(capa);
	obj.style.backgroundColor="#E6E6E6";
	var obj=document.getElementById(capa.replace("campo","etiqueta"));
	obj.style.color="#000000"

}

function mayusculas(formulario,capa)
{
	var dummy=document.getElementById(capa).value;
	dummy = dummy.toUpperCase()
	document.forms[formulario].elements[capa].value=dummy;
}

function minusculas(formulario,capa)
{
	var dummy=document.getElementById(capa).value;
	dummy = dummy.toLowerCase()
	document.forms[formulario].elements[capa].value=dummy;
}

function campoinicial()
{
	if (document.forms.length > 0)
		document.forms[0].elements[0].focus();
}

function acceptNum(evt)
{ 
	var nav4 = window.Event ? true : false;
	// NOTE: Backspace = 8, Enter = 13, '0' = 48, '9' = 57 
	var key = nav4 ? evt.which : evt.keyCode;
	key=(document.all) ? evt.keyCode : evt.which;
	if ((key >= 48 && key <= 57) || (key >= 65 && key <= 90) || (key >= 97 && key <= 122) || (key==8) || (key==9) || (key==0))
		return key;
	alert("No se permiten caracteres especiales, sólo letras y numeros");
	return false;
}


function SoloNumeros(evt)
{ 
	var nav4 = window.Event ? true : false;
	var key = nav4 ? evt.which : evt.keyCode;
	key=(document.all) ? evt.keyCode : evt.which;
	if ((key >= 48 && key <= 57) || (key==8) || (key==9) || (key==0))
		return key;
	alert("Sólo se permiten caracteres numéricos");
	return false;
}

function ValidarTelefonoFijo(telf)
{
	if (telf.length==0) return;
	expresion=/^[8,9]([0-9]{8,})/
	if (!expresion.exec(telf))
		alert("El teléfono introducido no es válido, recuerde:\n1.- Debe empezar por 9\n2.- Debe contener 9 dígitos");
}

function Validar_Telefonos_r03()
{
	fijo=/^[8,9]([0-9]{8,})/;
	movil=/^6([0-9]{8,})/;
	errorfijo="El teléfono fijo %VAR introducido no es válido, recuerde:\n1.- Debe empezar por 9\n2.- Debe contener 9 dígitos";
	errormovil="El teléfono movil %VAR introducido no es válido, recuerde:\n1.- Debe empezar por 6\n2.- Debe contener 9 dígitos";
	if (!fijo.exec(document.forms[0].elements[0].value) && document.forms[0].elements[0].value !="")
		{
			alert(errorfijo.replace("%VAR","principal"));
			return false;
		}		
	if (!fijo.exec(document.forms[0].elements[2].value) && document.forms[0].elements[2].value !="")
		{
			alert(errorfijo.replace("%VAR","en la variación 1"));
			return false;
		}		
	if (!fijo.exec(document.forms[0].elements[4].value) && document.forms[0].elements[4].value !="")
		{
			alert(errorfijo.replace("%VAR","en la variación 2"));
			return false;
		}		
	if (!movil.exec(document.forms[0].elements[1].value) && document.forms[0].elements[1].value !="")
		{
			alert(errormovil.replace("%VAR","principal"));
			return false;
		}
	if (!movil.exec(document.forms[0].elements[3].value) && document.forms[0].elements[3].value !="")
		{
			alert(errormovil.replace("%VAR","en la variación 1"));
			return false;
		}
	if (!movil.exec(document.forms[0].elements[5].value) && document.forms[0].elements[5].value !="")
		{
			alert(errormovil.replace("%VAR","en la variación 2"));
			return false;
		}
	enviar('0','-1');
}

function Validar_Telefonos_r04()
{
	movil=/^6([0-9]{8,})/;
	errormovil="El teléfono movil %VAR introducido no es válido, recuerde:\n1.- Debe empezar por 6\n2.- Debe contener 9 dígitos";
	if (!movil.exec(document.forms[0].elements[0].value) && document.forms[0].elements[0].value !="")
		{
			alert(errormovil.replace("%VAR","principal"));
			return false;
		}
	if (!movil.exec(document.forms[0].elements[1].value) && document.forms[0].elements[1].value !="")
		{
			alert(errormovil.replace("%VAR","en la variación 1"));
			return false;
		}
	if (!movil.exec(document.forms[0].elements[2].value) && document.forms[0].elements[2].value !="")
		{
			alert(errormovil.replace("%VAR","en la variación 2"));
			return false;
		}
	enviar('0','-1');
}

function validarmail(valor)
{
	re=/^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$/
	if(!re.exec(valor))    
		{
			alert("El correo no parece valido, revíselo por favor.");
    	return false;
		}
	else
		{	
  	  return true;
		}
}

function ValidarDNI(dni,tipo)
	{
		if (checkDNI(dni,tipo)==-10)
			return;

		if (checkDNI(dni,tipo)==-11)
			{
				alert("El número de idenfificación "+dni+" no es ni un NIF ni un NIE \nvalido, por favor revise su entrada.");
				var campodni=document.getElementById(tipo);
				campodni.value="";
				return;
			}
			
		if (checkDNI(dni,tipo)==-3)
			{
				alert("El DNI "+dni+" no es válido");
				var campodni=document.getElementById(tipo);
				campodni.value="";
				return;
			}
			
		if (checkDNI(dni,tipo)==-4)
			{
				alert("El NIE "+dni+" no es válido");
				var campodni=document.getElementById(tipo);
				campodni.value="";
				return;
			}
	}

function checkDNI(vatnumber,campo)

{
	var dummy_01=parseInt(campo.substring(6,7))-1;
	var dummy_02="campo0"+dummy_01;
	var tipodocumento=document.getElementById(dummy_02);
	
	var total = 0;
	var temp = 0;
	var multipliers = [2,1,2,1,2,1,2];
	var esexp = new Array ();
	var i = 0;
	esexp.push (/^[A-H]\d{8}$/);
	esexp.push (/^[N|P|Q|S]\d{7}[A-Z]$/);
	esexp.push (/^\d{8}[A-Z]$/);
	esexp.push (/^[X|Y|Z]\d{7}[A-Z]$/);
  
	// Compañias con animo de lucro
	if (esexp[0].test(vatnumber)) 
	{
		for (i = 0; i < 7; i++) 
			{
				temp = Number(vatnumber.charAt(i+1)) * multipliers[i];
				if (temp > 9) 
					total = total + Math.floor(temp/10) + temp%10 
				else 
					total = total + temp;
			}       
			total = 10 - total % 10;
			if (total == 10) total = 0;
    
		if (total == vatnumber.slice (8,9)) 
			return 1;
		else 
			return -1;
  }
  
	// Compañías sin ánimo de lucro
	else if (esexp[1].test(vatnumber)) 
		{
		for (i = 0; i < 7; i++) 
		{
			temp = Number(vatnumber.charAt(i+1)) * multipliers[i];
			if (temp > 9) 
				total = total + Math.floor(temp/10) + temp%10 
			else 
				total = total + temp;
		}    
		total = 10 - total % 10;
		total = String.fromCharCode(total+64);
    
		if (total == vatnumber.slice (8,9)) 
			return 2;
		else 
			return -2;
		}
	else if (esexp[2].test(vatnumber)) 
	{
		if (tipodocumento.value != "01") 
			{
				alert("El número de identificación parece un DNI pero no ha especificado el tipo DNI.");
				return -10;
			}
		var str="TRWAGMYFPDXBNJZSQVHLCKET";	
		temp = vatnumber.substring(0,8);
		temp01 = parseInt(temp / 23) 
		temp02 = temp01 * 23
		if (str.substring(temp-temp02,(temp-temp02)+1) == vatnumber.substring(8,9))
  		return 3;
  	else 
  		return -3;
	}
	else if (esexp[3].test(vatnumber)) 
	{
		if (tipodocumento.value != "02") 
			{
				alert("El número de identificación parece un NIE pero no ha especificado el tipo NIE.");
				return -10;
			}		
		switch (vatnumber.substring(0,1))
		{
			case "X":
				temp="0"+vatnumber.substring(1,8);
				break;
			case "Y":
				temp="1"+vatnumber.substring(1,8);
				break;
			case "Z":
				temp="2"+vatnumber.substring(1,8);
				break;
		}
		var str="TRWAGMYFPDXBNJZSQVHLCKET";	
		temp01 = parseInt(temp / 23) 
		temp02 = temp01 * 23
		if (str.substring(temp-temp02,(temp-temp02)+1) == vatnumber.substring(8,9))
  		return 4;
  	else 
  		return -4;
	}
  else if (vatnumber != "") 
  	{
  		tipodocumento.value="";  		
  		return -11;
  	}
  	
  else return -12
}

function doDNIFalso(dni)
{
	alert("El DNI "+dni+" no parece ser válido \nRevíselo, por favor");
}

function resaltarcapa(capa,valor)
{
	var obj=document.getElementById(capa);
	if (valor==1)
		obj.style.color="#FFFFFF";
	else
		obj.style.color="#000000";
}

function ocultarcapa(capa)
{
	var obj=document.getElementsByName(capa);
	if (obj.length != 0)
		{
		obj[0].style.visibility="hidden";
		}

	capa=capa.replace("rest","solapa");
	var obj=document.getElementsByName(capa);
	if (obj.length != 0)
		obj[0].style.color="#000000";
}

function vercapa(capa)
{
	if (cambio==1 && confirm("Desea validar los cambios?"))
		{
		document.forms[capa.replace("rest","")].submit();
		cambio=0;
		}
	for (var i=1;i<10;i++)
	{
		ocultarcapa("rest"+i);
	}
	var obj=document.getElementById(capa);
	obj.style.visibility="visible";
	var obj=document.getElementById(capa.replace("rest","solapa"));
	obj.style.color="#FFFFFF";
}

function nuevaalternativa(idconsumidor,idregistro,tabla)
{
	var s="";
	switch (tabla)
	{
	case 1:
		s="nombres_01.asp?idconsumidor="+idconsumidor+"&id="+idregistro;
		break;
	case 2:
		s="direcciones_01.asp?idconsumidor="+idconsumidor+"&id="+idregistro;
		break;
	case 3:
		s="telefonos_01.asp?idconsumidor="+idconsumidor+"&id="+idregistro;
		break;
	case 4:
		s="correos_01.asp?idconsumidor="+idconsumidor+"&id="+idregistro;
		break;
	case 5:
		s="moviles_01.asp?idconsumidor="+idconsumidor+"&id="+idregistro;
		break;
	}
	var nven=window.open(s,"Nueva","width=550,height=210,top=10,left=10,scrollbars=yes,resizable=yes,toolbar=no,menubar=no");
	nven.focus();
}

function centrar(h,v)
{
	window.moveTo((screen.availWidth-h)/2, (screen.availHeight-v)/2);
}

function redimensionar(h,v)
{
	window.resizeTo(h,v);
}

function redimensionarycentrar(h,v)
	{
	window.resizeTo(h,v);
	window.moveTo((screen.availWidth-document.body.clientWidth)/2, (screen.availHeight-document.body.clientHeight)/2);
	}

function maximizar()
{
	top.window.moveTo(0,0);
	if (document.all) 
		{
		top.window.resizeTo(screen.availWidth,screen.availHeight);
		}
	else 
		if (document.layers||document.getElementById) 
			{
			if (top.window.outerHeight<screen.availHeight||top.window.outerWidth<screen.availWidth)
				{
				top.window.outerHeight = screen.availHeight;
				top.window.outerWidth = screen.availWidth;
				}
			}
}

function preloadimages()
{
	for (i=0;i<preloadimages.arguments.length;i++)
	{
	myimages[i]=new Image()
	myimages[i].src=preloadimages.arguments[i]
	}
}

function RefreshImage(valImageId) 
{
	var objImage = document.images[valImageId];
	if (objImage == undefined) 
	{
		return;
	}
	var now = new Date();
	objImage.src = objImage.src.split('?')[0] + '?x=' + now.toUTCString();
}

function CambiarImagen(IdImagen) 
{
	var objImage = document.images[IdImagen];
	if (objImage == undefined) 
	{
		return;
	}
	var now = new Date();
	objImage.src = objImage.src.split('?')[0] + '?x=' + now.toUTCString();
}


function repetiremail(formulario,campo1,campo2)
{
	var validado=true;
	var dummy01=document.forms[formulario].elements[campo1].value;
	var dummy02=document.forms[formulario].elements[campo2].value;
	if (dummy01 != dummy02)
		validado=false;
	if (validado==false)
		alert("El Email no coincide, revíselo por favor");
	return validado;
	
}

function enviar_01(formulario,valores,campo1,campo2)
{
	var objImage=document.images["benvio"];
	if (objImage.style.opacity=="1")
		{
			if (repetiremail(formulario,campo1,campo2)==true) 
			enviar(formulario,valores);
		}
}

function enviar_reg_02(formulario,valores,campo1,campo2)
{
	var objImage=document.images["benvio"];
	if (objImage.style.opacity=="1")
		{
			ValidarDNI(document.forms[formulario].elements["campo06"].value,"campo06");
			if (repetiremail(formulario,campo1,campo2)==true) 
			enviar(formulario,valores);
		}
}

function ValidarAnyFecha(objeto,evento)		
	{
		if (objeto.value=="") return "";
		var adummy=objeto.value.split("/");
		if (adummy.length != 3)
			{
				alert(objeto.value+" No es una fecha válida");
				return "";
			}
		if (adummy[2].length !=4)
				{
					alert("Teclee el año en formato de cuatro dígitos");
					return "";
				}
		return objeto.value;
	}	
	
function ValidarFecha(objeto,evento)		
	{
	var StrControl="0123456789"
	var whichCode = (window.Event) ? evento.which : evento.keyCode;
	var tecla = String.fromCharCode(whichCode);
	valor=objeto.value;
	// if (valor=="") return "";
	var nuevovalor="";						
	var caracter=valor.charAt(valor.length-1);
	if (StrControl.indexOf(caracter) == -1)
		valor=valor.substring(0,valor.length-1);
	for (var i=0;i<valor.length;i++)
		{
		switch (i)
			{
			case 2:
				if (valor.charAt(i) != "/") nuevovalor += "/";						
					nuevovalor += valor.charAt(i);
					break;
			case 5:
				if (valor.charAt(i) != "/") nuevovalor += "/";
					nuevovalor += valor.charAt(i);
					break;
			default:
				if (StrControl.indexOf(valor.charAt(i)) != -1)
					nuevovalor += valor.charAt(i);
					break;
			}										
		}
	if (nuevovalor.length == 10)
		{
		var arrayfecha=nuevovalor.split("/");
		if (arrayfecha[0]=="08")
			arrayfecha[0]="8";
		if (arrayfecha[0]=="09")
			arrayfecha[0]="9";
		dia=parseInt(arrayfecha[0]);
		if (arrayfecha[1]=="08")
			arrayfecha[1]="8";
		if (arrayfecha[1]=="09")
			arrayfecha[1]="9";
		mes=parseInt(arrayfecha[1]);
		anyo=parseInt(arrayfecha[2]);

		if (dia==0 || mes==0 || anyo==0) 
			{
				alert(nuevovalor+" no parece ser una fecha valida");
				return "";
			}
				
		if (mes>12)
			{
				alert(nuevovalor+" no parece ser una fecha valida");
				return "";
			}
	
		if ((mes==1) || (mes==3) || (mes==5) || (mes==7) || (mes==8) || (mes==10) || (mes==12))
			{
			if (dia>31)
				{
					alert(nuevovalor+" no parece ser una fecha valida");
					return "";
				}
			}

		if ((mes==4) || (mes==6) || (mes==9) || (mes==11))
			{
				if (dia>30) 
					{
						alert(nuevovalor+" no parece ser una fecha valida");
						return "";
					}
			}
				
		if (mes==2)
			{
			if ((anyo%4==0 && dia>29) || (anyo%4!=0 && dia>28)) 
				{
					alert(nuevovalor+" no parece ser una fecha valida");
					return ""; 
				}
			}
		}
	return nuevovalor;
	}

function habilitarenvio()
{
	var objImage=document.images["benvio"];
	if (objImage.style.opacity=="1")
		{
			objImage.style.opacity="0.4";
			objImage.style.filter="alpha(opacity=40);"
		}
	else
		{
			objImage.style.opacity="1";
			objImage.style.filter="alpha(opacity=100);"
		}

}

function doExportarFichero(empresa)
{
	document.location="exportar_01.asp?empresa="+empresa;
}

function doIrA(pagina)
	{
		document.location=pagina;
	}

function doMaximizar()
	{
		top.window.moveTo(0,0);
		if (document.all) 
			{
			top.window.resizeTo(screen.availWidth,screen.availHeight);
			}
			else 
				if (document.layers||document.getElementById) 
					{
					if (top.window.outerHeight<screen.availHeight||top.window.outerWidth<screen.availWidth)
						{
						top.window.outerHeight = screen.availHeight;
						top.window.outerWidth = screen.availWidth;
						}
					}
	
	}

function abrirventana(sUrl)
	{
		var nven=window.open(sUrl,"NewWindow","width=100,height=100,top=10,left=10,scrollbars=yes,resizable=yes,toolbar=no,menubar=no");
		nven.focus();
	}

function registrousuario(tipo)
{
	location="formulario_01.asp?tipo=0&tiporegistro="+tipo;
}

function ir01(campo1,campo2)
	{
		window.location="servicioempresas_00.asp?campo="+campo1+"&campo="+campo2;
	}

function forzar()
	{
		var nven=window.open("abanonar.asp","NewWindow","width=100,height=100,top=10,left=10,scrollbars=yes,resizable=yes,toolbar=no,menubar=no");
		nven.focus();
	}
	
function movercargo()
{
	var obj01=document.getElementById("campo01");
	if (obj01.value!="-1") 
		{
			var obj02=document.getElementById("campo02");
			obj02.value=obj01.value;
			return;	
		}
	var obj02=document.getElementById("campo02");
	obj02.value="";
	var obj01=document.getElementById("eticargo01");
	obj01.style.visibility="hidden";
	var obj02=document.getElementById("campocargo01");
	obj02.style.visibility="hidden";
	var obj01=document.getElementById("eticargo02");
	obj01.style.visibility="visible";
	var obj02=document.getElementById("campocargo02");
	obj02.style.visibility="visible";	
}

function reponercargo()
{
	var obj01=document.getElementById("campo01");
	obj01.value=""; 
	var obj01=document.getElementById("eticargo01");
	obj01.style.visibility="visible";
	var obj02=document.getElementById("campocargo01");
	obj02.style.visibility="visible";
	var obj01=document.getElementById("eticargo02");
	obj01.style.visibility="hidden";
	var obj02=document.getElementById("campocargo02");
	obj02.style.visibility="hidden";	
}
