// ActionScript Document
//Funcion que devuelve la fecha en formato diasemana, dd de NombreMes del aaaa
function hoy(){
	var now = new Date();
	var dia = now.getDay();
	var mes = now.getMonth();
	var fecha;

	if(dia==0){
	fecha="Domingo, ";
	}else if(dia==1){
	fecha="Lunes, ";
	}else if(dia==2){
	fecha="Martes, ";
	}else if(dia==3){
	fecha="Miércoles, ";
	}else if(dia==4){
	fecha="Jueves, ";
	}else if(dia==5){
	fecha="Viernes, ";
	}else{
	fecha="Sábado, ";
	}
	fecha = fecha + now.getDate() + " de ";
	//El nombre del mes
	if(mes==0){
	fecha=fecha + "Enero";
	}else if(mes==1){
	fecha=fecha + "Febrero";
	}else if(mes==2){
	fecha=fecha + "Marzo";
	}else if(mes==3){
	fecha=fecha + "Abril";
	}else if(mes==4){
	fecha=fecha + "Mayo";
	}else if(mes==5){
	fecha=fecha + "Junio";
	}else if(mes==6){
	fecha=fecha + "Julio";
	}else if(mes==7){
	fecha=fecha + "Agosto";
	}else if(mes==8){
	fecha=fecha + "Septiembre";
	}else if(mes==9){
	fecha=fecha + "Octubre";
	}else if(mes==10){
	fecha=fecha + "Noviembre";
	}else{
	fecha=fecha + "Diciembre";
	}
	fecha = fecha + " del " + now.getYear();
	return fecha;
}
//Funcion que verifica si la fecha pasada como parametro es valida
function valida_fecha(dia, mes ,anio){
	fecha_valida=true;
	
	if(isNaN(dia)||isNaN(mes)||isNaN(anio)){
		fecha_valida=false;
	}
	if(((dia<1)||(dia>31))||((mes<1)||(mes>12))||((anio<1900)||(anio>2099))){
		fecha_valida=false;
	}
	if((anio%4 != 0) && (mes == 2) && (dia > 28)) {  
		fecha_valida=false; // Año no viciesto y es febrero y el dia es mayor a 28
	} else {
		if ((((mes == 4) || (mes == 6) || (mes == 9) || (mes==11)) && (dia>30)) || ((mes==2) && (dia>29))){
			fecha_valida=false;	      				  	 
		}  // else
	} // fin else 
	return fecha_valida;      
}

function haysel_radio(elems){
	var i, haysel=false;
	
	if(isNaN(elems.length)){
	
		if(elems.checked){
		
			haysel=true;
		}
	} else {
		for(i=0;i<elems.length;i++){
			if(elems[i].checked){
				haysel=true;
				break;
			}
		}
	}
	return haysel;
}

function haysel_chkbox(elems){

	var i, haysel=false;
	if(isNaN(elems.length)){
	
		if(elems.checked){
		
			haysel=true;
		}
	} else {
		for(i=0;i<elems.length;i++){
			if(elems[i].checked){
				haysel=true;
				break;
			}
		}
	}
	return haysel;
}

function countsel_chkbox(elems){

	var i, countsel=0;
	if(isNaN(elems.length)){
	
		if(elems.checked){
		
			countsel=countsel+1;
		}
	} else {
		for(i=0;i<elems.length;i++){
			if(elems[i].checked){
				countsel=countsel+1;
			}
		}
	}
	return countsel;
}

function sel_todos(elems){
	
	var i;
	if(isNaN(elems.length)){
	
		elems.checked=true;
		
	} else {
		for(i=0;i<elems.length;i++){
			
			elems[i].checked=true;
		}
	}
}

function desel_todos(elems){
	
	var i;
	if(isNaN(elems.length)){
	
		elems.checked=false;
		
	} else {
		for(i=0;i<elems.length;i++){
			
			elems[i].checked=false;
		}
	}
}

