// Daniel Pedroche Garrigues
// Parseador AJAX de los Eventos 
var xmlhttp=false;

try {
	xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
	try {
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	} catch (E) {
		xmlhttp = false;
	}
}

if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
	try {
		xmlhttp = new XMLHttpRequest();
	} catch (e) {
		xmlhttp=false;
	}
}
if (!xmlhttp && window.createRequest) {
	try {
		xmlhttp = window.createRequest();
	} catch (e) {
		xmlhttp=false;
	}
}
var loadingHTML = "";
function loadFragmentInToElement(fragment_url, element_id, adding) { 
    var element = document.getElementById(element_id); 
    if(!adding){
		 if(!loadingHTML && loadingHTML !=""){ element.innerHTML = loadingHTML+'';}
		 else{element.innerHTML = '<div id="loadingDiv"><img src="/_ajax/loading.gif" border="0" style="float:left">Cargando ...</div>';}
    }
    try{
		xmlhttp.open("GET", fragment_url);
		xmlhttp.onreadystatechange = function() {			
			if (xmlhttp.readyState==4) {
				if (xmlhttp.status!=404) {
					if( !adding )
						{element.innerHTML = xmlhttp.responseText;}
					else
						{element.innerHTML += xmlhttp.responseText;}
				} else {
					alert("Página no encontrada.");
				}
			}
		} 
		xmlhttp.send(null); 
	}catch(e){
		element.innerHTML = "<font color='red'>Error: "+e+"!!!</font>"
	}
} 
var itemShowing = 1;
var aItemsGlobal = new Array();
function loadFragmentInToElementRSS(fragment_url, element_id, adding) { 
    var element = document.getElementById(element_id); 
    //if(!adding) element.innerHTML = '<p style=\"text-align:left; background-color:red; color:white;display:inline;padding:2px;\">Loading...</p>'; 
    try{
		xmlhttp.open("GET", fragment_url);
		xmlhttp.onreadystatechange = function() { 
			
			if (xmlhttp.readyState==4) {
				if (xmlhttp.status!=404) {
					
					var e = document.getElementById( element_id  );
					// Orden del listado
					var sParam = new String(fragment_url+"");
					sParam = sParam.substr(sParam.indexOf("?")+1,sParam.length);
					var sOrder = (sParam.indexOf(":")>0)? sParam.substr(sParam.indexOf(":")+1,3): "";
					sParam = (sOrder.length>0)? sParam.substr(0,sParam.indexOf(":")) : sParam;
					//alert("sParam: "+sParam+" -- sOrder: "+ sOrder);
					// --
					var node = xmlhttp.responseXML.documentElement;
					var content="";
					
					// Get the calendar title
					var title = node.getElementsByTagName('title').item(0).firstChild.data;
					
					//content = '<div class="channeltitle">'+title+'</div><br>';
					content = "";
					
					// Browse events
					var items = node.getElementsByTagName('item');
					if (items.length == 0) {
						content += '<ul><li><div class=error>No events</div></li></ul>';
					} else {
						itemsPags = "";
						orderRow = new Array();
						for (var n=0; n<items.length ; n++)
						{
							aItemsGlobal[aItemsGlobal.length] = "item_"+n;
							if (n==5){
								itemsPags += '<a id="morePagesLink" style="display:none" href="javascript:;" onclick="showDiv(\'morePages\');showDiv(\'morePagesLink\');">...</a><div id="morePages" style="display:none">';
							}
							itemsPags += '<a id="button_'+n+'" style="background-color:transparent;" href="javascript:showDiv2(\''+ "item_"+n +'\');">'+n+'</a>';
							
							try
							{ var itemId = items[n].getElementsByTagName('id').item(0).firstChild.data; } 
							catch (e) 
							{ var itemId =  "#"; }
							
							try
							{ var itemTitle = items[n].getElementsByTagName('title').item(0).firstChild.data;} 
							catch (e)	
							{ var itemTitle = "Sin titulo"; alert(itemTitle+" "+e.message); }
							
							try
							{ 
								//itemContent = "" + itemTitle;
								var itemContent = "";
								var row="";
								var eventNode = items[n].getElementsByTagName('event');
								if (eventNode.length == 0) {
									itemContent += '<ul><li><div class=error>No events</div></li></ul>';
								} else {
									for(eN = 0 ; eN < eventNode.length ; eN++ ){
										row = "";
										
										ldataSort = "";
										//try{ itemContent += eventNode[eN].getElementsByTagName('title').item(0).firstChild.data; }catch(e){}
										//try{ itemContent += eventNode[eN].getElementsByTagName('summary').item(0).firstChild.data; }catch(e){}
										try{ 
										    ldata = eventNode[eN].getElementsByTagName('date').item(0).firstChild.data;
											if( sOrder == "date" ) ldataSort = ldata+"";
											row += "<tr><td class='col_date'>"+ldata; 
										}catch(e){}
										try{ 
											ldata = eventNode[eN].getElementsByTagName('time').item(0).firstChild.data+"&nbsp;"; 
											if( sOrder == "date" )  ldataSort += "&nbsp;"+ldata+"";
											row += "<br>"+ldata+"-";
										}catch(e){}
										try{ 
											ldata = eventNode[eN].getElementsByTagName('time_end').item(0).firstChild.data+"&nbsp;"; 
											if( sOrder == "date" )  ldataSort += "&nbsp;"+ldata+"";
											row += ""+ldata+"</td>";
										}catch(e){}
										//try{ itemContent += eventNode[eN].getElementsByTagName('date_end').item(0).firstChild.data; }catch(e){}
										//try{ row += eventNode[eN].getElementsByTagName('time_end').item(0).firstChild.data+"</td>"; }catch(e){}
										try{ 
											ldata = eventNode[eN].getElementsByTagName('title').item(0).firstChild.data;
											if( sOrder == "title" ) ldataSort = ldata+"";
											row += "<td>"+ldata+"</td>"; 
										}catch(e){}
										//try{ itemContent += eventNode[eN].getElementsByTagName('county').item(0).firstChild.data; }catch(e){}
										try{ 
											ldata = eventNode[eN].getElementsByTagName('summary').item(0).firstChild.data;
											if( sOrder == "summary" ) ldataSort = ldata+"";
											row += "<td>"+ldata+"</td>"; 
										}catch(e){}
										
										//try{ row += "<td>"+eventNode[eN].getElementsByTagName('place').item(0).firstChild.data+"</td>"; }catch(e){}
										//try{ row += "<td>"+eventNode[eN].getElementsByTagName('category').item(0).firstChild.data+"</td>"; }catch(e){}
										//try{ row += "<td>"+eventNode[eN].getElementsByTagName('language').item(0).firstChild.data+"</td><td>Inscripción</td></tr>"; }catch(e){}
										//try{ row += "<td><a href='?action=inscription&id="+eventNode[eN].getElementsByTagName('inscription_uri').item(0).firstChild.data+"'>Inscripción</a></td></tr>"; }catch(e){}
										
										try{ 
											lparams = "action=inscription&xml=Online&id="+items[n].getElementsByTagName('guid').item(0).firstChild.data+","+eventNode[eN].getElementsByTagName('id').item(0).firstChild.data;
											row += "<td><a href='?"+lparams+"' onclick=\"js_register('"+lparams+"'); return false;\">Inscríbete</a></td></tr>"; 
										}catch(e){}
										//try{ itemContent += eventNode[eN].getElementsByTagName('inscription_text').item(0).firstChild.data; }catch(e){}
										//try{ itemContent += eventNode[eN].getElementsByTagName('last_update').item(0).firstChild.data; }catch(e){}
										//try{ itemContent += eventNode[eN].getElementsByTagName('publisher').item(0).firstChild.data; }catch(e){}
										//try{ itemContent += eventNode[eN].getElementsByTagName('producer').item(0).firstChild.data; }catch(e){}
										orderRow.push( ldataSort + "%" + row);
									}
									
								}
							}
							catch (e)	
							{ itemContent = "Sin eventos, " + e.message;  }
									
							//content += '<div id="'+aItemsGlobal[aItemsGlobal.length-1]+'" style="display:none; z-index:'+n+'">'+itemContent+'</div>';
							//content += ""+itemContent+"";
							
						}
					}
					
					if (sOrder == "des" ) orderRow = orderRow.reverse();
					else				  orderRow = orderRow.sort();
					
					for( l=0; l<orderRow.length; l++ ){
						content += orderRow[l].split("%")[1];
					}
					
					if ( (new String(itemsPags+"")).indexOf("morePages")>=0 ) itemsPags += "</div>";
					
					
					//content = '<div id="browseResults"><a href="javascript:backDiv();">&nbsp;&lt;Prev&nbsp;</a>'+ itemsPags +'<a href="javascript:nextDiv();">&nbsp;Next&gt;&nbsp;</a></div>' + content ;
					
					//content = "<div id='bann_eventos' style='float:right;'><a href='#' onclick=\"window.open('../pop-up/presentacionOnline.asp','pop','toolbar=0,scrollbars=1,resizable=1')\"><img border=0 src='../images/banner-presentacion-video.jpg'></a></div>"+
				    content = "<span class='encabezaAzul'>Eventos Online</span>"+
				              "<span class='textogeneral' style='float:none; font-size:12px; padding-left: 10px;'><br><br>Ahora tienes la oportunidad de asistir a los eventos online en las que podrás obtener información detallada sobre Fundesem Business School, los programas que la Escuela te ofrece, proceso de admisión, etc."+
                              "<br><br>Los eventos online se celebran en tiempo real desde nuestra plataforma virtual, por lo que tendrás la posibilidad de dirigirte a nosotros para realizar cualquier pregunta mediante voz o chat."+
                              "<br><br>Las horas para los eventos online se indican en hora local. Para calcular la hora del evento en tu franja horaria, consulta <a href='http://www.timeanddate.com/' target='_blank'>www.timeanddate.com</a><br><br>"+ 
                              //"<b>RECUERDA:</b> Si no pudiste asistir a nuestros &uacute;ltimos eventos online, puedes ver la presentaci&oacute;n online de Fundesem haciendo <a href='http://fundesem.emea.acrobat.com/p96857406' target='_blank'>clic aqu&iacute;</a><br><br>"+
							  //"<b>ENTRADA GRATUITA</b>. A todos los asistentes se les entregará un CD explicativo sobre Fundesem Business School<br><br></span>"+
							  // Eventos con país
							  //"<table class='sortable'><thead><tr><th class='col_date'><a href='?date:"+((sOrder=="asc")?"desc":"asc")+"' onclick=\"js_sort('date:"+((sOrder=="asc")?"des":"asc")+"');return false;\" >Fecha y hora</a></th><th><a href='?country:"+((sOrder=="asc")?"des":"asc")+"' onclick=\"js_sort('country:"+((sOrder=="asc")?"des":"asc")+"');return false;\">País</a></th><th><a href='?city:"+((sOrder=="asc")?"des":"asc")+"' onclick=\"js_sort('city:"+((sOrder=="asc")?"des":"asc")+"');return false;\">Ciudad</a></th><th class='col_place'>Lugar</th><!--<th>Evento</th><th>Idioma</th>--><th>Inscripción</th></tr></thead><tbody>"+
							  // Eventos online
							  "<table class='sortable'><thead><tr><th class='col_date'><a href='?date:"+((sOrder=="asc")?"desc":"asc")+"' onclick=\"js_sort('date:"+((sOrder=="asc")?"des":"asc")+"');return false;\" >Fecha y hora</a></th><th>Categoría</th><th>Tema</th><th>Inscripción</th></tr></thead><tbody>"+
							  content+
							  /*
							  "<tr><td colspan='5' height='10px' bgcolor='AliceBlue'><p style='padding-left: 15px;'><B>COLOMBIA:</B><br> Gira de Presentaciones Culminada.</p></td></tr>"+
							  "<tr><td colspan='5' height='10px' bgcolor='AliceBlue'><p style='padding-left: 15px;'><B>VENEZUELA:</B><br> Gira de Presentaciones Culminada.</p></td></tr>"+
							  "<tr><td colspan='5' height='10px' bgcolor='AliceBlue'><p style='padding-left: 15px;'><B>MEXICO:</B><br> Gira de Presentaciones Culminada.</p></td></tr>"+
							  "<tr><td colspan='5' height='10px' bgcolor='AliceBlue'><p style='padding-left: 15px;'><B>PERU:</B><br> Gira de Presentaciones Culminada.</p></td></tr>"+
							  */
							  "</tbody>"+
							  "<tfoot><tr><td colspan='5'>&nbsp;</td></tfoot></table>";
							  //"<span class='textogeneral' style='float:none; font-size:12px; padding-left: 10px;'><b>Próximas Presentaciones en mayo en COLOMBIA.</b><br><br>";
					
					if( !adding ){
						element.innerHTML = ""+content+"";
					}else{
						element.innerHTML += content;
					}
					
					//showDiv(aItemsGlobal[0]+"");
					//itemShowing = parseInt( (new String(aItemsGlobal[0]+"")).replace("item_",""), 10);
					//changeBKG("button_"+itemShowing);
				} else {
					alert("Petición no encontrada.\n"+fragment_url);
				}
			}
		
		} 
		xmlhttp.send(null); 
	}catch(e){
		element.innerHTML = "<font color='red'>Error: "+e+"</font>"
	}
} 
function loadInfo( lurl ){
	loadFragmentInToElementRSS(lurl, 'mainContainer', false);
}
/*
** loadDataInToObjectDOM(fragment_url, element_id, selected_code)  
** fragment_url: URI de la fuente de datos	XML de presentaciones
** element_id: ID DOM HTML de la capa en la que se escribirán los datos 
** selected_code: Clave de la presentación en formato X,Y de forma que X es el número <GUID> de ITEM e Y el de <ID> de EVENT
*/
function loadDataInToObjectDOM(fragment_url, element_id, selected_code) { 
    var element = document.getElementById(element_id); 
    contentHTML = new Array;
    
    try{
		xmlhttp.open("GET", fragment_url);
		xmlhttp.onreadystatechange = function() {
		    if (xmlhttp.readyState == 4) {
		        if (xmlhttp.status != 404) {
		            var e = document.getElementById(element_id);

		            // Orden del listado
		            var node = xmlhttp.responseXML.documentElement;

		            // Obtenemos el título del canal
		            var title = node.getElementsByTagName('title').item(0).firstChild.data;

		            contentHTML.push("<div id='eventData'>");

		            // Browse events
		            var items = node.getElementsByTagName('item');
		            if (items.length == 0) {
		                contentHTML.push('<ul><li><div class=error>No events</div></li></ul>');
		            } else {
		                itemsPags = "";
		                for (var n = 0; n < items.length; n++) {
		                    try
							{ var itemId = items[n].getElementsByTagName('id').item(0).firstChild.data; }
		                    catch (e)
							{ var itemId = "#"; }

		                    try
							{ var itemTitle = items[n].getElementsByTagName('title').item(0).firstChild.data; }
		                    catch (e)
							{ var itemTitle = "Sin titulo"; alert(itemTitle + " " + e.message); }

		                    try {
		                        var itemContent = "";
		                        var row = "";
		                        var eventNode = items[n].getElementsByTagName('event');
		                        if (eventNode.length == 0) {
		                            itemContent += '<ul><li><div class=error>No events</div></li></ul>';
		                        } else {

		                            for (eN = 0; eN < eventNode.length; eN++) {
		                                row = "";
		                                ldataSort = "";
		                                try { eCategory = eventNode[eN].getElementsByTagName('category').item(0).firstChild.data; } catch (e) { }
		                                try { eSummary = eventNode[eN].getElementsByTagName('summary').item(0).firstChild.data; } catch (e) { }
		                                try { eDate = eventNode[eN].getElementsByTagName('date').item(0).firstChild.data; } catch (e) { }
		                                try { eTime = eventNode[eN].getElementsByTagName('time').item(0).firstChild.data; } catch (e) { }
		                                try { eTimeEnd = eventNode[eN].getElementsByTagName('time_end').item(0).firstChild.data; } catch (e) { }
		                                try { eCountry = eventNode[eN].getElementsByTagName('country').item(0).firstChild.data; } catch (e) { }
		                                try { eCity = eventNode[eN].getElementsByTagName('city').item(0).firstChild.data; } catch (e) { }
		                                try { ePlace = eventNode[eN].getElementsByTagName('place').item(0).firstChild.data; } catch (e) { }
		                                try { eCode = items[n].getElementsByTagName('guid').item(0).firstChild.data + "," + eventNode[eN].getElementsByTagName('id').item(0).firstChild.data; } catch (e) { }
		                                try { eURI = eventNode[eN].getElementsByTagName('inscription_uri').item(0).firstChild.data; } catch (e) { }

		                                //alert(eCode + "");
		                                if (eCode + "" == selected_code) {
		                                    contentHTML = new Array();
		                                    contentHTML.push("<div id='category'><span class='label'></span><span class='rdata'>" + eCategory + "</span></div>");
		                                    contentHTML.push("<div id='place'><span class='label'>Tema:&nbsp;</span><span class='rdata'>" + eSummary + "</span></div>");
		                                    contentHTML.push("<div id='date'><span class='label'>Fecha:&nbsp;</span><span class='rdata'>" + eDate + "</span></div>");
		                                    //contentHTML.push( "<div id='time'><span class='label'>Hora:&nbsp;</span><span class='rdata'>"+ eTime+"&nbsp;-&nbsp;"+eTimeEnd+"</span></div>" );
		                                    //contentHTML.push( "<div id='time'><span class='label'>Hora:&nbsp;</span><span class='rdata'>"+ eTime+"&nbsp;</span></div>" );
		                                    //contentHTML.push( "<div id='place'><span class='label'>Lugar:&nbsp;</span><span class='rdata'>"+ ePlace +", "+eCity+"&nbsp;("+eCountry+")</span></div>" );
		                                    //contentHTML.push( "<div id='place'><span class='label'>Lugar:&nbsp;</span><span class='rdata'><a href='"+ eURI + "' target='_blank'>"+ eURI + "</a></span></div>" );
		                                    contentHTML.push("<div id='place'><span class='label'>Lugar:&nbsp;</span><span class='rdata'>" + eURI + "</span></div>");
		                                }


		                            }
		                        }
		                    }
		                    catch (e)
							{ itemContent = "Sin eventos, " + e.description; }
		                }
		            }

		            element.innerHTML += contentHTML.join("\n");

		        } else {
		            alert("Petición no encontrada.\n" + fragment_url);
		        }
		    }

		} 
		xmlhttp.send(null); 
	}catch(e){
		element.innerHTML = "<font color='red'>Error: "+e+"</font>"
	}
	
}
