var arrName = {
"ene":0,
"feb":1,
"mar":2,
"abr":3,
"may":4,
"jun":5,
"jul":6,
"ago":7,
"sep":8,
"oct":9,
"nov":10,
"dic":11
};

var monthName = {
1:"enero",
2:"febrero",
3:"marzo",
4:"abril",
5:"mayo",
6:"junio",
7:"julio",
8:"agoto",
9:"septiembre",
10:"octubre",
11:"noviembre",
12:"diciembre"
};

function reformatDate(strDate){
  var r;  
      
  if(strDate.length==0) return null;  
  // Este replace repare el problema que había con las fechas Nan  
  strDate=strDate.replace("<br />","");
  var arr = strDate.split('/');  
  r=new Date(arr[2]+'/'+ZeroPad(arrName[arr[1]]+1,2)+'/'+ZeroPad(arr[0],2));      
  return r;
}

function RepairDate(strDate){
  var r;  
        
  if(strDate.length==0) return null;      
  strDate=strDate.replace("<br />","");
  var arr = strDate.split('/');  
  r=ZeroPad(arr[0])+' de '+ZeroPad(monthName[parseInt(arr[1])],2)+' de '+arr[2];
  //alert(strDate+' -> '+r);    
  return r;
}

function DiaRelativo(d,dr){
  // ¿Es Hoy?
	if(d.getDate()==dr.getDate()) return 'hoy';
	// ¿Es mañana?
	if(d.getDate()-dr.getDate()==1) return 'mañana';
	// ¿Es pasado mañana?
	if(d.getDate()-dr.getDate()==2) return 'pasado mañana';
	//alert(d1);  	
	return 'el día '+d.getDate();  
}

function DiaRelativo2(d,dr){
  // ¿Es Hoy?
	if(d.getDate()==dr.getDate()) return 'hoy';
	// ¿Es mañana?
	if(d.getDate()-dr.getDate()==1) return 'mañana';
	// ¿Es pasado mañana?
	if(d.getDate()-dr.getDate()==2) return 'pasado mañana';
	//alert(d1);  	
	return 'el '+d.getDate();  
}

function DiaRespectoAHoy(d1, d2, d3){	                    
  var ds1,ds2;  

  ds1=DiaRelativo(d1,d2);
  if(d3!=undefined){
     ds2=DiaRelativo2(d3,d2);
     return 'Desde '+ds1+' hasta '+ds2+':';     
  }else{
     return ds1.substr(0,1).toUpperCase()+ds1.substr(1)+':';
     //return ds1+':';
  }
}

function DateAdd(timeU, byMany, dateObj) {
	var millisecond=1;
	var second=millisecond*1000;
	var minute=second*60;
	var hour=minute*60;
	var day=hour*24;
	var year=day*365;

	var newDate;
	var dVal=dateObj.valueOf();
	switch(timeU) {
		case "ms": newDate=new Date(dVal+millisecond*byMany); break;
		case "s": newDate=new Date(dVal+second*byMany); break;
		case "mi": newDate=new Date(dVal+minute*byMany); break;
		case "h": newDate=new Date(dVal+hour*byMany); break;
		case "d": newDate=new Date(dVal+day*byMany); break;
		case "y": newDate=new Date(dVal+year*byMany); break;
	}
	return newDate;
}

function FillString2(c,n){
  var s='';
  
  for(var i=0;i<n;i++) s+=c;  
  return s; 
}

function ZeroPad(s,n)
{  
  s=s.toString();
  if(s.length<n){
    s=FillString2('0',n-s.length)+s;
  }  
  return s;
}

function RFC3339Date(d){
  var rt=d.getFullYear()+'-'+ZeroPad(d.getMonth()+1,2)+'-'+ZeroPad(d.getDate(),2)+'T00:00:00';  
  return rt;
}
	
