// JavaScript Document

var ie_6=( navigator.appVersion.toLowerCase().indexOf('msie 6')!=-1 );	
var ie_7=( navigator.appVersion.toLowerCase().indexOf('msie 7')!=-1 );
var mozilla=( navigator.appVersion.toLowerCase().indexOf('msie')==-1 );
var ie=!mozilla;

var descripcion_cargar;
var imagen_cargar;

// FUNCIONES REPRODUCTOR MP3

function pausar_mp3(){
	document.getElementById('cabezafianaroca').pausar_mp3();
}
function reanuadar_mp3(){
	document.getElementById('cabezafianaroca').reanuadar_mp3();
}
function guardar_position_mp3(){
	document.getElementById('cabezafianaroca').guardar_position_mp3();
}
function cargar_cancion_mp3(cancion){
	if ( !isNaN(cancion) && cancion >0 ){
		document.getElementById('cabezafianaroca').cargar_cancion_mp3(cancion);
	}
}
window.onunload = function(){ guardar_position_mp3(); }


// FUNCIONES VENTANA

function comprueba_popup(){
		if( !window.opener ){
			location.assign('index.php');
		}
}

function ventana_imagen(imagen,descripcion){
	if ( imagen!='' ){
		imagen_cargar=imagen;
		descripcion_cargar=descripcion;
		ventana('foto.html','foto','20x20','');
	}
}

function ventana(direccion,nombre,resolucion,modo){
	if (direccion!=''){
		var ancho;
		var alto;
		if (resolucion==''){resolucion='min';}
		switch (resolucion){
			case 'alta':
				ancho=1024;alto=768;
			break
			case 'media':
				ancho=800;alto=600;
			break
			case 'baja':
				ancho=640;alto=480;
			break
			case 'min':
				ancho=400;alto=300;
			break	
					
		}
		if (resolucion.indexOf('x')!=-1){
			ancho=Number(resolucion.split('x')[0]);
			alto=Number(resolucion.split('x')[1]);
		}
		if (modo!=null){
			window.open(direccion,nombre,'top=0,left=0,width='+ancho+',height='+alto+',location=no,toolbar=no,scrollbars=no,resizable=no,status=no,menubar=no');
		}
		else{
			window.open(direccion,nombre,'top=0,left=0,width='+ancho+',height='+alto+',location=no,toolbar=no,scrollbars=yes,resizable=yes,status=no,menubar=no');
		}
	}
}


// VALIDACIÓN DE FORMULARIOS

function valida_form(objeto,formulario){
		
	if ( formulario && objeto ){
			if( objeto!=window ){ objeto.blur(); }
			var obligatorios=new Array();
			var nombres=new Array();
			var tipo_obligatorios='';
			var campo;
			var campo_trim;
			var mensaje='';
			var mensaje_obligatorios='\n- Campos obligatorios sin cubrir    ';
			var primero=null;
			var condicion=true;
			var condicion_adicional=true;
			var mensaje_adicional='';
			
			switch (formulario.name) {	
				case 'form_visitas':
					obligatorios=['nombre','mensaje'];
					nombres=['nome','mensaxe'];
					mensaje_obligatorios='\n- Indique un nombre y un texto para el mensaje    ';					
				break;
			}
			
			if (tipo_obligatorios=='or'){condicion=false;}
			
			for (i=0;i<obligatorios.length;i++){
				campo=formulario.elements[ obligatorios[i] ].value;
				campo_trim=campo;
				while ( campo_trim.indexOf(' ')!=-1 ){
					campo_trim=campo_trim.replace(' ','');
				}
				if (tipo_obligatorios=='or'){
					if ((campo!='')&&(campo_trim!='')){
						condicion=true;
						if (primero==''){primero=obligatorios[i];}
					}					
				}
				else{
					if ( (campo=='') || (campo_trim=='') ){
						condicion=false;
						if (mensaje_obligatorios!=''){mensaje=mensaje_obligatorios;}
						if (primero==null){primero=formulario.elements[ obligatorios[i] ];}
					}
				}
				if ( obligatorios[i]=='telefono' || obligatorios[i]=='fax' ){
					for (k=0;k<campo_trim.length;k++){
						campo_trim=campo_trim.replace('-','');
						campo_trim=campo_trim.replace('.','');
						campo_trim=campo_trim.replace('/','');
					}
					if ( isNaN(campo_trim) ){
						condicion=false;
						mensaje+='\n- Indique un '+nombres[i]+' válido   ';
					}
				}

			}
			// comprobación de la condición adicional
			if ( !condicion_adicional ){
				condicion=condicion_adicional;
				mensaje+=mensaje_adicional;
			}
			// comprobación final
			if (!condicion){
				mensaje='Se detectaron los siguientes errores:\n'+mensaje+'\n\n';
				if (primero){primero.focus();}
				alert( mensaje );
			}
			else{
				formulario.submit();
			}
	}
	
}

