

		
function tipoGrafica(grafica,tipo)
{
  
  d = new Array();
  cId = new Array();
  c = new Array();
  
  d[1] = "datos1";
  d[2] = "datos2";
  d[3] = "datos3";
  cId[1] = "ChartId1";
  cId[2] = "ChartId2";
  cId[3] = "ChartId3";
  c[1] = "chart1";
  c[2] = "chart2";
  c[3] = "chart3";
  
  
  if (grafica == "lineas")
  {
    final = "/Charts/MSLine.swf" ;
    $("#datosTabulares"+tipo).attr("src","/images/ico_tabla.gif");  
    $("#datosBarra"+tipo).attr("src","/images/ico_barras_off.gif");  
    $("#datosLinea"+tipo).attr("src","/images/ico_lineas_on.gif");  
    
    
  } 
  else 
  {
    final = "/Charts/MSColumn3D.swf" ;
    $("#datosTabulares"+tipo).attr("src","/images/ico_tabla.gif");  
    $("#datosBarra"+tipo).attr("src","/images/ico_barras.gif");  
    $("#datosLinea"+tipo).attr("src","/images/ico_lineas.gif");  
    
    
  }
  
  c[tipo] = new FusionCharts(final, cId[tipo], "340", "380", "0", "1");	
  c[tipo].setDataXML("<chart></chart>");
  c[tipo].render(d[tipo]);  				    
  
  
}



function abreGrafico(parametro){

	
	var url = "/comunes/ajax.aspx";
	var param = parametro ;
	
	var f = $("form#tipos");
  var i = f.find("#graficos") ;
  var nodo = i.find(":selected").attr("value");
  
  var boxes = $("#anios").find("input[type=checkbox]");
  var boxes2 = $("#magnitudes").find("input[type=checkbox]");
  var boxes3 = $("#ocultos").find("input[type=hidden]");
  
  
  
  var tanios ="";
  var tmagnitudes ="";
  var tocultos ="";
  
  boxes.each(function(i)
  {
  	if (this.checked)
  	{
  		tanios +="#"+this.value;
  	}
   
	});
       
  boxes2.each(function(i)
  {
  	if (this.checked)
  	{
  		tmagnitudes +="#"+this.value;
  	}
   
	});
  
  
  boxes3.each(function(i)
  {
  {
  		tocultos +="#"+this.value;
  }
   
	});
  
  anios = tanios.substring(1,tanios.length);
  magnitudes = tmagnitudes.substring(1,tmagnitudes.length);
  ocultos = tocultos.substring(1,tocultos.length);
  
   
  	//$.get(url, { filter: param , id: nodo },
  	//$.post(url, { filter: param , id: nodo , a: anios , m: magnitudes },
  	$.post(url, { filter: param , id: nodo },
			function(data){
				document.getElementById('auxGraph').innerHTML = "";
				pintagrafica(data);
			}
		);
	
}


function pintaExcel(parametro,tipo)
{
	var url = "/config/export/excel.aspx";
	var chartObj = getChartFromId("ChartId"+tipo);
	var cadena = chartObj.getDataAsCSV();
	
	$.post(url, { filter: cadena, idioma:parametro },
	function(data){
				fichero = "/data/Export/CSV/" + data;
				window.open(fichero);

			}
		);
		
}	
 