function insertarAgenda(root){
	var feed = root.feed;
	var entries = feed.entry || [];
	var html = ['<ul class="normal">'];
	var j;
	var u,uf,uu='';	  			
  var horaini;
  var end;	
  var d1,d2,d3;	  	

	if(entries.length>0){
		html.push('');
	}else{
		html.push('<li class="normal">No hay información de actividades para los próximos días.');
	}
	for (var i = 0; i < entries.length; ++i) {	    
	  var entry = entries[i];
	  var title = entry.title.$t;		 
	  var start = entry.content.$t;
	  var end;
        
    title=RepairEncoding(title);
    start=RepairEncoding(start);
    	  
	  start=start.substr(0,start.indexOf('\n')).substr(12).replace('acute; ','').replace(/ al /g,'-').replace(/ de /g,'/');
	  start=start.replace('lun ','');
	  start=start.replace('mar ','');
	  start=start.replace('mié ','');
	  start=start.replace('jue ','');
	  start=start.replace('vie ','');
	  start=start.replace('sáb ','');
	  start=start.replace('dom ','');
		  	  
	  j=start.indexOf('-');		  
	  if(j>=0){
		end=start.substr(j+1);
		start=start.substr(0,j);
	  }else end='';	      	  		  
    		  
	  // Quitamos la hora de inicio
	  j=start.indexOf(':');	  
	  if(j>=0){
		horaini=start.substr(j-2);
		start=start.substr(0,j-3);
	  }else horaini='';
	  
	  // Quitamos la hora de fin
	  j=end.indexOf(':');	  
	  if(j>=0){
		   end=end.substr(0,j-3);
    }    		
		  	  	  
    // Aquí tenemos que sustituir los nombres de los meses por sus números
    // para que IE convierta bien las fechas    
    var d1=new Date(reformatDate(start));    
	  var d2=new Date();  
	  if(end.length>0) var d3=new Date(reformatDate(end)); else var d3=undefined;	  
    u=DiaRespectoAHoy(d1,d2,d3);
    
	  if(uu!=u){
		if(uu.length>0) html.push('</li>');
		html.push('<li class="normal"><b>',u,'</b>');		
	  }
	  if(horaini.length) html.push('<br /><span class="content_hora">',horaini,'</span>',title); else html.push('<br /><img src="/layout/images/bullet_1.gif" />',title); 				  
	  uu=u 
	}

	html.push('</li></ul>');
	if($(divID_C)) $(divID_C).set('html',html.join(""));
}

function insertarNoticias(root){	
	var feed = root.feed;
	var entries = feed.entry || [];
	var html = ['<ul class="normal">'];
	var j;
	var u,uu='';
  var entryData=new Array(5);	
  var last_row=0;  				

	if(entries.length>0){
		html.push('');
	}else{
		html.push('<li class="normal">No hay noticias recientes.</li>');
	}
	
   for (var i = 0; i < entries.length; ++i) {      
  	  var entry = entries[i];  	    	  
  	  var start = entry.updated.$t;      
  	  var title = entry.title.$t;		 
  	  var content = entry.content.$t;   
      
      var col=title.substr(0,1);
      var row=parseInt(title.substr(1));
      if(row>last_row){
        if(last_row>1){          
          html.push('<li class="normal"><span class="" style="display:table">El '+entryData[0]+': '+entryData[1]+'</span>');          
          //if(entryData[2].length) html.push('<span class="" style="display:table">',entryData[2],'</span>');             
          html.push('</il>');
        }
        last_row=row;
        entryData[0]='';
        entryData[1]='';
        entryData[2]='';
        entryData[3]='';
        entryData[4]='';
      }
                         
      if(row>1){
        switch(col){
          case 'A':              
            entryData[0]=RepairDate(RepairEncoding(content));            
            break;
          case 'B':
            entryData[1]=RepairEncoding(content);
            break;
          case 'C':
            entryData[2]=RepairEncoding(content);
            break;
          case 'D':
            entryData[3]=RepairEncoding(content);
            break;
          case 'E':
            entryData[4]=RepairEncoding(content);
            break;
        }
      }
  }
  
 if(last_row>1){
    html.push('<li class="normal"><span class="" style="display:table">El '+entryData[0]+': '+entryData[1]+'</span>');              
    html.push('</il>');
  }
  html.push('</ul>');
	if($(divID_N)) $(divID_N).set('html',html.join("")); 
}

