var widthTDorigen = 158;
var heightTDorigen = 25;
var colorTDorigen = "#4b98c3";
var colorTDtotal = "#DDDDDD";
//var colorTDCabtotal = "#999999";
var colorTDCabtotal = "#4b98c3";

var backgroundBlue = "#4b98c3";
var backgroundWhite = "#FFFFFF";




function validarIndicador(){
	//alert("*");
	Save(0,0);
}

function validarSiNumero(numero){
  
   if(numero == "") {
	  return "0.00";
   }else{
		if(isNaN(numero)) {
			 return "0.00";
		}else{
			var negativo = "";
			if(numero.indexOf("-")!=-1){
				negativo = "-";
			}
			numero = Math.abs(numero);
			var realNum=/^\d+(\.\d+)?$/;
			//if (!/^([0-9])*$/.test(numero)){
			if (!realNum.test(numero)){
				return "0.00";
			}else{
				return negativo + numero;
			}
		}
   }
}


 function addHead(){
 
	  var numColumnas = $('tr:last td', $("#mitabla")).length;

	  if(numColumnas==0){

		 trs =  '<tr id=Cabecera0>';
		 trs += '<td bgcolor='+colorTDorigen+' height='+heightTDorigen+' width='+widthTDorigen+' nowrap=nowrap>&nbsp;</td>';  
		 trs += '<td bgcolor='+colorTDorigen+' nowrap=nowrap>'+addTextHead(0, 1)+addDeleteColumn(0, 1)+'</td>';   
		 trs += '</tr>';
		 $("#mitabla").append(trs); 
	  }else{
	  	  $("#Cabecera0").append( '<td bgcolor='+colorTDorigen+' height='+heightTDorigen+' nowrap=nowrap>'+addTextHead(0, numColumnas)+addDeleteColumn(0, numColumnas)+'</td>');    
	  } 
 }
 


  function addResult(){
 
	 var textoTotales  = "<font size=1>Totales</font>";
	 var textoTipoGraf = "<font size=1>Tipo de Grafico</font>";
	 var generarGraf = "<font size=1>¿Generar Gráfico?</font>";
	 var combinarGraf = "<font size=1>¿Combinar Columnas?</font>";
	 var modoGraf = "<font size=1>Modo Gráfico</font>";
	 var textoPControl = "<font size=1>Mostrar en P. Control</font>";
	 var textoCGrafico = "<font size=1>Mostrar en un solo Gráfico</font>";
	 
	 //nº de columnas de la ultima fila
	 var numColumnas = $('tr:last td', $("#miresult")).length;
	 var numFilas = $('tr', $("#miresult")).length;
	 
	  if(numColumnas==0){
		 trs = '<tr id=Result0>';
		 trs += '<td width='+widthTDorigen+' bgcolor='+colorTDCabtotal+' nowrap=nowrap>&nbsp;'+textoTotales+'</td>'; 
		 trs += '<td width='+widthTDorigen+' bgcolor='+colorTDtotal+' nowrap=nowrap>'+addResultBox(0, 1)+'</td>';     
		 trs += '</tr>';

		 trs += '<tr id=Grafico0>';
		 trs += '<td width='+widthTDorigen+' bgcolor='+colorTDCabtotal+' nowrap=nowrap>&nbsp;'+generarGraf+'</td>';
		 trs += '<td width='+widthTDorigen+' bgcolor='+colorTDtotal+' nowrap=nowrap>'+addCheckTipoGrafico(0, 1)+ ' ' + textoPControl +'</td>';     
		 trs += '</tr>';
		 
		 //trs += '<tr id=CombinarGrafico0>';
		 //trs += '<td width='+widthTDorigen+' bgcolor='+colorTDCabtotal+' nowrap=nowrap>&nbsp;'+combinarGraf+'</td>';
		 //trs += '<td width='+widthTDorigen+' bgcolor='+colorTDtotal+' nowrap=nowrap>'+addCheckCombinarGrafico(0, 1)+ ' ' + textoCGrafico +'</td>';     
		 //trs += '</tr>';
		 
		 trs += '<tr id=TipoGrafico0>';
		 trs += '<td width='+widthTDorigen+' bgcolor='+colorTDCabtotal+' nowrap=nowrap>&nbsp;'+textoTipoGraf+'</td>';
		 trs += '<td width='+widthTDorigen+' bgcolor='+colorTDtotal+' nowrap=nowrap>'+addSelectTipoGrafico(0, 1) + '<br>' +addPreviewGraphics(0, 1)+'</td>';     
		 trs += '</tr>';
		 
		 trs += '<tr id=ModoGrafico0>';
		 trs += '<td width='+widthTDorigen+' bgcolor='+colorTDCabtotal+' nowrap=nowrap>&nbsp;'+modoGraf+'</td>';
		 trs += '<td width='+widthTDorigen+' bgcolor='+colorTDtotal+' nowrap=nowrap>'+addModoTipoGrafico(0, 1)+'</td>';     
		 trs += '</tr>';
		 
		 $("#miresult").append(trs); 
	  }else{
		  $("#Result0").append( '<td width='+widthTDorigen+' bgcolor='+colorTDtotal+' nowrap=nowrap>'+addResultBox(0, numColumnas)+'</td>');  
		  $("#Grafico0").append( '<td width='+widthTDorigen+' bgcolor='+colorTDtotal+' nowrap=nowrap>'+addCheckTipoGrafico(0, numColumnas)+ ' ' + textoPControl +'</td>'); 
		  //$("#CombinarGrafico0").append( '<td width='+widthTDorigen+' bgcolor='+colorTDtotal+' nowrap=nowrap>'+addCheckCombinarGrafico(0, numColumnas)+ ' ' + textoCGrafico +'</td>');  	 		   	 		  
	  	  $("#TipoGrafico0").append( '<td width='+widthTDorigen+' bgcolor='+colorTDtotal+' nowrap=nowrap>'+addSelectTipoGrafico(0, numColumnas) + addPreviewGraphics(0, numColumnas) +'</td>');  
	  	  $("#ModoGrafico0").append( '<td width='+widthTDorigen+' bgcolor='+colorTDtotal+' nowrap=nowrap>'+addModoTipoGrafico(0, numColumnas)+'</td>');	 		  
	  }
 }
 
 function addTextHead(fila, columna){
 	var texto = 'Cabecera ' + columna;
	return "<input style=\"border:thick; background:"+backgroundBlue+"\" size=\"22\" type=\"text\" name=\"head_"+fila+"_"+columna+"\" id=\"head_"+fila+"_"+columna+"\" value=\""+texto+"\" />"
 }
 
 function addTextRowDesc(fila, columna){
 	//var texto = 'Fila ' + fila;
 	var texto = 'Nueva Fila';
	return "<input style=\"border:thick; background:"+backgroundBlue+"\" size=\"22\" type=\"text\" name=\"rowdesc_"+fila+"_"+columna+"\" id=\"rowdesc_"+fila+"_"+columna+"\" value=\""+texto+"\" />"
 }
 
 function addTextBox(fila, columna){
	return "<input style=\"border:thick; background:"+backgroundWhite+"\" size=\"27\" type=\"text\" name=\"subarea_"+fila+"_"+columna+"\" id=\"subarea_"+fila+"_"+columna+"\" value=\"\" onchange=\"javascript:CalcularTotal("+fila+", "+columna+");\" />"
 }
 
  function addResultBox(fila, columna){
	return "<input style=\"border:thick; background:"+colorTDtotal+"\" size=\"27\" type=\"text\" name=\"total_"+fila+"_"+columna+"\" id=\"total_"+fila+"_"+columna+"\" value=\"\" />"
 }
 
 function addParams(fila, columna){
 
 	var numFilas = $('tr', $("#mitabla")).length;
 	var paramsX = "";
 	var params0 = "";
 	var params = "";
 	var graphic = true;
 	
 	//params += "columna="+columna;
 	//params += "&dpind_cod_indicador="+$("#dpind_cod_indicador").val();
 	
	for (i=1;i<numFilas;i++){
		if(i>1){
			params += "&";
		}
		
		params0 = $("#rowdesc_"+i+"_0").val();
		paramsX = $("#subarea_"+i+"_"+columna).val();
		if(!paramsX == ""){
			if(!isNaN(paramsX)) {
				params += params0 + "=" + validarSiNumero(paramsX);
			}
		}
	}
	
	params = escape(params);
	
	modo = $("input[name=\"modoGrafico_"+fila+"_"+columna+"\"]:checked").val();
	modo = "&modo="+modo;
	
	estilo = $("#tipoGrafico_"+fila+"_"+columna).val();

	if(estilo == 0){
		estiloInd = "dpserver_column3";
	}
	if(estilo == 1){
		estiloInd = "dpserver_pie";
	}
	if(estilo == 2){
		estiloInd = "dpserver_bubble";
	}
	if(estilo == 3){
		estiloInd = "dpserver_line";
	}

    estilo = "&estiloInd="+estiloInd;
	
	
	tipo="imagen";
	tipo="flash";
	tipo = "&tipo="+tipo;
	
	total = $("#total_0_"+columna).val();
	if(total == ""){
		total = "0.00";
	}
	total = "&total="+total;
	
	var dimension = "";
	dimension = "&charts_width=500&$charts_height=450";
	
	windowSize = "&height=270&width=550";

	var url = "../indicadores/previsualizaGraficos.php?params="+params + windowSize + tipo + modo + total + estilo + dimension;
	//alert(url);
	tb_show("Previsualizar Gráfico", url, null, true);

 }
 	
	
 function addPreviewGraphics(fila, columna){
 	
 	//var params = addParams(fila, columna);

	var link = "";
	link += "<table border=0 cellspacing=0 cellpadding=0><tr><td>";
	link += "<a class=\"thickbox\" id=\"Graplink_"+fila+"_"+columna+"\" title=\"Previsualizar Gráfico\" onclick=\"javascript:addParams("+fila+", "+columna+");\">";
	link += "<img alt=\"\" src=\"../graphics/pie-chart_1.png\" border=\"0\">";
	link += "</a>";
	link += "</td><td><font size=1>Previsualizar Gráfico</font>";
	link += "</td></tr></table>";
	//alert(link);
	return link;
 }
 
 
  function addDeleteRow(fila, columna){

	var link = "";
	link += "<a id=\"delete_"+fila+"_"+columna+"\" href=\"javascript:Save("+fila+",0)\">";
	link += "<img alt=\"Borrar Fila\" src=\"../graphics/delete_fila.gif\" border=\"0\">";
	link += "</a>";
	return link;
 }
 
  function addDeleteColumn(fila, columna){
 	
	var link = "";
	link += "<a id=\"delete_"+fila+"_"+columna+"\" href=\"javascript:Save(0,"+columna+")\">";
	link += "<img alt=\"Borrar Columna\" src=\"../graphics/delete_columna.gif\" border=\"0\">";
	link += "</a>";
	return link;
 }
 
 function addSelectTipoGrafico(fila, columna){
 	var select = "&nbsp;";
 	select +="<select name=\"tipoGrafico_"+fila+"_"+columna+"\" id=\"tipoGrafico_"+fila+"_"+columna+"\" >";
    select +="<option value=\"0\">Gráfico de Barras</option>";
    select +="<option value=\"1\">Gráfico Circular</option>";
    select +="<option value=\"2\">Gráfico de Bolas</option>";
    select +="<option value=\"3\">Gráfico de Lineas</option>";
  	select +="</select>";
 	return select;
 }
 
  function addCheckTipoGrafico(fila, columna){
 	return "<input style=\"background:"+colorTDtotal+"\" type=\"checkbox\" name=\"grafico_"+fila+"_"+columna+"\" id=\"grafico_"+fila+"_"+columna+"\" value=\"1\" />";
 }
 
 function addCheckCombinarGrafico(fila, columna){
 	return "<input style=\"background:"+colorTDtotal+"\" type=\"checkbox\" name=\"combinarGrafico_"+fila+"_"+columna+"\" id=\"combinarGrafico_"+fila+"_"+columna+"\" value=\"1\" />";
 }
 
 function addModoTipoGrafico(fila, columna){
 	var radio = "";
 	radio +="<input style=\"background:"+colorTDtotal+"\" type=\"radio\" name=\"modoGrafico_"+fila+"_"+columna+"\" id=\"modoGrafico_"+fila+"_"+columna+"\" value=\"0\" checked=\"checked\" /> <font size=1>numérico</font> ";
 	radio +="<input style=\"background:"+colorTDtotal+"\" type=\"radio\" name=\"modoGrafico_"+fila+"_"+columna+"\" id=\"modoGrafico_"+fila+"_"+columna+"\" value=\"1\" /> <font size=1>%</font>";
 	return radio;
 }
 
 function CalcularTotal(fila, columna){

	var numFilas = $('tr', $("#mitabla")).length;
	var total = 0;
	for (i=1;i<numFilas;i++){
		total = parseFloat(total) + parseFloat(validarSiNumero($("#subarea_"+i+"_"+columna).val()));
	}
	
	total = total.toFixed(2);
	$("#total_0_"+columna).val(total); 
	
 }

 function Save(fila, columna){
 
  //nº de columnas de la ultima fila
  var numColumnas = $('tr:last td', $("#mitabla")).length;
  var numFilas = $('tr', $("#mitabla")).length;
  //Descartamos la cabecera.
  numFilas = numFilas - 1;
  //alert(numFilas + " " + numColumnas);
  
  $("#borrarColumna").val("0");
  $("#borrarFila").val("0");
  
  if(fila != 0){
	$("#borrarFila").val(fila);
  }
  if(columna != 0){
	$("#borrarColumna").val(columna);
  }
  
  $("#totalFilas").val(numFilas);
  $("#totalColumnas").val(numColumnas);
  
  //alert($("#mitabla").html());
  //alert($("#miresult").html());
  document.formulario.submit();
	
 }

 function autoSave(){
 	//Pendiente.
 }

 function addRow(){

	var trs = '';
	var numFilas = 0;
	var numColumnas = 0;
	
	 //nº de columnas de la ultima fila
	 numColumnas = $('tr:last td', $("#mitabla")).length;
	  if(numColumnas==0){
		addHead();
		addResult();
	  }
	  
	  numColumnas = $('tr:last td', $("#mitabla")).length;
	  numFilas = $('tr', $("#mitabla")).length;

		 trs += '<tr id=tr'+numFilas+'>';  
		 for(var i = 0; i < numColumnas; i++){
			 if(i==0){
				 trs += '<td width='+widthTDorigen+' bgcolor='+colorTDorigen+' id=td_'+numFilas+'_'+i+' nowrap=nowrap>'+addDeleteRow(numFilas, 0) + addTextRowDesc(numFilas, i)+'</td>';
			 }else{
				 trs += '<td id=td_'+numFilas+'_'+i+' nowrap=nowrap>'+addTextBox(numFilas, i)+'</td>';
			 }
		 }
		 trs += '</tr>';
	 
	 $("#mitabla").append(trs); 

 }

 function addColumn(){

	  var tds = '';
	  var tdResult = '';
	  //nº de columnas de la ultima fila
	  var numColumnas = $('tr:last td', $("#mitabla")).length;
	  var numFilas = $('tr', $("#mitabla")).length;
	  
	  if(numFilas==0){
	   	  addRow();
	  }else{
		  addHead();  
		  //addRowDesc();   
		  addResult();
	
		  for(var i = 0; i < numFilas; i++){
			  if(i==0){
				tds = '<td width='+widthTDorigen+' id=td_'+i+'_'+numColumnas+' nowrap=nowrap>'+addTextRowDesc(i, numColumnas)+'</td>';
			  }else{
				tds = '<td width='+widthTDorigen+' id=td_'+i+'_'+numColumnas+' nowrap=nowrap>'+addTextBox(i, numColumnas)+'</td>';
			  }
			  $("#tr"+i).append(tds); 
		 }
	 
	  }

 }
 

