
//funciones javascript


// código ajax
				
	var READY_STATE_UNINITIALIZED=0;
	var READY_STATE_LOADING=1;
	var READY_STATE_LOADED=2;
	var READY_STATE_INTERACTIVE=3;
	var READY_STATE_COMPLETE=4;
	var peticion_http;

	function cargaContenido(url, metodo, funcion, formid) {

		peticion_http = inicializa_xhr();
		var post=0;
		var f_fields = null;
		var sep = "";
		
		if (metodo=='POST' && formid.length>0) post=1;
		if(peticion_http) {
			if (post==1){	
				
				var f = document.getElementById(formid);

				if (f){
					f_fields='';
					for (var i=0; i <= f.elements.length-1;i++) {
						f_fields += sep+f.elements[i].name+'='+encodeURI(f.elements[i].value);
						sep="&";
					}
				}
			}
			var d=new Date();
            var ts=d.getMilliseconds();
            url=url+"&ts"+ts+"="+ts;
			peticion_http.onreadystatechange = funcion;
			peticion_http.open(metodo, url, true);
		
			if ( post==1  ){
				peticion_http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=ISO-8859-1');
				if ( f_fields.length==0 ) f_fields=null;
			}
			
			peticion_http.send(f_fields);
		}
	}
	
	function inicializa_xhr() {
		var obj;
		if(window.XMLHttpRequest) {
			obj = new XMLHttpRequest();
		}
		else if(window.ActiveXObject) {
			obj = new ActiveXObject("Microsoft.XMLHTTP");
		}
		return obj;
	}
	
// fin código ajax


function validarEmail(valor) {
  if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor)){
	return (true)
  } else {
	return (false);
  }
}

function checkData(){
	var formu = document.f_contacto;
	if( formu.f_nombre.value=="" || formu.f_comentario.value==""  ){
		alert("Todos los campos son obligatorios");
	}
	else{
		if( formu.f_condiciones.checked==false ){
			alert("Debes aceptar las condiciones de uso");		
		}
		else {
			if (formu.f_comentario.value.length > 3000) { 
				alert("Tu comentario es demasiado largo.\nIntenta ser más escueto para dar cabida a más comentarios por página.\nGracias "); 
				return; 
			}
			try{
				var pO=document.getElementById('pag_act_dato');
				var fpO=document.getElementById('f_pag');
				if (pO && fpO) fpO.value= pO.innerHTML;
				}catch(e){}

			try{
				var c=document.getElementById("comentarios");
				if (c) c.innerHTML="<div id=\'comentarios_loader\'></div>";		
							
				cargaContenido("registro_mensaje.php", "POST", muestra_pag,"f_contacto");
				
				formu.f_nombre.value="";
				formu.f_comentario.value=""; 
				formu.f_condiciones.checked = 0;
			}catch(ex){ alert(ex); }
		}

	}
}

function checkLogin(t){
	var formu = document.f_login;
	if( formu.f_usuario.value=="" || formu.f_clave.value==""  ){
		return mdc.htmlExpand(t, { wrapperClassName: 'info-html-popup',outlineType:'rounded-white' } )
	}
	else{	
		formu.submit();
		return false;
	}
}

function showInfoScreen(id){
	var aO=document.getElementById(id);
	if (!aO) return;
	return mdc.htmlExpand(aO, { wrapperClassName: 'info-html-popup',outlineType:'rounded-white' } )
}

function ver_pagina(id){
	var c=document.getElementById("comentarios");
	if (c) c.innerHTML="<div id=\'comentarios_loader\'></div>";	
	cargaContenido("libro.php?ajxr=1&pag="+id, "GET", muestra_pag);
	return false;
}	

function muestra_pag(){
	if(peticion_http.readyState == READY_STATE_COMPLETE) {
		if(peticion_http.status == 200) {
			resp= peticion_http.responseText;
			if (resp.length!="undefined")	document.getElementById("comentarios").innerHTML = resp;
		}
	}
}


