//ATENCIÓN: PARA AÑADIR UN PORTFOLIO:
//Modificar la variable p = número de portfolios
//Añadir textoPortfolio[X]
//Añadir miniPortfolio[X][Y]

//declaración de variables

//variables para el portfolio FIJO

var portfolioFijo; //declaración del miniportfolio FIJO el cual no se puede quitar la iluminación.
var QportfolioFijo = false; //declaración de la variable que nos dice si hay un portfolio fijo o qué.
var numPortfolioFijo; //número del portfolio fijo

var slideShowSpeed = 800; //velocidad del slide en los miniportfolios (milisegundos)
var p = 3; //número de miniPortfolios (TODOS TIENEN LA MISMA LONGITUD)
var q = 5; //número de fotos de cada miniPortfolio (TODOS TIENEN LA MISMA LONGITUD)


//declaración del array de las minifotos del portfolios que haya que activar
var portfolioActivo = new Array();
for (i= 0; i < p; i++) {
	portfolioActivo[i] = "fotoPortfolio"+i;
}

var numPortfolio; //variable global número de portfolio activo...

var t; //variable de rotación de imágenes, guarda la imagen activa de cada slide de portfolio

//declaración de mini portfolios (empieza en el 0)
var miniPortfolio = new Array();
for (i = 0; i < p; i++) {
	miniPortfolio[i]= new Array();
}

//declaración de los textos;
var textoPortfolio = new Array();
textoPortfolio[0] = "Aglomeraciones";
textoPortfolio[1] = "Gigantes";
textoPortfolio[2] = "Transgeneración";


//Todas las miniimágenes de los porfolos
miniPortfolio[0][0] = 'galerias/aglomeraciones/aglomeraciones_miniaturas_slide/portfolio_aglomeraciones_02.jpg';
miniPortfolio[0][1] = 'galerias/aglomeraciones/aglomeraciones_miniaturas_slide/portfolio_aglomeraciones_03.jpg';
miniPortfolio[0][2] = 'galerias/aglomeraciones/aglomeraciones_miniaturas_slide/portfolio_aglomeraciones_07.jpg';
miniPortfolio[0][3] = 'galerias/aglomeraciones/aglomeraciones_miniaturas_slide/portfolio_aglomeraciones_08.jpg';
miniPortfolio[0][4] = 'galerias/aglomeraciones/aglomeraciones_miniaturas_slide/portfolio_aglomeraciones_11.jpg';
miniPortfolio[1][0] = 'galerias/gigantes/gigantes_miniaturas_slide/portfolio_gigantes_02.jpg';
miniPortfolio[1][1] = 'galerias/gigantes/gigantes_miniaturas_slide/portfolio_gigantes_03.jpg';
miniPortfolio[1][2] = 'galerias/gigantes/gigantes_miniaturas_slide/portfolio_gigantes_07.jpg';
miniPortfolio[1][3] = 'galerias/gigantes/gigantes_miniaturas_slide/portfolio_gigantes_05.jpg';
miniPortfolio[1][4] = 'galerias/gigantes/gigantes_miniaturas_slide/portfolio_gigantes_15.jpg';
miniPortfolio[2][0] = 'galerias/transgeneracion/transgeneracion_miniaturas_slide/portfolio_transgeneracion_01.jpg';
miniPortfolio[2][1] = 'galerias/transgeneracion/transgeneracion_miniaturas_slide/portfolio_transgeneracion_03.jpg';
miniPortfolio[2][2] = 'galerias/transgeneracion/transgeneracion_miniaturas_slide/portfolio_transgeneracion_04.jpg';
miniPortfolio[2][3] = 'galerias/transgeneracion/transgeneracion_miniaturas_slide/portfolio_transgeneracion_05.jpg';
miniPortfolio[2][4] = 'galerias/transgeneracion/transgeneracion_miniaturas_slide/portfolio_transgeneracion_06.jpg';



//declaración del array contador de la imagen activa
var contador = new Array(); 
for (i = 0; i < p; i++) {
	contador[i]= 0;
}
//declaración del array contenedor de imágenes
var preLoad = new Array(); 
for (i = 0; i < p; i++) {
	preLoad[i]=new Array();
}	
//precarga!!!
for (i = 0; i < p; i++) {
	for (j = 0; j < q; j++) {
		preLoad[i][j] = new Image();
		preLoad[i][j].src = miniPortfolio[i][j];
	}
}

