PRO ionaz,x,a,z

type=SIZE(x,/TYPE)
IF type NE 7 THEN BEGIN
    idxaz,x,a,z
    RETURN
ENDIF

iondecompose,x,a,el0

@elements

el=STRLOWCASE(el0)
a=LONG(a)

nn=N_ELEMENTS(x)
z=LONARR(nn)

FOR j=0,nn-1 DO BEGIN
    ej=el[j]
    aj=a[j]
    i=WHERE(ej EQ elements[*])
    zj=i[0]
    IF (ej EQ 'a') THEN BEGIN
        zj=2
        aj=4
    ENDIF
    IF (ej EQ 'pn') THEN zj=1
    IF (ej EQ 'n') AND (aj LE 1) THEN BEGIN 
        zj=0
        aj=1
    ENDIF
    IF ((ej EQ 'p') OR (ej EQ 'pn')) AND (aj LE 1) THEN BEGIN
        zj=1
        aj=1
    ENDIF
    IF (ej EQ 'e-') AND (aj EQ 0) THEN BEGIN
        zj=-1
        aj=0
    ENDIF
    IF (ej EQ 'e+') AND (aj EQ 0) THEN BEGIN
        zj=+1
        aj=0
    ENDIF
    a(j)=aj
    z(j)=zj
ENDFOR

IF nn EQ 1 THEN BEGIN
    a=a[0]
    z=z[0]
ENDIF

END
