// -------------------------------------------------------------------------------------------------------- //
// INAKI - DIGIVAL.ES ------------------------------------------------------------------------------------- //
// -------------------------------------------------------------------------------------------------------- //
var enlaces = new Array();

function start(){
	var minis2 = getElementsByClass('minifotos', 'p');
	var x = 0;
	for(y=0;y<minis2.length;y++){
		for(z=0; z<minis2[y].childNodes.length; z++){
			if(minis2[y].childNodes[z].tagName == 'A'){
				enlaces[x] = minis2[y].childNodes[z];
				x++;
				minis2[y].childNodes[z].onclick = abre;
			}
		}		
	}
};

var margenAlto;

function abre(){
		if(!document.getElementById('fichaProd')){
			creaDiv();
			creaDivFoto(this)
		}else{
			document.getElementsByTagName("body").item(0).removeChild(document.getElementById('fichaProd'));
			creaDiv();
			creaDivFoto(this);
		}
		return false;
}

function creaDiv(){
		var docbody = document.getElementsByTagName("body").item(0);
		var contenedor = document.createElement('div');	
		contenedor.setAttribute('id', 'fichaProd');
		contenedor.style.background = "#e8e8e8";
		contenedor.style.border = "5px solid #A01B69";
		contenedor.style.position = "absolute";
		docbody.appendChild(contenedor);
}
function creaEnlace() {
		var cerrar = document.createElement('a');
		cerrar.setAttribute('id', 'cierraProd');
		cerrar.setAttribute('title', 'Cerrar Imagen');
		cerrar.setAttribute('href', '#');
		document.getElementById('fichaProd').appendChild(cerrar);
		document.getElementById('cierraProd').onclick = function(){cierraProd(); return false;}
		var texto = document.createTextNode("Cerrar");
		document.getElementById('cierraProd').appendChild(texto);
}

function creaDivFoto(ruta){
		var foto = document.createElement('img');
		foto.setAttribute('alt', 'foto');
		foto.setAttribute('id', 'foto');
		foto.style.cursor = "pointer";
		document.getElementById('fichaProd').appendChild(foto);		
		document.getElementById('foto').onload = function(){creafoto();};
		document.getElementById('foto').onclick = function(){cierraProd();};
		foto.setAttribute('src', ruta);		
}
function creafoto(){
		var alto = document.getElementById('fichaProd').offsetHeight;
		var ancho = document.getElementById('fichaProd').offsetWidth;

		//posicion horizontal siempre en medio
		document.getElementById('fichaProd').style.left = '50%';
		document.getElementById('fichaProd').style.marginLeft = '-'+ancho/2+'px';
		
		//posicion vertical
		if (window.innerHeight){winH = window.innerHeight;}
		//else if browser supports document.all (IE 4+)
		else if (document.all){ winH = document.documentElement.offsetHeight;}
		margenAlto = (winH - alto)/2;
		if(!margenAlto) margenAlto=200;
		if(margenAlto<0) margenAlto=0;
			
		var marginChange = new fx.Style(document.getElementById('fichaProd'), 'top', {duration:500,
		onComplete: function(){
				JSFX_FloatDiv("fichaProd", 0, margenAlto).floatIt();
			}
		});
		marginChange.custom(parseFloat('-'+alto), margenAlto);

		creaEnlace();
}

function cierraProd(){
	document.getElementsByTagName("body").item(0).removeChild(document.getElementById('fichaProd'));
}
/* ----------------------------------------------------------------------------------------------------- */
//JSFX_FloatDiv BASED ON http://www.travel-dive.com/
var ns = (navigator.appName.indexOf("Netscape") != -1);
var d = document;
function JSFX_FloatDiv(id, sx, sy){
			var el=d.getElementById?d.getElementById(id):d.all?d.all[id]:d.layers[id];
			var px = document.layers ? "" : "px";
			window[id + "_obj"] = el;
			if(d.layers)el.style=el;
			el.cx = el.sx = sx;el.cy = el.sy = sy;
			el.sP=function(x,y){
				this.style.top=y+px;	
			};
			//this.style.left=x+px;
			el.floatIt=function(){
				var pX, pY;
				pX = (this.sx >= 0) ? 0 : ns ? innerWidth : 
				document.documentElement && document.documentElement.clientWidth ? 
				document.documentElement.clientWidth : document.body.clientWidth;
				pY = ns ? pageYOffset : document.documentElement && document.documentElement.scrollTop ? 
				document.documentElement.scrollTop : document.body.scrollTop;
				if(this.sy<0) 
				pY += ns ? innerHeight : document.documentElement && document.documentElement.clientHeight ? 
				document.documentElement.clientHeight : document.body.clientHeight;
				this.cx += (pX + this.sx - this.cx)/8;this.cy += (pY + this.sy - this.cy)/8;
				this.sP(this.cx, this.cy);
				setTimeout(this.id + "_obj.floatIt()", 40);
		}
	return el;
}
/* ----------------------------------------------------------------------------------------------------- */
// Event listener by Scott Andrew (www.scottandrew.com):
function addEvent(obj, evType, fn, useCapture){
  if (obj.addEventListener){
    obj.addEventListener(evType, fn, useCapture);
    return true;
  } else if (obj.attachEvent){
    var r = obj.attachEvent("on"+evType, fn);
    return r;
  } else {
    alert("Handler could not be attached");
  }
};

//GET ELEMENT BY CLASS
function getElementsByClass(ClassName,tagName,parentElement){
		 var elements=new Array();
		 var d=parentElement ? parentElement : document;
		 var allElements;
	
		 if(tagName)
		   allElements=d.all && d.all.tags(tagName)
		    || d.getElementsByTagName && d.getElementsByTagName(tagName);
		 else allElements=d.all || d.getElementsByTagName("*");
		 
		 for(var i=0,len=allElements.length; i<len; i++)
		  if(allElements[i].className==ClassName)
		   elements[elements.length]=allElements[i];
		
		 return elements;
};
/* EVENTO ON LOAD --------------------------------------------------------------------------------------- */
if (document.getElementsByTagName) addEvent(window, 'load', start, false);