function obtener_modelo(c,s,m,idioma,thi){
	var c=document.getElementById("coleccion_modelo_cont");
	if (c) c.innerHTML="<div id=\'coleccion_modelo_cont_loader\'></div>";		
	cargaContenido("coleccion.php?ajaxrx=1&nIdioma="+idioma+"&idColecc="+c+"&idS="+s+"&idM="+m, "GET", cambia_modelo);
	if (!thi) return false;
	//cambiamos clase al botón
	var b = document.getElementsByTagName('div');
	if (!b) return false;
	for (var i=0; i < b.length; i++){
		if ( b[i].className=='modelo on' ) {  b[i].className = 'modelo'; }
	}
	thi.parentNode.className = 'modelo on';
	return false;
}

function mostrar_modelo(thi,idM){
	var c=document.getElementById("coleccion_modelo_cont");
	if (!thi) return false;
	//cambiamos clase al botón
	var b = document.getElementsByTagName('div');
	if (!b) return false;
	for (var i=0; i < b.length; i++){
		if ( b[i].className=='modelo on' ) {  b[i].className = 'modelo'; }
	}
	thi.parentNode.className = 'modelo on';
	// control carga suave imagenvar 
	imgO=document.getElementById("modelo_img"+idM);
	if (imgO) poner_foto_detalle(imgO);
	return  mdc.htmlExpand(thi, { wrapperClassName: 'datos-html-popup',outlineType:'rounded-white' } );
	}

function cambia_modelo(){
	if(peticion_http.readyState == READY_STATE_COMPLETE) {
		if(peticion_http.status == 200) {
			resp= peticion_http.responseText;
			if (resp.length!="undefined")	document.getElementById("coleccion_modelo_cont").innerHTML = resp;
			// control carga suave imagenvar 
			imgO=document.getElementById("modelo_img");
			if (imgO) poner_foto_detalle(imgO);
		}
	}
}


function obtener_noticia(thi,id,idioma){
	var c=document.getElementById("noticia_titulo");
	if (c) c.innerHTML="";		
	var c=document.getElementById("noticia_fecha");
	if (c) c.innerHTML="";		
	var c=document.getElementById("noticia_texto");
	if (c) c.innerHTML="<div id=\'noticia_loader\'></div>";	
	cargaContenido("noticias.php?ajxr=1&nIdioma="+idioma+"&idNoticia="+id, "GET", cambia_noticia);
	//cambiamos clase al botón
	change_class('div','noticia_on','noticia');
	thi.parentNode.parentNode.className = 'noticia_on';
	return false;
}	

function cambia_noticia(){
	if(peticion_http.readyState == READY_STATE_COMPLETE) {
		if(peticion_http.status == 200) {
			resp= peticion_http.responseText;
			if (resp.length!="undefined"){	
				try{
				document.getElementById("noticias_cuerpo_noticia").innerHTML = resp;
				// control carga suave imagenvar 
				imgO=document.getElementById("noticia_imgG");
				if (imgO) poner_foto_detalle(imgO);		
				imgO=document.getElementById("noticia_imgP1");
				if (imgO) poner_foto_detalle(imgO);			
				imgO=document.getElementById("noticia_imgP2");
				if (imgO) poner_foto_detalle(imgO);
				}catch(ex){ alert(ex);}
			}	
		}
	}
}	

function change_class(tag,clase,newclass){
	var objArr=document.getElementsByTagName(tag);
	for (var i=0; i < objArr.length; i++){	
		if (objArr[i].className==clase )objArr[i].className=newclass;
	}
}



paginaActiva=1;
totalPaginas=1;
//Funciones para menú de paginación
function pagina_menos(){
	try{
		if (paginaActiva==1) return false;
		paginaActiva--;
		if (semaf==1) return false;
		mostar_pagina('pag'+paginaActiva);
		var dato=document.getElementById('datoPagActual');
		if (dato) dato.innerHTML=paginaActiva;
	}catch(ex){ alert(ex.description)}
}