function submit_campo(campo,nombre_campo,formulario,cod_tecla){
	if ( formulario ){
		var manda=false;
		if ( cod_tecla==13 ){
			manda=( campo.value!='' && ( nombre_campo=='' || ( nombre_campo!='' && ( formulario.elements[nombre_campo].value!='' ) ) ) );
		}
		if ( manda ){
			formulario.submit();
		}
	}
}

function alfanumericos(campo,nombre_campo,formulario,cod_tecla,evento){
	if ( formulario ){
		
		var cond_numeros = ( cod_tecla>=48 && cod_tecla<=57 );
		var cond_minusculas = ( cod_tecla>=97 && cod_tecla<=122 );
		var cond_mayusculas = ( cod_tecla>=65 && cod_tecla<=90 );
		var cond_guiones= ( cod_tecla==45 || cod_tecla==95 );
		var cond_correcto=( cond_numeros || cond_minusculas || cond_mayusculas || cond_guiones );
		
		var evento_tipo=evento.toLowerCase();
		
		switch ( evento_tipo ){
			case 'keypress':
				if ( ie ){ 
					return cond_correcto; 
				}
				else{
					return true;
				}
			break;
			case 'keyup':
				if ( !ie ){ 
					if ( !cond_correcto ){
						campo.value=campo.value.substring(0,campo.value.length-1);
					}
				}
			break;
		}

	}
}


// FUNCIONES PARA POBLAR LOS COMBOS

function crea_combo(nombre,clase_css,estilos_css,eventos_js){
		if ( nombre!='' && !document.getElementById(nombre) ){
			var txt_html='';
			txt_html+='<select name="'+nombre+'" id="'+nombre+'"';
			if ( clase_css!='' ){
				txt_html+=' class="'+clase_css+'" ';	
			}
			if ( estilos_css!='' ){
				txt_html+=' style="'+estilos_css+'" ';
			}
			if ( eventos_js!='' ){
				txt_html+=' '+eventos_js+' ';
			}
			txt_html+='></select>';
			document.write(txt_html);
		}
}

function crear_opcion_combo(combo,texto_opcion,valor_opcion,elemento_seleccionado){
	if (combo && texto_opcion!=''){
		var opcion=document.createElement('option');
		opcion.text=texto_opcion;
		opcion.value=valor_opcion;
		combo.options.add(opcion);
		if (opcion.value==elemento_seleccionado){
			combo.selectedIndex=combo.options.length-1;
		}
	}
}

function vaciar_combos(id_combo,elemento_vacio,elemento_todos){
	if ( document.getElementById(id_combo) ){
			var combo=document.getElementById(id_combo);
			while ( combo.options.length>0 ){
				if (ie){
					combo.options.remove(0);
				}
				else{
					combo.options[0]=null; 
				}
			}
			var txt_todos;
			var txt_vacio=' ';
			switch ( id_combo.toLowerCase() ){
				default:
					txt_todos='Todos';
				break;
				case 'provincias':
				case 'provincia':
				case 'localidades':
					txt_todos='Todas';
				break;
			}
			if (elemento_vacio){
				crear_opcion_combo(combo,txt_vacio,'');
			}			
			if (elemento_todos){
				crear_opcion_combo(combo,txt_todos,'todos');
			}

	}
}

function poblar_combos(id_combo,valor_condicion,caso,elemento_vacio,elemento_todos,elemento_seleccionado){
	if ( document.getElementById(id_combo) ){
			var combo=document.getElementById(id_combo);
			var ar_origen=new Array();
			var condicion=( valor_condicion!=null && valor_condicion!='' && valor_condicion!='todos' && valor_condicion!='todas')?valor_condicion:null;
			var item_vacio=( elemento_vacio==null )?true:elemento_vacio;
			var item_todos=( elemento_todos==null )?false:elemento_todos;

			vaciar_combos(id_combo,item_vacio,item_todos);

			caso=caso.toLowerCase();
			
			switch( caso ) {
				case 'provincias':
				case 'provincia':
					ar_origen=eval('ar_'+caso);
					for (i=0;i<ar_origen.length;i++){
						crear_opcion_combo(combo,ar_origen[i][1],ar_origen[i][0],elemento_seleccionado);
					}
				break;
				case 'concellos':
				case 'concello':
					ar_origen=eval('ar_'+caso);
					for (i=0;i<ar_origen.length;i++){
						if ( ar_origen[i][1]==condicion || condicion==null ){
							crear_opcion_combo(combo,ar_origen[i][2],ar_origen[i][0],elemento_seleccionado);
						}
					}
				break;
			}
			
	}
}

