var array_resizar_imagenes = new Array();
window.onload=apply_resizar_imagenes;

function apply_resizar_imagenes() {
	var imagenes=document.getElementsByTagName('img');
	for (var i=0; i<imagenes.length;i++) {
		for (var j=0; j<array_resizar_imagenes.length;j++) {
			var aux=array_resizar_imagenes[j].split('|||');
			prefijo=aux[0];
			max_width=aux[1];
			max_height=aux[2];
			
			if (imagenes[i].name.indexOf(prefijo)==0 ) { // imagen encontrada
				if (imagenes[i].width>max_width) imagenes[i].width=max_width;
				if (max_height && imagenes[i].height>max_height) {
					imagenes[i].removeAttribute('width'); // quito el atributo para que no se descompense el resize
					imagenes[i].height=max_height;
				}
			}			
			
		}		

	}	

}


function resizar_imagenes(prefijo, max_width, max_height) {
	array_resizar_imagenes[array_resizar_imagenes.length]=prefijo + '|||' + max_width + '|||' + max_height;
	apply_resizar_imagenes();
	return true;
}




/* PESTAÑAS */
function activar_pestana_generico(num,start) {
	if (!start) start=1;
	for (var i=start; a=document.getElementById('link_'+i); i++) {
		document.getElementById('link_'+i).className='';
		document.getElementById('content_'+i).style.display='none'
	}
	document.getElementById('link_'+num).className='on';
	document.getElementById('content_'+num).style.display='block';
}




function ampliar_imagen(url,v,w,h) {
	w+=20;
	h+=20;
	if (screen.width-100<w) w=screen.width-100;
	if (screen.height-200<h) h=screen.height-200;
	w=openwindow(url,v,'width='+w+',height='+h+',scrollbars=yes,resizable=yes');
	return w;
}

/**/


function tr_over(obj, par) {
	if (obj.className!='on') {
		obj.className='hover';
	}
}

function tr_out (obj, par) {
	if (obj.className!='on') {
		obj.className=(par)?'par':'none';
	}
}

function tr_click (obj, par,objcheck) {
	if (obj.className=='on')	{
		obj.className=(par)?'par':'none';
		if (objcheck)
			objcheck.checked=false;
	}
	else obj.className='on';
}

function check_click (objcheck,obj,par){
	window.event.cancelBubble = true;
	if (objcheck.checked){
		obj.className='on';
	}
}

function crear_ids(separador, id) {
	obj_table=document.getElementById(id);
	trs=obj_table.getElementsByTagName('tr');
	var cadena_ids='';
	for (gg=0;gg<trs.length;gg++) {
		if (trs[gg].className=='on') {
			str_check="";
			auxobjcheck=eval("document.forms['formarea'].chk_"+trs[gg].id);
			if (auxobjcheck) str_check=(auxobjcheck.checked)?auxobjcheck.value:'';
			cadena_ids+=separador+str_check+trs[gg].id;
		}
	}
	if (cadena_ids!='') cadena_ids=cadena_ids.substr(separador.length);
	return cadena_ids;
}



function transcribir_ids (separador) {
	var cadena_final='';
	for (z=1;z<transcribir_ids.arguments.length;z++) {
		if (crear_ids(separador,transcribir_ids.arguments[z])!='') cadena_final+=separador+crear_ids(separador,transcribir_ids.arguments[z]);
	}
	if (cadena_final!='') cadena_final=cadena_final.substr(separador.length);
	return cadena_final;
}

function crear_campo_oculto(f, name, value) {
	var obj = document.createElement("input");
	obj.type='hidden';
	obj.name=name;
	obj.value=value;
	f.appendChild(obj);
}



function generar_campos_ocultos(f, name, cadena, separador) {
	cadena=cadena.split(separador);
	for (i=0;i<cadena.length;i++) {
		 crear_campo_oculto(f, name, cadena[i]);
	}
}


/**/
function actuliza_accion(obj_radio, obj_target, id_value) {
	//alert(obj_radio.value+', '+ id_value);
	cadena=obj_radio.value.split('/')[obj_radio.value.split('/').length-1].split('_')[0];
	//alert(cadena);
	str_1=cadena.indexOf('d')==-1?'enlaces':'contenidos';
	str_2=cadena.indexOf('l')==-1?'item.action?id='+id_value:'type.action?type='+id_value;
	str_2=cadena.indexOf('cultura')!=-1?'typecultura.action?type='+id_value:str_2;
	obj_target.value=str_1+'.'+str_2;
}

/**/