//mini imagen que se pone en el lugar del mini portfolio que está fijo
miniImagenPortfolioFijo = new Image();
miniImagenPortfolioFijo.src = 'imagenes/portfolioFijoVacio.gif';


//funciones

//cambia la opacidad de ip desde opacStart hasta opacEnd en millisec milisegundos
function opacity(id, opacStart, opacEnd, millisec) {
    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = 0;
    //determine the direction for the blending, if start and end are the same nothing happens
    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    } else if(opacStart < opacEnd) {
        for(i = opacStart; i <= opacEnd; i++)
            {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    }
}

//cambia la opacidad a opacity de id
function changeOpac(opacity, id) {
	//change the opacity for different browsers
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
} 

//cambia la opacidad de id en millisec milisegundos, si está oculto aparece, si no desaparece
function shiftOpacity(id, millisec) {
    //if an element is invisible, make it visible, else make it ivisible
	var obj = document.getElementById(id).style;		
    if(obj.opacity == 0 || obj.MozOpacity == 0 || obj.KhtmlOpacity == 0 || obj.filter == 0) {
        opacity(id, 0, 100, millisec);
    } else {
        opacity(id, 100, 0, millisec);
    }
} 


//deja fijado el miniportfolio que se indique, que es cuando se clicka para visualizar 
function fijaPortfolio(num){

	QportfolioFijo = true;
	
	numPortfolioFijo = num;
	textoPortfolioFijo = textoPortfolio[num];
	portfolioFijo = "portfolio"+num;
	
	//mini imagen portfolio fijo.
	document.images[portfolioActivo[numPortfolioFijo]].src = miniImagenPortfolioFijo.src; 
		
	//changeOpac(100,'portfolios'); //ilumina los portfolios
	document.getElementById("portfolios").style.visibility="visible";
	for (i= 0; i < p; i++) { //pone los miniportfolios a opacidad 50 (p=número total de miniportfolios)
		changeOpac(50,"portfolio"+i);
	}			
	document.getElementById("navpor").style.visibility="visible";
	document.getElementById("menu_texto_portfolio").style.visibility="visible";	
	
	
	
	
	
	document.getElementById('menuPortfolio').className='activelink_nav'; //activa el link de portfolios

	

	
}



//fade del menu de mini portfolios

function fadeMenuPortfolio(){
	
	if (QportfolioFijo==false){
		if((document.getElementById("portfolios").style.visibility=="")||
			(document.getElementById("portfolios").style.visibility=="hidden"))
		{
			document.getElementById("portfolios").style.visibility="visible";
			for (i= 0; i < p; i++) { //pone los miniportfolios a opacidad 50 (p=número total de miniportfolios)
				changeOpac(50,"portfolio"+i);
			}			
			document.getElementById("navpor").style.visibility="visible";
			document.getElementById("menu_texto_portfolio").style.visibility="visible";
			
			document.getElementById("menuPortfolio").className='activelink_nav';			
			
		} else {
			document.getElementById("portfolios").style.visibility="hidden";
			document.getElementById("navpor").style.visibility="hidden";
			document.getElementById("menu_texto_portfolio").style.visibility="hidden";			
			document.getElementById("menuPortfolio").className='';

		}
	}
}



//activa el portfolio onmouseover, escribe su título y comienza el slide
function activaPortfolio(cuadritoPortfolio) {

	numPortfolio = cuadritoPortfolio.substring(9,10);
	if(numPortfolio!=numPortfolioFijo){
		MM_setTextOfLayer("menu_texto_portfolio",'',textoPortfolio[numPortfolio]);
		runSlideShow(numPortfolio); //comienza el slide
	}
	opacity(cuadritoPortfolio, 50, 100, 150);


}