function insertarNoticias_c(root){	
	var feed = root.feed;
	var entries = feed.entry || [];
	var html = ['<ul class="normal">'];
	var j;
	var u,uu='';
  var entryData=new Array(5);	
  var last_row=0;  				

	if(entries.length>0){
		html.push('');
	}else{
		html.push('<li class="normal">No hay noticias recientes.</li>');
	}
	
   for (var i = 0; i < entries.length; ++i) {      
  	  var entry = entries[i];  	    	  
  	  var start = entry.updated.$t;      
  	  var title = entry.title.$t;		 
  	  var content = entry.content.$t;   
      
      var col=title.substr(0,1);
      var row=parseInt(title.substr(1));
      if(row>last_row){
        if(last_row>1){          
          html.push('<li class="normal"><span class="" style="display:table">Publicada el '+entryData[0]+':<br /></span><div style="margin-top:10px;margin-bottom:10px;font-size:13x;font-weight:bold;">',entryData[1],'</div>');          
          if(entryData[2].length) html.push('<span class="" style="display:table">',entryData[2],'</span>');
          html.push('<div class="content_separator"></div>');   
          html.push('</il>');
        }
        last_row=row;
        entryData[0]='';
        entryData[1]='';
        entryData[2]='';
        entryData[3]='';
        entryData[4]='';
      }
                         
      if(row>1){
        switch(col){
          case 'A':              
            entryData[0]=RepairDate(RepairEncoding(content));            
            break;
          case 'B':
            entryData[1]=RepairEncoding(content);
            break;
          case 'C':
            entryData[2]=RepairEncoding(content);
            break;
          case 'D':
            entryData[3]=RepairEncoding(content);
            break;
          case 'E':
            entryData[4]=RepairEncoding(content);
            break;
        }
      }
  }
  
 if(last_row>1){
    html.push('<li class="normal"><span class="" style="display:table">Publicada el '+entryData[0]+':<br /></span><div style="margin-top:10px;margin-bottom:10px;font-size:13x;font-weight:bold;">',entryData[1],'</div>');          
    if(entryData[2].length) html.push('<span class="" style="display:table">',entryData[2],'</span>');
    html.push('</il>');
  }
  html.push('</ul>');
	if($(divID_N)) $(divID_N).set('html',html.join("")); 
}

function insertarMenu(root){
	var feed = root.feed;
	var entries = feed.entry || [];
	var html = ['<ul class="normal">'];
	var j;
	var u,uu='';	  					  	

	if(entries.length>0){
		html.push('');
	}else{
		html.push('<li class="normal">No hay información del menú para los próximos días.');
	}
	for (var i = 0; i < entries.length; ++i) {
	  var entry = entries[i];
	  var title = entry.title.$t;		 
	  var start = entry.content.$t;

    title=RepairEncoding(title);
    start=RepairEncoding(start);
    
    // Quitamos el 1º, 2º, 3º y 4º
    title=title.replace('1º ','');    
    title=title.replace('2º ','');
    title=title.replace('3º ','');
    title=title.replace('4º ','');
    	  
	  start=start.substr(0,start.indexOf('\n')).substr(12).replace('acute; ','').replace(/ al /g,'-').replace(/ de /g,'/');		  		  
		  
	  var end;
	  j=start.indexOf('-');		  
	  if(j>=0){
		end=start.substr(j+1);
		start=start.substr(0,j);
	  }
		  
	  // Quitamos la hora de inicio
	  j=start.indexOf(':');
	  var horaini;
	  if(j>=0){
		horaini=start.substr(j-2);
		start=start.substr(0,j-3);
	  }	
		  	  	  
    // Aquí tenemos que sustituir los nombres de los meses por sus números
    // para que IE convierta bien las fechas
    j=start.indexOf('/');
    var d1=new Date(reformatDate(start));    
	  var d2=new Date();	  
	  
	  u=DiaRespectoAHoy(d1,d2);		  		  
	  if(uu!=u){
		if(uu.length>0) html.push('</li>');
		                html.push('<li class="normal"><b>',u,'</b>');		
	  }
	  html.push('<br /><img src="/layout/images/bullet_1.gif" />',title);				  
	  uu=u 
	}

	html.push('</li></ul>');
	if($(divID_M)) $(divID_M).set('html',html.join(""));
}
	
function calendario(url,n){
  var url=url+'?alt=json-in-script&callback=insertarAgenda&orderby=starttime&max-results='+n+'&singleevents=true&sortorder=ascending&futureevents=true'
  new Asset.javascript(url);
}

function noticias(url,n){  
  var url=url+'?alt=json-in-script&callback=insertarNoticias';  
  new Asset.javascript(url);
}

function noticias_c(url){  
  var url=url+'?alt=json-in-script&callback=insertarNoticias_c';  
  new Asset.javascript(url);
}

function menu(url,n){
  var d=new Date();
  var url=url+'?alt=json-in-script&callback=insertarMenu&orderby=starttime&max-results='+n+'&singleevents=true&sortorder=ascending&start-min='+RFC3339Date(d)+'&start-max='+RFC3339Date(DateAdd('d',3,d));
  new Asset.javascript(url);
}