function quitapunto(str, campo){
	campo.value=str.replace(".","");
	//eval(campo + '.value=' + str.replace(".",""));
}
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function esAnio(anio){
	
	var esAnio=true, now = new Date(), anio_actual=now.getYear();
	
	if(anio.length!=4){
		
		esAnio=false;
	} else {
	
		if(anio<1970||anio>anio_actual){
			
			esAnio=false;
		}
	}
	
	return esAnio;
}

function esMes(mes){
	
	var esMes=true;
	
	if(mes.length!=2){
		
		esMes=false;
	} else {
	
		if(mes<1||mes>12){
			
			esMes=false;
		}
	}
	
	return esMes;
}

//Me devuelve el valor del radio seleccionado
function valor_sel_radio(elems){
	
	var i, valor;
	
	if(isNaN(elems.length)){
	
		if(elems.checked){
		
			valor=elems.value;
		}
	} else {
		for(i=0;i<elems.length;i++){
			if(elems[i].checked){
				valor=elems[i].value;
				break;
			}
		}
	}
	return valor;
}

//Me devuelve el valor del id del radio seleccionado

function id_sel_radio(elems){
	
	var i, valor;
	
	if(isNaN(elems.length)){
	
		if(elems.checked){
		
			valor=elems.id;
		}
	} else {
		for(i=0;i<elems.length;i++){
			if(elems[i].checked){
				valor=elems[i].id;
				break;
			}
		}
	}
	return valor;
}

//Funcion que me devuelve la edad de un usuario a partir de su fecha de nacimiento
function calcular_edad(dia, mes, ano){ 

	//calculo la fecha de hoy 
	hoy=new Date(); 
	//alert(hoy) 
	
	//resto los años de las dos fechas 
	edad=hoy.getFullYear()- ano - 1; //-1 porque no se si ha cumplido años ya este año 
	
	//si resto los meses y me da menor que 0 entonces no ha cumplido años. Si da mayor si ha cumplido 
	if (hoy.getMonth() + 1 - mes < 0) //+ 1 porque los meses empiezan en 0 
	return edad; 
	if (hoy.getMonth() + 1 - mes > 0) 
	return edad+1 ;
	
	//entonces es que eran iguales. miro los dias 
	//si resto los dias y me da menor que 0 entonces no ha cumplido años. Si da mayor o igual si ha cumplido 
	if (hoy.getUTCDate() - dia >= 0) 
	return edad + 1 ;
	
	return edad ;
} 



//Funcion que me comprueba el email con ajax
function esEmail(em){

	//Definimos la URL
	var url = 'http://www.aldaniti.net/scripts/ajaxvalidaemail.php';
	//Incluimos las librerias
	document.write('<script type="text/javascript" src="scriptaculous/prototype.js"><\/script>');
	document.write('<script type="text/javascript" src="scriptaculous/scriptaculous.js"><\/script>');
	document.write('<script type="text/javascript" src="scriptaculous/funciones2.js"><\/script>');
	
	if(!isEmail(em)){
	
		return false;
	}
	
	var opt = {
		// Use POST
		method: 'POST',
		// Send this lovely data
		parameters: {"email": em},
		// Handle successful response
		onSuccess: function(t) {
			
			if(t.responseText=='1'){
			
				return true;
			} else {
				return false;
			}
		},
		// Handle 404
		on404: function(t) {
			alert('Error 404: location "' + t.statusText + '" was not found.');
			return false;
		},
		// Handle other errors
		onFailure: function(t) {
			alert('Error ' + t.status + ' -- ' + t.statusText);
			return false;
		}
	}
	
	new Ajax.Request(url, opt);
}

/*******************************

FUNCIONES DE SELECTS COMBINADOS

*********************************/

