/**
 * Funciones encargadas de mostrar elementos en "virtual box" (como imagenes)
 */

//VitualBox que esta activo
var currentVirtualBox = null;


/**
 * Muestra un virtual box
 */
function showVirtualBox (width, height, virtualBoxCode, a)
	{
	loadImagesInChache('g.gif');

	closeCurrentVirtualBox();
	
	if(a===undefined||a==null)
		a = new Element('a', {title: 'Virtual Box'});
	
	
	if(a.virtualBox==null)
		{
		var title = a.title;
		a.title = width+' :: '+height;
		a.virtualBox = new Virtual.HTML.single(a, {enable: {caption: false}, style: false, effect: ((Browser&&Browser.ie6) ? 'fix': 'slide'), content: virtualBoxCode});
		a.title = title;
		}
			
	currentVirtualBox = a.virtualBox;
	a.virtualBox.create();
	
	return false;
	}

/**
 * Cierra la actual VirtualBox
 */
function closeCurrentVirtualBox ()
	{
	if(currentVirtualBox!=null)
		{
		currentVirtualBox.remove();
		currentVirtualBox=null;
		}
	}


/*----------------------- Trabajos -----------------------*/

//Objecto que contiene las fotos de trabajos que se  estan mostrando
var showingFotosTrabajos = null;

/**
 * Muestra la foto de un trabajo segun el index
 */
function showFotoTrabajo (index)
	{
	
	if(showingFotosTrabajos==null||index<0||index>=showingFotosTrabajos.fotos.length)
		return;

	
	var trabajosElement = $('muestraTrabajos');

	if(!showingFotosTrabajos.inited)
		{
		var toggleOptions = {duration:2000};
		
		if(trabajosElement===undefined||trabajosElement==null)
			{
			if(showingFotosTrabajos.initCounter<10)
				setTimeout(function(){showFotoTrabajo(index);},200);
			showingFotosTrabajos.initCounter++;
			return;
			}
		
		
		for(var i=0;i<showingFotosTrabajos.fotos.length;i++)
			{
			showingFotosTrabajos.fotos[i].fotoDiv = $(showingFotosTrabajos.fotos[i].divId);
			if(showingFotosTrabajos.fotos[i].fotoDiv===undefined||showingFotosTrabajos.fotos[i].fotoDiv==null)
				{
				if(showingFotosTrabajos.initCounter<10)
					setTimeout(function(){showFotoTrabajo(index);},200);
				showingFotosTrabajos.initCounter++;
				return;
				}
						
			if(showingFotosTrabajos.fotos[i].toggleFadeFx==null)
				showingFotosTrabajos.fotos[i].toggleFadeFx = new Fx.Toggle(showingFotosTrabajos.fotos[i].fotoDiv,toggleOptions);
			}
		showingFotosTrabajos.inited = true;
		
		for(var i=0;i<showingFotosTrabajos.fotos.length;i++)
			{
			showingFotosTrabajos.fotos[i].fotoDiv.setStyle('opacity',0);
			showingFotosTrabajos.fotos[i].fotoDiv.setStyle('display','block');
			}
		}
	
	
	if(showingFotosTrabajos.inChange==true)
		return;
		
	showingFotosTrabajos.inChange = true;

	
	var fxFrom = null;
	var fxTo = showingFotosTrabajos.fotos[index].toggleFadeFx;

				
	if(showingFotosTrabajos.showingIndex>=0)
		fxFrom = showingFotosTrabajos.fotos[showingFotosTrabajos.showingIndex].toggleFadeFx;
	
	for(var i=0;i<showingFotosTrabajos.fotos.length;i++)
		{
		showingFotosTrabajos.fotos[i].toggleFadeFx.pause();
		showingFotosTrabajos.fotos[i].fotoDiv.setStyle('opacity',(i!=showingFotosTrabajos.showingIndex)?0:1);
		}

	
	fxTo.toggleOpacity();

	if(fxFrom!=null)
		fxFrom.toggleOpacity();

	var boton = trabajosElement.getElement('.prev');

	if(index!=0)
		boton.setStyle('display','block');
	else
		boton.setStyle('display','none');

	var boton = trabajosElement.getElement('.next');

	if(index<(showingFotosTrabajos.fotos.length-1))
		boton.setStyle('display','block');
	else
		boton.setStyle('display','none');
	
				
	showingFotosTrabajos.showingIndex = index;

	trabajosElement.getElement('.footer').set('html',showingFotosTrabajos.fotos[index].nombre);
		
	
	setTimeout(function(){showingFotosTrabajos.inChange = false;},500);
	}


