function alert1(x) { alert(acentos(x)) }

function confirm1(x) { confirm(acentos(x)) }

function acentos(x) {
	// version 040623
	// Spanish - Español
	// Portuguese - Portugués - Português
	// Italian - Italiano
	// French - Francés - Français
	// Also accepts and converts single and double quotation marks, square and angle brackets
	// and miscelaneous symbols.
	// Also accepts and converts html entities for all the above.
//	if (navigator.appVersion.toLowerCase().indexOf("windows") != -1) {return x}
	x = x.replace(/¡/g,"\xA1");	x = x.replace(/&iexcl;/g,"\xA1")
	x = x.replace(/¿/g,"\xBF");	x = x.replace(/&iquest;/g,"\xBF")
	x = x.replace(/À/g,"\xC0");	x = x.replace(/&Agrave;/g,"\xC0")
	x = x.replace(/à/g,"\xE0");	x = x.replace(/&agrave;/g,"\xE0")
	x = x.replace(/Á/g,"\xC1");	x = x.replace(/&Aacute;/g,"\xC1")
	x = x.replace(/á/g,"\xE1");	x = x.replace(/&aacute;/g,"\xE1")
	x = x.replace(/Â/g,"\xC2");	x = x.replace(/&Acirc;/g,"\xC2")
	x = x.replace(/â/g,"\xE2");	x = x.replace(/&acirc;/g,"\xE2")
	x = x.replace(/Ã/g,"\xC3");	x = x.replace(/&Atilde;/g,"\xC3")
	x = x.replace(/ã/g,"\xE3");	x = x.replace(/&atilde;/g,"\xE3")
	x = x.replace(/Ä/g,"\xC4");	x = x.replace(/&Auml;/g,"\xC4")
	x = x.replace(/ä/g,"\xE4");	x = x.replace(/&auml;/g,"\xE4")
	x = x.replace(/Å/g,"\xC5");	x = x.replace(/&Aring;/g,"\xC5")
	x = x.replace(/å/g,"\xE5");	x = x.replace(/&aring;/g,"\xE5")
	x = x.replace(/Æ/g,"\xC6");	x = x.replace(/&AElig;/g,"\xC6")
	x = x.replace(/æ/g,"\xE6");	x = x.replace(/&aelig;/g,"\xE6")
	x = x.replace(/Ç/g,"\xC7");	x = x.replace(/&Ccedil;/g,"\xC7")
	x = x.replace(/ç/g,"\xE7");	x = x.replace(/&ccedil;/g,"\xE7")
	x = x.replace(/È/g,"\xC8");	x = x.replace(/&Egrave;/g,"\xC8")
	x = x.replace(/è/g,"\xE8");	x = x.replace(/&egrave;/g,"\xE8")
	x = x.replace(/É/g,"\xC9");	x = x.replace(/&Eacute;/g,"\xC9")
	x = x.replace(/é/g,"\xE9");	x = x.replace(/&eacute;/g,"\xE9")
	x = x.replace(/Ê/g,"\xCA");	x = x.replace(/&Ecirc;/g,"\xCA")
	x = x.replace(/ê/g,"\xEA");	x = x.replace(/&ecirc;/g,"\xEA")
	x = x.replace(/Ë/g,"\xCB");	x = x.replace(/&Euml;/g,"\xCB")
	x = x.replace(/ë/g,"\xEB");	x = x.replace(/&euml;/g,"\xEB")
	x = x.replace(/Ì/g,"\xCC");	x = x.replace(/&Igrave;/g,"\xCC")
	x = x.replace(/ì/g,"\xEC");	x = x.replace(/&igrave;/g,"\xEC")
	x = x.replace(/Í/g,"\xCD");	x = x.replace(/&Iacute;/g,"\xCD")
	x = x.replace(/í/g,"\xED");	x = x.replace(/&iacute;/g,"\xED")
	x = x.replace(/Î/g,"\xCE");	x = x.replace(/&Icirc;/g,"\xCE")
	x = x.replace(/î/g,"\xEE");	x = x.replace(/&icirc;/g,"\xEE")
	x = x.replace(/Ï/g,"\xCF");	x = x.replace(/&Iuml;/g,"\xCF")
	x = x.replace(/ï/g,"\xEF");	x = x.replace(/&iuml;/g,"\xEF")
	x = x.replace(/Ñ/g,"\xD1");	x = x.replace(/&Ntilde;/g,"\xD1")
	x = x.replace(/ñ/g,"\xF1");	x = x.replace(/&ntilde;/g,"\xF1")
	x = x.replace(/Ò/g,"\xD2");	x = x.replace(/&Ograve;/g,"\xD2")
	x = x.replace(/ò/g,"\xF2");	x = x.replace(/&ograve;/g,"\xF2")
	x = x.replace(/Ó/g,"\xD3");	x = x.replace(/&Oacute;/g,"\xD3")
	x = x.replace(/ó/g,"\xF3");	x = x.replace(/&oacute;/g,"\xF3")
	x = x.replace(/Ô/g,"\xD4");	x = x.replace(/&Ocirc;/g,"\xD4")
	x = x.replace(/ô/g,"\xF4");	x = x.replace(/&ocirc;/g,"\xF4")
	x = x.replace(/Õ/g,"\xD5");	x = x.replace(/&Otilde;/g,"\xD5")
	x = x.replace(/õ/g,"\xF5");	x = x.replace(/&otilde;/g,"\xF5")
	x = x.replace(/Ö/g,"\xD6");	x = x.replace(/&Ouml;/g,"\xD6")
	x = x.replace(/ö/g,"\xF6");	x = x.replace(/&ouml;/g,"\xF6")
	x = x.replace(/Ø/g,"\xD8");	x = x.replace(/&Oslash;/g,"\xD8")
	x = x.replace(/ø/g,"\xF8");	x = x.replace(/&oslash;/g,"\xF8")
	x = x.replace(/Ù/g,"\xD9");	x = x.replace(/&Ugrave;/g,"\xD9")
	x = x.replace(/ù/g,"\xF9");	x = x.replace(/&ugrave;/g,"\xF9")
	x = x.replace(/Ú/g,"\xDA");	x = x.replace(/&Uacute;/g,"\xDA")
	x = x.replace(/ú/g,"\xFA");	x = x.replace(/&uacute;/g,"\xFA")
	x = x.replace(/Û/g,"\xDB");	x = x.replace(/&Ucirc;/g,"\xDB")
	x = x.replace(/û/g,"\xFB");	x = x.replace(/&ucirc;/g,"\xFB")
	x = x.replace(/Ü/g,"\xDC");	x = x.replace(/&Uuml;/g,"\xDC")
	x = x.replace(/ü/g,"\xFC");	x = x.replace(/&uuml;/g,"\xFC")
	
	x = x.replace(/\"/g,"\x22")
	x = x.replace(/\'/g,"\x27")
	x = x.replace(/\</g,"\x3C")
	x = x.replace(/\>/g,"\x3E")
	x = x.replace(/\[/g,"\x5B")
	x = x.replace(/\]/g,"\x5D")

	x = x.replace(/¢/g,"\xA2");	x = x.replace(/&cent;/g,"\xA2") 
	x = x.replace(/£/g,"\xA3");	x = x.replace(/&pound;/g,"\xA3")
	x = x.replace(/€/g,"\u20AC");	x = x.replace(/&euro;/g,"\u20AC") 
	x = x.replace(/©/g,"\xA9");	x = x.replace(/&copy;/g,"\xA9") 
	x = x.replace(/®/g,"\xAE");	x = x.replace(/&reg;/g,"\xAE") 
	x = x.replace(/ª/g,"\xAA");	x = x.replace(/&ordf;/g,"\xAA") 
	x = x.replace(/º/g,"\xBA");	x = x.replace(/&ordm;/g,"\xBA") 
	x = x.replace(/°/g,"\xB0");	x = x.replace(/&deg;/g,"\xB0") 
	x = x.replace(/±/g,"\xB1");	x = x.replace(/&plusmn;/g,"\xB1")
	x = x.replace(/×/g,"\xD7");	x = x.replace(/&times;/g,"\xD7") 
	
		
	return x
}

function saltodetema(url,opcion,id){
	auxid="";
	if (id!=0){
		auxid=id;
	}
	auxzona="";
	if (url=="areas.asp"){
		auxzona=document.formarea.zona.value;
	}
	document.location.href=url+"?opcion="+opcion+"&id="+auxid+"&zona="+auxzona;
}

function abrir(theURL,winName,features) {
  window.open(theURL,winName,features);
}

/************************************************************************
FUNCIONES DE VALIDACION DE FORMULARIOS
**************************************************************************/
msje="Por favor, revise los errores en los siguientes campos:\n\n";
equivoc=0;
function emilio(contcorreo,nombrecampo){
        //compruebo el emilio
                var correo=contcorreo;
                var fallo_correo = 0;
                var pos = correo.indexOf("@");
                
                if (pos == -1){
                        equivoc=1;
                        fallo_correo = 1;
                }
        
        //compruebo q tenga al menos 1 carcter antes y despus de le arroba y el punto
                if ((pos == 0)||(pos == correo.length-1)) {
                        equivoc=1;
                        fallo_correo = 1;
                }
                
                var pos2 = correo.lastIndexOf(".");
                if((pos2 < pos+1)||(pos2 == correo.length-1)){
                        equivoc=1;
                        fallo_correo = 1;        
                }

				if(correo.length>5){
					for (i=0; i<correo.length; i++){
							if (correo.charAt(i)==" ") {
							equivoc=1;
							fallo_correo = 1;
							}
					}
				}
                
                if (fallo_correo==1){
                        msje+=" El campo '"+nombrecampo+"' requiere una direccin de correo vlida.\n";
                }
}

function validar_fecha(field){
        //compruebo la fecha mientras la mete el usuario
        var checkstr = "0123456789";
        var DateField = field;
        var Datevalue = "";
        var DateTemp = "";
        var seperator = "/";
        var day;
        var month;
        var year;
        var leap = 0;
        var err = 0;
        var i;
   err = 0;
//   DateValue = DateField.value;
   DateValue = DateField;   
	/* borra todos los caracteres excepto 0..9 */
   for (i = 0; i < DateValue.length; i++) {
          if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) {
             DateTemp = DateTemp + DateValue.substr(i,1);
          }
   }
   DateValue = DateTemp;
   /* Siempre cambio la fecha a 8 dgitos - cadena */
   /* si el ao tiene 2 digitos/ se asume 20xx */
   if (DateValue.length == 6) {
      DateValue = DateValue.substr(0,4) + '20' + DateValue.substr(4,2); }
   if (DateValue.length != 8) {
      err = 19;}
   /* ao incorrecto si es = 0000 */
   year = DateValue.substr(4,4);
   if (year == 0) {
      err = 20;
   }
   /* valido mes*/
   month = DateValue.substr(2,2);
   if ((month < 1) || (month > 12)) {
      err = 21;
   }
   /* valido da*/
   day = DateValue.substr(0,2);
   if (day < 1) {
     err = 22;
   }
   /* validacin de ao bisiesto */
   if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) {
      leap = 1;
   }
   if ((month == 2) && (leap == 1) && (day > 29)) {
      err = 23;
   }
   if ((month == 2) && (leap != 1) && (day > 28)) {
      err = 24;
   }
   /* validacion de otros meses */
   if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) {
      err = 25;
   }
   if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) {
      err = 26;
   }
   /* Si se mete 00, directamente borro */
   if ((day == 0) && (month == 0) && (year == 00)) {
      err = 0; day = ""; month = ""; year = ""; seperator = "";
   }
	if ((isNaN(day)==true) || (isNaN(month)==true) || (isNaN(year)==true)){
		err = 27;
		return false;
	}
   /* si no hay error, lo meto en el campo */
   if (err == 0) {
      DateField.value = day + seperator + month + seperator + year;
   }
   /* Si el error es != 0 , mensaje */
   else {
     return false;
      DateField.select();
          DateField.focus();
   }
}