function actualiza(valor, desp, arr){
	//Eliminamos todas las opciones
	var i=1;
// CAMBIO LA FORMA DE RESETEAR EL DESPLEGABLE PORQUE NO ESTABA FUNCIONANDO CORRECTAMENTE. FDO: JORDI (02/01/2012)
  ini_phrase = desp.options[0];
  desp.options.length = 0;
  desp.options[0] = ini_phrase;
//	for(i=1;i<=total_length;i++){
//    //alert(i);
//		desp.options[i]=null;
//	}
//  
//  if (total_length > 4) {
//    desp.options = null;
//    return true;
//  } 
	//Obtenemos las salidas del destino seleccionado
	if((valor!="")&&(typeof(arr[valor])!='undefined')){
		
		var a_opts = arr[valor];
		
		for(i=0;i<a_opts.length;i++){
		
			desp.options[i+1]=new Option(html_entity_decode(a_opts[i]), a_opts[i]);
		}
	} 
}
function actualiza_multiple(despPrincipal, desp, arr){
    //Eliminamos todas las opciones
    var i=1;

    for(i=1;i<desp.options.length;i++){
            desp.options[i]=null;
    }
    //Obtenemos los valores seleccionados en el select múltiple
    n_option=0;
    for(j=0;j<despPrincipal.options.length;j++){
         if(despPrincipal.options[j].selected){
           valor=despPrincipal.options[j].value;
            if((valor!="")&&(typeof(arr[valor])!='undefined')){
                    var a_opts = arr[valor];
                    for(i=0;i<a_opts.length;i++){
                            //desp.options[n_option+1]=new Option(html_entity_decode(a_opts[i]), a_opts[i]);
                            desp.options[n_option+1]=new Option(html_entity_decode(a_opts[i]+' ('+valor+')'), a_opts[i]);
                            n_option++;
                    }
            }
        }
    }
}
function html_entity_decode(str) {
	
	try {
    	var tarea=document.createElement('textarea');
    	tarea.innerHTML = str; return tarea.value;
    	tarea.parentNode.removeChild(tarea);
	
	} catch(e) {
    	
		//for IE add <div id="htmlconverter" style="display:none;"></div> to the page
    	document.getElementById("htmlconverter").innerHTML = '<textarea id="innerConverter">' + str + '</textarea>';
    	var content = document.getElementById("innerConverter").value;
    	document.getElementById("htmlconverter").innerHTML = "";
    	return content;
    }
}

//Funciones de pregarca de imagenes

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

jQuery(document).ready(function() {
    
  jQuery('#a_patrocinadores').click( function() {
      window.open(jQuery(this).attr('href'), 'sponsors','width=600, height=800, top=50, left=150, scrollbars=yes');
      return false;
  });

});

