//-----------------------------------------------------------------------------------------------------

var detalles_notas=null;
var $nota_pierde=0;
var posicion=null;
var cant_fil;

$("#btnAntDest").button({
	icons: {primary: "ui-icon-seek-prev"},
	text:false
}).click(function(e){
	if(posicion>1){ 
		posicion--;
		ids=$("table#tb_list_notasxest tr:eq("+posicion+")").attr('id')
		armar_detalles(ids)
		convertirToGrid()
	}
});

$("#btnSigDest").button({
	icons: {primary: "ui-icon-seek-next"},
	text:false
}).click(function(e){
	if(posicion<cant_fil){
		posicion++;
		ids=$("table#tb_list_notasxest tr:eq("+posicion+")").attr('id')
		armar_detalles(ids)
		convertirToGrid()
	}else{
		//$(e).attr('disabled',true);
	}
});	


//-----------------------------------------------------------------------------------------------------------------------------------------------------------
	
	
	
//-----------------------------------------------------------------------------------------------------		

function calPporcentaje(v){
	var arr=jQuery("#list_cant_notas").getCol('txt_por_nota');
	var total=0;
	for(i=0;i<arr.length;i++){
		cd=arr[i]
		if(cd.indexOf("input")>-1){
			total+=parseInt(v);
		}else{
			total+=parseInt(cd);
		}
	}

	if(total!=100){	
		$("#tot_porcentaje").addClass("campos_error").removeClass("campos");
		$("#save_todo").addClass("ui-state-disabled").attr("disabled",true);
	}else{
		$("#tot_porcentaje").addClass("campos").removeClass("campos_error");
		$("#save_todo").removeClass("ui-state-disabled").removeAttr("disabled");
	}
		
	$("input#tot_porcentaje").val(total)
	return total;
}
//-----------------------------------------------------------------------------------------------------------------------------------------------------------

//-----------------------------------------------------------------------------------------------------------------------------------------------------------



//-----------------------------------------------------------------------------------------------------------------------------------------------------------
function inicializar_notas(){
	
	cant_fil=$( "table#tb_list_notasxest tr:gt(0)" ).length-1;
	$nota_pierde=parseFloat($("table#tb_list_notasxest tr:eq(1) td:last").attr('aria-pierde'))

	$("#tb_list_notasxest_headers th[role=tit_header]").poshytip({
		className: 'tip-skyblue',
		bgImageFrameSize: 9,
		offsetX: 0,
		offsetY: 20
	}).addClass("opera")
			
	$('.ui-jqgrid-bdiv').scroll(function(e) {
		$(".ui-jqgrid-hdiv").scrollLeft($(this).scrollLeft())
	});
	
	if($("#md_n_periodo option:selected").attr("data-est")!=0){// 1 no los activa
		coloca_boton({
			id:"save_calif",
			elem:'#t_list_notasxest',
			buttonicon:'ui-btn-save',
			title:'Guardar',
			onClickButton:function(){
				$('#window_not_est').block({message:dtsLang.globals.msg_espera});
				$notas_g={};
				id_escala=$("#md_n_materias option:selected").attr("aux").split("|")[6];
				$("table#tb_list_notasxest tr[role=row]:gt(0)").each(function(index, element) {
					idp=$(this).attr('id');
					var nots=[];
					var recs=[];
					var rec=null;
					elem=$("input.cb_notas",this);
					elemFin=$("td:eq(2)",this);
					elem.each(function(index, element) {
						$datas=$(this).data();
						$id_calxasixes=$datas.cd_cal;
						$nt=parseFloat($datas.nota_orig);
						
						$obs_rec=$datas.recuperacion.rec_observaciones;
						$fec_rec=$datas.recuperacion.rec_fecha;
						$nota_rec=$datas.recuperacion.rec_numeros; 
						$id_not_rec=$datas.recuperacion.cod_recuperacion;
						
						$recupera=$datas.chk_recupero;
						$chk_nota=$datas.chk_nota;
						
						$chk_rec=$datas.chk_rec;
						// lo de recuperaciones 
						if(!$.isEmptyObject($datas.recuperacion)){
							if($datas.chk_rec==true){
								if($nota_rec==""){
									if($id_not_rec==""){
										rec="";
									}else{
										rec={// en este caso voy a eliminar
											id:$id_calxasixes,// solo necesito este
											not_rec:$nota_rec,
										}
									}
								}else{
									rec={
										id:$id_calxasixes,
										fec_rec:$fec_rec,
										not_rec:$nota_rec,
										obs_rec:$obs_rec
									}
								}
								recs.push(rec)		
							}
						}												
						if($datas.chk_nota){
							if($nt==9999 || $chk_rec==false){
								$nt=parseFloat($(this).val())
								$nt=isNaN($nt) ? 'NULL' : $nt;
							}
							nots.push({
								id:$id_calxasixes,
								not:$nt,
							})
						}					  
					});
					if(elemFin.attr("aria-checked-def")=="true"){
						finals={
							id:elemFin.attr("aria-id"),
							obs_gral:elemFin.attr("aria-obs-def"),
							def:parseFloat(elemFin.text()),
						}
					}else{
						finals="";
					}
					recs=recs.length>0 ? recs : "";
					nots=nots.length>0 ? nots : "";
					if(nots!="" || recs!="" || finals!=""){
						$notas_g["'"+idp+"'"]={
							"notas":nots,
							recups:recs,
							final:finals
						}
					}
				});
				if($.isEmptyObject($notas_g)){
					$('#window_not_est').unblock();
					notifica_ok("Sin notas para guardar", 3000);
					return false
				}
				$.ajax({
					url:'mod_notas/opera_calificaciones.php',
					type:"POST",
					data:{dt:$notas_g, escala:id_escala},
					success: function(r){
						modulo="md_notas";
						try{ 
							rta=$.parseJSON(r);
							if (rta['error']!=0){
								if (rta['error']=='session'){
									modulo='global'
								}
								jAlert(rta['desc'],"Academia","error",function(){
									if(rta['error']=='session'){
										location.reload();		
									}	
								});
							}else{
								notifica_ok("Se actualizo el registro de notas ", 3000);
								//$("#md_n_periodo").trigger("change");
								cargar_list_notasx_estud();
							}
							
						}catch (err){
							txt="Hubo un error en esta página.\n\n";
							txt+="Descripcion del error: " + err.message + "\n\n";
							txt+="Haga clic en Aceptar para continuar.\n\n";
							alert(txt);
						}
						$('#window_not_est').unblock();
						
					}
				})
				
			}
		}); //fin coloca btn
	}

	$('#window_not_est').unblock();
	
	$('table#gfrc2_frozen tr[role=row]').contextMenu({
		menu: 'contextMenuElements',
		inSpeed: 10,
		outSpeed: 10
	},
	function(action, el, pos) { 
		Controller(action, el)
	});
}