function pagina_mas(){
	try{
		if (paginaActiva==totalPaginas) return false;
		paginaActiva++;
		if (semaf==1) return false;
		mostar_pagina('pag'+paginaActiva);
		var dato=document.getElementById('datoPagActual');
		if (dato) dato.innerHTML=paginaActiva;
	}catch(ex){ alert(ex.description)}
}




var pagObj;
var apObj;
var suma = 20;
var color=0;
var semaf=0;

function mostar_pagina(id){
	var des = document.getElementById(id);
	if (!des) return false;
	var clase = des.className;
	
	if (clase=='pag_off')
	{
		apObj=des;	
		ocultar_paginas();//oculta dodos las páginas
	}
	return false;

}

//oculta dodos los name=menus_apartado
function ocultar_paginas(){
	semaf=1;
	var pags = document.getElementsByTagName('div');
	if (!pags) return false;
	for (var i=0; i < pags.length; i++){
		if (pags[i].className=='pag_on' ) {
			pagObj=pags[i];
			color=110;
			i=pags.length+1;
			desvanecer_noticias();
		}
	}
	return false;
}

function desvanecer_noticias() {
	var obj2 = pagObj;
	try{
	color -= suma;
	if (!(color <=-10)){
	    obj2.style.filter = 'alpha(opacity='+color+')';
		obj2.style.opacity = color /100;
		obj2.style.MozOpacity = color /100;
		obj2.style.KHTMLOpacity = color /100;
		window.setTimeout('desvanecer_noticias()', 40);
	}else{
		obj2.className='pag_off';
		color=0;		
		obj2.style.opacity = 0;
		obj2.style.MozOpacity = 0;
		obj2.style.KHTMLOpacity = 0;
		aparecer();
		apObj.className='pag_on';
	}
	}catch(ex){ }
}

function aparecer(){
	var obj = apObj;
	obj.style.display = "";
	color += suma;
	if (!(color>=110)){
		obj.style.filter = 'alpha(opacity='+color+')';
		obj.style.opacity = color /100;
		obj.style.MozOpacity = color /100;
		obj.style.KHTMLOpacity = color /100;
		window.setTimeout('aparecer()', 50);
	}else{ semaf=0 }
}

function aplicar_trans(contenedor,clase,alpha){
	try{
		var contObj=document.getElementById(contenedor);
		if (!contObj) return;
		if ((alpha <=100) && (alpha >=0) ){
			var objArr=contObj.getElementsByTagName('*');
			for (var i=0; i < objArr.length; i++){	
				if (objArr[i].className==clase || clase=='div'){
					objArr[i].style.filter = 'alpha(opacity='+alpha+')';
					objArr[i].style.opacity = alpha /100;
					objArr[i].style.MozOpacity = alpha /100;
					objArr[i].style.KHTMLOpacity = alpha /100;
				}
				

			}
		}
	}catch(ex){}	
}


//Funciones para menú de paginación de noticias
var alturaMenuNoticias='0px';

function getStyle(oElm, strCssRule){
	var strValue = "";
	if(document.defaultView && document.defaultView.getComputedStyle){
		strValue = document.defaultView.getComputedStyle(oElm, "").getPropertyValue(strCssRule);
	}
	else if(oElm.currentStyle){
		strCssRule = strCssRule.replace(/\-(\w)/g, function (strMatch, p1){
			return p1.toUpperCase();
		});
		strValue = oElm.currentStyle[strCssRule];
	}
	return strValue;
}

function pagina_arriba_enh(){
	try{
		if (paginaActiva==totalPaginas) return false;
		if (semaf==1) return false;
		alturaMenuNoticias=getStyle(document.getElementById('enlaces_contenedor'),'height') ;
		var bottomInt=0;
		paginaActiva++;
		var oPout=document.getElementById('pag'+(paginaActiva-1));
		if (oPout) oPout.style.top='0px';
		var oPin=document.getElementById('pag'+paginaActiva);
		if (oPin) oPin.style.top=alturaMenuNoticias;
		semaf=1;
		fx(oPout,0,parseInt(alturaMenuNoticias)*-1,'top','px',desacelerado,1000);
		semaf=1;
		fx(oPin,parseInt(alturaMenuNoticias),0,'top','px',desacelerado,1000);
		var dato=document.getElementById('datoPagActual');
		if (dato) dato.innerHTML=paginaActiva;
	}catch(ex){ alert(ex.description)}
}