function checkeacampo(tipo,campo,form){
	/*
	validacion de campos; "tipo" nos dice si es cadena, numero, fecha, dni,... Con "campo" le paso dos
	cosas: el nombre del campo y  si es o no obligatorio. por eso lo primero que hago es esplitear cada
	valor en la matriz "obligatorio"; la cadena que llega es as: "campo_n!1". 1 es obligatorio y 0, no. 
	Y finalmente, "form" es el nombre del formulario.
	*/
	var obligatorio=new Array();
	obligatorio=campo.split("!");
	var aux_cadena=eval("document."+form+"."+obligatorio[0]+".value");
	switch (tipo) {
		case 1:
		//numero
			if (isNaN(aux_cadena)) {
					equivoc=1;
					msje+=" El campo '"+obligatorio[0]+"' debe ser un nmero.\n";
			}
			if ( (aux_cadena=="") && (obligatorio[1]==1) ) {
					equivoc=1;
					msje+=" El campo '"+obligatorio[0]+"' es obligatorio.\n";
			}
		break;
		case 21:
		//numero DNI; quito la validacion de numero porque se flipa
			/*if (isNaN(eval("document."+form+"."+obligatorio[0]+".value"))) {
					equivoc=1;
					msje+=" El campo '"+obligatorio[0]+"' debe ser un nmero.\n";
			}*/
			if ( (aux_cadena=="") && (obligatorio[1]==1) ) {
					equivoc=1;
					msje+=" El campo '"+obligatorio[0]+"' es obligatorio.\n";
			}
		break;
		case 4:
		//fecha corta
			if ( (aux_cadena=="") && (obligatorio[1]==1) ) {
					equivoc=1;
					msje+=" El campo '"+obligatorio[0]+"' es obligatorio.\n";
			}
		break;
		case 20:
			//correo
			if (obligatorio[1]==1) {
					emilio("'"+aux_cadena+"'","'"+obligatorio[0]+"'");
			}else if (aux_cadena!=""){
					emilio("'"+aux_cadena+"'","'"+obligatorio[0]+"'");
			}
		break;
		case 12:
		//editor
		break;
		case 25:
		//hora: 21:30
			var expresion=new RegExp("[0-23]:[0-59]");
			if (obligatorio[1]==1){
				if ( (aux_cadena=="") && ((aux_cadena.search(expresion))!=1) ) {
						equivoc=1;
						msje+=" El campo '"+obligatorio[0]+"' es obligatorio.\n";
				}
			}else{
				if ( (aux_cadena!="") && ((aux_cadena.search(expresion))!=1) ) {
						equivoc=1;
						msje+=" El campo '"+obligatorio[0]+"' debe contener una hora vlida.\n";
				}
			}
		break;
	
		default:
		//texto
			if ( (aux_cadena=="") && (obligatorio[1]==1) ) {
					equivoc=1;
					msje+=" El campo '"+obligatorio[0]+"' es obligatorio.\n";
			}
		break;
	}
}