/**
 * Manda a mostrar un trabajo
 */
function showTrabajo (id_trabajo)
	{
	sendNoFormCodecAjaxRequest('mostrar-trabajos/', { names:['id_trabajo'], values:[id_trabajo]});
	
	

	if(Browser&&Browser.ie6)
		loadImagesInChache('templates/plantilla/images/mostrar-trabajos/border-ie6.png','templates/plantilla/images/mostrar-trabajos/prev-ie6.png','templates/plantilla/images/mostrar-trabajos/next-ie6.png','templates/plantilla/images/mostrar-trabajos/close-ie6.png');
	else
		loadImagesInChache('templates/plantilla/images/mostrar-trabajos/border.png','templates/plantilla/images/mostrar-trabajos/prev.png','templates/plantilla/images/mostrar-trabajos/next.png','templates/plantilla/images/mostrar-trabajos/close.png');
	}


/**
 * Muestra un trabajo
 */
function onShowTrabajo (fotos)
	{
	closeCurrentVirtualBox();

	var oldTrabajos = $('muestraTrabajos');
	if((!(oldTrabajos===undefined))&&oldTrabajos!=null)
		oldTrabajos.dispose();

	showingFotosTrabajos = new Object();
	
	showingFotosTrabajos.fotos = fotos;
	showingFotosTrabajos.inited = false;
	showingFotosTrabajos.initCounter = 0;
	showingFotosTrabajos.showingIndex = -1;
	showingFotosTrabajos.inChange = false;
	
		
	var codeHTML = '<div id="muestraTrabajos">';

		
		codeHTML+='<div class="topSpace"></div>';
				
		codeHTML+='<div class="relative">';

			for(var i=0;i<showingFotosTrabajos.fotos.length;i++)
				{
				showingFotosTrabajos.fotos[i].divId = 'foto_trabajo_'+i;

				
				var oldFoto = $(showingFotosTrabajos.fotos[i].divId);
				if((!(oldFoto===undefined))&&oldFoto!=null)
					oldFoto.dispose();


				showingFotosTrabajos.fotos[i].toggleFadeFx=null;
				codeHTML+='<div class="foto" style="background-image:url('+showingFotosTrabajos.fotos[i].imagen+');" id="'+showingFotosTrabajos.fotos[i].divId+'"></div>';

				loadImagesInChache(showingFotosTrabajos.fotos[i].imagen);
				}
			
			
			
			codeHTML+='<button type="button" title="Anterior..." class="prev" onclick="showFotoTrabajo(showingFotosTrabajos.showingIndex-1);"><span></span></button>';
			codeHTML+='<button type="button" title="Siguiente..." class="next" onclick="showFotoTrabajo(showingFotosTrabajos.showingIndex+1);"><span></span></button>';
			codeHTML+='<button type="button" title="Cerrar" onclick="closeCurrentVirtualBox();" class="close"><span></span></button>';

			codeHTML+='<div class="fotosBorder"></div>';

		codeHTML+= '</div>';

		codeHTML+='<div class="footer"></div>';
		
	
	codeHTML+= '</div>';
		

	showVirtualBox(700,530,codeHTML);

	showFotoTrabajo(0);
	}

