// JavaScript Document

// Browser Slide-Show script. With image cross fade effect for those browsers
// that support it.
// Script copyright (C) 2004-2008 www.cryer.co.uk.
// Script is free to use provided this copyright header is included.

var FadeDurationMS = 2000;
function SetOpacity(object,opacityPct){
	// IE.
	object.style.filter = 'alpha(opacity=' + opacityPct + ')';
	// Old mozilla and firefox
	object.style.MozOpacity = opacityPct / 100;
	// Everything else.
	object.style.opacity = opacityPct / 100;
}

function ChangeOpacity(id,msDuration,msStart,fromO,toO){
	var element=document.getElementById(id);
	var msNow = (new Date()).getTime();
	var opacity = fromO + (toO - fromO) * (msNow - msStart) / msDuration;
	if (opacity >= 100){
		SetOpacity(element, 100);
		element.timer = undefined;
	}
	else if (opacity <= 0){
		SetOpacity(element,0);
		element.timer = undefined;
	}
	else{
		SetOpacity(element,opacity);
		element.timer = window.setTimeout("ChangeOpacity('" + id + "'," + msDuration + "," + msStart + "," + fromO + "," + toO + ")", 20);
	}
}

function FadeInImage(foregroundID,newImage,backgroundID){
	var foreground=document.getElementById(foregroundID);
	if (foreground.timer) window.clearTimeout(foreground.timer);

	if (backgroundID){
		var background=document.getElementById(backgroundID);
		if (background){
			if (background.src){
				foreground.src = background.src;	
				SetOpacity(foreground,100);
			}

			background.src = newImage;
			background.style.backgroundImage = 'url(' + newImage + ')';
			background.style.backgroundRepeat = 'no-repeat';
			
			var startMS = (new Date()).getTime();
			foreground.timer = window.setTimeout("ChangeOpacity('" + foregroundID + "'," + FadeDurationMS + "," + startMS + ",100,0)",20);
		}
	}
	else{
		foreground.src = newImage;
	}
}

var slideCache = new Array();

function RunSlideShow(pictureID,backgroundID,imageFiles,displaySecs){
	var imageSeparator = imageFiles.indexOf(";");
	var nextImage = imageFiles.substring(0,imageSeparator);
	var imageSeparator2 = imageFiles.lastIndexOf(";") + 1;
	var actualImage = imageFiles.substring(imageFiles.length, imageSeparator2);

	//alert(imageFiles + ' - ' + nextImage + ' - ' + actualImage);
	FadeInImage(pictureID, nextImage, backgroundID);

	var futureImages = imageFiles.substring(imageSeparator + 1, imageFiles.length) + ';' + nextImage;
	//document.getElementById("id_enlace").href = new String(actualImage.replace("MINI_", "FOTO_"));

	setTimeout("RunSlideShow('"+pictureID+"','"+backgroundID+"','"+futureImages+"',"+displaySecs+")", displaySecs*1000);

	// Cache the next image to improve performance.
	imageSeparator = futureImages.indexOf(";");
	nextImage = futureImages.substring(0,imageSeparator);
	if (slideCache[nextImage] == null){
		slideCache[nextImage] = new Image;
		slideCache[nextImage].src = nextImage;
	}
}

function mostrarMapa(latitud, longitud, zoom, id_capa, contenido){
	var centro = new google.maps.LatLng(latitud, longitud);
	
	var mapOptions = {
		center: centro,
		zoom: zoom,
		mapTypeId: google.maps.MapTypeId.ROADMAP,
		streetViewControl: true
	};
	
	var map = new google.maps.Map(document.getElementById(id_capa), mapOptions);
	
	var infowindow = new google.maps.InfoWindow({
		content: contenido,
		size: new google.maps.Size(50, 50),
		position: centro
	});
	
	infowindow.open(map);
	
	var marker = new google.maps.Marker({
		position: centro, 
		map: map,
		infowindow: infowindow
	});
}