/*ejempo de cadena:
validar('Idestado_civil!0|10#numero_hijos!0|1#f_nac!1|4#email!0|20#email2!0|20#Idlugar_nacimiento!0|10#','formulario')
siendo: nombre de campo!obligatorio|tipo de campo#; los tipos, los que hay arriba en la funcin checkeacampo
*/
function validar(valor,nombreform){

	var matriz_obligatorios=new Array();
	matriz_obligatorios=valor.split("#");
	var longitud=(matriz_obligatorios.length)-1;
	var matriztipo=new Array(2);
	var matrizcampos=new Array();
	
	for (i=0;i<longitud;i++){
		matriztipo=matriz_obligatorios[i].split("|");
		matrizcampos[i]=matriztipo;
	}
	
	for (i=0;i<longitud;i++){
		eval("checkeacampo("+matrizcampos[i][1]+",'"+matrizcampos[i][0]+"','"+nombreform+"')");
	}
	
	if (equivoc==0){
		eval("document."+nombreform+".submit()");
	}else{
		alert(msje);
		equivoc=0;
		msje="Por favor, revise los errores en los siguientes campos:\n\n";
	}
}

function cambioestado(ide,direccion){
	aux_estado=eval("document.form1.envio_"+ide+".checked");
	valor="0";
	if(aux_estado==true){
		valor="1";
	}
	document.location.href=direccion+'&id='+ide+"&estado="+valor;
}