function pagina_abajo_enh(){
	try{
		if (paginaActiva==1) return false;
		if (semaf==1) return false;
		paginaActiva--;
		alturaMenuNoticias=getStyle(document.getElementById('enlaces_contenedor'),'height') ;
		var bottomInt=0;
		var oPout=document.getElementById('pag'+(paginaActiva+1));
		if (oPout) oPout.style.top='0px';
		var oPin=document.getElementById('pag'+paginaActiva);
		if (oPin) oPin.style.top='-'+alturaMenuNoticias;
		semaf=1;
		fx(oPout,0,parseInt(alturaMenuNoticias),'top','px',desacelerado,1000);
		semaf=1;
		fx(oPin,parseInt(alturaMenuNoticias)*-1,0,'top','px',desacelerado,1000);
		var dato=document.getElementById('datoPagActual');
		if (dato) dato.innerHTML=paginaActiva;
	}catch(ex){ alert(ex.description)}
}

function transicion(curva,ms,callback){
    this.ant=0.01;
    this.done_=false;
    var _this=this;
    this.start=new Date().getTime();
    this.init=function(){
        setTimeout(function(){
                if(!_this.next()){
                    callback(1);
                    _this.done_=true;
                    window.globalIntervalo=0;
					semaf=0;
                    return;
                }
                callback(_this.next());
                _this.init();
            },13);
    }
    this.next=function(){
        var now=new Date().getTime();
        if((now-this.start)>ms)
            return false;
        return this.ant=curva((now-this.start+.001)/ms,this.ant);
    }
}

function fx(obj,inicio,fin,propCss,u,curva,ms){
    var t=new transicion(curva,ms,function(p){
        if(fin<inicio){
            var delta=inicio-fin;
            obj.style[propCss]=(inicio-(p*delta))+u;
        }
        else{
            var delta=fin-inicio;
            obj.style[propCss]=(inicio+(p*delta))+u;
        }
    });
    t.init();
    t=null;
}

function senoidal(p,ant){
    return (1 - Math.cos(p * Math.PI)) / 2;
}
 
function elasticoSuave(p,ant){
    if(p<=0.6){
        return Math.pow(p*5/3,2);
    }else{
        return Math.pow((p-0.8)*5,2)*0.4+0.6;
    }
}

function acelerado(p,ant){
    var maxValue=1, minValue=.001, totalP=1, k=7;
    var delta = maxValue - minValue; 
    var stepp = minValue+(Math.pow(((1 / totalP) * p), k) * delta); 
    return stepp; 
}

function desacelerado(p,ant){
    var maxValue=1, minValue=.001, totalP=1, k=.25;
    var delta = maxValue - minValue; 
    var stepp = minValue+(Math.pow(((1 / totalP) * p), k) * delta); 
    return stepp; 
}


function poner_foto_detalle(imgO){
	try{
		if (!imgO) return false;
		if (semaf!=0){
		 window.setTimeout(function(){ poner_foto_detalle(imgO); },100);
		}

		imgO.style.visibility='hidden';
		apObj=imgO;
		color=0;
		var imagen=new Image();
		imagen.onload = function (){
			imgO.style.visibility='visible';
			imgO.src=imgO.src;
			aparecer();
			return false;
		}
		//Esta línea debe ir detrás de imagen.onload para evitar que IE 
		//no dispare el evento cuando ya ha cacheado la imagen
		//Otra solución sería comprobar el image.complete antes del onload 	
		imagen.src=imgO.src;
		
		if (imagen.complete===true) {
			imgO.style.filter = 'alpha(opacity=100)';
			imgO.style.opacity = 100;
			imgO.style.MozOpacity = 100;
			imgO.style.KHTMLOpacity = 100;
			imgO.style.visibility='visible';
		}	
		
		return false;
	}catch(ex){alert(ex)}
}