function valor_combos(id_combo,valor){
	if ( document.getElementById(id_combo) ){
			var combo=document.getElementById(id_combo);
			for (i=0;i<combo.options.length;i++){
				if ( combo.options[i].value==valor ){
					combo.options[i].selected=true;	
				}
			}
	}
}


// FUNCIONES PARA REDIMENSIONAR LAS IMÁGENES

var ar_intervalos=new Array();
var ar_imagenes=new Array();
var margen_pie=0;
var factor_aumento=1;
var tope=145;
var iguala_dim=false;


function carga_imagen(ruta_imagen,descripcion_imagen,id_capa_imagen){
		if ( ruta_imagen!='' ){
			var extension=ruta_imagen.split('.')[ ruta_imagen.split('.').length-1 ].toLowerCase();
			var ar_extensiones=new Array('jpg','jpeg','gif','png');
			var error_extension=true;
			var capa_destino;	
			var descripcion=( descripcion_imagen=='' || descripcion_imagen==null )?'':descripcion_imagen;
			var intervalo;
			ar_imagenes.push( new Image() );
			ar_imagenes[ ar_imagenes.length-1 ].src=ruta_imagen;
			if ( id_capa_imagen!='' && id_capa_imagen!=null ){
				if ( document.getElementById(id_capa_imagen) ){
					capa_destino=document.getElementById( id_capa_imagen );
				}
			}
			else{
				capa_destino=document.getElementById( 'cont_img_'+ar_imagenes.length );
			}
			for (i=0;i<ar_extensiones.length;i++){
				if ( extension==ar_extensiones[i] ){
					error_extension=false;
				}
			}

			if ( error_extension ){
				capa_destino.innerHTML='<a href=\"descarga_fichero.php?fichero='+ruta_imagen+'\" class=\"link_novas\">Prema para descargar a foto en formato '+extension.toUpperCase()+'</a>';
			}
			else{
				intervalo=setInterval('comprueba_imagen('+(ar_imagenes.length-1)+',\''+capa_destino.id+'\',\''+descripcion+'\','+tope+','+iguala_dim+')',100);
				ar_intervalos.push(intervalo);				
			}
		}
}
	
function comprueba_imagen(indice_imagen,id_capa,descripcion_imagen,tope_tamano,iguala_dimension){
		var imagen=ar_imagenes[ indice_imagen ];
		if ( imagen.width > 0 && imagen.height > 0 ){
			var texto_html='';
			var ancho=imagen.width;
			var alto=imagen.height;
			var capa_destino=document.getElementById(id_capa);
			var tope_max=( !isNaN(tope_tamano) && tope_tamano>0 )?tope_tamano:tope;
			if ( ancho>=alto && ancho>tope_max ){
				alto=parseInt((alto*tope_max)/ancho);
				ancho=tope_max;
				if ( iguala_dimension ){
					if ( alto < tope_max ){ancho=(ancho*tope_max)/alto;alto=tope_max;}
				}
			}
			if ( alto>ancho && alto>tope_max ){
				ancho=parseInt((ancho*tope_max)/alto);
				alto=tope_max;
				if ( iguala_dimension ){
					if ( ancho < tope_max ){alto=(alto*tope_max)/ancho;ancho=tope_max;}
				}
			}	
			if ( document.images[id_capa] && capa_destino.src!=null ){
				with ( capa_destino ){
					src=imagen.src;
					width=(ancho*factor_aumento);
					height=(alto*factor_aumento);
					title=descripcion_imagen;
				}
			}
			else{
				texto_html+='<img src="'+imagen.src+'" width="'+(ancho*factor_aumento)+'" height="'+(alto*factor_aumento)+'" title="'+descripcion_imagen+'"/>';
				capa_destino.innerHTML=texto_html;
			}
			capa_destino.style.visibility='visible';
			clearInterval( ar_intervalos[ indice_imagen ] );
		}
}



// FUNCIONES GENERALES

function color_letra(elemento,colorin){
	if ( elemento ){
		elemento.style.color=colorin;
	}
}

function color_fondo(elemento,colorin){
	if ( elemento ){
		elemento.style.backgroundColor=colorin;
	}
}

function ventana_status(txt_estado){
	if (txt_estado==null){txt_estado='';}
	window.status=txt_estado;
	return true;
}

function cuenta_caracteres(campo,destino){
	if ( campo && document.getElementById(destino) ){
		var datos=document.getElementById(destino);
		datos.innerHTML=campo.value.length;
	}
}