function cal_nota_prom_mater(){
	var prom_def=0;
	var cant_fil=$( "table#tb_list_notasxest tr:gt(0)" ).length-1;
	$("#gfrc2_frozen td[role=definiiva]").each(function(index, element) {
        $nota=parseFloat($(this).html())
		prom_def=prom_def+$nota;
    });
	t=(prom_def/cant_fil)
	$("td[role=pro_definiiva]").each(function(index, element) {
        $(this).html(Math.round(t*10)/10);
    });
}

function borra_recupera(idcol){
	ele=$("#"+idcol);
	$obs_rec=$(this).attr("aria-obs-rec");
	ele.attr("fec_rec",'');
	ele.attr("aria-not-rec",'');
	ele.attr("aria-id-rec",'');
	ele.attr("aria-recupero",'false');
	ele.children("input").removeClass("nota_recuperada");
}

function autoComNota(elem,v){
	if(v.length==2){
		if(v[1]==''){
			$(elem).val(v[0]+".0");
		}
	}else{
		if(v[0]!=''){
			$(elem).val(v[0]+".0");
		}
	}
	$not_pierde=parseFloat($(elem).parents("td").attr("aria-pierde"));
	$nota=parseFloat($(elem).val());
	if($nota<=$not_pierde){
		$(elem).addClass('nota_mala').removeClass('nota_ok');
	}else{
		$(elem).addClass('nota_ok').removeClass('nota_mala');
	}	
}
//-----------------------------------------------------------------------------------------------------

function cal_final(id_fil){
	var def=0;
	$not_pierde=parseFloat($("table#tb_list_notasxest tr#e"+id_fil).children("td:last").attr("aria-pierde"));
	$("table#tb_list_notasxest tr#e"+id_fil+" td:gt(2)").each(function(ccol, element) {
		por_nota=parseFloat($(this).attr("aria-pornota"))/100;
		//alert(notasEquals); 
		if(notasEquals==0){
			por_saber=parseFloat($(this).attr("aria-porsaber"))/100;
		}else{
			por_saber=1;
		}
		nota=parseFloat($("input",this).val())
		nota=isNaN(nota) ? 0 : nota;
		def=def+(por_nota*nota*por_saber)		
    });
	
	if(def<=$not_pierde){
		$("table#tb_list_notasxest tr#e"+id_fil+" td:eq(2)").html(Math.round(def*10)/10).addClass('nota_mala').attr("aria-checked-def","true");
		$("table#gfrc2_frozen tr#e"+id_fil+" td:eq(2)").html(Math.round(def*10)/10).addClass('nota_mala');
	}else{
		$("table#tb_list_notasxest tr#e"+id_fil+" td:eq(2)").html(Math.round(def*10)/10).addClass('nota_ok').attr("aria-checked-def","true");
		$("table#gfrc2_frozen tr#e"+id_fil+" td:eq(2)").html(Math.round(def*10)/10).addClass('nota_ok');
	}
	cal_nota_prom_mater()
}