function pintagrafica(datos)
{

		document.getElementById('auxGraph').innerHTML = datos;
	      	document.getElementById('datos').innerHTML = "";

/*	
			if (datos == 1)
			{
				var chart1 = new FusionCharts("/Charts/MSColumn3D.swf", "ChartId", "350", "350", "0", "1");
	      chart1.setDataURL("/Charts/MSColumn3D.xml");
	      chart1.render("datos");
    	} else if (datos == 2)
	
			{
	      var chart1 = new FusionCharts("/Charts/MSLine.swf", "ChartId", "350", "350", "0", "1");
	      chart1.setDataXML("<chart></chart>");
	      chart1.render("datos");
    	}
    	else
    		{
    			
	      	document.getElementById('auxGraph').innerHTML = datos;
	      	document.getElementById('datos').innerHTML = "";
    		}
     
 */     
}
      
	
 
 function updateChart3(DOMId,nodo)
 {
 					
					var f = $("form#tipos");
  				var i = f.find("#graficos") ;
  				var nodo = i.find(":selected").attr("value");
  
  				var boxes = $("#anios").find("input[type=checkbox]");
  				var boxes2 = $("#magnitudes").find("input[type=checkbox]");
  				var boxes3 = $("#ocultos").find("input[type=hidden]");
  				
				  var tanios ="";
				  var tmagnitudes ="";
				  var tocultos ="";
				  
				  boxes.each(function(i)
					  {
					  	if (this.checked)
					  	{
					  		tanios +="#"+this.value;
					  	}
					   
						});
					       
					  boxes2.each(function(i)
					  {
					  	if (this.checked)
					  	{
					  		tmagnitudes +="#"+this.value;
					  	}
					   
						});
					  
					  
					  boxes3.each(function(i)
					  {
					  {
					  		tocultos +="#"+this.value;
					  }
					   
						});
					  
					  anios = tanios.substring(1,tanios.length);
					  magnitudes = tmagnitudes.substring(1,tmagnitudes.length);
					  ocultos = tocultos.substring(1,tocultos.length);
					 	
					 	
					 	var url="/xml_grafica.aspx?id="+nodo+"&a="+anios+"&m="+magnitudes+"&o="+ocultos;
					
						
					
						 					
	         var chartObj = getChartFromId("ChartId");
	         
	         if (DOMId.checked)
	 					{
	 						
	 						chartObj.setDataURL(url);	
	 					}
	 					else
	 					{
	 						chartObj.setDataURL(url);	
	 					}	
         
         
 }
 
 
 function updateChart2(DOMId)
 {
 					
         var chartObj = getChartFromId("ChartId");
         
         if (DOMId.checked)
 					{
 						
 						chartObj.setDataURL("/Charts/MSColumn3D.xml");	
 					}
 					else
 					{
 						chartObj.setDataURL("/Charts/MSColumn1.xml");	
 					}	
         
         
 }
 
 
	
		function FC_Rendered(domId){			
			
			
			
			if (domId=="ChartId1")
			{	
				
				//this.document.productSelector.disabled = false;
				chartLoaded = true;
				var chartObj = getChartFromId(domId);
				chartObj.setDataXML(generateXML1(true));
			}			
			
			if (domId=="ChartId2")
			{	
				
				//this.document.productSelector.disabled = false;
				chartLoaded = true;
				var chartObj = getChartFromId(domId);
				chartObj.setDataXML(generateXML2(true));
			}			
			
			
			if (domId=="ChartId3")
			{	
				
				//this.document.productSelector.disabled = false;
				chartLoaded = true;
				var chartObj = getChartFromId(domId);
				chartObj.setDataXML(generateXML3(true));
			}			
			
			return true;			
		}
		
		
		function updateChart(domId,nodo,posicion)
		{			
			
			
			
			
			if (chartLoaded){
				var chartObj = getChartFromId("ChartId"+posicion);
				var funcion = eval("generateXML"+posicion);
				chartObj.setDataXML(funcion(true,posicion));
			}
			
		}
		
		function getProductXML2(dato,posicion)
		{
			
			productXML = "<category label='"+dato+"'/>";			
			
			return productXML;
		}
			
				
		function getProductXML(productIndex,tipo,posicion){		
			var productXML;
			var colores = new Array();
			colores[0] = "A36A97";
			colores[1] = "FFC355";
			colores[2] = "CE4C7A";
			colores[3] = "6A9DA3";
			colores[4] = "FFC355";	
			colores[5] = "CE4C7A";
			colores[6] = "FF5500";
			var anios = new Array();
			var nuevo = new Array();
			var posXML="";
			var id = "#anios" + posicion ;
			var datos = eval("data"+posicion) ;
			var ck
			
			
			
			var boxes = $(id).find("input[type=checkbox]");
			
						
			boxes.each(function(i)
			  {
			  	
			  		anios[i] =  this.value;
					
			  });
			
			
			//nuevo = anios.reverse();
			nuevo = anios;
			var test = new Array();
			
		
			productXML = "<dataset seriesName='" + datos[productIndex][0] + "' color='"+ colores[productIndex] +"' showValues='0'>";			
			
			//for (var i=datos[productIndex].length-1; i>=0; i--){	
			for (var i=1; i<=datos[productIndex].length-1; i++){	
				temp = datos[productIndex][i].toString();
				temp2 = temp.replace(".",",") ;
				
			
				test[nuevo[i-1]] = datos[productIndex][i]
				
					if (tipo ==0) 
					{
			
						//test[nuevo[i-1]] = data[productIndex][i]
						test[nuevo[i-1]] = temp2;
						
					}
					else
					{
						test[nuevo[i-1]] = datos[productIndex][i]
						
					}	
					
					
			}
			
			
			
			
			
			
			for (a=0;a <=boxes.length-1;a++)
			//for (a=boxes.length-1;a >= 0;a--)
			{
				
				if (boxes[a].checked)
				{
					
					productXML = productXML + "<set value='" + test[boxes[a].value] + "' />";
				}	
				
			}
			
			
				
		/*						
			if (boxes[4].checked)
			{
				productXML = productXML + "<set value='" + test[2004] + "' />";
			}
			
			if (boxes[3].checked)
			{
				productXML = productXML + "<set value='" + test[2005] + "' />";
			}
			
			if (boxes[2].checked)
			{
				productXML = productXML + "<set value='" + test[2006] + "' />";
			}
			
			if (boxes[1].checked)
			{
				productXML = productXML + "<set value='" + test[2007] + "' />";
			}
			
			if (boxes[0].checked)
			{
				productXML = productXML + "<set value='" + test[2008] + "' />";
			}
			*/
			
			productXML = productXML + "</dataset>";
			
			
			return productXML;			
		}