function getConfigTinyMCE(inputs) {
  
  var opts = {
    mode : "exact",
    elements : inputs,
    theme : "advanced",
    theme_advanced_buttons1 : "bold,italic,underline,separator,strikethrough,justifyleft,justifycenter,justifyright, justifyfull,bullist,numlist,undo,redo,link,unlink,forecolor,removeformat,cleanup,code",
    theme_advanced_buttons2 : "",
    theme_advanced_buttons3 : "",
    theme_advanced_toolbar_location : "top",
    theme_advanced_toolbar_align : "left",
    theme_advanced_statusbar_location : "bottom",
    external_link_list_url : "example_link_list.js",
    external_image_list_url : "example_image_list.js",
    extended_valid_elements : "a[name|href|target|title|onclick],img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name],hr[class|width|size|noshade],font[face|size|color|style],span[class|align|style]",
    onchange_callback: "check_rb_texto",
    entities : '160,nbsp,161,iexcl,162,cent,163,pound,164,curren,165,yen,166,brvbar,167,sect,168,uml,169,copy,170,ordf,'
          + '171,laquo,172,not,173,shy,174,reg,175,macr,176,deg,177,plusmn,178,sup2,179,sup3,180,acute,181,micro,182,para,'
          + '183,middot,184,cedil,185,sup1,186,ordm,187,raquo,188,frac14,189,frac12,190,frac34,191,iquest,192,Agrave,193,Aacute,'
          + '194,Acirc,195,Atilde,196,Auml,197,Aring,198,AElig,199,Ccedil,200,Egrave,201,Eacute,202,Ecirc,203,Euml,204,Igrave,'
          + '205,Iacute,206,Icirc,207,Iuml,208,ETH,209,Ntilde,210,Ograve,211,Oacute,212,Ocirc,213,Otilde,214,Ouml,215,times,'
          + '216,Oslash,217,Ugrave,218,Uacute,219,Ucirc,220,Uuml,221,Yacute,222,THORN,223,szlig,224,agrave,225,aacute,226,acirc,'
          + '227,atilde,228,auml,229,aring,230,aelig,231,ccedil,232,egrave,233,eacute,234,ecirc,235,euml,236,igrave,237,iacute,'
          + '238,icirc,239,iuml,240,eth,241,ntilde,242,ograve,243,oacute,244,ocirc,245,otilde,246,ouml,247,divide,248,oslash,'
          + '249,ugrave,250,uacute,251,ucirc,252,uuml,253,yacute,254,thorn,255,yuml,402,fnof,913,Alpha,914,Beta,915,Gamma,916,Delta,'
          + '917,Epsilon,918,Zeta,919,Eta,920,Theta,921,Iota,922,Kappa,923,Lambda,924,Mu,925,Nu,926,Xi,927,Omicron,928,Pi,929,Rho,'
          + '931,Sigma,932,Tau,933,Upsilon,934,Phi,935,Chi,936,Psi,937,Omega,945,alpha,946,beta,947,gamma,948,delta,949,epsilon,'
          + '950,zeta,951,eta,952,theta,953,iota,954,kappa,955,lambda,956,mu,957,nu,958,xi,959,omicron,960,pi,961,rho,962,sigmaf,'
          + '963,sigma,964,tau,965,upsilon,966,phi,967,chi,968,psi,969,omega,977,thetasym,978,upsih,982,piv,8226,bull,8230,hellip,'
          + '8242,prime,8243,Prime,8254,oline,8260,frasl,8472,weierp,8465,image,8476,real,8482,trade,8501,alefsym,8592,larr,8593,uarr,'
          + '8594,rarr,8595,darr,8596,harr,8629,crarr,8656,lArr,8657,uArr,8658,rArr,8659,dArr,8660,hArr,8704,forall,8706,part,8707,exist,'
          + '8709,empty,8711,nabla,8712,isin,8713,notin,8715,ni,8719,prod,8721,sum,8722,minus,8727,lowast,8730,radic,8733,prop,8734,infin,'
          + '8736,ang,8743,and,8744,or,8745,cap,8746,cup,8747,int,8756,there4,8764,sim,8773,cong,8776,asymp,8800,ne,8801,equiv,8804,le,8805,ge,'
          + '8834,sub,8835,sup,8836,nsub,8838,sube,8839,supe,8853,oplus,8855,otimes,8869,perp,8901,sdot,8968,lceil,8969,rceil,8970,lfloor,'
          + '8971,rfloor,9001,lang,9002,rang,9674,loz,9824,spades,9827,clubs,9829,hearts,9830,diams,338,OElig,339,oelig,352,Scaron,353,scaron,381,Zcaron,382,zcaron,'
          + '376,Yuml,710,circ,732,tilde,8194,ensp,8195,emsp,8201,thinsp,8204,zwnj,8205,zwj,8206,lrm,8207,rlm,8211,ndash,8212,mdash,8216,lsquo,'
          + '8217,rsquo,8218,sbquo,8220,ldquo,8221,rdquo,8222,bdquo,8224,dagger,8225,Dagger,8240,permil,8249,lsaquo,8250,rsaquo,8364,euro',
    convert_urls : false
  };  
  
  return opts;
}
