/*
 * Facebox (for jQuery) version: 1.2 (05/05/2008)
 * Licensed under the MIT: http://www.opensource.org/licenses/mit-license.php
 * Copyright 2007, 2008 Chris Wanstrath [ chris@ozmm.org ]
 */
(function($){
$.facebox=function(data,klass){
$.facebox.loading()
if(data.ajax)fillFaceboxFromAjax(data.ajax)
else if(data.image)fillFaceboxFromImage(data.image)
else if(data.div)fillFaceboxFromHref(data.div)
else if($.isFunction(data))data.call($)
else $.facebox.reveal(data,klass)}
$.extend($.facebox,{
settings:{
opacity : .9,
overlay : true,
loadingImage : 'http://mediateca.educa.madrid.org/images/facebox/loading.gif',
closeImage : 'http://mediateca.educa.madrid.org/images/facebox/closelabel.gif',
imageTypes : [ 'png','jpg','jpeg','gif' ],
faceboxHtml : '\
<div id="facebox" style="display:none;">\
<div class="popup">\
<div class="body">\
<div class="content">\
</div>\
<div class="footer">\
<a href="#" class="close" title="Cerrar (tecla Esc.)">\
<img src="http://mediateca.educa.madrid.org/images/facebox/closelabel.gif" alt="Cerrar" class="close_image"/>\
</a>\
</div>\
</div>\
</div>\
</div>'
},
loading: function(){
init()
if($('#facebox .loading').length==1)return true
showOverlay()
$('#facebox .content').empty()
$('#facebox .body').children().hide().end().
append('<div class="loading"><img src="'+$.facebox.settings.loadingImage+'"/></div>')
$('#facebox').css({
top:	getPageScroll()[1]+(getPageHeight()/10),
left:	385.5
}).show()
$(document).bind('keydown.facebox',function(e){
if(e.keyCode==27)$.facebox.close()
return true
})
$(document).trigger('loading.facebox')
},
reveal: function(data,klass){
$(document).trigger('beforeReveal.facebox')
if(klass)$('#facebox .content').addClass(klass)
$('#facebox .content').append(data)
$('#facebox .loading').remove()
$('#facebox .body').children().fadeIn('normal')
$('#facebox').css('left',$(window).width()/2-($('#facebox .body').width()/2))
$(document).trigger('reveal.facebox').trigger('afterReveal.facebox')
},
close: function(){
$(document).trigger('close.facebox')
return false}
})
$.fn.facebox=function(settings){
init(settings)
function clickHandler(){
$.facebox.loading(true)
var klass=this.rel.match(/facebox\[?\.(\w+)\]?/)
if(klass)klass=klass[1]
fillFaceboxFromHref(this.href,klass)
return false}
return this.click(clickHandler)}
function init(settings){
if($.facebox.settings.inited)return true
else $.facebox.settings.inited=true
$(document).trigger('init.facebox')
makeCompatible()
var imageTypes=$.facebox.settings.imageTypes.join('|')
$.facebox.settings.imageTypesRegexp=new RegExp('\.'+imageTypes+'$','i')
if(settings)$.extend($.facebox.settings,settings)
$('body').append($.facebox.settings.faceboxHtml)
var preload=[ new Image(),new Image()]
preload[0].src=$.facebox.settings.closeImage
preload[1].src=$.facebox.settings.loadingImage
$('#facebox').find('.b:first, .bl, .br, .tl, .tr').each(function(){
preload.push(new Image())
preload.slice(-1).src=$(this).css('background-image').replace(/url\((.+)\)/,'$1')
})
$('#facebox .close').click($.facebox.close)
$('#facebox .close_image').attr('src',$.facebox.settings.closeImage)}
function getPageScroll(){
var xScroll,yScroll
if(self.pageYOffset){
yScroll=self.pageYOffset
xScroll=self.pageXOffset
}else if(document.documentElement&&document.documentElement.scrollTop){
yScroll=document.documentElement.scrollTop
xScroll=document.documentElement.scrollLeft
}else if(document.body){
yScroll=document.body.scrollTop
xScroll=document.body.scrollLeft}
return new Array(xScroll,yScroll)}
function getPageHeight(){
var windowHeight
if(self.innerHeight){
windowHeight=self.innerHeight
}else if(document.documentElement&&document.documentElement.clientHeight){
windowHeight=document.documentElement.clientHeight
}else if(document.body){
windowHeight=document.body.clientHeight}
return windowHeight}
function makeCompatible(){
var $s=$.facebox.settings
$s.loadingImage=$s.loading_image || $s.loadingImage
$s.closeImage=$s.close_image || $s.closeImage
$s.imageTypes=$s.image_types || $s.imageTypes
$s.faceboxHtml=$s.facebox_html || $s.faceboxHtml}
function fillFaceboxFromHref(href,klass){
if(href.match(/#/)){
var url=window.location.href.split('#')[0]
var target=href.replace(url,'')
$.facebox.reveal($(target).clone().show(),klass)
}else if(href.match($.facebox.settings.imageTypesRegexp)){
fillFaceboxFromImage(href,klass)
}else{
fillFaceboxFromAjax(href,klass)}}
function fillFaceboxFromImage(href,klass){
var image=new Image()
image.onload=function(){
$.facebox.reveal('<div class="image"><img src="'+image.src+'" /></div>',klass)}
image.src=href}
function fillFaceboxFromAjax(href,klass){
$.get(href,function(data){$.facebox.reveal(data,klass)})}
function skipOverlay(){
return $.facebox.settings.overlay==false || $.facebox.settings.opacity===null}
function showOverlay(){
if(skipOverlay())return
if($('facebox_overlay').length==0)
$("body").append('<div id="facebox_overlay" class="facebox_hide"></div>')
$('#facebox_overlay').hide().addClass("facebox_overlayBG")
.css('opacity',$.facebox.settings.opacity)
.click(function(){$(document).trigger('close.facebox')})
.fadeIn(200)
return false}
function hideOverlay(){
if(skipOverlay())return
$('#facebox_overlay').fadeOut(200,function(){
$("#facebox_overlay").removeClass("facebox_overlayBG")
$("#facebox_overlay").addClass("facebox_hide")
$("#facebox_overlay").remove()
})
return false}
$(document).bind('close.facebox',function(){
$(document).unbind('keydown.facebox')
$('#facebox').fadeOut(function(){
$('#facebox .content').removeClass().addClass('content')
hideOverlay()
$('#facebox .loading').remove()
})
})
})(jQuery)
/* Common functions */
function getElementsByClassName(node,tag,searchClass) { var classElements = new Array(); var els = node.getElementsByTagName(tag); var elsLen = els.length; var pattern = new RegExp("\\b"+searchClass+"\\b"); for (i = 0, j = 0; i < elsLen; i++) { if ( pattern.test(els[i].className) ) { classElements[j] = els[i]; j++;}
}
return classElements;}

var googleMapLoaded; //Para comprobar si está cargado al cambiar de tab.
function loadGoogleMap() {
  if ((GBrowserIsCompatible()) && (googleMapLoaded!=true)) {   
	//var opciones = new GMapOptions();
	var auxlatlng = null;
	var size = new GSize(600,420);
	
	icon = new GIcon();
			icon.image = "http://herramientas.educa.madrid.org/mapas/img/bandera.gif";
			//icon.shadow = "http://herramientas.educa.madrid.org/mapas/img/sombra.gif";
			icon.iconSize = new GSize(18, 30);
			//icon.shadowSize = new GSize(36, 30);
			icon.iconAnchor = new GPoint(18, 30);
			icon.infoWindowAnchor = new GPoint(9, 2);
			icon.infoShadowAnchor = new GPoint(18, 25);
					
	var mapLayer=document.getElementById("map");
	map = new GMap2(mapLayer);
	//map.setMapType(G_NORMAL_MAP);
	map.addControl(new GLargeMapControl());
	map.addControl(new GMapTypeControl());
	//map.addControl(new GOverviewMapControl());        
	map.setCenter(new GLatLng(42, 5), 4, G_SATELLITE_MAP);
	geocoder = new GClientGeocoder();

			icon = new GIcon();
			icon.image = "http://mediateca.educa.madrid.org/img/imagen/mapa/banderaV.gif";				
			icon.iconSize = new GSize(18, 30);				
			icon.iconAnchor = new GPoint(14, 29);
			icon.infoWindowAnchor = new GPoint(9, 2);
			icon.infoShadowAnchor = new GPoint(18, 25);        
   
   iconR = new GIcon();
		 iconR.image = "http://mediateca.educa.madrid.org/img/imagen/mapa/banderaR.gif";				
		 iconR.iconSize = new GSize(18, 30);				
		 iconR.iconAnchor = new GPoint(14, 29);
		 iconR.infoWindowAnchor = new GPoint(9, 2);
		 iconR.infoShadowAnchor = new GPoint(18, 25);        
   
   var localizaciones = [];       
   var auxlatlng;       

	/*GEvent.addListener(map, "moveend", function() {
			if(!noMover)
					cargarLocs(0);
	});*/
 
   cargarLocs(0);
   googleMapLoaded = true;
   
   createRelocateImageLink();
   
  }
}

function displayMessage(type,msg) {
	
	var myOb = $("#player");
	myOb.css("visibility","hidden");
	setTimeout(function(){myOb.css("visibility","visible");},2700);
	
	currentMessage = $('#action-message');
	if (!msg) msg = 'La operaci&oacute;n se ha realizado correctamente';
	if (currentMessage.length==0) { 
		var m = $('<div id="action-message" class="'+type+'-msg">'+msg+'</div>');
		m.css({'display':'none','cursor':'pointer'}).click(function(){ $('#action-message').hide(); });
		$("#mediateca-educamadrid").prepend(m);
	} else {
		currentMessage.html(msg).attr("class",type+"-msg");
		m = currentMessage;
	}
	m.fadeIn();
	setTimeout(function(){ $('#action-message').fadeOut(); },2500);
}

var overlay = {
	show : function(e) { $.facebox(e); },
	hide : function() { $.facebox.close(); }
}

var win = null;

var popup = {
	open : function(mypage,myname,w,h,features) {
		if (!w) w = 980;
		if (!h) h = 550;
		if (!features) features = 'resizable,scrollbars,status';
		var winl = (screen.width-w)/2;
		var wint = (screen.height-h)/2;
		if (winl < 0) winl = 0;
		if (wint < 0) wint = 0;
		var settings = 'height=' + h + ',';
		settings += 'width=' + w + ',';
		settings += 'top=' + wint + ',';
		settings += 'left=' + winl + ',';
		settings += features;
		win = window.open(mypage,myname,settings);
		win.window.focus();
	}	
}

function cargarLocs(){ }

function activateJSLinks(){
	var as = document.getElementsByTagName("A");
	var x = as.length; while(x--) {
		if (as[x].className=='mapImage') as[x].onclick = function() {
			loadImageDetails(this.id.replace("image-",""));
			return false;
		}
		if (as[x].rel=='overlay') $(as[x]).facebox();
		if (as[x].rel=='external') {
			as[x].target="_blank";
			if (as[x].className!='plain') as[x].innerHTML+="<img src='/images/icons/external.gif' alt='Ventana nueva' width='12' height='12' class='external-icon' />";
			var t=as[x].title;
			if(t.length>0) as[x].title+=" (ventana nueva)";
			else as[x].title="Ventana nueva";
		}
	}
}

function restoreImageList(){
	$('#images').html(previousListHTML);
	activateTooltips('em-imagenes map');
	activateJSLinks();
}

var relocateImageForm = {
	//alert('relocateImageForm')
	init : function() {
		if ($('#relocateMap').length==0) {
			$.ajax({
				type: "POST",
				url: "sections/imagenes/relocalizar_imagen.php",
				//data: id,
				success: function(res){
					$('#image-options').after(res);
					$('#relocateMap').fadeIn('slow');				
				}
			});
		} else {
			document.forms.relocateMap.reset();
			$('#relocateMap').fadeIn('slow');
		}
	},
	restore : function() {
		map.returnToSavedPosition();
		$('#relocateMap').fadeOut();
	},
	search : function() {
		//alert('A Google a buscar los datos');		
	},
	reset : function() {
		document.forms.relocateMap.reset();
	},
	save : function() {
			document.getElementById('saveForm').disabled=true;
			//alert('Ajax para guardar coordenadas');			
			$.ajax({
				type: "POST",
				url: "index.php",
				//data: id,
				success: function(res){
					$('#relocateMap').hide();
					displayMessage('success');
					document.getElementById('saveForm').disabled=false;
				}
			});		
	}
}

function saveImageLocation(long,lat){
	//alert('Guardo nuevas coordenadas:\n'+long+' - '+lat);
	document.getElementById('map-screen').value=long+" - "+lat;
}

function acceptConditions(){
	facebox.close;	
}

function createRelocateImageLink(){
	var relocateLink = '<li class="location"><strong>¿Mal localizada?</strong> <a href="javascript:relocateImageForm.init()">Sugerir localización</a></li>';
	$('#image-options').append(relocateLink);	
}

function loadImageDetails(id){
	previousListHTML = $('#images').html();
	$.ajax({
		type: "POST",
		url: "sections/imagenes/mapa_imagen.php",
		data: id,
		success: function(res){
			$('#images').html(res);
			activateTooltips('em-imagenes map image');	
			createRelocateImageLink();
		}
	});	
}

function activateTooltips(bodyClassName){
	var ttips = getElementsByClassName(document,"img","tooltip");
	var x = ttips.length; while(x--) {
		ttips[x].onmouseover=function(){ 
			currentAlt = this.alt;
			tooltip.show(currentAlt); 
			if (isMSIE==true) this.alt=''; 
		}
		ttips[x].onmouseout=function(){ 
			tooltip.hide(); 
			if (isMSIE==true) this.alt=currentAlt; 
		}
		if (ttips[x].id) {
			ttips[x].onclick=function() { 
				//if (bodyClassName=='em-imagenes map') { loadImageDetails(this.id.replace("id-","")); } else {...
				window.location='ver.php?id_imagen='+this.id.replace("id-","") 
				return false;
			}
			ttips[x].style.cursor="pointer";
		}
	}
}

function clearLoginError(){
	$("#lf").removeAttr("class");
	$("#login-error-msg").remove();	
}

function restoreLoginForm(){
	lF.className="log";
	lF.innerHTML=lFOldHTML;
	document.getElementById("usuario").focus()	
}

function includeBackLink(){
	document.getElementById('main-content').innerHTML+='<p>&laquo; <a href="javascript:history.back(1)">Volver a la p&aacute;gina anterior</a></p>';
}

function domIsLoaded(){
	isMSIE = false;
	if (navigator.appName=='Microsoft Internet Explorer') isMSIE = true;
	bodyClassName = document.body.className;
	if (bodyClassName.indexOf("em-videos")!=-1) {
		$("#content img.screenshot").click(function(){
			var videoId = this.src.split("=")[1];													
			//alert("Visualizamos el vídeo: "+videoId);
			window.location="reproducir.php?id_video="+videoId;
		}).css("cursor","pointer");
	}
	else if (bodyClassName=='') document.getElementById('content').className+=" no-tabs";
	document.body.className+=" jsEnabled";
	var wb = document.getElementById('wb');
	startValue = "Palabra o frase...";
	if (bodyClassName.indexOf('tags')!=-1) startValue = "Etiqueta...";
	if (bodyClassName.indexOf('map')!=-1) startValue = "Lugar (Ej.: Burgos, España)";
	if (wb) {
		wb.value=startValue;
		wb.onfocus = function() { this.value=""; this.className="no-error"; }
		wb.onblur = function() { 
			if (this.value.length<3) this.value=startValue; 
		}
	}
	$('table tr:odd').addClass("odd");
	
	var uNInput = document.getElementById("user-name");
	if (uNInput) {
		uNInput.onfocus = function() { clearLoginError(); }
		document.getElementById("user-pass").onfocus = function() { clearLoginError(); }
	}
	
	var qb = document.getElementById('qb');
	if (qb) {
		qb.onsubmit = function() {
			var error = false;
			var f = document.getElementById('wb');
			var v = f.value;
			if ((v.length<3) || (v==startValue) || (v=='Mínimo tres caracteres')) {
				var error = true;
				f.value = 'Mínimo tres caracteres';
				f.className = 'text-field-error';
				setTimeout(function(){ 
					var f = document.getElementById('wb');
					f.className="no-error";
					f.focus();
				},2000);
			}
			if (error==true) return false;
		}
	}
	
	lF = document.getElementById('login-form');
	if (lF) {
		lF.className='notLogged';
		lFOldHTML = lF.innerHTML;
		lF.innerHTML = "<a href='#' onclick='restoreLoginForm();return false' class='log-in'>Iniciar sesi&oacute;n</a>";
	}	
	
	var autoSelectFields = getElementsByClassName(document,"input","auto-select");
	var z = autoSelectFields.length; while(z--) autoSelectFields[z].onfocus=function(){ this.select(); }
	
	activateJSLinks();
	activateTooltips(bodyClassName);
	
	var eA=[104,96,95,100,92,111,96,94,92,59,96,95,112,94,92,41,104,92,95,109,100,95,41,106,109,98]
	var eAct=[106,94,102,105,113,108]
	var eE=''
	var act=''
	for (var i=0; i<eA.length; i++) eE+=String.fromCharCode(eA[i]+5)
	for (var z=0; z<eAct.length; z++) act+=String.fromCharCode(eAct[z]+3)
	var mT = ('<a href="'+act+':'+eE+'">'+eE+'</a>')
	
	var insM = document.getElementById("e-address");
	if (insM) insM.innerHTML=mT;
	
	var formBreadCrumb = document.getElementById('form-result');
	if (formBreadCrumb) {
		var c = document.createElement("SPAN");
		c.innerHTML='<a href="#" onclick="history.back();" title="Volver">&hellip;</a> &raquo; ';
		formBreadCrumb.parentNode.insertBefore(c,formBreadCrumb);
	}
	
	//Flash warning:
	var w = document.getElementById("flash-warning");
	if (w) {
		var code = w.innerHTML.replace("JavaScript activado y ","");
		w.innerHTML = code;
	}
}

function setupTabs(tabDefault,tabMenuId,tabsId) { if (document.getElementById) { var tabnav = document.getElementById(tabMenuId); if(tabnav) { var tablist = tabnav.getElementsByTagName('li'); for (i=0;i<tablist.length;i++) { var tablinks = tablist[i].getElementsByTagName('a'); for (j=0;j<tablinks.length;j++) { var hash = tablinks[j].hash; tablinks[j].setAttribute("onclick","toggleTabs('"+hash.substring(1)+"','"+tabMenuId+"','"+tabsId+"'); return false;"); if (tablinks[j].attachEvent) { tablinks[j].onclick = Function("toggleTabs('"+hash.substring(1)+"','"+tabMenuId+"','"+tabsId+"'); return false;");}
if (hash == ("#" + tabDefault)) { tablinks[j].parentNode.className = "activetab"; showTab(tabDefault);} else { tablinks[j].parentNode.className = ""
hideTab(hash.substring(1));}}}}}}
function showTab(tabId) { if (document.getElementById) { var currentTab = document.getElementById(tabId); currentTab.style.display = ""; var currentTabAnchors = currentTab.getElementsByTagName('a'); for (k=0;k<currentTabAnchors.length;k++) { if(currentTabAnchors[k].name==tabId) { currentTabAnchors[k].style.display = "none";}}}}
function hideTab(tabId) { if (document.getElementById) { document.getElementById(tabId).style.display = "none";}}
function toggleTabs(tabId,tabMenuId,tabsId) { if (document.getElementById) { var sectionnames = new Array(); var tabnav = document.getElementById(tabMenuId); var tablist = tabnav.getElementsByTagName('li'); for (i=0;i<tablist.length;i++) { var tablinks = tablist[i].getElementsByTagName('a'); for (j=0;j<tablinks.length;j++) { var hash = tablinks[j].hash; sectionnames.push(hash.substr(1)); if (hash == ("#" + tabId)) { tablinks[j].parentNode.className = "activetab";} else { tablinks[j].parentNode.className = ""}}}
var tabs = document.getElementById(tabsId); var sections = tabs.childNodes; for (i=0;i<sections.length;i++) { if (sections[i].nodeName!='DIV') continue; if(sections[i].id==tabId) { showTab(sections[i].id);} else { var atags = sections[i].getElementsByTagName("a"); if (atags.length > 0) { for (j=0;j<sectionnames.length;j++) { if(sectionnames[j] == atags[0].getAttribute("name")) { hideTab(sections[i].id);}}}}}}return false;}

/* Collapsible elements */
function toggleCollapse(el,id){
	var targ = document.getElementById(id);
	if (el.className=='closed') {
		el.className='open';
		targ.className='open';
	} else {
		el.className='closed';
		targ.className='collapsed';		
	}
}
function setCollapsible(id,tag) {
	var targ = document.getElementById(id);
	var triggers = targ.getElementsByTagName(tag);
	for (i=0;i<triggers.length;i++){
		var text = triggers[i].innerHTML;
		var newInnerHTML = '<a href="#" onclick="toggleCollapse(this,\''+triggers[i].className+'\');return false" class="';
		if (document.getElementById(triggers[i].className).className=='collapsed') newInnerHTML += 'closed';
		else newInnerHTML += 'open';
		newInnerHTML += '">'+text+'</a>'
		triggers[i].innerHTML = newInnerHTML;
	}
}
var tooltip=function(){
	var id = 'tt';
	var top = 3;
	var left = 3;
	var maxw = 300;
	var speed = 10;
	var timer = 20;
	var endalpha = 90;
	var alpha = 0;
	var tt,t,c,b,h;
	var ie = document.all ? true : false;
	return{
		show:function(v,w){
			if(tt == null){
				tt = document.createElement('div');
				tt.setAttribute('id',id);
				t = document.createElement('div');
				t.setAttribute('id',id + 'top');
				c = document.createElement('div');
				c.setAttribute('id',id + 'cont');
				b = document.createElement('div');
				b.setAttribute('id',id + 'bot');
				tt.appendChild(t);
				tt.appendChild(c);
				tt.appendChild(b);
				document.body.appendChild(tt);
				tt.style.opacity = 0;
				tt.style.filter = 'alpha(opacity=0)';
				document.onmousemove = this.pos;
			}
			tt.style.display = 'block';
			c.innerHTML = v;
			tt.style.width = w ? w + 'px' : 'auto';
			if(!w && ie){
				t.style.display = 'none';
				b.style.display = 'none';
				tt.style.width = tt.offsetWidth;
				t.style.display = 'block';
				b.style.display = 'block';
			}
			if(tt.offsetWidth > maxw){tt.style.width = maxw + 'px'}
			h = parseInt(tt.offsetHeight) + top;
			clearInterval(tt.timer);
			tt.timer = setInterval(function(){tooltip.fade(1)},timer);
		},
		pos:function(e){
			var u = ie ? event.clientY + document.documentElement.scrollTop : e.pageY;
			var l = ie ? event.clientX + document.documentElement.scrollLeft : e.pageX;
			tt.style.top = (u - h) + 'px';
			tt.style.left = (l + left) + 'px';
		},
		fade:function(d){
			var a = alpha;
			if((a != endalpha && d == 1) || (a != 0 && d == -1)){
				var i = speed;
				if(endalpha - a < speed && d == 1){
					i = endalpha - a;
				}else if(alpha < speed && d == -1){
					i = a;
				}
				alpha = a + (i * d);
				tt.style.opacity = alpha * .01;
				tt.style.filter = 'alpha(opacity=' + alpha + ')';
			}else{
				clearInterval(tt.timer);
				if(d == -1){tt.style.display = 'none'}
			}
		},
		hide:function(){
			clearInterval(tt.timer);
			tt.timer = setInterval(function(){tooltip.fade(-1)},timer);
		}
	};
}();
/* Ajax carousels */
function enableImageBrowser(ids,actions){
	var ids = ids.split(",");
	var actions = actions.split(",");
	for (i=0;i<ids.length;i++) {
		//alert("Activo el visor para: "+ids[i]+"\nAcción Ajax: "+actions[i]);
	}
}

/* Image groups */
function activateGroupSearch(target){
	var s = document.getElementsByTagName('SELECT');
	for (i=0;i<s.length;i++) {
		s[i].onchange = function(){
			var v = this.value;
			if (v!='') {
				if(target == 'disciplina')
					window.location=target+".php?id_disciplina="+v;
				else
					window.location=target+".php?id_grupo="+v;
			}	
		}	
	}
}

// Audio player:
// Lists:
function createSoundPlayer(id_audio,tiempo){
	var idR = 'rf'+id_audio;
	var dir = id_audio.substr(0,2);
	var urlAud = 'http://mediateca.educa.madrid.org/audio/audios/publicos/mp3/'+dir+'/'+id_audio+'.mp3';
	var s2 = new SWFObject("http://mediateca.educa.madrid.org/audio/reproductor/mp3player.swf", idR, "200", "20", "7");
	s2.addVariable("file",urlAud);
	s2.addVariable("backcolor","0x00000");
	s2.addVariable("frontcolor","0xEECCDD");
	s2.addVariable("lightcolor","0xCC0066");
	s2.addVariable("displayheight","0");
	s2.addVariable("showdownload","false");
	s2.addVariable("enablejs","true");	
	s2.addVariable("javascriptid",idR);
	s2.addVariable("showicons","false");
	s2.addVariable("autostart","true");
	var cont = document.getElementById("id_"+id_audio);
	cont.innerHTML="";
	s2.write("id_"+id_audio);
}
// player.php:
function soundPlayer(url_audio,id_audio){
	var s2 = new SWFObject("http://mediateca.educa.madrid.org/audio/reproductor/mp3player.swf", 'rf'+id_audio, "100%", "20", "7");
	s2.addVariable("file",url_audio);
	s2.addVariable("backcolor","0x00000");
	s2.addVariable("frontcolor","0xEECCDD");
	s2.addVariable("lightcolor","0xCC0066");
	s2.addVariable("displayheight","0");
	s2.addVariable("showdownload","true");				
	s2.addVariable("enablejs","true");
	s2.addVariable("javascriptid",'rf'+id_audio);
	s2.addVariable("autostart","false");
	s2.write(id_audio);	
}

/* Form validation */
function alert(t){
	var error="";
	t=t.split("\n");
	var tL = t.length;
	if (tL>1) {
	if (t[(tL-1)]=='') tL=tL-1;
	for (i=0;i<tL;i++){
		error+="<li>"+t[i]+"</li>";
	}
	var e = "<div id='validation-errors'><p class='tit'>Atenci\u00F3n:</p><ul>"+error+"</ul></div>";
	} else var e = "<div id='validation-errors'><p class='tit'>Atenci\u00F3n:</p><p>"+t+"</p></div>";
	overlay.show(e);
}

/* Video thumbnails */
function selectThumbnail(e) {
	$.ajax({   
		type: "POST",
		url: e.href,
		success: function(res){
			var c = $("#select-thumbnail",res).html();
			$("#select-thumbnail").html(c);
			$('.loading-file').html("<p><strong>Miniatura seleccionada.</strong></p>");
			$("#select-thumbnail li a").click(function(){ selectThumbnail(this);return false; });
		},
		error: function(res){
			$('.loading-file').removeClass('loading-file-success').addClass('loading-file-error').html("<p>No se ha podido <strong>actualizar la miniatura</strong>.</p>");	
		}
	});
}
function activateThumbnailSelection(res) {
	var sT = $('<div id="select-thumbnail"></div>');
	var c = $("#select-thumbnail",res).html();
	sT.html(c);
	$("#file-upload").append(sT);
	$("#select-thumbnail li a").click(
		function() {									  
			selectThumbnail(this);
			return false;
		}
	);	
}
/* Form processing */
function processForm(form,action,target) {
	//alert('Muestro la precarga y envío los datos al servidor.');
	var progressMessage = "<div class='loading-file'><p>Estamos subiendo el archivo a nuestro servidor.</p><p><strong>Esto puede tardar varios minutos</strong>, sobre todo si el archivo pesa mucho.</p><p>Por favor, <strong>ten paciencia</strong>...</p></div>";
	$('#file-upload').html(progressMessage);
	$.ajax({   
		type: "POST",
		url: action,
		data: form,
		success: function(res){
			var html;
			if (target=='popup') html = '<p><strong>El archivo se ha subido correctamente.</strong></p><p><a href="javascript:top.overlay.hide();">Cerrar ventana</a></p>';
			else if (target=='update') html = '<p><strong>Los datos se han modificado correctamente.</strong></p><p><a href="javascript:location.reload();">Volver al formulario</a>.</p>';
			else html = '<p><strong>El archivo se ha subido correctamente.</strong></p>';
			if (action.indexOf("subir-videos")!=-1) { activateThumbnailSelection(res); }
			$('.loading-file').addClass('loading-file-success').html(html);
		},
		error: function(res){
			var html;
			if (target=='popup') html = '<p><strong>Se ha producido un error</strong> al intentar subir el archivo.</p>';
			else html = '<p><strong>Se ha producido un error</strong> al intentar realizar la operaci&oacute;n.</p><p>Por favor, <a href="javascript:location.reload();">int&eacute;ntalo de nuevo</a>.</p>';
			$('.loading-file').addClass('loading-file-error').html(html);
		}
	});	
}

function numerico(valor){
 var cad = valor.toString(); 
 for (var i=0; i<cad.length; i++) {
 	var caracter = cad.charAt(i);
 	if (caracter<"0" || caracter>"9"){
  	return false;  	
  }
 }
 return true;
}

function quitarBlancos(campo)
{ 
 var iBlanco = /^ /;
 var fBlanco = / $/;
 var mBlanco = /[ ]+/g;
  
 var aux = new String(campo);
 aux = aux.replace(mBlanco," ");
 aux = aux.replace(iBlanco,"");
 aux = aux.replace(fBlanco,""); 
 
 return aux;
}

function validarExtension(campo, extensiones) {
  
  if(campo == "")
  	return false;
   
  var extension = (campo.substring(campo.lastIndexOf("."))).toLowerCase();
  
  var permitida = false;
  
  for (var i = 0; i < extensiones_permitidas.length; i++) {
     if (extensiones_permitidas[i] == extension) {
     permitida = true;
     break;
     }
  }

	return permitida;   
}

	/**
	* Reference: Sandeep V. Tamhankar (stamhankar@hotmail.com),
	* http://javascript.internet.com
	*/
 function validarEmail (emailStr) {
		/* Verificar si el email tiene el formato user@dominio. */
		var emailPat=/^(.+)@(.+)$/
		
		/* Verificar la existencia de caracteres. ( ) < > @ , ; : \ " . [ ] */
		var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
		
		/* Verifica los caracteres que son válidos en una dirección de email */
		var validChars="\[^\\s" + specialChars + "\]"
		
		var quotedUser="(\"[^\"]*\")"
		
		/* Verifica si la dirección de email está representada con una dirección IP Válida */	
		
		var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
		
		/* Verificar caracteres inválidos */		
		var atom=validChars + '+'
		var word="(" + atom + "|" + quotedUser + ")"
		var userPat=new RegExp("^" + word + "(\\." + word + ")*$")		
		var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
		
		
		var matchArray=emailStr.match(emailPat)
		if (matchArray==null) {		
		return false
		}
		var user=matchArray[1]
		var domain=matchArray[2]
		
		// Si el user "user" es valido 
		if (user.match(userPat)==null) {		
		return false
		}

   var domainArray=domain.match(domainPat);
   if (domainArray == null)
      return false;

   var atomPat=new RegExp(atom,"g");
   var domArr=domain.match(atomPat);
   var len=domArr.length;

   if (domArr[domArr.length-1].length < 2 || domArr[domArr.length-1].length > 3)
      return false;

   if (len < 2)
      return false;

   return true;
	}