/************************************************************************
FUNCIONES MARCIANAS
**************************************************************************/
function MM_swapImgRestore() {
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() {
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) {
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { 
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
// Funciones Scroll
// Ahora est para scroll vertical, izquierda manda subir, derecha  bajar. Para ponerlo en horizontal, donde pone top, que ponga left
var activacion;
function derecha(valor){
var valornuevo;
valornuevo = valor.split ("px");
document.getElementById("contenido").style.top = ((valornuevo[0]*1)-1)+"px" ;
document.getElementById("coordenada").value = ((valornuevo[0]*1)-1) ; 
document.getElementById("niveledge").value = ((valornuevo[0]*1)-200) ; 
document.getElementById("edge").style.top = ((valornuevo[0]*1)-200)+"px" ;
}

function izquierda(valor){
var valornuevo;
valornuevo = valor.split ("px");
document.getElementById("contenido").style.top = ((valornuevo[0]*1)+1)+"px" ; 
document.getElementById("coordenada").value = ((valornuevo[0]*1)+1) ; 
document.getElementById("niveledge").value = ((valornuevo[0]*1)+200) ; 
document.getElementById("edge").style.top = ((valornuevo[0]*1)+200)+"px" ;
}
function derecha2(){
var valornuevo
valornuevo = document.getElementById("coordenada").value.split ("px");
activacion = setInterval("derecha3()",10);
document.getElementById("coordenada").value = ((valornuevo[0]*1)-1) 
document.getElementById("niveledge").value = ((valornuevo[0]*1)-200) 
}

function izquierda2(){
var valornuevo
valornuevo = document.getElementById("coordenada").value.split ("px");
activacion = setInterval("izquierda3()",10);
document.getElementById("coordenada").value = ((valornuevo[0]*1)+1) ; 
document.getElementById("niveledge").value = ((valornuevo[0]*1)+200) ; 
}
function derecha3(){
if (document.getElementById('muevederecha').value==1){
	derecha(document.getElementById('contenido').style.top);
}
else {
clearInterval (activacion);
	}	
}
function izquierda3(){
if ((document.getElementById('mueveizquierda').value==1)&&(document.getElementById("coordenada").value<=0)){
	izquierda(document.getElementById('contenido').style.top);
}
else {
	clearInterval (activacion);
	}	
}
// hasta aca