function trim(cadena) {
	while(cadena.charAt(0)==" " && cadena!="") cadena=cadena.substr(1);
	while(cadena.charAt(cadena.length-1)==" " && cadena!="") cadena=cadena.substr(0,cadena.length-1);
	return cadena;
}



function openwindow(theURL,winName,features) { //1.0 , NHT-NORWICK (jGoncalves)

	array_features=features.split(",")
	
	var width=false
	var height=false
	var top=false
	var left=false

	final_features=""
	for (i=0;i<array_features.length;i++) {
		key_value=array_features[i].split("=")
		if (trim(key_value[0])!="width" && trim(key_value[0])!="height" && trim(key_value[0])!="top" && trim(key_value[0])!="left") final_features+=","+array_features[i]
		if (trim(key_value[0])=="width" || trim(key_value[0])=="height" || trim(key_value[0])=="top" || trim(key_value[0])=="left") eval(trim(key_value[0])+"=\""+trim(key_value[1])+"\"")
	}

	if (width=="max") {
    	width=screen.availWidth-13;
		left=1;
	}
	if (height=="max"){
		height=screen.availHeight-31;
		top=1;
	}
	
	if (left==false) left=parseInt((screen.availWidth-Number(width))/2);
	if (top==false) top=parseInt((screen.availHeight-(Number(height)+20))/2);

	final_features+=",width="+width+",height="+height+",left="+left+",top="+top;
	final_features=final_features.substr(1);

	w=window.open(theURL,winName,final_features);
    return w;
}




/*	 VALIDADOR GENERICO DE FORMUALRIOS */
/***/

function comprobarMail(s) {
	var expresion = new RegExp('^[0-9a-zA-Z_]+(([\\.-]?[0-9a-zA-Z_]+)+)?@[0-9a-zA-Z_-]+(\\.([0-9a-zA-Z_-])+)+$')
	if (expresion.test(s)) return true
	else return false
}

function format_to_array(obj) {
	array = new Array();
	if (obj.length)	for(z=0;z<obj.length;z++) array[z]=obj[z];
	else array[0]=obj;
	return array;
}

function validarFecha (strFecha) {  // formato dd-mm-aaaa
  //alert (strFecha);
  if (strFecha.length != 10) return false;
  arr=strFecha.split("-");
  str2=arr[1] + "/" + arr[0] + "/" + arr[2];
  fecha=new Date(str2);
  if( (fecha.getDate() == arr[0]) && ((fecha.getMonth() +1)==arr[1]) && (fecha.getFullYear() == arr[2])){
    return true;
  }
  else{
    return false;
  }
}

function validarFechaBarra (strFecha) {  // formato dd/mm/aaaa
  //alert (strFecha);
  if (strFecha.length != 10) return false;
  arr=strFecha.split("/");
  str2=arr[1] + "/" + arr[0] + "/" + arr[2];
  fecha=new Date(str2);
  if( (fecha.getDate() == arr[0]) && ((fecha.getMonth() +1)==arr[1]) && (fecha.getFullYear() == arr[2])){
    return true;
  }
  else{
    return false;
  }
}

function es_fecha_mayor(fecha_mayor,fecha_referencia) {
	fecha_mayor=parseInt(''+fecha_mayor.split('-')[2]+''+fecha_mayor.split('-')[1]+''+fecha_mayor.split('-')[0]);
	fecha_referencia=parseInt(''+fecha_referencia.split('-')[2]+''+fecha_referencia.split('-')[1]+''+fecha_referencia.split('-')[0]);
	if (fecha_mayor>fecha_referencia) return true;
	return false;
}


function etiquetas_errores (codigo, etiqueta) {
	var errores = new Array();
		errores[0]='   - El campo ' + etiqueta + ' es obligatorio.\n';
		errores[1]='   - El campo ' + etiqueta + ' debe ser una dirección válida de e-mail.\n';
		errores[2]='   - El campo ' + etiqueta + ' debe contener sólo números.\n';
		errores[3]='   - El campo ' + etiqueta + ' debe ser una fecha válida en formato dd-mm-aaaa.\n';
		errores[4]='   - El campo ' + etiqueta + ' no contiene elementos.\n';
		errores[5]='   - El campo ' + etiqueta.split('~')[1] + ' debe ser mayor que el campo ' + etiqueta.split('~')[0] + '.\n';
	return errores[codigo];
}