//desactiva el portfolio onmouseout, borra su título y para el slide
function desactivaPortfolio(cuadritoPortfolio){
	numPortfolio = cuadritoPortfolio.substring(9,10);
	
	MM_setTextOfLayer("menu_texto_portfolio",'','')
	
	//Ajustar el contador de secuencia de cada portfolio (por separado) se le resta 1 para que cuando vuelva
	//a activarse mantenga la minifoto donde se quedó.
	if(contador[numPortfolio]==0){contador[numPortfolio]=q-1}else{contador[numPortfolio]=contador[numPortfolio]-1}; 	
	clearTimeout(t);
	
	opacity(cuadritoPortfolio, 100, 50, 150);
	
}
	
//slide imágenes. Modificado del original de http://www.codelifter.com
function runSlideShow(numPortfolio) {
	
	document.images[portfolioActivo[numPortfolio]].src = preLoad[numPortfolio][contador[numPortfolio]].src;	
	t = setTimeout('runSlideShow(numPortfolio)', slideShowSpeed);	
	contador[numPortfolio] = contador[numPortfolio] + 1;
	if (contador[numPortfolio] > (q - 1)) contador[numPortfolio] = 0;
	
}

//ventana emergente de contacto

function abrirContacto()
{

	borrarTextosErrorFormulario(); //borra los errores de inserción de datos

	/*ñapa para que el explorer que es toda la mierda no elimina el fondo del portfolio*/
	changeOpac(100,"navpor");
	changeOpac(100,"menu_texto_portfolio");

	changeOpac(50,"container_cuerpo");
	opacity("container_contacto",0,100,200);
	document.getElementById("contacto_fondo_bloqueador").style.visibility="visible";
	changeOpac(50,"contacto_fondo_bloqueador");
	document.getElementById("container_contacto").style.visibility="visible";
		
}

function cerrarContacto()
{

	/*ñapa para que el explorer que es toda la mierda no elimina el fondo del portfolio*/
	changeOpac(100,"navpor");
	changeOpac(100,"menu_texto_portfolio");

	opacity("container_cuerpo",50,100,200);
	
	document.getElementById("contacto_fondo_bloqueador").style.visibility="hidden";
	document.getElementById("container_contacto").style.visibility="hidden";
	changeOpac(0,"container_contacto");
	
}




//cambia texto
function MM_findObj(n, d) { //v4.01
	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_setTextOfLayer(objName,x,newText) { //v4.01
	if ((obj=MM_findObj(objName))!=null) with (obj)
	if (document.layers) {document.write(unescape(newText)); document.close();}
	else innerHTML = unescape(newText);
}



//valida el formulario de contacto
function validarFormulario() {
	var nombreParaValidar = document.formulario.nombre.value;
	var emailParaValidar = document.formulario.email.value;
	var estado = true;
	
	if (nombreParaValidar.length==0){
		MM_setTextOfLayer("texto_contacto_error_nombre",'','Escribe tu nombre');
		estado = false;
	} else {MM_setTextOfLayer("texto_contacto_error_nombre",'','');}

if (emailParaValidar.length==0){
		MM_setTextOfLayer("texto_contacto_error_email",'','Escribe tu email');
		estado = false;
	} else {MM_setTextOfLayer("texto_contacto_error_email",'','');}
	
//if (estado){cerrarContacto();}

return estado;

}

//borra los errores de inserción de datos
function borrarTextosErrorFormulario() {
	MM_setTextOfLayer("texto_contacto_error_nombre",'','');	
	MM_setTextOfLayer("texto_contacto_error_email",'','');
}

//ajusta automáticamente la altura de los mini portfolios dependiendo del número de ellos (p)
function ajustarNumeroPortfolios() {
	var fijoPaddingTop = 302; //valor de padding top de POTFOLIOS para una línea
	var fijoHeight = 25; //valor de height de POTFOLIOS para una línea
	var constanteAltura = 40;
	
	var numLineas = Math.round(p/2); //número de líneas de portfolios
	var alturaPortfolios = fijoHeight+(constanteAltura*numLineas)+"px";
	var paddingTopPortfolios = fijoPaddingTop-(constanteAltura*numLineas)+"px";	
	
	por = document.getElementById("portfolios");	
	por.style.height=alturaPortfolios;
	por.style.paddingTop=paddingTopPortfolios;
}