function normaliza(mag1)
{
	for (i=0;i<=mag1.length;i++)
{
		for (a=0;a<=mag1[i];a++)
		{
		alert (mag1[i][a]);
		}
}
}


function getChartXML(){
         var chartToPrint = getChartFromId("ChartId");
         alert(chartToPrint.getXML());
      }
      
      
function CambiaIbex(param,id,cd)
{
	var tanios ="";
	var boxes = $("#anios").find("input[type=checkbox]");
	
	
	
	boxes.each(function(i)
  {
  	
  	if (param != boxes[i]) boxes[i].checked = false;
  	
  });
  
  document.location.href=literal["urles"][0]+"?graficos=" + id + "&actual=" + param.value + "&cd=" +cd;
  
}     

function exportCharts(exportType,tipo)
{
	//Get reference to chart.
	var chart = getChartFromId("ChartId"+tipo);
	
	// Now, we proceed with exporting only if chart has finished rendering.
	if (chart.hasRendered() != true)
	{
		alert("Please wait for the chart to finish rendering, before you can invoke exporting");
		return;
	}
	
	// call exporting function
	chart.exportChart( {exportFormat: exportType} );
}

function exportHandler()
	{
		var n = document.getElementById('fcExportDiv');
		n.innerHTML = "&nbsp;"; 

		//Get reference to chart.
		var chart = getChartFromId("ChartId");
		//Now, we proceed with exporting only if chart has finished rendering.
		//We do not check rendering of export component, as FusionCharts Export Object JS
		//has a built-in queue that stacks up the export request until the component is ready.
		if (chart.hasRendered()==true){
			chart.exportChart();
			//fcExportDiv
		}else{
			alert("Please wait for the chart to finish rendering before you can invoke exporting");
		}
	}

function printChart(tipo)
{
         var chartToPrint = getChartFromId("ChartId"+tipo);
         chartToPrint.print();
}
 

 function Export_Excel(DOMId)
 {
         
         var chartObj = getChartFromId("ChartId");
         window.alert(chartObj.getDataAsCSV());
         return;
         
         
} 



function pillaXML(magnitud,locale,tipo)
{


		
		var chartObj = getChartFromId("ChartId"+tipo);
		var cadena = chartObj.getDataAsCSV();
		var lineas = cadena.split("\r\n");
		var columnas = lineas[0].split(",");
		var cabecera = new Array();
		var tempCab ="";
		var medioTabla="";
		
				
		var datos = new Array();
		for (i=1;i<=lineas.length-1;i++)
		{
				datos[i-1]=lineas[i].split(",");
		}
		
		for (var i=0; i<=datos.length-1; i++)
		{	
			cabecera[i] = datos[i][0];
		}	
				
		
		
		tablaCab = '<table cellspacing="0"><colgroup><col width="70%" /><col span="3" width="10%" /></colgroup><thead><tr><td>&nbsp;</td>'; 
		tablaFinCab='</tr></thead><tbody>';
		
		for (i=0;i<=cabecera.length-1;i++)
		{
				 c = cabecera[i].replace("\"","") ; 
				 tempCab += '<th>'+c.replace("\"","")+'</th>';
		}
		
		for (i=1;i<=columnas.length-1;i++)
		{
			t = columnas[i].replace("\"","") ;
			medioTabla += '<tr><th>'+t.replace("\"","")+'</th>';
			
			
				for (a=1;a<=datos.length;a++)
				{
					c = datos[a-1][i].replace("\"","");
					n = c.replace("\"","");
					
						if (locale=="es")
						{
						t = formatNumber(n).replace(",",".");
						}
						if (locale=="en")
						{
							t = formatNumber(n);
						}

					medioTabla +='<td>'+t+'</td>';
				}
			medioTabla +='</tr>';
		}	
				
		
		pieTabla='</tbody></table><div style="text-align:right;">' + magnitud +"</div>";
		
		
		document.getElementById('datos'+tipo).innerHTML= tablaCab+tempCab+tablaFinCab + medioTabla + pieTabla;
		
		$("#datos"+tipo).innerHTML= tablaCab+tempCab+tablaFinCab + medioTabla + pieTabla;
		
		$("#datosTabulares"+tipo).attr("src","/images/ico_tabla_on.gif");
		$("#datosBarra"+tipo).attr("src","/images/ico_barras_off.gif");
		$("#datosLinea"+tipo).attr("src","/images/ico_lineas.gif");
		$("#anios"+tipo).hide('fast');
		$("#magnitudes"+tipo).hide('fast');
		

		
		
		
}

function formatNumber(num,prefix)
{
    prefix = prefix || '';
    num += '';
    var splitStr = num.split('.');
    var splitLeft = splitStr[0];
    var splitRight = splitStr.length > 1 ? '.' + splitStr[1] : '';
    var regx = /(\d+)(\d{3})/;
    while (regx.test(splitLeft)) {
    splitLeft = splitLeft.replace(regx, '$1' + ',' + '$2');
    }
    return prefix + splitLeft + splitRight;
}

    function unformatNumber(num) 
{
    return num.replace(/([^0-9\.\-])/g,'')*1;
} 
