// JavaScript Document

function mostrarMapaFla ( mapa )
{
	$$('select', 'object', 'embed').each(function(node){ node.style.visibility = 'hidden' });
	
	var arrayPageSize = getPageSize ();
	
    $('mapaoverlay').setStyle({ width: arrayPageSize[0] + 'px', height: arrayPageSize[1] + 'px' });
	
	new Effect.Appear ( 'mapaoverlay' , { 
				duration: 1.0, 
				from: 0.0, 
				to: 0.7,
				afterUpdate: (function(){ $('mapaoverlay').style.visibility = 'visible'; })
	} );
		
	new Effect.Appear ( 'mapabody' , { 
				from: 0.0, 
				to: 1.0,
				duration: 1.0,
				afterUpdate: ( function() { $('mapabody').style.visibility = 'visible'; } ),
				afterFinish: ( function() { mostrarMapaSwitch ( mapa ); } )
	} );
}

function mostrarMapaSwitch ( mapa )
{
	var divcontent = document.getElementById("mapabodycontent");
	
	if (!divcontent) 
	{
		var d = document.createElement("div");
		d.setAttribute("id", "mapabodycontent");
		document.getElementById("mapabodymarco").appendChild(d);
	}
				
	switch ( mapa )
	{
		case "chagas":

			var att = { data: "mapas/mapa_chagas.swf", width: "618", height: "355", allowFullScreen: "false" };
			var par = { flashvars: "allowFullScreen=false" };
			var id = "mapabodycontent";
			
			swfobject.createSWF(att, par, id);
			
			break;
		
		case "sueno":
		
			var att = { data: "mapas/mapa_edelsueno.swf", width: "618", height: "355", allowFullScreen: "false" };
			var par = { flashvars: "allowFullScreen=false" };
			var id = "mapabodycontent";
			
			swfobject.createSWF(att, par, id);
			
			break;
			
		case "kalaazar":
		
			var att = { data: "mapas/mapa_kalaazar.swf", width: "618", height: "355", allowFullScreen: "false" };
			var par = { flashvars: "allowFullScreen=false" };
			var id = "mapabodycontent";
			
			swfobject.createSWF(att, par, id);
			
			break;
			
		case "malaria":
		
			var att = { data: "mapas/mapa_malaria.swf", width: "618", height: "355", allowFullScreen: "false" };
			var par = { flashvars: "allowFullScreen=false" };
			var id = "mapabodycontent";
			
			swfobject.createSWF(att, par, id);
			
			break;
			
		case "sida":
		
			var att = { data: "mapas/mapa_sida.swf", width: "618", height: "355", allowFullScreen: "false" };
			var par = { flashvars: "allowFullScreen=false" };
			var id = "mapabodycontent";
			
			swfobject.createSWF(att, par, id);
			
			break;
			
		case "tuberculosis":
		
			var att = { data: "mapas/mapa_tb.swf", width: "618", height: "355", allowFullScreen: "false" };
			var par = { flashvars: "allowFullScreen=false" };
			var id = "mapabodycontent";
			
			swfobject.createSWF(att, par, id);
			
			break;
		
		default: 
			break;
	}
}

function finalizarMapaFla ()
{
	swfobject.removeSWF("mapabodycontent");
	
	new Effect.Appear ( 'mapabody' , { 
				from: 1.0, 
				to: 0.0,
				duration: 0.5,
				afterFinish: ( function() { 	 
											$('mapabody').style.visibility = 'hidden'; 
											$$('select', 'object', 'embed').each(function(node){ node.style.visibility = 'visible' }); 
										  })
	} );
	
	new Effect.Appear ( 'mapaoverlay' , { 
				duration: 0.5, 
				from: 0.7, 
				to: 0.0, 
				afterFinish: ( function(){ $('mapaoverlay').style.visibility = 'hidden'; }) 
	} );
}

function getPageSize () 
{	        
	var xScroll, yScroll;
	
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = window.innerWidth + window.scrollMaxX;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	
	var windowWidth, windowHeight;
	
	if (self.innerHeight) {	// all except Explorer
		if(document.documentElement.clientWidth){
			windowWidth = document.documentElement.clientWidth; 
		} else {
			windowWidth = self.innerWidth;
		}
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}

	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){	
		pageWidth = xScroll;		
	} else {
		pageWidth = windowWidth;
	}

	return [pageWidth,pageHeight];
}