function validar (f){
	errores=''
	for (i=1;i<arguments.length;i++) {

		tipo=arguments[i].split('|')[1];
		etiqueta=arguments[i].split('|')[2];
		vacio_permitido=arguments[i].split('|')[3]=='vacio_permitido'?true:false;

		switch (tipo) {				// primer switch para definir la variable 'campo'
		
			case 'grupochecks':		campo=(arguments[i].split('|')[0]).split('~');
									break;
			case 'fecha_mayor':		campo=(arguments[i].split('|')[0]).split('~');
									break;

									
			default:				campo=eval('f.'+arguments[i].split('|')[0]);
		}

		switch (tipo) {
		
			case 'texto':			if (trim(campo.value)=='') errores+= etiquetas_errores(0,etiqueta);
									break;




			case 'mail':			if (trim(campo.value)=='') {
										if (!vacio_permitido) errores+= etiquetas_errores(0,etiqueta);
									}
									else if (!comprobarMail(campo.value)) errores+= etiquetas_errores(1,etiqueta);
									break;
	



			case 'telefono':		if (trim(campo.value)=='') {
										if (!vacio_permitido) errores+= etiquetas_errores(0,etiqueta);
									}
									else if (isNaN(campo.value)) errores+= etiquetas_errores(2,etiqueta);
									break;									




			case 'fecha':			if (trim(campo.value)=='') {
										if (!vacio_permitido) errores+= etiquetas_errores(0,etiqueta);
									}
									else if (!validarFecha(campo.value)) errores+= etiquetas_errores(3,etiqueta);
									break;	



			case 'fecha_mayor':		if (campo.length!=2) {
										break;
									}
									fecha_1=eval('f.'+campo[0]+'.value');
									fecha_2=eval('f.'+campo[1]+'.value');
									if (!validarFecha(fecha_1) || !validarFecha(fecha_2)) {
										break;
									}
									
									if (!es_fecha_mayor(fecha_2,fecha_1)) {
										errores+= etiquetas_errores(5,etiqueta);
									}
									break;
									/*
			
									if (trim(campo.value)=='') {
										if (!vacio_permitido) errores+= etiquetas_errores(0,etiqueta);
									}
									else if (!validarFecha(campo.value)) errores+= etiquetas_errores(3,etiqueta);
									break;
									*/




			case 'radio':			campo=format_to_array(campo);
									seleccionado=false;
									for (j=0;j<campo.length && !seleccionado;j++){
										if (campo[j].checked) seleccionado=true;
									}	
									if (!seleccionado) errores+= etiquetas_errores(0,etiqueta);
									break;




			case 'select':			if (campo.options.length>1 && campo.options[campo.selectedIndex].value=='') errores+= etiquetas_errores(0,etiqueta);
									break;


			case 'lista_vacia':		if (campo.length<=0) errores+= etiquetas_errores(4,etiqueta);
									break;



			case "grupochecks":		seleccionado=false;
									for (j=0;j<campo.length && !seleccionado;j++) {
										elemento=eval('f.'+campo[j]);
										if (elemento.checked) seleccionado=true;
									}									
									if (!seleccionado) errores+= etiquetas_errores(0,etiqueta);
									break;

		} // fin de switch
	} // fin de for de argumentos
	
	
	if (errores!='') {
		alert('Se han producido los siguientes errores:\n\n' + errores + '\n');
		return false;
	}
	else {
		return true;
	}
}


function replaceChars(entry,out,add) {
	alert(entry);
	alert(out);
	alert(add);
	temp = "" + entry; // temporary holder

	while (temp.indexOf(out)>-1) {
		pos= temp.indexOf(out);
		temp = "" + (temp.substring(0, pos) + add + 
		temp.substring((pos + out.length), temp.length));
	}
	return temp;
}


/*Extraer titulo*/


function extraerTitulo(){
var titulo = document.getElementsByTagName('title')[0];
	if(titulo.innerHTML == ' Injuve, Instituto de la Juventud. Ministerio de Sanidad, Política Social e Igualdad.' || titulo.innerHTML == 'Injuve, Instituto de la Juventud. Ministerio de Sanidad, Política Social e Igualdad.'){
		var encabezado = document.getElementById('MainBar').getElementsByTagName('h1')[0];
		if(encabezado.innerHTML.replace(/<[^>]+>/g,'') != 'NOTICIAS Y NOVEDADES'){
			document.title = encabezado.innerHTML.replace(/<[^>]+>/g,'') + ', Injuve, Instituto de la Juventud. Ministerio de Sanidad, Política Social e Igualdad.';
		}
	}
}

function addListener(obj, evt, func) {
    if(obj.attachEvent){
        obj.attachEvent('on' + evt, func);
	}
    else{
        if(obj.addEventListener){
            obj.addEventListener(evt, func, false);
        }
        else{
            if(obj.eval){
                obj["on"+evt] = func;
            }
        }
    }
}

addListener(window, "load", extraerTitulo);
