// registro de cambios
reg=new(function(){});
reg.cal = false;
reg.gua = true;
reg.com = false;
reg.ran = false;
reg.fir = false;
reg.pla = '123456789';
reg.ids = new Array();
reg.add = (function(id){
	id=id.replace('overbox_','');
	if (!(item_in_array(id,reg.ids))) reg.ids.push(id);
	reg.gua = false;
	reg.com = false;
	reg.fir = false;
	if (arguments.length==1) {
		if (reg.cal) reg.pla='';
		var ind = id.length-1;
		var num = id.substring(ind,ind+1);
		var re=new RegExp(/[^1-9]$/);
		if ((id=='x2')||(num.match(re))) reg.pla = '123456789';
		else reg.pla = reg.pla.replace(num,'')+num;
		reg.cal = false;
	}
});


//ocultar panel de energia
enetab = new(function(){});
enetab.hide = (function(){
	set_class('form-ene','hidden');
	set_class('fake_fp' ,'hidden');
});
enetab.show = (function(){
	set_class('form-ene','form-ene');
	set_class('fake_fp' ,'checkbox_'+get_value('fp'));
});
enetab.hideshow = (function(){
	if (get_value('ocu_ene') == 1) this.hide();
	else this.show();
	reg.add('ocu_ene');
	calcular();
});


//actualizar totales
function actualizar_tot(id) {
	var tot=0;
	for (var pla=1; pla!=10; pla++) {tot+=toInt(get_value(id+pla));}
	set_value(id,puntuar(tot));
}


//calcular
function cal_arg() { return '&pla='+reg.pla+'&ocu_ene='+get_value('ocu_ene'); }
function calcular() {
	if (reg.cal) alert(test.error.calc);
	else {
		iframe_msg('cal',cal_arg());
		reg.pla = '';
		reg.com=false;
		reg.cal=true;
	}
}


//guardar
function guardar () {
	if (reg.gua) alert(test.error.guar);
	else {
		var obj = get_obj('save_ids');
		obj.value = '';
		while (reg.ids.length>0) obj.value+=':'+reg.ids.pop();
		iframe_msg('gua','');
		reg.gua = true;
	}
}


//compactar
function compactar () {
	var op = '';
	var arg = '';
	if (!reg.cal) {op+='cal-'; arg=cal_arg(); reg.cal=true;}
	if (!reg.com) {
		iframe_msg(op+'com-pre',arg);
		reg.com=true;
	}
}
function compactar_rank () {
	var op = '';
	var arg = '';
	if (!reg.cal) {op+='cal-'; arg=cal_arg(); reg.cal=true;}
	iframe_msg(op+'ran',arg);
	reg.com=false;
}


//resaltado de lineas
tr_class  = new(function(){});
tr_class.test = new(function(){});
tr_class.test.over = 0;
tr_class.test.out  = 0;
tr_class.over = (function(num){
	if (this.test.over!=num) {
		this.test.over=num; this.test.out=0;
		set_class('tr_pro'+num,get_class('tr_pro'+num)+'-hover');
		set_class('tr_ene'+num,get_class('tr_ene'+num)+'-hover');
	}
});
tr_class.out = (function(num){
	if (this.test.out!=num) {
		this.test.out=num; this.test.over=0;
		set_class('tr_pro'+num,get_class('tr_pro'+num).replace('-hover',''));
		set_class('tr_ene'+num,get_class('tr_ene'+num).replace('-hover',''));
	}
});


//sumar satelites que faltan
function sum_sat(pla) {
	sat_fal=get_value('sat_fal'+pla);
	if ((sat_fal!='0')&&(sat_fal!='')) {
		sat_sol=toInt(get_value('sat_sol'+pla))+toInt(sat_fal);
		set_value('sat_sol'+pla,puntuar(sat_sol));
		reg.add('sat_sol'+pla);
		calcular();
	}
}


//tests especiales
test.addChange=reg.add;
test.time=(function (obj) {
	var time=toInt(obj.value);
	if ((!isNaN(time))&&(time>=0)&&(time<=99)) {
		obj.value=time;
		var h=parseInt(get_value('time_h')) + parseInt(get_value('time_d')) * 24;
		var d=Math.floor(h/24);
		h-=d*24;
		set_value('time_d',d);
		set_value('time_h',h);
		reg.add('time_h');
		reg.add('time_d');
	}
	else {
		obj.value=this.valueOnFocus;
		alert(this.error.time);
	}
});
test.ratio=(function(obj){
	var aux=reg.cal;
	test.nument(obj,0.1,9.9);
	reg.cal=aux;
});


//opciones avanzadas
opav=new _overbox(document,'opav');
opav.aceptar=(function () {
	this.hide();
	compactado=false;
	previsualizar();
});
opav.defecto=(function () {
	document.getElementById('fake_zip_stot').className='checkbox_0';
	document.getElementById('zip_stot').value=0;
	document.getElementById('fake_zip_scam').className='checkbox_0';
	document.getElementById('zip_scam').value=0;
	document.getElementById('zip_rcam').value=0;
	document.getElementById('zip_rmet').value=3;
	document.getElementById('zip_rcri').value=2;
	document.getElementById('zip_rdeu').value=1;
});

//firma
function eliminar_firma(){
	iframe_msg('fir_del','');
	reg.fir=false;
}
function actualizar_firma(){
	var op = '';
	var arg = '';
	if (!reg.cal) {op+='cal-'; arg=cal_arg(); reg.cal=true;}
	if (!reg.fir) {
		iframe_msg(op+'fir_act',arg);
		if(get_value('fir_gua')=='gua') reg.fir=true;
	}
}

