// Funciones Javascript que soportan el sistema vxr

var imgIcon=new Image();
var arrayImg=new Array();
var arrayWidth=new Array();
var arrayHeight=new Array();
var arrayExif=new Array();
var ii_vxr_last_sel=0;
var ii_vxr_curr_sel=0;
var ii_vxr_max=0;
var ii_alto_imgProcess=0;
var ii_ancho_imgProcess=0;
var id_opacityImg=0.0;
var id_ic_opacityA=1; // Icono Activo
var id_ic_opacityB=.5; // Icono Inactivo
var id_ic_opacityC=.7; // Icono Cargando
var id_ic_opacityD=.8; // Icono Over
var ib_vxrDebug=false;
var is_vxrDebug_txt='';

var esExplorer = navigator.appName.match('Explorer');



function objSetTrans(o, trans) {
	if (esExplorer) {
		o.style.filter='alpha(opacity='+(trans *  100)+')';
	} else {
		o.style.opacity=trans;
	}
}


// OnClick en el icono de la lista
function jfvxroc(ai_index) {
	ii_vxr_curr_sel = parseInt(ai_index);
	img = document.getElementById('ico'+ai_index);

	// Objeto de la imagen principal
	imgPrincipal = document.getElementById('img_princ');

	// Apaga un poco la imagen principal
	objSetTrans(imgPrincipal, id_opacityImg);

   
	// Trata el icono
	if (ii_vxr_last_sel > 0) {
		divProgressObj = document.getElementById('divProgress');
		divProgressObj.style.top = (arrayHeight[ii_vxr_last_sel] / 2) - (ii_alto_imgProcess / 2);
		divProgressObj.style.display	=	'block';
		
		// Pone el icono como ya inactivo
		jf_vxr_icono_cambia(ii_vxr_last_sel, 'inactivo');
		
		//alert('Recién puesto el icono!'); // Aqui se puede parar y ver cómo queda el icono
	}

	// Pone el progreso en el nuevo icono
	document.getElementById('imgProgIco'+ai_index).style.display	=	'block';

	// Pone el icono en aspecto de carga
   jf_vxr_icono_cambia(ai_index, 'cargando');

	// Quita la información del panel del EXIF
	document.getElementById('divPageEXIF').innerHTML='Cargando...'

   // Carga la imagen
	imgPrincipal.src = arrayImg[ai_index];
	imgIcon = img;
	ii_vxr_last_sel = ii_vxr_curr_sel;
	img.style.cursor='wait';

	// Muestra los valores al salir de la función
	jf_debug('jfvxroc(ai_index='+ai_index+'): ii_vxr_last_sel='+ii_vxr_last_sel);
}


// OnMouseOver en el icono de la lista
function jfvxromo(ai_index) {
	img = document.getElementById('ico'+ai_index);
	img.style.cursor='pointer';
	if (parseInt(ai_index) != ii_vxr_curr_sel) objSetTrans(img, id_ic_opacityD);
}
// OnMouseOut en el icono de la lista
function jfvxromu(ai_index) {
	img = document.getElementById('ico'+ai_index);
	if (parseInt(ai_index) != ii_vxr_curr_sel) objSetTrans(img, id_ic_opacityB);
}


// OnLoad para la imagen principal (Cuando ya cargó)
function jf_vxr_princ_ol(img) {
	imgIcon.style.cursor='default';
	document.getElementById('divProgress').style.display='none';

	objSetTrans(img, 1);

	// Pone al nuevo icono como activo
	jf_vxr_icono_cambia(ii_vxr_last_sel, 'activo');

	// Quita el progreso del icono
	if (ii_vxr_curr_sel > 0) {
		document.getElementById('imgProgIco'+ii_vxr_curr_sel).style.display='none';
	}

	// Pone la información del EXIF
	if (ii_vxr_last_sel > 0) {
		document.getElementById('divPageEXIF').innerHTML=arrayExif[ii_vxr_last_sel];
	}
}


// Cambia el color a icono
function jf_vxr_icono_cambia(n, ls_modo) {
   imgIcono = document.getElementById('ico'+n);
   if (imgIcono) {
   	if (ls_modo == 'cargando') {
      	//imgIcono.style.border='1px solid '+ls_color;
      	objSetTrans(imgIcono, id_ic_opacityC);
      }
      if (ls_modo == 'inactivo') {
      	objSetTrans(imgIcono, id_ic_opacityB);
      }
      if (ls_modo == 'activo') {
      	objSetTrans(imgIcono, id_ic_opacityA);
      }
   }
}


//
// Atiende a los cliks del menu
function jfvxrm(al_op) {
   var ll_newindex=0;
   
	if (al_op == 1) {
		// Oculta o muestra los iconos
		obj = document.getElementById('divPageIconos');
		if (obj.style.display=='none') obj.style.display='block'; else obj.style.display='none';
	}

	if (al_op == 4) {
		// Oculta o muestra el exif
		obj = document.getElementById('divPageEXIF');
		if (obj.style.display=='none') obj.style.display='block'; else obj.style.display='none';
	}

	
	if (al_op == 2) {
		// Anterior foto
		ll_newindex = ii_vxr_last_sel-1;
		if (ll_newindex < 1) ll_newindex = ii_vxr_max;
		jfvxroc(ll_newindex);
	}

	if (al_op == 3) {
		// Siguiente foto
		ll_newindex = ii_vxr_last_sel+1;
		if (ll_newindex > ii_vxr_max) ll_newindex = 1;
		jfvxroc(ll_newindex);
	}
}


function jf_debug(txt) {
   if (ib_vxrDebug==true) {
      is_vxrDebug_txt += txt+'<br/>';
      document.getElementById('divPageDebug').innerHTML='<pre>'+is_vxrDebug_txt+'</pre>';
   }
}
