ff=function(){
                j=a.splice(0,100);
                for(i=0;t=j[i];i++)
                    if(t.className && typeof(v=g(t.className))=='string')
                        t.innerHTML=v;
                if(a.length)
                    xui.setTimeout(ff,0);
                xui.tryF(callback,[a.length,l]);
                if(!a.length)
                    xui.tryF(onOK,[0,l]);
            }
A wrapper for lots regExp string.replace to only once iterator replace
            You can use it, when
            1.replace >10
            2.need protect some regexp
            3.every long string to replac

            str: will be replace
            reg, array: [string, string] or [regex, string] or [[],[]]
            replace: to replace
            ignore_case: bool, for regexp symble 'i'
            return : replaced string

            For example:
                xui.replace("aAa","a","*",true)
                        will return "*A*"
                xui.replace("aAa","a","*",false)
                        will return "***"
                xui.replace("aAa","a","*")
                xui.replace("aAa",/a/,"*")         : "/a/" is OK, but not "/a/g"
                xui.replace("aAa",["a","*"])
                xui.replace("aAa",[["a","*"]])
                        will return "***"
                xui.replace("aAa",[["a","*"],[/A/,"-"]])
                        will return "*-*"
            Notice: there is a '$0' symbol here, for protect
                xui.replace("aba",[["ab","$0"],["a","*"]])
                        will return "ab*"
                here, "ab" will be first matched and be protected to replace by express "a"
*